2 Added note about Thomas Petzke's efforts to use genetic algorithms to improve his chess engine's static evaluation.
source | link

Has anyone ever written a chess program that does have insights of its own? That learns the game on its own? That trains itself?

Yes. Check out the Giraffe chess engine written by Matthew Lai. He wrote the chess engine as part of his Artificial Intelligence research for a masters degree in computer science.

There was a lot of discussion about this last year on the TalkChess chess programming forum. I know because I am a chess engine author whose engine is roughly as strong as Giraffe. However, I implemented my engine using traditional techniques whereas the author of Giraffe trained his engine using "temporal-difference reinforcement learning with deep neural networks." Matthew still had to implement traditional alpha / beta search to dynamically evaluate a position- in other words, to look ahead many moves. His innovation is in training the engine to evaluate a static position. In comparison, I wrote specific knowledge into my engine's static evaluation routine.

I wrote code to tune evaluation parameters using a particle swarm algorithm (see Thank You page on my blog for links to technical discussion) that did yield positive results- a stronger engine. However, this wasn't a task of getting the engine to "learn" so much as minimizing error in an extremely large space of evaluation parameters (the order of 10 ^ 150 discrete parameter combinations).

Matthew discusses his dissertation on the TalkChess forum. He works for Google on DeepMind now, if I remember correctly.

Also, check out Thomas Petzke's blog. He has written an extremely strong chess engine, iCE, and used genetic algorithms to improve the engine's static evaluation. See his posts from 2013 and earlier, such as Population Based Incremental Learning.

Has anyone ever written a chess program that does have insights of its own? That learns the game on its own? That trains itself?

Yes. Check out the Giraffe chess engine written by Matthew Lai. He wrote the chess engine as part of his Artificial Intelligence research for a masters degree in computer science.

There was a lot of discussion about this last year on the TalkChess chess programming forum. I know because I am a chess engine author whose engine is roughly as strong as Giraffe. However, I implemented my engine using traditional techniques whereas the author of Giraffe trained his engine using "temporal-difference reinforcement learning with deep neural networks." Matthew still had to implement traditional alpha / beta search to dynamically evaluate a position- in other words, to look ahead many moves. His innovation is in training the engine to evaluate a static position. In comparison, I wrote specific knowledge into my engine's static evaluation routine.

I wrote code to tune evaluation parameters using a particle swarm algorithm (see Thank You page on my blog for links to technical discussion) that did yield positive results- a stronger engine. However, this wasn't a task of getting the engine to "learn" so much as minimizing error in an extremely large space of evaluation parameters (the order of 10 ^ 150 discrete parameter combinations).

Matthew discusses his dissertation on the TalkChess forum. He works for Google on DeepMind now, if I remember correctly.

Has anyone ever written a chess program that does have insights of its own? That learns the game on its own? That trains itself?

Yes. Check out the Giraffe chess engine written by Matthew Lai. He wrote the chess engine as part of his Artificial Intelligence research for a masters degree in computer science.

There was a lot of discussion about this last year on the TalkChess chess programming forum. I know because I am a chess engine author whose engine is roughly as strong as Giraffe. However, I implemented my engine using traditional techniques whereas the author of Giraffe trained his engine using "temporal-difference reinforcement learning with deep neural networks." Matthew still had to implement traditional alpha / beta search to dynamically evaluate a position- in other words, to look ahead many moves. His innovation is in training the engine to evaluate a static position. In comparison, I wrote specific knowledge into my engine's static evaluation routine.

I wrote code to tune evaluation parameters using a particle swarm algorithm (see Thank You page on my blog for links to technical discussion) that did yield positive results- a stronger engine. However, this wasn't a task of getting the engine to "learn" so much as minimizing error in an extremely large space of evaluation parameters (the order of 10 ^ 150 discrete parameter combinations).

Matthew discusses his dissertation on the TalkChess forum. He works for Google on DeepMind now, if I remember correctly.

Also, check out Thomas Petzke's blog. He has written an extremely strong chess engine, iCE, and used genetic algorithms to improve the engine's static evaluation. See his posts from 2013 and earlier, such as Population Based Incremental Learning.

1
source | link

Has anyone ever written a chess program that does have insights of its own? That learns the game on its own? That trains itself?

Yes. Check out the Giraffe chess engine written by Matthew Lai. He wrote the chess engine as part of his Artificial Intelligence research for a masters degree in computer science.

There was a lot of discussion about this last year on the TalkChess chess programming forum. I know because I am a chess engine author whose engine is roughly as strong as Giraffe. However, I implemented my engine using traditional techniques whereas the author of Giraffe trained his engine using "temporal-difference reinforcement learning with deep neural networks." Matthew still had to implement traditional alpha / beta search to dynamically evaluate a position- in other words, to look ahead many moves. His innovation is in training the engine to evaluate a static position. In comparison, I wrote specific knowledge into my engine's static evaluation routine.

I wrote code to tune evaluation parameters using a particle swarm algorithm (see Thank You page on my blog for links to technical discussion) that did yield positive results- a stronger engine. However, this wasn't a task of getting the engine to "learn" so much as minimizing error in an extremely large space of evaluation parameters (the order of 10 ^ 150 discrete parameter combinations).

Matthew discusses his dissertation on the TalkChess forum. He works for Google on DeepMind now, if I remember correctly.