Chess program with Artificial Neural Networks (ANN)?

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Stephan Vermeire (Brutus)
Posts: 34
Joined: Sun Oct 12, 2008 4:32 pm

Chess program with Artificial Neural Networks (ANN)?

Post by Stephan Vermeire (Brutus) » Thu Jan 07, 2010 4:49 pm

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

User avatar
Jim Ablett
Posts: 1327
Joined: Fri Jul 14, 2006 5:56 am
Location: London, England
Contact:

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

Post by Jim Ablett » Thu Jan 07, 2010 4:59 pm

Hi Stephan,

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

http://tinyurl.com/ylcv3mw

Jim.

Milos
Posts: 3295
Joined: Wed Nov 25, 2009 12:47 am

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

Post by Milos » Thu Jan 07, 2010 5:49 pm

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.

Gian-Carlo Pascutto
Posts: 1120
Joined: Sat Dec 13, 2008 6:00 pm
Contact:

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

Post by Gian-Carlo Pascutto » Thu Jan 07, 2010 6:16 pm

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.

Gian-Carlo Pascutto
Posts: 1120
Joined: Sat Dec 13, 2008 6:00 pm
Contact:

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

Post by Gian-Carlo Pascutto » Thu Jan 07, 2010 6:17 pm

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.

Milos
Posts: 3295
Joined: Wed Nov 25, 2009 12:47 am

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

Post by Milos » Thu Jan 07, 2010 6:38 pm

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).

Gian-Carlo Pascutto
Posts: 1120
Joined: Sat Dec 13, 2008 6:00 pm
Contact:

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

Post by Gian-Carlo Pascutto » Thu Jan 07, 2010 8:16 pm

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.

User avatar
Bill Rogers
Posts: 3562
Joined: Thu Mar 09, 2006 2:54 am
Location: San Jose, California

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

Post by Bill Rogers » Thu Jan 07, 2010 9:36 pm

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

Milos
Posts: 3295
Joined: Wed Nov 25, 2009 12:47 am

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

Post by Milos » Thu Jan 07, 2010 9:54 pm

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.

Aaron Becker
Posts: 292
Joined: Tue Jul 07, 2009 2:56 am

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

Post by Aaron Becker » Thu Jan 07, 2010 10:49 pm

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.

Post Reply