SimpleGo
Simple instructive GO playing engine, which has been written from scratch in Python by Aloril.
This is meant for beginner Go coders and beginner Go players.
Version 0.0
This version plays random moves. Support by GnuGo is required for scoring, as well as for clearing play in case the players disagree about the final status of groups.
Downloadable source code for version 0.0
Version 0.1.X
In this version, move generation is based on liberty counting. Scoring and clearing at the end of games are managed completely by SimpleGo, using BensonsAlgorithm. Hence, GnuGo is not needed here anymore.
Downloadable source for version 0.1.X
Version 0.1.X is currently playing as WeakBot50k at KGS.
Version 0.2.X
Version 0.2.X adds 1-2 liberty tactical search. This handles ladders and similar cases. Maybe about 20 stones stronger. Its playing as SimpleBot at KGS.
Version 0.3.X
Version 0.3.x adds:
- tactical cut/connection reading for heuristical death reading
- cutting of small passageways between surrounding groups and between surrounding group and edge for killed group (only miai cutting currently)
Now it realises dead groups much earlier and sometimes kills and saves groups.
Version 0.4.X
Version 0.4.x is now Monte Carlo engine using UCT search. It also is now partially written in C and uses GNU Go libboard to make and undo moves (place/remove stones from board) and other basic stuff like liberty counting and board hashing.
Current/past blog for SimpleGo among other stuff