Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: How long to do 10 full plys? (Peter)

Author: Larry Griffiths

Date: 16:02:05 02/25/99

Go up one level in this thread


On February 25, 1999 at 16:56:51, Larry Griffiths wrote:

>On February 25, 1999 at 15:24:04, Peter McKenzie wrote:
>
>>On February 25, 1999 at 09:21:57, Larry Griffiths wrote:
>>
>>>On February 25, 1999 at 06:53:37, Vincent Diepeveen wrote:
>>>
>>>>On February 24, 1999 at 21:39:53, Larry Griffiths wrote:
>>>>
>>>>>On February 24, 1999 at 18:41:24, Vincent Diepeveen wrote:
>>>>>
>>>>>>On February 24, 1999 at 17:48:23, Larry Griffiths wrote:
>>>>>>
>>>>>>>Greetings CCC Chess Programmers!
>>>>>>>
>>>>>>>How long does it take your chess programs to go 10 full plys
>>>>>>>from whites opening move of E2-E4?
>>>>>>
>>>>>>few seconds, depending upon selectivity it can take up to 1 minute.
>>>>>>
>>>>>Hi Vincent,
>>>>>
>>>>>What do you mean by selectivity?  My program ran for 22 minutes
>>>>>(Using a hash table and alpha-beta pruning with a killer heuristic).
>>>>>I have used the CM6000 auto-analysis with 10 seconds per move and have
>>>>>seen it go 10-14 plys deep at times.  It sounds like your program is
>>>>>also very fast.  Do you mean that you go a few full plys and then
>>>>>do secondary searches?
>>>>>
>>>>>It sounds like I would have to improve the speed of my program by
>>>>>100 to 1000 times to catch up with you fellows.
>>>>>
>>>>>Larry   :-)
>>>>
>>>>I get 20k nodes a second at a PII-450.
>>>>
>>>>But about getting deeply.
>>>>a) improve move ordering
>>>>b) use nullmove
>>>>
>>>>especially a is important when using b
>>>
>>>Thanks Vincent.
>>>
>>>My current move order is:
>>>   HashTable, One Killer move, Capture GT, Capture LE, and then the rest
>>>   of the moves.  I have read that using a history killer is better than
>>>   just saving the last cut-off move.  I want to implement it but
>>>   I have to make major changes to the code to do this.
>>
>>Put captures in front of killers, this should significantly reduce your node
>>count straight off.
>>
>>What sort of capture ordering are you doing?  Unless you are using a static
>>exchange evaluator, the best is probably MVV/LVA which stands for Most Valuable
>>Victim, Least Valuable Attacker.  This means, first order by the value of the
>>piece you are capturing then by the piece doing the capturing.  King is a
>>special case, it is treated as the least valuable attacker.
>>
>>So you'd try captures in this order:
>>
>>KxQ, PxQ, NxQ, BxQ, RxQ, QxQ, KxR, PxR, NxR, BxR, RxR, QxR, KxB, PxB, etc
>>
>>cheers,
>>Peter
>>
>>>
>>>Larry.
>
>Peter,
>
>You caught me!  The Capture GT is MVV and the Capture LT is LVA, but
>I am not ordering within MVV or LVA if more than 1 capture exists.
>I will do some tests with the killer after the captures.
>Thanks a million!
>
>Larry   :-}

Peter,

I changed the order of my move lists and here are the results
in generated moves:

Killer First       Killer Between       Killer Last

36,572,362         39,571,089           49,115,700
34,233,524         34,964,784           43,311,305
38,040,408         45,033,755           70,096,030
74,113,365         59,896,789           67,344,592
11,719,790         14,078,406           16,810,379
35,019,194         33,934,230           50,791,933

228                224                  295

This test was done from the opening for 6 moves at 8 ply's deep.
It appears that the killer should not follow all of the captures
but may be ok in the middle.  I still need to see what happens
in the middle game and end game.

I will add code to sort in MVV,LVA order and try this test again.

Larry   :-}



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.