Author: Gian-Carlo Pascutto
Date: 02:28:46 09/24/01
Go up one level in this thread
On September 24, 2001 at 05:13:13, Adrian Smith wrote: >What methods and ways can you turn a simple searching chess program into a more >competitive program? First thing is to get a decent search. There is quite a bit written on this, and you can look at the public chess engines for good ideas. I think getting a decent search is important because it will avoid you getting tactically crushed every time. You want to look into PVS, aspiration windows (MTD if you feel brave), killers, history heuristic, SEE (or MVV/LVA for starters), check extensions, recapture extensions, singular reply extensions, qsearch futility pruning and lots of other things. Implement what you _understand_ first. You don't need everything if you are getting started. If you have quesions, ask them here. There's lots of people that like to help out beginners. You can test & tune this on WAC, ECM/WAC2. Be sure to also run some quiet positions and check if you're not blowing up the tree or ruining your branching factor on deeper searches. Next thing is the evaluation. A simple piece-square + passed pawns (like Gerbil) is good to get something working. The problem with evaluation is that there are all kinds of thing you would want your program to know and it's harder to know what is most important. For this reason, ICC/FICS are a great testbed. You can let your engine play vs other engines and human players and see where things go wrong. If it are pure tactical busts (should be rare with decent search) you are SOL. If your program missed something, like it didn't understand it's king was in trouble, or it misplayed an endgame, you can take a look at fixing it. I would think that for a simple engine passed pawns and kingsafety are probably the most important. More advanced concepts can come later on. -- GCP
This page took 0.01 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.