A genetic chess engine?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

HamzaAlrawi
Posts: 1
Joined: Wed Oct 10, 2018 8:18 am
Full name: Hamza Alrawi

A genetic chess engine?

Post by HamzaAlrawi »

Hello,

I'm having this idea about a chess engine that learns from genetic algorithms. Basically, every generation plays itself and we select the winner for the next generation.

Has this been done before? Would it work? Any ideas?
Sesse
Posts: 300
Joined: Mon Apr 30, 2018 11:51 pm

Re: A genetic chess engine?

Post by Sesse »

You reinvented Fishtest? :-P
asanjuan
Posts: 214
Joined: Thu Sep 01, 2011 5:38 pm
Location: Seville, Spain

Re: A genetic chess engine?

Post by asanjuan »

HamzaAlrawi wrote: Mon Oct 15, 2018 8:30 am Hello,

I'm having this idea about a chess engine that learns from genetic algorithms. Basically, every generation plays itself and we select the winner for the next generation.

Has this been done before? Would it work? Any ideas?
iCE is a good and successfull example. If I recall correctly, it uses PBIL, which is a kind of genetic training, to train every parameter for eval and search.
I used to train Rhetoric with a genetic algorithm with less success. Finally I ended using the texel method.

One of the problems of G.A applied to chess is to decide what are you training for (search, eval... both). Also it is very difficult to set a fitness function that correlates well with game strenght, and taking game results takes a lot of time, not to mention the problem of noise in the game outcomes.

So, in general, It has been applied. But it is somehow painful to implement.
Texel's method is easier, but it doesn't work with search optimization, it only works for evaluation.
Still learning how to play chess...
knigths move in "L" shape ¿right?
BrendanJNorman
Posts: 2526
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

Re: A genetic chess engine?

Post by BrendanJNorman »

asanjuan wrote: Mon Oct 15, 2018 10:37 am
HamzaAlrawi wrote: Mon Oct 15, 2018 8:30 am Hello,

I'm having this idea about a chess engine that learns from genetic algorithms. Basically, every generation plays itself and we select the winner for the next generation.

Has this been done before? Would it work? Any ideas?
iCE is a good and successfull example. If I recall correctly, it uses PBIL, which is a kind of genetic training, to train every parameter for eval and search.
I used to train Rhetoric with a genetic algorithm with less success. Finally I ended using the texel method.

One of the problems of G.A applied to chess is to decide what are you training for (search, eval... both). Also it is very difficult to set a fitness function that correlates well with game strenght, and taking game results takes a lot of time, not to mention the problem of noise in the game outcomes.

So, in general, It has been applied. But it is somehow painful to implement.
Texel's method is easier, but it doesn't work with search optimization, it only works for evaluation.
I love Rhetoric, are you still working on it?
Henk
Posts: 7216
Joined: Mon May 27, 2013 10:31 am

Re: A genetic chess engine?

Post by Henk »

BrendanJNorman wrote: Mon Oct 15, 2018 3:50 pm
asanjuan wrote: Mon Oct 15, 2018 10:37 am
HamzaAlrawi wrote: Mon Oct 15, 2018 8:30 am Hello,

I'm having this idea about a chess engine that learns from genetic algorithms. Basically, every generation plays itself and we select the winner for the next generation.

Has this been done before? Would it work? Any ideas?
iCE is a good and successfull example. If I recall correctly, it uses PBIL, which is a kind of genetic training, to train every parameter for eval and search.
I used to train Rhetoric with a genetic algorithm with less success. Finally I ended using the texel method.

One of the problems of G.A applied to chess is to decide what are you training for (search, eval... both). Also it is very difficult to set a fitness function that correlates well with game strenght, and taking game results takes a lot of time, not to mention the problem of noise in the game outcomes.

So, in general, It has been applied. But it is somehow painful to implement.
Texel's method is easier, but it doesn't work with search optimization, it only works for evaluation.
I love Rhetoric, are you still working on it?
Maybe he interprets that as a rhetorical question. So don't expect an answer.
David Carteau
Posts: 121
Joined: Sat May 24, 2014 9:09 am
Location: France
Full name: David Carteau

Re: A genetic chess engine?

Post by David Carteau »

asanjuan wrote: Mon Oct 15, 2018 10:37 am
HamzaAlrawi wrote: Mon Oct 15, 2018 8:30 am Hello,

I'm having this idea about a chess engine that learns from genetic algorithms. Basically, every generation plays itself and we select the winner for the next generation.

Has this been done before? Would it work? Any ideas?
iCE is a good and successfull example. If I recall correctly, it uses PBIL, which is a kind of genetic training, to train every parameter for eval and search.
I used to train Rhetoric with a genetic algorithm with less success. Finally I ended using the texel method.

One of the problems of G.A applied to chess is to decide what are you training for (search, eval... both). Also it is very difficult to set a fitness function that correlates well with game strenght, and taking game results takes a lot of time, not to mention the problem of noise in the game outcomes.

So, in general, It has been applied. But it is somehow painful to implement.
Texel's method is easier, but it doesn't work with search optimization, it only works for evaluation.
Orion also uses PBIL genetic's approach : more info here ! It's really simple to implement !

You'll find an excellent description of this family of algorithms applied to chess programming in Thomas Petzke's blog (direct link).
asanjuan
Posts: 214
Joined: Thu Sep 01, 2011 5:38 pm
Location: Seville, Spain

Re: A genetic chess engine?

Post by asanjuan »

BrendanJNorman wrote: Mon Oct 15, 2018 3:50 pm
asanjuan wrote: Mon Oct 15, 2018 10:37 am
HamzaAlrawi wrote: Mon Oct 15, 2018 8:30 am Hello,

I'm having this idea about a chess engine that learns from genetic algorithms. Basically, every generation plays itself and we select the winner for the next generation.

Has this been done before? Would it work? Any ideas?
iCE is a good and successfull example. If I recall correctly, it uses PBIL, which is a kind of genetic training, to train every parameter for eval and search.
I used to train Rhetoric with a genetic algorithm with less success. Finally I ended using the texel method.

One of the problems of G.A applied to chess is to decide what are you training for (search, eval... both). Also it is very difficult to set a fitness function that correlates well with game strenght, and taking game results takes a lot of time, not to mention the problem of noise in the game outcomes.

So, in general, It has been applied. But it is somehow painful to implement.
Texel's method is easier, but it doesn't work with search optimization, it only works for evaluation.
I love Rhetoric, are you still working on it?
Hi Brendan, thanks for your support.

I'm doing litle things. Nothing special enough to publish a new version. I am currently focused on my family, since we had our second child. My little daugther suffers from a severe illness and it is hard to dedicate some time to Rhetoric. From time to time I switch on my computer and I try to find the last thing I was changing. I still love to work on Rhetoric. Maybe when the children will grow there will be new versions. But the Stockfish-Komodo-Houdini trio is getting stronger with the time, and I wonder if someone will keep any interest in weaker engines like Rhetoric.

By the way, let me tell you that I love your video review of Rhetoric alias "dynamic". :D

Regards.
Still learning how to play chess...
knigths move in "L" shape ¿right?