Author: Marc van Hal
Date: 04:21:02 04/06/02
Go up one level in this thread
On April 06, 2002 at 04:04:29, Otello Gnaramori wrote: >On April 06, 2002 at 01:52:18, Russell Reagan wrote: > >>I was sitting around the house tonight thinking about computer chess, as often >>happens, and I began to think about why certain programs are better than others. >>I began by thinking that most programs use *basically* the same algorithms, with >>their own small tweaks here and there. So on equal hardware, some programs might >>get a few extra NPS here and there, but it doesn't seem like one program would >>be able to gain a significant advantage over another strong program from out >>searching it. I would guess that everyone uses some form of alpha-beta or >>"enhanced" alpha-beta like PVS, null move, transposition table, and so on...all >>the basics that anyone with a strong program knows about. >> >>So we all know the basic algorithms and hueristics, and yet we still have wide >>ranges in program strength. >> >>This led me to ponder three possible reasons for this, which I will present in >>the form of questions to you. >> >>Do the top programs make use of some methods that the general computer chess >>hobbyist does not know about? Any "secrets", or any significant improvements >>upon a well known technique? > >Yes, of course...and they are well guarded secret and they are results from >years of research as e.g. Christophe told us once in a thread here. > >>Secondly, what is the margin of difference that actually makes a difference? For >>example, if program A is optimized to the hilt, gaining a few thousand NPS over >>program B (or even more), is that really worth anything in terms of playing >>strength? Maybe a +0.05 pawns for program A or some equally trivial "advantage", >>or is it? Basically, how much better/faster/deeper does the program have to >>search to gain a realistic advantage over another program? Small advantages in >>speed due to one program being more optimized than another, IMO, would not be >>enough to make one program significantly stronger than another. Maybe a half a >>point out of many many games. But then again others here would probably know >>better than I, so speak up :) > >I think that NPS is important but not prevailing in strength considerations, >more important IMHO are the search algorithm and evals. > >> >>Last, and possibly the most obvious of my possible reasons for this, is to >>wonder if the strength differences in programs lie in the most mysterious part >>of any chess program, the evaluation function. This seems to be the area where >>there is little or no standardization of algorithms, and also the area allowing >>for the most creativity. So do we have a winner...the evaluation function? >> > >Not only the eval , but surely also. >I'd consider very much the selective search and forward pruning techniques. > >>Still on the topic of the evaluation function, there are two possible reasons >>for evaluation functions causing differences in playing strength. As I see it, >>you could have a better evaluation function, leading to a stronger program. >>that's option one. Option two, you could have very similar evaluation functions, >>but one is highly optimized and executes much faster than another, leading to a >>stronger program. >> >>And of course, if anyone else has any other ideas I'd love to hear them. I don't >>ask for any specifics from anyone if you've got some "secret" method that makes >>your program significantly stronger (but you are more than welcome to tell us >>;), but I'd be very interested in learning that there are more secrets out there >>to be discovered. >> >>Seems like an interesting topic to me. Perhaps determining the key point in this >>large battleground we fight upon is the key that determines a world class >>commercial program from a good amateur program. > >Sorry Russell, but that secrets are "trade secret" , don't think you can obtain >that advanced infos here :) > >w.b.r. >Otello > >> >>Russell There is much gain in evaluation. But what is evaluation precisly? your program builds it up from the settings you gave for Kingsafety pawnstructure, pieces,pins,mobilety,selective search,inserted knowledge and piece table bases and so on. Though I am not a programer this is what I know from personelty creatings. I only don't know how a program is programed to find out where it al stands for Most epd's are still solved with piece table bases and not on search technics The most strenght is to gain in looking good at your program's good and bad points . Then you increase the valeu of the weak points If you use null move methode selective search is even of more importance then with normal search. if it is set to low for instance it will play null moves at a moment it rather should not. Also the selectivety of nulmoves is important. To find the best posible settings for a program is always a mather of much work. The better it gets the more dificult it becomes. Still i think comercial program still are far from these perfect settings and the most gain is to be hold out of inserting more positional knowledge. And where I am pointing especialy at is knowledge about pawn structures. secondly is to find away where it rather builds up the attack then execute it at once Mostlikely with changing the valeu of capture. Though again I am not a programmer but it might be help full. Regards Marc
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.