Author: Gordon Rattray
Date: 14:43:38 04/17/01
Go up one level in this thread
On April 17, 2001 at 15:53:36, Dann Corbit wrote: >On April 17, 2001 at 15:40:58, Uri Blass wrote: > >>Suppose program X is playing against kramnik. >> >>I think that it may be a good idea to generate a program that generates a tree >>and sends all the positions in the tree to people who want to help the computer >>in the match(I will call it the main program). >> >>The people give program X to analyze the position and return score and depth to >>the main program. >> >>The main program is using all the information about scores and depthes to decide >>about the best move. >> >>Yace or Gandalf can be used for this task because they are not preprocessors. >>Most programs need to be changed in order to be used in this way and there >>should be an option to analyze position A when the root position is known as >>position B. >> >>I think that in this way 1000 pIII800's can be clearly better than an SMP >>machine. >>Am I right? > >Communication between tasks will be the bottleneck, since we are obviously not >talking about SMP here. > >I have a very similar idea discussed earlier under my "beancounter" threads. It >will only work at slow time controls, and it would work very well under postal >time controls. The most important piece (that you have not described) is the >coordination process, which tells the workers where the effort is needed. I presume I can find that discussion in the archives? If so, I'll look it up. I find this interesting since I have recently participated in a postal tournament where the use of computers was expected by all competitors - so no immoral cheating was going on. I wanted to investigate how I could be use my 2 PCs and numerous chess programs to find best moves given a significant length of time. I experimented with the following approach. I had one program running continuously on one PC for the duration of the analysis period. The idea being that some moves may require a certain depth to be reached and it may be unwise to cut all programs short. My second PC was used more in a swapping fashion with multiple programs being given a time slot one after another. I record details such as score, principle variation, etc. for each one. If all programs agree, including the one not being swapped out, I play that move. My hope is that if the relatively deep search in combination with using a variety of programs all agree, the chances of missing a better move have been minimised. If there is disagreement between the programs, I draw up a list of candidates based on all the suggestions. I then for each program show it the candidates that it didn't agree with and I record how much of a difference there was compared with the program's initial choice. At this point some programs "admit" the candidate is better by showing a better score. For those who show a big drop, I play out more of the principle variation in hope that one of the programs in question will prove itself correct or wrong. The above still leaves a lot of cases where there remains disagreement. I generally find myself making up variation trees with each program getting a chance to evaluate the leaf positions. So no great surprises here, as I often have to use my own judgement, but this approach does give me a lot of information to guide me. Deciding on a when to swap programs is naturally tricky. I give a preference to the unswapped program unless any of the other programs find a "better" move that I failed to disprove. Of course, some best moves will still be missed. If only a guaranteed approach existed... ;-) This is my "first draft" approach and I'm looking for ways to improve it, so any suggestions/comments will be appreciated. Gordon
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.