[Computer-go] CGT in Clobber ?!
3-Hirn-Verlag at gmx.de
Wed Jul 15 12:36:16 PDT 2015
"Xavier Combelle" <xavier.combelle at gmail.com
> I wonder what was the algorithm for your first bot. Alpha Beta ?
good question, and more or less easy to answer.
My first Clobber bot was simply within the Zilliions-of-Games engine.
I only programmed the rules file for this simple game.
(That was also the reason why I simply took the graphics from Zillion's
In another conext some friends and I had analysed the structure of Zillions:
It doe iterative-deepening alpha-beta search. The evaluation function is the
sum of many elementary terms: each piece gets a basic value depending on its
set of moves PLUS a local value depending how "mobile" it's position is
on the board. The values for all pieces are added up. The total position value
then is the difference between sum for player 1 and sum for player 2.
Some experts (like Alfred Pfeiffer from Chemnitz) did even special
tricks in the rule files: for instance listing some of the moves of a piece
two times increases the value of this piece. In Clobber, it can be used for
instance to give larger values to moves of pieces near the center. Of course, in
principle this should not work too well in a game like Clobber where each
move is a capture.
However, Zillions also has a "randomize" treble. By some way which I do
not fully understand "large randommess" gives slightly stronger play in
PS. Sometimes I even designed games with the only intention to demonstrate
weaknesses of Zillions. "Kings or Lemmings" is such a chess variant:
Here you can establish a new copy of a king instead of a normal king's move.
Zillion's weakness was/is that a chess king gives 100,000 points plus in the
evaluation. So, as lonmg as there is no mate within the search horizon,
the Zillions engine produce 5 or 6 new kings within its first few moves.
Meanwhile I only play Nb1-a3-b1-a3-.... When Zillions finally realizes that
it has a mating problem it is too late for counter measures.
More information about the Computer-go