Author: Dann Corbit
Date: 13:08:09 05/11/02
Go up one level in this thread
On May 11, 2002 at 15:53:33, Russell Reagan wrote: >I've heard people talk about how it matters more which algorithms you use more >than it matters what language you choose or doing little optimizations here and >there. I'm curious if this means that instead of worrying about if "this will >run a little faster if I use a pointer instead of a global variable", they >recommend that I should spend my time worrying about algorithms. > >Well, I'm not really sure how I'm supposed to do this. I mean, as far as I know, >there are alpha-beta and it's cousins, null move, etc. So what exactly am I >supposed to be worrying about? One thing that comes to mind is working on better >move ordering for alpha-beta. Is this an example of what you mean by "working on >using better algorithms"? > >Anyway, if someone could explain this and give some examples of what is meant by >this, I would appreciate it. Algorithms are dominatingly more important. If you have a chess program with a branching factor of 3.5 and I have a chess program with a branching factor of 2.5, then no matter how slow my machine is and how slow my program is, at some slow time control forward, my program will always outsearch yours. Look at this: 2.5^10 = 9536.74 3.5^10 = 275854.74 Your program plus machine combination can be 29 times slower and still search to the same depth... 2.5^20 = 90949470.18 3.5^20 = 76095835015.88 Your program plus machine combination can be 837 times slower and still search to the same depth... Of course, you can't prune away stuff that is important. That's the tricky part. So (in essense) the best chess programs are the smartest searchers. You have to find some way to reduce your effective branching factor.
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.