Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Odd Position

Author: Dan Newman

Date: 19:37:43 01/30/98

Go up one level in this thread


Hi,

Here's what my program Arjuna gets on

8/7p/1p2KPb1/p5k1/P1P5/1P6/8/8 b - - 0 1

  +-----------------+
8 | · · · · · · · · |
7 | · · · · · · · p |
6 | · p · · K P b · |
5 | p · · · · · k · |
4 | P · P · · · · · |
3 | · P · · · · · · |
2 | · · · · · · · · |
1 | · · · · · · · · |
  +-----------------+
    a b c d e f g h
starting score: 2.30
incheck = 0
nmoves = 16
h5 h6 b5 Bh5 Bf7 Be8 Bf5 Be4 Bd3 Bc2
Bb1 Kg4 Kh5 Kh4 Kf4 Kh6
depth   fwnodes     qnodes     time   score   principal variation
  2          76          5     0.00    2.30   h5
  3         506         38     0.00    2.30   h5
  4        3563        931     0.05    2.30   Kh6
  5       14508       1935     0.16    0.00   h5
  6       56794       7546     0.60    0.00   h5
  7      150604      34689     1.37    0.00   h5
  8      429772      64423     3.07    0.00   h5
  9     1449287     220623     9.39    0.00   h5
 10     3639436     796419    25.15    1.00   h5
 11     9724229    1654113    62.61    1.00   h5
 12    17123543    2431558   106.77    3.30   h5
 13    45990846    5330332   262.87    5.30   h5
 14   175230340   21705910  1020.46    5.30   h5

Initially it has h5 because that's the first move in the move list
that doesn't immediately lose material.  Not sure what the Kh6 is
about in the 4 ply search.  At five plies I think it sees the trade
of a bishop for the pawn that's about to promote (B=3.3P). Finally
at 10 plies I imagine white starts throwing away some material
to push black's pawn promotion over the horizon.

Arjuna is rather incomplete.  Currently its eval has only
material (and game theoretical) scores.  It doesn't do three
position repetition or fifty move rule yet nor does it have a
transposition table.  It's doing one extension (check) and it's
also doing null move (hence the fairly low branching factor).
The quiescence search is fairly similar to that in Crafty as it
is trying only winning captures as determined by a SEE and not
looking at checks but simply noting when a king is captured.
I'm also using the SEE in the main search for ordering captures
but I haven't got anything in it yet to order the non-captures.
The search is just a straight forward alpha-beta negamax (I plan
to switch to PVS).  Also, as you can see, I have yet to put in
the PV stuff so that I can get some idea as to what's going on.

Anyway, because Arjuna lacks any pawn extensions I'm pretty sure it
really doesn't see h5 as being worth much until at least the 9
ply search--h5 just happens to be ordered early in the move list
and isn't any worse than the other moves.

As to what heuristics to use, I don't know. Certainly an
extension for pawn on the 7th might get something a ply earlier.
When a human looks at such a position, he immediately sees the
possibility of black promoting that pawn, and that white can't
get at it with his king.  He also sees the loss of the bishop to
prevent the white pawn promotion (the losing of which takes
potentially valuable tempo away from white). The position also
divides into two halves (left and right) which while not entirely
independent can at least be partially analyzed in an independent
way.  A human can just count the number of moves it will take
black to get a queen and the number that white takes to do the
same with the cluster of pawns on the left to see that white
loses this race.  A program that knows how to do this might have
the right heuristic.

A transposition table might help here as it will tend to help
decouple these two regions a bit.  That is when chunks of the
board have isolated non-interacting regions there are likely
to be quite a few transpositions reached in a full width search.
This will help it get to the depth where it actually sees
something more quickly.

-Dan.



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.