The EBF is the measure of the time to do iteration N vs iteration N+1 So you are right, the EBF really does not change since the previous iteration had the double overhead as well. But, that aside, the rest of my comment was correct. A 2-best search will search 1 ply shallower than a 1-best (normal) search. a 4-best search will lose 2 plies (factor of 4). Etc...hgm wrote:I think this is completely wrong. The EBF stays the same, and it is just the search time that goes op by a factor 4 or 8. Unless you are doing things even more inefficiently then you told us so far.bob wrote:Yes, and I was still talking about "multi-PV" in my comments. As far as the EBF voes, it goes up by 4 if you do best-4, or by 8 if you do best 8 which is what I was referring to...
Confused by MultiPV
Moderator: Ras
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Confused by MultiPV
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Confused by MultiPV
There is more going on that that. If that is the case you ought to always search for the 2 best moves since it will be faster. Which makes absolutely no sense.pijl wrote:I've put multipv to the test. I've done four positions, each of them searched up to 12 ply with CTD in 1 to 4 pv mode.
Of course, the conclusion is that multipv generally hurts, but how much depends on both hashtable, score distance between best and nth move and the amount of pv changes that occur, both in the normal mode and in the nth best lines.
The first one is a position with lots of transpositions: The start position. An additional characteristic is that all moves are within a small score window, so multi pv should not hurt as much.
CTD is stubborn concerning its bestmove, so the normal search has no PV change:
10 ply:
1 pv: 2.2M nodes
2 pv: 2.3M nodes
3 pv: 3.4M nodes
4 pv: 3.6M nodes
5 pv: 4.3M nodes
11 ply:
1 pv: 6.5M nodes
2 pv: 6.0M nodes!
3 pv: 11.3M nodes
4 pv: 11.2M nodes!
5 pv: 12.0M nodes
12 ply:
1 pv: 13.0M nodes
2 pv: 12.8M nodes!
3 pv: 21.3M nodes
4 pv: 27.3M nodes
5 pv: 29.3M nodes
Interesting to see is that the 2pv mode sometimes needs less nodes to complete a ply. I guess that is due to the larger amount of relevant exact scores in the hashtable due to the number of transpositions the search will find.
The next position is the first positional test position from LCT2:
[d] r3kb1r/3n1pp1/p6p/2pPp2q/Pp2N3/3B2PP/1PQ2P2/R3K2R w KQkq -
10 ply:
1 pv: 1.4M nodes
2 pv: 4.0M nodes
3 pv: 9.2M nodes
4 pv: 10.3M nodes
11 ply (here the single pv version has a pv change to the solution move):
1 pv: 12.2M nodes
2 pv: 10.9M nodes!
3 pv: 18.5M nodes
4 pv: 23.9M nodes
12 ply:
1 pv: 28.1M nodes
2 pv: 25.4M nodes
3 pv: 47.4M nodes
4 pv: 61.7M nodes
Due to the pv change, which is expensive in any program, the 2 pv version needs less nodes at 11 and 12 ply searches. But the main conclusion from this position should be that when the program is sure about its bestmove, multi pv will hurt a lot.
The next position is also from the LCT suite, but here CTD does not find the solution. It did not change its pv in the test run, but in the multi pv runs there were some changes in the selection of the nth move:
[d] r2qkb1r/1b3ppp/p3pn2/1p6/1n1P4/1BN2N2/PP2QPPP/R1BR2K1 w kq -
10 ply:
1 pv: 8.1M nodes
2 pv: 13.8M nodes
3 pv: 19.4M nodes
4 pv: 27.4M nodes
11 ply:
1 pv: 13.5M nodes
2 pv: 25.3M nodes
3 pv: 39.3M nodes
4 pv: 57.8M nodes
12 ply:
1 pv: 25.4M nodes
2 pv: 51.9M nodes
3 pv: 78.1M nodes
4 pv: 111M nodes
Finally the previous position after playing Ne5. This position has a number of pv changes:
[d] r2qkb1r/1b3ppp/p3pn2/1p2N3/1n1P4/1BN5/PP2QPPP/R1BR2K1 b kq -
9 ply ( 2 pv changes):
1 pv: 7.3M nodes
2 pv: 7.8M nodes
3 pv: 9.2M nodes
4 pv: 8.5M nodes
10 ply (1 pv change):
1 pv: 14.5M nodes
2 pv: 18.4M nodes
3 pv: 19.9M nodes
4 pv: 19.4M nodes
11 ply (no pv change):
1 pv: 23.5M nodes
2 pv: 30.0M nodes
3 pv: 53.1M nodes
4 pv: 47.7M nodes
12 ply (no pv change):
1 pv: 43.9 M nodes
2 pv: 60.2M nodes
3 pv: 124M nodes
4 pv: 139M nodes
-
hgm
- Posts: 28426
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Confused by MultiPV
This is indeed an exceptional case: if there is a PV switch in the last iteration, you basically got a second move 'for free', as it is almost as easy to prove that the remaining moves are worse than the original PV move (not shifting up the null window to the new best score), as they were in the previous iteration, as it would have been to prove that they are worse than the new one.bob wrote:There is more going on that that. If that is the case you ought to always search for the 2 best moves since it will be faster. Which makes absolutely no sense.
-
Eelco de Groot
- Posts: 4692
- Joined: Sun Mar 12, 2006 2:40 am
- Full name: Eelco de Groot
Re: Confused by MultiPV
Have not read the last pages in interesting thread but would like to show another example where two best moves can be faster, just like Richard showed. It is a bit unfair because the two best moves for part of the search are considered as complete transpositions by search, 6. Ng4 and 6. Nc6 transpose, so the second move in theory should be free from the hashtable. The PVs are not everywhere the same though, and for the first iterations other moves are best. Nevertheless the Two PV version Build 61 was partly faster in getting its first PV out than the Single PV, until I think the hashtables of Build 61 slowed things down. I know I should not say that the hashtables were "full" but if it is really true that the slowdown at the end is caused by hashreplacements etc. I think that is a clue that transpositions really are an important factor here.
(Edit: Looking at the output again I see that there is really no slowdown evident in the two PV version, the PV for the two transposing moves gets "upgraded" in steps as it were but probably the same thing happens in the one PV version, because the moves transpose perfectly. 18 plies is hit at almost exactly the same time. I suppose for that part of the search it is not a very good example then
)
Even after more than twenty minutes the single PV version was not faster, see the 16th iteration. I thought maybe an explanation could be that apart from direct transposition hashtable hits, searching a PV for the second move, even if it is slightly different, maybe because the transposition was not directly found, the Multi-PV search is doing effectively some kind of IID for the two transposing moves and possibly for some other transposing moves earlier. Sometimes this (move-ordering is better?) gives enough of a speed-up even if Harm Geert's mechanism does not work here, switching the two transpositions, changing the PVs is essentially costfree even for the single PV version. Does that make some sense, or not
?
Build 61 and 62 were essentially the same, although that was not intended
Both shared 50% of the CPU, running parallel for testing purposes, I had assumed the two would be different when programming them.
Build 62, the position is from Anand - Kramnik;
[Event "WCC 2008"]
[Site "Bonn"]
[Date "2008.??.??"]
[Round "6"]
[White "Anand, V."]
[Black "Kramnik, V."]
[Result "1-0"]
[ECO "E34"]
[Annotator "Robot 2"]
[PlyCount "115"]
[EventDate "2008.??.??"]
[TimeControl "7200"]
1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. cxd5 Qxd5 6. Nf3 Qf5 7. Qb3 Nc6 8.
Bd2 O-O 9. h3 b6 10. g4 Qa5 11. Rc1 Bb7 12. a3 Bxc3 13. Bxc3 Qd5 14. Qxd5 Nxd5
15. Bd2 Nf6 16. Rg1 Rac8 17. Bg2 Ne7 18. Bb4 c5 19. dxc5 Rfd8 20. Ne5 Bxg2 21.
Rxg2 bxc5 22. Rxc5 Ne4 23. Rxc8 Rxc8 24. Nd3 Nd5 25. Bd2 Rc2 26. Bc1 f5 27. Kd1
Rc8 28. f3 Nd6 29. Ke1 a5 30. e3 e5 31. gxf5 e4 32. fxe4 Nxe4 33. Bd2 a4 34.
Nf2 Nd6 35. Rg4 Nc4 36. e4 Nf6 37. Rg3 Nxb2 38. e5 Nd5 39. f6 Kf7 40. Ne4 Nc4
41. fxg7 Kg8 42. Rd3 Ndb6 43. Bh6 Nxe5 44. Nf6+ Kf7 45. Rc3 Rxc3 46. g8=Q+ Kxf6
47. Bg7+ {Analyse:} Ke7 48. Qf8+ Kd7 49. Qf5+ Kc6 50. Qxe5 Rxa3 51. Qe6+ Kb5
52. Bd4 Rxh3 53. Qxb6+ Kc4 54. Qc5+ Kb3 55. Qb5+ Kc2 56. Qxa4+ Kd3 57. Qa3+
Kxd4 58. Qxh3 1-0
[d]rnbq1rk1/pp1pppbp/5np1/2p5/2PP4/2N2NP1/PP2PPBP/R1BQK2R b KQ -
Engine: Toga Mara Beta 7 Build 62 (64 MB)
by Fabien Letouzey, Thomas Gaksch and Tam
1/02 0:00 -0.44 6...cxd4 7.Nxd4 (42)
1/09 0:00 -0.30 6...Ng4 (121)
1/11 0:00 -0.07 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 (264)
2/11 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (461)
3/11 0:00 -0.31 6...d5 7.dxc5 dxc4 8.O-O (1.237)
3/11 0:00 -0.28 6...d6 7.dxc5 Ng4 8.cxd6 Bxc3+
9.bxc3 exd6 (1.894)
3/11 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.408)
3/11 0:00 +0.05 6...cxd4 7.Nxd4 e5 8.Ndb5 (3.204)
4/11 0:00 +0.18 6...cxd4 7.Nxd4 e5 8.Ndb5 Nc6 9.Bxc6 dxc6 (4.556)
5/16 0:00 -0.10 6...cxd4 7.Nxd4 e5 8.Ndb5 Nc6 9.Nd6 (9.675)
6/21 0:00 -0.02 6...cxd4 7.Nxd4 Qc7 8.Nd5 Nxd5
9.Bxd5 Bxd4 10.Qxd4 e5 (33.205)
7/23 0:00 -0.04 6...cxd4 7.Nxd4 Nc6 8.Bxc6 dxc6
9.O-O Bh3 10.Re1 Qd6 (105.445)
8/37 0:01 +0.14 6...cxd4 7.Nxd4 Nc6 8.Nxc6 bxc6
9.Qd3 Ba6 10.O-O d5 11.b3 (291.705) 230
9/37 0:02 -0.30 6...cxd4 7.Nxd4 Nc6 8.O-O Ng4 9.e3 Bxd4
10.exd4 d6 11.Bg5 Bf5 12.Bxc6 bxc6 (654.541) 250
9/37 0:03 -0.11 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Be3 Qh5
10.Nd4 Nxd4 11.Bxd4 Ng4 12.Bxg7 Kxg7 (829.685) 253
10/37 0:05 -0.02 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Be3 Qh5
10.Nd4 Nxd4 11.Bxd4 Ng4 12.Bxg7 Kxg7
13.h4 (1.526.570) 258
11/37 0:12 -0.14 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Qb5 Qxb5
10.Nxb5 Rb8 11.Bf4 d6 12.Nfd4 Nxd4
13.Nxd4 Nd5 (3.433.305) 265
11/37 0:22 +0.05 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5
9.dxc5 Rd8 10.Qb3 Na6 11.Be3 Qxb3
12.axb3 Bxb2 13.Ra2 Bc3+ 14.Nd2 Nb4 (5.919.249) 266
12/37 0:40 0.00 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.O-O Na6
10.dxc5 Qc4 11.Bg5 Re8 12.Qd2 Nxc5
13.Rac1 Qb5 14.Qd5 (11.167.624) 275
13/42 1:28 -0.16 6...d5 7.cxd5 Nxd5 8.O-O Na6 9.Nxd5 Qxd5
10.dxc5 Qc4 11.Bg5 Bxb2 12.Rb1 Bf6
13.c6 bxc6 14.Bxf6 exf6 15.Nd2 Qxa2
16.Bxc6 (24.218.889) 272
13/42 1:56 0.00 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.O-O Ng4
10.Qb5 Qxb5 11.cxb5 Nb4 12.h3 Bxc3
13.bxc3 Nc2 14.hxg4 Nxa1 15.Ne5 (31.558.492) 271
14/42 3:36 -0.22 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Be3 Qa5
10.Nd4 Qxa4 11.Nxa4 Na5 12.b3 d6
13.O-O Bd7 14.Bd2 Nxc4 15.bxc4 Bxa4
16.Bxb7 (58.127.360) 268
14/42 6:28 -0.10 6...Ng4 7.O-O Nc6 8.e3 d6 9.Re1 Na5
10.h3 Nh6 11.b3 Nc6 12.g4 Be6 13.Ng5 (104.110.609) 267
15/42 9:26 -0.15 6...Ng4 7.O-O Nc6 8.d5 Na5 9.Qd3 d6
10.h3 Ne5 11.Nxe5 Bxe5 12.Bh6 Re8
13.h4 Bg4 14.Rac1 Bxc3 15.Rxc3 (151.258.691) 266
16/44 26:54 -0.14 6...Ng4 7.O-O Nc6 8.d5 Nce5 9.Nxe5 Nxe5
10.Qb3 d6 11.Bg5 Bd7 12.Ne4 f6
13.Bf4 Qb6 14.Qc3 Kh8 15.Bxe5 fxe5 (430.624.409) 266
17/44 49:57 -0.08 6...Ng4 7.O-O Nc6 8.e3 d6 9.h3 Nh6
10.dxc5 Bxc3 11.bxc3 dxc5 12.e4 Qxd1
13.Rxd1 Kg7 14.g4 Ng8 15.Bg5 Be6
16.Rab1 (801.418.032) 267
18/45 144:19 -0.07 6...Ng4 7.O-O cxd4 8.Nxd4 d6 9.b3 Na6
10.h3 Nf6 11.Be3 Nd7 12.a3 Nc7 13.b4 Bxd4
14.Qxd4 Ne5 15.Bh6 Ne6 16.Qh4 (2.313.175.946) 267
best move: Nf6-g4 time: 211:51.000 min n/s: 269.273 CPU 100.0% n/s(1CPU): 269.273 nodes: 3.422.700.000
Build 61, two best moves:
1 0:00 -0.07 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 (264)
1 0:00 -0.11 6...d6 (317)
-----
2 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (728)
1 0:00 -0.11 6...d6 (317)
-----
2 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (728)
2 0:00 -0.38 6...d6 7.O-O (1.010)
-----
2 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (728)
2 0:00 -0.27 6...Nc6 7.dxc5 Ng4 (1.132)
-----
3 0:00 -0.31 6...d5 7.dxc5 dxc4 8.O-O (1.737)
2 0:00 -0.27 6...Nc6 7.dxc5 Ng4 (1.132)
-----
3 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.266)
2 0:00 -0.27 6...Nc6 7.dxc5 Ng4 (1.132)
-----
3 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.266)
3 0:00 -0.31 6...d5 7.dxc5 dxc4 8.O-O (3.092)
-----
3 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.266)
3 0:00 -0.29 6...Ng4 7.O-O cxd4 8.Nxd4 Bxd4 9.Qxd4 (3.403)
-----
4 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (4.793)
3 0:00 -0.29 6...Ng4 7.O-O cxd4 8.Nxd4 Bxd4 9.Qxd4 (3.403)
-----
4 0:00 -0.12 6...Ng4 7.O-O Nc6 8.Be3 cxd4 9.Bxd4 (7.026)
4 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (4.793)
-----
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
4 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (4.793)
-----
5 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 (25.450)
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
-----
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (38.705)
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
-----
6 0:00 +0.03 6...Ng4 7.Be3 Nc6 8.O-O cxd4 9.Nxd4 Bxd4 10.Bxd4 (51.184)
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
-----
6 0:00 +0.03 6...Ng4 7.Be3 Nc6 8.O-O cxd4 9.Nxd4 Bxd4 10.Bxd4 (51.184)
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (59.242)
-----
7 0:00 -0.32 6...Ng4 7.h3 cxd4 8.Nxd4 Ne5 9.Qb3 Nbc6 10.Bxc6 dxc6 (100.421)
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (59.242)
-----
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849)
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (59.242)
-----
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849)
7 0:00 -0.32 6...Ng4 7.h3 cxd4 8.Nxd4 Ne5 9.Qb3 Nbc6 10.Bxc6 dxc6 (162.085)
-----
7 0:00 +0.06 6...d5 7.dxc5 dxc4 8.O-O Ng4 9.Qxd8 Rxd8 10.Bd2 Nc6 (204.639)
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849)
-----
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (268.040) 240
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849) 240
-----
8 0:01 +0.12 6...cxd4 7.Nxd4 Nc6 8.Bxc6 dxc6 9.Be3 Nd7 10.h3 c5 11.Ndb5 Bxc3+ 12.Nxc3 (377.941) 240
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849) 240
-----
8 0:01 +0.12 6...cxd4 7.Nxd4 Nc6 8.Bxc6 dxc6 9.Be3 Nd7 10.h3 c5 11.Ndb5 Bxc3+ 12.Nxc3 (377.941) 240
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (393.584) 240
-----
9 0:03 -0.21 6...cxd4 7.Nxd4 Nc6 8.O-O Na5 9.c5 d6 10.b4 dxc5 11.bxc5 Nc4 (728.792) 235
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (393.584) 235
-----
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 235
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (393.584) 235
-----
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 239
9 0:04 -0.21 6...cxd4 7.Nxd4 Nc6 8.O-O Na5 9.c5 d6 10.b4 dxc5 11.bxc5 Nc4 (1.076.737) 239
-----
9 0:05 +0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.e4 (1.253.403) 235
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 235
-----
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 234
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 234
-----
10 0:10 +0.05 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qa4 Qxa4 10.Nxa4 Nc6 11.Bf4 Nd5 12.Rfd1 (2.466.049) 239
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 239
-----
11 0:15 -0.21 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Nd2 Nfd7 10.Nxc4 Bxc3+ 11.bxc3 Nxc5 12.Bg5 Re8 13.Be3 Nba6 14.O-O-O (3.965.349) 247
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 247
-----
11 0:19 -0.12 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 (4.809.857) 247
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 247
-----
11 0:19 -0.12 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 (4.809.857) 246
11 0:23 -0.21 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Nd2 Nfd7 10.Nxc4 Bxc3+ 11.bxc3 Nxc5 12.Bg5 Re8 13.Be3 Nba6 14.O-O-O (5.694.642) 246
-----
12 0:42 -0.10 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 12.Bf4 (10.553.818) 246
11 0:23 -0.21 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Nd2 Nfd7 10.Nxc4 Bxc3+ 11.bxc3 Nxc5 12.Bg5 Re8 13.Be3 Nba6 14.O-O-O (5.694.642) 246
-----
12 1:07 +0.04 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Ne5 Nfd7 10.Nxd7 Nxd7 11.Be3 Ne5 12.Rd1 Rxd1+ 13.Nxd1 Rb8 14.Bg5 Nc6 (17.034.665) 252
12 0:42 -0.10 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 12.Bf4 (10.553.818) 252
-----
13 1:47 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qd4 Ng4 10.Qxc4 Be6 11.Nd5 Nc6 12.e4 b5 13.cxb6 Bxd5 14.Qxd5 Qxb6 (28.395.295) 264
12 0:42 -0.10 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 12.Bf4 (10.553.818) 264
-----
13 2:45 +0.07 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 e5 10.dxc5 dxc5 11.Qb3 Qb6 12.Qxb6 axb6 13.h3 Nf6 (43.598.904) 263
13 1:47 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qd4 Ng4 10.Qxc4 Be6 11.Nd5 Nc6 12.e4 b5 13.cxb6 Bxd5 14.Qxd5 Qxb6 (28.395.295) 263
-----
14 3:39 -0.06 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (57.227.476) 261
13 1:47 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qd4 Ng4 10.Qxc4 Be6 11.Nd5 Nc6 12.e4 b5 13.cxb6 Bxd5 14.Qxd5 Qxb6 (28.395.295) 261
-----
14 3:39 -0.06 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (57.227.476) 265
14 5:53 -0.09 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.O-O cxd4 10.Be3 Rd8 11.Nxd4 Qa5 12.Qc2 Bxd4 13.Bxd4 Bf5 14.Qc3 Qb5 15.Bc5 Qxe2 16.Bxb7 (93.803.717) 265
-----
14 3:39 -0.06 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (57.227.476) 264
14 6:37 -0.06 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (105.113.739) 264
-----
15 8:46 -0.03 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Bd2 Ng4 11.h3 cxd4 12.exd4 Nxd4 13.Nxd4 Nxf2 14.Kxf2 Bxd4+ 15.Kf1 e5 16.Qf3 (138.471.248) 263
14 6:37 -0.06 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (105.113.739) 263
-----
15 8:46 -0.03 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Bd2 Ng4 11.h3 cxd4 12.exd4 Nxd4 13.Nxd4 Nxf2 14.Kxf2 Bxd4+ 15.Kf1 e5 16.Qf3 (138.471.248) 264
15 12:55 -0.14 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Bd2 Bg4 11.dxc5 dxc5 12.e4 Bxf3 13.Bxf3 Ne5 14.Be2 Qd4 (205.451.694) 264
-----
16 23:18 -0.12 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (371.076.050) 265
15 12:55 -0.14 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Bd2 Bg4 11.dxc5 dxc5 12.e4 Bxf3 13.Bxf3 Ne5 14.Be2 Qd4 (205.451.694) 265
-----
16 23:18
-0.12 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (371.076.050) 265
16 32:59 -0.12 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (524.686.862) 265
-----
17 88:12 -0.06 6...Ng4 7.O-O Nc6 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.428.170.280) 269
16 32:59 -0.12 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (524.686.862) 269
-----
17 88:12 -0.06 6...Ng4 7.O-O Nc6 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.428.170.280) 268
17 112:07 -0.06 6...Nc6 7.O-O Ng4 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.808.415.848) 268
-----
18 149:40 -0.04 6...Ng4 7.O-O Nc6 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Qxc3 12.Qb3 Qa5 13.Ng5 Re8 14.Bd5 e6 15.Bxc6 dxc6 16.Rad1 e5 17.Qc2 (2.408.736.040) 268
17 112:07 -0.06 6...Nc6 7.O-O Ng4 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.808.415.848) 268
best move: Nf6-g4 time: 211:50.921 min n/s: 269.501 CPU 100.0% n/s(1CPU): 269.501 nodes: 3.425.600.000
Eelco
(Edit: Looking at the output again I see that there is really no slowdown evident in the two PV version, the PV for the two transposing moves gets "upgraded" in steps as it were but probably the same thing happens in the one PV version, because the moves transpose perfectly. 18 plies is hit at almost exactly the same time. I suppose for that part of the search it is not a very good example then
Even after more than twenty minutes the single PV version was not faster, see the 16th iteration. I thought maybe an explanation could be that apart from direct transposition hashtable hits, searching a PV for the second move, even if it is slightly different, maybe because the transposition was not directly found, the Multi-PV search is doing effectively some kind of IID for the two transposing moves and possibly for some other transposing moves earlier. Sometimes this (move-ordering is better?) gives enough of a speed-up even if Harm Geert's mechanism does not work here, switching the two transpositions, changing the PVs is essentially costfree even for the single PV version. Does that make some sense, or not
Build 61 and 62 were essentially the same, although that was not intended
Build 62, the position is from Anand - Kramnik;
[Event "WCC 2008"]
[Site "Bonn"]
[Date "2008.??.??"]
[Round "6"]
[White "Anand, V."]
[Black "Kramnik, V."]
[Result "1-0"]
[ECO "E34"]
[Annotator "Robot 2"]
[PlyCount "115"]
[EventDate "2008.??.??"]
[TimeControl "7200"]
1. d4 Nf6 2. c4 e6 3. Nc3 Bb4 4. Qc2 d5 5. cxd5 Qxd5 6. Nf3 Qf5 7. Qb3 Nc6 8.
Bd2 O-O 9. h3 b6 10. g4 Qa5 11. Rc1 Bb7 12. a3 Bxc3 13. Bxc3 Qd5 14. Qxd5 Nxd5
15. Bd2 Nf6 16. Rg1 Rac8 17. Bg2 Ne7 18. Bb4 c5 19. dxc5 Rfd8 20. Ne5 Bxg2 21.
Rxg2 bxc5 22. Rxc5 Ne4 23. Rxc8 Rxc8 24. Nd3 Nd5 25. Bd2 Rc2 26. Bc1 f5 27. Kd1
Rc8 28. f3 Nd6 29. Ke1 a5 30. e3 e5 31. gxf5 e4 32. fxe4 Nxe4 33. Bd2 a4 34.
Nf2 Nd6 35. Rg4 Nc4 36. e4 Nf6 37. Rg3 Nxb2 38. e5 Nd5 39. f6 Kf7 40. Ne4 Nc4
41. fxg7 Kg8 42. Rd3 Ndb6 43. Bh6 Nxe5 44. Nf6+ Kf7 45. Rc3 Rxc3 46. g8=Q+ Kxf6
47. Bg7+ {Analyse:} Ke7 48. Qf8+ Kd7 49. Qf5+ Kc6 50. Qxe5 Rxa3 51. Qe6+ Kb5
52. Bd4 Rxh3 53. Qxb6+ Kc4 54. Qc5+ Kb3 55. Qb5+ Kc2 56. Qxa4+ Kd3 57. Qa3+
Kxd4 58. Qxh3 1-0
[d]rnbq1rk1/pp1pppbp/5np1/2p5/2PP4/2N2NP1/PP2PPBP/R1BQK2R b KQ -
Engine: Toga Mara Beta 7 Build 62 (64 MB)
by Fabien Letouzey, Thomas Gaksch and Tam
1/02 0:00 -0.44 6...cxd4 7.Nxd4 (42)
1/09 0:00 -0.30 6...Ng4 (121)
1/11 0:00 -0.07 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 (264)
2/11 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (461)
3/11 0:00 -0.31 6...d5 7.dxc5 dxc4 8.O-O (1.237)
3/11 0:00 -0.28 6...d6 7.dxc5 Ng4 8.cxd6 Bxc3+
9.bxc3 exd6 (1.894)
3/11 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.408)
3/11 0:00 +0.05 6...cxd4 7.Nxd4 e5 8.Ndb5 (3.204)
4/11 0:00 +0.18 6...cxd4 7.Nxd4 e5 8.Ndb5 Nc6 9.Bxc6 dxc6 (4.556)
5/16 0:00 -0.10 6...cxd4 7.Nxd4 e5 8.Ndb5 Nc6 9.Nd6 (9.675)
6/21 0:00 -0.02 6...cxd4 7.Nxd4 Qc7 8.Nd5 Nxd5
9.Bxd5 Bxd4 10.Qxd4 e5 (33.205)
7/23 0:00 -0.04 6...cxd4 7.Nxd4 Nc6 8.Bxc6 dxc6
9.O-O Bh3 10.Re1 Qd6 (105.445)
8/37 0:01 +0.14 6...cxd4 7.Nxd4 Nc6 8.Nxc6 bxc6
9.Qd3 Ba6 10.O-O d5 11.b3 (291.705) 230
9/37 0:02 -0.30 6...cxd4 7.Nxd4 Nc6 8.O-O Ng4 9.e3 Bxd4
10.exd4 d6 11.Bg5 Bf5 12.Bxc6 bxc6 (654.541) 250
9/37 0:03 -0.11 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Be3 Qh5
10.Nd4 Nxd4 11.Bxd4 Ng4 12.Bxg7 Kxg7 (829.685) 253
10/37 0:05 -0.02 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Be3 Qh5
10.Nd4 Nxd4 11.Bxd4 Ng4 12.Bxg7 Kxg7
13.h4 (1.526.570) 258
11/37 0:12 -0.14 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Qb5 Qxb5
10.Nxb5 Rb8 11.Bf4 d6 12.Nfd4 Nxd4
13.Nxd4 Nd5 (3.433.305) 265
11/37 0:22 +0.05 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5
9.dxc5 Rd8 10.Qb3 Na6 11.Be3 Qxb3
12.axb3 Bxb2 13.Ra2 Bc3+ 14.Nd2 Nb4 (5.919.249) 266
12/37 0:40 0.00 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.O-O Na6
10.dxc5 Qc4 11.Bg5 Re8 12.Qd2 Nxc5
13.Rac1 Qb5 14.Qd5 (11.167.624) 275
13/42 1:28 -0.16 6...d5 7.cxd5 Nxd5 8.O-O Na6 9.Nxd5 Qxd5
10.dxc5 Qc4 11.Bg5 Bxb2 12.Rb1 Bf6
13.c6 bxc6 14.Bxf6 exf6 15.Nd2 Qxa2
16.Bxc6 (24.218.889) 272
13/42 1:56 0.00 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.O-O Ng4
10.Qb5 Qxb5 11.cxb5 Nb4 12.h3 Bxc3
13.bxc3 Nc2 14.hxg4 Nxa1 15.Ne5 (31.558.492) 271
14/42 3:36 -0.22 6...Nc6 7.dxc5 Qa5 8.Qa4 Qxc5 9.Be3 Qa5
10.Nd4 Qxa4 11.Nxa4 Na5 12.b3 d6
13.O-O Bd7 14.Bd2 Nxc4 15.bxc4 Bxa4
16.Bxb7 (58.127.360) 268
14/42 6:28 -0.10 6...Ng4 7.O-O Nc6 8.e3 d6 9.Re1 Na5
10.h3 Nh6 11.b3 Nc6 12.g4 Be6 13.Ng5 (104.110.609) 267
15/42 9:26 -0.15 6...Ng4 7.O-O Nc6 8.d5 Na5 9.Qd3 d6
10.h3 Ne5 11.Nxe5 Bxe5 12.Bh6 Re8
13.h4 Bg4 14.Rac1 Bxc3 15.Rxc3 (151.258.691) 266
16/44 26:54 -0.14 6...Ng4 7.O-O Nc6 8.d5 Nce5 9.Nxe5 Nxe5
10.Qb3 d6 11.Bg5 Bd7 12.Ne4 f6
13.Bf4 Qb6 14.Qc3 Kh8 15.Bxe5 fxe5 (430.624.409) 266
17/44 49:57 -0.08 6...Ng4 7.O-O Nc6 8.e3 d6 9.h3 Nh6
10.dxc5 Bxc3 11.bxc3 dxc5 12.e4 Qxd1
13.Rxd1 Kg7 14.g4 Ng8 15.Bg5 Be6
16.Rab1 (801.418.032) 267
18/45 144:19 -0.07 6...Ng4 7.O-O cxd4 8.Nxd4 d6 9.b3 Na6
10.h3 Nf6 11.Be3 Nd7 12.a3 Nc7 13.b4 Bxd4
14.Qxd4 Ne5 15.Bh6 Ne6 16.Qh4 (2.313.175.946) 267
best move: Nf6-g4 time: 211:51.000 min n/s: 269.273 CPU 100.0% n/s(1CPU): 269.273 nodes: 3.422.700.000
Build 61, two best moves:
1 0:00 -0.07 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 (264)
1 0:00 -0.11 6...d6 (317)
-----
2 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (728)
1 0:00 -0.11 6...d6 (317)
-----
2 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (728)
2 0:00 -0.38 6...d6 7.O-O (1.010)
-----
2 0:00 -0.19 6...d5 7.O-O cxd4 8.Qxd4 (728)
2 0:00 -0.27 6...Nc6 7.dxc5 Ng4 (1.132)
-----
3 0:00 -0.31 6...d5 7.dxc5 dxc4 8.O-O (1.737)
2 0:00 -0.27 6...Nc6 7.dxc5 Ng4 (1.132)
-----
3 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.266)
2 0:00 -0.27 6...Nc6 7.dxc5 Ng4 (1.132)
-----
3 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.266)
3 0:00 -0.31 6...d5 7.dxc5 dxc4 8.O-O (3.092)
-----
3 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (2.266)
3 0:00 -0.29 6...Ng4 7.O-O cxd4 8.Nxd4 Bxd4 9.Qxd4 (3.403)
-----
4 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (4.793)
3 0:00 -0.29 6...Ng4 7.O-O cxd4 8.Nxd4 Bxd4 9.Qxd4 (3.403)
-----
4 0:00 -0.12 6...Ng4 7.O-O Nc6 8.Be3 cxd4 9.Bxd4 (7.026)
4 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (4.793)
-----
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
4 0:00 -0.17 6...Nc6 7.dxc5 Ng4 8.Nd5 Qa5+ 9.b4 (4.793)
-----
5 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 (25.450)
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
-----
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (38.705)
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
-----
6 0:00 +0.03 6...Ng4 7.Be3 Nc6 8.O-O cxd4 9.Nxd4 Bxd4 10.Bxd4 (51.184)
5 0:00 -0.03 6...Ng4 7.Be3 cxd4 8.Nxd4 Bxd4 9.Qxd4 d6 (15.477)
-----
6 0:00 +0.03 6...Ng4 7.Be3 Nc6 8.O-O cxd4 9.Nxd4 Bxd4 10.Bxd4 (51.184)
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (59.242)
-----
7 0:00 -0.32 6...Ng4 7.h3 cxd4 8.Nxd4 Ne5 9.Qb3 Nbc6 10.Bxc6 dxc6 (100.421)
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (59.242)
-----
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849)
6 0:00 0.00 6...Nc6 7.dxc5 Ng4 8.Nb5 a6 9.Qa4 axb5 10.Qxa8 bxc4 (59.242)
-----
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849)
7 0:00 -0.32 6...Ng4 7.h3 cxd4 8.Nxd4 Ne5 9.Qb3 Nbc6 10.Bxc6 dxc6 (162.085)
-----
7 0:00 +0.06 6...d5 7.dxc5 dxc4 8.O-O Ng4 9.Qxd8 Rxd8 10.Bd2 Nc6 (204.639)
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849)
-----
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (268.040) 240
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849) 240
-----
8 0:01 +0.12 6...cxd4 7.Nxd4 Nc6 8.Bxc6 dxc6 9.Be3 Nd7 10.h3 c5 11.Ndb5 Bxc3+ 12.Nxc3 (377.941) 240
7 0:00 -0.08 6...Nc6 7.dxc5 Ng4 8.Bd2 Qa5 9.Nb5 Nb4 10.Qb3 (131.849) 240
-----
8 0:01 +0.12 6...cxd4 7.Nxd4 Nc6 8.Bxc6 dxc6 9.Be3 Nd7 10.h3 c5 11.Ndb5 Bxc3+ 12.Nxc3 (377.941) 240
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (393.584) 240
-----
9 0:03 -0.21 6...cxd4 7.Nxd4 Nc6 8.O-O Na5 9.c5 d6 10.b4 dxc5 11.bxc5 Nc4 (728.792) 235
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (393.584) 235
-----
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 235
8 0:01 +0.04 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.dxc5 Rd8 10.Qxd5 Rxd5 11.e4 Rxc5 12.Be3 Rc2 (393.584) 235
-----
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 239
9 0:04 -0.21 6...cxd4 7.Nxd4 Nc6 8.O-O Na5 9.c5 d6 10.b4 dxc5 11.bxc5 Nc4 (1.076.737) 239
-----
9 0:05 +0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.e4 (1.253.403) 235
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 235
-----
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 234
9 0:03 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Ne5 Qxc5 10.Bf4 Nbd7 11.Na4 Qb4 (937.162) 234
-----
10 0:10 +0.05 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qa4 Qxa4 10.Nxa4 Nc6 11.Bf4 Nd5 12.Rfd1 (2.466.049) 239
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 239
-----
11 0:15 -0.21 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Nd2 Nfd7 10.Nxc4 Bxc3+ 11.bxc3 Nxc5 12.Bg5 Re8 13.Be3 Nba6 14.O-O-O (3.965.349) 247
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 247
-----
11 0:19 -0.12 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 (4.809.857) 247
10 0:06 -0.01 6...Ng4 7.e3 d6 8.O-O Nc6 9.h3 Nf6 10.dxc5 dxc5 11.Ng5 Ne5 (1.483.270) 247
-----
11 0:19 -0.12 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 (4.809.857) 246
11 0:23 -0.21 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Nd2 Nfd7 10.Nxc4 Bxc3+ 11.bxc3 Nxc5 12.Bg5 Re8 13.Be3 Nba6 14.O-O-O (5.694.642) 246
-----
12 0:42 -0.10 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 12.Bf4 (10.553.818) 246
11 0:23 -0.21 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Nd2 Nfd7 10.Nxc4 Bxc3+ 11.bxc3 Nxc5 12.Bg5 Re8 13.Be3 Nba6 14.O-O-O (5.694.642) 246
-----
12 1:07 +0.04 6...d5 7.dxc5 dxc4 8.Qxd8 Rxd8 9.Ne5 Nfd7 10.Nxd7 Nxd7 11.Be3 Ne5 12.Rd1 Rxd1+ 13.Nxd1 Rb8 14.Bg5 Nc6 (17.034.665) 252
12 0:42 -0.10 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 12.Bf4 (10.553.818) 252
-----
13 1:47 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qd4 Ng4 10.Qxc4 Be6 11.Nd5 Nc6 12.e4 b5 13.cxb6 Bxd5 14.Qxd5 Qxb6 (28.395.295) 264
12 0:42 -0.10 6...Ng4 7.e3 d6 8.O-O Na6 9.h3 Nf6 10.Qb3 Nb4 11.e4 Bd7 12.Bf4 (10.553.818) 264
-----
13 2:45 +0.07 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 e5 10.dxc5 dxc5 11.Qb3 Qb6 12.Qxb6 axb6 13.h3 Nf6 (43.598.904) 263
13 1:47 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qd4 Ng4 10.Qxc4 Be6 11.Nd5 Nc6 12.e4 b5 13.cxb6 Bxd5 14.Qxd5 Qxb6 (28.395.295) 263
-----
14 3:39 -0.06 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (57.227.476) 261
13 1:47 -0.04 6...d5 7.dxc5 dxc4 8.O-O Qa5 9.Qd4 Ng4 10.Qxc4 Be6 11.Nd5 Nc6 12.e4 b5 13.cxb6 Bxd5 14.Qxd5 Qxb6 (28.395.295) 261
-----
14 3:39 -0.06 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (57.227.476) 265
14 5:53 -0.09 6...d5 7.cxd5 Nxd5 8.Nxd5 Qxd5 9.O-O cxd4 10.Be3 Rd8 11.Nxd4 Qa5 12.Qc2 Bxd4 13.Bxd4 Bf5 14.Qc3 Qb5 15.Bc5 Qxe2 16.Bxb7 (93.803.717) 265
-----
14 3:39 -0.06 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (57.227.476) 264
14 6:37 -0.06 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (105.113.739) 264
-----
15 8:46 -0.03 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Bd2 Ng4 11.h3 cxd4 12.exd4 Nxd4 13.Nxd4 Nxf2 14.Kxf2 Bxd4+ 15.Kf1 e5 16.Qf3 (138.471.248) 263
14 6:37 -0.06 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Na4 cxd4 11.exd4 Nf5 12.Be3 e5 13.Bg5 Bf6 (105.113.739) 263
-----
15 8:46 -0.03 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Nh6 10.Bd2 Ng4 11.h3 cxd4 12.exd4 Nxd4 13.Nxd4 Nxf2 14.Kxf2 Bxd4+ 15.Kf1 e5 16.Qf3 (138.471.248) 264
15 12:55 -0.14 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Bd2 Bg4 11.dxc5 dxc5 12.e4 Bxf3 13.Bxf3 Ne5 14.Be2 Qd4 (205.451.694) 264
-----
16 23:18 -0.12 6...Ng4 7.e3 Nc6 8.O-O d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (371.076.050) 265
15 12:55 -0.14 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Nh6 10.Bd2 Bg4 11.dxc5 dxc5 12.e4 Bxf3 13.Bxf3 Ne5 14.Be2 Qd4 (205.451.694) 265
-----
16 23:18
16 32:59 -0.12 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (524.686.862) 265
-----
17 88:12 -0.06 6...Ng4 7.O-O Nc6 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.428.170.280) 269
16 32:59 -0.12 6...Nc6 7.O-O Ng4 8.e3 d6 9.Re1 Re8 10.h3 Nf6 11.dxc5 dxc5 12.e4 Nd7 13.Bd2 Nb6 14.Qb3 Bxc3 15.Bxc3 (524.686.862) 269
-----
17 88:12 -0.06 6...Ng4 7.O-O Nc6 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.428.170.280) 268
17 112:07 -0.06 6...Nc6 7.O-O Ng4 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.808.415.848) 268
-----
18 149:40 -0.04 6...Ng4 7.O-O Nc6 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Qxc3 12.Qb3 Qa5 13.Ng5 Re8 14.Bd5 e6 15.Bxc6 dxc6 16.Rad1 e5 17.Qc2 (2.408.736.040) 268
17 112:07 -0.06 6...Nc6 7.O-O Ng4 8.dxc5 Bxc3 9.bxc3 Qa5 10.h3 Nf6 11.Be3 Ne4 12.Qc2 Nxc3 13.a4 f5 14.Ng5 h6 15.Bxc6 dxc6 16.Bd4 hxg5 17.Qxc3 (1.808.415.848) 268
best move: Nf6-g4 time: 211:50.921 min n/s: 269.501 CPU 100.0% n/s(1CPU): 269.501 nodes: 3.425.600.000
Eelco
Debugging is twice as hard as writing the code in the first
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.
-- Brian W. Kernighan
-
pijl
Re: Confused by MultiPV
The other examples show that this is certainly not the case. This is an exception, rather than a rule. And the penalty is in the other examples much larger than the benefit in this one.bob wrote:There is more going on that that. If that is the case you ought to always search for the 2 best moves since it will be faster. Which makes absolutely no sense.pijl wrote:I've put multipv to the test. I've done four positions, each of them searched up to 12 ply with CTD in 1 to 4 pv mode.
Of course, the conclusion is that multipv generally hurts, but how much depends on both hashtable, score distance between best and nth move and the amount of pv changes that occur, both in the normal mode and in the nth best lines.
The first one is a position with lots of transpositions: The start position. An additional characteristic is that all moves are within a small score window, so multi pv should not hurt as much.
CTD is stubborn concerning its bestmove, so the normal search has no PV change:
10 ply:
1 pv: 2.2M nodes
2 pv: 2.3M nodes
3 pv: 3.4M nodes
4 pv: 3.6M nodes
5 pv: 4.3M nodes
11 ply:
1 pv: 6.5M nodes
2 pv: 6.0M nodes!
3 pv: 11.3M nodes
4 pv: 11.2M nodes!
5 pv: 12.0M nodes
12 ply:
1 pv: 13.0M nodes
2 pv: 12.8M nodes!
3 pv: 21.3M nodes
4 pv: 27.3M nodes
5 pv: 29.3M nodes
Interesting to see is that the 2pv mode sometimes needs less nodes to complete a ply. I guess that is due to the larger amount of relevant exact scores in the hashtable due to the number of transpositions the search will find.
I haven't looked much closer at this, but there are at least three things that can reduce the overhead of a multipv search:
1. Small distance between the scores of the different moves, reducing the penalty of the lower alpha.
2. The amount of potential transpositions from the root position, so that the majority of the work for the 2nd move is already done while calculating the pv for the first move
3. Additional work for a pv change in a single pv version as iterative deepening hasn't been executed in the same extend for the new pv move as in the multipv mode.
Richard.
-
bob
- Posts: 20943
- Joined: Mon Feb 27, 2006 7:30 pm
- Location: Birmingham, AL
Re: Confused by MultiPV
I would agree that it can be "free". But I do not agree that it can be "better than free". Which is the case being discussed here. It could be "as fast as" but if it is faster, there is something else going on that is unsound.
-
pijl
Re: Confused by MultiPV
If everything else is the same (e.g. exact the same hash entries) you're right. But at iteration i-1 you're also doing more work, and the hash is populated in a different way then. That can be beneficial in terms of hashmoves found or more direct cutoffs in nullmove tries.bob wrote:I would agree that it can be "free". But I do not agree that it can be "better than free". Which is the case being discussed here. It could be "as fast as" but if it is faster, there is something else going on that is unsound.
The point I've been trying to make is that the extra work that you're doing by examining multiple pv's can be put to good use, so that the cost of multipv is (on average) not as big as you've estimated in a different post here. But the cost is still considerable and the exceptions where multipv (2-pv) is faster than a regular search are just that: exceptions. And even then the savings are minute.
Richard.