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.