What separates the top engines from the rest?

Discussion of anything and everything relating to chess playing software and machines.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Graham Banks
Posts: 33145
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

What separates the top engines from the rest?

Post by Graham Banks » Sat Nov 17, 2012 2:11 am

In my opinion (based on watching an awful lot of engine v engine games), the top engines excel in three areas:

- they value active play and mobility highly. They are regularly able to put the squeeze on their opponents.
- they better understand the importance of passed pawns - both in how to create potentially dangerous passers and how to take advantage of them.
- they better understand material imbalances, particularly in giving up the exchange. This would seem to indicate that they value pawns differently and ties in a lot with the previous aspect mentioned.

If those authors of engines not too far away from the top could do some extensive work on those three aspects, they would be more competitive.
Having said all that, I do realise that the search is also a big differentiating factor.
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

JBNielsen
Posts: 250
Joined: Thu Jul 07, 2011 8:31 pm
Location: Denmark
Contact:

Re: What separates the top engines from the rest?

Post by JBNielsen » Sat Nov 17, 2012 8:17 pm

Graham Banks wrote:In my opinion (based on watching an awful lot of engine v engine games), the top engines excel in three areas:

- they value active play and mobility highly. They are regularly able to put the squeeze on their opponents.
- they better understand the importance of passed pawns - both in how to create potentially dangerous passers and how to take advantage of them.
- they better understand material imbalances, particularly in giving up the exchange. This would seem to indicate that they value pawns differently and ties in a lot with the previous aspect mentioned.

If those authors of engines not too far away from the top could do some extensive work on those three aspects, they would be more competitive.
Having said all that, I do realise that the search is also a big differentiating factor.

Nice post, Graham!

As an author of a weak engine (dabbaba, 1900) I have often wanted a chess-engine-doctor, that could point out where the engine fails.
I assume it is possible to find some positions in fx the strategic test suite, where the weak engines typically fails compared with the better engines.
The same can be done with tactical testpositions by measuring how long time the engine takes to solve them.

A complete test, that can estimate the strength of an engine, has been discussed here many times.
Of course such a test would also reveal where an engine is weak.

You are probably right about passed pawns, open/active play and material balance.
I have earlier improved dabbaba concerning these issues.
So I think dabbabas main weakness lies in the search (and an error in the hashtables).

Dragan
Posts: 108
Joined: Mon Aug 06, 2012 11:55 am

Re: What separates the top engines from the rest?

Post by Dragan » Sat Nov 17, 2012 11:19 pm

Engine with standard eval (material, mobility, king safety and passers) and search (alpha-beta, quiescent, pv and null-win search, IID, null move pruning and TTs) should be more than 2000 ELO unless it has some significant bugs in it.

My approach to the engine development is to first create a rock solid foundation on which to later build the rest of the engine.
- Make your move generator as fast as possible and bug free. Test it by modifying existing open source engine to print moves into the file for couple million positions. Then do the same with your move generator (sort the moves so that order is the same for both engines). Compare the files and if they are not exactly the same you have a bug in your move generator.
- Then proceed to the functions that play and undo moves. I tested mine by making Nebula play through the millions of games in my PGN database.
- When basic functionality is rock solid, create a simple material eval and basic search without any extensions and pruning. Then test the search by checking if it can find simple wins at specific depths. If there is a win in 6 moves and the engine can't find it at depth 6, something is wrong with the search or TT code. To find what went wrong put some debug statements and trace the search to see where it went astray.

Only after I had confidence that my basic foundation is good I started adding extensions, pruning etc. and Nebula is progressing nicely. Still didn't do anything Graham suggested :)
Hope this doesn't sound like preaching. This is just how I approached my engine development.

By the way Graham, I am ready for your next 8-CPU tourney. Looking forward to it :)

Dragan

User avatar
Graham Banks
Posts: 33145
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: What separates the top engines from the rest?

Post by Graham Banks » Sat Nov 17, 2012 11:25 pm

Dragan wrote:By the way Graham, I am ready for your next 8-CPU tourney. Looking forward to it :)

Dragan
Only three weeks away now. :P
As soon as my current 4CPU tourney finishes, I'll be looking to get the 8CPU one set up.
I'm looking forward to it too! :)
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

Dragan
Posts: 108
Joined: Mon Aug 06, 2012 11:55 am

Re: What separates the top engines from the rest?

Post by Dragan » Sat Nov 17, 2012 11:32 pm

Yeeey!
I just finished killing all the nasty bugs in my MP code (at least I hope I did).
Will release Nebula soon. Hope you guys can run some games even though it is not very strong yet. I also implemented FRC for Ray :)

User avatar
Graham Banks
Posts: 33145
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: What separates the top engines from the rest?

Post by Graham Banks » Sat Nov 17, 2012 11:42 pm

Dragan wrote:Yeeey!
I just finished killing all the nasty bugs in my MP code (at least I hope I did).
Will release Nebula soon. Hope you guys can run some games even though it is not very strong yet. I also implemented FRC for Ray :)
Sounds good. 8-)

I haven't read much about Nebula.
How strong is it?
Are you going to release it publicly?

Sorry for being inquisitive. :P
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

Dragan
Posts: 108
Joined: Mon Aug 06, 2012 11:55 am

Re: What separates the top engines from the rest?

Post by Dragan » Sun Nov 18, 2012 12:45 am

Match against Gaviota 0.8 (not the latest version) just finished. Nebula eked out a win 395:390 (1000 40/6" games).

I started development 6 months ago.
Going to release it publicly soon at https://sites.google.com/site/nebulachess/

I decided not to go open source (don't see any benefit in it), but am willing to provide the source to all respected members of comp chess community who ask for it.

User avatar
Graham Banks
Posts: 33145
Joined: Sun Feb 26, 2006 9:52 am
Location: Auckland, NZ

Re: What separates the top engines from the rest?

Post by Graham Banks » Sun Nov 18, 2012 1:21 am

Dragan wrote:Match against Gaviota 0.8 (not the latest version) just finished. Nebula eked out a win 395:390 (1000 40/6" games).

I started development 6 months ago.
Going to release it publicly soon at https://sites.google.com/site/nebulachess/

I decided not to go open source (don't see any benefit in it), but am willing to provide the source to all respected members of comp chess community who ask for it.
Very good Dragan.
Not much good giving the source code to me though, as I'm not a programmer.
Make sure that you give it to a programmer that you can trust. 8-)
My email addresses:
gbanksnz at gmail.com
gbanksnz at yahoo.co.nz

User avatar
rvida
Posts: 481
Joined: Thu Apr 16, 2009 10:00 am
Location: Slovakia, EU

Re: What separates the top engines from the rest?

Post by rvida » Sun Nov 18, 2012 3:39 am

Graham Banks wrote:In my opinion (based on watching an awful lot of engine v engine games), the top engines excel in three areas:

- they value active play and mobility highly. They are regularly able to put the squeeze on their opponents.
- they better understand the importance of passed pawns - both in how to create potentially dangerous passers and how to take advantage of them.
- they better understand material imbalances, particularly in giving up the exchange. This would seem to indicate that they value pawns differently and ties in a lot with the previous aspect mentioned.

If those authors of engines not too far away from the top could do some extensive work on those three aspects, they would be more competitive.
Having said all that, I do realise that the search is also a big differentiating factor.
Sorry to disappoint you, but these concepts - as we humans perceive - are quite out of reach of current (top) engines. Sure, everyone who is aiming to be in the top5 must have a _reasonable_ eval function, but in the last few years the real progress was mostly due to search improvements (rather than better evaluation).

Edit:
just to illustrate my point: an engine has no concept of a common chess term "positional exchange sacrifice" - it just might see or might not see the consequences of such a move. If the evaluation function gives a higher score at the end of the given line than it gave on any other lines it will play the move. Almost zero "positional" magic is involved (although static rules might help greatly with pruning obviously bad lines).

yanquis1972
Posts: 1762
Joined: Tue Jun 02, 2009 10:14 pm

Re: What separates the top engines from the rest?

Post by yanquis1972 » Sun Nov 18, 2012 3:56 am

richard, surely this wasn't the case with rybka 3 dynamic (loved exchange sacs) vs R3? recall that R3D was rated almost as high as R3. i assume the search was the same, so the difference must've been in how it evaluated positions/pieces..

Post Reply