Author: Robert Hyatt
Date: 07:45:51 03/06/01
Go up one level in this thread
On March 06, 2001 at 09:51:42, Pham Minh Tri wrote: >On March 06, 2001 at 08:03:21, Severi Salminen wrote: > >>Are you just modifying source codes made by others? I don't like at all the idea >>of free source codes. Even though it might be easier to make a complete working >>chess programm by watching what others have done, it leads to everyone making >>very similar programs. We would see _a lot_ of variety among engines if >>everybody started from scratch. You also would understand things a lot better by >>_not_ watching what others do but by trying things yourself and by making those >>errors. Errors lead to understanding. Of course it is good idea to ask >>information here about different techniques but having complete code available >>is not a good thing in my opinion. >> > >Note that I am still *new* to computer chess. Nobody could re-discover all >knowledge of over 100 years of that field. Therefore, I should learn first and >there is not any course better than updating source codes like Crafty and this >club (and new idea source of computer chess seems be very few, only from them, >doesnt it?). And if I build a new engine from nothing, how many years will it be >as good as present engines? It may take me 10-20 years. I hope I could save many >years by that learning ;-) This is a key point in a common argument. The argument goes something like this: "If you look at other programs, your thought processes become tainted and you will likely make similar design decisions. If you start off on your own, you will have no such preconceived ideas, and as a result, you might find something totally new and different." The argument has merit, but moreso in a very new/virgin field. In computer chess, there are _plenty_ of bad things to try, along with a smattering of good things. If you start off by yourself, yes, you might find something new and novel that hasn't been tried before. But computer chess is relatively well-known and has a large body of existing information about it. If you start off blindly, you are far more likely to waste years on a flawed approach when a quick literature/source code review would show that your approach is doomed to failure before you start it. As the field gets better and better defined over the years, failure to do research will become more and more critical. How long would it take someone to _rediscover_ null-move, for example? Or fractional ply extensions? Or hashing? or all the current crop of evaluation tricks? IE this is why we have universities.. to teach people about what has already been done in a particular field (like chemistry, physics or computer science) so that the mistakes can be avoided and real progress actually happens. > >Actually, I make many mistakes and usually get stuck because of following my own >thinking. When I am stuck for long time or my program performance is still >terrible compare with others, I will find out the reason by seeing closely to >other source codes or post a question here. Sometimes I think I discover a new >thing, then quickly find it was done (and better) in other programs. Some other >ideas still need to be rechecked. > >Last but not least, computer chess is not my job, only hobby. So that I tend to >chose the little quicker and easier way by asking before implement. And reading, >asking, discusing with many people like you in this club make me more relax and >fun. Hope that you all do not feel tired with many my stupid questions (and my >bad English). > >>>>>could be replaced by calling Quiesce function. >>>>> >>>>>I mean the value for ordering could compute simply as following: >>>>> >>>>> value = -Quiesce(tree,-MATE-1,MATE+1,ChangeSide(wtm),INCPLY,1); >>>>> >>>>>(need not call Evaluation and EnPrise functions) >>>>>Could it work with the same result? Do I miss something? >> >>I have not looked at Crafty but i don't see why qsearch should have anything to >>do with root move ordering. Of course it might be better ordering than nothing >>but there are even better ways (I have not tested qsearch, though): order the PV >>move first and then the rest according to node count from previous iteration. It >>seems to work quite well and is very easy to implement. Try out the qsearch and >>report the results here, it would be interesting. Optimal sorting at every node >>is: best move first and then the rest. Somehow we should try to guess what is >>the best move beforehand. > >I have done that way of move ordering but note that Crafty is still 15 times as >fast as mine (with the same search time, I reach the depth of 8, Crafty does the >depth of 10) :-( > >The way of root move ordering of Crafty seems to be very intersting and may be >one of the answers for my slowdown. I love to understand it. > >> >>Severi
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.