But if I mirror WAC 120 crafty 21.6 does find g3 and also sticks with it. After outcommenting the for loop in evaluate.c for the rook mobility the behaviour vanished. After having a look a the mobility values in data.c I think only the first value in mobility_mask_r is a valid one. I changed the other values just to see if my assumption is right. 0x8484848484848484ULL,0x9090909090909090ULL, 0xC0C0C0C0C0C0C0C0ULL are the new values I used and then the behaviour is identical meaning that black and white want to put the rook on the open file and give the same scores. Just to make crafty play g3 and g6 i also decremented the last value in mobility_score_r to give mobility less weight.
I don't think that this asymmetry is wanted in crafty and it looks like a bug to me.
best regards
Roman
Edit: The comment regarding outcommenting parts of mobility code was only meant to explain how I found the bug. The code at this place is ok.
output of crafty 21.6 (without any code modifications):
Code: Select all
White(1): setboard r4rk1/1bn2qnp/3p1B1Q/p2P1pP1/1pp5/5N1P/PPB2P2/2KR3R w - -
White(1): analyze
...
9 1.07 3.64 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Rf7
4. Rhg1+ Kh8 5. Nd4 Rg8 6. Rxg8+ Kxg8
7. Rg1+ Kh8
9-> 1.21 3.64 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Rf7
4. Rhg1+ Kh8 5. Nd4 Rg8 6. Rxg8+ Kxg8
7. Rg1+ Kh8
10 1.32 3.68 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Rf7
4. Rhg1+ Kh8 5. Nd4 Rg8 6. Rxg8+ Kxg8
7. Rg1+ Kh8 8. Bf4 Bxd5 9. Bxd6
10-> 1.55 3.68 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Rf7
4. Rhg1+ Kh8 5. Nd4 Rg8 6. Rxg8+ Kxg8
7. Rg1+ Kh8 8. Bf4 Bxd5 9. Bxd6
11 1.92 3.68 1. g6 Qxg6 2. Bxg7 Rf7 3. Rhg1 Qxh6+
4. Bxh6+ Kh8 5. Nd4 Rg8 6. Rxg8+ Kxg8
7. Rg1+ <HT>
11 5.41 3.89 1. Rhg1 Qg6 2. Nh4 Rxf6 3. Nxg6 Rxg6
4. Qh4 Bxd5 5. Rge1 b3 6. axb3 cxb3
11-> 5.49 3.89 1. Rhg1 Qg6 2. Nh4 Rxf6 3. Nxg6 Rxg6
4. Qh4 Bxd5 5. Rge1 b3 6. axb3 cxb3
...
16-> 3:24 4.58 1. Rhg1 Qg6 2. Nh4 Qxh6 3. gxh6 Rxf6
4. Rxg7+ Kh8 5. Rxc7 Ba6 6. Nxf5 Bc8
7. Ne3 Rxh6 8. Nxc4 Bxh3 9. Re1
17 4:34 4.69 1. Rhg1 Qg6 2. Nh4 Qxh6 3. gxh6 Rxf6
4. Rxg7+ Kh8 5. Rxc7 Ba6 6. Nxf5 b3
7. axb3 cxb3 8. Be4 Bc8 9. Nd4 Rxh6
White(1): setboard 2kr3r/ppb2p2/5n1p/1PP5/P2p1Pp1/3P1b1q/1BN2QNP/R4RK1 b - -
Black(1): analyze
14-> 15.67 -4.50 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. Nxd4 Rhe8
7. f5 Be5 8. Re1 Bxd4 9. Rxe8 Bxb2
15 23.57 -4.64 1. ... g3 2. Qxg3 Bxg2 3. Rf2 Rhg8
4. Rxg2 Rxg3 5. Rxg3 Rg8 6. Rxg8+ Nxg8
7. Rf1 Qxd3 8. Nxd4 Qc4 9. Re1 Qxc5
15-> 32.73 -4.64 1. ... g3 2. Qxg3 Bxg2 3. Rf2 Rhg8
4. Rxg2 Rxg3 5. Rxg3 Rg8 6. Rxg8+ Nxg8
7. Rf1 Qxd3 8. Nxd4 Qc4 9. Re1 Qxc5
16 48.08 -4.68 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. Nxd4 Rhe8
7. Nf5 Rxd3 8. Nxh6 Re2 9. Be5 Bxe5
10. fxe5 Rxe5 11. Rxf7 Rxc5
16-> 1:12 -4.68 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. Nxd4 Rhe8
7. Nf5 Rxd3 8. Nxh6 Re2 9. Be5 Bxe5
10. fxe5 Rxe5 11. Rxf7 Rxc5
17 1:46 -4.85 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. Nxd4 Rhe8
7. f5 Be5 8. Ne6 Bxb2 9. Nxd8 Kxd8
10. Kg2
17 2:45 7/41? 1. ... Nd5 (983Knps)
Code: Select all
white:
15 25.57 4.64 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Kh8
4. Bxf8 Rxf8 5. Rhe1 Nxd5 6. Nh4 f4
7. Be4 Re8 8. Nf5 Re6 9. Bxd5 Bxd5
10. Rxe6 Bxe6 11. Nxd6 Bxh3 12. Nxc4
15-> 35.98 4.64 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Kh8
4. Bxf8 Rxf8 5. Rhe1 Nxd5 6. Nh4 f4
7. Be4 Re8 8. Nf5 Re6 9. Bxd5 Bxd5
10. Rxe6 Bxe6 11. Nxd6 Bxh3 12. Nxc4
16 51.18 4.80 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Kh8
4. Bxf8 Rxf8 5. Rhe1 Bxd5 6. Nh4 c3
7. Re7 Rf7 8. Rxc7 Rxc7 9. Rxd5 cxb2+
10. Kxb2
16-> 1:16 4.80 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Kh8
4. Bxf8 Rxf8 5. Rhe1 Bxd5 6. Nh4 c3
7. Re7 Rf7 8. Rxc7 Rxc7 9. Rxd5 cxb2+
10. Kxb2
17 1:48 4.80 1. g6 Qxg6 2. Bxg7 Qxh6+ 3. Bxh6 Kh8
4. Bxf8 Rxf8 5. Rhe1 Bxd5 6. Nh4 c3
7. Re7 Rf7 8. Rxc7 Rxc7 9. Rxd5 cxb2+
10. Kxb2
....
black:
15 22.25 -4.64 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. f5 Rhe8
7. Nxd4 Be5 8. Re1 Nf4 9. Re3 Bxd4
10. Bxd4 Rxe3 11. Bxe3 Nxd3 12. Bxh6
Nxc5
15-> 30.97 -4.64 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. f5 Rhe8
7. Nxd4 Be5 8. Re1 Nf4 9. Re3 Bxd4
10. Bxd4 Rxe3 11. Bxe3 Nxd3 12. Bxh6
Nxc5
16 49.34 -4.82 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. f5 Rhe8
7. Nxd4 Be5 8. Re1 Nf6 9. b6 axb6
16-> 1:09 -4.82 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. f5 Rhe8
7. Nxd4 Be5 8. Re1 Nf6 9. b6 axb6
17 1:42 -4.80 1. ... g3 2. Qxg3 Bxg2 3. Qxh3+ Bxh3
4. Kh1 Bxf1 5. Rxf1 Nh5 6. Bxd4 Rhe8
7. c6 Re2 8. Rf2 Rxc2 9. Rxc2 Rxd4
10. cxb7+ Kxb7