Author: Pham Minh Tri
Date: 17:53:51 02/11/01
Go up one level in this thread
On February 11, 2001 at 20:10:23, James Swafford wrote: >On February 11, 2001 at 18:20:57, Pham Minh Tri wrote: > >>Hi, >>I know there are three ways to deal with illegal moves (side to move is in check >>after taking those moves): >>1) Generate legal moves only. >>2) Check and cut off illegal moves before taking a move. >>3) Take a move without checking it and let program captures the king in the next >>ply (if it is an illegal move). >> >>I am wondering which one is better (faster). Is there any other way? >>Any comments would be appreciated. >> >>Pham > >Generating only legal moves obviously requires more code, and therefore >takes more time. On the other hand, you don't have to do a post-move test >for a "king attack". > >I think most folks do the latter - just gen "pseudolegal" moves and do a >post-move test for an attacked king. (If you just moved, but your king >is in check, your move was illegal.) > >There may be cases where generating strictly legal moves will save >a bit of time. At one time Bob did this when in check. His reasoning >was that when in check, most moves will be illegal, so using a subroutine >designed specifically for generating check evasions would be more >efficient than generating a lot of illegal moves, cycling through most >of them, and "kicking back a ply" after the post-move test revealed >the move wasn't legal. I assume he still does this, but I'm not sure. > >As usual, there is one way full proof way for you to find out for sure >what works best with your code. :-) > Yes, but your and other comments will help me to save much time. Reading, thinking and asking before coding seem to be the best way in computer chess ;-) >Out of curiousity, what type of move generation are you using? >(i.e. 0x88, bitboards, ...?) I use 0x88 type. First, I generated legal moves only. Now I have just changed to second one and thinking about the third. > >-- >James
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.