Can an engine with few nodes/second be strong?

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Can an engine with few nodes/second be strong?

Post by JBNielsen »

Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: Can an engine with few nodes/second be strong?

Post by Laskos »

JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Broadly, rating is proportional to log nps. But this is broadly.
Vinvin
Posts: 5223
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: Can an engine with few nodes/second be strong?

Post by Vinvin »

JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Houdini 1.5 , 1 thread : 1 Mnps on my comp, rating -> 3220.2
Fritz 5.32 , 1 thread : 2 Mnps on my comp, rating -> 2594.60

Is it a valid answer to your question ? :-)
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Can an engine with few nodes/second be strong?

Post by JBNielsen »

Vinvin wrote:
JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Houdini 1.5 , 1 thread : 1 Mnps on my comp, rating -> 3220.2
Fritz 5.32 , 1 thread : 2 Mnps on my comp, rating -> 2594.60

Is it a valid answer to your question ? :-)
Thanks; it helps :)

Dabbaba searches 120.000 n/s in the starting position.
Wonder what rating the strongest program with so few n/s has....

Something like Houdini running 8 times slower and still having a rating of 3000+ 8-)
ZirconiumX
Posts: 1334
Joined: Sun Jul 17, 2011 11:14 am

Re: Can an engine with few nodes/second be strong?

Post by ZirconiumX »

If the few nodes are perfectly searched, then yes.

Matthew:out
Some believe in the almighty dollar.

I believe in the almighty printf statement.
Vinvin
Posts: 5223
Joined: Thu Mar 09, 2006 9:40 am
Full name: Vincent Lejeune

Re: Can an engine with few nodes/second be strong?

Post by Vinvin »

JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Some things to consider :
- the more you optimize the code, the more faster your program will run
- the more you add in knowledge, the more slower your program will run
- the more you add in knowledge, the more your program will find good moves (at fixed analyzed nodes)
- the more you prune lines, the more your program will reach big depth (try to prunes bad lines and try to not prunes good lines...)
- ...
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Can an engine with few nodes/second be strong?

Post by lucasart »

JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Having a good move ordering, even if takes a bit of time, is certainly a good thing, as it reduces your branching factor. However, besides the usual tricks (SEE, MVV/LVAA, History, Killers, Hash Move), I don't know of any magic that improves significantly the ordering.

I don't know what/how you do it, but a few nodes per seconds is really really slow. There must be something very wrong with your code, and perhaps it's time to use a profile, to see what is happening. Modern engines combine: complex eval and move ordering *and* speed efficiency. It shouldn't have to be one or the other, unless coded very poorly.

Besides, if you only do a few nodes per seconds, it means that you can't even finish a simple qsearch() in many positions... That means you can't finish depth one, and you're likely to return an illegal or stupid move.

I would be curious to understand what the hell your program is doing for *so long* in the move ordering.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
Uri Blass
Posts: 10106
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Can an engine with few nodes/second be strong?

Post by Uri Blass »

lucasart wrote:
JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Having a good move ordering, even if takes a bit of time, is certainly a good thing, as it reduces your branching factor. However, besides the usual tricks (SEE, MVV/LVAA, History, Killers, Hash Move), I don't know of any magic that improves significantly the ordering.

I don't know what/how you do it, but a few nodes per seconds is really really slow. There must be something very wrong with your code, and perhaps it's time to use a profile, to see what is happening. Modern engines combine: complex eval and move ordering *and* speed efficiency. It shouldn't have to be one or the other, unless coded very poorly.

Besides, if you only do a few nodes per seconds, it means that you can't even finish a simple qsearch() in many positions... That means you can't finish depth one, and you're likely to return an illegal or stupid move.

I would be curious to understand what the hell your program is doing for *so long* in the move ordering.
few is 120,000 per second in the case of the discussion so there is no risk
not to finish depth 1.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Can an engine with few nodes/second be strong?

Post by lucasart »

Uri Blass wrote: few is 120,000 per second in the case of the discussion so there is no risk
not to finish depth 1.
Oh I see. Without a number, it was hard to know what he meant by "few". 120k is not very fast, but you can still have a very strong engine like that.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Can an engine with few nodes/second be strong?

Post by Don »

JBNielsen wrote:Is there any significant relation between rating and nodes/second?

My engine Dabbaba has few nodes/second, as it fx spends much time in preordering moves.
Nodes per second is highly correlated to strength but this only goes so far ...

Some programs do a LOT more with 1 node than another and many heuristics that hurt nodes per second but helps ELO, including evaluation features like mobility.

But of course it's obvious that any give program will play stronger if you increase the nodes per second while doing nothing else differently.

Komodo is a good example of a program that is very strong with relatively low nodes counts. Fritz is a good example of reasonably strong program that has very high node counts but doesn't match the top programs in strength despite racking up a lot of nodes.

Don
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.