On Opening books in 2015

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Milos
Posts: 4190
Joined: Wed Nov 25, 2009 1:47 am

Re: On Opening books in 2015

Post by Milos »

Laskos wrote:I gave 40'/game, so no, I didn't give more time for one engine, and the numbers you gave are pretty close, maybe 30% and 43% instead of 38% and 61%. In any case, as I mentioned, 4 of the 5 SF losses (without a book) were book losses (as was shown in one case at LTC with equal time, no books), and on average the book engine was exiting the book with 20cp-30cp advantage versus color situation over non-book engine, and all your blabbering misses the point, as it always happens with your half-educated comments. Do some homework before commenting.
Instead of straw-men arguments and faulty and biased tests you should do what has already been suggested many times, repeat the test with 30' or 1min/move have high randomness factor in your book, and play reasonable number of games (100 at least).
The other possibility is if you can set the GUI to provide SF with book exactly the same amount of time after it is out of book as is the remaining time of SF without the book.
Then you are gonna see how much advantage your wonderful book has against no book.
And ofc test has no point if you already tuned the book against no-book SF because that is trivial to be done (only couple of lines are enough) and doesn't bring anything.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: On Opening books in 2015

Post by Laskos »

Milos wrote:
Laskos wrote:I gave 40'/game, so no, I didn't give more time for one engine, and the numbers you gave are pretty close, maybe 30% and 43% instead of 38% and 61%. In any case, as I mentioned, 4 of the 5 SF losses (without a book) were book losses (as was shown in one case at LTC with equal time, no books), and on average the book engine was exiting the book with 20cp-30cp advantage versus color situation over non-book engine, and all your blabbering misses the point, as it always happens with your half-educated comments. Do some homework before commenting.
Instead of straw-men arguments and faulty and biased tests you should do what has already been suggested many times, repeat the test with 30' or 1min/move have high randomness factor in your book, and play reasonable number of games (100 at least).
The other possibility is if you can set the GUI to provide SF with book exactly the same amount of time after it is out of book as is the remaining time of SF without the book.
Then you are gonna see how much advantage your wonderful book has against no book.
And ofc test has no point if you already tuned the book against no-book SF because that is trivial to be done (only couple of lines are enough) and doesn't bring anything.
100 games at 1'/move on all 4 cores would take 10 days of testing. I did some two months ago that test (time/move) on single core, ultra-fast controls, more than 1,000 games, and book engine wins by large margin (in excess of 100 Elos). These guys are arguing that LTC is a completely different animal, but I am not willing to prove in months of testing that the animal is similar, only having higher draw rate.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: On Opening books in 2015

Post by zullil »

Laskos wrote:
A typical win for book Stockfish:
[pgn]
[Event "40min 4cores"]
[Site "?"]
[Date "2015.03.07"]
[Round "7.1"]
[White "Stockfish 020315 64 BMI2 Book"]
[Black "Stockfish 020315 64 BMI2"]
[Result "1-0"]
[ECO "C11"]
[Annotator "0.00;0.23"]
[PlyCount "163"]
[EventDate "2015.03.07"]
[EventType "tourn"]
[Source "Kai"]
[TimeControl "2400"]

{Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz 3598 MHz W=36.7 plies; 8,989kN/s; PlaychessNightmare.ctg B=34.0 plies; 8,035kN/s}
1. e4 {B 0} e6 {0.23/28 64} 2. d4 {B 0} d5 {0.15/30 49} 3. Nc3 {B 0} Nf6 {0.12/29 40} 4. e5 {B 0} Nfd7 {0.09/31 42} 5. f4 {B 0} c5 {0.02/31 46} 6. Nf3 {B 0} Nc6 {0.00/30 36} 7. Be3 {B 0} Qb6 {0.00/32 26} 8. Na4 {B 0} Qa5+ {0.00/33 23} 9. Nc3 {B 0} Qb6 {0.00/36 31} 10. Na4 {B 0} Qa5+ {0.00/41 34} 11. c3 {B 0} cxd4 {0.00/32 38} 12. b4 {B 0} Nxb4 {0.00/33 23} 13. cxb4 {B 0} Bxb4+ {0.39/30 42} 14. Bd2 {B 0} Bxd2+ {0.32/31 43} 15. Nxd2 {B 0} b6 {0.29/34 41} 16. Bd3 {B 0} Ba6 {0.36/33 59} 17. Nb2 {B 0} Nc5 {0.53/33 41} 18. Bxa6 {B 0} Qxa6 {0.55/32 68} 19. Qe2 {B 0} Rc8 {0.57/32 34} 20. Qxa6 {B 0} Nxa6 {0.50/32 38} 21. Rb1 {B 0} O-O {0.58/33 90} 22. Nf3 {0.65/35 55} Nb4 {0.65/34 37}
[/pgn]
...

1-0

At moves 6 to 12, the non-book Stockfish thinks it gained ground as black, giving 0.00 eval. While at move 22, exiting the book, it admits it blundered the opening, giving 0.65 to book Stockfish, which just exited the book. In 4 of the 5 wins of book Stockfish, the games went on these lines. Then, there are exiting positions which Stockfish considers equal (close to 0.00) while not being so, usually according to outcome statistics. The burden to prove your naive, misleading statements and LTC miracles (2 plies deeper) is entirely on you. I claim that maybe 5-10 years are needed for top engines to play openings reasonably and not need books. It's not about 2 plies more of the same Stockfish, your miraculous LTC. It's about 20+ plies more, horizon, lack of outcome predictability, unreliability of PV in the openings.
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: On Opening books in 2015

Post by Zenmastur »

Dann Corbit wrote: 2. Analyze the every position in the book for at least one hour.
Zenmastur wrote: Get real! Your not going to get very far if you try to pre-analyze ever position for an hour. Unless, of course, you have VAST amounts of computer hardware or you have such a small book as to make it nearly useless.
Dann Corbit wrote:I have such hardware.
And a few thousand distinct positions is not useless.
Of course, after finding the best lines, it is good to harden the book by mini-max and then reanalysis of the pv.
My idea of what constitutes VAST amounts of hardware seems to differ from yours. I'm thinking of at least a thousand cores (mostly more) not tens or hundreds. I will agree that a few thousand positions isn't COMPLETELY useless. It will get you to about 8-plies with ~500-750 terminal positions. This isn't what comes to my mind when I think of a book. I think of a well-rounded book as having on the order of 200,000 positions when it's first made. I expect this number to grow as the program uses it.

One of the advantages of having a book is to save time, there is no doubt about this. Since this is the case, one should try to maximize the amount of time saved.

I did a study of cost of computing an answer vice that of storing and then retrieving it. In this case "cost" is measured in both time and money. I did this for the general case. Opening positions are a special case since they occur in every game, it's pretty easy to determine when to stop looking for an opening in the book etc. Having this information available makes it much easier to calculate how much time will be save and when adding a position to the book will increase the time savings and when it wont. My analysis shows beyond a reasonable doubt that a 2,000 position book is woefully inadequate if one of your goals is to maximize time saved in the opening.

I have done some testing with different book sizes. Preliminary indications (20,000 fast games done over a several week period) are that too small of a book allows the engine to enter positions, which it deems "good", but are actual "bad" often enough to cause a decline in average game scores. So if you use a 2,000 position book, not only will you use more time on the clock, you will allow the program to wander into bad positions. Both of these will have a negative effect on your average game score. AND, you can search your 2,000 positions until hell freezes over and it won't change any of the above!

Regards,

Zen
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
Dann Corbit
Posts: 12860
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: On Opening books in 2015

Post by Dann Corbit »

Zenmastur wrote:
Dann Corbit wrote: 2. Analyze the every position in the book for at least one hour.
Zenmastur wrote: Get real! Your not going to get very far if you try to pre-analyze ever position for an hour. Unless, of course, you have VAST amounts of computer hardware or you have such a small book as to make it nearly useless.
Dann Corbit wrote:I have such hardware.
And a few thousand distinct positions is not useless.
Of course, after finding the best lines, it is good to harden the book by mini-max and then reanalysis of the pv.
My idea of what constitutes VAST amounts of hardware seems to differ from yours. I'm thinking of at least a thousand cores (mostly more) not tens or hundreds. I will agree that a few thousand positions isn't COMPLETELY useless. It will get you to about 8-plies with ~500-750 terminal positions. This isn't what comes to my mind when I think of a book. I think of a well-rounded book as having on the order of 200,000 positions when it's first made. I expect this number to grow as the program uses it.

One of the advantages of having a book is to save time, there is no doubt about this. Since this is the case, one should try to maximize the amount of time saved.

I did a study of cost of computing an answer vice that of storing and then retrieving it. In this case "cost" is measured in both time and money. I did this for the general case. Opening positions are a special case since they occur in every game, it's pretty easy to determine when to stop looking for an opening in the book etc. Having this information available makes it much easier to calculate how much time will be save and when adding a position to the book will increase the time savings and when it wont. My analysis shows beyond a reasonable doubt that a 2,000 position book is woefully inadequate if one of your goals is to maximize time saved in the opening.

I have done some testing with different book sizes. Preliminary indications (20,000 fast games done over a several week period) are that too small of a book allows the engine to enter positions, which it deems "good", but are actual "bad" often enough to cause a decline in average game scores. So if you use a 2,000 position book, not only will you use more time on the clock, you will allow the program to wander into bad positions. Both of these will have a negative effect on your average game score. AND, you can search your 2,000 positions until hell freezes over and it won't change any of the above!

Regards,

Zen
I have 9628 positions with an hour or more of analysis.
I have 3.5 million analyzed positions, with different depths of analysis (inferior to an hour, typically a few minutes).

Positions that occur in real games thousands of times have up to 3 days of analysis time (the actual time being a function of how often they are played and also to some degree how interesting the positions happen to be to me). I have inordinate analysis of the Orangutan, for instance, compared to how often it is played.

My idea of the book study analysis is not to produce something that makes computers win more chess games. It is to help me understand why some moves are better than others at given positions. A side effect is that a book is generated that computers can use.

Compute power marches forth exponentially. Eventually, I may be able to produce what takes me ten years now in ten seconds.

I also have a couple million puzzle positions analyzed, just for amusement purposes since they rarely occur in real games.
Zenmastur
Posts: 919
Joined: Sat May 31, 2014 8:28 am

Re: On Opening books in 2015

Post by Zenmastur »

Dann Corbit wrote: I have 9628 positions with an hour or more of analysis.
I have 3.5 million analyzed positions, with different depths of analysis (inferior to an hour, typically a few minutes).

Positions that occur in real games thousands of times have up to 3 days of analysis time (the actual time being a function of how often they are played and also to some degree how interesting the positions happen to be to me). I have inordinate analysis of the Orangutan, for instance, compared to how often it is played.

My idea of the book study analysis is not to produce something that makes computers win more chess games. It is to help me understand why some moves are better than others at given positions. A side effect is that a book is generated that computers can use.

Compute power marches forth exponentially. Eventually, I may be able to produce what takes me ten years now in ten seconds.

I also have a couple million puzzle positions analyzed, just for amusement purposes since they rarely occur in real games.
Well... all of this information combined definitely paints a horse of a different color!
So now I understand that all this analysis isn't designed to help you make a "better" book. This wasn't obvious from your previous posts.

So a few question seem to be in order.

1.) Are the 9,628 positions all from openings and if so are they contiguous lines of play or just a bunch of positions chosen at random.

2.) ditto for the 3.5 million positions

3.) You stated that " Positions that occur in real games thousands of times have up to 3 days of analysis time..." I'm curious about this. I measure how often a position occurs in a specific number of games. E.G. positions "x" will occur on average in 1 game in 100,000. I do this because it's an indication of what might be expected in the future and has a direct bearing on how useful storing this information is likely to be. Do you know or keep such statistic on the positions you analyze?

4.) Last questions. Puzzles. Are these mostly composed puzzles, positions extracted from games, mate in x, find the best move etc.

Regards,

Zen
Only 2 defining forces have ever offered to die for you.....Jesus Christ and the American Soldier. One died for your soul, the other for your freedom.
User avatar
Laskos
Posts: 10948
Joined: Wed Jul 26, 2006 10:21 pm
Full name: Kai Laskos

Re: On Opening books in 2015

Post by Laskos »

Milos wrote:
Laskos wrote:I gave 40'/game, so no, I didn't give more time for one engine, and the numbers you gave are pretty close, maybe 30% and 43% instead of 38% and 61%. In any case, as I mentioned, 4 of the 5 SF losses (without a book) were book losses (as was shown in one case at LTC with equal time, no books), and on average the book engine was exiting the book with 20cp-30cp advantage versus color situation over non-book engine, and all your blabbering misses the point, as it always happens with your half-educated comments. Do some homework before commenting.
Instead of straw-men arguments and faulty and biased tests you should do what has already been suggested many times, repeat the test with 30' or 1min/move have high randomness factor in your book, and play reasonable number of games (100 at least).
The other possibility is if you can set the GUI to provide SF with book exactly the same amount of time after it is out of book as is the remaining time of SF without the book.
Then you are gonna see how much advantage your wonderful book has against no book.
And ofc test has no point if you already tuned the book against no-book SF because that is trivial to be done (only couple of lines are enough) and doesn't bring anything.
I found the recent test of mine at 1s/move with Komodo 8:

Code: Select all

    Program                            Score      %     Elo    +   -   Draws

  1 K8 Oops.bin                    : 577.0/1000  57.7    27   14  14   56.0 %
  2 K8 No Book                     : 423.0/1000  42.3   -27   14  14   56.0 %
54 Elo points advantage for Book at equal time used :wink:
Now, do your homework ant test in 1,000 games at 1min/move your outlandish "theories" before coming to post proven nonsense here. Still making simulations of game outcomes without a draw model? :lol:
Dann Corbit
Posts: 12860
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: On Opening books in 2015

Post by Dann Corbit »

Zenmastur wrote:
Dann Corbit wrote: I have 9628 positions with an hour or more of analysis.
I have 3.5 million analyzed positions, with different depths of analysis (inferior to an hour, typically a few minutes).

Positions that occur in real games thousands of times have up to 3 days of analysis time (the actual time being a function of how often they are played and also to some degree how interesting the positions happen to be to me). I have inordinate analysis of the Orangutan, for instance, compared to how often it is played.

My idea of the book study analysis is not to produce something that makes computers win more chess games. It is to help me understand why some moves are better than others at given positions. A side effect is that a book is generated that computers can use.

Compute power marches forth exponentially. Eventually, I may be able to produce what takes me ten years now in ten seconds.

I also have a couple million puzzle positions analyzed, just for amusement purposes since they rarely occur in real games.
Well... all of this information combined definitely paints a horse of a different color!
So now I understand that all this analysis isn't designed to help you make a "better" book. This wasn't obvious from your previous posts.

So a few question seem to be in order.

1.) Are the 9,628 positions all from openings and if so are they contiguous lines of play or just a bunch of positions chosen at random.
Mostly openings (95% or so)
2.) ditto for the 3.5 million positions
Largely openings (70% or so)

3.) You stated that " Positions that occur in real games thousands of times have up to 3 days of analysis time..." I'm curious about this. I measure how often a position occurs in a specific number of games. E.G. positions "x" will occur on average in 1 game in 100,000. I do this because it's an indication of what might be expected in the future and has a direct bearing on how useful storing this information is likely to be. Do you know or keep such statistic on the positions you analyze?
I have a database of high quality PGN games (correspondence masters and world champions, OTB Super GM 2700+ and ultra strong engines at long time control). I have a count for how often any position has occurred if it has occurred at least 5 times. I don't bother with rarely played positions.

4.) Last questions. Puzzles. Are these mostly composed puzzles, positions extracted from games, mate in x, find the best move etc.
They are from all of the above.
I have collected and analyzed from famous sites like yacpdb, I have nearly all famous EPD test sets, I have positions I have collected from games, and many other sorts of things. Some are also the results of experiments.

Regards,

Zen
HTH2understand
Peter Berger
Posts: 791
Joined: Thu Mar 09, 2006 2:56 pm

Re: On Opening books in 2015

Post by Peter Berger »

Laskos wrote:
lucasart wrote:
Peter Berger wrote: Simplified claim: Opening books are pretty useless these days. E.g. Stockfish don't need no book at slow time controls.
I almost agree with you. However, to measure the book effect per se, one needs to depollute the measure from the time biais.
...
Generally, the larger the book, the crappier it is.
These are complete misconceptions of both of you. Are those your opinions? Do you have at least some empirical data? Two weeks ago I played 30 games at 40'/game on pretty strong hardware, the result was +5 =25 -0 for the Stockfish with a good, large book against Stockfish no book. I am curious what miracles would happen at 3 times longer TC like 120'/game? 2 plies deeper the engine realizes it constantly blunders many openings?

A typical win for book Stockfish:

[Event "40min 4cores"]
[Site "?"]
[Date "2015.03.07"]
[Round "7.1"]
[White "Stockfish 020315 64 BMI2 Book"]
[Black "Stockfish 020315 64 BMI2"]
[Result "1-0"]
[ECO "C11"]
[Annotator "0.00;0.23"]
[PlyCount "163"]
[EventDate "2015.03.07"]
[EventType "tourn"]
[Source "Kai"]
[TimeControl "2400"]

{Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz 3598 MHz W=36.7 plies; 8,989kN/s; PlaychessNightmare.ctg B=34.0 plies; 8,035kN/s}
1. e4 {B 0} e6 {0.23/28 64} 2. d4 {B 0} d5 {0.15/30 49} 3. Nc3 {B 0} Nf6 {0.12/29 40} 4. e5 {B 0} Nfd7 {0.09/31 42} 5. f4 {B 0} c5 {0.02/31 46} 6. Nf3 {B 0} Nc6 {0.00/30 36} 7. Be3 {B 0} Qb6 {0.00/32 26} 8. Na4 {B 0} Qa5+ {0.00/33 23} 9. Nc3 {B 0} Qb6 {0.00/36 31} 10. Na4 {B 0} Qa5+ {0.00/41 34} 11. c3 {B 0} cxd4 {0.00/32 38} 12. b4 {B 0} Nxb4 {0.00/33 23} 13. cxb4 {B 0} Bxb4+ {0.39/30 42} 14. Bd2 {B 0} Bxd2+ {0.32/31 43} 15. Nxd2 {B 0} b6 {0.29/34 41} 16. Bd3 {B 0} Ba6 {0.36/33 59} 17. Nb2 {B 0} Nc5 {0.53/33 41} 18. Bxa6 {B 0} Qxa6 {0.55/32 68} 19. Qe2 {B 0} Rc8 {0.57/32 34} 20. Qxa6 {B 0} Nxa6 {0.50/32 38} 21. Rb1 {B 0} O-O {0.58/33 90} 22. Nf3 {0.65/35 55} Nb4 {0.65/34 37}

...

1-0

At moves 6 to 12, the non-book Stockfish thinks it gained ground as black, giving 0.00 eval. While at move 22, exiting the book, it admits it blundered the opening, giving 0.65 to book Stockfish, which just exited the book. In 4 of the 5 wins of book Stockfish, the games went on these lines. Then, there are exiting positions which Stockfish considers equal (close to 0.00) while not being so, usually according to outcome statistics. The burden to prove your naive, misleading statements and LTC miracles (2 plies deeper) is entirely on you. I claim that maybe 5-10 years are needed for top engines to play openings reasonably and not need books. It's not about 2 plies more of the same Stockfish, your miraculous LTC. It's about 20+ plies more, horizon, lack of outcome predictability, unreliability of PV in the openings.
Please calm down ;).
With some caveats I think you made your main point by now and actual data suggests you are right in principle.
The caveats might be interesting though.
My own tests/games strongly suggest that there mainly is a problem in exactly one variation for nobook right now - the closed French with the black pieces ( no surprise) that Stockfish started to play about 8-10 dev versions ago.
Before that it usually went 1. ..e5 here and dealt with the resulting positions in a competent way IMHO.
Btw - I want to point out an obvious benefit of nobook that went somehow unnoticed so far. E.g. in a recent game with white Stockfish nobook went 1. d4 f5 and replied with 2. e3. This move can't be too bad for obvious reasons and it will most probably leave the opponent more or less on its own, too - in a position that an engine won't like.
Peter
Uri Blass
Posts: 11178
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: On Opening books in 2015

Post by Uri Blass »

Laskos wrote:
lucasart wrote:
Peter Berger wrote: Simplified claim: Opening books are pretty useless these days. E.g. Stockfish don't need no book at slow time controls.
I almost agree with you. However, to measure the book effect per se, one needs to depollute the measure from the time biais.
...
Generally, the larger the book, the crappier it is.
These are complete misconceptions of both of you. Are those your opinions? Do you have at least some empirical data? Two weeks ago I played 30 games at 40'/game on pretty strong hardware, the result was +5 =25 -0 for the Stockfish with a good, large book against Stockfish no book. I am curious what miracles would happen at 3 times longer TC like 120'/game? 2 plies deeper the engine realizes it constantly blunders many openings?

A typical win for book Stockfish:

[Event "40min 4cores"]
[Site "?"]
[Date "2015.03.07"]
[Round "7.1"]
[White "Stockfish 020315 64 BMI2 Book"]
[Black "Stockfish 020315 64 BMI2"]
[Result "1-0"]
[ECO "C11"]
[Annotator "0.00;0.23"]
[PlyCount "163"]
[EventDate "2015.03.07"]
[EventType "tourn"]
[Source "Kai"]
[TimeControl "2400"]

{Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz 3598 MHz W=36.7 plies; 8,989kN/s; PlaychessNightmare.ctg B=34.0 plies; 8,035kN/s}
1. e4 {B 0} e6 {0.23/28 64} 2. d4 {B 0} d5 {0.15/30 49} 3. Nc3 {B 0} Nf6 {0.12/29 40} 4. e5 {B 0} Nfd7 {0.09/31 42} 5. f4 {B 0} c5 {0.02/31 46} 6. Nf3 {B 0} Nc6 {0.00/30 36} 7. Be3 {B 0} Qb6 {0.00/32 26} 8. Na4 {B 0} Qa5+ {0.00/33 23} 9. Nc3 {B 0} Qb6 {0.00/36 31} 10. Na4 {B 0} Qa5+ {0.00/41 34} 11. c3 {B 0} cxd4 {0.00/32 38} 12. b4 {B 0} Nxb4 {0.00/33 23} 13. cxb4 {B 0} Bxb4+ {0.39/30 42} 14. Bd2 {B 0} Bxd2+ {0.32/31 43} 15. Nxd2 {B 0} b6 {0.29/34 41} 16. Bd3 {B 0} Ba6 {0.36/33 59} 17. Nb2 {B 0} Nc5 {0.53/33 41} 18. Bxa6 {B 0} Qxa6 {0.55/32 68} 19. Qe2 {B 0} Rc8 {0.57/32 34} 20. Qxa6 {B 0} Nxa6 {0.50/32 38} 21. Rb1 {B 0} O-O {0.58/33 90} 22. Nf3 {0.65/35 55} Nb4 {0.65/34 37}

...

1-0

At moves 6 to 12, the non-book Stockfish thinks it gained ground as black, giving 0.00 eval. While at move 22, exiting the book, it admits it blundered the opening, giving 0.65 to book Stockfish, which just exited the book. In 4 of the 5 wins of book Stockfish, the games went on these lines. Then, there are exiting positions which Stockfish considers equal (close to 0.00) while not being so, usually according to outcome statistics. The burden to prove your naive, misleading statements and LTC miracles (2 plies deeper) is entirely on you. I claim that maybe 5-10 years are needed for top engines to play openings reasonably and not need books. It's not about 2 plies more of the same Stockfish, your miraculous LTC. It's about 20+ plies more, horizon, lack of outcome predictability, unreliability of PV in the openings.
I think cxd4 was a mistake.
I believe that with a good hardware stockfish can find c4
please check it

[d]r1b1kb1r/pp1n1ppp/2n1p3/q1ppP3/N2P1P2/2P1BN2/PP4PP/R2QKB1R b KQkq - 0 9

I replaced 9.Nc3 by 9.c3 because the following line did not change the position.
9. Nc3 {B 0} Qb6 {0.00/36 31} 10. Na4 {B 0} Qa5+ {0.00/41 34}

Here is the analysis

[d]r1b1kb1r/pp1n1ppp/2n1p3/q1ppP3/N2P1P2/2P1BN2/PP4PP/R2QKB1R b KQkq - 0 9

Stockfish_15031821_x64:
1/1 00:00 53 17,666 +0.08 c5xd4 Be3xd4 b7-b5
2/2 00:00 97 32,333 +0.08 c5xd4 Be3xd4
3/3 00:00 229 76,333 -0.17 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2
4/4 00:00 371 123,666 +0.10 c5xd4 Nf3xd4 Nc6xd4 Be3xd4 b7-b5
5/5 00:00 504 168,000 +0.10 c5xd4 Nf3xd4 Nc6xd4 Be3xd4 b7-b5
6/8 00:00 1,058 264,500 +0.10 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O
7/9 00:00 1,472 368,000 +0.17 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b5
8/10 00:00 2,046 409,200 +0.17 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b5 Na4-b2
9/11 00:00 2,846 569,200 +0.17 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b5 Na4-b2 O-O
10/15 00:00 4,993 713,285 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b5 Na4-b2 O-O Bf1-d3
11/16 00:00 7,247 905,875 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b5 Na4-b2 O-O Bf1-d3 Nd7-b6 O-O Qa5-c3 Qd1-c2
12/20 00:00 25,775 1,356,578 -0.10 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 g7-g5 g2-g3 g5xf4 g3xf4 b7-b6 Ra1-b1 Bc8-a6 Bf1xa6 Qa5xa6 Nd2-f3
13/23 00:00 60,879 1,691,083 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Bf1-d3 b7-b5 Na4-b2 Nd7-b6 O-O Qa5-c3 Qd1-c2 Qc3xc2 Bd3xc2
14/23 00:00 97,204 1,834,037 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Bf1-d3 b7-b5 Na4-b2 Nd7-b6 O-O Qa5-c3 Qd1-c2 Qc3xc2 Bd3xc2 Nb6-c4 Nb2xc4 b5xc4
15/25 00:00 174,287 1,980,534 +0.06 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Bf1-d3 b7-b5 Na4-b2 Nd7-b6 O-O Qa5-c3 Qd1-c2 Qc3xc2 Bd3xc2 Nb6-c4
16/25 00:00 248,960 2,127,863 +0.18 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Ra1-b1 f7-f6 e5xf6 Nd7xf6 Bf1-d3 Nf6-e4 Bd3xe4 d5xe4 O-O Bc8-d7 Nd2xe4 Qa5xa4 Rb1xb7
17/26 00:00 455,987 2,268,592 +0.34 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Ra1-b1 f7-f6 e5xf6 Nd7xf6 Bf1-d3 Bc8-d7 Na4-b2 Nf6-e4 Bd3xe4 d5xe4 O-O Qa5-d5 Nd2-b3 d4-d3 Qd1-d2 Rf8-c8
18/29 00:00 1,002,410 2,415,445 +0.43 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Ra1-c1 b7-b6 Qd1-b3 Bc8-a6 Bf1xa6 Qa5xa6 Nd2-f3 Qa6-a5+ Ke1-f2 f7-f6 e5xf6 Nd7xf6 g2-g3 Nf6-g4+ Kf2-g1 Ra8-c8 Rc1xc8 Rf8xc8
19/30 00:00 1,756,737 2,406,489 +0.55 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Bf1-d3 b7-b5 Na4-b2 Nd7-b6 Qd1-c2 Bc8-a6 a2-a4 Rf8-c8 Qc2-d1 Qa5-c3 a4xb5 Ba6-b7 Ra1-a2 Nb6-c4 Bd3xc4 d5xc4 O-O Qc3-e3+ Kg1-h1
20/33 00:01 2,486,175 2,435,039 +0.55 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Bf1-d3 b7-b5 Na4-b2 Nd7-b6 O-O Qa5-c3 Qd1-c2 Qc3xc2 Bd3xc2 Nb6-c4 Nb2xc4 b5xc4 Bc2-a4 c4-c3 Nd2-b3 d4-d3 Nb3-c5 d3-d2
21/33 00:01 3,008,753 2,438,211 +0.47 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Bf1-d3 b7-b5 Na4-b2 Nd7-b6 O-O Qa5-c3 Qd1-c2 Qc3xc2 Bd3xc2 Nb6-c4 Nb2xc4 b5xc4 Bc2-a4 c4-c3 Nd2-b3 d4-d3 Nb3-c5
22/33 00:02 5,982,659 2,471,152 +0.43 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Qd1-c2 f7-f6 Bf1-d3 f6xe5 Bd3xh7+ Kg8-h8 O-O Rf8xf4 Rf1xf4 e5xf4 Nd2-f3 e6-e5 Bh7-f5 d4-d3 Bf5xd3 e5-e4 Bd3xe4 d5xe4 Qc2xe4
23/35+ 00:03 7,432,321 2,462,664 +0.36 c5xd4
23/37 00:03 7,683,302 2,461,807 +0.35 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Qd1-c2 f7-f6 Bf1-d3 f6xe5 Bd3xh7+ Kg8-h8 O-O Nd7-f6 Bh7-g6 e5-e4 Qc2-c5 Qa5xc5 Na4xc5 b7-b6 Nc5-b3 d4-d3 Rf1-e1 Bc8-d7 Ra1-c1 Ra8-c8 Nb3-d4 Nf6-g4 Rc1xc8 Rf8xc8 Nd2-b3
24/39- 00:03 9,343,513 2,485,637 +0.29 c5xd4 b2-b4
24/39 00:04 10,525,068 2,497,643 +0.26 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Qd1-c2 f7-f6 Bf1-d3 f6xe5 Bd3xh7+ Kg8-h8 O-O Nd7-f6 Bh7-g6 e5-e4 Qc2-c5 Qa5xc5 Na4xc5 b7-b6 Nc5-b3 d4-d3 Rf1-e1 Bc8-d7 h2-h3 Ra8-c8 Nb3-d4 Rc8-c3 g2-g4
25/39+ 00:04 12,195,613 2,506,806 +0.32 c5xd4
25/39 00:05 13,678,449 2,501,545 +0.32 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Qd1-c2 f7-f6 Bf1-d3 f6xe5 Bd3xh7+ Kg8-h8 O-O Nd7-f6 Bh7-g6 e5-e4 Na4-c5 Qa5-c3 Ra1-c1 b7-b6 Qc2xc3 d4xc3 Nd2xe4 d5xe4 Nc5xe4 Nf6-d5 Ne4xc3 Nd5xf4
26/39 00:07 18,106,779 2,500,590 +0.35 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Qd1-c2 f7-f6 Bf1-d3 f6xe5 Bd3xh7+ Kg8-h8 O-O Nd7-f6 Bh7-g6 e5-e4 Qc2-c5 Qa5xc5 Na4xc5 b7-b6 Nc5-b3 d4-d3 Rf1-e1 Bc8-d7 h2-h3 Bd7-e8 Bg6xe8 Ra8xe8 Ra1-c1 Nf6-h5 Rc1-c7 Nh5xf4
27/42- 00:09 23,675,840 2,521,925 +0.29 c5xd4 b2-b4
27/42 00:11 28,168,104 2,507,844 +0.25 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 O-O Qd1-c2 f7-f6 Bf1-d3 f6xe5 Bd3xh7+ Kg8-h8 O-O Nd7-f6 Bh7-g6 e5-e4 Qc2-c5 Qa5xc5 Na4xc5 b7-b6 Nc5-b3 d4-d3 Rf1-e1 Bc8-d7 Nb3-d4 Nf6-g4 h2-h3 e6-e5 Nd4-b3 Rf8-f6 Bg6xe4 d5xe4 h3xg4
28/42- 00:14 36,510,002 2,521,931 +0.18 c5xd4 b2-b4
28/42- 00:16 41,603,393 2,522,334 +0.12 c5xd4 b2-b4
28/42- 00:19 48,898,681 2,518,084 +0.03 c5xd4 b2-b4
28/42+ 00:20 51,178,593 2,517,764 +0.11 c5xd4
28/42- 00:22 56,375,520 2,526,917 0.00 c5xd4 b2-b4
28/48 00:32 83,947,181 2,562,021 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b6 Bf1-d3 Bc8-a6 Bd3xa6 Qa5xa6 Nd2-f3 Nd7-c5 Na4xc5 b6xc5 Qd1-c2 O-O Ke1-f2 Qa6-a3 Qc2-b3 Qa3-a6 Qb3-c2
29/48 00:38 99,136,262 2,570,028 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b6 Bf1-d3 Bc8-a6 Bd3xa6 Qa5xa6 Nd2-f3 Nd7-c5 Na4xc5 b6xc5 Qd1-c2 O-O Ke1-f2 Qa6-a3 Qc2-b3 Qa3-a6 Qb3-c2
30/48 00:51 134,782,614 2,605,602 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b6 Bf1-d3 Bc8-a6 Bd3xa6 Qa5xa6 Nd2-f3 O-O Nf3xd4 Ra8-c8 Na4-b2 Nd7-c5 Qd1-e2 Qa6-a5+ Qe2-d2 Qa5-a6 Qd2-e2
31/48 01:03 166,362,192 2,616,086 0.00 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b6 Bf1-d3 Bc8-a6 Bd3xa6 Qa5xa6 Nd2-f3 O-O Nf3xd4 Ra8-c8 Na4-b2 Nd7-c5 Qd1-e2 Qa6-a5+ Qe2-d2 Qa5-a6 Qd2-e2
32/48- 01:28 227,026,180 2,571,718 -0.06 c5xd4 b2-b4
32/48- 01:52 280,613,194 2,490,752 -0.12 c5xd4 b2-b4
32/48- 02:21 349,600,614 2,473,612 -0.21 c5xd4 b2-b4
32/48+ 02:28 369,402,211 2,481,974 -0.13 c5xd4
32/48- 03:04 451,775,764 2,449,950 -0.24 c5xd4 b2-b4
32/49 03:13 474,445,252 2,452,673 -0.24 c5xd4 b2-b4 Nc6xb4 c3xb4 Bf8xb4+ Be3-d2 Bb4xd2+ Nf3xd2 b7-b6 Bf1-d3 Nd7-c5 Na4xc5 b6xc5 O-O Bc8-d7 Ra1-b1 Ra8-c8 Rb1-b7 Bd7-c6 Nd2-b3 Qa5xa2 Nb3xc5 Bc6xb7 Nc5xb7 O-O f4-f5 e6xf5 Nb7-d6 Rc8-c6 Nd6xf5 Qa2-a3 Nf5xd4 Qa3-c5 Qd1-a1 Rc6-c7 g2-g3 Rf8-b8 Kg1-g2 g7-g6 h2-h4
33/49 10:04 1,337,236,054 2,213,831 -0.25 c5-c4 b2-b4 Qa5-c7 g2-g3 Nc6-e7 Be3-d2 Qc7-c6 Ra1-b1 g7-g6 Bf1-g2 b7-b6 O-O h7-h5 b4-b5 Qc6-c7 Na4-b2 Ne7-f5 Qd1-c2 a7-a6 a2-a4 Bf8-e7 Nb2-d1 Bc8-b7 Nd1-e3 h5-h4 Ne3xf5 g6xf5 g3xh4 a6xb5 a4xb5 Be7xh4 Nf3xh4 Rh8xh4 Bd2-e1 Rh4-g4 Be1-g3