Main
Date: 26 Jan 2007 12:27:30
From: vram1974
Subject: Chess Engine kN per second
I have a strange question... I often run chess tournaments among
different programs on my computer for fun and also for different
analysis opinions in my post-mortem games. But it seems some chess
engines have very low search node strengths, and sometimes they
vary.... for instance:

Deep Junior 10 usually runs at about 670kN per second, but often spikes
to 800-1200.
Then Rybka 2.2 will run at a pathetic 18kN, never exceeding 33. This
makes DJ10 annihilate Rybka, even though Rybka is probably a better
engine.
Hiarcs 11 will usually run at no more than 100kN, while Loop 10.32f
will run at about 300kN.

Does anyone know why there's such a huge discrepancy for this? How can
I get the engines to play on a level field of kilonodes?

(My email is fake, please post here)





 
Date: 26 Jan 2007 22:05:41
From: CeeBee
Subject: Re: Chess Engine kN per second
"vram1974" <[email protected] > wrote in
news:[email protected]:

> I have a strange question... I often run chess tournaments among
> different programs on my computer for fun and also for different
> analysis opinions in my post-mortem games. But it seems some chess
> engines have very low search node strengths, and sometimes they
> vary.... for instance:
>
> Deep Junior 10 usually runs at about 670kN per second, but often
> spikes to 800-1200.
> Then Rybka 2.2 will run at a pathetic 18kN, never exceeding 33. This
> makes DJ10 annihilate Rybka, even though Rybka is probably a better
> engine.
> Hiarcs 11 will usually run at no more than 100kN, while Loop 10.32f
> will run at about 300kN.
>
> Does anyone know why there's such a huge discrepancy for this? How can
> I get the engines to play on a level field of kilonodes?




The more chess knowledge a programmer puts into a program, the less
brute force (less nodes per second) the engine needs to apply to come to
a good calculation. The less chess knowledge, the more brute force (more
nodes per second) the engine needs to apply.

There used to be a sharp division between chess programmers: on the one
side the so-called "bean counters" and on the other side the "knowlegde
based programmers". That sharp division has disappeared somewhat,
luckily. Now programmers try to but both speed and knowledge in a
program.

Compare it to yourself. What if you saw a painting you don't know of who
the painter is? You'd have to search many books for an illustration of
that painting with the painter mentioned. In that case you want to scan
all those books as fast as possible. The more books per minute, the
better. You want a high node count, because you have little knowledge.

But when you're an art lover, you see an unknown painting, and
immediately know that it's a. likely from the 17th century, b. most
likely from the school around Rembrandt and c. depicting a view on
Amsterdam. Now you have to browse only a few books about paintings from
the 17th century by Rembrandt or one of his pupils with an Amsterdam
view as subject. Within a short time you'll know who painted the
painting, because you had more knowledge. You don't need a high node
count to arrive at the same correct conclusion.

Node count is one of the parameters indicating what an engine can do.
But if there is no chess knowledge available, the node count can be a
trillion positions per second while the engine still sucks. After all,
not _fast_ calculating is important, but calculating correctly.

Only compare node counts for the same engine on different hardware, to
see how it affects strenght. You can't compare nodes per second between
engines and come to a valid conclusion about relative strength.


--
CeeBee

*** entia non sunt multiplicanda praeter necessitatem ***


  
Date: 28 Jan 2007 12:06:01
From: David Richerby
Subject: Re: Chess Engine kN per second
CeeBee <[email protected] > wrote:
> Compare it to yourself. What if you saw a painting you don't know of
> who the painter is? You'd have to search many books for an
> illustration of that painting with the painter mentioned. In that
> case you want to scan all those books as fast as possible. The more
> books per minute, the better. You want a high node count, because
> you have little knowledge.
>
> But when you're an art lover, you see an unknown painting, and
> immediately know that it's a. likely from the 17th century, b. most
> likely from the school around Rembrandt and c. depicting a view on
> Amsterdam. Now you have to browse only a few books about paintings
> from the 17th century by Rembrandt or one of his pupils with an
> Amsterdam view as subject. Within a short time you'll know who
> painted the painting, because you had more knowledge. You don't need
> a high node count to arrive at the same correct conclusion.

This analogy doesn't quite work, since there's no reason why the art
lover can't scan the relevant books just as quickly as the other guy.

Of course, the overall point is still valid. Perhaps a better analogy
would be that the naive person flips through every book on the shelf
looking for the painting: he considers a large number of pages each
minute but they're mostly irrelevant. The art lover first carefully
looks through the index of the book and then checks the relevant-
looking pages: he only looks at a few pages, and quite slowly, but
he's looking at the right pages.


Dave.

--
David Richerby Evil Cheese (TM): it's like a brick
www.chiark.greenend.org.uk/~davidr/ of cheese but it's genuinely evil!


   
Date: 28 Jan 2007 17:23:17
From: CeeBee
Subject: Re: Chess Engine kN per second
David Richerby <[email protected] > wrote in
news:PSl*[email protected]:

> This analogy doesn't quite work, since there's no reason why the art
> lover can't scan the relevant books just as quickly as the other guy.

The analogy is that the other guy doesn't know what the relevant books
are.

--
CeeBee

*** entia non sunt multiplicanda praeter necessitatem ***


    
Date: 29 Jan 2007 10:17:33
From: David Richerby
Subject: Re: Chess Engine kN per second
CeeBee <[email protected] > wrote:
> David Richerby <[email protected]> wrote:
>> This analogy doesn't quite work, since there's no reason why the
>> art lover can't scan the relevant books just as quickly as the
>> other guy.
>
> The analogy is that the other guy doesn't know what the relevant
> books are.

Yes, and that's only half the point. This explains why Rybka doesn't
consider as many nodes in total as the other engine but doesn't
explain why it does it so slowly. (And the answer is most definitely
not, `because it can afford to.')


Dave.

--
David Richerby Cheese Tool (TM): it's like a
www.chiark.greenend.org.uk/~davidr/ screwdriver that's made of cheese!


     
Date: 29 Jan 2007 13:44:31
From: CeeBee
Subject: Re: Chess Engine kN per second
David Richerby <[email protected] > wrote:

> (And the answer is most definitely
> not, `because it can afford to.')

That's what happens when you start using comparisons to explain a principle
about making a programing choice and the discussion shifts to the single
merits of the analogy.

Of course the slow node engine is so slow so because the processor is
preoccupied with processing the extra chess knowledge it has compared to
the fast node engine on the same processor. It can dedicate all its time to
brute search, and doesn't have to browse the libraries of preprogrammed
chess knowledge the other engine has.



--
CeeBee

*** entia non sunt multiplicanda praeter necessitatem ***


  
Date: 27 Jan 2007 12:16:49
From: Ruud
Subject: Re: Chess Engine kN per second

"CeeBee" <[email protected] > schreef in bericht
news:[email protected]...
> "vram1974" <[email protected]> wrote in
> news:[email protected]:
>
>> I have a strange question... I often run chess tournaments among
>> different programs on my computer for fun and also for different
>> analysis opinions in my post-mortem games. But it seems some chess
>> engines have very low search node strengths, and sometimes they
>> vary.... for instance:
>>
>> Deep Junior 10 usually runs at about 670kN per second, but often
>> spikes to 800-1200.
>> Then Rybka 2.2 will run at a pathetic 18kN, never exceeding 33. This
>> makes DJ10 annihilate Rybka, even though Rybka is probably a better
>> engine.
>> Hiarcs 11 will usually run at no more than 100kN, while Loop 10.32f
>> will run at about 300kN.
>>
>> Does anyone know why there's such a huge discrepancy for this? How can
>> I get the engines to play on a level field of kilonodes?
>
>
>
>
> The more chess knowledge a programmer puts into a program, the less
> brute force (less nodes per second) the engine needs to apply to come to
> a good calculation. The less chess knowledge, the more brute force (more
> nodes per second) the engine needs to apply.
>
> There used to be a sharp division between chess programmers: on the one
> side the so-called "bean counters" and on the other side the "knowlegde
> based programmers". That sharp division has disappeared somewhat,
> luckily. Now programmers try to but both speed and knowledge in a
> program.
>
> Compare it to yourself. What if you saw a painting you don't know of who
> the painter is? You'd have to search many books for an illustration of
> that painting with the painter mentioned. In that case you want to scan
> all those books as fast as possible. The more books per minute, the
> better. You want a high node count, because you have little knowledge.
>
> But when you're an art lover, you see an unknown painting, and
> immediately know that it's a. likely from the 17th century, b. most
> likely from the school around Rembrandt and c. depicting a view on
> Amsterdam. Now you have to browse only a few books about paintings from
> the 17th century by Rembrandt or one of his pupils with an Amsterdam
> view as subject.

It could, on the other hand, very well be one of these paintings. ;-)
http://www.jmrw.com/Chess/Tableau_echecs/index.htm
Just kidding.
But nice, don't you think so?

Within a short time you'll know who painted the
> painting, because you had more knowledge. You don't need a high node
> count to arrive at the same correct conclusion.
>
> Node count is one of the parameters indicating what an engine can do.
> But if there is no chess knowledge available, the node count can be a
> trillion positions per second while the engine still sucks. After all,
> not _fast_ calculating is important, but calculating correctly.
>
> Only compare node counts for the same engine on different hardware, to
> see how it affects strenght. You can't compare nodes per second between
> engines and come to a valid conclusion about relative strength.
>
>
> --
> CeeBee
>
> *** entia non sunt multiplicanda praeter necessitatem ***




 
Date: 26 Jan 2007 12:29:21
From: vram1974
Subject: Re: Chess Engine kN per second
On Jan 26, 12:27 pm, "vram1974" <[email protected] > wrote:
> I have a strange question... I often run chess tournaments among
> different programs on my computer for fun and also for different
> analysis opinions in my post-mortem games. But it seems some chess
> engines have very low search node strengths, and sometimes they
> vary.... for instance:
>
> Deep Junior 10 usually runs at about 670kN per second, but often spikes
> to 800-1200.
> Then Rybka 2.2 will run at a pathetic 18kN, never exceeding 33. This
> makes DJ10 annihilate Rybka, even though Rybka is probably a better
> engine.
> Hiarcs 11 will usually run at no more than 100kN, while Loop 10.32f
> will run at about 300kN.
>
> Does anyone know why there's such a huge discrepancy for this? How can
> I get the engines to play on a level field of kilonodes?
>
> (My email is fake, please post here)

I should probably have mentioned I am running these programs within the
Chessbase Junior 8 environment using eng files. Perhaps this affects kN
speed?