Enhanced Transposition Cutoff

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
kongsian
Posts: 46
Joined: Thu Jun 15, 2006 9:21 am

Enhanced Transposition Cutoff

Post by kongsian » Tue Apr 10, 2007 12:54 pm

Hi. I've just added ETC to my engine. However my gains are very minor; about 1% less nodes and a fraction faster on a set of mate-in-4 problems.

So naturally I would like to know what kind of improvement other authors are seeing by implementing ETC.

Also which free source engines have implemented ETC?

Thanks.
Kong Sian

User avatar
Steve Maughan
Posts: 1061
Joined: Wed Mar 08, 2006 7:28 pm
Location: Florida, USA
Contact:

Re: Enhanced Transposition Cutoff

Post by Steve Maughan » Tue Apr 10, 2007 3:21 pm

ETC works best when there are many possible transpositions e.g. pawn endings. In the middle game you're not going to see much of an improvement. I think your stats are to be expected for middlegame positions.

Fruit is a good source of an ETC implementation, although IIRC v 1.0 has a bug in the ETC section.

Best regards,

Steve

Michael Sherwin
Posts: 3041
Joined: Fri May 26, 2006 1:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Enhanced Transposition Cutoff

Post by Michael Sherwin » Tue Apr 10, 2007 3:35 pm

My investigation of ETC has led me to the belief (could be a falicious one) that the slower the engine is the more it can benifit from ETC. My program RomiChess is hurt by ETC because, its node rate is high due to the fact that the endleaf eval is 95% pawn structure code and is terse and the pawn code is hashed.

Any paper I have read on ETC has called it a minor improvement, so it would be expected that the gains if any would be minor.
I hate if statements. Pawns demand if statements. Therefore I hate pawns.

bob
Posts: 20547
Joined: Mon Feb 27, 2006 6:30 pm
Location: Birmingham, AL

Re: Enhanced Transposition Cutoff

Post by bob » Tue Apr 10, 2007 6:24 pm

kongsian wrote:Hi. I've just added ETC to my engine. However my gains are very minor; about 1% less nodes and a fraction faster on a set of mate-in-4 problems.

So naturally I would like to know what kind of improvement other authors are seeing by implementing ETC.

Also which free source engines have implemented ETC?

Thanks.
Kong Sian
I had poor results as well. It made the tree slightly smaller, but the speed went down also as I had to take the entire move list, and compute an updated hash signature and do those extra table probes to check for a hit. Bottom line was that it was slightly slower overall and I discarded it. Note that was several years ago, so re-running the experiment might be worthwhile, but I have not done so.

smcracraft
Posts: 671
Joined: Wed Mar 08, 2006 7:08 pm
Location: Orange County California
Full name: Stuart Cracraft
Contact:

Re: Enhanced Transposition Cutoff

Post by smcracraft » Fri Apr 13, 2007 1:21 pm

kongsian wrote:Hi. I've just added ETC to my engine. However my gains are very minor; about 1% less nodes and a fraction faster on a set of mate-in-4 problems.

So naturally I would like to know what kind of improvement other authors are seeing by implementing ETC.

Also which free source engines have implemented ETC?

Thanks.
Kong Sian
I am not impressed with ETC.

Much ado about nothing.

Full of sound and fury.

Signifying nothing.

pijl

Re: Enhanced Transposition Cutoff

Post by pijl » Sat Apr 14, 2007 8:01 am

kongsian wrote:Hi. I've just added ETC to my engine. However my gains are very minor; about 1% less nodes and a fraction faster on a set of mate-in-4 problems.

So naturally I would like to know what kind of improvement other authors are seeing by implementing ETC.
The Baron is using ETC and gets a minor improvement (similar to the one you found). I do restrict ETC and only apply it when there is potentially something significant to gain, otherwise it is too expensive. So depth left is by default set to 4 ply and I only attempt it at expected cut nodes.
There are some situations where ETC helps significantly and that is basically why I keep it in. I also believe (did not measure it) that my SMP with shared hashtable benefits from it.
Richard.

User avatar
hgm
Posts: 23700
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Enhanced Transposition Cutoff

Post by hgm » Sat Apr 14, 2007 9:38 am

All my engines use IID, and I guess that this is automatically upward compatible with ETC: as in any node the search (after static move ordering) starts at d=1 (i.e. the replies to all moves are searched to QS level), it probes the hash in the daughter nodes for any position that can be reached. If the probe misses, it generates the entry by doing a QS.

So after the first IID pass, all hash entries of the daughter nodes have been probed. Unless a cutoff occurs earlier, of course.

Post Reply