Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Design choices in Crafty

Author: Ed Trice

Date: 18:16:19 06/23/04

Go up one level in this thread



>
>Let's say I write my program, and I ignore optimization issues early on. The
>program is now operational, and now I start to work on optimizations. I profile
>it, hunt down hot spots, and get to the point where there are no obvious
>bottlenecks. The program is still ten times slower than Crafty. Now what? I am
>saddled with a poor overall design, and nothing short of a complete rewrite is
>going to improve the situation.
>

You should read Dr. Jonathan Schaeffer's book, One Jump Ahead, about the Chinook
World Champion computer checkers program.

Dr. Schaeffer (who always politely insists on being called Jonathan) jokingly
refers to what you are describing as "the optimization game."

In most instances, optimizations are "spur of the moment" ideas that "should
produce faster, better code", when, in reality, more times that not, we
introduce undesired effect that are insidiously masked by the very nature of the
alpha-beta routine.

What one learns from the first piece of artificial intelligence software that
you write is basically how NOT to write a piece of artificilal intelligence
software.

The things you mentioned, bad performance or just overall poor moves, are a
necessary evil: you have to learn how to make your software learn.

At some point in time, I believe all teams throw in the towel and start on a
re-write of major proportions.




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.