Author: Uri Blass
Date: 07:34:31 11/17/02
Go up one level in this thread
On November 17, 2002 at 08:42:14, Bob Durrett wrote: >On November 17, 2002 at 05:07:01, Ricardo Gibert wrote: > >>On November 17, 2002 at 03:15:15, Frank Schneider wrote: >> >>>On November 16, 2002 at 22:08:55, Christophe Theron wrote: >>> >>>>On November 16, 2002 at 22:00:27, Bob Durrett wrote: >>>> >>>>> >>>>>I was thinking it might be *fun* to create a machine which does nothing more >>>>>than create legal move sequences from some preset legal chess position. These >>>>>sequences might be dumped into a large part of RAM for later copy to a hard disk >>>>>or printout. >>>>> >>>>>The key idea I'm toying with is to represent a chess position by a listing of >>>>>legal moves. Whenever a new move is made [by the person (or thing) playing >>>>>against the machine, or by the machine if it's playing against itself,] then the >>>>>machine would do nothing more than modify that listing (plus copy the move >>>>>representation to a temporary storage place in RAM). The new listing of legal >>>>>moves would then represent the new position. The key idea is to represent a >>>>>position by a listing of legal moves. When a move is made, there is a "from" >>>>>square and a "to" square. Only consequences of changes made on these two >>>>>squares would have to be considered to modify the legal move list. >>>>> >>>>>Then, to make it more interesting, a really fast random number generator would >>>>>be used to select one of the resulting legal moves. If the machine were playing >>>>>against itself, the sequences of moves should be generated very quickly. How >>>>>quickly? >>>>> >>>>>In the beginning, I am only interested in the time it would take to modify that >>>>>listing. The machine could play both sides, removing the need for >>>>>time-consuming input/output. After generating a legal move sequence ending in >>>>>mate, it would then start working on the next legal move sequence. After a >>>>>million or so moves were made, then the time required could be divided by the >>>>>number of moves. That resulting time per move that I'm asking about. Rather >>>>>than worry about the fact that some computers are faster than others, maybe the >>>>>best bet would be to express it as number of clock cycles per move. A modern >>>>>high-end processor should be assumed. >>>>> >>>>>Each sequence would be what two "really dumb" chessplayers would produce if they >>>>>knew how to produce legal moves but knew NOTHING at all else about chess. >>>>> >>>>>P.S. Is there a better way? >>>>> >>>>>Bob D. >>>> >>>> >>>> >>>>Don't you need to prove first that two different chess positions will always >>>>have a different legal moves list? >>> >>>Hi Bob, >>> >>>there are many different positions with the same move list, e.g. >>>all stalemate-positions, all positions where e.g. Ke1xqf2 is the >>>only legal move, ... >>> >>>Frank >> >> >>He knows that. He wasn't asking the question for his own benefit. > >Christophe, you read me wrong. I really WAS asking the question for my own >benefit. I wanted to understand something. > >At the time I wrote that, I didn't realize that the same legal move list could >have multiple positions. However, that doesn't matter (!!) in the application I >was asking about. > >What I was trying to do was to produce a machine which would generate sequences >of legal moves. A move generator, if you wish. I wanted to know whether or not >the method I was thinking about would be efficient. > >I would like to know how much time [expressed as processor clock cycles] a legal >move generator ought to take, on average, to produce one legal move, i.e. if it >were efficient. With that information, I could compare my method to determine >it's efficiency. I do not know time on processor cycles In theory you can produce some millions of legal moves per second on 1000Mhz. I have basically 2 functions. 1)generate moves 2)make move In make move I update my attack array so it is easy to generate the legal moves for the next ply. In the last ply I do not have to make the legal moves(I make them with movei but it is only to update my attack tables so I have better information in my attack tables for my decision if to extend or not to extend and for my evaluation) Uri
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.