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.