Author: Sune Fischer
Date: 07:13:45 04/12/02
Go up one level in this thread
On April 12, 2002 at 09:30:45, Uri Blass wrote: >On April 12, 2002 at 09:14:22, Oren Avraham wrote: > >>I've gone through the archive to look for a simple idea >>but found non: >>Why every ply should i generate the pseudomoves all over again, when i can >>"recycle" the old ones in some way or another. > >You do not have to generate the pseudomoves all over again. >I believe that programmers are usually not very good programmers >so they choose to do it because recycling >the old ones without bugs is too hard for them or takes >too much time that they prefer to invest time in other things >because they may get only a small speed improvement from >recycling the old moves. > >>If it is done somewhere: how ? (what are the 'thumb rules' to update the old >>moves...") >> >>10x (Thank Tou) in advance Oren. (p.s i'm an 18 years old IDIOT who makes a >>chess program in PROLOG...) > >I do not think that you are an idiot. >They are a lot of good ideas that are not used by the top >chess programs. I've thought about this idea too, the problems I see I haven't been able to solve. First of all, how will you save them, you need to back up large parts of the tree I think. Second you if you are not in exactly the same position, only some of the moves are valid, so you have to find some (quick) way of determaning what those are and just generate the remaining, it is bound to get messy. Third, if you do reach a similar position, then you can probably get a hash cut or move to try first, and often won't need to regenerate anything at all. I'm thinking more in the lines of an incremental movegenerator, still how to effectively remove the old bad moves and put in the new valid ones seems very complicated, at least the way I do things. For instance, there is no need to update a knight's moves unless a friendly pieces has moved from one of its attacking squares (by capture), in which case we should add that move to the list.... The other pieces seems even more complicated, and I think all the hassle of checking if and if and if then so and so and so will just not be worth it in the end (or else it would be in Crafty already:). Still it is fun to ponder about the "optimal" way of doing things :) -S.
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.