Perception is a computer go playing program. I started work on Perception on January 1, 1996. I'm developing in under Linux, using my program cgoban to provide the user I/O. This allows me to concentrate on just the playing engine.
I'll be keeping regular updates on the progress of perception on this web page. I may even put up Linux binaries.
Perception now knows the rules of Go and can play a full game. It does a full board search that terminates in an influence mapping function. Because of this, it thinks very slowly (about 2 ply on a 9x9 game when you give it 10 minutes for the game). It doesn't even look far enough ahead to have any kind of tactical ability; it can't even recognize eyes at this point! Still, I'm fairly happy with how much I've gotten done in the past week, so I'm entering Perception into the 9x9 computer go ladder.
I just managed to get my tactical search done in time for my first ladder game, and the work paid off! I won! The tactical search does an alpha-beta search to see which groups are alive or dead. It works very well in some cases, not so well in others, but it's a big help to the influence mapping function.
I've decided to put up a linux binary for the
version of Perception that I used in the ladder game agaist GoLife! To play
against it you will also need cgoban to
do the I/O. Run Perception with the cgoban command line
./perception %d %d". The "
%d" values will be filled
in the the main and byo-yomi times.
Today Perception beat Poka in a 9x9 ladder game, but was then beaten two games out of two by Martin Müller's Explorer program. Well, that gives me something to try for.
Perception now uses hash tables to speed up its tactical search (which sped the search up by a factor of five). I have also added a pattern matching engine. I played around with the pattern matcher some, and found that it is an OK way to recommend moves for the full board search, but using it in the tactical search slowed things down too much, so I only use it to spot eyes at the bottom of the tactical search. With these changes, I challenged Explorer again, and lost again! But then we played with no komi to see if Explorer could win with handicap 1; Perception managed to squeak out a one point win!
Right now, after every move in the full-board search, I recompute the liveness of all groups on the board. This is a tremendous waste of effort, so I'll make Perception keep track of which board positions could influence the life of which groups, and only recompute as needed.
I also plan on working more with the pattern matcher, trying to do a better job of suggesting moves for the global search and analyzing life at the bottom of the tactical search.
|Up to "Bill's Computer Stuff"||Way up to "Bill's Home Page"|