Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Features: Return vs. Effort (new revised table)

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.