Author: Vincent Diepeveen
Date: 04:13:29 06/04/02
Go up one level in this thread
On June 04, 2002 at 02:26:57, Dann Corbit wrote: >On June 04, 2002 at 02:11:40, Russell Reagan wrote: > >>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? > >Never. > >>Or is >>there a even point at which you stop working on things like search and only >>focus on evaluation? > >Never. Then you'll never get better with an engine. >>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.). > >There is no known hard limit to the search efficiency, other than the search >must visit at least the number of nodes contained in the optimal path. > >>Do you >>ever reach a point where the only thing left to significantly improve is the >>evaluation function? > >Not a chance. You didn't quite follow last so many tournaments? Fritz endgame has been improving. Shredders evaluation is bigtime improved. DIEP's improved. Tiger1 to Tiger2 i only saw a few bugs removed and further work on evaluation (whether that's in this case preprocessing or in the leafeval is not that interesting as well as that there has been done a lot of work here), and the list goes on and on. >> >>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". > >1. Get something working. >2. Add Alpha-Beta (if your first stab was pure mini-max) >3. Add hashing >4. Add null-move >4. Add PVS or go to MTD(f) > >>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? > >You can do things in parallel. When you are bored with search, work on eval. >When you are bored with eval, work on search. A lot of time will be spent >removing bugs.
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.