Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Test positions.

Author: Don Dailey

Date: 08:36:50 06/28/98

Go up one level in this thread


On June 28, 1998 at 09:51:10, Mark Young wrote:

>On June 28, 1998 at 05:11:12, Amir Ban wrote:
>
>>On June 28, 1998 at 01:57:27, Mark Young wrote:
>>
>>
>>>I would agree. Player A can not get "!" until play B does "?" first. Thinking
>>>about what you and Bob wrote. I wonder just how much more can the programmers
>>>get out of just software improvments. Have we got about all there is to get from
>>>improving ones program. How much more can chess programs improve from just
>>>software?
>>
>>Are you kidding ?
>>
>>We can get as strong as you can imagine from "just software".
>>
>>Amir
>
>So you think it is possible to write a program that runs on a P II 400 that
>could play better then say Garry Kasparov at 40/2 hr.  I hope you are right. I m
>tired of buying hardware. :)

So I believe it is possible to consistantly outplay Kasparov even on a
smaller machine like a 386 or 486.

However doing this is another issue altogether!   If you gave me a
computer with infinite speed I could use it to generate this program!

Since you want the final program to run on small computer, the
technique to use is to generate all possible programs.   You would
want to have 2 constraints:  Program size must be limited to some
reasonable number of bytes and the total instructions executed to
play a move must be limited (otherwise I already have this program!)
I would also add the constraint that it must not generate self
modifying code since this would cause some other problems that are
difficult to analyze.  Of course this last constraint could have the
unpleasant side effect of limiting its strength.

The hardest part of this project would be testing each program.  I
don't want to get into all the particulars, but suffice it to say
that just testing for correctness would be difficult, the obvious
approach of testing all possible chess position has some subproblems
to be solved (like determining if the program is deterministic.)
Since the machine is infinite speed I believe this problem is
solvable but would take some solid engineering.

Testing for program strength will be difficult but I believe keeping
lots of correct versions around and testing them against each other
might work well.   Another problem is testing methodology, since the
programs may be deterministic they will tend to always replay the
same game which will make it harder to measure their strength.
A possible solution to this problem is to generate a few thousand
very short opening sequences for testing and use the infinite speed
computer to verify that they all have the same (and best possible)
game theoretic value.

Of course the opening book could be quite awesome and not have a single
bad move in it but one problem is that their might be moves in it that
barely hold (from the human point of view) and would seem like weak
moves to the human (but ultimately good enough to hold!)   Perhaps
Amir would like this because he recently posted his belief (which
I tend to agree) that encouraging the opponent to commit himself
to an attack is a good way to cause some real problems for him  and
will generate many wins for the computer.   I can imagine how
frustrating it would be to Kasparov to see the computer hold and
sometimes win from positions that appear to be on the verge of
losing!   Hey, isn't that what happened a few times with Deep Blue?

Another approach is to use an omnicient being (God) to create the
best possible small computer program.  If you do not believe in
God or cannot convince him to help you,  then you may have to build
the infinite speed computer first as a useful tool for simulating
God (at least in this small area of expertise!)

A third approach is to write the program yourself.  Perhaps we will
discover some important breakthroughs that make such a program
possible.  I believe the programs have improved substantially over
the years even without considering the hardware improvements but
it is unclear how much, or how much farther this will continue.
I am optimistic and believe new breakthroughs will occur.  But
a whole lot of the improvements have been incremental and are
simply improved engineering so it's unclear.

It could also be that I am just plain wrong.  Perhaps only another
100 to 200 is possible (even with a program written by God) and we
are already relatively close?   If we can improve the very best
programs by 200 points that is pretty good and may be just about
enough to hang with the big boys!  But not on a 386!

- Don



















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.