Go programs are written in Python, and communicate via GTP. You can run them from the command line, from an automated tool, or from a user interface such as GoGui.
Download go0and1.tgz
and unpack it.
The go0and1
directory contains the following files:
Go0.py
- the Go0 class and the main function of program Go0Go1.py
- the Go1 class and the main function of program Go1board_base.py
- Constants and other basic definitions used by board.py and throughout the codeboard.py
- the class GoBoard implementing a basic Go boardboard_util.py
- board-related utility functionsengine.py
- common code for Go0, Go1 and later Go enginesgtp_connection.py
- the class GtpConnection implementing a Go Text Protocol (GTP) connectiongtp_connection_go1.py
- example for how to extend a GTP connection with more commandsplay_games.py
-
play 100 self-play games on 7x7 for profilingprofile_Go1.py
- used for profiling - see lecture 6*.sh
for testingtest_*
, for example test_board.py
- incomplete but functional unit tests for board.py*.tst
, used for testsgo2
directory contains the program Go2,
which is the optimized version of Go1 as discussed in Lecture 6.
The main changes are in board.py
and many other files are unchanged from go0and1.
You can run profile_Go2.py
and compare it
with the Go1 profile.
go_heuristic_player
directory currently contains one heuristics-based player, average_player.py
.
Go3
implements several variations of simulation-based
Go players.
All choose their best move based on its success in simulations.
Go3
implements two different simulation policies.
Go3
also implements two different move selection algorithms
at the root.
Last modified: Martin Müller