Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Junior's long lines: more data about this....

Author: Christophe Theron

Date: 22:03:04 12/27/97

Go up one level in this thread



On December 26, 1997 at 16:25:57, Don Dailey wrote:

>On December 26, 1997 at 14:27:44, Christophe Theron wrote:
>
>>
>>On December 26, 1997 at 12:26:23, Don Dailey wrote:
>>
>>>Perhaps they are doing heavy pruning on the computers moves?  If you
>>>modify the selectivity such that much heavier pruning takes place
>>>on the computers side you might arrarnge extra depth that results in
>>>play that is safe but not opportunistic for the computer.
>>>
>>>I remember Richard Langs programs USED to have the characteristic
>>>that they would see anything you could do to them.   In some experiments
>>>me and Larry Kaufman did,  it would quickly see that you could win
>>>a piece and avoid the loss.   But if you forced the piece losing move
>>>and let it think for the winning side, it could not find the win without
>>>a very long think!   Very strange.  But this was the best program in the
>>>world and pehaps still is.
>>>
>>>But this makes some sense to me.  I don't think a single chess game has
>>>ever been won without an error on the losing side.   If your program
>>>NEVER made an error (you wish!) it would never lose (unless of course
>>>the opening position is a loss for one side or the other.)
>>
>>I have tried recently to modify Tiger this way. First, I changed the
>>time allocation policy to allow the program to play only when the last
>>move in the main line was a computer's move. This allows the program to
>>detect more deep threats. Second, I made a more agressive selection on
>>Tiger's move. So he could miss a combination for him, but wouldn't miss
>>an opponent' s combination.
>>
>>In average, this new version shows deeper lines (1 ply more).
>>
>>I let the program run a long self play against the previous version
>>(exactly the same program except for the two above changes). The rate of
>>play was 5mn/game on a P100, 4Mb hash.
>>
>>Result: no improvement at all. The score was very close to 50%.
>>
>>In addition, the new version performs poorly on combination tests.
>>
>>I've made several others tests with differents changes, trying to prove
>>the idea was good, but I didn't succeed.
>>
>>Still I believe that the idea of being very cautious and conservative
>>has some value. I think I didn't catch the right way to do it.
>>
>>
>>    Christophe
>
>Hi Christophe,
>
>This reminds me so much of my experiments (but not the same issue of
>playing it safe.)    I will try an interesting idea, self-test the hell
>out of it and almost always end up very close to 50-50 (but often
>on the low side!)  I have been through this cycle a million times!
>But once in a while, BINGO!
>
>And I always come away with the feeling that perhaps I didn't implement
>it quite right!
>
>
>-- Don

Yes. Self-test is a strange thing. I do it since 1 month, and discovered
you have to take the results with care.

The first experiments I did were self-test program A against A (that is
EXACTLY the same program playing both sides). I use a set of predefined
openings, each program playing white, then black in each opening. 10
openings give 20 games for example.

What a surprise: self-playing a program against itself in these
conditions almost never gives the expected 50% result!

What should have been a simple procedure then becomes a nightmare.

First of all, why doesn't the match end in a 50% result??? Answer:
because of timing errors. I use the PC internal timer to measure the
thinking time, and the clock precision is 1/18.2 second (roughly). A
search beginning right after a clock tick is different from the same
search started just BEFORE a clock tick, the difference being the
measured time. So a chess engine could sometimes decide to continue a
search, and sometimes decide to stop it, randomly...

Second point: OK, I understand why the result is not exactly 50%. But
shouldn't it be close to 50%? And how close? Answer: make several
matches between exactly the same programs, and write down the minimum
and maximum score you get.

Ok, good idea. Let's try... Well the results range from 39% to 58% when
I do 20 games matches. When I try 24 games matches, I get 46%-56%

In order to stop the nightmare, I now do 28 games matches (14 openings),
and decide the result is significant if it is below or equal to 40%, or
above or equal to 60%.

The problem is that a change has to be quite good to win a match by 60%
or more! If it is a slight improvement, chances are you never notice it
by self-play! But I don't know any better way, because I still want my
self-test sessions to be reasonnably short enough to be able to test
many ideas. A 28 games match at blitz rate usually takes more than 4
hours. So in 1 day, I can only make 3 tests... I use a P100 computer to
do self-test 24h/day, and a K5-100 computer to program. I use self-test
to verify tactical ideas only. I didn't try yet to test positional
evaluation changes, and I'm afraid to see what could happen in that
case.

Last information: run self-test only under DOS (a great advantage of the
DOS programs), because under Windows the error rate in the match result
induced by timing errors is far bigger than 10%!

I would be pleased to read funny self-test stories from all the other
programmers too!


    Christophe



This page took 0.02 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.