Author: Mikael Bäckman
Date: 05:12:55 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. 1. I use two killers per depth (ply-remaining) and clear them only when a new search is initiated, not per iteration. This seems to work best for Chepla. The best way of implementing killers into your engine must be measured. 2. If you return immediately you will miss the shortest mate. A move might return mate-in-4, but the next move mate-in-2. /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.