Page 1 of 4

Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 5:49 pm
by Stephan Vermeire (Brutus)
Hi There,

Are there chess-engines around that have any kind of Artificial Neural Networks implemented?

On the internet I found some vague descriptions of various attempts, but I was unable to find any working engines or examples of code. (Most of the attempts failed and were subsequentely abandoned).

Has anyone here tried this approach before? I don't really expect miracles from it, on the other hand, it might be worth exploring.

I was thinking about a hybrid system of negascout combined with an ANN-based evaluation function. In general neural networks tend to be quite good at recognising patterns. Given a certain chess-position, the most important patterns is exactely the chalanging part of a good evaluation algorithm.

Stephan

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 5:59 pm
by Jim Ablett
Hi Stephan,

I remember reading that the old winboard engine 'Sinapse' used this >

http://tinyurl.com/ylcv3mw

Jim.

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 6:49 pm
by Milos
If chess was a game where time is irrelevant, probably it would be dominated by ANN implementations. However, since time is relevant in chess, having an engine that has a real-time ANN implementation in some its parts would make it ridiculously slow and in the same time useless.

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 7:16 pm
by Gian-Carlo Pascutto
Stoofvlees did exactly this. The evaluation was a set of feature recognizers coupled to a neural network. It was trained with an oracle.

It works but it's hardly better than a standard implementation.

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 7:17 pm
by Gian-Carlo Pascutto
Milos wrote:If chess was a game where time is irrelevant, probably it would be dominated by ANN implementations. However, since time is relevant in chess, having an engine that has a real-time ANN implementation in some its parts would make it ridiculously slow and in the same time useless.
No. Modern CPUs have enough floating point power that a reasonable size ANN can be made to have a nonsignificant speed impact.

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 7:38 pm
by Milos
Gian-Carlo Pascutto wrote:No. Modern CPUs have enough floating point power that a reasonable size ANN can be made to have a nonsignificant speed impact.
I meant more for training time. You train your network to recognize a pattern, and you train for each new pattern again. No matter how small patterns you take, I don't think their number would be small enough for training in reasonable time (which is measurable in days or months, not years or decades).

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 9:16 pm
by Gian-Carlo Pascutto
Milos wrote:
Gian-Carlo Pascutto wrote:No. Modern CPUs have enough floating point power that a reasonable size ANN can be made to have a nonsignificant speed impact.
I meant more for training time.
You said something entirely different, though.
You train your network to recognize a pattern, and you train for each new pattern again. No matter how small patterns you take, I don't think their number would be small enough for training in reasonable time (which is measurable in days or months, not years or decades).
Huh? The network doesn't need to recognize patterns, it needs to produce an evaluation. It doesn't need to be retrained for every possible evaluation score, you can feed it a few hundred thousand positions and have them trained all simultaneously.

There's no need to argue that something is impossible when it's already been done.

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 10:36 pm
by Bill Rogers
I remember seeing the coding for a neuro network. I think it was written in "C" but I am not sure. I only know that it was a small network and to be used it had to be called a grea many times and it was very slow.
Bill

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 10:54 pm
by Milos
Gian-Carlo Pascutto wrote:Huh? The network doesn't need to recognize patterns, it needs to produce an evaluation. It doesn't need to be retrained for every possible evaluation score, you can feed it a few hundred thousand positions and have them trained all simultaneously.

There's no need to argue that something is impossible when it's already been done.
It's not the question if is it doable, but does it have sense. In my opinion it doesn't. You can spend enormous time and you will end up with something that is weaker in any measurable sense that an algorithmic solution of much smaller complexity executed on considerably weaker hardware.
If you are arguing just for the sake of academic research, then it's a different story, but I don't think the original question was in that direction.

Re: Chess program with Artificial Neural Networks (ANN)?

Posted: Thu Jan 07, 2010 11:49 pm
by Aaron Becker
I believe Hermann has a neural network component to its evaluation, and you can control how much the network contributes to the final score. It's not well documented, though.