Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Thinker 4.6b third after 1st round!

Author: Robert Hyatt

Date: 08:19:18 06/03/04

Go up one level in this thread


On June 03, 2004 at 06:29:23, Vasik Rajlich wrote:

>On June 02, 2004 at 22:16:20, Robert Hyatt wrote:
>
>>On June 02, 2004 at 18:18:30, Vasik Rajlich wrote:
>>
>>>On June 02, 2004 at 16:24:19, Dan Honeycutt wrote:
>>>
>>>>On June 02, 2004 at 14:59:34, Robert Hyatt wrote:
>>>>
>>>>>On June 02, 2004 at 14:08:44, Dan Honeycutt wrote:
>>>>>
>>>>>>On June 02, 2004 at 12:23:29, Robert Hyatt wrote:
>>>>>>
>>>>>>>On June 02, 2004 at 06:48:03, Vasik Rajlich wrote:
>>>>>>>
>>>>>>[snip]
>>>>>>
>>>>>>>>frosting on the cake.
>>>>>>>>
>>>>>>>>For an amateur engine though, it's just a distraction. We have enough of those
>>>>>>>>as it is. The various zero-cost solutions are totally sufficient.
>>>>>>>
>>>>>>>
>>>>>>>What is a "zero cost solution" to the book problem?  I've been working on a
>>>>>>>chess program since 1968.  I have _never_ found a "zero cost solution" to the
>>>>>>>book problem.  My current effort is the closest there can be, because once I
>>>>>>>wrote the code (which did not take months of effort by the way) it began to
>>>>>>>manage its own book, freeing me from that responsibility.  Net gain in
>>>>>>>productivity was very large.  If you don't learn, you either hand-tune or get
>>>>>>>killed.  The former is a huge time drain, the latter is unpleasant. :)
>>>>>>>
>>>>>>>I have published a paper in the JICCA explaining _exactly_ how I did learning.
>>>>>>>So you don't have to start from scratch, which I did.  And even from scratch it
>>>>>>>was hardly a huge effort.  The complete learning code in crafty, book and
>>>>>>>position, importing, exporting, everything is 1200 lines of C with plenty of
>>>>>>>comments.  It isn't _that_ hard to do...
>>>>>>>
>>>>>>>I'm sure that if I could do it, anyone could do it...
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>>Just my 2 cents of course ...
>>>>>>>>
>>>>>>>>Vas
>>>>>>
>>>>>>I think Vas was talking to me, not you.  A (near) zero-cost solution is to get a
>>>>>>collection of high quality games, grind those into a book and let the engine
>>>>>>play move so-and-so the same percent of the time as played in the games
>>>>>>collection.  Your engine prefers 1 d4 over 1 e4.  Mine has too little experience
>>>>>>to know what it prefers.
>>>>>>
>>>>>>Dan H.
>>>>>
>>>
>>>The simplest solution is to let the GUI handle the opening. This provides an
>>>easy graphical environment for manual tuning, control over compilation criteria,
>>>controllable learning heuristics, etc.
>>
>>That would not be a bad idea, but it is _way_ too late.  IE the "crafty" text
>>engine does _everything_ by itself.  Because in real tournaments (like the WCCC
>>and so forth) I prefer to operate in a console window and type in commands and
>>moves.  IE Xboard/Winboard don't have an easy way to adjust the time, or specify
>>tournament-type (non increment but with a secondary time control, sudden death,
>>etc) while crafty supports those just fine.
>>
>
>I suppose crafty is a sort of special case, you already have all of this stuff,
>maybe back from days when GUIs weren't very good. The big benefit you get from
>your work is platform independence. An additional benefit is that you're not
>stuck if the GUI won't do something that you would like.
>
>I see letting the GUI handle this stuff as a zero-cost, 95% effective, solution.

Crafty was started late in 1994 right after the last ACM computer chess event
that was held that year.  At that point there were no general-purpose GUIs
available other than the very simple (at the time) xboard protocol GUI for unix
and windows...

There's certainly a lot to be said for removing the book stuff from the engine,
and moving it to another software module which could be the GUI or even
something separate from the GUI and engine.  But the problem with that is that
there is plenty of research left to do with respect to the opening book and
opening move selection, including learning.  Using a generic black box removes
any control you might be able to exert when you write the code yourself...


>
>>
>>>
>>>Bob, IIRC the crafty .exe has a built in interface, which can be used to play
>>>games, etc. Without this, a built-in opening book would be really tough to
>>>maintain & inspect. You should really include the code for this when talking
>>>about the size of your book & learning algs.
>>>
>>>Vas
>>
>>I'm not sure what you mean.  The source file "book.c" contains all the chess
>>book stuff, accessing it, building it, etc.  The source file "learn.c" contains
>>all the learning stuff.  The text GUI is really main.c + option.c...
>>
>
>If you did arrange for a human to tune your book, could he do it from inside
>crafty while having some sort of semi-useful tools (ie looking at the position,
>getting Crafty's eval, etc)? You get this in the Chessbas GUI, and also to some
>extent in Arena and Chess Assistant.

No, because Crafty was designed for very minimal human intervention in the
opening book move selection.  As that was a goal from the beginning.  I later
added the small books.bin/bookc.bin that I had in Cray Blitz, because several
users wanted to be able to exert some control on what openings were played...




>
>>I rarely talk about "sizes" other than when I mentioned the 1200 lines of code
>>necessary to implement all the learning stuff I currently do...
>>
>>
>>
>>
>>
>>>
>>>>>
>>>>>trust me, that will _not_ work.  All of us using automatically-generated books
>>>>>have tried that, and found it _severely_ wanting.  What happens when move X is
>>>>>played in thousands of games, until someone busts the line with new analysis.
>>>>>You lose that game every time you play it.  That's a killer.
>>>>
>>>>For Crafty, playing in basement tournaments and around the internet, hundreds of
>>>>games a day - yes.  For me, playing maybe a dozen tournament games a day, it's
>>>>an extra loss or two a week.
>>>>
>>>>>
>>>>>Learning solves it cleanly.  The better your initial book, the better your
>>>>>program will perform, but learning _still_ cleans up all the things that the
>>>>>book screws up for one reason or another.
>>>>
>>>>I don't disagree.  My book is popularity based but it's structured so I can
>>>>alter weights - by learning, hand tuning or whatever.  It's just that I have
>>>>other things I feel need work worse.  One day I'll get around to worrying about
>>>>my bad book lines.
>>>>
>>>>Dan H.



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.