Author: Uri Blass
Date: 14:28:37 10/24/02
Go up one level in this thread
On October 24, 2002 at 15:37:51, Alessandro Damiani wrote: >On October 24, 2002 at 14:45:57, Uri Blass wrote: > >>On October 24, 2002 at 12:27:29, Alessandro Damiani wrote: >> >>>On October 24, 2002 at 07:09:17, Uri Blass wrote: >>> >>>>How many function do you have in an incremental move generator? >>>> >>>>If I understood correctly programs use >>>> >>>>1)Generatehash(generates nothing if the hash move is illegal or null) >>>>2)Generategoodcaptures >>>>3)Generate killer1(generates nothing if the first killer is illegal) >>>>4)Generate killer2(generates nothing if the second killer is illegal) >>>>5)Generating rest >>>> >>>>I think that 1,3,4 may be the same function because in all of them I need to >>>>check if a move is legal when I have the move(includes the from square the to >>>>square and more information in case of promotion). >>>> >>>> >>>>I first think only to have generatehash and generaterest but generaterest >>>>already means that I have to change my move generator. >>>> >>>>I doubt if generating rest is faster than generating all because I need to check >>>>for every candidate move that it is not a previous move that I already >>>>generated. >>>> >>>>Uri >>> >>>What do you exactly mean by "incremental move generator"? My definition is that >>>one only generates the difference in the move lists between the previous node >>>and the current one. >>> >>>Do you really mean this approach? >>> >>>Alessandro >> >>I am not sure exactly what do you mean. >>Node for me is only a position after moves that I make. >>During generating moves there are not new nodes. >> >>I thought about generating part of the moves. >> >>Today movei has no function to generate part of the >>moves. >> >>I have only generating all the moves and >>even my qsearch does not have generating >>only captures. >> >>I generate all the moves and continue to search >>only captures and also checks in the first plies. >> >>I also use the number of legal moves for >>my evaluation so I need >>at least to count the number of moves in the >>qsearch if I want to have the same program. >> >>I first want to have the same program faster and >>only later to test changes in the algorithm. >> >>I cannot avoid counting the number of legal moves >>at the last plies without changing the evaluation >>because the number of legal moves is used for >>evaluation not only in the leaves. >> >>Uri > >I thought of "parent node" and wrote "previous node". Sorry. > >Ah, ok, by "incremental" you mean "in chunks". That's what (all) bitboarder do, >since it is in the nature of bitboards that captures can be generated at the >minimum cost. > >First of all: did you consider to determine your mobility by attack detection >without counting moves? Yes but I do not do it today. I already have attack information(every time I make a move I update my attack information and it makes generating the legal moves relatively faster) The attack information may be used for evaluation but today it is used only for better order of captures and defining good captures and for some rare extensions but not for evaluation. I know that counting the legal moves is not the best way to evaluate mobility but I get that number immediately after generating the legal moves(I use it because it was easy to do and not because it is best and it is one of the things that is going to be changed in the future). I know that I evaluate the same in the following 2 cases: case 1:position when 2 bishops have 4 squares to move case 2:position when one bishop has 8 squares and another bishop has 0 squares. It is clearly a mistake in the evaluation but inspite of this problem I believe that one of movei's advantages relative to engines of similiar strength is better evaluation of mobility. Note also that using only the last number is a bad idea because the side to move may get unjustified bonus so I need to use also previous number and if the king is in check even previous numbers to get my mobility evaluation but I remember all these numbers in an array so there is no problem to do it. 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.