If I'm going to write a computer go player, I need a plan. Plans drawn at this stage are inevitably only approximations, but here's my current plan:
- Infrastructure – the framework to hang the rest on
- SGF parser
- SGF writer (simpler that the parser since it only needs to handle the properties I'm actually using)
- a graphic goban (so i can play the program)
- GTP client (so I can play my program against other people and other programs)
- GTP engine (so i can organise play-offs)
- test suite (so ease debugging)
- Opening: a classical opening book, assembled from pro and senior-amateur games. Also code to handle symmetry.
- Mid-game: a genetic algorithm prioritising a list of relatively complex template patterns.
- End-game: a theorem prover, perhaps along the lines of gotools, but with incremental additions of knowledge to the database as positions are proven safe/unsafe.
1 comment:
Can I suggest you grab a copy of GoGui. It handles a whole bunch of stuff you are looking at implementing.
http://sourceforge.net/projects/gogui/
Post a Comment