For many people on this list, Computer Go is a hobby and that means that it is important to do whatever you find interesting and motivating, event if it may not be the best or most promising direction in order to become the next world champion program. There is room for pushing limits in all directions, IMO.

Brian Sheppard wrote:
Maven was fast enough, but it was clearly the slowest of all major Scrabble programs. Some programs were 5x faster than Maven. Maven was slow because it was a lot more than a move generator: it played the full game with competent positional scoring. Scoring requires much more time than move generation. So why bother optimizing move generation?

I am finding that the same lesson applies to Go. But more so because Scrabble is largely first-order whereas Go is recursive. Pebbles averages ~10K trials per turn. Aya is clearly stronger at 10K trials than Pebbles. Fuego is stronger than Aya. Valkyria is stronger than Fuego, and my impression is that Zen trumps us all. Zen could be better than Pebbles + 400 rating points at 10K trials.

Now look at scaling. When Fuego runs a machine that is ~20x as fast as mine, then Fuego is comparable to Zen. Valkyria plays in 19x19 tournaments running on a Pentium M, and scores 50% against much more powerful computers. My conclusion is that the analytic skills of Zen and Valkyria are worth a factor of 20, and I expect the advantage will increase with computer speeds.

The crucial issue is to support intelligence. Check out David’s description of MFoG, and Remi’s papers about CrazyStone. I am sure those programs pay attention to speed, but the real issue is whether the engine can do the necessary analysis. Magnus’s posts to this list lament that Valkyria is so slow, but Magnus is clearly excited that his engine supports great analysis.

So de-emphasize speed. Can you build a great pattern matcher using bit boards? Can you solve life & death positions better? Can you read ladders faster or more accurately? Do bit boards make the program easier to program and debug?

Pebbles started with a bit board move generator, but I have been adding other knowledge entities, like liberty counts, string iterators, and eyespace detectors. I am convinced that emphasizing domain knowledge structures will pay off. (That being said, I will borrow your intrinsic functions for my 9x9 template specialization. ☺ Every little bit helps.)

Best,
Brian

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/


_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to