|
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?
|
|