Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: MT search question

Author: Dan Honeycutt

Date: 08:22:28 11/12/04

Go up one level in this thread


On November 12, 2004 at 02:41:51, Daniel Shawul wrote:

>On November 11, 2004 at 10:48:39, Anthony Cozzie wrote:
>
>>On November 11, 2004 at 09:30:05, Daniel Shawul wrote:
>>
>>>Today i finished organizing my BOARD class , and collecting some global
>>>variables so that i can make a copy of a board easily. Problem is
>>>I use 0x88 and piecelists which need huge for loops to copy. BITBOARDs look
>>>easier. Is this too much of a problem? I am saying this because i think i have
>>>to make a copy of the board each time a node is split.
>>>daniel
>>
>>(from you-go-girl thread)
>>1. Nf3xe5[S] Qd8-e7 2. Bf5-e4[S] d6xe5[S] 3. Be4xb7[S] Nf4xe2 4. Ke1xe2[S]
>>Qe7xb7[S] 5. Qc3xe5[S] f7-f6[S] 6. Qe5-e6 Rf8-f7 7. b4xc5 b6xc5 8. Bb2xf6 Nb8-c6
>>9. Qe6-d5 Ra8-e8 10. Ke2-f1[S] Nc6-d4 11. Qd5xb7 Rf7xb7 12. Bf6xd4
>> = (1.15)	Depth: 14/43	00:08:30.99	609709kN (1193 KN/s, 4649 splits, 459 aborts)
>>
>>Note that the program split only 5000 times in 8 minutes.
>>
>>I am with Bob on this one; split overhead is important but not THAT important.
>>
>>anthony
>
>Copying Board is relatively easier as compared to copying some other
>stuff that should be copied.
>
>  SEARCH_THREAD
>  {
>   BOARD
>   move[250]
>   score[250]
>   History[400] //all moves of a game
>   SEARCH_INFO
>   SEARCH_COUNTS
>   Killers
>   etc..
>  }
>After doing all that, i finally manged to make a copy of
>a search_trade that can run independently! my search_trades
>share only hashtables (main tt,pawn tt,eval tt,history_table).
>And then i tried splitting the first root move
>
>   if(move_count == 0)
>   {
>       copyThrade = Copy search trade
>       -search(copyThrade,....)
>       copy back results
>   }
>   else
>      continue normally
>
>This worked fine. but the problem is doing only one split at the node
>already decreased the nps by 10,000?? Am I copying some unnecessary stuff
>or is this expected?
>
>best
>daniel

Hi Daniel:
First, congrats for boldly going where few have gone before.  I'm a ways from
smp but I have grouped my position and search tree data with a view to
implementing that at a future date.  The one thing I don't have that you do is
the game history.  Without that my repetition detection looks like:

i = ply - 4;  //first repeatable position
while (i >= 0) {
  //check for rep in search tree
  i -= 2;
}
i += history_index;
while (i >= 0) {
  //check for rep in game history
  i -=2;
}

A little messy but I don't the two series loops cost much extra and it would
save having to copy the game history to a new instance.

Dan H.




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.