View Single Post
  #2  
Old April 14th 07, 05:08 PM posted to rec.games.chess.computer
Ralf Callenberg
external usenet poster
 
Posts: 383
Default genetic algorithms for chess

14.04.2007 14:47, Buller:
Is anyone aware of any interesting research on developing strong
chess-playing engines using genetic algorithms?


You might try Google with the search "genetic algorithms chess".

According to Wikipedia,
this has been done for checkers, resulting in a fairly strong program (but
not as strong as the best, Chinook). The internet mentions some efforts at
doing so for chess, but I haven't heard of any huge achievement. GA are
quite fascinating; the resulting problem solvers (for biological research,
electronic design, financial markets analysis, etc.) often end up being
something the human designer doesn't even understand, yet perform better
than what the human would have produced. For chess, it seems like one could
start with a bunch of random-playing algorithms (e.g., Stanley the Monkey in
Chessmaster!), randomly mutate them, select for fitness (i.e., chess
strength), repeat, ...


The basic problem here is to encode the algorithm so that the GA can
operate on this encoding. This is far from easy. Take as an example the
checkers playing program Blondie24 from David Fogel. They didn't let the
whole algorithm evolve. What they did is, they took a standard minimax
and parametrized the evaluation function in form of a neural network.
This means a position is entered into a neural network which returns a
value. The parameters of this neural network are then adapted using an
evolutionary algorithm. (I think, this is a quite obvious approach, I
myself have thought about something quite similar. Yet, the technical
details are still not trivial, so I respect the work Fogel has done, and
don't regard it as something minor) So, not the algorithm was created
using a GA, but just a part of it (although a central one). The whole
stuff todays chess programs use for enhancing the search (and which is
very important for the strength of a program) is not covered by this
approach. It might be, that this way an evaluation of the position can
come out, which was not foreseen by other programmers. It is interesting
and seems to be done for chess as well. But this is already a limited
approach, as the static position is regarded for evaluation. There are
hints, that Rybka uses a different approach for the evaluation, based on
more dynamic aspects of the position. This could not have been detected
by a technique similar to Blondie24.

So this "Genetic algorithms find a playing algorithm without using prior
knowledge of the game" goes too far and is not realistic at this moment.
and also any hope such a program could be superior to existing
solutions. What might be interesting: in all algorithms you have to
weight different aspects, there are parameters in each algorithm. The
parameters are usually determined by assumptions, heuristics or trial
and error. Whenever parameters come into play, it is a good possibility
to determine them using evolutionary algorithms, instead. So the GAs
might enhance classical techniques in chess programming, that they are
able to completely replace them seems not very likely.

Greetings,
Ralf




Ads
 

Free Credit Report - Apply for a credit card - Halloween Costumes - Xbox Mod Chip - Loans