Computer Chess Club Archives


Search

Terms

Messages

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

Author: Matthew Hull

Date: 08:33:48 06/03/04

Go up one level in this thread


On June 03, 2004 at 11:19:18, Robert Hyatt wrote:

>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...
>
>



How long would you suggest to leave a particular crafty version "alone"?  In
other words, when should the learning files be cleared?  If the version is not
upgraded, and the hardware is not upgraded, and the machine is on a server
playing automatically, do the learning files require any
maintenance/re-setting?





>
>
>>
>>>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.