Computer Chess Club Archives


Search

Terms

Messages

Subject: Algorithms vs. knowledge - What to do next?

Author: Russell Reagan

Date: 23:11:40 06/03/02


I've always heard, better algorithms will beat the fastest code using a less
efficient algorithm any day (IE MinMax vs. Alpha-Beta). My question is, when do
you stop working on algorithmic type stuff and start working solely on adding
knowledge to your program, and focus solely on the evaluation function? Or is
there a even point at which you stop working on things like search and only
focus on evaluation?

To me, it seems like there is only so much you can do in terms of improving the
searching methods, improving the efficiency of various other functions that are
used often (is square attacked, make move, generate legal moves, etc.). Do you
ever reach a point where the only thing left to significantly improve is the
evaluation function?

If someone could advise a good plan for what to work on, kind of a step by step
thing, I would love to see what others think of this process. Maybe a sort of
"basics" check list, like Alpha-beta, transposition table, null move, etc. I'm
nearing the point at which my engine will be working, and I'm reaching the "what
next?" stage. An example of what I'm thinking is "I've implemented alpha-beta.
What am I supposed to do to improve the alpha-beta algorithm?" Perhaps I'm
misunderstanding what people mean when they talk about "improving algorithms"
instead of "optimizing".

I'm kind of looking for some general advice as to what to do after the engine is
successfully up and running, playing without any major known bugs. Do I take a
step back and work on improving those often used functions, or do I move ahead
and begin implementing new things like null move?

Thanks in advance for all of your comments and advice.

Russell



This page took 0.02 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.