Author: Tord Romstad
Date: 09:32:55 02/15/04
Go up one level in this thread
On February 14, 2004 at 13:16:15, Christophe Theron wrote: >What I have always tried to do is to hide the details of what's inside Chess >Tiger (in order to protect my work a little bit) but still explain what my >methodology (or work philosophy) was (in order to somehow give back to the >community). > >I think it's important to have strong guidelines in your work. Some of them come >from your knowledge of information processing in general (be careful not to >create bugs, don't waste resources, never trust Microsoft...), and some of them >are specific to the domain of chess programming and took me years to figure out. >For example: >* don't compute something in advance if you are not sure you will use it, >because chances are that you will get a cutoff before you need it (remember it's >just a guideline - sometimes you can break this rule). >* you need a very accurate way of measuring progress, or you will not make >progress at all. Yes. Measuring progress is the biggest problem of all, once your engine has reached a certain level. I am very frustrated and confused about the strength of my latest development versions right now. I have three different versions, and version A beats version B, version B beats version C, and version C beats version A. In all cases, the winning margins are clearly statistically significant. I have no idea which version is the strongest, of course. >* Any change can make your program significantly weaker. You need to test your >changes (with the method you have built) very often. >* People believe that chess is about evaluation, but actually it's all about >search (I'm trying very hard to break this rule, because it must be wrong from a >mathematical point of view, but it's really difficult). Here I agree with Martin. The evaluation function is my main tool for shaping the tree, and improving the eval usually also improves the speed and accuracy of the search. >* ... > >And the last one, maybe the most important: >* It's very unwise to believe that I have understood the essence of chess >programming. Therefore, all I know about this domain can be wrong, including the >above guidelines (but not this one)! Definitely. >What you say about my posts being vague is interesting. If I told you what I do >in Chess Tiger: >1) over the years, maybe all you would create is a Tiger clone. >2) where would be the fun for you? >3) how would you get a chance to invent new ideas and to push the limits of our >field if you were busy implementing my ideas? > >I see many people busy studying the Crafty source code and spending a lot of >time improving the speed of their bitboard stuff. I think they are wrong and >they will go nowhere. I think so, too. Personally, I conciously try to make my engine as different from Crafty as possible. Bob is a much better programmer than me, and if I tried to copy his ideas I would just end up with a very inferior version of Crafty. The only way for me to create a reasonably strong engine is to do something entirely different. >Computer chess needs a revolution. Chess programs at this time are just big >calculators (mine included). It works, but it is so different from the way human >players think that there must be a much better way. > >The wheel needs to be reinvented. Fascinating stuff. I agree about most of what you write, but at the moment I don't have any clear idea about how to reinvent the wheel. Tord
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.