Computer Chess Club Archives


Search

Terms

Messages

Subject: Strange behaviour of my new engine

Author: Steffen Basting

Date: 06:29:20 08/01/04


Hi!

After a short chess programming break, I decided to write a new chess engine.
It currently includes:
* Alphabeta / PVS
* Nullmove heuristic (R=3)
* Check / recapture extension
* Hashtable (always replace-scheme), but only used for move-ordering
* MVV/LVA move ordering, with following stages:
  - hash move
  - killer move (2 killers per ply)
  - capturing pieces (undefended), highest MVV/LVA ratio
  - capturing pieces (even captures)
  - quiet moves (sorted by history heuristic)
  - capturing pieces (defended by a less valuable defender)


Everything seems to work ok (stability), but in some positions, often quiet
ones, it doesn't get a reasonable depth in a reasonable time.

However, when it has got a "plan", it does ok:

2krr3/2pb2pp/1p1p1p2/p2P4/P1P2PP1/1P2R2P/3B4/2KR4 w - - 0 1

time    depth   nodes   value
0.00s   1=      68      -16     c1b1
0.00s   2=      279     -16     c1b1 e8e3
0.01s   3=      2839    -38     d1e1 e8e3 d2e3
0.01s   4=      7242    -7      d1e1 e8e3 d2e3 d8e8 f4f5
0.03s   5=      15231   -16     d1e1 e8e3 d2e3 d8e8 c1c2 e8e7
0.20s   6=      128815  -13     c1b2 e8e3 d2e3 h7h5 f4f5 h5g4 h3g4 d8h8
0.32s   7=      211419  1       d1e1 e8e3 e1e3 h7h5 g4h5 d8e8 e3g3 e8e7
0.41s   8=      282284  1       d1e1 e8e3 e1e3 h7h5 g4h5 d8e8 e3g3 e8e7
0.89s   9=      644743  9       d1e1 h7h5 e3e8 d8e8 e1e8 d7e8 c1c2 e8d7 f4f5 h5g
4 h3g4 g7g5
1.61s   10=     1204507 12      d1e1 e8e3 e1e3 h7h5 g4h5 d8h8 c1c2 h8h5 e3e7 d7h
3
3.64s   11=     2807740 12      d1e1 e8e3 e1e3 h7h5 g4h5 d8h8 c1c2 h8h5 e3e7 d7h
3 e7g7
9.34s   12=     6952541 18      d1e1 e8e3 e1e3 h7h5 g4h5 d8h8 e3e7 d7h3 e7g7 h8h
5 d2c3 h5h4 g7g8 c8b7
17.08s  13=     13068681        14      d1e1 e8e3 e1e3 h7h5 g4h5 d8h8 e3e7 h8h5
e7g7 h5h3 c1b2 h3h2 g7g8 c8b7
51.39s  14=     39623522        21      d1e1 e8e3 e1e3 h7h5 g4h5 d8h8 e3e7 h8h5
e7g7 h5h3 g7g8 c8b7 g8g7 h3h1 c1c2 b7c8
Nodes:   39623522 ( 770 Knps )   Beta-Cut:    1037047
Move ordering: 90%
QNodes:   18416056 (046%)        Hash_Reads:    6974256

Or on the initial position:

time    depth   nodes   value
0.00s   1=      43      82      b1c3
0.00s   2=      116     32      b1c3
0.00s   2-      328     0       b1c3 b8c6
0.00s   3=      407     50      b1c3 b8c6
0.00s   3+      690     82      b1c3 b8c6 g1f3
0.01s   4=      1784    32      b1c3 b8c6 g1f3
0.01s   4-      3742    0       b1c3 b8c6 g1f3 g8f6
0.01s   5=      4360    50      b1c3 b8c6 g1f3 g8f6
0.01s   5+      5636    52      b1c3 b8c6 g1f3 g8f6 d2d4
0.10s   6=      47834   2       b1c3 b8c6 g1f3 g8f6 d2d4
0.17s   6-      87571   0       g1f3 g8f6 b1c3 b8c6 d2d4 d7d5
0.24s   7=      119097  50      g1f3 g8f6 b1c3 b8c6 d2d4 d7d5
0.32s   7+      160418  68      g1f3 d7d5 d2d4 c8g4 c1g5 g4f3 e2f3
1.56s   8=      887545  18      g1f3 d7d5 d2d4 c8g4 c1g5 g4f3 e2f3
2.51s   8-      1434570 3       b1c3 g8f6 d2d4 d7d5 c1g5 c8g4 h2h3 g4f5
3.46s   9=      2003135 42      b1c3 g8f6 d2d4 e7e6 g1f3 f8b4 a2a3 b4c3 b2c3 b8c
6 c1g5
18.69s  10=     10996986        19      g1f3 d7d5 b1c3 g8f6 d2d4 c8f5 c1f4 b8d7
c3b5 c7c6
37.81s  11=     22320187        43      g1f3 d7d6 b1c3 c8g4 e2e3 b8c6 f1b5 g8f6
e1g1 a7a6 b5c4
Nodes:   22320187 ( 590 Knps )   Beta-Cut:     592321
Move ordering: 88%
QNodes:   10401919 (046%)        Hash_Reads:    3485598

But in some positions, like this one from WAC, it needs a lot of time to
reach reasonable depths (until it finds a "good" move etc.):

r3r1k1/pp1q1pp1/4b1p1/3p2B1/3Q1R2/8/PPP3PP/4R1K1 w - - bm d4g7

time    depth   nodes   value
0.00s   1=      441     169     c2c3
0.00s   2=      2200    128     f4f3 d7c7
0.03s   3=      18839   134     f4f2 f7f6 g5f4
0.14s   4=      95429   91      e1d1 f7f6 g5h4 g6g5
0.48s   5=      358029  84      f4f2 e6g4 e1f1 f7f6 h2h3
1.94s   6=      1415925 82      f4f1 e6f5 c2c3 f7f6 e1e8 a8e8 g5f4 g6g5
5.05s   7=      3774377 73      f4f1 e6f5 c2c3 e8e1 f1e1 a8e8 e1d1 e8e2
6.88s   8=      5123222 123     f4f1 e6f5 c2c3 e8e1 f1e1 a8e8 e1d1 e8e2 d4a7
6.96s   8+      5185695 373     f4f1 e6f5 c2c3 e8e1 f1e1 a8e8 e1d1 e8e2 d4a7
7.04s   8+      5239025 873     f4f1 e6f5 c2c3 e8e1 f1e1 a8e8 e1d1 e8e2 d4a7
7.18s   8++     5354025 20003   d4g7 g8g7 g5f6 g7f8 f4h4 e6f5 h4h8 f5c2 h4h8 f5c
2
7.52s   9=      5617411 20005   d4g7 g8g7 g5f6 g7f8 f4h4 e6f5 h4h8 f5c2 f5c2
8.01s   10=     6009016 20006   d4g7 g8g7 g5f6 g7f8 f4h4 e6f5 h4h8 f5c2 f5c2 f5c
2
9.75s   11=     7795582 20007   d4g7 g8g7 g5f6 g7f8 f4h4 e6f5 h4h8 f5c2 f5c2 f5c
2
16.13s  12=     13731228        20008   d4g7 g8g7 g5f6 g7f8 f4h4 e6f5 h4h8 f5c2
f5c2 f5c2 f5c2
27.66s  13=     23962221        20009   d4g7 g8g7 g5f6 g7f8 f4h4 e6f5 h4h8 f5c2
f5c2 f5c2 f5c2
48.22s  14=     41643137        20010   d4g7 g8g7 g5f6 g7f8 f4h4 f8g8 h4h8 e6f5
e6f5 e6f5 e6f5
Nodes:   41643137 ( 863 Knps )   Beta-Cut:     777088
Move ordering: 98%
QNodes:   16198399 (038%)        Hash_Reads:    9662266

There are also a lot of positions where it doesn't find a winning move and then
needs too much time to reach reasonable depths (although the move ordering
is ok (fail high on first move about 85%)).

Any ideas what the problem might be?

Regards,
Steffen



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.