Author: Tony Werten
Date: 08:20:49 12/18/01
Go up one level in this thread
On December 18, 2001 at 09:57:02, Steve Maughan wrote:
>Tony,
>
>>forget the thread stuff. Basicly, pondering is quite easy.
>
>Thanks for the input. So do you have a inner loop that tests for moves by the
>opponent and then response accordingly i.e. changes the board and calls the
>search routine? At the moment I have a search routine that performs the search
>and makes the move. Since it doesn't ponder, it then waits until the opponent
>moves which triggers another search - an so on. With pondering I want to start
>a search immediately after the last one has ended and I don't want a pointless
>recursive call to 'Search'. Therefore I think I'm going to need a loop that
>check and manages the status of the game and seach. Is this what you do?
Yes.
while not(game_ended) do
begin
if side_to_move=color_computer then // ie really my move
begin
search
end else
begin
pondering:=true
make_move(oppo_expected_move)
search
end;
if pondering then
begin
pondering:=false
//decide if podered move can be taken
// else move:=nullmove and unmake(oppo_expected_move)
end;
if move<>nullmove then
begin
//wether pondering or not, we can pretend it was our move
// so make it and update root_board;
end;
end;
>
>Regards,
>
>Steve
>
>PS My Delphi program (of no name) is finally starting to surface after another
>major rewrite. I'm basically happy enough with the general structure and speed.
> I need to write a proper evaluation function but at the moment it can process
>~450 kn/s in the middlegame and 1700 kn/s in the endgame using a simple piece
>square table (1.5 GHz P4). I guess this will at least half when a decent
>evaluation function is added. Once I have it Winboard compatible and a small
>opening book I'll try and enter some competitions time permitting!
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.