Author: Uri Blass
Date: 06:54:02 03/19/03
Go up one level in this thread
On March 19, 2003 at 09:29:04, Matthias Gemuh wrote: >On March 19, 2003 at 08:28:02, Ricardo Gibert wrote: > >>On March 19, 2003 at 06:33:01, Matthias Gemuh wrote: >> >>>I decided to stop chess programming but even the latest version of my program >>>sucks. How can I quit in peace? >>>It calculates this attack information (bitboards of attackers to 64 squares) >>> BITBOARD AttacksTo[64] >>>from scratch at each node. I tried to do this incremementally and it quickly got >>>messy and buggy because of sliding pieces, castle, en passant. >>>How do you attack attack boards (even the conventional type)? >>> >>>/Matthias. >> >> >>Let me share a couple of observations I have made concerning the development of >>amateur chess programs. >> >>The 1st big mistake I see repeatedly is being in too much of a rush make their >>programs strong by adding "fancy stuff." A very simple program can be fairly >>strong (> 2200 elo). You just need to get the fundamental things to work right >>*first*. Gerbil is a good example of what is possible with a reasonably simple >>program (about 2400 ICC rating). Don't layer the "fancy stuff" on top of the >>incorrectly implemented fundamental stuff. > > >Hi Ricardo, >I, indeed, do layer "fancy stuff" on junk :). >That explains why my prog scores a miserable 260/300 WAC at 5sec/pos on 1.8GHz. >BTW, my prog (BigLion) is at least 5 times slower than Gerbil, but equal in >strength at 1 minute/move. >If I should ever come back to chess programming, I think I would follow your >instructions. I just want to correct my fancy stuff now (my evaluation function >depends heavily on it). >Thanks, >Matthias. Did you try to spend time to search for the reason that your program is so weak in WAC? If you find a position that other programs are more than 100 times faster than biglion then it may tell you about bugs in your program. Movei solved 276 position on WAC in 1 second on 1GHz so I do not believe that lack of speed is the only problem of biglion. I do not think that speed optimization are bad idea. speed optimization can also tell you about bugs in your program. If you do something that should do the same thing faster and it does not do the same thing faster then you can discover that the bug is in your program and not in the speed optimization. I discovered some minutes ago a bug in latest movei and it seems that the making a move and undoing a move can change the evaluation of a position(the change was very small and was only 0.05 pawns but I will investigate the problem). I tried to do my program faster by avoiding some makemove that I am sure that I am going to prune later as illogical but in order to check if I have no bugs I decided instead of making the move to have nodes++ with no move to see if I get the same number of nodes. I found that I did not get the same number of nodes and the reason was that avoiding make,unmake move changed the evaluation after 5377435 nodes by 0.05 pawns and changed pruning decision(I still do not know the reason at this point). 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.