Author: Dann Corbit
Date: 17:28:37 07/06/04
Go up one level in this thread
On July 06, 2004 at 14:41:45, Stuart Cracraft wrote: >On July 06, 2004 at 14:16:37, Robert Hyatt wrote: > >>On July 06, 2004 at 14:09:39, Stuart Cracraft wrote: >> >>>Okay here's a new table with revisions based >>>on input. Now, higher effort and return numbers >>>mean more effort and return. And gone is the >>>value number replaced with Russell's return/effort >>>ratio. Have revised some numbers to try to fit in >>>with some opinions. >>> >>>The higher the third column the more that feature >>>gives in program performance for less work expended. >>> >>>EFFORT RETURN RETURN/EFFORT Feature >>>1 5 5 capture ordering >>>3 4 1.33 null move >>>4 4 1 null move with verification >>>4 4 1 search pv first >>>4 5 1.25 static exchange evaluator >> >>This can make a big difference. IE once you have a SEE procedure working, you >>can use it to reduce the size of the q-search by over 50%, doubling your search >>speed instantly. At very low risk. >> >> >> >>>4 5 1.25 transposition table >>>4 5 1.25 transposition table with 2-tier replacement >>>3 3 1 history heuristic, killers, other ordering >>>2 1 .5 aspiration >>>2 2 1 iterative deepening >>>2 2 1 pawn hashing w/ complex pawn evaluation >>>3 2 .66 capture extension >>>1 5 5 check extension >>>1 1 1 pawn to 6th/7th extension >>>3 3 1 futility >>>3 2 .66 razoring >>>5 3 .6 mate-at-a-glance > >To reflect this, I've upped return values. They can go higher >than 5 now and SEE gets a 6. A few more revisions elsewhere as >well. > >EFFORT RETURN RETURN/EFFORT Feature >1 10 10 capture ordering >3 4 1.33 null move >4 4 1 null move with verification >4 4 1 search pv first >2 1 .5 fractional extensions >4 6 1.5 static exchange evaluator >4 5 1.25 transposition table >4 5 1.25 transposition table with 2-tier repl. >3 3 1 history heuristic, killers, other ordering >2 1 .5 aspiration >4 5 1.25 book learning >3 3 1 position learning >2 2 1 iterative deepening >3 1 .33 internal iterative deepening >2 2 1 pawn hashing w/ complex pawn evaluation >3 3 1 king+pawn hashing w/ king safety evaluation >3 2 .66 capture extension >1 5 5 check extension >1 1 1 pawn to 6th/7th extension >3 3 1 futility >3 2 .66 razoring >5 3 .6 mate-at-a-glance > >Stuart There are also dependencies. For instance, you move ordering will never be optimal without transposition tables. The effort for internal iterative deepening is close to zero. Its just a few lines of code. (Look at the example in Beowulf). Algorithm outline: 1. Position does not have a pv move in the hash table and depth is high enough to bother? 2. Search position at depth -2 (could make it a parameter instead of hardwiring at 2). {might go recursive for a few turns, but cost is small} Now you have a pv node for move ordering. You can do things to make it smarter, of course. For instance if you are performing an IID search, skip the hash lookup, because you already know you don't have a pv node in the hash table.
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.