Author: Robert Hyatt
Date: 04:47:55 04/27/00
Go up one level in this thread
On April 27, 2000 at 03:41:08, Aaron Tay wrote: >On April 26, 2000 at 07:59:09, Robert Hyatt wrote: > >>On April 26, 2000 at 05:09:26, Graham Laight wrote: >> >>>On April 25, 2000 at 18:13:32, Robert Hyatt wrote: >>> >>>>On April 25, 2000 at 08:16:11, Jerry Adams wrote: >>>> >>>>> >>>>> I'm assuming that since there are only a dozen programs currently rated over >>>>>2400+ that it must be extremely difficult to program a IM/GM level program. >>>>>Does this effort require Above Average ability in programming? If so Why is it >>>>>so difficult? Is it just as difficult to becomne a 2400+ programmer as it is to >>>>>become a Grandmaster? These Questions are asked out of curiosity. I think one >>>>>tends to appreciate these super programms more when you understand the work >>>>>which is behind it. >>>> >>>> >>>>You need the following: >>>> >>>>persistence. If you give up easily, this isn't the right thing to undertake. >>>>It takes time, effort, you will make many mistakes and false-starts, and get >>>>discouraged. >>>> >>>>reasonable chess skill. If you don't understand a backward pawn, or a weak >>>>square complex, or a pawn majority, or whatever, then your program can't >>>>possibly understand them easily. It might be a symbiotic process, as I am >>>>sure that my chess skill (at least the positional understanding part) has >>>>gotten way better over the years. >>>> >>>>reasonable programming skill. You don't have to be a 'superstar'. Although >>>>chess programming might eventually turn you into one, over time. >>>> >>>>I think most anybody _can_ do it. But not very many _will_ do it. >>> >>>There are many people out there who would like to create their own chess >>>program, and I believe there's an opportunity for someone to sell a toolkit to >>>create such a program (just as there's money to be made making car kits, clock >>>kits, etc). >>> >>>I'm talking here, btw, about a kit that makes it quick and easy to make a >>>program. >>> >>>In 1997, I proposed an idea for how this could work: very briefly, I proposed >>>the creation of a set of components for making an evaluation function from. Then >>>I proposed a database of chess positions which the user could create themselves. >>>Then, for each chess position, the user would be able to create an evaluation >>>function (wha is important to look at varies from position to position). In >>>play, when evaluating a node, the program would select the position from the >>>database which most closely matches the current node, and would use the >>>evaluation function to assess the position. >>> >>>Possibly not the perfect way to play the best chess - but conceptually an easy >>>thing for people to understand! I'm frankly a little disappointed that nobody >>>has taken up this idea. >>> >>>-g >> >> >>The idea is good. The problem with it is the same old "time" issue. I can >>think of exceptions (Steven Edwards distributed his endgame database code, >>his "EPD kit", and so forth, which took a lot of time to modify, test and >>debug) but they are rare. The issue is always "do I want to take what I have >>done and make it into a box of tinker-toys that can be plugged together or not, >>on a whim? Or do I want to make my engine stronger?" For most people, the >>latter question is more important. But a few volunteers could certainly take >>a couple of freeware programs, and encapsulate the critical functions, so you >>could pick and choose between bitmaps and 0x88, between different evals, >>different search strategies, etc... > > >Speaking as one of those people who have no programming skills what so ever, but >who is interested in a general way how chess programs work, I would be very >interested.. > >In fact, Chessmaster which has a simple personalitie setup generates quite a lot >of psots here about finding new stronger setups..What you sugguest, would be >much better and allow even more control.. > >Though I don't understand fully what you sugguest, what you wrote about choosing >and creating a evalution function sounds very interesting.. > > >Who knows, a Super GM , with no programming skills might actually be able to >tune out a good program by teaching the program what to look out for in various >positions.. > >One thought, though such a chess program toolkit would have debates like "When >is a program altered enough to be considered mine.." to come up even more >strongly.. > >Anyone game to do it? This might be even more exciting than another semi-strong >chess engine coming along in the already crowded field.. What you are discussing goes way beyond my idea. IE it is one thing to take several chess components and either (a) rewrite them to have a standard API for each function, or (b) encapsulate them in a wrapper that gives them a standard external API. But to go further and allow easy additions/deletions for an evaluation function would be a much bigger challenge. So that maybe you could add this passed pawn evaluation, that weak pawn evaluation, those king safety algorithms, etc... This almost sounds like (future prediction) "Microsoft visual chess programming studio". :)
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.