Author: martin fierz
Date: 11:04:33 02/15/04
Go up one level in this thread
On February 15, 2004 at 12:32:55, Tord Romstad wrote: >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. i don't agree with you on this. my program is currently also awfully slow and very inferior to crafty. but i draw a different conclusion, or maybe better said: i already decided on this when i started writing my program last summer: i believe that if i am incapable of writing a decent "standard chess program", then i will also be incapable of writing a great non-standard program. therefore, my primary goal at the moment is to write a decent standard program. i am using all those well-known techniques that are around in computer chess, and i have practically zero original ideas in muse. if it ever gets as good as i hope, i will start experimenting with my own ideas. for the moment, i have enough to work on with improving the evaluation and searching for speed... i believe that even if there is some great new idea to be found, it can never hurt to have a good evaluation, or a fast overall program. these things will always be helpful IMO, whether or not you find great new pruning ideas or not. cheers martin > >>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.