PV-move ordering necessary if you have TT-move ordering?

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
lithander
Posts: 915
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: PV-move ordering necessary if you have TT-move ordering?

Post by lithander »

hgm wrote: Fri Jul 02, 2021 11:42 am That doesn't seem a likely explanation. There should not be any cut in a PV node; you always search all moves there. Besides, only 11 nodes of each search should have a PV move from the triangular array available, which should be a completely negligible fraction of the nodes.
The moves in the tri-table are perfectly legal moves in most positions of the same depth! You can play them legally in ~70% of the positions. That's the "PV played" statistic in my original log.

But why would I do that? Just grab a move from tri-table that was only the PV move for a very specific position and try to play it? I do that because playing it will result in a beta-cutoff in 80% of all positions and this is a chance to avoid generating moves. And if I can run my move generator less often I save performance. Checking that the move is available and legal is cheaper than running the move generator. And that's why I'm playing the move from the PV before generating and sorting the captures.

The test tonight showed that the advantage is really small now (only 4% faster) but before I had a TT the advantage of playing the PV move (taken from the tri table at the current depht, then tested if it was legal) before any of the captures was huge! About 3-4x faster than just starting with the captures directly. And once I had a TT and a best-move from it still seemed like a (small) advantage to leave the old code in...

I'm sorry for causing so much confusion. :/
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
User avatar
hgm
Posts: 28396
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: PV-move ordering necessary if you have TT-move ordering?

Post by hgm »

Interesting. As far as I know, no one does that. You use the PV as a kind of killer, from a branch that is even less related than the normal killers. But killers are normally played after the captures, so it is amazing that playing the PV move before the captures would be beneficial.
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: PV-move ordering necessary if you have TT-move ordering?

Post by mvanthoor »

lithander wrote: Fri Jul 02, 2021 2:09 pm The test tonight showed that the advantage is really small now (only 4% faster) but before I had a TT the advantage of playing the PV move (taken from the tri table at the current depht, then tested if it was legal) before any of the captures was huge! About 3-4x faster than just starting with the captures directly. And once I had a TT and a best-move from it still seemed like a (small) advantage to leave the old code in...
I think the 4% advantage comes from using the tri-table PV-move, where the TT has overwritten its own copy of the PV-move. If you're using buckets and/or a larger TT, overwriting the PV-move will happen less often, and so the gain of keeping PV-move ordering will be even smaller.

And yes, if you don't have a TT, ordering on the PV-move is a huge boost. That's why I said the TT will probably onlyl add cutting on the TT-value to your engine, as PV-move ordering is replaced by TT-move ordering.
hgm wrote: Fri Jul 02, 2021 2:57 pm Interesting. As far as I know, no one does that. You use the PV as a kind of killer, from a branch that is even less related than the normal killers. But killers are normally played after the captures, so it is amazing that playing the PV move before the captures would be beneficial.
In my case, saving the move that gave the best evaluation why still not raising alpha, provided a 20 Elo boost (verified by CuteChess' SPRT-test) to my engine when I didn't have a tapered evaluation. Now that the evaluation is tapered, this gives a 3.5 Elo advantage, but the error bar is 5.1 Elo. Therefore CuteChess cannot prove that putting the "best of the worst moves" in the TT is beneficial and rejects that. So I'm taking that out now.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: PV-move ordering necessary if you have TT-move ordering?

Post by mvanthoor »

By the way: putting positions into the TT at depth = 0 in QSearch and probing there, weakens Rustic by about 50 Elo. It seems the TT does not compensate for the speed loss. (Or I should not put everything into the TT with depth = 0, but as QSearch doesn't need/have a depth parameter, I don't know what else I should put there. Still add the depth parameter, and go -1, -2, -3....?)
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
lithander
Posts: 915
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: PV-move ordering necessary if you have TT-move ordering?

Post by lithander »

hgm wrote: Fri Jul 02, 2021 2:57 pm Interesting. As far as I know, no one does that. You use the PV as a kind of killer, from a branch that is even less related than the normal killers. But killers are normally played after the captures, so it is amazing that playing the PV move before the captures would be beneficial.
Well, when you do iterative deepening and have a TT that stores best moves and you start a new search the first few moves will just go down the PV found in the last iteration, right? You start with the best move from the last iteration, then search the PV move from that position and when you finally run out of pv-moves you explore all the leafs and then you propagate the score back and you now have a narrow alpha-beta-window and now most of the other moves that branch off from the trunk of the tree are MVV-LVA sorted captures and they will get culled.

And I didn't have a TT but I wanted the same efficient start and by playing the moves from the tri-table before you play anything else you get exactly that! It's almost as efficient as having a TT table that stores best moves. (I just tested it again... it's only 30% less efficient in time and number of explored nodes on the same dataset than my TT bestmoves)

It could be that the efficient start and the chance to avoid the expensive move generator is all there is about it. And that playing the PV moves outside the actual PV is not providing any additional value. I never thought about it so thoroughly before. It was just something I did on a hunch and that proved massively beneficial and so I stuck with it.

As I said before: With the TT providing the same efficient start the added benefit of playing the moves from the tri-table early is negligible (but still measurable as I have proven in my nightly test) and I may remove it in a future version for the sake of simplicity.
Last edited by lithander on Fri Jul 02, 2021 3:48 pm, edited 1 time in total.
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
User avatar
lithander
Posts: 915
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: PV-move ordering necessary if you have TT-move ordering?

Post by lithander »

mvanthoor wrote: Fri Jul 02, 2021 3:16 pm I think the 4% advantage comes from using the tri-table PV-move, where the TT has overwritten its own copy of the PV-move. If you're using buckets and/or a larger TT, overwriting the PV-move will happen less often, and so the gain of keeping PV-move ordering will be even smaller.
I think the advantage comes also from not having to generate any moves on every 2nd position that I search. As Harm Geert said it's basically a killer move that isn't even a proven killer (because it was a PV move and not a killer when it got stored) but any move that has a high chance to be legal and a high chance to provide a cut-off is worth to try if it allows you to save the move generation. I think that's why it's still providing a tiny boost. But it's tiny and it's counterintuitive for the more experienced chess programmers and so I'll gladly get rid of it. No problem at all! ;)

(I might also try to store *actual* killers in the now obsolete tri-table (and report the PV to the GUI by extracting it from the TT) and see how that serves me!)
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: PV-move ordering necessary if you have TT-move ordering?

Post by mvanthoor »

lithander wrote: Fri Jul 02, 2021 3:46 pm (I might also try to store *actual* killers in the now obsolete tri-table (and report the PV to the GUI by extracting it from the TT) and see how that serves me!)
Note that you could lose part of your PV because a move is overwritten. I just store the PV in a variable. I could try getting it from the TT at some point to save on storing that variable. It would be a tiny speedup. (There's also a tiny speedup in the pick-move function which I need to retest, because in the past, making that function more efficiënt in doing less swaps, slowed the engine down :shock: )
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL
User avatar
hgm
Posts: 28396
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: PV-move ordering necessary if you have TT-move ordering?

Post by hgm »

lithander wrote: Fri Jul 02, 2021 3:40 pmAnd I didn't have a TT but I wanted the same efficient start and by playing the moves from the tri-table before you play anything else you get exactly that! It's almost as efficient as having a TT table that stores best moves. (I just tested it again... it's only 30% less efficient in time and number of explored nodes on the same dataset than my TT bestmoves)
Well, the logic behind searching captures first is that in a typical quiet chess position many moves are blunders, but only can be punished in a very specific way. Namely by capturing the moved piece. When you fail to do that, the blunder move usually reaps a great gain: the moved piece might make all kinds of new attacks from its new location, which it will capture next, or it might already have grabbed something and can retain that by simply withdrawing. So many moves have only a single refutation, which is very specific to the move. Playing a move from the PV from which they branched off many ply ago is very unlikely to be that move.

That is the theory, at least.

You should collect statistics how often the PV move causes a cutoff, in comparison with TT move, capture, killer etc.
User avatar
lithander
Posts: 915
Joined: Sun Dec 27, 2020 2:40 am
Location: Bremen, Germany
Full name: Thomas Jahn

Re: PV-move ordering necessary if you have TT-move ordering?

Post by lithander »

mvanthoor wrote: Fri Jul 02, 2021 3:56 pm Note that you could lose part of your PV because a move is overwritten. I just store the PV in a variable. I could try getting it from the TT at some point to save on storing that variable. It would be a tiny speedup. (There's also a tiny speedup in the pick-move function which I need to retest, because in the past, making that function more efficiënt in doing less swaps, slowed the engine down :shock: )
It is noticable that when I reduce the hash size the collisions go up and number of searched nodes go also up (the tree is searched less efficiently)

Couldn't one store it in the PV but protect the slot against being overwritten as long as the PV does not change? (How do I know the PV changes... well we could use a tri-table for that)
hgm wrote: Fri Jul 02, 2021 3:57 pm You should collect statistics how often the PV move causes a cutoff, in comparison with TT move, capture, killer etc.
The data in my first post in this thread contains some of these statistics for each position in the test set.

TT played: 8%, cuts: 94%, PV played 63%, cuts 85%, TT Index Collisions: 16%

Such a line means that in 8% of all positions a best move from the TT was found. In 94% of when such a move was played the move generator was never asked to provide another move for this position. So in 94% of the cases playing the best move was enough to create a cut-off.

Now in stage 2 the PV is played. It's taken from the tri-table. In 37% of the cases this move wasn't even legal. But in 63% it got played and in 85% of the cases when the PV was legal and was played the move generator never had to provide another move so there was a cut-off.

Then TT Index Collision just means that in 16% of the attempts to store a position in my 50MB hash-table the slot was already occupied by a different position and had to be overwritten. If I increase the hash size this value changes proportionally. If I make the hash large enough the TT played statistic goes slightly up!

Here's a longer excerpt from the testrun. The complete data is too large for this message.

Code: Select all

White >> ? 11 ECM.epd
   1. [X] f6f7 g8f7 e1e4 e8e4 f3g5 f7g7 g5e4 d7c6 f1g2 c8e6 f2c2 = +282.00, 6418K nodes, 5472.8442ms
    TT played: 8%, cuts: 94%, PV played 63%, cuts 85%, TT Index Collisions: 16%
   2. [X] c6f3 d1f3 h8h2 g2h2 e5f3 h2g2 f3d4 c3b5 e6e5 b5d4 e5d4 = -128.00, 2243K nodes, 1829.3286ms
    TT played: 9%, cuts: 95%, PV played 58%, cuts 79%, TT Index Collisions: 9%
   3. [X] b3b5 c6b5 c7c8Q e8f7 c8e6 f7e6 d5c7 e6e7 c7b5 a7a5 b5d4 = +177.00, 3499K nodes, 3346.4757ms
    TT played: 10%, cuts: 94%, PV played 58%, cuts 66%, TT Index Collisions: 15%
   4. [X] c8c5 b4c5 d5d3 d2d3 c4c5 g1h1 c5a7 d3d6 a7a4 f1c1 a4e4 = -292.00, 9687K nodes, 7862.2402ms
    TT played: 7%, cuts: 95%, PV played 66%, cuts 85%, TT Index Collisions: 24%
   5. [X] c5f2 g1f2 f6g4 f2f1 g4h2 f1g1 c7g3 e2e7 d7e6 e7e8 g8g7 = -154.00, 39248K nodes, 32108.7726ms
    TT played: 4%, cuts: 95%, PV played 68%, cuts 79%, TT Index Collisions: 55%
   6. [X] g5f6 d8f6 h6g4 f6f3 g2f3 e5g5 f3e4 g5g4 g1h1 g4e4 b2b4 = +30.00, 9722K nodes, 8134.752ms
    TT played: 6%, cuts: 95%, PV played 66%, cuts 85%, TT Index Collisions: 23%
   7. [X] g1g7 f6g7 f5f7 g8h8 c1g1 b7g2 g1g2 e8g8 e5g6 h8h7 g6e7 = +615.00, 15920K nodes, 15115.438ms
    TT played: 7%, cuts: 95%, PV played 65%, cuts 82%, TT Index Collisions: 32%
   8. [X] c8g4 f3f2 d5d4 a1e1 d4e3 f1e3 f6d5 d3f1 h3h5 f1c4 g4f3 = -434.00, 13455K nodes, 11490.7045ms
    TT played: 8%, cuts: 94%, PV played 64%, cuts 83%, TT Index Collisions: 29%
   9. [X] h5h3 b2b3 h3h8 d2f1 g5g4 f3f4 e5d3 f2e2 e6e5 f1e3 e5f4 = -267.00, 44110K nodes, 36312.5485ms
    TT played: 5%, cuts: 94%, PV played 62%, cuts 78%, TT Index Collisions: 53%
  10. [X] g5c1 e1c1 c8c3 c1d2 c3c1 d2c1 d4e2 g1f1 e2c1 b7d5 c1d3 = -64.00, 3272K nodes, 2832.9552ms
    TT played: 11%, cuts: 95%, PV played 66%, cuts 78%, TT Index Collisions: 11%
  11. [X] f6g4 f3g4 h8h4 g3f1 b8h8 c4e3 h4h2 f1h2 h8h2 g2f3 h2e2 = -169.00, 83591K nodes, 63831.5731ms
    TT played: 4%, cuts: 95%, PV played 68%, cuts 82%, TT Index Collisions: 64%
  12. [X] c6e7 g8g7 e7g6 h7g6 h4e7 g7g8 e7f8 g8f8 e5g6 f8f7 g6f4 = +332.00, 7427K nodes, 6341.3879ms
    TT played: 7%, cuts: 96%, PV played 63%, cuts 76%, TT Index Collisions: 20%
  13. [X] f4d5 e7d5 f3f6 d5f6 c1h6 b7b5 c4d3 f6g4 h6f8 g8f8 e4e5 = +192.00, 10647K nodes, 9180.0458ms
    TT played: 6%, cuts: 96%, PV played 64%, cuts 85%, TT Index Collisions: 27%
  14. [X] c3d5 c6d5 c2c3 b4b6 e3d4 b6d4 c3d4 d5e4 f1d1 h8d8 h2h3 = +80.00, 227303K nodes, 185778.745ms
    TT played: 1%, cuts: 94%, PV played 72%, cuts 85%, TT Index Collisions: 77%
  15. [X] f3e5 g4d1 f1b5 e8d8 e5f7 d8c7 f7d6 e7d6 a1d1 f8e7 e1g1 = +808.00, 4410K nodes, 4213.9468ms
    TT played: 6%, cuts: 93%, PV played 67%, cuts 85%, TT Index Collisions: 16%
  16. [X] c8c5 a3c5 b7f3 g2f3 d4d3 d1d3 d8d3 f3f4 d3d2 c5e7 e5f3 = -118.00, 18424K nodes, 14500.4745ms
    TT played: 3%, cuts: 96%, PV played 67%, cuts 84%, TT Index Collisions: 36%
  17. [ ] e4f6 e8f8 f6d5 c6d5 d1d5 c8b7 d5e5 b4d6 e5f5 g2f2 e3h6 = +188.00, 6631K nodes, 5884.5269ms
    TT played: 7%, cuts: 95%, PV played 68%, cuts 82%, TT Index Collisions: 21%
  18. [X] e4d6 f8d6 a3d6 c7d6 d4e5 d6e7 e5f6 e7f6 d3e4 a8d8 d1d8 = +117.00, 21031K nodes, 15368.7879ms
    TT played: 8%, cuts: 96%, PV played 67%, cuts 92%, TT Index Collisions: 23%
  19. [ ] d4e6 c7b8 f1e1 f6h4 e6f4 h4d8 e1f1 d5d4 f4g6 f7e8 h5h8 = +489.00, 2925K nodes, 2596.7993ms
    TT played: 16%, cuts: 92%, PV played 54%, cuts 73%, TT Index Collisions: 9%
  20. [X] c2a4 b5a4 f5h6 g7h6 c1c8 b8c8 f3g4 e8g7 g4c8 h6h5 e1c1 = +325.00, 7545K nodes, 5859.2629ms
    TT played: 9%, cuts: 97%, PV played 64%, cuts 84%, TT Index Collisions: 19%
  21. [X] c4c3 e2e3 c3e3 f2e3 d5f6 g3f3 f7e8 e3e4 f6e4 f3e3 e4g5 = -55.00, 3859K nodes, 3201.0827ms
    TT played: 14%, cuts: 95%, PV played 62%, cuts 79%, TT Index Collisions: 10%
  22. [X] e7b4 e1d1 a6d3 c2d3 e4f2 d1e2 f2d3 b1d3 c8e8 e2f3 a8b8 = -325.00, 12501K nodes, 10558.5936ms
    TT played: 3%, cuts: 96%, PV played 67%, cuts 82%, TT Index Collisions: 31%
  23. [X] f3d5 e6d5 c3d5 b6e6 d5c7 e6e5 f1e1 e5g5 c7a8 f8d8 d1g4 = +130.00, 5491K nodes, 4635.2494ms
    TT played: 7%, cuts: 93%, PV played 69%, cuts 84%, TT Index Collisions: 18%
  24. [X] h3h7 e7h7 h2h7 h8h7 a1h1 h7g7 f5f6 g7f6 e5d7 f6g6 d7b6 = +597.00, 971K nodes, 853.7818ms
    TT played: 12%, cuts: 95%, PV played 54%, cuts 80%, TT Index Collisions: 2%
  25. [X] d5f7 g8g7 f7h5 b2c1 g1h2 h6f4 g2g3 f4d6 d3b5 a5a4 b5e8 = +232.00, 5688K nodes, 5257.159ms
    TT played: 7%, cuts: 94%, PV played 63%, cuts 67%, TT Index Collisions: 18%
  26. [X] d4c5 f5d6 c3c4 e7e6 c4d5 e6d5 c5d6 f3f2 d2c1 d5d6 c2e4 = +214.00, 6599K nodes, 5809.3486ms
    TT played: 7%, cuts: 93%, PV played 67%, cuts 79%, TT Index Collisions: 18%
  27. [X] b7g2 h1g2 e3b3 f7h6 g7h6 f5f8 a8f8 f1f8 g8f8 a2b3 d1c3 = -402.00, 6011K nodes, 5798.0945ms
    TT played: 9%, cuts: 93%, PV played 64%, cuts 77%, TT Index Collisions: 18%
  28. [ ] d2f4 d6f4 a1e1 a8b8 e2g4 f4e5 e4g5 e5b2 d3h7 g8h8 h7d3 = -37.00, 45969K nodes, 37849.6715ms
    TT played: 4%, cuts: 95%, PV played 66%, cuts 81%, TT Index Collisions: 64%
  29. [X] d6a6 b7a6 g4g6 h7g6 f5e5 f7f6 e5e8 d8e8 d7e8Q g8h7 d4e3 = +311.00, 9090K nodes, 7480.6892ms
    TT played: 11%, cuts: 95%, PV played 60%, cuts 80%, TT Index Collisions: 21%
  30. [X] g4e2 d4c5 b4d3 e1e2 d3b2 c5e7 d8e7 d1b2 e7a3 c1b1 a3a2 = -348.00, 20965K nodes, 16049.5782ms
    TT played: 5%, cuts: 94%, PV played 66%, cuts 85%, TT Index Collisions: 35%
  31. [X] f5d4 e2d4 d7d4 d3d4 d8d4 d1d4 a5e1 g1h2 e1e5 b3g3 e5d4 = -133.00, 5885K nodes, 4795.8305ms
    TT played: 8%, cuts: 95%, PV played 67%, cuts 83%, TT Index Collisions: 16%
  32. [X] c4e5 e8e5 c1f4 d8c6 a3e3 c6d4 e2c4 e5e4 e3e4 c8e6 c4d4 = +205.00, 24847K nodes, 21015.8456ms
    TT played: 3%, cuts: 94%, PV played 66%, cuts 79%, TT Index Collisions: 53%
  33. [X] d6d5 f8d8 e7c6 d8g8 c6b4 c8b7 d5g8 a8g8 b4a2 d7c5 g2g3 = +185.00, 15979K nodes, 15100.7594ms
    TT played: 7%, cuts: 96%, PV played 65%, cuts 75%, TT Index Collisions: 39%
  34. [X] h5f6 g7f6 e5f6 b8c6 f6f7 g8f8 f7e8Q f8e8 f3e3 e7g6 e2h5 = +138.00, 9265K nodes, 7158.6585ms
    TT played: 7%, cuts: 94%, PV played 65%, cuts 87%, TT Index Collisions: 18%
  35. [ ] b2a3 d6e4 g5e4 c8c5 d1d7 e7e6 d7d8 e6b6 d8f8 g8f8 e4c5 = +154.00, 18469K nodes, 14906.7975ms
    TT played: 4%, cuts: 96%, PV played 65%, cuts 79%, TT Index Collisions: 43%
  36. [X] b3c1 d1c1 b7b2 c2b2 b8b2 a2b2 f6b2 c1b1 b2c3 e1d3 a8c6 = -151.00, 14507K nodes, 10891.0161ms
    TT played: 7%, cuts: 95%, PV played 64%, cuts 88%, TT Index Collisions: 27%
  37. [X] a4b5 b7b6 c1g5 f6e5 c5d3 g6d3 g2c6 e7c6 b5c6 d3e4 f1e1 = +299.00, 41659K nodes, 35133.6337ms
    TT played: 6%, cuts: 96%, PV played 72%, cuts 83%, TT Index Collisions: 52%
  38. [X] g7e5 d6d7 h7g6 b6c7 b2b7 c7e5 b7d7 e3f2 d7e7 d4c6 e7d7 = -126.00, 611K nodes, 571.6932ms
    TT played: 14%, cuts: 95%, PV played 59%, cuts 74%, TT Index Collisions: 2%
  39. [X] a8a1 b1a1 g7d4 d2d4 c5b3 c3e2 b3d4 d1d4 b6d4 e2d4 h4g3 = -118.00, 180996K nodes, 121575.0735ms
    TT played: 1%, cuts: 94%, PV played 69%, cuts 86%, TT Index Collisions: 69%
  40. [X] e5c6 b7c6 a3d6 e7d6 c1c6 h5e2 c6d6 e2e6 d6e6 c8e6 f1e1 = +179.00, 50212K nodes, 39072.1218ms
    TT played: 4%, cuts: 96%, PV played 67%, cuts 86%, TT Index Collisions: 51%
  41. [X] e4g3 e2e4 g3e2 g1h1 d5e5 f2f4 e2c1 f4e5 c1d3 h1g1 d3e5 = -199.00, 3008K nodes, 2516.5642ms
    TT played: 9%, cuts: 94%, PV played 62%, cuts 85%, TT Index Collisions: 10%
  42. [X] g3f2 e3f2 b6f2 g1f2 d7d2 e6e2 d2g5 b3e6 c8b8 b4b5 g5f4 = -180.00, 16786K nodes, 13849.8162ms
    TT played: 4%, cuts: 96%, PV played 67%, cuts 78%, TT Index Collisions: 36%
  43. [ ] g6f5 c2c4 d5c4 b3a5 c6d7 a5c4 c8c4 h2h3 f5f4 g3f3 g4f6 = -250.00, 83785K nodes, 68160.3579ms
    TT played: 6%, cuts: 96%, PV played 66%, cuts 80%, TT Index Collisions: 59%
  44. [X] d3h7 g8h7 c3e4 d6f4 e4g5 h7g6 d2f4 f8f4 g5e6 f4e4 e6c5 = +74.00, 103254K nodes, 87730.3585ms
    TT played: 0%, cuts: 95%, PV played 71%, cuts 82%, TT Index Collisions: 75%
  45. [X] g8g2 g1h1 g2g1 d1g1 d7c6 f2f3 c6f3 f6f3 d8d6 g1g8 e8e7 = +69.00, 738K nodes, 766.9637ms
    TT played: 13%, cuts: 92%, PV played 63%, cuts 76%, TT Index Collisions: 3%
  46. [X] e6d5 f3d5 b2b5 c6b5 a6b5 d5c6 d4a1 f1a1 b5b4 a1e1 d8d6 = -286.00, 24022K nodes, 19505.225ms
    TT played: 3%, cuts: 97%, PV played 70%, cuts 81%, TT Index Collisions: 45%
  47. [X] e6f7 g8f7 d1d7 c7d7 c4e5 f7e7 e5d7 f8g7 e4e5 e7d7 c1f4 = +783.00, 10141K nodes, 7885.0223ms
    TT played: 7%, cuts: 96%, PV played 57%, cuts 80%, TT Index Collisions: 27%
  48. [X] d4d3 e2d3 a5e5 d1b2 f8a3 a1b1 c6b4 c2c1 a3b2 c1b2 e5b2 = -211.00, 10152K nodes, 8876.7337ms
    TT played: 7%, cuts: 95%, PV played 69%, cuts 87%, TT Index Collisions: 29%
  49. [ ] f1a1 g7e8 a6a7 e7g5 a7b7 d7b7 a1a7 g5e3 f2e3 b7c8 g4h6 = +139.00, 77893K nodes, 63464.1475ms
    TT played: 4%, cuts: 94%, PV played 64%, cuts 82%, TT Index Collisions: 68%
  50. [X] h8f8 d8f8 d4g7 c5f2 g7f8 c8c7 e2c4 b5c4 f8e7 c7c6 e7e8 = +266.00, 7118K nodes, 5621.4179ms
    TT played: 8%, cuts: 96%, PV played 57%, cuts 84%, TT Index Collisions: 15%
  51. [ ] e7c5 e3c5 f8c5 d3e4 c5e3 c1b1 d8d1 h1d1 f5e4 h2g1 g5f4 = -83.00, 7778K nodes, 6152.2821ms
    TT played: 8%, cuts: 94%, PV played 61%, cuts 84%, TT Index Collisions: 18%
  52. [X] h8f8 f7f8 f4e6 f8g8 e6c7 e5f3 e1f2 g7c7 f2f3 c5b4 h1h8 = +258.00, 15471K nodes, 11957.3105ms
    TT played: 5%, cuts: 95%, PV played 60%, cuts 80%, TT Index Collisions: 29%
  53. [X] f6e4 c3e4 c5e4 f3e4 g7d4 g1h1 d8b6 a1d1 b6b2 d2b2 d4b2 = -20.00, 27147K nodes, 21133.2756ms
    TT played: 8%, cuts: 96%, PV played 69%, cuts 88%, TT Index Collisions: 35%
  54. [ ] a4b6 c8d7 c3c7 d7b5 b1e1 f8d7 d2c1 d7b6 e3b6 b8c8 c7c8 = +124.00, 41323K nodes, 32843.8731ms
    TT played: 5%, cuts: 96%, PV played 67%, cuts 85%, TT Index Collisions: 53%
  55. [ ] e6f5 f1d1 b7d5 b3a5 c2c5 d4b4 c5c1 b1c1 d6b4 d1d5 f8c8 = +374.00, 17573K nodes, 16722.5531ms
    TT played: 6%, cuts: 95%, PV played 68%, cuts 74%, TT Index Collisions: 42%
  56. [X] f1f6 g7f6 g3e4 c5f8 e5f6 e8e4 e2e4 f8f6 e4e8 g8g7 c2c3 = +113.00, 46671K nodes, 41681.6981ms
    TT played: 3%, cuts: 96%, PV played 68%, cuts 80%, TT Index Collisions: 62%
  57. [X] c7c3 d2c3 d4e2 g1h1 e2c3 d5b3 c3b1 b3b1 f4f3 h1g1 f3g2 = -129.00, 56396K nodes, 43491.4466ms
    TT played: 4%, cuts: 96%, PV played 68%, cuts 84%, TT Index Collisions: 55%
  58. [X] f4g6 f7g6 e3f4 d6f6 e1e8 c6e8 f4c7 c5c4 f2f3 g6g5 c7b7 = +222.00, 1776K nodes, 1647.2614ms
    TT played: 13%, cuts: 95%, PV played 57%, cuts 83%, TT Index Collisions: 7%
  59. [X] c5d5 d1d5 e6d5 c4b2 d5d4 a1d1 g8g7 g1h2 b7e4 b2c4 d4d3 = -116.00, 9874K nodes, 8279.7537ms
    TT played: 7%, cuts: 93%, PV played 65%, cuts 82%, TT Index Collisions: 28%
  60. [ ] f6h6 d2f3 e4d2 f3e5 d6e5 d4e5 d2f1 a1f1 a8c8 a3a4 h6f4 = -151.00, 15018K nodes, 11581.7608ms
    TT played: 5%, cuts: 95%, PV played 64%, cuts 89%, TT Index Collisions: 29%
  61. [X] e5f7 f8f7 b3f7 g8f7 c2c7 d6d7 c7d7 f6d7 c1c7 b7c8 d4d5 = +95.00, 36334K nodes, 30889.7889ms
    TT played: 4%, cuts: 93%, PV played 68%, cuts 80%, TT Index Collisions: 56%
  62. [X] b1g6 f7g6 e5g7 h7g7 f4e6 g7f7 e6d8 f8d8 c1d1 h6h5 f1e1 = +102.00, 11943K nodes, 8546.1936ms
    TT played: 7%, cuts: 95%, PV played 64%, cuts 86%, TT Index Collisions: 17%
  63. [X] c3d5 e6d5 b6d5 c5e4 c1c7 a7c7 d5e7 c7e7 d1d7 e4d6 a3d6 = +232.00, 2827K nodes, 2274.6151ms
    TT played: 9%, cuts: 94%, PV played 63%, cuts 87%, TT Index Collisions: 8%
  64. [X] f5d4 h3d7 d4f3 g1f2 f3e1 f2e1 c6d7 f1e3 d7c6 c2b3 h8h7 = -324.00, 3398K nodes, 2756.0294ms
    TT played: 9%, cuts: 96%, PV played 66%, cuts 91%, TT Index Collisions: 8%
  65. [X] a7e3 c1e3 a1f1 g1f1 c8h3 f1f2 a8d8 d5b7 d8d6 b7g2 d6f6 = -342.00, 1610K nodes, 1491.0494ms
    TT played: 9%, cuts: 95%, PV played 64%, cuts 87%, TT Index Collisions: 4%
  66. [ ] a5a4 b3a2 f6h5 g5g4 f7f5 a2e6 g8h8 e6f5 f8f5 d4e5 d8d1 = -238.00, 47455K nodes, 36689.6372ms
    TT played: 3%, cuts: 96%, PV played 68%, cuts 87%, TT Index Collisions: 52%
  67. [X] e5f7 d8e7 e4e6 e7e6 f7d8 e6e4 d8c6 c8a7 d4d5 a7c6 d5c6 = +155.00, 8022K nodes, 6566.1995ms
    TT played: 8%, cuts: 93%, PV played 62%, cuts 82%, TT Index Collisions: 23%
  68. [ ] c3e4 f6e4 e2e4 b4a5 a1d1 h7h6 e4e2 f8e8 d4g4 f7f6 e5g3 = -57.00, 153507K nodes, 125256.3668ms
    TT played: 1%, cuts: 95%, PV played 68%, cuts 79%, TT Index Collisions: 79%
  69. [X] g5g6 a3c5 g6h7 d8h8 c6d7 h8h7 h4g3 g7h8 g1d1 h7g7 g3b8 = +289.00, 16033K nodes, 13909.5148ms
    TT played: 10%, cuts: 94%, PV played 67%, cuts 78%, TT Index Collisions: 34%
  70. [X] e5e4 d5c4 d6d5 c4b5 e4e3 f2f4 f6e6 b5b3 f5f7 b3a4 a7a5 = -119.00, 4160K nodes, 3620.1132ms
    TT played: 9%, cuts: 95%, PV played 62%, cuts 84%, TT Index Collisions: 12%
  71. [X] e3h6 c7c5 e1e3 c5f8 e4g6 f8h6 e3e8 h6f8 g6h7 g8h7 e8f8 = +313.00, 4512K nodes, 4423.5911ms
    TT played: 14%, cuts: 92%, PV played 58%, cuts 81%, TT Index Collisions: 13%
  72. [X] c4f1 d1f1 c8c1 d4c6 c1f1 g1f1 g5c1 f2e1 f8e8 h2h3 c1e3 = -144.00, 12917K nodes, 11278.1098ms
    TT played: 7%, cuts: 96%, PV played 68%, cuts 83%, TT Index Collisions: 31%
  73. [X] g5h7 b6c4 d3c4 d8d1 c3d1 g8h7 e3c5 b7b5 c4e2 c8e6 c5e7 = +97.00, 24291K nodes, 19476.2632ms
    TT played: 4%, cuts: 96%, PV played 64%, cuts 89%, TT Index Collisions: 40%
  74. [X] d3b5 a4b5 f2d2 d8e6 d2d7 b5d7 c2d2 d7a4 d1c1 a4d7 d2d6 = +174.00, 5818K nodes, 5020.5065ms
    TT played: 14%, cuts: 97%, PV played 64%, cuts 81%, TT Index Collisions: 14%
  75. [ ] g5g6 d8d7 g6h7 e5c7 g2h3 c7c6 g3h4 c6b6 f4f3 d7d8 h3g2 = +119.00, 58986K nodes, 48299.8285ms
    TT played: 5%, cuts: 94%, PV played 66%, cuts 84%, TT Index Collisions: 58%
  76. [ ] f5e6 b2a1 e6e7 c6e7 f1a1 g8g7 d4f6 e7c6 c3d5 f8g8 a1d1 = +555.00, 14933K nodes, 12569.9281ms
    TT played: 6%, cuts: 94%, PV played 68%, cuts 81%, TT Index Collisions: 28%
  77. [X] d2d6 d7d6 h6f8 g8f8 e3h6 f8e7 e1e4 d6e6 e4e3 e7f6 e3f3 = +304.00, 5088K nodes, 4488.3048ms
    TT played: 8%, cuts: 96%, PV played 62%, cuts 79%, TT Index Collisions: 19%
  78. [X] e4c5 e8e1 d1e1 b7c8 f5c8 c6c5 h6e3 c5d6 c8f5 f8e8 e1d1 = +400.00, 28297K nodes, 23057.1689ms
    TT played: 9%, cuts: 95%, PV played 65%, cuts 83%, TT Index Collisions: 40%
  79. [X] f4g6 f7g6 h3h7 h8h7 f3h3 g8h6 f5g6 h7g6 h3d7 d8f7 e4e5 = +333.00, 5077K nodes, 4228.8728ms
    TT played: 6%, cuts: 94%, PV played 51%, cuts 84%, TT Index Collisions: 18%
  80. [ ] e6c8 b7c8 c1c8 e7e8 c8e8 f8e8 d1c1 g7b2 c1e1 b2e5 e3d2 = +55.00, 97204K nodes, 81354.4162ms
    TT played: 3%, cuts: 96%, PV played 69%, cuts 83%, TT Index Collisions: 69%
  81. [ ] d5c6 a8d8 b6b1 c5c1 b1c1 d3c1 c7d7 d8d7 c6d7 c1d3 g7f6 = -154.00, 4154K nodes, 3651.253ms
    TT played: 8%, cuts: 96%, PV played 64%, cuts 77%, TT Index Collisions: 17%
  82. [X] e5f6 e6e1 g1h2 e1f2 f5e7 g8h8 c1g5 f2c2 g5h6 g7g6 h6g7 = +215.00, 13481K nodes, 11044.3523ms
    TT played: 13%, cuts: 97%, PV played 64%, cuts 84%, TT Index Collisions: 26%
  83. [X] f6e4 g3f5 e4g5 f5g7 g8g7 h2h4 g5h3 g2h3 d8h4 f3f4 a7a6 = -161.00, 6594K nodes, 5227.687ms
    TT played: 11%, cuts: 97%, PV played 67%, cuts 88%, TT Index Collisions: 17%
  84. [ ] c4b5 a6b5 d5d6 b7e4 f3e4 h5g5 d6d7 e8f8 e1g1 g5f6 g1f1 = +156.00, 31299K nodes, 27024.8288ms
    TT played: 8%, cuts: 95%, PV played 64%, cuts 78%, TT Index Collisions: 44%
  85. [X] c3d5 e7d6 d5c7 d6c7 c1c5 d8d1 c6b7 c8b7 c5c7 d1f1 g1f1 = +158.00, 12896K nodes, 10268.7969ms
    TT played: 6%, cuts: 95%, PV played 68%, cuts 87%, TT Index Collisions: 27%
  86. [X] g5f7 e7f7 c2g6 c7c1 d1c1 c8c1 g6f7 g8f7 e1c1 b7d6 c1c7 = +127.00, 15938K nodes, 12770.9845ms
    TT played: 4%, cuts: 95%, PV played 66%, cuts 86%, TT Index Collisions: 32%
  87. [ ] f5g7 g8g7 f2f7 g7h8 d4d7 e8e7 f7f6 h8g8 g5g6 e7d7 f6e6 = +5.00, 28585K nodes, 23284.1132ms
    TT played: 10%, cuts: 96%, PV played 66%, cuts 84%, TT Index Collisions: 40%
  88. [X] h4g6 f7g6 h7g8 f8g8 d5e7 = +9999.00, 103K nodes, 86.1803ms
    TT played: 23%, cuts: 88%, PV played 75%, cuts 71%, TT Index Collisions: 0%
  89. [X] g5g6 h7g6 g1g6 e5g6 e4g6 h8g7 d5e7 g8h8 h6g7 f8g7 g6g7 = +682.00, 10929K nodes, 9002.1948ms
    TT played: 10%, cuts: 95%, PV played 62%, cuts 86%, TT Index Collisions: 10%
  90. [ ] a2f2 a7a6 e5c5 a6b7 g2h2 a8a1 f2g2 b7g2 h2g2 f8e8 c5c8 = +211.00, 14752K nodes, 14361.3489ms
    TT played: 10%, cuts: 95%, PV played 66%, cuts 66%, TT Index Collisions: 39%
  91. [ ] g3f4 h3f5 c2f2 f5b1 f2f3 b1c2 d1d2 a8a7 d2c2 d8a5 c2c3 = -23.00, 71080K nodes, 59100.1152ms
    TT played: 7%, cuts: 94%, PV played 67%, cuts 82%, TT Index Collisions: 48%
  92. [X] h3f1 c5h5 f8f2 h2h1 f1g2 h1h2 g2f1 = -385.00, 2183K nodes, 1969.7791ms
    TT played: 11%, cuts: 94%, PV played 55%, cuts 83%, TT Index Collisions: 7%
  93. [X] g3e1 d1e1 f3f2 e7e4 f2e1q h1g2 e1d2 g2h3 f6h6 h3g3 d2h2 = -1048.00, 3653K nodes, 3094.8294ms
    TT played: 10%, cuts: 94%, PV played 61%, cuts 83%, TT Index Collisions: 11%
  94. [X] h5h7 g8f8 h7h8 f8e7 h8g7 e8f7 h4g6 e7d7 g7f7 d7c8 h3h7 = +483.00, 1776K nodes, 1622.8864ms
    TT played: 16%, cuts: 91%, PV played 64%, cuts 80%, TT Index Collisions: 4%
  95. [X] c8b7 d4d5 f6d5 f7d5 b7d5 d6d5 f3d5 f1d1 d5b5 a1c1 a8e8 = -369.00, 3150K nodes, 2806.846ms
    TT played: 10%, cuts: 91%, PV played 65%, cuts 82%, TT Index Collisions: 11%
  96. [X] e4f6 g7f6 e5e8 d8e8 e1e8 g8g7 b4f8 g7h8 f8h6 = +9999.00, 2133K nodes, 1831.4147ms
    TT played: 10%, cuts: 94%, PV played 66%, cuts 78%, TT Index Collisions: 6%
  97. [X] f7h7 h8h7 h6f7 h7g8 h4h8 g8f7 h8h7 = +9999.00, 359K nodes, 315.5651ms
    TT played: 10%, cuts: 85%, PV played 73%, cuts 70%, TT Index Collisions: 0%
  98. [X] c1c7 f7h5 c7e7 e8f8 e7b7 f8e8 b7e7 e8f8 e7b7 = +294.00, 866K nodes, 783.0499ms
    TT played: 11%, cuts: 95%, PV played 55%, cuts 88%, TT Index Collisions: 2%
  99. [X] d2d5 f6e5 d5d2 d7c6 h6g5 c6e4 f3e4 a5a8 h1d1 c7c6 d2e3 = +53.00, 34693K nodes, 30582.8818ms
    TT played: 6%, cuts: 96%, PV played 70%, cuts 75%, TT Index Collisions: 54%
 100. [X] a5c3 c2c3 f6d5 c3c2 d5e3 c2b1 e6b3 d3b2 b3a2 b1a1 a2e6 = -194.00, 61531K nodes, 50175.0456ms
    TT played: 4%, cuts: 94%, PV played 68%, cuts 87%, TT Index Collisions: 46%
 [...]
 800. [X] d3g3 f2g3 d6d2 g2f1 g4f3 g7c3 d2c3 f1g1 c3e1 g1h2 e1g3 = -871.00, 553K nodes, 546.5536ms
    TT played: 12%, cuts: 87%, PV played 59%, cuts 67%, TT Index Collisions: 2%
 801. [ ] f5d4 a7a6 a2a3 f7g7 d4f5 e6f5 e4f5 g6g5 d2d4 g7f7 c4c5 = +118.00, 74977K nodes, 62459.7541ms
    TT played: 1%, cuts: 93%, PV played 68%, cuts 83%, TT Index Collisions: 64%
 802. [X] f6g6 f7g6 h4e7 g7h6 g4h4 d5h5 h4h5 g6h5 e7e6 h6h7 e6e7 = +241.00, 1294K nodes, 1154.3962ms
    TT played: 15%, cuts: 96%, PV played 58%, cuts 80%, TT Index Collisions: 3%
 803. [X] d6g3 h2g3 c8h3 c1g5 h5g5 c6a5 h7h5 a5c6 h5h4 d1e1 h4g3 = +72.00, 32330K nodes, 26101.0276ms
    TT played: 9%, cuts: 95%, PV played 64%, cuts 81%, TT Index Collisions: 50%
 804. [ ] c1f4 c8d7 a1e1 a8c8 f4g5 d8b6 g5f6 c6e5 f6e5 f7f2 g2g1 = +4.00, 150682K nodes, 131029.8893ms
    TT played: 5%, cuts: 95%, PV played 65%, cuts 79%, TT Index Collisions: 71%
 805. [ ] g3h5 f8f5 h5f6 f5f6 e5f6 d8f6 c1d1 c7f7 a4b6 f6d8 h6e3 = +111.00, 49539K nodes, 39917.5343ms
    TT played: 12%, cuts: 97%, PV played 67%, cuts 79%, TT Index Collisions: 46%
 806. [X] g2e4 h7h6 h5g6 f6e5 g6e6 g8h8 c8e7 f8f6 e7g6 f6g6 e4g6 = +576.00, 54945K nodes, 47989.4478ms
    TT played: 5%, cuts: 93%, PV played 66%, cuts 77%, TT Index Collisions: 65%
 807. [X] e5e6 d2c2 b1c2 d5e3 c2b1 e3f5 h4g5 f7e6 g5g6 g7f8 g6f6 = +405.00, 16344K nodes, 15123.209ms
    TT played: 7%, cuts: 89%, PV played 66%, cuts 73%, TT Index Collisions: 35%
 808. [X] h5g3 e2g4 g3e4 g4e6 c8b8 d3c5 e4d2 c5a6 b7a6 e6f5 d2f1 = -458.00, 9742K nodes, 8206.5877ms
    TT played: 9%, cuts: 93%, PV played 65%, cuts 85%, TT Index Collisions: 19%
 809. [X] b1g6 b3a2 c3a2 b4b3 e3b3 c5b3 a2c1 b3c1 g6f7 g8f8 e7b7 = +115.00, 52631K nodes, 44875.3961ms
    TT played: 8%, cuts: 95%, PV played 69%, cuts 77%, TT Index Collisions: 58%
 810. [ ] e5c6 b7c6 b1a2 d8d7 a1c1 c8d8 g3d3 f6e4 a2c4 d7d6 c4b3 = +4.00, 134367K nodes, 105983.6669ms
    TT played: 3%, cuts: 95%, PV played 70%, cuts 83%, TT Index Collisions: 71%
 811. [X] g3g6 c8g8 g6g8 h7g8 d3f5 b6c4 e2g4 g8f8 e5f4 e7f6 b1e1 = +54.00, 43002K nodes, 37335.0714ms
    TT played: 3%, cuts: 96%, PV played 69%, cuts 83%, TT Index Collisions: 50%
 812. [ ] e1e5 e8e5 c2g6 h7h8 g6f7 e5g5 g3c3 g5g7 c3f6 h8h7 f7g6 = +135.00, 8892K nodes, 7597.3602ms
    TT played: 10%, cuts: 96%, PV played 64%, cuts 82%, TT Index Collisions: 20%
 813. [ ] h6h4 f7f5 g4h3 a8c8 a2a4 g6g5 e3g5 e6g5 h4g5 e7e6 g5d8 = -18.00, 24898K nodes, 20129.8105ms
    TT played: 5%, cuts: 93%, PV played 66%, cuts 79%, TT Index Collisions: 45%
 814. [X] a1b1 f6h4 c4f7 f8f7 e5f7 g8f7 h6h4 d8h4 b1b8 a7e7 e3e7 = +355.00, 25577K nodes, 18910.7019ms
    TT played: 9%, cuts: 94%, PV played 60%, cuts 82%, TT Index Collisions: 32%
 815. [X] d6g3 h2g3 g6g3 g1f1 g3h3 f1e2 b7a6 b3c4 h4e4 d4e3 a6c4 = -273.00, 45081K nodes, 37359.1952ms
    TT played: 7%, cuts: 93%, PV played 66%, cuts 79%, TT Index Collisions: 49%
 816. [ ] h2h4 e7f6 g4f4 d6e7 e5g4 f6h4 g2g3 f7f5 e3e6 e7e6 e1e6 = +62.00, 121455K nodes, 97695.2963ms
    TT played: 4%, cuts: 96%, PV played 69%, cuts 83%, TT Index Collisions: 69%
 817. [X] e5g6 f7g6 b1g6 h7g6 h5g6 g8h8 g6h6 h8g8 h6g6 = +193.00, 5791K nodes, 4534.1244ms
    TT played: 8%, cuts: 95%, PV played 65%, cuts 89%, TT Index Collisions: 11%
 818. [ ] g8h8 a7a5 e3e4 h5h4 h8h7 h4h3 h7h3 d7d8 b8b3 d8e8 h3h7 = +176.00, 16382K nodes, 14030.5873ms
    TT played: 5%, cuts: 94%, PV played 63%, cuts 67%, TT Index Collisions: 39%
 819. [X] e5g6 f7g6 c2g6 g8f8 f6g7 f8g7 g6e8 g7f8 e8h5 a8d8 g5f5 = +642.00, 22608K nodes, 19633.8319ms
    TT played: 6%, cuts: 92%, PV played 68%, cuts 82%, TT Index Collisions: 38%
 820. [X] f4e6 f6f5 e6g5 f5e4 g5e4 a7a5 a1b1 a5a4 d4d5 d8c8 e4d6 = +88.00, 11405K nodes, 10073.7143ms
    TT played: 6%, cuts: 93%, PV played 63%, cuts 79%, TT Index Collisions: 32%
 821. [X] b3b7 a8b7 c4b5 b7c8 g2h3 d8d7 b5a6 c8b8 h3d7 c7d7 a1d1 = +217.00, 117041K nodes, 93700.187ms
    TT played: 5%, cuts: 96%, PV played 64%, cuts 81%, TT Index Collisions: 71%
 822. [ ] e7e2 d3e2 c6d5 e2f3 d5d4 c3e2 b4d2 d1d2 c7c5 c2c3 d4c3 = -29.00, 10872K nodes, 8971.3387ms
    TT played: 6%, cuts: 93%, PV played 66%, cuts 84%, TT Index Collisions: 24%
 823. [X] d7b6 a8b8 b2h2 h1h2 a1e5 h2e5 b6d7 b8c7 d7e5 g1e2 e5f3 = +47.00, 70K nodes, 76.2119ms
    TT played: 18%, cuts: 81%, PV played 54%, cuts 71%, TT Index Collisions: 0%
 824. [X] g5f3 f1f3 g6e4 e1d1 e8e6 g2f2 f8f3 d1f3 e6f6 f3f6 g7f6 = -267.00, 5361K nodes, 4597.3243ms
    TT played: 8%, cuts: 92%, PV played 60%, cuts 83%, TT Index Collisions: 13%
 825. [ ] e5d4 h8g8 d6f6 g7f6 d4f6 b8c7 f6h6 d8d7 h6g5 g8f8 g5h6 = +219.00, 6008K nodes, 4992.6705ms
    TT played: 11%, cuts: 93%, PV played 59%, cuts 79%, TT Index Collisions: 16%
 826. [X] f5f3 g2f3 d8f6 f3f4 c8h3 f1e1 f6h4 c2e2 e5f4 e2f3 h4g5 = +66.00, 82390K nodes, 66376.736ms
    TT played: 4%, cuts: 95%, PV played 68%, cuts 81%, TT Index Collisions: 66%
 827. [ ] b3a1 e6h6 f8f7 f3e4 d8g8 f1a1 f7f4 f2f3 a5b4 a3b4 b8e8 = -24.00, 170994K nodes, 131416.892ms
    TT played: 3%, cuts: 95%, PV played 69%, cuts 76%, TT Index Collisions: 72%
 828. [X] e5f3 g2f3 e7g5 f4g2 h4h3 d4g7 g5g7 b2g7 h3g2 f1c1 g8g7 = -81.00, 1107K nodes, 926.8518ms
    TT played: 10%, cuts: 91%, PV played 60%, cuts 87%, TT Index Collisions: 3%
 829. [ ] f3d4 c8d7 e1g3 a5c6 e4f6 g8h8 f6h5 e7g5 b2a3 c6d4 a3f8 = +52.00, 78536K nodes, 64513.0148ms
    TT played: 3%, cuts: 96%, PV played 69%, cuts 82%, TT Index Collisions: 69%
 830. [ ] e6g7 e8e1 g1g2 f6f5 g4f5 g6g5 f4g4 d7c8 g7e6 b8d7 g4g5 = +204.00, 14022K nodes, 12032.7838ms
    TT played: 11%, cuts: 94%, PV played 64%, cuts 78%, TT Index Collisions: 23%
 831. [ ] f4f3 c1g5 d8g5 f1g1 g5h5 a1d1 f3g2 d1d3 h5f7 g1g2 f7f4 = +82.00, 20035K nodes, 17172.0102ms
    TT played: 3%, cuts: 93%, PV played 67%, cuts 83%, TT Index Collisions: 40%
 832. [X] e4f6 g7f6 c3e4 f6g7 d2c2 c4b3 c1g5 f7g6 c2c1 d8c8 g5f6 = +84.00, 179434K nodes, 142093.5378ms
    TT played: 5%, cuts: 96%, PV played 71%, cuts 81%, TT Index Collisions: 71%
 833. [ ] f2g3 g8h8 g3a3 h8g8 h1f1 d8c6 f1f3 f8e8 e4d6 e8d8 a3c5 = +132.00, 58367K nodes, 48370.5354ms
    TT played: 1%, cuts: 92%, PV played 63%, cuts 78%, TT Index Collisions: 73%
 834. [X] f1f6 g7f6 d1h5 e8d8 h5f7 f8e7 d4f5 c4c7 f5e7 c7e7 e3b6 = +140.00, 79444K nodes, 71138.7515ms
    TT played: 2%, cuts: 92%, PV played 68%, cuts 83%, TT Index Collisions: 69%
 835. [X] e7f6 c6c7 f6g5 c8d6 h4h5 g6h5 b1d1 d6c4 a5a6 c7c5 b4a4 = +172.00, 10875K nodes, 9033.7797ms
    TT played: 8%, cuts: 94%, PV played 65%, cuts 78%, TT Index Collisions: 28%
 836. [ ] d3h3 h7h6 e4f6 e7f6 g5f6 c7d7 h3g3 g7g6 h5h6 d7d4 g1h1 = +201.00, 9376K nodes, 8183.7094ms
    TT played: 11%, cuts: 89%, PV played 59%, cuts 77%, TT Index Collisions: 23%
 837. [ ] h4g5 f6g5 f5f6 e7d7 e1g1 b7a5 h2c2 f7f8 f1f5 h7f7 h3f3 = +126.00, 38799K nodes, 31938.1606ms
    TT played: 7%, cuts: 92%, PV played 61%, cuts 87%, TT Index Collisions: 44%
 838. [ ] f1f2 g2d5 f2b2 a2b2 f4f2 b2a3 g1h2 a3d6 e3g3 d6g3 h2g3 = -228.00, 10845K nodes, 10030.8937ms
    TT played: 5%, cuts: 93%, PV played 65%, cuts 76%, TT Index Collisions: 29%
 839. [X] d4e6 c7c4 f4f5 a8c8 c2c3 h8g8 e6f4 g6g5 f5f6 e7c5 h1e1 = +220.00, 19512K nodes, 17317.3036ms
    TT played: 8%, cuts: 93%, PV played 67%, cuts 81%, TT Index Collisions: 39%
 840. [X] g4e6 d8e7 b5d6 e8d8 d6f7 d8c7 e6e7 f8e7 f7h8 b8c6 h8g6 = +744.00, 2503K nodes, 2173.5861ms
    TT played: 8%, cuts: 96%, PV played 61%, cuts 88%, TT Index Collisions: 7%
 841. [ ] h5e2 c4c7 d1d3 b7b5 a2a3 h7h6 g5f6 = +69.00, 146217K nodes, 125154.6162ms
    TT played: 6%, cuts: 94%, PV played 64%, cuts 83%, TT Index Collisions: 73%
 842. [X] f4e6 f7e6 b3e6 e5f6 e4e5 f6g5 c1b1 g8h6 c3e4 g5e7 d6e7 = +178.00, 47352K nodes, 39541.2045ms
    TT played: 5%, cuts: 93%, PV played 67%, cuts 82%, TT Index Collisions: 55%
 843. [X] e2h5 h7h6 e1e6 b6c7 d4g7 f7e6 g7f8 h6g5 f8c5 c7c5 h5g5 = -21.00, 85026K nodes, 69176.963ms
    TT played: 8%, cuts: 95%, PV played 70%, cuts 81%, TT Index Collisions: 56%
 844. [ ] h3e6 f7e6 e4e6 e8d8 c3a4 b6a6 d2c3 g7c3 a4c3 h8g8 c1b1 = +102.00, 61909K nodes, 54281.6446ms
    TT played: 1%, cuts: 94%, PV played 69%, cuts 83%, TT Index Collisions: 63%
 845. [X] d4e6 f7e6 f4a4 b7b5 a4g4 h8f8 g4e6 c5e7 f1f8 e8f8 d1d7 = +83.00, 19822K nodes, 18042.5867ms
    TT played: 7%, cuts: 93%, PV played 64%, cuts 76%, TT Index Collisions: 44%
 846. [ ] d8g5 a4c5 a7a8 c2c3 b7b6 c5b3 b6b5 d3f4 f5g4 d1e1 g5e7 = -50.00, 146474K nodes, 100268.8104ms
    TT played: 4%, cuts: 96%, PV played 67%, cuts 86%, TT Index Collisions: 69%
 847. [X] f4e6 d7e5 e6g7 e8e7 g7f5 c8f5 g4f5 b8c6 c3e2 f8g7 e2g3 = -61.00, 11989K nodes, 9839.6811ms
    TT played: 5%, cuts: 95%, PV played 61%, cuts 85%, TT Index Collisions: 29%
 848. [X] f5f6 g7f6 g5f6 e7e8 d4e6 c5g1 b1a2 f7e6 b4d6 e8f7 h8f8 = +158.00, 5879K nodes, 4490.335ms
    TT played: 12%, cuts: 93%, PV played 54%, cuts 82%, TT Index Collisions: 10%
 849. [ ] d6c4 c3d1 c4a3 b1c1 a3c4 c2c3 a5a1 c1c2 b6b2 d1b2 a1b2 = -322.00, 61758K nodes, 51964.0216ms
    TT played: 10%, cuts: 95%, PV played 65%, cuts 82%, TT Index Collisions: 51%
 850. [X] b4b2 b1b2 a4a3 b2b1 d8b8 d4b3 b8b3 c2b3 e6f5 d2d3 a3b3 = -633.00, 7968K nodes, 6240.6808ms
    TT played: 10%, cuts: 94%, PV played 66%, cuts 83%, TT Index Collisions: 18%
 851. [X] c7b7 b6b7 e4f4 b8c8 e1c1 c8d7 f4d6 d7e8 b5c7 b7c7 d6c7 = +276.00, 8901K nodes, 7707.9588ms
    TT played: 9%, cuts: 95%, PV played 63%, cuts 80%, TT Index Collisions: 25%
 852. [X] b8b2 c1b2 c5a4 b2c1 a4c3 d1f1 c3b1 c1b1 a5b4 b1c2 b4b2 = -217.00, 41086K nodes, 35995.7138ms
    TT played: 12%, cuts: 96%, PV played 66%, cuts 81%, TT Index Collisions: 47%
 853. [ ] b8b4 h3g5 b4c4 c1d1 a6c7 c3e4 c7e8 b2b3 c4b4 d1e1 b4d4 = +35.00, 105969K nodes, 89937.5627ms
    TT played: 3%, cuts: 94%, PV played 68%, cuts 78%, TT Index Collisions: 66%
 854. [ ] a2a3 a6a5 h2h4 a5a4 c3c1 e8c6 e5c6 b7c6 f4d6 f8d6 c1c6 = +237.00, 18715K nodes, 15047.8198ms
    TT played: 8%, cuts: 93%, PV played 59%, cuts 77%, TT Index Collisions: 42%
 855. [X] e6b3 c2b3 b7b3 b1c2 b3b2 c2d3 a3f8 h6h3 b8d8 d3e4 d8d1 = -150.00, 21262K nodes, 18820.8254ms
    TT played: 3%, cuts: 93%, PV played 71%, cuts 76%, TT Index Collisions: 41%
 856. [ ] e6c8 b1f1 c8b7 f1f7 f8f7 h5g5 f7f1 d5e7 g8h7 e7f5 d4g1 = +33.00, 125486K nodes, 104377.447ms
    TT played: 2%, cuts: 95%, PV played 71%, cuts 75%, TT Index Collisions: 73%
 857. [X] a6a8 g8h7 g5f6 e4f6 e5f6 c5d4 a8a5 b5b4 a5e5 d2f2 f3e3 = -95.00, 10786K nodes, 9581.1521ms
    TT played: 6%, cuts: 95%, PV played 65%, cuts 70%, TT Index Collisions: 32%
 858. [ ] e7e3 f2e3 f3f2 g1f1 d6h2 d5d6 d8d7 d1d5 h2g3 b2e5 g3e5 = +97.00, 9742K nodes, 8694.3377ms
    TT played: 3%, cuts: 92%, PV played 70%, cuts 81%, TT Index Collisions: 27%
 859. [X] c6g2 b4a6 b8b2 g3f5 g6f5 a3g3 e5g6 d1d6 f5f4 g3a3 b2b1 = -18.00, 20254K nodes, 18135.7785ms
    TT played: 8%, cuts: 94%, PV played 67%, cuts 73%, TT Index Collisions: 45%
 860. [ ] d5d6 c6e8 d6a3 b5a4 b3c4 a6f6 e3g5 f6b6 g5c1 e8c6 d1d6 = +93.00, 14733K nodes, 12394.803ms
    TT played: 9%, cuts: 95%, PV played 62%, cuts 82%, TT Index Collisions: 31%
 861. [ ] h1h7 g7h7 f2h2 h7g7 h2h8 g7f7 h8g8 f7f6 c8f8 f6g5 g8d5 = -70.00, 4357K nodes, 4501.5752ms
    TT played: 8%, cuts: 96%, PV played 64%, cuts 67%, TT Index Collisions: 17%
 862. [X] d8f8 e5e1 h5h2 g3h2 b7g2 h1g2 f8f2 g2g1 f2d2 g1h1 d2h2 = -56.00, 8066K nodes, 6774.8642ms
    TT played: 9%, cuts: 95%, PV played 63%, cuts 77%, TT Index Collisions: 18%
 863. [X] g4f2 d3c4 e6e3 c4f7 g8f7 c1f1 f7g7 f1f2 e3e1 g1g2 e8e4 = -18.00, 8237K nodes, 7767.2265ms
    TT played: 8%, cuts: 96%, PV played 67%, cuts 73%, TT Index Collisions: 28%
 864. [ ] c7e5 c5c6 e7f5 c1b1 d5c3 b1b4 h5h4 b5b6 f5g3 h1h2 g3e4 = -3.00, 4559K nodes, 4113.0103ms
    TT played: 9%, cuts: 94%, PV played 64%, cuts 68%, TT Index Collisions: 18%
 865. [ ] c7c6 d3f2 c6d5 c4d5 c8d7 c1b2 d8b6 b4b5 d7h3 f1e1 a8c8 = +26.00, 21302K nodes, 16657.1277ms
    TT played: 3%, cuts: 92%, PV played 66%, cuts 88%, TT Index Collisions: 36%
 866. [ ] c2e2 d7g7 h8d8 f4c7 e2e3 g5g6 d8h8 f5g5 e3e6 c6b5 d3e5 = +12.00, 10383K nodes, 9269.7274ms
    TT played: 10%, cuts: 95%, PV played 65%, cuts 72%, TT Index Collisions: 26%
 867. [ ] g1g2 f6f7 e3e4 d5e4 e2e4 e7f6 h1e1 a8d8 d3c2 c7d5 e4e6 = +121.00, 8378K nodes, 7024.6346ms
    TT played: 13%, cuts: 95%, PV played 66%, cuts 88%, TT Index Collisions: 15%
 868. [ ] c5a3 c3e5 c6e5 b5e5 a3e7 e2d3 f4f3 f1g1 f3f4 d1e1 f4f6 = +3.00, 83054K nodes, 69024.7314ms
    TT played: 7%, cuts: 97%, PV played 71%, cuts 81%, TT Index Collisions: 61%
 869. [X] h6h2 h1g1 a2a1 e1a1 f4h4 g1f1 f5f4 c4f7 f4g3 f7f8 h8h7 = -59.00, 2128K nodes, 1975.4969ms
    TT played: 12%, cuts: 95%, PV played 56%, cuts 72%, TT Index Collisions: 7%
 870. [ ] d1f1 b8a8 b1c1 a5a2 d2e3 g6g5 h4f3 a2a1 c1d2 a1b2 f1b1 = -138.00, 8998K nodes, 8016.5056ms
    TT played: 11%, cuts: 94%, PV played 65%, cuts 86%, TT Index Collisions: 20%
 871. [ ] f6e4 c3c6 f4f2 g1h1 e4g3 h1h2 b7b6 c7c8Q b6c6 c8c6 f8f6 = +164.00, 28718K nodes, 25026.0859ms
    TT played: 4%, cuts: 92%, PV played 63%, cuts 74%, TT Index Collisions: 56%
 872. [ ] g4f6 d8f6 a2a4 b5b4 d1h5 h7h6 h5a5 f6d8 a5b4 d8d3 a1d1 = -82.00, 46376K nodes, 37527.009ms
    TT played: 3%, cuts: 94%, PV played 67%, cuts 81%, TT Index Collisions: 58%
 873. [ ] a3a4 b5c6 c3h3 h7h5 h3g3 h5h4 g3h3 c5e5 e1e5 g7f6 e5e1 = +37.00, 69307K nodes, 58218.8851ms
    TT played: 3%, cuts: 95%, PV played 67%, cuts 79%, TT Index Collisions: 68%
 874. [ ] g2g3 e8f7 h2g2 g8h7 c8c3 f7c7 c3f3 c7c2 g6e5 d4e4 f3f5 = -204.00, 8781K nodes, 8066.4865ms
    TT played: 8%, cuts: 93%, PV played 64%, cuts 67%, TT Index Collisions: 27%
 875. [ ] f8c5 c1c5 g6f6 f3e4 g8g4 b3c2 f6g5 h1f1 g4g1 a2a3 g1f1 = +17.00, 45588K nodes, 39467.3837ms
    TT played: 4%, cuts: 96%, PV played 68%, cuts 80%, TT Index Collisions: 58%
 876. [X] e6e7 h3h2 e7e8Q h2h1q e8e6 h1b7 c8d8 b1d1 d8e8 b7f3 e6c8 = -540.00, 108K nodes, 111.5807ms
    TT played: 17%, cuts: 82%, PV played 59%, cuts 67%, TT Index Collisions: 0%
 877. [ ] h6c6 b7c7 c6c7 a5a6 c8d7 b1b7 e7c5 g1g2 d7c8 b7c7 c8c7 = +173.00, 11244K nodes, 10509.664ms
    TT played: 7%, cuts: 93%, PV played 65%, cuts 78%, TT Index Collisions: 25%
 878. [ ] f2e3 c6c5 b7b8 g8f7 b8b7 f7g8 d4b3 c4c3 e3d2 c3g3 b7b8 = -47.00, 982K nodes, 952.2304ms
    TT played: 13%, cuts: 92%, PV played 61%, cuts 66%, TT Index Collisions: 4%
 879. [ ] g4f2 h1g1 f2d3 e2d3 d8d3 c2d3 c6g6 g1f2 g6g2 f2e3 g2b2 = -9.00, 16009K nodes, 14815.2154ms
    TT played: 6%, cuts: 95%, PV played 64%, cuts 78%, TT Index Collisions: 40%

Searched 879 positions to depth 11. 32749036K nodes visited. Took 27790.471 seconds!
Best move found in 552 / 879 positions!
  Operation took 27796.6767s
I don't have statistics on the captures that would follow now after the first 2 stages (TT move, Tri-table move) are exhausted.

Personally my mental models are not good enough to have clear expectations what the stats should show and so I was never too interested in anything beyond the number of nodes (size of the tree) and the number of milliseconds spent searching.

But if you think I have a bug here or anything fishy is going I can make a testrun to gather the exact statistics you want!
Minimal Chess (simple, open source, C#) - Youtube & Github
Leorik (competitive, in active development, C#) - Github & Lichess
User avatar
mvanthoor
Posts: 1784
Joined: Wed Jul 03, 2019 4:42 pm
Location: Netherlands
Full name: Marcel Vanthoor

Re: PV-move ordering necessary if you have TT-move ordering?

Post by mvanthoor »

lithander wrote: Fri Jul 02, 2021 4:28 pm But if you think I have a bug here or anything fishy is going I can make a testrun to gather the exact statistics you want!
On second thought I'm in doubt if I should add statistics. I'm not a scientist gathering data, and I cringe when I think about the number of if-statements this is going to require.
Author of Rustic, an engine written in Rust.
Releases | Code | Docs | Progress | CCRL