Thinker 5.2a released...

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

Moderators: hgm, Dann Corbit, Harvey Williamson

User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Thinker 5.2a ponder - moves

Post by Ovyron »

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).
What about outputting a score like other engines do? That would help with analyzing.
User avatar
Graham Banks
Posts: 41198
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Thinker 5.2a ponder - moves

Post by Graham Banks »

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.
True, but if all engine authors were to follow suit, there would be much less fun in playing against or testing those engines.
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

Post by Uri Blass »

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.
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):


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

Post by CThinker »

Uri Blass wrote:
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.
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):


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

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

Post by Uri Blass »

CThinker wrote:
Uri Blass wrote:
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.
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):


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

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