Computer Chess Club Archives


Search

Terms

Messages

Subject: A nice speedup - maybe (?)

Author: Jeremiah Penery

Date: 03:39:59 03/08/01

Go up one level in this thread


On March 08, 2001 at 01:01:58, Pham Minh Tri wrote:

>On March 07, 2001 at 01:03:40, Pham Minh Tri wrote:
>
>>On March 06, 2001 at 10:39:05, Robert Hyatt wrote:
>>
>>>On March 05, 2001 at 23:57:05, Pham Minh Tri wrote:
>>>
>>>>Hi Dr. Hyatt,
>>>>
>>>>I am studying your RootMoveList function and wondering if its method of ordering
>>>>could be replaced by calling Quiesce function.
>>>>
>>>>I mean the value for ordering could compute simply as following:

<slightly modified line below, to make it have the correct number of parameters>
>>>> value = -Quiesce(tree,-MATE-1,MATE+1,ChangeSide(wtm),1);

>>>>(need not call Evaluation and EnPrise functions)
>>>>Could it work with the same result? Do I miss something?
>>>>
>>>>Thank in advance for your advice,
>>>>Pham
>>>
>>>Probably would work find.  Might take a bit longer to sort the move list
>>>since that quiesce() call could be quite complex.  The question is, would the
>>>probably more accurate move ordering offset the cost, or not?
>>
>>But this is the fastest (and little diffirent, if someone need :) ) way to try
>>your idea. I will try it now. Thank you very much.
>
>I have tried it. It works and saves me 1/4 of search nodes and time.
>THANK YOU VERY MUCH FOR EVERYTHING.
>Pham

I inserted this in Crafty to see if I could reproduce your result.  For some
positions, it truly produces an amazing speed up in time-to-ply of Crafty.
However, it seems to cause problems in a few positions because of hash-table
weirdness I think.  In the position:

8/5pP1/1R6/7P/8/k7/p6r/K7 w - - 0 5

I kept getting:

                1     0.00   4.12   1. h6
captured a king 1     0.00  10/20?  1. Ka1xa2+
piece=3,from=16,to=8,captured=3
ply=2
captured a king
piece=3,from=16,to=8,captured=3
ply=2
captured a king
piece=6,from=15,to=8,captured=3
ply=2
captured a king
piece=6,from=15,to=8,captured=3
ply=2
                1     0.01     ++   1. Ra6+!!
                1     0.01   8.81   1. Ra6+ Kb3 2. g8=Q
                1     0.02   9.04   1. g8=Q
                1->   0.02   9.04   1. g8=Q
                2     0.02     --   1. g8=Q
                2     0.03 -16.45   1. g8=Q Rh1+ 2. Qg1 Rxg1+ 3. Rb1 <HT>
                2     0.03     ++   1. Ra6+!!
                2     0.05   8.54   1. Ra6+ Kb3 2. Rb6+ Kc3 3. g8=Q
bad move from hash table, ply=220?  1. Ka1xa2+
captured a king
piece=3,from=16,to=8,captured=3
ply=2
captured a king
piece=3,from=16,to=8,captured=3
ply=2
bad move from hash table, ply=2
                2->   0.07   8.54   1. Ra6+ Kb3 2. Rb6+ Kc3 3. g8=Q
                3     0.08     --   1. Ra6+
                3     0.10   0.00   1. Ra6+ Kb3 2. Rb6+ Ka3
bad move from hash table, ply=220?  1. Ka1xa2+
captured a king
piece=3,from=16,to=8,captured=3
ply=2
captured a king
piece=3,from=16,to=8,captured=3
ply=2


It seems that once per iteration it's searching the illegal move Kxa2, which is
causing these problems.  I think because of this, it causes a net slowdown in
this position.  But so far for most positions it could be a big win.



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.