Go3 implements several variations of simulation-based
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.
- Download go3.tgz.
This contains directory
The codes in this directory
implement the simulation-based Go players
- Run the default
Go3 program with
go3 directory, or attach it to GoGui as a new player.
- Add some of the options below to try different versions of Go3.
- Go3 also implements a fast player,
which chooses among all (filtered) policy moves uniformly at random,
and does not do any simulations. See the
- --help - show help message with options and exit
- --sim - number of simulations per move
- Default 10
- Example: run with 100 simulations/move
python3 Go3.py --sim=100
- --moveselect - move selection method
- Two move selection algorithms: simple and UCB
- Default: simple algorithm: For each move, try n simulations starting with this move, where n is set with --sim
- UCB: uses n * number-of-legal-moves simulations in total, like the
default player. However, it uses the UCB algorithm to
allocate more simulations to promising
moves and fewer to low-scoring moves.
- Example: use UCB for move selection
python3 Go3.py --moveselect=ucb
- --simrule - Type of simulations
- Two types: almost-random and rule-based
- Default: almost-random
- Example: use rule-based simulations
python3 Go3.py --simrule=rulebased
- --movefilter - Move filter.
- By default, only eye-filling moves
are filtered in the simulations.
- This option adds more filtering.
In Go3, this means that selfatari moves are also filtered.
- Combining options
python3 Go3.py --simrule=rulebased --movefilter --sim=20
Go3 also implements a second player, the policy-only player.
- It does not do any simulation.
- It randomly chooses among all policy moves.
- You can choose this player by running
Go3/PolicyPlayer.py instead of
- PolicyPlayer supports the same options for --simulations
and --movefilter as Go3.
- It ignores the options --sim and --moveselect. They
do not make sense for this player.
Go3 provides three useful commands that you can use with GoGui.
First, open the Analyze window. Then, choose one of the options:
- Legal Moves for To Play
- Policy Moves
- Random Moves
As a result, the program will mark the moves belonging to the
selected category on the board.
Another useful feature of GoGui is Auto run. If you check this option,
then GoGui will re-send the command every time the board positions changes.
Very handy if you want to see which policy moves are generated as you step through
a game or a set of test cases.
Created: Mar 1, 2018 Last modified: Mar 2, 2019