Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Comments on testing, and two simple questions

Author: Mikael Bäckman

Date: 02:27:29 06/18/04

Go up one level in this thread


On June 17, 2004 at 20:24:40, Andrew Wagner wrote:

>So this week I've been working on adding code to Trueno strictly for debugging
>purposes. Basically, I've been dumping info in readable format to a log file
>during search, with all output lines conditionally compiled. See
>http://www.winboard.info/trueno/debug.txt for an example with WAC 001.
>
>It's been amazing to me in working on this just how little I understand about
>how my program works, especially with regards to alphabeta. Not that I don't
>understand the basic idea, but just the notion of when fail highs and lows are
>likely to happen and what that really means. Several times, as I've been
>reformatting the output, I've looked at something and said "Boy, that looks
>wierd, it must be a bug!". And, two hours later, I go "Ohhh, it's _supposed_ to
>do that! Now I get it!" And I've learned something valuable about my program and
>chess programming in general. Anyway, I recommend this process to any others out
>there who are still relatively new to computer chess. Now, on to my two
>questions:
>
>1.) I discovered in the process of debugging last night that my killer moves
>code wasn't working. At all. I'm still not sure it is (look at the end of the
>four-ply search in the log above, you can see that Qg7 should definitely be a
>killer, but it's not getting searched quickly enough). So my question is about
>how people usually implement killers. Do you clear them on every iteration? Do
>you have a set of killers for each possible depth?
>
>2.) And now for an easy alphabeta question. When I search a move and get back a
>mate score which is a PV node, I can return that score immediately after
>updating my PV, right? As opposed to going back and looking at other moves?
>Because I'm not going to find a quicker mate on that ply anyway.


Hi!

If I read the log correctly, Trueno has bigger issues than the correctness of
killer moves.

The order of moves searched should be similar to:

1. Hashmove
2. Good captures
3. Equal captures
4. Killers and history
5. Losing captures

Trueno's log shows a different story. After Nxc6 (e5-c6) there are 3 good
captures. Qxc6, Rxc6 and gxf6, but these are not searched before other moves.

--------

Received: on
Received: setboard 2rr3k/pp3pp1/1nnqbN1p/3pN3/2pP4/2P3Q1/PPB4P/R4RK1 w - -
Received: on

[snip]

Beginning a 2-ply search
e5-c6
   d6-c6 : -193	<<-- Good cap
   *PV is now e5-c6 d6-c6
   b6-d7 : -193
   b6-a4 : -193
   d6-c7 : -193
   d6-b8 : -193
   d6-e7 : -193
   d6-f8 : -193
   d6-d7 : -193
   b6-a8 : -193
   d6-e5 : -193
   d6-f4 : -193
   d6-g3 : -193
   d6-c5 : -193
   d6-b4 : -193
   d6-a3 : -193
   e6-d7 : -193
   e6-f5 : -193
   e6-g4 : -193
   e6-h3 : -193
   h6-h5 : -193
   a7-a6 : -193
   a7-a5 : -193
   b7-c6 : -193
   g7-f6 : -193 <<-- Good cap
   g7-g6 : -193
   g7-g5 : -193
   c8-b8 : -193
   c8-a8 : -193
   c8-c7 : -193
   c8-c6 : -202 <<-- Good cap
   *PV is now e5-c6 c8-c6
   d8-e8 : -202
   d8-f8 : -202
   d8-g8 : -202
   d8-d7 : -202

--------

The moves seem to be searched in an almost random order.
You may also want to log the moves from qsearch and look at the moveorder...


/Mikael






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.