Having fun with the evaluation function

Discussion of chess software programming and technical issues.

Moderator: Ras

JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Having fun with the evaluation function

Post by JBNielsen »

I had a little fun with Dabbabas evaluation function.

It is now simpler and weaker - but not more weak than it can win some games against Rybka 4 (reduced to 2% strength).

See game below.

Why did I weaken it?
Because I wanted to try to see how..... No, I won't tell you until next year 8-)

Until then you are welcome to have a guess of what is done. Perhaps a close look at the game can give you a hint....?!

Happy New Year!


[Event "Evaluation experiment - game in 3 minutes"]
[Site "FAMNIELSEN-PC"]
[Date "2012.12.29"]
[Round "34"]
[White "Rybka 4 960 w32 reduced to 2pct strength"]
[Black "Dabbaba with a modified evaluation function"]
[Result "0-1"]
[ECO "D91"]
[Opening "Gr¸nfeld"]
[Time "normal"]
[Variation "5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2"]
[TimeControl "180"]
[Termination "normal"]
[PlyCount "125"]
[WhiteType "program"]
[BlackType "program"]

1.c4 Nf6 2.d4 g6 3.Nc3 d5 4.Bg5 Bg7 5.Nf3 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2 h6
9.Nh3 exd5 10.Qe3+ Kf8 11.Nf4 c6 12.Qf3 Ke8 {(f8e8 19 1/34 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=84/6<score>/0<sw10> score: -19 n=834408
time=7.33 N/S=113835 mainline=) +0.19/7 11} 13.O-O-O {(000 Qd8f6 h2h4 g6g5 Qf3e3+ Qf6e7
Qe3g3 Bc8f5 Nf4h5) +0.48/5} Qe7 {(d8e7 17 1/35 happens= L1.....78.......... mat=8/10
sel=8,8 hash=78 hashHit4ply=223/9<score>/13<sw10> score: -17 n=200141 time=1.77
N/S=113074 mainline=) +0.17/6 4} 14.e4 {(e2e4 d5xe4 Nc3xe4 Nb8d7 Kc1b1 Nd7f6 Rd1e1 Ke8f8)
+0.61/4} dxe4 {(d5e4 16 1/41 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=373/37<score>/13<sw10> score: -16 n=141122 time=1.30 N/S=108555 mainline=) +0.16/6 3} 15.Nxe4 {(Nc3xe4
Bc8f5 Rd1e1 Ke8f8 g2g4 Bf5e6) +0.95/4} a5 {(a7a5 16 6/40 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=611/10<score>/12<sw10> score: -16 n=282558
time=2.68 N/S=105432 mainline=) +0.16/5 3} 16.Bc4 {(Bf1c4 Bc8f5 Ne4c5 Ke8f8 Rh1e1 Qe7h4)
+1.95/4} Kd8 {(e8d8 7 1/41 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=421/23<score>/10<sw10> score: -7 n=240735 time=2.17 N/S=110938 mainline=) +0.07/5 3} 17.d5 Bd7 {(c8d7
-6 15/45 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=433/33<score>/0<sw10> score: 6 n=655355 time=6.31 N/S=103860 mainline=) -0.06/5 6} 18.d6 {(d5d6
Qe7e5) +1.99/255} Qe5 {(e7e5 5 15/38 happens= L1.....78.......... mat=8/10 sel=8,8
hash=78 hashHit4ply=591/20<score>/13<sw10> score: -5 n=665421 time=6.28 N/S=105959
mainline=) +0.05/6 6} 19.Rd2 {(Rd1d2 Kd8e8) +1.79/1} Rf8 {(h8f8 9 1/41 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=367/23<score>/4<sw10> score: -9 n=341451
time=3.47 N/S=98401 mainline=) +0.09/6 6} 20.Kb1 {(Kc1b1 Kd8c8 Rh1e1 Nb8a6 g2g4) +1.24/3}
Bf5 {(d7f5 88 10/40 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=349/13<score>/3<sw10> score: -88 n=541663 time=5.58 N/S=97072 mainline=) +0.88/6 7} 21.Re1 {(Rh1e1
Rf8e8 Bc4d3 Bf5xe4) +1.31/3} g5 {(g6g5 88 1/38 happens= L1.....78.......... mat=8/10
sel=8,8 hash=78 hashHit4ply=1125/10<score>/49<sw10> score: -88 n=149491 time=1.50
N/S=99661 mainline=) +0.88/5 2} 22.Nh5 {(Nf4h5 Rf8e8) +1.81/1} Bh8 {(g7h8 4 1/41 Extended
search at move 1! happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=571/41<score>/2<sw10> score: -4 n=531997 time=5.22 N/S=101915 mainline=) +0.04/6 8} 23.g4 Bg6 {(f5g6
8 1/39 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=619/18<score>/29<sw10> score: -8 n=1241107 time=11.37 N/S=109156 mainline=) +0.08/6 11} 24.Nhg3
{(Nh5g3 Kd8c8 h2h3) +1.53/2} b5 {(b7b5 16 1/38 happens= L1.....78.......... mat=8/10
sel=8,8 hash=78 hashHit4ply=887/33<score>/145<sw10> score: -16 n=531560 time=5.07
N/S=104844 mainline=) +0.16/6 5} 25.Bb3 {(Bc4b3) +1.95/255} a4 {(a5a4 92 1/36 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=1278/16<score>/151<sw10> score: -92
n=208528 time=2.03 N/S=102723 mainline=) +0.92/6 4} 26.Bd1 {(Bb3d1 a4a3 Qf3e3 a3xb2
Qe3b6+ Kd8e8 Qb6c7 Nb8d7) +0.17/4} a3 {(a4a3 89 1/37 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=1518/21<score>/74<sw10> score: -89 n=214392
time=2.10 N/S=102091 mainline=) +0.89/6 3} 27.Nf5 {(Ng3f5 Bg6xf5 g4xf5 a3xb2 f5f6 Nb8d7
Rd2c2) -0.08/3} axb2 {(a3b2 110 1/37 happens= L1.....78.......... mat=8/10 sel=8,8
hash=78 hashHit4ply=309/2<score>/3<sw10> score: -110 n=113983 time=1.10 N/S=103621
mainline=) +1.10/5 3} 28.Nd4 {(Nf5d4 Qe5d5) 0.00/1} Re8 {(f8e8 204 1/38 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=453/7<score>/3<sw10> score: -204 n=99801
time=0.92 N/S=108479 mainline=) +2.04/5 2} 29.Bc2 {(Bd1c2 Qe5d5 Nd4b3 Qd5c4 Bc2d3)
-0.21/4} Qxh2 {(e5h2 189 1/38 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=580/6<score>/22<sw10> score: -189 n=192131 time=1.74 N/S=110420 mainline=) +1.89/5 2} 30.Qe3 {(Qf3e3
Bg6xe4 Bc2xe4 Ra8a6 Qe3c3 Qh2xd6) +0.09/2} Ra6 {(a8a6 196 3/40 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=440/24<score>/10<sw10> score: -196
n=252369 time=2.30 N/S=109726 mainline=) +1.96/5 2} 31.f3 {(f2f3 Qh2f4 Qe3c3 Bh8e5)
-0.30/3} Qh4 {(h2h4 194 1/42 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=705/42<score>/18<sw10> score: -194 n=173826 time=1.65 N/S=105349 mainline=) +1.94/5 2} 32.Rde2 {(Rd2e2
Bh8e5 Ne4c5 Bg6xc2+) +0.47/1} Bf6 {(h8f6 189 4/37 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=385/29<score>/7<sw10> score: -189 n=375346
time=3.56 N/S=105434 mainline=) +1.89/5 4} 33.Qc3 {(Qe3c3 Bf6xd4 Qc3xd4 Bg6xe4 Bc2xe4
Nb8d7 Kb1xb2 Kd8c8 Kb2b1) +0.42/3} Bg7 {(f6g7 70 2/37 Extended search at move 2!
happens= L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=468/80<score>/4<sw10>
score: -70 n=242977 time=2.12 N/S=114612 mainline=) +0.70/5 4} 34.Nxc6+ {(Nd4xc6+
Nb8xc6 Qc3xg7 b5b4 Qg7xb2 Ra6a3) +1.25/3} Rxc6 {(a6c6 -5 1/4 Extended search at move
1! happens= L1.....78.......... mat=7/10 sel=8,8 hash=78
hashHit4ply=229/5<score>/11<sw10> score: 5 n=109564 time=0.85 N/S=128899 mainline=) -0.05/5 1} 35.Qxg7 {(Qc3xg7
Nb8d7 Qg7xb2 Bg6xe4 Bc2xe4 Rc6xd6 Qb2xb5 Qh4g3 Qb5a5+) +1.00/3} Nd7 {(b8d7 -9 1/36
happens= L1.....78.......... mat=7/10 sel=8,8 hash=78 hashHit4ply=567/20<score>/25<sw10>
score: 9 n=254437 time=1.96 N/S=129815 mainline=) -0.09/5 2} 36.Qd4 {(Qg7d4 Nd7e5
Qd4xb2) +0.99/2} h5 {(h6h5 -7 1/39 happens= L1.....78.......... mat=7/10 sel=8,8
hash=78 hashHit4ply=402/20<score>/7<sw10> score: 7 n=194452 time=1.65 N/S=117850
mainline=) -0.07/5 2} 37.gxh5 {(g4xh5 Bg6xh5 Qd4d5 Rc6b6 Qd5a8+) +0.92/2} Qxh5 {(h4h5 -10
1/41 happens= L1.....78.......... mat=7/10 sel=8,8 hash=78
hashHit4ply=408/60<score>/4<sw10> score: 10 n=226696 time=1.91 N/S=118689 mainline=) -0.10/5 2} 38.Qd5 {(Qd4d5
Nd7e5 Qd5xb5 Qh5xf3 Qb5b8+) +1.12/2} Rc8 {(c6c8 -1 3/39 happens= L1.....78..........
mat=7/10 sel=8,8 hash=78 hashHit4ply=417/11<score>/8<sw10> score: 1 n=149742 time=1.22
N/S=122739 mainline=) -0.01/4 1} 39.Qxb5 {(Qd5xb5 g5g4) +1.21/254} Re5 {(e8e5 2 1/36
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=248/4<score>/0<sw10>
score: -2 n=115095 time=0.86 N/S=133831 mainline=) +0.02/5 1} 40.Qxb2 {(Qb5xb2 Qh5xf3
Re2e3) +1.26/2} Rb8 {(c8b8 286 1/38 happens= L1.....78.......... mat=6/10 sel=8,8
hash=78 hashHit4ply=269/4<score>/2<sw10> score: -286 n=85479 time=0.64 N/S=133561
mainline=) +2.86/5 1} 41.Bb3 {(Bc2b3 Qh5xf3 Kb1a1 Bg6xe4 Re2xe4 Qf3xe4 Re1xe4 Re5xe4 Qb2c3
f7f6 Qc3c7+ Kd8e8 Ka1b1) -0.49/4} Qxf3 {(h5f3 -3 1/37 Extended search at move 1!
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=240/2<score>/10<sw10>
score: 3 n=70687 time=0.56 N/S=126227 mainline=) -0.03/4} 42.Ka1 {(Kb1a1 Bg6xe4 Re2xe4
Qf3xe4 Re1xe4 Re5xe4 Qb2c3 f7f6 Qc3c7+ Kd8e8 Ka1b2) -0.53/3} Bxe4 {(g6e4 22 1/46
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=216/8<score>/4<sw10>
score: -22 n=50166 time=0.43 N/S=116665 mainline=) +0.22/4} 43.R2xe4 {(Re2xe4 Qf3xe4
Re1xe4 Re5xe4 Qb2h8+ Re4e8 Qh8c3 Re8e5 Bb3xf7 Rb8b7 Bf7b3) +0.51/4} Rxe4 {(e5e4 19
1/43 happens= L1.....78.......... mat=5/10 sel=8,8 hash=78
hashHit4ply=396/38<score>/0<sw10> score: -19 n=69463 time=0.50 N/S=138926 mainline=) +0.19/5} 44.Qh8+ {(Qb2h8+
Nd7f8 Qh8xf8+ Kd8d7 Bb3a4+ Re4xa4 Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8 Qf3c3+ Rb8b2)
-1.39/4} Nf8 {(d7f8 19 1/3 happens= L1.....78.......... mat=5/10 sel=8,9 hash=78
hashHit4ply=75/3<score>/4<sw10> score: -19 n=201886 time=1.19 N/S=169652 mainline=) +0.19/6 1} 45.Qxf8+
{(Qh8xf8+ Kd8d7 Bb3a4+ Re4xa4 Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8 Qf3c3+ Rb8b2) -1.39/1}
Kd7 {(d8d7 128 1/3 happens= L1.....78.......... mat=5/10 sel=8,9 hash=78
hashHit4ply=297/0<score>/4<sw10> score: -128 n=222657 time=1.08 N/S=206164 mainline=) +1.28/7 1} 46.Ba4+
{(Bb3a4+ Re4xa4 Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8 Qf3f1+ Rb8b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1
Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+
Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2) -1.32/5} Rxa4 {(e4a4 127 1/7 happens=
L1.....78.......... mat=4/10 sel=8,9 hash=78 hashHit4ply=189/3<score>/10<sw10> score: -127 n=267886
time=1.09 N/S=245767 mainline=) +1.27/6 1} 47.Re7+ {(Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8
Qf3f1+ Rb8b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+
Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1)
-1.32/255} Kxd6 {(d7d6 133 1/6 happens= L1.....78.......... mat=4/10 sel=8,9 hash=78
hashHit4ply=241/0<score>/14<sw10> score: -133 n=348013 time=1.32 N/S=263646 mainline=) +1.33/6 1} 48.Re8+
{(Re7e8+ Kd6d5 Re8xb8 Qf3f1+ Rb8b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1
Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+
Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2) -1.32/3} Kd5 {(d6d5 130 1/7 happens=
L1.....78.......... mat=4/10 sel=8,9 hash=78 hashHit4ply=257/2<score>/24<sw10> score: -130 n=161589
time=0.64 N/S=252483 mainline=) +1.30/6} 49.Rxb8 {(Re8xb8 Qf3d1+ Rb8b1 Qd1d4+ Rb1b2 Kd5e6
Qf8c8+) -1.47/2} Qf1+ {(f3f1 133 1/43 happens= L1.....78.......... mat=3/10 sel=8,10
hash=78 hashHit4ply=1061/60<score>/53<sw10> score: -133 n=90188 time=0.32 N/S=281838
mainline=) +1.33/5} 50.Rb1 {(Rb8b1 Qf1f6+ Rb1b2 g5g4 Qf8e8 Ra4e4 Qe8d7+ Kd5e5) -1.38/4}
Qf6+ {(f1f6 107 1/42 Extended search at move 1! happens= L1.....78..........
mat=3/10 sel=8,10 hash=78 hashHit4ply=613/81<score>/42<sw10> score: -107 n=268596
time=1.14 N/S=235611 mainline=) +1.07/5 1} 51.Rb2 {(Rb1b2 g5g4 Qf8e8 Ra4e4 Qe8d7+ Kd5e5
Qd7d2 Ke5f5 Qd2d5+ Kf5f4) -1.43/5} Rc4 {(a4c4 107 1/42 happens= L1.....78..........
mat=3/10 sel=8,10 hash=78 hashHit4ply=954/31<score>/37<sw10> score: -107 n=239970
time=1.01 N/S=237594 mainline=) +1.07/5 1} 52.Qa8+ Kd6 {(d5d6 112 2/8 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=154/3<score>/7<sw10> score: -112 n=129954
time=0.56 N/S=232061 mainline=) +1.12/4} 53.Qa3+ {(Qa8a3+ Rc4c5 Qa3e3) -1.00/1} Kd7
{(d6d7 111 2/9 happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=183/15<score>/4<sw10> score: -111 n=252316 time=1.07 N/S=235809 mainline=) +1.11/4 1} 54.Qd3+ Rd4
{(c4d4 109 1/10 happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=275/4<score>/3<sw10> score: -109 n=311411 time=1.34 N/S=232396 mainline=) +1.09/4 1} 55.Rb7+ Ke6
{(d7e6 617 1/7 happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=269/2<score>/2<sw10> score: -617 n=670929 time=2.14 N/S=313518 mainline=) +6.17/5 2} 56.Qh3+
{(Qd3h3+ Rd4g4+ Rb7b2 Qf6d4 Qh3b3+) -0.87/1} g4 {(g5g4 621 1/8 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=252/0<score>/0<sw10> score: -621 n=178605
time=0.73 N/S=244664 mainline=) +6.21/5} 57.Qc3 {(Qh3c3) -1.86/254} Rd1+ {(d4d1 629 1/33
happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=380/15<score>/17<sw10> score: -629 n=640745 time=2.02 N/S=317200 mainline=) +6.29/6 2} 58.Kb2 {(Ka1b2
Rd1b1+ Kb2xb1 Qf6xc3 Rb7b6+ Ke6e5 Rb6b2) -6.45/2} Rb1+ {(d1b1 633 1/37 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=477/4<score>/20<sw10> score: -633
n=372904 time=1.14 N/S=327109 mainline=) +6.33/5 1} 59.Kxb1 {(Kb2xb1 Qf6xc3 Rb7b6+ Ke6e5
Rb6b3 Qc3e1+ Kb1c2) -7.07/4} Qxc3 {(f6c3 631 1/23 happens= L1.....78..........
mat=2/10 sel=8,10 hash=78 hashHit4ply=209/4<score>/12<sw10> score: -631 n=229359
time=0.67 N/S=342327 mainline=) +6.31/4} 60.Rb6+ {(Rb7b6+ Ke6e5 Rb6b3 Qc3e1+ Kb1b2 Qe1f2+
Kb2c3 g4g3 Rb3b5+ Ke5f4) -7.16/4} Kd5 {(e6d5 645 1/7 happens= L1.....78..........
mat=2/10 sel=8,10 hash=78 hashHit4ply=150/8<score>/7<sw10> score: -645 n=790495
time=2.42 N/S=326651 mainline=) +6.45/4 2} 61.Rb3 {(Rb6b3 Qc3e1+ Kb1c2 g4g3 Rb3d3+ Kd5e4
Rd3d8 Qe1f2+) -7.20/4} Qxb3+ {(c3b3 1011 1/35 happens= L1.....78.......... mat=1/10
sel=8,10 hash=78 hashHit4ply=143/22<score>/4<sw10> score: -1011 n=164815 time=0.49
N/S=336357 mainline=) +10.11/4 1} 62.axb3 {(a2xb3 g4g3 Kb1c2 g3g2 Kc2d3 g2g1Q Kd3c3 f7f5
Kc3c2) -10.73/4} f5 {(f7f5 1107 1/10 happens= L1.....78.......... mat=0/10 sel=8,10
hash=78 hashHit4ply=80/7<score>/5<sw10> score: -1107 n=475422 time=1.00 N/S=475422
mainline=) +11.07/7 3} 63.Kc2 {(Kb1c2 g4g3 Kc2d3 g3g2 Kd3e3 g2g1Q+ Ke3e2 Qg1g4+ Ke2f2)
-11.37/5 White resigns} {White resigns} 0-1
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Having fun with the evaluation function

Post by zullil »

JBNielsen wrote:I had a little fun with Dabbabas evaluation function.

It is now simpler and weaker - but not more weak than it can win some games against Rybka 4 (reduced to 2% strength).

See game below.

Why did I weaken it?
Because I wanted to try to see how..... No, I won't tell you until next year 8-)

Until then you are welcome to have a guess of what is done. Perhaps a close look at the game can give you a hint....?!

Happy New Year!

[pgn]
[Event "Evaluation experiment - game in 3 minutes"]
[Site "FAMNIELSEN-PC"]
[Date "2012.12.29"]
[Round "34"]
[White "Rybka 4 960 w32 reduced to 2pct strength"]
[Black "Dabbaba with a modified evaluation function"]
[Result "0-1"]
[ECO "D91"]
[Opening "Gr¸nfeld"]
[Time "normal"]
[Variation "5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2"]
[TimeControl "180"]
[Termination "normal"]
[PlyCount "125"]
[WhiteType "program"]
[BlackType "program"]

1.c4 Nf6 2.d4 g6 3.Nc3 d5 4.Bg5 Bg7 5.Nf3 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2 h6
9.Nh3 exd5 10.Qe3+ Kf8 11.Nf4 c6 12.Qf3 Ke8 {(f8e8 19 1/34 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=84/6<score>/0<sw10> score: -19 n=834408
time=7.33 N/S=113835 mainline=) +0.19/7 11} 13.O-O-O {(000 Qd8f6 h2h4 g6g5 Qf3e3+ Qf6e7
Qe3g3 Bc8f5 Nf4h5) +0.48/5} Qe7 {(d8e7 17 1/35 happens= L1.....78.......... mat=8/10
sel=8,8 hash=78 hashHit4ply=223/9<score>/13<sw10> score: -17 n=200141 time=1.77
N/S=113074 mainline=) +0.17/6 4} 14.e4 {(e2e4 d5xe4 Nc3xe4 Nb8d7 Kc1b1 Nd7f6 Rd1e1 Ke8f8)
+0.61/4} dxe4 {(d5e4 16 1/41 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=373/37<score>/13<sw10> score: -16 n=141122 time=1.30 N/S=108555 mainline=) +0.16/6 3} 15.Nxe4 {(Nc3xe4
Bc8f5 Rd1e1 Ke8f8 g2g4 Bf5e6) +0.95/4} a5 {(a7a5 16 6/40 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=611/10<score>/12<sw10> score: -16 n=282558
time=2.68 N/S=105432 mainline=) +0.16/5 3} 16.Bc4 {(Bf1c4 Bc8f5 Ne4c5 Ke8f8 Rh1e1 Qe7h4)
+1.95/4} Kd8 {(e8d8 7 1/41 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=421/23<score>/10<sw10> score: -7 n=240735 time=2.17 N/S=110938 mainline=) +0.07/5 3} 17.d5 Bd7 {(c8d7
-6 15/45 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=433/33<score>/0<sw10> score: 6 n=655355 time=6.31 N/S=103860 mainline=) -0.06/5 6} 18.d6 {(d5d6
Qe7e5) +1.99/255} Qe5 {(e7e5 5 15/38 happens= L1.....78.......... mat=8/10 sel=8,8
hash=78 hashHit4ply=591/20<score>/13<sw10> score: -5 n=665421 time=6.28 N/S=105959
mainline=) +0.05/6 6} 19.Rd2 {(Rd1d2 Kd8e8) +1.79/1} Rf8 {(h8f8 9 1/41 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=367/23<score>/4<sw10> score: -9 n=341451
time=3.47 N/S=98401 mainline=) +0.09/6 6} 20.Kb1 {(Kc1b1 Kd8c8 Rh1e1 Nb8a6 g2g4) +1.24/3}
Bf5 {(d7f5 88 10/40 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=349/13<score>/3<sw10> score: -88 n=541663 time=5.58 N/S=97072 mainline=) +0.88/6 7} 21.Re1 {(Rh1e1
Rf8e8 Bc4d3 Bf5xe4) +1.31/3} g5 {(g6g5 88 1/38 happens= L1.....78.......... mat=8/10
sel=8,8 hash=78 hashHit4ply=1125/10<score>/49<sw10> score: -88 n=149491 time=1.50
N/S=99661 mainline=) +0.88/5 2} 22.Nh5 {(Nf4h5 Rf8e8) +1.81/1} Bh8 {(g7h8 4 1/41 Extended
search at move 1! happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=571/41<score>/2<sw10> score: -4 n=531997 time=5.22 N/S=101915 mainline=) +0.04/6 8} 23.g4 Bg6 {(f5g6
8 1/39 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=619/18<score>/29<sw10> score: -8 n=1241107 time=11.37 N/S=109156 mainline=) +0.08/6 11} 24.Nhg3
{(Nh5g3 Kd8c8 h2h3) +1.53/2} b5 {(b7b5 16 1/38 happens= L1.....78.......... mat=8/10
sel=8,8 hash=78 hashHit4ply=887/33<score>/145<sw10> score: -16 n=531560 time=5.07
N/S=104844 mainline=) +0.16/6 5} 25.Bb3 {(Bc4b3) +1.95/255} a4 {(a5a4 92 1/36 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=1278/16<score>/151<sw10> score: -92
n=208528 time=2.03 N/S=102723 mainline=) +0.92/6 4} 26.Bd1 {(Bb3d1 a4a3 Qf3e3 a3xb2
Qe3b6+ Kd8e8 Qb6c7 Nb8d7) +0.17/4} a3 {(a4a3 89 1/37 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=1518/21<score>/74<sw10> score: -89 n=214392
time=2.10 N/S=102091 mainline=) +0.89/6 3} 27.Nf5 {(Ng3f5 Bg6xf5 g4xf5 a3xb2 f5f6 Nb8d7
Rd2c2) -0.08/3} axb2 {(a3b2 110 1/37 happens= L1.....78.......... mat=8/10 sel=8,8
hash=78 hashHit4ply=309/2<score>/3<sw10> score: -110 n=113983 time=1.10 N/S=103621
mainline=) +1.10/5 3} 28.Nd4 {(Nf5d4 Qe5d5) 0.00/1} Re8 {(f8e8 204 1/38 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=453/7<score>/3<sw10> score: -204 n=99801
time=0.92 N/S=108479 mainline=) +2.04/5 2} 29.Bc2 {(Bd1c2 Qe5d5 Nd4b3 Qd5c4 Bc2d3)
-0.21/4} Qxh2 {(e5h2 189 1/38 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=580/6<score>/22<sw10> score: -189 n=192131 time=1.74 N/S=110420 mainline=) +1.89/5 2} 30.Qe3 {(Qf3e3
Bg6xe4 Bc2xe4 Ra8a6 Qe3c3 Qh2xd6) +0.09/2} Ra6 {(a8a6 196 3/40 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=440/24<score>/10<sw10> score: -196
n=252369 time=2.30 N/S=109726 mainline=) +1.96/5 2} 31.f3 {(f2f3 Qh2f4 Qe3c3 Bh8e5)
-0.30/3} Qh4 {(h2h4 194 1/42 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=705/42<score>/18<sw10> score: -194 n=173826 time=1.65 N/S=105349 mainline=) +1.94/5 2} 32.Rde2 {(Rd2e2
Bh8e5 Ne4c5 Bg6xc2+) +0.47/1} Bf6 {(h8f6 189 4/37 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=385/29<score>/7<sw10> score: -189 n=375346
time=3.56 N/S=105434 mainline=) +1.89/5 4} 33.Qc3 {(Qe3c3 Bf6xd4 Qc3xd4 Bg6xe4 Bc2xe4
Nb8d7 Kb1xb2 Kd8c8 Kb2b1) +0.42/3} Bg7 {(f6g7 70 2/37 Extended search at move 2!
happens= L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=468/80<score>/4<sw10>
score: -70 n=242977 time=2.12 N/S=114612 mainline=) +0.70/5 4} 34.Nxc6+ {(Nd4xc6+
Nb8xc6 Qc3xg7 b5b4 Qg7xb2 Ra6a3) +1.25/3} Rxc6 {(a6c6 -5 1/4 Extended search at move
1! happens= L1.....78.......... mat=7/10 sel=8,8 hash=78
hashHit4ply=229/5<score>/11<sw10> score: 5 n=109564 time=0.85 N/S=128899 mainline=) -0.05/5 1} 35.Qxg7 {(Qc3xg7
Nb8d7 Qg7xb2 Bg6xe4 Bc2xe4 Rc6xd6 Qb2xb5 Qh4g3 Qb5a5+) +1.00/3} Nd7 {(b8d7 -9 1/36
happens= L1.....78.......... mat=7/10 sel=8,8 hash=78 hashHit4ply=567/20<score>/25<sw10>
score: 9 n=254437 time=1.96 N/S=129815 mainline=) -0.09/5 2} 36.Qd4 {(Qg7d4 Nd7e5
Qd4xb2) +0.99/2} h5 {(h6h5 -7 1/39 happens= L1.....78.......... mat=7/10 sel=8,8
hash=78 hashHit4ply=402/20<score>/7<sw10> score: 7 n=194452 time=1.65 N/S=117850
mainline=) -0.07/5 2} 37.gxh5 {(g4xh5 Bg6xh5 Qd4d5 Rc6b6 Qd5a8+) +0.92/2} Qxh5 {(h4h5 -10
1/41 happens= L1.....78.......... mat=7/10 sel=8,8 hash=78
hashHit4ply=408/60<score>/4<sw10> score: 10 n=226696 time=1.91 N/S=118689 mainline=) -0.10/5 2} 38.Qd5 {(Qd4d5
Nd7e5 Qd5xb5 Qh5xf3 Qb5b8+) +1.12/2} Rc8 {(c6c8 -1 3/39 happens= L1.....78..........
mat=7/10 sel=8,8 hash=78 hashHit4ply=417/11<score>/8<sw10> score: 1 n=149742 time=1.22
N/S=122739 mainline=) -0.01/4 1} 39.Qxb5 {(Qd5xb5 g5g4) +1.21/254} Re5 {(e8e5 2 1/36
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=248/4<score>/0<sw10>
score: -2 n=115095 time=0.86 N/S=133831 mainline=) +0.02/5 1} 40.Qxb2 {(Qb5xb2 Qh5xf3
Re2e3) +1.26/2} Rb8 {(c8b8 286 1/38 happens= L1.....78.......... mat=6/10 sel=8,8
hash=78 hashHit4ply=269/4<score>/2<sw10> score: -286 n=85479 time=0.64 N/S=133561
mainline=) +2.86/5 1} 41.Bb3 {(Bc2b3 Qh5xf3 Kb1a1 Bg6xe4 Re2xe4 Qf3xe4 Re1xe4 Re5xe4 Qb2c3
f7f6 Qc3c7+ Kd8e8 Ka1b1) -0.49/4} Qxf3 {(h5f3 -3 1/37 Extended search at move 1!
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=240/2<score>/10<sw10>
score: 3 n=70687 time=0.56 N/S=126227 mainline=) -0.03/4} 42.Ka1 {(Kb1a1 Bg6xe4 Re2xe4
Qf3xe4 Re1xe4 Re5xe4 Qb2c3 f7f6 Qc3c7+ Kd8e8 Ka1b2) -0.53/3} Bxe4 {(g6e4 22 1/46
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=216/8<score>/4<sw10>
score: -22 n=50166 time=0.43 N/S=116665 mainline=) +0.22/4} 43.R2xe4 {(Re2xe4 Qf3xe4
Re1xe4 Re5xe4 Qb2h8+ Re4e8 Qh8c3 Re8e5 Bb3xf7 Rb8b7 Bf7b3) +0.51/4} Rxe4 {(e5e4 19
1/43 happens= L1.....78.......... mat=5/10 sel=8,8 hash=78
hashHit4ply=396/38<score>/0<sw10> score: -19 n=69463 time=0.50 N/S=138926 mainline=) +0.19/5} 44.Qh8+ {(Qb2h8+
Nd7f8 Qh8xf8+ Kd8d7 Bb3a4+ Re4xa4 Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8 Qf3c3+ Rb8b2)
-1.39/4} Nf8 {(d7f8 19 1/3 happens= L1.....78.......... mat=5/10 sel=8,9 hash=78
hashHit4ply=75/3<score>/4<sw10> score: -19 n=201886 time=1.19 N/S=169652 mainline=) +0.19/6 1} 45.Qxf8+
{(Qh8xf8+ Kd8d7 Bb3a4+ Re4xa4 Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8 Qf3c3+ Rb8b2) -1.39/1}
Kd7 {(d8d7 128 1/3 happens= L1.....78.......... mat=5/10 sel=8,9 hash=78
hashHit4ply=297/0<score>/4<sw10> score: -128 n=222657 time=1.08 N/S=206164 mainline=) +1.28/7 1} 46.Ba4+
{(Bb3a4+ Re4xa4 Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8 Qf3f1+ Rb8b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1
Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+
Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2) -1.32/5} Rxa4 {(e4a4 127 1/7 happens=
L1.....78.......... mat=4/10 sel=8,9 hash=78 hashHit4ply=189/3<score>/10<sw10> score: -127 n=267886
time=1.09 N/S=245767 mainline=) +1.27/6 1} 47.Re7+ {(Re1e7+ Kd7xd6 Re7e8+ Kd6d5 Re8xb8
Qf3f1+ Rb8b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+
Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1)
-1.32/255} Kxd6 {(d7d6 133 1/6 happens= L1.....78.......... mat=4/10 sel=8,9 hash=78
hashHit4ply=241/0<score>/14<sw10> score: -133 n=348013 time=1.32 N/S=263646 mainline=) +1.33/6 1} 48.Re8+
{(Re7e8+ Kd6d5 Re8xb8 Qf3f1+ Rb8b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1
Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2 Qf6f1+ Rb2b1 Qf1f6+
Rb1b2 Qf6f1+ Rb2b1 Qf1f6+ Rb1b2) -1.32/3} Kd5 {(d6d5 130 1/7 happens=
L1.....78.......... mat=4/10 sel=8,9 hash=78 hashHit4ply=257/2<score>/24<sw10> score: -130 n=161589
time=0.64 N/S=252483 mainline=) +1.30/6} 49.Rxb8 {(Re8xb8 Qf3d1+ Rb8b1 Qd1d4+ Rb1b2 Kd5e6
Qf8c8+) -1.47/2} Qf1+ {(f3f1 133 1/43 happens= L1.....78.......... mat=3/10 sel=8,10
hash=78 hashHit4ply=1061/60<score>/53<sw10> score: -133 n=90188 time=0.32 N/S=281838
mainline=) +1.33/5} 50.Rb1 {(Rb8b1 Qf1f6+ Rb1b2 g5g4 Qf8e8 Ra4e4 Qe8d7+ Kd5e5) -1.38/4}
Qf6+ {(f1f6 107 1/42 Extended search at move 1! happens= L1.....78..........
mat=3/10 sel=8,10 hash=78 hashHit4ply=613/81<score>/42<sw10> score: -107 n=268596
time=1.14 N/S=235611 mainline=) +1.07/5 1} 51.Rb2 {(Rb1b2 g5g4 Qf8e8 Ra4e4 Qe8d7+ Kd5e5
Qd7d2 Ke5f5 Qd2d5+ Kf5f4) -1.43/5} Rc4 {(a4c4 107 1/42 happens= L1.....78..........
mat=3/10 sel=8,10 hash=78 hashHit4ply=954/31<score>/37<sw10> score: -107 n=239970
time=1.01 N/S=237594 mainline=) +1.07/5 1} 52.Qa8+ Kd6 {(d5d6 112 2/8 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=154/3<score>/7<sw10> score: -112 n=129954
time=0.56 N/S=232061 mainline=) +1.12/4} 53.Qa3+ {(Qa8a3+ Rc4c5 Qa3e3) -1.00/1} Kd7
{(d6d7 111 2/9 happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=183/15<score>/4<sw10> score: -111 n=252316 time=1.07 N/S=235809 mainline=) +1.11/4 1} 54.Qd3+ Rd4
{(c4d4 109 1/10 happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=275/4<score>/3<sw10> score: -109 n=311411 time=1.34 N/S=232396 mainline=) +1.09/4 1} 55.Rb7+ Ke6
{(d7e6 617 1/7 happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=269/2<score>/2<sw10> score: -617 n=670929 time=2.14 N/S=313518 mainline=) +6.17/5 2} 56.Qh3+
{(Qd3h3+ Rd4g4+ Rb7b2 Qf6d4 Qh3b3+) -0.87/1} g4 {(g5g4 621 1/8 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=252/0<score>/0<sw10> score: -621 n=178605
time=0.73 N/S=244664 mainline=) +6.21/5} 57.Qc3 {(Qh3c3) -1.86/254} Rd1+ {(d4d1 629 1/33
happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=380/15<score>/17<sw10> score: -629 n=640745 time=2.02 N/S=317200 mainline=) +6.29/6 2} 58.Kb2 {(Ka1b2
Rd1b1+ Kb2xb1 Qf6xc3 Rb7b6+ Ke6e5 Rb6b2) -6.45/2} Rb1+ {(d1b1 633 1/37 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=477/4<score>/20<sw10> score: -633
n=372904 time=1.14 N/S=327109 mainline=) +6.33/5 1} 59.Kxb1 {(Kb2xb1 Qf6xc3 Rb7b6+ Ke6e5
Rb6b3 Qc3e1+ Kb1c2) -7.07/4} Qxc3 {(f6c3 631 1/23 happens= L1.....78..........
mat=2/10 sel=8,10 hash=78 hashHit4ply=209/4<score>/12<sw10> score: -631 n=229359
time=0.67 N/S=342327 mainline=) +6.31/4} 60.Rb6+ {(Rb7b6+ Ke6e5 Rb6b3 Qc3e1+ Kb1b2 Qe1f2+
Kb2c3 g4g3 Rb3b5+ Ke5f4) -7.16/4} Kd5 {(e6d5 645 1/7 happens= L1.....78..........
mat=2/10 sel=8,10 hash=78 hashHit4ply=150/8<score>/7<sw10> score: -645 n=790495
time=2.42 N/S=326651 mainline=) +6.45/4 2} 61.Rb3 {(Rb6b3 Qc3e1+ Kb1c2 g4g3 Rb3d3+ Kd5e4
Rd3d8 Qe1f2+) -7.20/4} Qxb3+ {(c3b3 1011 1/35 happens= L1.....78.......... mat=1/10
sel=8,10 hash=78 hashHit4ply=143/22<score>/4<sw10> score: -1011 n=164815 time=0.49
N/S=336357 mainline=) +10.11/4 1} 62.axb3 {(a2xb3 g4g3 Kb1c2 g3g2 Kc2d3 g2g1Q Kd3c3 f7f5
Kc3c2) -10.73/4} f5 {(f7f5 1107 1/10 happens= L1.....78.......... mat=0/10 sel=8,10
hash=78 hashHit4ply=80/7<score>/5<sw10> score: -1107 n=475422 time=1.00 N/S=475422
mainline=) +11.07/7 3} 63.Kc2 {(Kb1c2 g4g3 Kc2d3 g3g2 Kd3e3 g2g1Q+ Ke3e2 Qg1g4+ Ke2f2)
-11.37/5 White resigns} {White resigns} 0-1
[/pgn]
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Having fun with the evaluation function

Post by JBNielsen »

Hi Louis

That is VERY nice!

How did you do that?
I have never seen that before in a post.

Now we can play through the game with the mouse/arrows.
So nice :D
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Having fun with the evaluation function

Post by zullil »

JBNielsen wrote:Hi Louis

That is VERY nice!

How did you do that?
I have never seen that before in a post.

Now we can play through the game with the mouse/arrows.
So nice :D
Simply use (pgn) and (/pgn) to surround the pgn content, but with brackets instead of parentheses. Thanks to Paolo Casaschi for the nice javascript pgn viewer.

Move your mouse over the squares on the board to see tooltips that indicate additional functionalities.
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Having fun with the evaluation function

Post by JBNielsen »

Hi again

What did I do with Dabbabas evaluation function?

Did I change the king safety, rook placement, values for good/bad bishops/knights, centre, pawn structure, opening rules, bishop-pair...?

No, I removed them all!

And I simplified my mobility evaluation much.
After the change it only compared the number of moves at the current node with the number of moves at the previous node (one ply up).
If a player is in check he has only a few moves - to compensate for this I multiply the number of moves by 8.

So my evaluation is only material and a simple mobility-evaluation.

I wanted to see how important mobility is.
And as Dabbaba still can win some games it seems to be rather important.

- - -

I even tried to let it play ONLY with the simple mobility-evaluation.
See game below.

After the book-moves it plays ok for some moves, but then gives up a knight to open lines for some other pieces.


[pgn]
[Event "Dabbaba 6.95 vs Rybka"]
[Site "FAMNIELSEN-PC"]
[Date "2012.12.29"]
[Round "67"]
[White "Dabbaba - evaluation is ONLY simple mobility"]
[Black "Rybka 4 960 w32 - reduced to 2 pct strength"]
[Result "0-1"]
[ECO "C11"]
[Opening "French"]
[Time "normal"]
[Variation "Henneberger Variation, 1.e4 e6 2.d4 d5 3.Nc3 Nf6 4.Be3"]
[TimeControl "180"]
[Termination "normal"]
[PlyCount "60"]
[WhiteType "program"]
[BlackType "program"]

1.e4 e6 2.d4 d5 3.Nc3 Nf6 4.Be3 g6 5.e5 Nfd7 6.Nf3 a6 7.Bd3 c5 8.O-O cxd4
{(c5xd4 Nf3xd4 Nd7xe5 Rf1e1 Nb8c6 Nd4xc6 Ne5xc6 Qd1g4 d5d4 Be3g5) -0.22/5} 9.Nxd4
{(f3d4 7 1/41 happens= L1.....78.......... mat=9/10 sel=8,8 hash=78
hashHit4ply=168/50<score>/0<sw10> score: 7 n=420871 time=4.32 N/S=97424 mainline=) +0.07/7 8} Nxe5 {(Nd7xe5 Rf1e1
Bf8d6) -0.10/5} 10.f4 {(f2f4 3 1/47 happens= L1.....78.......... mat=9/10 sel=8,8
hash=78 hashHit4ply=826/32<score>/59<sw10> score: 3 n=281633 time=3.11 N/S=90557
mainline=) +0.03/6 5} Nxd3 {(Ne5xd3 c2xd3 Nb8d7 Kg1h1 Qd8b6 Nc3a4 Qb6c7 Na4c3 Nd7c5)
+0.11/5} 11.Qxd3 {(d1d3 6 1/42 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=447/31<score>/18<sw10> score: 6 n=128483 time=1.21 N/S=106184 mainline=) +0.06/6 3} Bd6 {(Bf8d6 a2a3)
+0.42/5} 12.Rf2 {(f1f2 10 1/47 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=403/70<score>/15<sw10> score: 10 n=136531 time=1.34 N/S=101889 mainline=) +0.10/6 3} O-O {(00 a2a3
Bc8d7 Ra1e1 Nb8c6 Nd4xc6 Bd7xc6) +0.64/5} 13.a3 {(a2a3 11 1/46 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=262/10<score>/9<sw10> score: 11 n=129948
time=1.27 N/S=102321 mainline=) +0.11/6 3} Bd7 {(Bc8d7 Ra1e1 Nb8c6 Nd4xc6 Bd7xc6 Be3d4
Rf8e8 Qd3h3 Ra8c8 Qh3h6) +0.77/5} 14.Nf5 {(d4f5 9 1/47 happens= L1.....78..........
mat=8/10 sel=8,8 hash=78 hashHit4ply=841/35<score>/68<sw10> score: 9 n=206881 time=2.04
N/S=101412 mainline=) +0.09/6 4} gxf5 {(g6xf5 Rf2f3 Nb8c6 Rf3g3+ Kg8h8 Ra1d1) +3.13/4}
15.Rf3 {(f2f3 10 1/44 happens= L1.....78.......... mat=8/10 sel=8,8 hash=78
hashHit4ply=461/14<score>/11<sw10> score: 10 n=418872 time=3.64 N/S=115075 mainline=) +0.10/7 8} Nc6 {(Nb8c6 Be3d4
f7f6 Bd4e3 Qd8c7 Ra1e1 Kg8h8 Qd3d2) +3.13/4} 16.Nxd5 {(c3d5 14 5/46 happens=
L1.....78.......... mat=8/10 sel=8,8 hash=78 hashHit4ply=561/17<score>/23<sw10> score: 14 n=551931
time=4.82 N/S=114509 mainline=) +0.14/6 7} exd5 {(e6xd5 Qd3xd5 Bd7e6 Rf3g3+ Kg8h8 Qd5d3
Bd6e7 Qd3f1 Nc6d4) +4.52/5} 17.Rg3+ {(f3g3 6 1/42 happens= L1.....78..........
mat=7/10 sel=8,8 hash=78 hashHit4ply=710/21<score>/37<sw10> score: 6 n=410570 time=3.22
N/S=127506 mainline=) +0.06/6 7} Kh8 {(Kg8h8 Qd3xd5 Bd7e6 Qd5d3 Bd6e7 Qd3f1 Nc6d4 Ra1d1)
+4.52/5} 18.Bd4+ {(e3d4 10 1/43 happens= L1.....78.......... mat=7/10 sel=8,8 hash=78
hashHit4ply=1498/28<score>/202<sw10> score: 10 n=297878 time=2.26 N/S=131804 mainline=) +0.10/6 5} f6 {(f7f6 Qd3e3
Nc6xd4 Qe3xd4 Bd7e6 Ra1e1 Rf8e8) +6.55/3} 19.Kf2 {(g1f2 7 2/45 happens=
L1.....78.......... mat=7/10 sel=8,8 hash=78 hashHit4ply=674/47<score>/13<sw10> score: 7 n=998212
time=8.30 N/S=120267 mainline=) +0.07/6 8} Bxf4 {(Bd6xf4 Bd4c5 Rf8e8) +7.56/2} 20.Rd1
{(a1d1 6 2/49 happens= L1.....78.......... mat=7/10 sel=8,8 hash=78
hashHit4ply=485/33<score>/3<sw10> score: 6 n=382510 time=3.16 N/S=121047 mainline=) +0.06/5 4} Nxd4 {(Nc6xd4
Qd3xd4 Bf4xg3+ h2xg3 Ra8c8 c2c3 Rf8e8 Kf2g1 Bd7c6) +8.97/4} 21.Qxd4 {(d3d4 4 1/42
happens= L1.....78.......... mat=6/10 sel=8,8 hash=78 hashHit4ply=309/21<score>/0<sw10>
score: 4 n=186308 time=1.47 N/S=126740 mainline=) +0.04/5 2} Bxg3+ {(Bf4xg3+ h2xg3
Ra8c8 c2c3 Rf8e8 Kf2g1 Bd7c6 Rd1f1 Re8e4) +9.12/5} 22.Kxg3 {(f2g3 -1 6/7 happens=
L1.....78.......... mat=5/10 sel=8,8 hash=78 hashHit4ply=201/8<score>/9<sw10> score: -1 n=322232
time=2.05 N/S=157186 mainline=) -0.01/6 2} Qc7+ {(Qd8c7+ Kg3f2 Qc7xh2 c2c4 Rf8g8 Qd4xd5)
+9.42/3} 23.Kf2 {(g3f2 -6 1/7 happens= L1.....78.......... mat=5/10 sel=8,9 hash=78
hashHit4ply=396/5<score>/22<sw10> score: -6 n=513907 time=2.93 N/S=175395 mainline=) -0.06/6 3} Qxh2 {(Qc7xh2
Qd4d3 Ra8e8 b2b3 Bd7b5 c2c4) +9.98/4} 24.Re1 {(d1e1 -4 1/40 happens=
L1.....78.......... mat=5/10 sel=8,9 hash=78 hashHit4ply=424/87<score>/7<sw10> score: -4 n=248211
time=1.49 N/S=166585 mainline=) -0.04/5 2} Rac8 {(Ra8c8 c2c3 Rf8g8 Qd4xf6+ Rg8g7 Re1e7
Qh2xg2+ Kf2e1 Rc8e8) +10.66/4} 25.c3 {(c2c3 -1 1/45 happens= L1.....78..........
mat=5/10 sel=8,9 hash=78 hashHit4ply=215/16<score>/1<sw10> score: -1 n=245676 time=1.45
N/S=169432 mainline=) -0.01/5 1} Rc4 {(Rc8c4 Qd4b6 Rc4f4+ Kf2e2 Rf8e8+ Ke2d1 Bd7a4+ b2b3
Qh2h5+ Kd1d2 Re8xe1) +11.41/4} 26.Qxc4 {(d4c4 -16 1/40 happens= L1.....78..........
mat=5/10 sel=8,9 hash=78 hashHit4ply=276/52<score>/0<sw10> score: -16 n=331280 time=1.70
N/S=194871 mainline=) -0.16/5 2} dxc4 {(d5xc4 Re1d1 Bd7c6 Rd1g1 Rf8g8) +15.58/2} 27.Re7
{(e1e7 -32 1/25 happens= L1.....78.......... mat=4/10 sel=8,9 hash=78
hashHit4ply=312/25<score>/11<sw10> score: -32 n=890694 time=3.31 N/S=269092 mainline=) -0.32/6 4} Bc6 {(Bd7c6
Re7e2 Rf8g8 Kf2e3 Rg8e8+ Ke3d2) +17.60/3} 28.Ke3 {(f2e3 -34 1/25 happens=
L1.....78.......... mat=4/10 sel=8,9 hash=78 hashHit4ply=304/25<score>/11<sw10> score: -34
n=1194677 time=4.54 N/S=263145 mainline=) -0.34/5 4} Qxg2 {(Qh2xg2 Ke3d4 Qg2d5+ Kd4e3
Qd5c5+ Ke3e2 Qc5xe7+ Ke2d1) +22.00/3} 29.Rd7 {(e7d7 -29988 11/19 Extended search at
move 11! happens= L1.....78.......... mat=3/10 sel=8,10 hash=78
hashHit4ply=180/12<score>/5<sw10> mate in 7 n=1375652 time=4.03 N/S=341353 mainline=) -M6/3 4} Bxd7 {(Bc6xd7
Ke3d4 Qg2xb2 Kd4xc4 Rf8c8+) +23.80/1} 30.a4 {(a3a4 -29990 1/9 happens=
L1.....78.......... mat=3/10 sel=8,10 hash=78 hashHit4ply=21/7<score>/0<sw10> mate in 6 n=56524
time=0.17 N/S=332494 mainline=) -M5/37 2} b6 {(b7b6 b2b4 Rf8e8+ Ke3d4 Qg2e4+) +M3/3 White
resigns} {White resigns} 0-1
[/pgn]
lucasart
Posts: 3243
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: Having fun with the evaluation function

Post by lucasart »

JBNielsen wrote: Did I change the king safety, rook placement, values for good/bad bishops/knights, centre, pawn structure, opening rules, bishop-pair...?

No, I removed them all!
It's definitely a good idea to remove things, and measure the effectiveness. In DiscoCheck, I proceeded the opposite way. Start with material only, and only commit patches when their effectiveness is proven by collecting some statistics (fast games, 10"+0.1" or 5"+0.05" depending):
- tune material values (including bishop pair which I consider to be material)
- add PST, and tune it
- add mobility, and tune it
- add passed pawns (+tune)
- add king safety
- add some very basic pawn structure stuff (weak pawns, and chained pawns, nothing else, even doubled pawns failed to improve DiscoCheck regardless of the weights)
- pawn shelter and pawn storm. I think pawn shelter is far more important than pawn storm, and pawn storm is a tricky feature that often backfires (weakens your position, once the pawn storm attacked is refuted)
- add hanging pawns/pieces penalty, and tune it. This one gave me a surprisingly high elo gain
- trapped knights and bishops. this one was tricky to tune, and can easily be more costly than it helps, if not tuned correctly. but it did eventually pass the test, and gain some elo (quite little though)
- rook trapped by own king, especially if king can't castle. the elo gain of that depends heavily on how many book moves you use (%age of games where out of book you are already castled, or almost finished developping, makes a big difference obviously)

And that's *all*! I have tried all the other stuff. Among the ones that failed the test, regardless of how I tried implementing them are:
- knight/bishop outposts
- rook on open or semi open file
- rook/queen on 7th rank

But the search is far more important. Of course no eval (just material) or a really poor eval is a bad idea. But once you have a decent Material(incl. bishop pair) + PST + Mobility + Passed Pawns + Hanging Pieces + King Safety, everything else you add will have a very small elo impact. The search is far more important.

So, as far as the eval is concerned, other than the good principles laid out by Tord Romstad in the chess programming wiki, I would add:
- less is more !
- testing is the only thing that matters. forget about your intuition, or the fact that other programs do this or that. only trust test results. although, of course, intuition gives you ideas of things to try. but never commit the patches unless they pass the test.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
ZirconiumX
Posts: 1361
Joined: Sun Jul 17, 2011 11:14 am
Full name: Hannah Ravensloft

Re: Having fun with the evaluation function

Post by ZirconiumX »

Lucas refers to this post by Tord.

I would only like to add that where possible, make your implementation as lightweight as possible, and use a profiler to ensure your implementation is fast

So testing is almost everything. Implementation gains tend to help too.

Matthew:out
tu ne cede malis, sed contra audentior ito