Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess program improvement project (copy at Winboard::Programming)

Author: Stuart Cracraft

Date: 16:10:19 03/07/06

Go up one level in this thread


On March 07, 2006 at 13:58:48, Dann Corbit wrote:

>On March 07, 2006 at 04:39:52, Uri Blass wrote:
>
>>On March 07, 2006 at 03:47:06, Dann Corbit wrote:
>>
>>>On March 07, 2006 at 03:02:17, Uri Blass wrote:
>>>
>>>>On March 07, 2006 at 00:46:27, Dann Corbit wrote:
>>>>
>>>>>On March 07, 2006 at 00:41:55, Dann Corbit wrote:
>>>>>
>>>>>>On March 07, 2006 at 00:34:48, Stuart Cracraft wrote:
>>>>>>
>>>>>>>On March 07, 2006 at 00:31:45, Dann Corbit wrote:
>>>>>>>
>>>>>>>>On March 07, 2006 at 00:27:43, Stuart Cracraft wrote:
>>>>>>>>[snip]
>>>>>>>>>Very interesting indeed. A clever test.
>>>>>>>>>
>>>>>>>>>If one's results do not rotate approximately as described
>>>>>>>>>for the four positions and you say the evaluation is an
>>>>>>>>>issue, what kinds of evaluation issues have you seen that
>>>>>>>>>could explain it?!?
>>>>>>>>
>>>>>>>>The most common thing that I see is something that is good for white being
>>>>>>>>counted as positive for black also on the evaluation.  Often, when we are
>>>>>>>>writing the eval, we are thinking from the perspective of white. And so if we
>>>>>>>>are not very careful, we may invert the sign of some evaluation component and
>>>>>>>>count something that is good for white as something that is good for black (or
>>>>>>>>vice versa, though the reverse is seen less often for some reason).
>>>>>>>>
>>>>>>>>There are, of course, many other possible causes besides that.
>>>>>>>
>>>>>>>A good point. I try to avoid that by always doing things from the
>>>>>>>side on move, almost always. There are a few in there however with
>>>>>>>respect to white and black specifically, but they are then folded
>>>>>>>together with the stm variable and stm^1 which translate to white/black
>>>>>>>or black/white depending on who's on move. I could try this: rerun
>>>>>>>your rotation test with successively less in the evaluation table
>>>>>>>until nothing but material and see what happens.
>>>>>>
>>>>>>Right.  If you have divided off the eval components, you could binary search
>>>>>>until you find the problem component.
>>>>>>
>>>>>>Now, we do not know for sure that it is an eval sign problem.  However, the fact
>>>>>>that the records are similar in pairs makes it very suspicious.
>>>>>
>>>>>I guess that when you have gotten your eval symmetrical, you will miss less than
>>>>>ten problems on WAC.
>>>>
>>>>I think that you are wrong here.
>>>>Stuart may have evaluation bugs but his main problem is the search.
>>>
>>>I think it likely that it is both.
>>>
>>>Given:
>>>5rk1/2p4p/2p4r/3P4/4p1b1/1Q2NqPp/PP3P1K/R4R2 b - - bm Qg2+; id "-rotXTDa.1";
>>>1kr5/p4p2/r4p2/4P3/1b1p4/pPqN2Q1/K1P3PP/2R4R b - - bm Qb2+; id "-rotXTDg.1";
>>>r4r2/pp3p1k/1q2nQpP/4P1B1/3p4/2P4R/2P4P/5RK1 w - - bm Qg7+; id "-rotXTDc.8";
>>>2r4r/k1p3pp/PpQn2q1/1B1P4/4p3/R4P2/P4P2/1KR5 w - - bm Qb7+; id "-rotXTDe.8";
>>>
>>>When I changed to material only eval, here is the result:
>>>
>>>st 5
>>>ts
>>>position file? [wac.epd] rot.epd
>>># of test positions to test? 4
>>>maxtime = 500
>>>Interrupt current ply and return move at timeout
>>>Testsuite: rot.epd 4 positions
>>>*** Problem   Solution(s): Qg2+ (bm)
>>>[D] 5rk1/2p4p/2p4r/3P4/4p1b1/1Q2NqPp/PP3P1K/R4R2 b - - bm Qg2+
>>>*** Problem   Solution(s): Qg2+ (bm)
>>>-- ** -- ** -- BR BK **
>>>** -- BP -- ** -- ** BP
>>>-- ** BP ** -- ** -- BR
>>>** -- ** WP ** -- ** --
>>>-- ** -- ** BP ** BB **
>>>** WQ ** -- WN BQ WP BP
>>>WP WP -- ** -- WP -- WK
>>>WR -- ** -- ** WR ** --
>>>mv 1 stage 0, black to move, computer plays black
>>>hash=62305c813f5fad4
>>>pawnhash=3da7edf6c1ba87ea
>>>0 0 0 0 0 0
>>>Alpha=-400 Beta=400 Maxdepth=9999999 MaxTime=500 xboard=1
>>>Ply Score Time  Nodes PV
>>>1.  40     3 12 c6d5 e3d5
>>>1.  900     5 74 f3g2 e3g2
>>
>>Qg2+ is a sacrifice so it is not logical so if the computer choose it at depth 1
>>then it means that there is a serious bug.
>
>It may find the result by quiesce().
>
>I think you are probably right about search problems also.
>
>However, having errant terms in his eval, and having search stability problems,
>and yet still solving 3/4 of WAC, I suspect he will make rapid progress once he
>irons out some simple details.

That is hopeful, but...

Unfortunately, these issues have cost me a substantial fraction of
my life and I need to move to the next phase in the development but
will sit on this issue until I get some sort of reasonable forward
movement.

While I am willing to pay significant money directly for consultation that
produces a significant forward advance, I thought the idea of contributing to
the board more palatable since I wouldn't know which volunteer (if any) to pick.
Besides it's cheaper.

I should recreate Bob's evtest/flip/flop that can be used for any
position to check and compare the evaluations of any given EPD suite
and then run it on WAC itself. A further version could narrow it down
to the function and then the term within the function.

That is something that does not require a lot of understanding or new
kind of thinking on my part to get to somewhere useful. I'm not tired
of thinking, just tired of banging my head against a wall.

My goal is simply to get a reasonable tactictian before the next phase
which I doubt will be as hard.

Stuart



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.