What about outputting a score like other engines do? That would help with analyzing.CThinker wrote:The PV output in Thinker is never accurate. This is because the PV output is simply from iterating though the hash table (which just gets overwritten with other moves all the time).
Thinker 5.2a released...
Moderators: hgm, Dann Corbit, Harvey Williamson
-
Ovyron
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: Thinker 5.2a ponder - moves
-
Graham Banks
- Posts: 41198
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Thinker 5.2a ponder - moves
True, but if all engine authors were to follow suit, there would be much less fun in playing against or testing those engines.Edsel Apostol wrote:Hi Uri,
The PV output in Thinker I think is just a hack to simply support that feature. Maybe what it contains is the last line the engine searched that was saved to the hash table. It has no value other than just pure random.
Lance could add PV support correctly in less than 5 minutes but its his choice not to, and I respect that.
In fact, if it was the norm, I wouldn't bother testing.
gbanksnz at gmail.com
-
Uri Blass
- Posts: 10102
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Thinker 5.2a ponder - moves
You may be right but the author did not say that the pv is not accurate because he did not try to make it accurate and I understood based on his words that he has a serious hash bug(of course he can make things clear by another post):Edsel Apostol wrote:Hi Uri,
The PV output in Thinker I think is just a hack to simply support that feature. Maybe what it contains is the last line the engine searched that was saved to the hash table. It has no value other than just pure random.
Lance could add PV support correctly in less than 5 minutes but its his choice not to, and I respect that.
Here are the words of Lance:
"The PV output in Thinker is never accurate. This is because the PV output is simply from iterating though the hash table (which just gets overwritten with other moves all the time)."
I understood from it that the pv is not accurate because the information in the hash does not include the best moves so thinker cannot use the simple rule to search the hash move first because the hash move is not reliable(maybe the hash move is more reliable than the history moves so thinker may start with good captures and killers and later go to the hash move).
Note that it may be possible to make a program at the level of thinker even without using hash
(I believe that you do not earn more than 200 elo from using hash and I believe that rybka3 is more than 200 elo better than thinker)
Uri
-
CThinker
- Posts: 388
- Joined: Wed Mar 08, 2006 10:08 pm
Re: Thinker 5.2a ponder - moves
Actually, I'm not saying that the engine has a serious hash bug. Instead, all I'm saying is that whenever one simply uses the hash table to generate the PV, then the resulting PV is not accurate.Uri Blass wrote:You may be right but the author did not say that the pv is not accurate because he did not try to make it accurate and I understood based on his words that he has a serious hash bug(of course he can make things clear by another post):Edsel Apostol wrote:Hi Uri,
The PV output in Thinker I think is just a hack to simply support that feature. Maybe what it contains is the last line the engine searched that was saved to the hash table. It has no value other than just pure random.
Lance could add PV support correctly in less than 5 minutes but its his choice not to, and I respect that.
Here are the words of Lance:
"The PV output in Thinker is never accurate. This is because the PV output is simply from iterating though the hash table (which just gets overwritten with other moves all the time)."
I understood from it that the pv is not accurate because the information in the hash does not include the best moves so thinker cannot use the simple rule to search the hash move first because the hash move is not reliable(maybe the hash move is more reliable than the history moves so thinker may start with good captures and killers and later go to the hash move).
Note that it may be possible to make a program at the level of thinker even without using hash
(I believe that you do not earn more than 200 elo from using hash and I believe that rybka3 is more than 200 elo better than thinker)
Uri
Those engines that choose simplicity (like MSCP and MicroMax) are in the same situation. In fact, those two don't even make an attempt to generate a PV from the hash. The Thinker code is bigger than those two, but it is designed with the similar goal of compactness and simplicity.
Cheers!
-
Uri Blass
- Posts: 10102
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Thinker 5.2a ponder - moves
CThinker wrote:Actually, I'm not saying that the engine has a serious hash bug. Instead, all I'm saying is that whenever one simply uses the hash table to generate the PV, then the resulting PV is not accurate.Uri Blass wrote:You may be right but the author did not say that the pv is not accurate because he did not try to make it accurate and I understood based on his words that he has a serious hash bug(of course he can make things clear by another post):Edsel Apostol wrote:Hi Uri,
The PV output in Thinker I think is just a hack to simply support that feature. Maybe what it contains is the last line the engine searched that was saved to the hash table. It has no value other than just pure random.
Lance could add PV support correctly in less than 5 minutes but its his choice not to, and I respect that.
Here are the words of Lance:
"The PV output in Thinker is never accurate. This is because the PV output is simply from iterating though the hash table (which just gets overwritten with other moves all the time)."
I understood from it that the pv is not accurate because the information in the hash does not include the best moves so thinker cannot use the simple rule to search the hash move first because the hash move is not reliable(maybe the hash move is more reliable than the history moves so thinker may start with good captures and killers and later go to the hash move).
Note that it may be possible to make a program at the level of thinker even without using hash
(I believe that you do not earn more than 200 elo from using hash and I believe that rybka3 is more than 200 elo better than thinker)
Uri
Those engines that choose simplicity (like MSCP and MicroMax) are in the same situation. In fact, those two don't even make an attempt to generate a PV from the hash. The Thinker code is bigger than those two, but it is designed with the similar goal of compactness and simplicity.
Cheers!
I am sure that there are programs that use the hash to generate the PV when their first plies of the pv are accurate.
part of the pv can be not accurate but not the first plies if you do not have a bug or something different than what other people do(maybe you store different information about moves that is not always the best move that you found in cases that you can find the best move not by hash and you have a flag to tell you if you can find the best move not by hash).
Uri