title: How to open a chess game

text:
# Question
Title: How to open a chess game
Any chess opening book or site for open a chess game for FIDE elo around 1800?Can any one help me to overcome opening difficulties? Specially as sicilian keres attack and english open as black. I usually play d4/c4 as white and d5/Nf6 and c5 for e4 as black.

# Answer
> 2 votes
This is a really vague question, so my attempt at an answer will have to be similarly vague. Hope it helps.

An old book that I still think is one of the best on the general subject of openings is "How To Open A Chess Game" from RHM Press. It's a series of essays (the first couple of which will be really elementary) from GMs on the subject of opening play. Here's a link to a used copy - https://www.abebooks.com/servlet/BookDetailsPL?bi=31036123248&cm\_sp=det-\\\_-bsk-\\\_-bdp

John Watson's 4-volume set (Mastering The Chess Openings) has some generic opening info in the early parts of v1 and at the end of v4 there's a section on choosing and preparing openings. But together they're only 50 pages, give or take, so it may be a bit much to pay for that little.

Reuben Fine's Ideas Behind The Chess Openings is a bit dated, but you may find it useful. It covers some plans and ideas for openings in vogue a half-century ago. (Move sequences go out of favor much faster than ideas and plans, so while a variation may have changed from the time of writing, the ideas behind the moves will probably not.

But if the age (and likely the Descriptive Notation) of that book puts you off, Gary Lane did one about "Modern Openings" but that's also at least 25 years old.

There's also a Mark Dvoretsky book, Opening Preparation (it was later re-released as part of his School Of Future Champions series). I'm not sure if you're used to Mark Dvoretsky, but his books require a lot of work from the reader; he's a professional trainer and expects you to put in the work rather than try to spoon-feed the information to you. Lots of good info, but not for the faint-hearted. The author credit on it varies with the edition; it was put together with Artur Yusupov, so I've seen credit given solely to Dvoretsky, solely to Yusupov, and jointly to both, so check under each author if you're having trouble locating it. It can get pricey, but's here's a link to the first appearance of it: https://www.abebooks.com/servlet/BookDetailsPL?bi=30747626141&cm\_sp=det-\\\_-bsk-\\\_-bdp

Dvoretsky also has another book, Opening Developments, from his School of Chess Excellence series, but I'd advise starting with the first one to see if you have the taste for his style. FWIW, I really like his books, but I've heard complaints from enough others to acknowledge they're an acquired taste, not necessarily suitable for all.

All of these books are less about memorizing a list of moves than they are about understanding and selecting variations. Try a lot of different openings, see which ones "fit your hand" best, and after that start settling in to build a repertoire from the lines that work for you. These books are more about that than they are about giving you a list of the principal lines of the Mar Del Plata or Kan variation to memorize and regurgitate at the board. Since the question was worded vaguely, I focused my answer more on books that would be useful no matter which particular variations you played, as there are literally thousands of variations that would fall under your original wording.

If you were interested in something a little more concrete, Mikhail Shereshevsky had a book, The Soviet Chess Conveyor, that had some good advice about constructing a repertoire, but it suffered badly from either its translation or its editing (not sure which, but it was a bear to work out what the author was trying to say). I'll not include a link to it; you can find it if you're determined. But most of what he had to say about the opening can also be found in the first chapter of The Shereshevsky Method, published by New In Chess, and which also includes material from his utterly fantastic Endgame Strategy -- https://www.newinchess.com/en\_US/the-shereshevsky-method-to-improve-in-chess (new softcover, with sample pages available, and the used copies I could find were only a few bucks cheaper). It's got less emphasis on ideas and plans, less focused on the opening than the previous books, but wonderful advice on other phases of the game.

I've focused this answer on books because they have a higher information density. I'm sure there will be no shortage of suggestions (either in the comments to this or in other answers) for web pages and videos. There's a lot of good material out there.

---
Tags: sicilian-defense, queens-gambit, english-opening
---


# Question
Title: World championship 2021: Game 10: Why was it a draw?
Game: https://lichess.org/broadcast/world-chess-championship-2021/game-10/RwhGwnPX

I assume that the players agreed for a draw because they are GMs and both are capable of playing perfect game. But I am learning and can't understand the perfect way to play so that it ends up in draw. Can someone please play it out?

# Answer
As has been mentionned already, it's a draw because with the symetrical pawn structure and only a knight and king left on the board, there is simply no way that either side can create a threat which the other side cannot counter with accurate play. There are simply no deep ideas left in the position which a grandmaster at Ian and Magnus' levels wouldn't imediately see through and guard against.

As far as playing out the game, here's a link to one of Stockfish's suggested move patterns (depth=20).

```
[FEN "8/pp6/2pk1n2/3pN3/3P4/2P1K3/PP6/8 b - - 0 1"]

1... Ke6 {0.00} 2. a3 {0.00} 2... Ne4 3. c4 {0.00} 3... Kd6 4. Kd3 {0.00} 4... Ke6 5. b4 {0.00} 5... a6 6. c5 a5 {0.00} 7. bxa5 Nxc5+ {0.00} 8. Kc3 Ne4+ 9. Kb4 c5+ {0.00} 10. dxc5 Kxe5 11. c6 Kd6 12. cxb7 Kc7 {0.00} 13. a6 Nd6 14. Kc5 Nxb7+ 15. axb7 Kxb7 {0.00} 16. a4 Ka6 17. Kxd5 Ka5 18. Kc5 Kxa4 19. Kd4 Kb4 {0.00} 20. Ke5 {0.00} 20... Ka3 {0.00} 1/2-1/2

```

Hope it helps!
> 9 votes

---
Tags: draw, world-championship, knight-endgame, rook-and-minor-endgame
---


title: Why don’t chess engines use Node.js?

text:
# Question
Title: Why don’t chess engines use Node.js?
I agree that this might look like a question that Google has the answer to, but I could not find the answer. C++ is a language that many chess engines are built on, like Stockfish and Leela Chess Zero, but isn't Node.js more ideal because of its speed and ability compared to other languages like Python to be used as backend code and efficiency in machine learning using TensorFlow and/or Brain.js? Why are there no chess engines in Node.js then?

# Answer
This is more of a question for Stack Overflow if you ask me... But since I've come here from there and I'm a software engineer and avid chess player, I'll try to explain.

---

This basically boils down to two factors, history and speed of execution. I'll handle them separately.

**History**

Javascript (the language Node uses) is a relatively young language. It was developed in 1996. Node, is even younger, being released in 2009. In comparison, C came out in 1972 and C++ in 1985.

The first major breakthrough in chess engines occurred when Deep Blue (written in C++) became the first chess engine to beat a grandmaster in 1997. At that point, it had been in active development for a few years and Javascript (then JScript) was a fledgling language that could do just the most basic web-based things.

As a result of this, it seems like a natural progression that future chess engines would build on the existing work and continue with C based languages. Not to mention the fact that the number of software engineers that could program in C/++ also vastly exceeded the number of JS engineers until well into the new millenium.

---

**Speed**

Chess is a *hard* problem computationally. It has a game-tree complexity score of 123 (exactly what this means is beyond the scope of this answer, but Noughts and Crosses has a score of 5, for comparison). As such, unless you want to be hanging around for a really long time while the computer works out its next move, your engine needs to run fast.

Javascript (and by extension Node) is an interpreted language. That means at runtime, it needs to be parsed and compiled before it can be executed. It also means that there's no opportunity for compile time optimisations to take place.

In direct juxtaposition to this, C based languages are precompiled. This means that they can execute directly at runtime with no intermediary steps and little overhead. There is also a plethora of compile-time optimisations that take place.

The end result of this is that for any given program, C/++ will perform approximately an order of magnitude faster on average. Admittedly, this has improved in the last few years somewhat, but they are still incomparable in terms of raw speed.

It must be noted, however, that speed and efficiency were far more important in previous decades. With today's computing power, even the most inefficient chess engine will run in a reasonable manner (unless it's just a dumb, extensive brute force - that will just never finish). Hence, why there are now Javascript based chess engines.

---

**Conclusion**

When you consider the history of the two languages along with the amount of computational power (and therefore the importance of efficiency) required to run a chess engine, it becomes clear why most of them are written in C based languages.

I will also add some personal opinion. C and C++, as strongly typed, procedural languages are simply far more suited to writing code for something like a chess engine. Sure, it can be done in Javascript but that was designed primarily for sending requests to a server and displaying results on a website, it's not designed for complex algorithms and the structures it uses show that.
> 12 votes

# Answer
Here is a link comparing C++ to Node.js from this question on Stack Overflow.

To answer your question: C++, while more difficult to write, is way faster than basically anything else.
> 37 votes

# Answer
Node.js isn't a language; it's a framework on top of JavaScript. It's also not fast, certainly not compared to compiled languages like C++ or Java.

Nor is JavaScript easier to use than compiled languages. If anything, it's far worse, especially for large complex applications. Of course, for a lot of people who never learn anything but JavaScript, they think JavaScript is easier to use simply because it's all they know. I for example think Java is easier to use than Python because I've been using Java for 25 years and Python only very occasionally. That doesn't mean Python is harder to use or learn; it only means I've never taken the time because I had no real need to learn it.
> 35 votes

# Answer
To add onto the comments: Node.js and Python are higher-level languages/frameworks, used as "glue languages" for machine learning frameworks that just serve as human-friendly wrappers to coordinate lower level machine learning libraries that do the serious number-crunching, usually in C++ (TensorFlow and PyTorch), with other specialized GPU code in CUDA, numerical libraries in Fortran and even small bits of assembly (BLAS and LAPACK).

Using JavaScript for a frontend, like a website, or GUI is reasonable since that is not computationally demanding and JavaScript is well-suited to making user-facing frontends.
> 27 votes

# Answer
Node.js is just a JavaScript (JS) runtime environment that is basically just Chrome's V8 JS engine, with the APIs (set of standardized commands for interacting with something) only needed for a browser environment (e.g., open a new tab) removed and a new set of APIs needed for a console environment (e.g., changing file permissions) added. However, it's still JS underneath and is not as performant as a compiled language like C++.

It was created to allow a server's back end to use the same language as the scripts in front-end web-page that it's serving, enabling easy code reuse (very commonly validation logic for something that's usually checked on the front-end, but also on the back-end, because you can't trust the user) and only requiring a product's team to only need one language skill-set.

It's become popular outside of these bounds, simply because a lot more people have JS skills and the JS ecosystem is much bigger, so now it's used in applications where those intangible benefits outweigh its performance downsides, but chess engines are not one of those applications.

As to machine learning (ML), you have it confused with Python, another language, where ease of use and ecosystem size outweigh performance drawbacks, but Node.js has never been a major player in ML.
> 11 votes

# Answer
There are chess engines that run on the V8 JavaScript engine used in Node.JS; pretty much all online chess games use those to offload the computation (relatively nothing today) to the client, e.g. https://www.chess.com/play/computer

Here's a standalone chess engine in JS.

Chess is popular enough to be a hobby challenge: Here are several high-level-language chess AIs.
> 3 votes

---
Tags: engines, software, programming, chess-ai
---


# Question
Title: What do you think will happen when chess gets solved?
When some ultra strong computer discovers the perfect game of chess, will chess as a game die?

# Answer
> 5 votes
Probably not much. As some top players have stated, we're close to the limit of what humans can memorize to prepare for a chess game. Preparation will become slightly more refined, but that will only translate into a marginal improvement of the quality of the games.

# Answer
> 1 votes
Computer analysis of some parts of the start of the game might refute some openings which are at present considered sound. And possibly deem sound some openings which are at present considered dubious, by refuting their refutations.

---
Tags: engines, solving
---


title: Middlegame plan for this position

text:
# Question
Title: Middlegame plan for this position
I'm playing a game against a chess computer as white, my move:

I'm struggling to work out what I should try to do. I am up a pawn. I've managed to force the black king to move so it couldn't castle and the rook on h8 is stuck. My pawn on c3 is looking vulnerable.

Where do I go next, what should I be thinking about to press the advantage into a win?

# Answer
Your advantage is smaller than you think. After Kg7 Black is safe and has joined rooks. The pressure on the c file is annoying and ties up your knights. My first move, almost without thinking, is Qf3, which protects c3 once and stops Nd5 for the moment. After that, Rfc1 (a4 is weak too). Black should consider Qc6 to fight d5 free at all costs - if you come to Ne3 too, you can think of advancing the c-pawn to c4, followed by a5. His Nd7 stands lousy BTW. Example variant done in my head: 1.Qf3 Qc6 2.Qxc6 Rxc6 3.Rfc1 Nd5 4.Ra3 Kg7 5.Ne3 N7f6 6.Nxd5 Nxd5 7.c4 Re8 8.Kf2 += with a comfortable endgame, but Black will fight on (especially if being an engine :-)
> 9 votes

---
Tags: strategy, middlegame
---


title: Why can't I play puzzles on Lichess?

text:
# Question
Title: Why can't I play puzzles on Lichess?
Lichess is a blind-accessible chess site that I like to play. But for some reason, it doesn't support puzzles in an accessible way.

I've done everything that I need to do to make them accessible. But they still aren't, even though it seems possible.

Why aren't puzzles accessible on Lichess for the vision-impaired?

# Answer
> 3 votes
On the Lichess database site for puzzles I found a link, where someone implemented an interface to solve puzzles "blindfolded" (i.e. without seeing the board):

https://www.tryit.in/blindfoldpuzzles/

However, because of my nonexistent knowledge in that matter, I have no idea if it's usable by blind people. It also seems limited to puzzles with very few pieces.

# Answer
> 4 votes
I just found out that Lichess has changed the way they do puzzles. If you were to enable accessibility mode under settings, you can go straight to Lichess' puzzle page and type out your moves to solve the puzzles. The site has also provided additional information such as where the pieces are, if your move is correct if you've entered a wrong move, what steps it took for the computer to get to that position, etc.

# Answer
> 3 votes
I am making a website called odinchess.com that is exclusively for blindfold chess. The games are by text (PGN/SAN notation) and so are the tactics! I'd love for you to check it out - hopefully it can help.

Let me know if there is anything I can add to it that might make it easier to use. I am curious, how do you prefer to be presented the board for tactics? There would need to be some way for you to know what the current position is.

---
Tags: puzzles, lichess
---


# Question
Title: How to compare Stockfish move preference every 1000 nodes
I would like to test how Stockfish or other Engines change their moves and evaluations as the number of nodes increases. Is there a way to run Stockfish (or another engine) and force it to output its move preference every 1000 nodes?

# Answer
One approach is by sending the command `go nodes 1000`, `go nodes 2000 ...` to the engine and record the moves and score.

Here is a sample code to do like that using python chess lib along with other data and plotting libs.

#### Code

```
"""
This script will only work for those uci engines that supports
"go nodes <value>" command.

Requirements:
    pip install chess
    pip install pandas
    pip install matplotlib
"""

import chess
import chess.engine
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as plticker

def engine_analysis(efn, fen, nodelimit):
    engine = chess.engine.SimpleEngine.popen_uci(efn)
    try:
        engine.configure({"Hash": 128})
        engine.configure({"Threads": 1})
    except Exception as exception:
        pass

    board = chess.Board(fen)
    limit = chess.engine.Limit(nodes=nodelimit)

    value, sanmove, nodes, timesec = None, None, 0, 0

    with engine.analysis(board, limit=limit) as analysis:
        for info in analysis:

            pv = info.get('pv')
            score = info.get('score')
            nodes = info.get('nodes')
            timesec = info.get('time')

            if pv is not None:
                move = pv[0]
                sanmove = board.san(move)

            if score is not None:
                value = score.relative.score(mate_score=32000)

    engine.quit()

    return sanmove, value, nodes, timesec

def run_engine():
    # fen = 'rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1'  # startpos
    fen = 'rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6'  # sicilian

    nodes_per_interval = 1000
    num_interval = 30

    e1 = {'name': 'Stockfish 14', 'file': 'E:/Chess/Engines/stockfish/sf14/sf14.exe'}
    e2 = {'name': 'Lc0 0.28', 'file': 'E:/Chess/Engines/Lc0/lc0-v0.28.0-windows-gpu-nvidia-cudnn-nodll/lc0.exe'}
    engines = [e1, e2]

    dfs = {}
    for eng in engines:
        d = []
        for i in range(num_interval):
            nodelimit = (i+1) * nodes_per_interval
            move, score, actualnodes, timesec = engine_analysis(eng['file'], fen, nodelimit)
            d.append([nodelimit, actualnodes, move, score, timesec])

        df = pd.DataFrame(d)
        df.columns = ['nodes', 'actualnodes', 'move', 'scorecp', 'timesec']
        dfs.update({eng['name']: df})

    print(f'fen: {fen}')
    for k, v in dfs.items():
        print(f'{k}:')
        print(f'{v.to_string(index=False)}\n')

    # Plot
    x = dfs[e1['name']]['nodes']
    y1 = dfs[e1['name']]['scorecp']
    y2 = dfs[e2['name']]['scorecp']

    _, (ax1, ax2) = plt.subplots(2, 1, sharex=True, figsize=(12, 6))

    ax1.plot(x, y1)
    ax1.set_title(f"{e1['name']} score at different node levels")
    ax1.set_ylabel('score cp')

    ax2.plot(x, y2)
    ax2.set_title(f"{e2['name']} score at different node levels")
    ax2.set_xlabel('nodes')
    ax2.set_ylabel('score cp')
    plt.setp(ax2.get_xticklabels(), ha="right", rotation=45)

    loc = plticker.MultipleLocator(base=nodes_per_interval)  # add ticks in every point
    ax2.xaxis.set_major_locator(loc)

    plt.savefig('engine_nodes.png')
    plt.show()

# start
run_engine()

```

#### Output

```
fen: rnbqkb1r/1p2pppp/p2p1n2/8/3NP3/2N5/PPP2PPP/R1BQKB1R w KQkq - 0 6
Stockfish 14:
 nodes  actualnodes move  scorecp  timesec
  1000         1002  Be3       64    0.002
  2000         2001  Bg5      -24    0.003
  3000         3005  Nb3       46    0.003
  4000         4010  Bg5       32    0.004
  5000         5004  Bg5        4    0.004
  6000         6003  Nb3       13    0.005
  7000         7040  Bg5       19    0.006
  8000         8013  Be3       41    0.009
  9000         9003  Be2       40    0.007
 10000        10019  Be2       33    0.008
 11000        11003   f3       50    0.009
 12000        12014  Qf3       40    0.010
 13000        13004   a4       27    0.010
 14000        14014   a4       47    0.011
 15000        15006  Be2       32    0.011
 16000        16040  Nb3        6    0.012
 17000        17022  Nb3       37    0.013
 18000        18007  Nb3       52    0.014
 19000        19019   a4       17    0.014
 20000        20040   h3       21    0.020
 21000        21032  Be3       38    0.016
 22000        22011   f3       18    0.016
 23000        23039   f3       38    0.023
 24000        24036   f3       50    0.028
 25000        25019  Bg5       69    0.021
 26000        26021   h3       30    0.019
 27000        27071  Be3       27    0.019
 28000        28072  Nb3       44    0.021
 29000        29032  Be3       64    0.020
 30000        30039  Be2       34    0.022

Lc0 0.28:
 nodes  actualnodes move  scorecp  timesec
  1000         1022   f3       20    0.156
  2000         2012   f3       19    0.180
  3000         2997   f3       20    0.214
  4000         3411   f3       19    0.224
  5000         4211   f3       19    0.249
  6000         5428   f3       19    0.279
  7000         6018   f3       19    0.319
  8000         6449   f3       19    0.339
  9000         6993   f3       20    0.349
 10000         7552   f3       20    0.369
 11000         8039   f3       20    0.392
 12000         8173   f3       20    0.379
 13000         8942   f3       20    0.404
 14000         9583   f3       20    0.417
 15000        10075   f3       20    0.475
 16000        10653   f3       20    0.466
 17000        11045   f3       20    0.474
 18000        11732   f3       20    0.506
 19000        12561   f3       20    0.535
 20000        12763   f3       20    0.543
 21000        13268   f3       20    0.570
 22000        13829   f3       20    0.584
 23000        14323   f3       20    0.602
 24000        14883   f3       20    0.641
 25000        15823   f3       19    0.663
 26000        16810   f3       19    0.693
 27000        25923   f3       18    0.938
 28000        27064   f3       18    1.001
 29000        26266   f3       18    0.976
 30000        29043  Be3       18    1.052

```
> 4 votes

---
Tags: engines, stockfish, websites, chess-ai
---


# Question
Title: How many pawns make up for a missing queen in the endgame?
My partner and I are newbies, and recently found ourselves in this position:

FEN 8/8/8/6kp/p5p/8/K/6Q w

```
[FEN "8/8/8/6kp/p5p/8/K/6Q w - - 0 1"]

```

I expected white would easily win because of the queen (and point) imbalance, but white never made time to free the king for the fight on the other side of the board, and there doesn't seem to be any way for the queen to handle that pawn-king cluster by herself.

My question: how many pawns generally make up for a missing queen in the endgame? According to the point system, black would need nine pawns, but that seems like too many to handle. Or would a more skilled white player have no problem dispatching pawns at this stage?

# Answer
The simple and obvious answer is that it all depends on the position of black's pawns and king. In general the further up the board the pawns the better for black provided the king is in contact with the pawns, preferably in front of them.

Worth pointing out that the position you give is winning for white because the pawns aren't far enough forward. From what I said earlier it will be clear that white's first task is to separate black from the pawns, then win them.

This is how it is done.

```
[fen "8/8/8/6kp/p5p/8/K/6Q w - - 0 1"]

1. Qh2 {Cunningly not allowing the king to come forward} h4 2. Qe5+ Kg6 {Step 1 quickly accomplished. Black king separated from the pawns} 3. Qf4 Kh5 4. Qf5+ Kh6 5. Qxg4

```

and it is game over.

Move the kingside 2 rows forward, however, and best play is a draw, although white can give black opportunities to go wrong. At the same time white has to make sure black can't promote a pawn by checking, pinning or threatening mate.

```
[fen "8/8/8/8/p7/6kp/K5p/6Q w - - 0 1"]

1. Qe3+ Kh2 {only move} (1...Kh4?? 2. Qf2+ Kg4 3. Ka3  Kg5 4. Qg3+ Kf6 {anything else and Qxh3 will be check} 5. Kxa4 {and the king is going to come over and take the pawns}) 2. Qf4+ Kh1 {another only move} (2...Kg1?? 3. Qg3 Kf1 (3...h2 4. Qe1#) 4. Qxh3 Kf2 5. Qh4+ Kf1 6. Qf4+ Ke1 7. Qg3+ Kf1 8. Qf3+ Kg1 9. Ka3 Kh2 10. Qf4+ Kh1 11. Qh4+ Kg1 12. Kxa4 Kf1 13. Qf4+ {and repeating the process is going to bring the white king over to help and deliver mate}) 3. Qf3 Kh2 4. Qf4+

```

The two keys to playing these kinds of position are calculation and endgame knowledge. For instance in the second position it is key for black to stop white from winning the h pawn. That is because with just the g pawn black is lost. However replace the g pawn with either an h pawn or an f pawn and the position changes back into a draw.
> 27 votes

# Answer
First of all, White wins in the diagram you provide, although it's not obvious at a glance how. White plays Qf2 first to stop the king from advancing. Black can't just sit there forever because the White king will eventually eat that a-pawn and come back, so they have to play h4, and then another pawn move. If Black plays g3, White responds with Qf3, and now the pawns can't safely advance. And if Black plays h3, White plays Qg3.

Surprisingly, Stockfish still says White is winning even if we give Black pawns on the fourth or fifth ranks on every file:

```
[FEN "8/8/8/3pppkp/ppp3p1/8/1K6/6Q1 w - - 0 1"]

```

Of course, it depends on the position. Here, White's king is well positioned to stop the queenside pawns (for example, c3+ is met with Kc2, and then b3 allows Kxc3 while a3 allows Kb3, so none of those pawns can safely queen) while Black's king is on the other side. And the immediate Qe3+ helps a lot.
> 10 votes

# Answer
The answers are pretty good, but what I'm not seeing in the other answers is the elementary endgame theory of queen vs pawn:

Theory:

Theoretically even 1 pawn can make up for a queen. Check out Queen versus pawn endgame (try watching some videos eg gotham chess or josh waitzkin):

For king and queen vs king and pawn, when the pawn is on its seventh rank, this can be theoretically drawn if the pawn is on the a or h files (rook pawn) or the c or f files (bishop pawn).

Practice:

Equipped now with this theoretical knowledge, we can guess that even *just 2* pawns could beat (or draw with) a queen if advanced far enough or if king is close enough to support the pawns, especially if the pawns are connected.
> 0 votes

---
Tags: endgame, point-value, queen-endgame, material-balance
---


# Question
Title: Why is 4…Bb4 an inaccuracy in the Berlin Defense?
```
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR"]
[Title "Berlin Defense"]
[StartFlipped "1"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 Nf6 4. O-O Bb4?!

```

When White castles, Stockfish evaluates the game to be roughly equal. After Black responds with **Bb4**, the evaluation goes to around `+1` and Stockfish labels it as an inaccuracy.

What is wrong with Black’s move? It leads to a more symmetrical position so I’m surprised that it’s considered bad.

# Answer
> 21 votes
Easy: The bishop not only shoots thin air, but also asks to be kicked around with c3, such that White wins a tempo with a move he likes to play anyway in Italian/Spanish positions to make a big center with d4. Thus, after c3 (immediately, or after Re1), White is simply a tempo up with respect to "normal" variants. The position is still closed and Black is rather lucky it is "just" 1.0. Look at a few Morphy games to see how opening errors like these get punished mercilessly.

---
Tags: opening, analysis, beginner, ruy-lopez, berlin
---


title: Why is Nd5 a blunder in this game?

text:
# Question
Title: Why is Nd5 a blunder in this game?
I am surprised when Stockfish engine told me that nd5 is a blunder while suggests me to use my knight at f3 and take the pawn at e5. But, there is a black knight at c6 and if I do that, then, he will take my knight. In most strategies, it is best to exchange a weak piece for a stronger piece than for a player to exchange a strong piece for a weaker piece. It just doesn't make sense to me why. I don't know how to format the moves properly, so I've posted the link here. https://lichess.org/m21Of4sH/white The reason that I moved my knight to d5 is because in that position, my knight is centered and could prepare for an attack if needed.

# Answer
> 2 votes
Nd5 basically does nothing in this position. It spends valuable development time on a move that attacks nothing and prepares nothing; it just gives Black a free hand to start doing something meaningful (like maybe ...d6, solidifying the center and preparing to bring his other Bishop into the game at either e6 or g4). The square d5 could make a good post for a knight, but only under two conditions: either because it can stay there long term or because it can use that square to accomplish something like getting to a long-term post on a better square or support an immediate attack. Pieces are strong and outposts are good not solely because of where they are but also because they either enable you to do something or prevent your opponent from doing something. Right now neither objective is in view; and if Black really wants to evict the knight, ...Nce7 begins an immediate sequence that will either drive it away (..c6) or exchange it, whichever Black chooses. Since you have no chance at all of maintaining that outpost, why waste the time to occupy it?

The engine suggests Nxe5 because of the "fork trick," a tactical sequence (...NxN 5. d4) which destroys Black's pawn center, and typically leaves a weakly placed piece in its stead (5. ... Bd6 6. PxN BxP and if White cares at all about it a well-timed f4 will force the bishop to seek some other place of worship).

The resulting position isn't lost for Black, by any means, but it certainly leaves Black worse off than before. It's advantageous enough that I check out Nxe5 whenever I see a Black knight on c6 and bishop on c5. It's one of those tools that should be in every chess player's toolbox; a quick way to gain a small advantage without even thinking hard.

When you only have two knights developed, the only attacks that can hope to succeed are against weaknesses your opponent has created. In this case, the only weakness Black has created is the potential to decoy the knight into a pawn fork; and that's not a serious weakness -- the resulting combination does not gain material, and only slightly improves White's advantage.

FWIW, I'm not all that fond of the engine's suggested response (...Nf6). I mean it does completely eliminate any plans you might have had for the Nd5 but I'm not sure exchanging it in that way results in anything other than developing the queen early, though it does have the advantage of speed. The main thought to take away from it is this: any threat you make that can be parried easily and quickly without forcing the creation of further weaknesses is probably not worth making.

# Answer
> 3 votes
I think the idea is that after Nxe5, you have d4 which attacks both the bishop on c5 and the knight on e5. Once you take one of his pieces, you might be a little ahead on development in the opening.

Whereas if you move your knight to d5, you are moving a minor piece twice in the opening at the expense of developing your other pieces. And it won't be much useful for an attack at this stage because your opponent could easily force it back or offer an exchange. In fact, after you move d5, Stockfish suggests Nf6 and an exchange of knights, leaving your opponent's queen developed and gaining a tempo.

---
Tags: analysis, strategy
---


# Question
Title: Why did Karpov choose this knight placement over the normal Ruy Lopez knight manoeuvre?
I was studying some Karpov games and I came across a knight manoeuvre that I hadn't seen before in the Ruy Lopez, shown in the below game (moves 15,16...):

```
[Event "Milan"]
[FEN ""]
[Site "Milan ITA"]
[Date "1975.08.23"]
[EventDate "1975.08.20"]
[Round "4"]
[Result "1-0"]
[White "Anatoly Karpov"]
[Black "Wolfgang Unzicker"]
[ECO "C97"]
[WhiteElo "?"]
[BlackElo "?"]
[PlyCount "43"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5
7. Bb3 d6 8. c3 O-O 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2
Bd7 13. Nf1 Rfe8 14. d5 Nb7 15. N3h2 g6 16. Ng3 c4 17. f4 exf4
18. Bxf4 Bf8 19. Bg5 Be7 20. Qd2 Bc8 21. Rf1 Nd7 22. Ng4 1-0

```

What is the significance of this compared to positioning the knight on e3 or g3 (as shown in the below games respectively as examples)? Why did Karpov choose this, and why isn't it seen as often (the Zhigalko-Gorovets game sees it eventually, but only after the knight is taken to g3)?

```
[FEN ""]
[Event "Import"]
[Site "https://lichess.org/oOAcwi26"]
[Date "2016.04.01"]
[White "So, W."]
[Black "Carlsen, M."]
[Result "1/2-1/2"]
[WhiteElo "2775"]
[BlackElo "2834"]
[TimeControl "-"]
[Termination "Normal"]
[UTCDate "2021.12.10"]
[UTCTime "12:48:18"]
[Variant "Standard"]
[ECO "C97"]
[Opening "Ruy Lopez: Closed, Chigorin Defense"]
[Annotator "https://lichess.org/@/matttttuhhhhh"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 O-O 8. c3 d6 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Bd7 13. Nf1 Nc4 14. b3 Nb6 15. Ne3 c4 16. Ba3 Rfe8 17. Qd2 Bf8 18. bxc4 Nxc4 19. Nxc4 bxc4 20. Rab1 Rab8 21. Rxb8 Rxb8 22. Bb4 h6 23. Rd1 a5 24. Ba3 Bc6 25. Qe2 exd4 26. Qxc4 dxc3 27. Qxc3 Rc8 28. Qd4 Bd5 29. Bb1 Be6 30. Qe3 Rb8 31. Nd4 Bd7 32. Rc1 Qb6 33. Qd2 Re8 34. Re1 a4 35. Bc2 Qb7 36. Qd3 Qc7 37. Qd2 Qb7 38. Qd3 Qc7 39. Qd2 { 1/2-1/2 The game is a draw. } 1/2-1/2

```

and

```
[FEN ""]
[Event "Import"]
[Site "https://lichess.org/hyhFvIUl"]
[Date "2019.04.28"]
[White "Zhigalko, Sergei"]
[Black "Gorovets, Andrey"]
[Result "1-0"]
[WhiteElo "2651"]
[BlackElo "2477"]
[TimeControl "-"]
[Termination "Normal"]
[UTCDate "2021.12.10"]
[UTCTime "12:48:08"]
[Variant "Standard"]
[ECO "C97"]
[Opening "Ruy Lopez: Closed, Chigorin Defense"]
[Annotator "https://lichess.org/@/matttttuhhhhh"]

1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3 O-O 9. h3 Na5 10. Bc2 c5 11. d4 Qc7 12. Nbd2 Bd7 13. Nf1 Rfe8 14. Ng3 Nc4 15. b3 Nb6 16. a4 c4 17. axb5 axb5 18. Rxa8 Rxa8 19. b4 Na4 20. Bd2 g6 21. Ng5 h6 22. Nf3 Bf8 23. Qc1 Kh7 24. Nh2 Re8 25. d5 Bg7 26. Rf1 Bc8 27. Kh1 Qe7 28. Qa1 Bd7 29. Be3 Ra8 30. Qe1 Ng8 31. Qd2 h5 32. Ne2 Bh6 33. f4 f6 34. Nf3 Rf8 35. Rg1 Kg7 36. Rf1 Be8 37. Qe1 Kh8 38. Nh4 Nb2 39. Qg3 Kh7 40. Ra1 Na4 41. f5 g5 42. Ng6 Bxg6 43. fxg6+ Kxg6 44. Qe1 Qd7 45. Ng3 Ne7 46. Bd1 h4 47. Bg4 Qb7 48. Nf5 Nxf5 49. Bxf5+ Kg7 50. Qe2 Rd8 51. Qg4 Kf8 52. Ra3 Qf7 53. Be6 Qg6 54. Bf2 Qh7 55. Ra1 Nxc3 56. Bf5 Qf7 57. Ra7 Qe8 58. Qf3 Na4 59. Bg4 Qg6 60. Bh5 g4 61. hxg4 Qg5 62. Be3 c3 63. Bxg5 Bxg5 64. Rf7+ Kg8 65. Qf5 { 1-0 Black resigns. } 1-0

```

# Answer
> 2 votes
I think more typically the idea is Kh1 and then Ng1 to get the knight out of the way of the f-pawn. Karpov has historically displayed a very fine "feel" for where pieces are best placed, so while I wouldn't rule out the blunder or surprise factor explanations right away, I wouldn't be quick to embrace them, either.

A typical usage of the Nh2 is support a pawn advance to g4, possibly supporting a N sac on f5 to open up the g-file, rather than Ng4, so perhaps that was in Karpov's mind as he played Nh2, and he simply switched plans when Unzicker gave him a better choice.

With Nb7 Unzicker signaled he was probably hoping to get the knight placed on c5, looking at d3/e4 to defang the Bd2, paired with Bg7, to infiltrate behind White's advanced pawn center and reinstate the control over d5 he lost by advancing the c-pawn. The logical counter to that is f4 and if necessary e5 to close out the bishop's diagonal, and to do that he needed to get the knight off f3, so it had to move. The Kh1/Ng1 sequence took longer and the idea of eventually putting the knight on g4, where it supports e5 as well as hitting the weakened dark squares around Unzicker's King, is likely to be useful in some lines. It's not a foregone conclusion that will be the best landing spot for the knight, maybe it should go back to f3, for instance, in some lines. But that possibility, plus the idea of supporting g4 to take control of f5, made h2 Karpov's choice.

---
Tags: positional-play, ruy-lopez, karpov
---


# Question
Title: How do I find data to determine records like the youngest person to obtain a certain title?
**A. Background:**

Under Mobeus Zoom's suggestion here: List of records for youngest superGMs since 1950? (or 1970 or whenever FIDE started rating people. or basically after 2700s after Fischer) (this is about reaching specific ratings though rather than attaining a specific title) re variations for List of youngest grandmasters since 1950, I am now asking how to go about answering these types of questions:

List of records for youngest international masters since 1950?

List of records for youngest female international masters since 1950?

List of records for youngest WIMs (woman international masters) since 1950?

---

**B. Questions**:

1. From what site can I download some kind of spreadsheet with this kind of data?

player X - date of birth - date IM title obtained (if any) - (among other such data)

* **Update 1**: Given so far: https://ratings.fide.com/download\_lists.phtml
* i'm able to extract all females, all WFM, female IM, WGM, female CM, etc but where is date title obtained please? so far i think all i can do is pick who is youngest currently but not youngest in records
* i don't think it has everything i was looking for. for the title part i think it shows their highest title soooo a female/male GM could've had the record for youngest female/IM but i wouldn't even know that this female/GM got IM before GM and even if e did, i wouldn't necessarily know when the female/GM became an IM.
* **Update 2**: Damn it Mobeus Zoom https://ratings.fide.com/download\_lists.phtml is different from https://ratings.fide.com/download.phtml ! lol

2. Then is the ff the right procedure/algorithm assuming I obtain such data?

A - Let column 4 be the subtraction of column 2 from column 3.

B - Sort by column 3.

C - Let column 5 check if corresponding entry in column 4 is minimum among all the column 4 entries up to it

# Answer
> 5 votes
I am the Reddit user, '**AnujDahiya24**' mentioned by the user, Mobeus Zoom, in his/her answer above. I wanted to add onto it a bit.

1. Emailing FIDE is indeed useless since they will not respond back: they didn't respond back to me when I sent them a couple of emails years ago.
2. FIDE/Chessbase aren't data savvy surprisingly when it comes to metadata statistics about playerbase demographics, records, achievements, etc. Much of the milestones & information you're looking for has be to done by random people who take on the challenge. Hopefully the data & research is made open sourced.
3. I will eventually republish the deleted GitHub repository containing all of the data & scripts prior to 2020(?). There isn't timetable on this as I have to adjust a few things before republishing it. Please check back in a month or two as this is something in my backlog, but I just don't have the time to do it currently. When I republish the repository though, feel free to ask the OP on the GitHub *Issue* tab and I will answer it there.

My apologies about the inconvenience here.

**Edit: I have made the repository public here: https://github.com/anujdahiya24/FIDE-Data**

# Answer
> 1 votes
A rather half-fledged answer but here goes:

Check out https://ratings.fide.com/download.phtml. Download the data files for each month from the archive and parse them into a single database or dataframe. If interested in Rapid and Blitz ratings, these have to be downloaded separately from Standard (= classical). Each month's data contains , \<player\_ID\>, \<D.o.b.\>, , . It should be clear that refers to the player's highest title achieved by **that month**. e.g. in Jan 2003 Carlsen's is 'f' = FM because his highest title by Jan 2003 was FM; but check Jan 2005 and his is 'g' = GM because by Jan 2005 he had achieved GM title. Hence, if you parse each month from Jan 2003 to Jan 2005, you can easily query for the first month in which Carlsen was an IM ('the month he received IM title') and the first in which he was a GM ('the month he received GM title').

If you put in the work to parse the separate data files into a single dataframe/database, open-source it and if necessary you can then ask what queries to use for the results you want. Suggesting these queries would be unreasonable before the data source has been prepared.

Your results will be limited in precision of course by the frequency with which the data was published and in scope by the oldest ratings lists made available (2001+). There may be someone with a more complete database for this sort of thing (e.g., try asking at 2700chess.com).

Edits:

Further data sources I found:

https://www.mark-weeks.com/chess/ratings/ \- the annual FIDE ratings lists 1975 to 2000 including titles

Try reaching out to:

https://www.reddit.com/r/chess/comments/em03o4/fide\_chess\_data/ Reddit user 'AnujDahiya24' seemed to compile all available data 2 years ago but his Github repository seems to be deleted

https://core.ac.uk/download/pdf/205518195.pdf the writer of this paper prepared a Microsoft Access database with the available FIDE data to 2000, but the database is no longer available

2700chess - the maintainer of this website presumably has compiled all historical FIDE data into his database.

# Answer
> 0 votes
Titles are pretty tough but rating is less tough. Just go here

https://www.chessgraphs.com/

You can see the month and year a certain player got a certain rating. Then subtract from their date of birth to see the age at which the rating was obtained. (A possible problem here is the if the month they obtain a certain rating is the same as their month of birth. But...the ratings come out every 1st of the month?)

For instance you can verify records for youngest to reach 2800+ (kasparov, kramnik, carlsen, firouzja) or youngest female to reach 2600+ (polgar, hou).

---
Tags: history, programming, statistics, database, records
---


title: Planing 2022 targets

text:
# Question
Title: Planing 2022 targets
As I do every year at this time, I start to plan my targets for the coming year relating to different parts of my life. I tend to start with at target to reach for the end of the year then back it down.

I was thinking this year I would like to set an end of year target for my ECF online and OTB classical ratings as well as my Chess.com rapid rating.

I was wondering what do people think would be a good increase to aim for? I understand this can be very subjective and depends on so many variables like time to study, number of games played etc. I just want to get an idea of people thoughts and if anyone else sets goals like this and how they they go about picking their target.

Thanks

# Answer
This is absolutely a good idea! I think a lot of people in the chess community set goals like this around New Years.

There are a lot of variables. In my experience, I tend to *reduce* how much improvement I can make each year. For example, when I first started playing chess, going from 1200 to 1600 required the same amount of effort as going from 1600 to 1800. And then 1800 to 1900, and so on.

So the higher your ELO, the lower your expectations for improvement should be.

This is also a personal choice, but I prefer to stick with one ultimate target, rather than many. For example, *I want my OTB classical chess ELO to improve by 100 points*. Everything I do should be to attain this goal, even if that means improving my rapid so I can do better when time starts running out in a classical game. I wouldn't necessarily have a target for rapid, other than *improve my rapid so I can attain my OTB classical chess target*.

Hope that helps and good luck!
> 4 votes

# Answer
The most solid approach is probably based on your past history: what relative goals did you aim for in the past, and what did you actually reach, and possibly also what did you not reach and perhaps why.

Learning psychology (if that's the correct term) is pretty clear on the existence of performance plateaus: you seem to get stuck at a certain performance level, but at some time later 'jump' to a higher level. If you can spot such plateaus in your past performance, the frequency of them and rating change may give additional input to your planning.

In general, though, it's usually preferable to get an second opinion based on some degree of knowledge: do you have someone you play against frequently, and with whom you might discuss your playing with? Not knowing probably makes general suggestions difficult: perhaps a goal might be to improve that particular situation so that you have a better base for setting your 2023 goals next year?
> 3 votes

---
Tags: rating
---


title: Deleteing Tournaments in scidvspc

text:
# Question
Title: Deleteing Tournaments in scidvspc
I have imported several twic zip files into scid which gave a lot of "illegal move" error messages. For obvious reasons, the vast majority of them are in "Rapid", "Blitz", and "Chess960" tournaments. I would like to delete all of those tournaments. The process I came up with is"

```
1. Open the tournament window.
2. Click on a tournament.
3. In the Crosstable window, click on the number of games.
4. In the Maintenance window, click on "Delete filter games".
5. Compact database.
6. Rinse, lather, repeat.

```

The above method is cumbersome since there are about 200 tournaments with the word "Rapid" in it. My question: Is there an easier way to get all the games that have "Rapid" in the Event name into the filtered Game List window?

# Answer
> 1 votes
If I poke around enough, I will eventually find an answer. In the "General" search screen, there is an Event field. However, there appears to be a limit on how many games you can search. In a database with over 1 million games, there were still "Rapid" games in the database even the "General" filter wasn't showing any. Although the tournament screen was still showing some "Rapid" tournaments.

---
Tags: scid, scidb
---


# Question
Title: Is it more helpful to play with a titled player than to play with a chess engine?
I can choose to hire a titled player to play with me; at the same time, playing with the computer is usually free and more flexible.

As far as improving one's chess skill is concerned, is there more value in playing with a titled player than playing with a chess bot with similar playing strength?

# Answer
Yes, as long as you go over the game with them afterwards.

A titled player can explain why another move or idea is better, and not just point out what you did wrong.

The engine can't explain in human terms the reason for its evaluation. This is true especially for non-tactical lines.
> 23 votes

# Answer
The common advice that you shouldn't play against a computer has a few facets.

It is true that chess AIs play differently from humans, not because they cannot play like humans but because most of their designers are concerned with winning rather than losing like humans. So if you play against an AI, you would usually see a different distribution of responses to your play than against humans. In particular, the AI is unlikely to make the same variety of mistakes that humans make, so you lose out a bit in learning how to punish such mistakes. Also, the AI is unlikely to take safe solid winning routes, since if they can see an *ad hoc* 10-move-deep tactic that gets a better result they will take it over a slow-and-steady endgame-win, so you would also lose out in such understanding.

That said, it is a general truth that one of the fastest ways to learn to play a strategy game is to keep playing against a player that is slightly better than yourself (this has even been mentioned before on Chess SE). If you do precisely this, it is possible to learn quite fast whether or not your training opponent is human. After all, even the Lichess AI is designed to make some amount of mistakes, so if you are able to punish these then you would also be able to punish human mistakes.

The biggest problem with playing against an engine is that you must be proactive in identifying and learning from your mistakes, playing out alternative lines against the computer to figure out where you went wrong and what you could have done instead. If you cannot understand why a move is a mistake because the tactic involved seems too deep, it may have been an issue in the past if you do not have a hired trainer, but not in modern times since you can ask on Chess SE...
> 12 votes

# Answer
Several factors are at play here:

1. Humans tend to be more interesting to play against. Therefore, you will play more and learn faster! If you regularly play a bot, you will typically always win or lose at a given difficulty level. The best chess players in the world cannot beat a well-optimized AI, even if it's powered on your phone. This tends to be... boring for most players. You might be different, but probably not.
2. The mistakes an AI makes are not like human mistakes. AI mistakes look nothing like a human mistake, since we start by looking at moves we think are good, a bot has no such compulsion. It might, for an (absurd) example, check from left to the right for moves, and always make mistakes on the left side of the board *because we have to tell it to make mistakes on purpose*. On the other hand, human mistakes are *stylistically consistent* compared to AI ones - we overvalue kingside attacks, or misunderstand the value of connected passed pawns. The "mistakes" made by an AI can be manufactured by several methods:

* The bot might generally play "badly" by truncating the search tree after a certain time period. The AI makes whatever move it thinks is good *as soon as a timer occurs*.
    * By deliberately selecting moves that are bad n% of the time. The bot looks through the list of moves and looks for ones that are within a tolerance of "best". Perhaps +/- 0.5 points (half a pawn), and selecting one of those. These look... strange and not appropriate for the position.
    * Major point here: There is one bot, Maia, which is specifically designed to make human-like errors. It was trained, basically, on tactical errors made by real players at a particular Elo rating. From my experience and the evidence attached, it does seem more human-like, and this has given me a better appreciation of what mistakes seem "normal". However, it struggles very much in drawn positions (see point 3).
3. One can often beat bots like by playing slowly, reaching a closed position and then just waiting for it to do something foolish. Doing this, you will not learn to make a good plan, "force mistakes", or drag yourself through a complex position.
4. As already mentioned, human players can say *why* you lost. An AI simply stomps you into the ground and tells you "Don't be so bad at chess" while pointing to specific moves. A human can watch 5 games and say: "You are not attacking the true base of this pawn chain! Reread your Nimzowitsch!"
> 4 votes

---
Tags: engines, best-practice
---


title: 2P winning against Q

text:
# Question
Title: 2P winning against Q
Inspiration

BCLC guessed (see link) that even only 2P can win against Q, even if the Q side has the move, if they are advanced far enough. I quickly checked a few promising position candidates in a tablebase. He is correct, but even more, it is not even true that both pawns have to be on the 7th rank for that! Thus, a little challenge: Find the (at 1st look) unbelievable position where

* White has K+Q
* Black has K+P+P
* White has the move but is lost
* White is not in check
* One black pawn is only on the 5th row (from White).

Sidenote A: The position might be unique (I guess but I'm not 100% sure). Sidenote B: Due to 50 move rule, the win is longer than the simple shortest mate, but won it is.

# Answer
After fiddling around for a while with the Syzygy endgame tablebase, I found this position:

```
[Title "KQ vs. KPP, white is not in check"]
[FEN "3Q4/8/8/2p4K/8/8/2kp4/8 w - - 0 1"]

```

According to the tablebase, it's mate in 105 against best play by White, which starts with either Qa8 or Kg6. White can't stop promotion without sacrificing the Queen, and because Black is threatening to promote with check, the resulting KQP vs. KQ endgame is winning for Black.
> 5 votes

# Answer
Of course, letting the White king be in check at the beginning seems to be a reasonable approach. Here is a position with a Black pawn on the fifth rank (its fourth rank):

```
[Title "KQ vs KPP: White to move loses"]
[FEN "Q7/8/8/5p2/8/8/4pk2/3K4 w - - 0 1"]

```

It is not unique: here is another one:

```
[Title "KQ vs KPP: White to move loses"]
[FEN "Q7/8/8/4p3/8/8/4pk2/3K4 w - - 0 1"]

```

and there is even one with a Black pawn on the sixth rank (its third rank)!:

```
[Title "KQ vs KPP: White to move loses"]
[FEN "Q7/8/5p2/8/8/8/4pk2/3K4 w - - 0 1"]

```
> 3 votes

---
Tags: endgame, puzzles, queen-endgame
---


# Question
Title: Generalise 'grandmaster games (...) castle opposite sides and the queenside players loses?' to finding games based on themes
I would like to generalise What are examples of grandmaster games where both Black and White castle opposite sides and the queenside players loses?

**Question**: Is there a way I can search this up myself?

Like perhaps in the chessgames, chesstempo, lichess or chessdotcom database or perhaps youtube via chessvision (You can select the theme 'opposite site castling'), I plug in parameters like

1. Title/rating parameter: both (or at least 1 of the) players, say, Alice and Bob, obtained the title of GM or have a certain rating (either at the time of the game or later on in life)
2. Some middlegame parameter: Alice castled queenside while Bob castled kingside
3. Winning parameter: Alice lost.
4. Date parameter: games from date t to date t+X
5. Perhaps also some endgame parameter: Like they reached a rook endgame or a bishop vs knight endgame.

**Ideal answer**: I'm asking if there's a readily available way to do this. Like someone's already made this kind of thing where we can plug in these themes/parameters.

**Next best thing/s**: Well I suppose there's manually downloading perhaps some grandmaster database and then we write script in python or something that searches O-O vs O-O-O and then use the same way lichess or chessvision identifies 'rook endgame' or 'bishop vs knight endgame'. In this case, please give whatever suggestions you can.

# Answer
> 9 votes
> Question: Is there a way I can search this up myself?

Yes. There is a tool called CQL (Chess Query Language) which allows you to search a PGN file database of games for games that match some set of criteria in the same way that SQL allows you to search a relational database for records which match a set of criteria.

The CQL User Guide describes what CQL does, how to download and install CQL, how to use it and gives example CQL queries to get you started.

Tim Krabbe also has a useful page on his website describing how he has used the tool to find interesting positions and games.

---
Tags: statistics, database, cql
---


# Question
Title: Linking online accounts with OTB real names in database
I have just started to get back into chess from a long time away. I have joined my local club and started to compete. I have been playing around with SCID vs PC and wonder if you can link your opponent's online names under their real names, since I have been playing some people online and OTB. I am also considering investing in Chessbase, so if this is a feature available on there or any other chess database please let me know.

# Answer
> 1 votes
The feature you are describing is not built into either SCID or Chessbase natively. You can quickly rename players in a database, or alternatively automate through scripting.

I use the following API endpoints for chess.com to collect that information. https://www.chess.com/news/view/published-data-api#pubapi-endpoint-player

---
Tags: database, chessbase, scid
---


# Question
Title: Finding every longest endgame for each material configuration
I can find statistics on the number of moves until checkmate in the Syzygy endgame table for each material configuration. Let's say I am interested in "KQQvK" endgames. The statistics show that there are exactly 40 positions in which white can force mate in no less then 6 half-moves. Here is one such example given by their endgames.pgn file.

```
[FEN "8/8/8/1k6/8/3K4/3Q4/3Q4 b - - 0 1"]

```

Of course, I could mirror this position in every possible way, but this will not cover all 40 positions that require the maximum amount of moves. How is it possible to generate each position?

# Answer
Kirill Kryukov's website is perhaps the best starting point. Here, all of the longest endgames for material configurations are given if for positions with 6 pieces or less and without a 5+1 piece count. For the moves, you could make a script to run each position through \[Shredder\](https://www.shredderchess.com/online/endgame-database.html} and record the best move sequence.

For reference, here is the entire list copied down and sorted by length, which the site has as an option.

KRNKNN 262 6k1/5n2/8/8/8/5n2/1RK5/1N6 w - - 0 1

KRPKNN 253 8/1P1k4/2R5/n7/1n6/K7/8/8 w - - 0 1 KRRPKQ 253 q7/7k/8/6R1/8/8/2P2R2/K7 w - - 0 1 KRNKNP 252 8/8/8/8/7k/8/1R2p2N/1K1n4 w - - 0 1

KRBKNN 238 8/8/8/8/2n2k2/2n5/5BR1/1K6 w - - 0 1

KRBKNP 229 8/8/2R5/3B4/k7/3np3/K7/8 w - - 0 1

KRRPKP 218 8/7k/8/8/PR3R2/8/p7/3K4 w - - 0 1 KRPPKQ 216 8/k1P5/8/8/1R5P/8/K7/7q w - - 0 1 KRPPKP 211 8/k1P5/8/8/1R5P/8/7p/3K4 w - - 0 1

KRNKBN 209 NbR5/8/n7/8/8/8/8/2K2k2 w - - 0 1 KRBKPP 208 8/8/8/8/7B/4k3/K1p1pR2/8 w - - 0 1 KRPKBN 204 8/1P6/8/n7/2K5/1b1R4/8/6k1 w - - 0 1

KRPKNP 198 4n3/6P1/5k2/8/8/8/1p1K4/R7 w - - 0 1 KRNKBP 194 8/8/7R/3kN3/1K6/8/5p1b/8 w - - 0 1

KRNKPP 188 8/2K5/R6N/8/8/2p5/5p2/3k4 w - - 0 1 KQPPKQ 182 8/4k3/8/Q7/8/7P/P7/q1K5 w - - 0 1 KBBPKR 180 2B5/4Br2/K1k5/8/8/8/6P1/8 w - - 0 1

KPPPKQ 178 6k1/P7/8/8/3q4/7P/P1K5/8 w - - 0 1 KQNKRR 174 3r2r1/8/k7/8/8/8/3K4/1Q4N1 w - - 0 1 KPPPKP 171 8/7k/2P5/1K6/8/5p1P/P7/8 w - - 0 1

KRPKBP 166 8/3R2P1/7k/8/8/8/5p2/K5b1 w - - 0 1 KQPKRR 165 8/3P2k1/8/3K4/8/8/r4r2/5Q2 w - - 0 1

KBPPKQ 158 8/5B1P/8/8/3k4/7P/4q3/1K6 w - - 0 1 KQBPKQ 158 8/5B1Q/8/8/3k4/6qP/8/1K6 w - - 0 1 KQPKRB 155 8/1kb5/8/8/3r4/8/4P3/2K1Q3 w - - 0 1 KRNKBB 152 8/7R/4b3/8/4k3/5b2/8/K6N w - - 0 1 KBPPKP 151 8/8/8/7B/4p2P/K2k3P/8/8 w - - 0 1 KQPKQP 151 8/3q4/2p4P/8/7Q/1k6/8/K7 w - - 0 1

KBPPKR 149 8/4P3/1r6/8/5B2/8/P7/K2k4 w - - 0 1 KBNPKR 141 3k4/8/r7/7N/8/8/K4BP1/8 w - - 0 1 KPPKPP 141 8/8/2p4P/5P2/1k6/4p3/K7/8 w - - 0 1 KQPKPP 141 2k5/2p5/1K6/7P/7Q/8/6p1/8 w - - 0 1

KRPKBB 136 8/8/3k2P1/1b6/8/8/K1R5/3b4 w - - 0 1 KQNPKQ 133 K3q3/3N4/8/8/8/k3P3/4Q3/8 w - - 0 1 KNPPKP 131 8/8/4NP2/8/1K6/3P4/p6k/8 w - - 0 1 KBBKNP 131 K7/8/8/k7/Bp6/7n/7B/8 w - - 0 1 KNPPKQ 130 8/5P2/4N3/8/8/K2P4/7k/6q1 w - - 0 1

KQPKQB 128 4b3/8/8/8/6Q1/k1K1P3/5q2/8 w - - 0 1 KQPKQN 128 4n1Q1/8/8/8/2K5/4P3/k4q2/8 w - - 0 1 KBNKNP 128 k7/6p1/8/1n1K4/8/5N2/8/4B3 w - - 0 1 KPPKP 127 8/8/8/8/1p2P3/4P3/1k6/3K4 w - - 0 1 KRBPKQ 127 8/7q/1R1P4/8/8/7B/3K4/k7 w - - 0 1 KQRPKQ 127 8/4R3/8/8/8/K1q1P1Q1/8/k7 w - - 0 1 KQPKQR 126 4r3/8/8/8/8/4P3/1k1K1Q2/1q6 w - - 0 1 KQPKRP 126 8/8/8/1K6/2Q5/1r2P3/1k4p1/8 w - - 0 1 KQPKBP 126 4b3/8/8/Q7/8/1k2P3/1p6/2K5 w - - 0 1 KQPKNP 125 4n3/8/8/8/8/3QP3/kp6/2K5 w - - 0 1 KPPKQ 124 8/4P3/7q/8/8/8/k1K1P3/8 w - - 0 1 KQPKQ 124 4Q3/8/7q/8/8/8/k3P3/2K5 w - - 0 1 KBNKPP 124 k1K5/7p/6NB/8/8/5p2/8/8 w - - 0 1 KQPKQQ 124 2Q5/8/7q/8/8/4P3/3q4/k1K5 w - - 0 1 KQRPKP 124 5Q1R/8/8/8/8/8/1p2P3/K1k5 w - - 0 1 KRNPKQ 123 7q/8/1NK5/4P3/1R6/8/8/k7 w - - 0 1 KQPPKP 123 8/8/8/Q7/8/8/1Pp1P3/1k1K4 w - - 0 1 KRBNKP 122 R3B3/N7/8/8/8/3K4/6p1/1k6 w - - 0 1 KQQPKQ 122 k1K1q3/8/8/8/8/8/6P1/5Q1Q w - - 0 1 KRNPKP 121 2N5/8/3K4/3P4/4k3/6R1/5p2/8 w - - 0 1 KRBNKQ 121 R3B3/8/8/1N6/8/3K4/8/1k4q1 w - - 0 1 KRBPKP 120 8/8/4P3/8/R2K4/B7/3p4/7k w - - 0 1

KRPKQR 118 6R1/5P2/8/2k1r2q/8/K7/8/8 w - - 0 1 KQRKQR 117 4q3/7R/8/4r2Q/8/4k3/8/2K5 w - - 0 1 KRPKRP 116 8/7P/1K5R/8/1r1k4/8/4p3/8 w - - 0 1 KNNKP 115 1N6/8/p7/8/8/8/2k1N3/K7 w - - 0 1 KQNPKP 115 8/8/8/8/5Q2/4P3/1pN5/K1k5 w - - 0 1 KNNPKP 114 1N6/8/p7/8/2Pk4/8/8/1K4N1 w - - 0 1 KBNPKQ 113 3N4/3P4/2K5/8/1k1q4/8/7B/8 w - - 0 1 KQRKRP 113 8/1K6/3Q3R/1r6/k7/8/4p3/8 w - - 0 1 KRBKBN 112 B7/8/8/4b3/8/1R6/3kn3/K7 w - - 0 1 KQBPKP 112 3B4/8/8/8/8/4P1Q1/1p6/K1k5 w - - 0 1 KBNPKN 111 5n2/8/8/2KN4/8/7k/B6P/8 w - - 0 1 KQPKRN 110 8/2n5/8/8/1K3r2/Q7/2kP4/8 w - - 0 1

KNNNKP 109 8/p7/8/8/8/4NN2/K3k3/7N w - - 0 1 KBNNKN 109 4k2N/3N4/2n5/8/8/3K4/2B5/8 w - - 0 1 KQQPKP 109 8/8/8/Q7/6Q1/8/1p1P4/K1k5 w - - 0 1 KBBNKN 108 8/8/8/8/8/8/1B4NB/2Kn3k w - - 0 1 KBNNKP 108 8/8/8/p3kB2/1K3N2/8/8/7N w - - 0 1 KRRNKQ 108 5R1N/8/5R2/8/7k/q7/8/K7 w - - 0 1 KBNKN 107 8/8/8/8/8/8/1n5B/2K1N2k w - - 0 1 KQBKRR 107 3r4/6Q1/5B2/8/8/5k2/2Kr4/8 w - - 0 1 KBNKQN 107 8/8/8/8/8/6B1/1n6/1Kq1N2k w - - 0 1 KBNKRN 107 8/8/8/8/8/6B1/1n6/1Kr1N2k w - - 0 1 KBNKBN 107 8/8/8/8/8/6B1/1n6/1Kb1N2k w - - 0 1 KBNKNN 107 8/8/8/8/8/6B1/1n6/1Kn1N2k w - - 0 1 KRBNKN 107 8/8/8/8/2R5/n5B1/8/1K2N2k w - - 0 1 KRNNKP 107 RN6/Nk6/p7/8/8/8/K7/8 w - - 0 1 KQBNKN 107 8/8/8/8/2Q5/n5B1/8/1K2N2k w - - 0 1 KBBKNN 106 4n3/8/8/B7/8/3K4/8/n1kB4 w - - 0 1 KBPKRR 106 8/r3P3/8/8/8/1r6/B7/2K3k1 w - - 0 1 KQPKP 105 8/8/8/8/3P2Q1/8/1p6/K1k5 w - - 0 1 KBPPKN 105 8/7P/6k1/5n2/3K3B/8/7P/8 w - - 0 1 KBBPKN 105 8/6n1/B3P3/8/2K5/8/7k/3B4 w - - 0 1 KQBKRP 105 8/Q7/8/K4rp1/5B2/8/6k1/8 w - - 0 1 KBNKQP 105 8/8/3q4/2K5/1p6/8/k7/5B1N w - - 0 1 KBNKRP 105 8/8/3r4/2K5/1p6/8/k7/5B1N w - - 0 1 KBNKBP 105 8/8/3b4/2K5/1p6/8/k7/5B1N w - - 0 1 KBNKP 104 8/8/3K4/8/8/1p6/k7/5B1N w - - 0 1 KQKRP 104 8/Q7/K7/5r2/5p2/8/6k1/8 w - - 0 1 KRPKQP 104 3R4/2P5/2K5/4q3/6k1/4p3/8/8 w - - 0 1 KBBKPP 104 B7/B7/8/5p2/8/2p5/1K1k4/8 w - - 0 1 KBPKRP 104 K7/8/4B2P/8/5p2/4r3/2k5/8 w - - 0 1 KPKRP 103 K7/7P/4r3/8/5p2/8/2k5/8 w - - 0 1 KBNPKP 103 8/8/3K4/8/8/1P6/1pk5/5B1N w - - 0 1 KBBNKP 103 8/8/3K4/8/8/kB1B4/1p6/N7 w - - 0 1 KQRKQP 103 2QR4/8/2K5/4q3/8/4p3/5k2/8 w - - 0 1 KQNKRP 103 8/K4r2/8/5N2/5p2/8/6k1/Q7 w - - 0 1 KRPKPP 103 8/2K3R1/8/3p4/8/4pP2/4k3/8 w - - 0 1 KBPKQN 102 3q4/2P5/7B/6n1/3K4/8/k7/8 w - - 0 1 KBPKRN 102 3r4/2P5/7B/6n1/3K4/8/k7/8 w - - 0 1 KRBKBP 101 8/8/8/8/8/K7/1pkb4/3R3B w - - 0 1 KBPKN 100 1n6/3P4/8/8/1K6/7B/8/k7 w - - 0 1

KBBPKQ 98 8/P1qB3k/4B3/8/8/8/K7/8 w - - 0 1 KNPKN 97 k7/3P4/2n5/K7/8/8/3N4/8 w - - 0 1 KQQKRP 97 8/8/1pk5/K7/8/8/Qr6/4Q3 w - - 0 1 KQRKPP 97 8/8/4QR2/8/8/4p3/1pk5/K7 w - - 0 1 KNPPKR 97 8/k1PN1r2/8/8/8/1P6/8/K7 w - - 0 1 KBBPKP 97 8/8/K6P/6B1/8/4B3/1p4k1/8 w - - 0 1 KNNNKB 96 6bN/8/8/8/8/1N6/2k5/K6N w - - 0 1 KQBBKQ 96 8/6k1/4B3/8/6B1/3q4/8/1K5Q w - - 0 1 KRPPKR 95 8/8/8/8/1k6/3r2P1/7P/K6R w - - 0 1

KNPPKN 93 7N/8/8/5k2/8/1P6/1P6/1K4n1 w - - 0 1 KNNPKN 92 N2n4/1P6/k7/4N3/3K4/8/8/8 w - - 0 1 KRBKBB 92 7k/4R2B/8/8/8/3K2bb/8/8 w - - 0 1 KQNNKP 92 8/8/8/1p6/QK6/5N2/8/4N2k w - - 0 1 KRBPKN 91 8/8/8/2K5/k7/3n1P1B/8/4R3 w - - 0 1 KQBPKN 91 8/8/8/2K5/k7/3n1P1B/8/4Q3 w - - 0 1 KBBKBN 90 8/8/k7/8/8/4B3/6n1/1BK4b w - - 0 1 KNNNKN 90 7N/N7/1k6/8/8/8/2K1n3/1N6 w - - 0 1 KRRBKQ 90 8/7B/8/k7/8/8/1R6/1RK1q3 w - - 0 1 KRPKQB 90 bK6/6P1/8/2q5/8/1k6/8/R7 w - - 0 1

KQRKQB 89 R7/8/1k6/8/3q4/8/8/bK4Q1 w - - 0 1 KRRKRN 89 r7/8/8/6n1/8/1k6/3RR3/2K5 w - - 0 1 KRRNKP 89 7N/8/8/2R5/8/R7/4p3/3K1k2 w - - 0 1 KNPPKB 88 8/8/N1b5/8/k7/8/2P1P3/K7 w - - 0 1 KRNPKN 88 1k6/R7/2nP4/K5N1/8/8/8/8 w - - 0 1 KPPPKN 87 8/5P2/2n1k3/8/3K4/1P6/1P6/8 w - - 0 1 KBBNKR 85 N7/1r4B1/8/8/8/7B/8/K1k5 w - - 0 1 KRNPKR 85 8/7N/8/8/8/2k5/4r2P/K2R4 w - - 0 1

KQPKBB 84 8/8/7P/8/4k3/3b4/3b4/1KQ5 w - - 0 1 KQBNKQ 84 7q/8/8/8/5B1N/2K4k/5Q2/8 w - - 0 1 KPKBB 83 8/8/7P/8/4k3/b7/8/1K3b2 w - - 0 1 KQRKQN 83 8/4nq2/8/k7/8/8/4Q3/3K2R1 w - - 0 1 KBPPKB 82 1k6/8/8/1P4B1/8/1K6/4P3/7b w - - 0 1 KQNKBB 82 8/8/8/3k4/4bb2/8/8/QKN5 w - - 0 1 KQKBB 81 8/1Q6/8/8/2bb4/8/3k4/K7 w - - 0 1 KQBKBB 81 8/1Q6/8/8/2bb4/3B4/3k4/K7 w - - 0 1 KQQKBB 81 8/8/3Q4/8/4k3/1b2b3/8/3KQ3 w - - 0 1 KQRKBB 81 5R2/8/7b/8/4k3/3b4/8/QK6 w - - 0 1 KQRKBP 81 2K5/4k3/8/8/5R2/7b/2p4Q/8 w - - 0 1 KNNPKB 80 1b6/8/2k5/3N4/8/6N1/3P4/K7 w - - 0 1 KQRKQQ 80 q3Q3/8/5q2/8/8/8/3k4/1K5R w - - 0 1 KBBKQN 80 8/8/8/5q2/1n6/B2k4/B7/2K5 w - - 0 1 KBBKRN 80 8/8/8/8/5n1B/3k3B/1r6/2K5 w - - 0 1 KQPKNN 80 8/2n5/8/K7/1Pn5/8/2k5/7Q w - - 0 1 KRRKRP 80 8/8/8/K7/8/kpR5/2R5/7r w - - 0 1 KRPKQQ 80 8/P7/5q2/8/8/5k2/KR6/7q w - - 0 1

KRPKQN 79 n7/1P6/7k/8/6R1/8/q7/2K5 w - - 0 1 KQBBKP 79 8/8/8/8/8/4Q3/1pkB3B/K7 w - - 0 1 KBBKN 78 7B/6n1/8/6k1/6B1/8/8/K7 w - - 0 1 KPPPKB 78 8/4k1P1/8/3K4/8/8/2bP3P/8 w - - 0 1 KBBBKN 78 8/8/8/8/8/1kn5/1B2B3/3K3B w - - 0 1 KRBBKN 78 8/8/8/8/8/1nk5/3RB3/K1B5 w - - 0 1 KRBKRP 77 k2r4/8/8/Kp6/8/8/4B3/7R w - - 0 1 KQRNKQ 77 8/6NR/8/8/8/2q5/5k2/K6Q w - - 0 1 KRBPKR 76 8/8/1B6/1k6/R7/2r5/6P1/K7 w - - 0 1 KRPKRB 76 8/2R5/8/8/2br1k2/8/1PK5/8 w - - 0 1 KRBBKP 76 8/8/8/8/8/8/4p1RB/3K1k1B w - - 0 1 KQBBKN 76 8/1B6/3Q4/1n6/3K4/8/2kB4/8 w - - 0 1 KBBKRP 76 8/8/8/2k5/6B1/1p2r3/8/3KB3 w - - 0 1 KBBBKR 75 6B1/8/8/6r1/8/7k/7B/K5B1 w - - 0 1 KNNPKQ 75 3K4/6P1/q3k3/8/8/8/8/2N2N2 w - - 0 1 KRRPKR 75 1R6/k7/8/8/6R1/8/6P1/1K2r3 w - - 0 1 KRPKRR 75 8/8/3r3k/8/8/8/rP1R4/3K4 w - - 0 1 KRPKRN 75 8/8/3n3k/8/8/8/rP1R4/3K4 w - - 0 1 KBBKBP 75 8/8/8/5k2/B5b1/1p2B3/3K4/8 w - - 0 1 KBBKQP 75 8/8/8/5k2/B5q1/1p2B3/3K4/8 w - - 0 1 KQRPKR 75 2k5/8/8/6R1/8/8/6P1/r1K2Q2 w - - 0 1

KBBKP 74 8/8/8/8/4k1B1/1p2B3/2K5/8 w - - 0 1 KRPKR 74 k7/8/8/8/8/4R3/6P1/1K5r w - - 0 1 KPKNN 74 8/8/7P/8/4n3/1k6/8/3K3n w - - 0 1 KBBBKP 74 8/8/5B2/8/8/8/4pkB1/3K3B w - - 0 1 KQNNKQ 74 2N2N2/8/8/8/8/q4k2/8/3K2Q1 w - - 0 1 KRPKB 73 8/8/R7/8/8/1k1P4/6b1/K7 w - - 0 1 KRRBKP 73 8/8/8/7R/8/8/1p6/K1k3BR w - - 0 1 KQBNKP 73 Q3B3/N7/8/8/8/8/1p6/K1k5 w - - 0 1 KQKNN 72 8/8/8/8/4n2Q/3k4/8/3K3n w - - 0 1 KQBKRB 72 8/b7/6Q1/8/8/5B2/3k4/K1r5 w - - 0 1 KQQKQB 71 8/8/1k6/2q5/6Q1/b7/8/2K4Q w - - 0 1 KQRKRB 71 8/R7/6Q1/8/3b4/8/1K1k4/5r2 w - - 0 1 KQNKRB 71 5Q2/8/8/r4b2/8/5k2/5N2/1K6 w - - 0 1 KRBPKB 71 7b/8/8/8/8/5k2/1K1P4/RB6 w - - 0 1 KRNPKB 71 8/8/8/8/4b3/1k2PN2/8/1KR5 w - - 0 1 KBPKRB 71 8/5P2/8/Bb1r4/8/8/4k3/1K6 w - - 0 1 KPKRB 70 8/4P3/b7/r7/8/8/8/1K4k1 w - - 0 1 KQKRB 70 8/4Q3/b7/r7/8/8/8/K5k1 w - - 0 1 KPPPKR 70 8/2P5/2P1r3/k7/8/2K5/5P2/8 w - - 0 1 KRPPKB 70 7b/8/8/8/1R6/3P4/2kP4/K7 w - - 0 1 KRRPKB 70 7b/8/8/8/8/3R4/2kP4/KR6 w - - 0 1 KBNPKB 70 8/8/8/8/7b/8/1K1k1P2/N5B1 w - - 0 1 KQQKRB 70 5Q2/8/8/Q7/8/r2b4/4k3/1K6 w - - 0 1 KRBBKR 70 1k6/R7/8/B6B/8/8/3K4/r7 w - - 0 1

KQKRN 69 8/5Q2/8/n7/8/4k3/8/3K2r1 w - - 0 1 KQBKNN 69 8/7Q/8/B3n1k1/8/1n6/8/K7 w - - 0 1 KQQKNN 69 8/7Q/8/Q3n1k1/8/1n6/8/K7 w - - 0 1 KQQKQR 69 Q5Q1/1r6/2k4q/8/8/8/8/1K6 w - - 0 1 KQRKNN 69 8/7Q/8/R3n1k1/8/1n6/8/K7 w - - 0 1 KQRKNP 69 8/5R2/8/K7/8/1n6/2p4Q/1k6 w - - 0 1 KQBKRN 69 8/2B1r3/6Q1/2k5/8/5n2/3K4/8 w - - 0 1 KQNKRN 69 8/8/8/Q7/6N1/6rk/n7/2K5 w - - 0 1 KRRBKR 69 8/1B6/8/5R2/7R/8/8/K1r3k1 w - - 0 1 KRRRKQ 69 1R4R1/8/8/7R/q7/8/5k2/3K4 w - - 0 1 KRPKQ 68 8/P1k5/8/8/8/1q6/R7/K7 w - - 0 1 KPKRN 68 1n6/1K1P4/8/8/8/8/4r3/1k6 w - - 0 1 KQNKNN 68 8/8/3Q4/8/2N1k3/n7/3n4/1K6 w - - 0 1 KRBKRN 68 8/7n/8/4R3/8/k2KB3/8/3r4 w - - 0 1 KRBNKR 68 8/8/8/4R3/5r1B/8/Nk1K4/8 w - - 0 1 KQQRKQ 68 8/8/8/q7/3Q4/6k1/8/KR5Q w - - 0 1 KQRBKR 68 3Q4/k7/4R3/8/8/8/6B1/rK6 w - - 0 1 KBPKQP 68 8/7p/8/8/8/q7/K6P/2k4B w - - 0 1 KBPKP 67 8/7p/8/8/8/1B6/K6P/2k5 w - - 0 1 KQRKQ 67 8/8/8/8/q7/6k1/8/KR5Q w - - 0 1 KRKNP 67 2K4k/7p/8/8/8/8/3R4/n7 w - - 0 1 KQRKRN 67 8/8/8/Q7/5R2/4k3/n7/2K3r1 w - - 0 1 KRRKRB 67 3b4/r7/8/8/4R3/8/k7/2K3R1 w - - 0 1 KRBKRR 67 2r5/8/B7/2R5/7r/3K4/8/5k2 w - - 0 1 KQRRKQ 67 8/8/8/q7/1R6/6k1/8/KR5Q w - - 0 1 KQRBKQ 67 8/7R/8/1B6/8/q7/5k2/K6Q w - - 0 1 KQRPKB 67 8/8/4Q3/3b4/8/8/K1kP4/R7 w - - 0 1 KNNPKR 66 8/8/4PN2/K7/8/7N/1r6/1k6 w - - 0 1 KQQKRN 66 8/8/8/8/1n3k2/1Q6/Q7/1K4r1 w - - 0 1 KQNKNP 66 8/8/8/2k5/2nN4/5Q2/1p1K4/8 w - - 0 1 KRRKNP 66 8/7k/8/6Rp/3K4/5n2/R7/8 w - - 0 1 KRBKR 65 8/3B4/8/1R6/5r2/8/3K4/5k2 w - - 0 1 KRBKQR 65 8/4B3/8/6R1/r7/3q4/2K5/k7 w - - 0 1 KRBKRB 65 2R5/8/8/B7/7b/3r4/8/k1K5 w - - 0 1 KQNKQP 65 8/2K1k3/2p5/1N6/8/8/1Q6/7q w - - 0 1

KQBKNP 63 8/6Q1/8/3n4/1K3B2/8/1pk5/8 w - - 0 1 KQBKQP 63 q7/p7/8/7k/QB6/8/8/3K4 w - - 0 1 KQNKPP 63 8/4k3/2p1N3/1K6/8/8/4Q2p/8 w - - 0 1 KPPKBN 61 8/8/8/P6P/K1k5/8/4b3/4n3 w - - 0 1 KQNPKN 61 8/K7/2n5/4Q3/8/8/P7/5k1N w - - 0 1 KQQKQN 60 7n/8/8/8/1k6/8/7Q/q1K3Q1 w - - 0 1 KQQKNP 60 8/8/8/8/7Q/2k5/2pnQ3/1K6 w - - 0 1 KQQKQP 60 QQ6/8/8/8/1K4q1/8/4p3/2k5 w - - 0 1

KPKNP 58 8/3K4/8/6p1/P7/8/6n1/7k w - - 0 1 KQBKQB 58 7q/1B5b/8/8/7Q/3k4/8/3K4 w - - 0 1 KQBKBP 58 5B2/8/1K6/8/2k5/8/7p/Q5b1 w - - 0 1 KBPKQB 58 6bq/3P4/1k6/8/K7/8/8/5B2 w - - 0 1 KNPKP 57 N7/8/K7/8/4p3/8/6P1/k7 w - - 0 1 KQRKRR 57 R7/7Q/8/8/8/8/8/2rKr1k1 w - - 0 1 KRPKP 56 R7/P7/8/K7/8/8/pk6/8 w - - 0 1 KBNNKR 56 4B3/8/5r2/8/3N1N2/8/3K4/7k w - - 0 1 KQPKBN 56 1K6/3n4/2k3P1/4Q3/8/8/5b2/8 w - - 0 1 KQRBKP 56 Q7/R7/8/1B6/8/8/1p6/K1k5 w - - 0 1 KPKBN 55 8/8/3P4/8/8/2k5/8/1K2n2b w - - 0 1 KQKNP 55 8/7Q/8/K7/8/8/3p4/n1k5 w - - 0 1

KPPKR 54 3K4/8/8/4P3/8/2r5/5P2/2k5 w - - 0 1 KRPKN 54 8/5n2/8/8/8/7k/7P/3K3R w - - 0 1 KBBPKB 54 b7/8/6B1/3K4/8/8/2P5/Bk6 w - - 0 1 KRPPKN 54 8/4R3/8/K1k1P3/2n5/4P3/8/8 w - - 0 1 KRRPKN 54 8/RK6/3n4/3k4/2R5/4P3/8/8 w - - 0 1 KQPPKR 54 Kr6/8/8/2P5/8/3P4/5Q2/7k w - - 0 1 KQKBN 53 8/8/8/8/3b4/1Q6/3kn3/K7 w - - 0 1 KQRKBN 53 8/8/8/1R6/3b4/1Q6/3kn3/K7 w - - 0 1 KQBKBN 53 8/8/8/8/3b4/1Q6/3kn3/K2B4 w - - 0 1 KQNKQR 53 1r6/8/8/7k/8/5N2/2K1Q3/q7 w - - 0 1 KQNKBN 53 8/8/8/2N5/3b4/1Q6/3kn3/K7 w - - 0 1 KBNNKB 53 5N2/8/3b4/8/8/8/8/K1Bk3N w - - 0 1 KBBNKB 53 8/8/B7/2N4B/3k4/8/8/1K1b4 w - - 0 1 KRBBKQ 53 4R1B1/1q6/5B2/k7/8/3K4/8/8 w - - 0 1 KRNKRN 52 7n/8/5R2/8/3r4/8/8/k2K3N w - - 0 1 KRNKRP 52 k7/8/1K4p1/8/r7/8/3N4/3R4 w - - 0 1 KBPKB 51 8/8/6B1/8/2P5/8/2K5/k4b2 w - - 0 1 KPKBP 51 3K4/8/1P6/8/6p1/8/4b3/7k w - - 0 1 KQQKBP 51 8/Q7/8/8/4b3/1k6/5p2/QK6 w - - 0 1 KQNKBP 51 2K5/8/8/8/6b1/1Q6/4N1pk/8 w - - 0 1 KQRPKN 51 8/7R/8/8/4Q3/6kP/3n4/1K6 w - - 0 1 KQBPKB 51 8/8/2B5/8/b7/1KP5/2Q5/k7 w - - 0 1 KPPKN 50 3n4/5P2/8/8/3K2P1/8/k7/8 w - - 0 1 KPKRR 50 3K4/4P3/1r2k3/8/8/8/8/7r w - - 0 1 KQKBP 50 3K4/8/8/8/8/1Q6/4b1pk/8 w - - 0 1 KQQKQQ 50 8/7k/8/1q1q4/8/8/8/K4QQ1 w - - 0 1

KQKRR 49 4r3/8/5Q2/8/5r2/1k6/8/1K6 w - - 0 1 KQBKQR 49 7q/4B2r/8/8/8/8/1Q6/3K3k w - - 0 1 KQRNKP 49 4Q2R/8/8/8/8/8/1p6/K1k3N1 w - - 0 1 KBPKQR 49 2q5/kP6/2K5/3r4/8/8/B7/8 w - - 0 1 KQQKBN 48 8/8/8/8/8/1kn5/4Q1Q1/1K3b2 w - - 0 1 KQQKRR 48 4Q3/8/7Q/8/8/2rk4/8/2K1r3 w - - 0 1 KRRKPP 48 8/8/k7/p7/1K6/3R4/2p1R3/8 w - - 0 1 KRRRKP 46 7R/8/5R2/8/8/5R2/1pk5/K7 w - - 0 1 KQBKPP 46 8/8/8/3K4/8/8/p2Q1B1p/5k2 w - - 0 1 KQQNKR 46 7N/8/8/8/8/6Q1/5Q2/K1r4k w - - 0 1 KQQPKR 46 k7/P5Q1/Q7/8/8/8/r7/K7 w - - 0 1 KBPKR 45 8/r1k5/5P2/3K4/B7/8/8/8 w - - 0 1 KRRKBB 45 8/8/1b6/3b4/4R3/8/5k2/K6R w - - 0 1 KRRNKR 45 7k/5R2/5N2/8/8/6R1/8/K4r2 w - - 0 1 KRRKQP 45 5k1q/R2R4/3p4/8/8/8/8/K7 w - - 0 1 KQQNKQ 45 4Q3/8/2N5/8/k7/8/7Q/q1K5 w - - 0 1 KQRRKP 45 8/R7/8/3Q4/5R2/2k5/1p6/K7 w - - 0 1 KQNPKR 45 K7/r7/3P4/8/8/3N2Q1/8/7k w - - 0 1

KNPKR 44 1N6/8/8/PK6/3r4/3k4/8/8 w - - 0 1 KQNKQB 44 6Q1/b7/8/3N4/8/8/k2K4/7q w - - 0 1 KRRKBN 44 4n1b1/8/8/8/2R5/8/4R3/1K1k4 w - - 0 1 KQRNKR 44 8/8/8/8/1R6/1Q6/2Kr1N2/k7 w - - 0 1 KQBNKR 44 8/8/8/4B3/8/5N2/7Q/K1r2k2 w - - 0 1 KQPPKN 44 8/8/8/8/8/3KP3/Q5P1/2n1k3 w - - 0 1 KPKR 43 8/5k2/2PK4/5r2/8/8/8/8 w - - 0 1 KPPKB 43 8/6P1/7k/8/6P1/1K6/8/1b6 w - - 0 1 KNPKB 43 8/8/8/8/2K5/b7/1k5P/2N5 w - - 0 1 KPKPP 43 8/8/7P/3K4/5p2/4p3/8/7k w - - 0 1 KPKQR 43 8/2P2k2/3q4/2K2r2/8/8/8/8 w - - 0 1 KQNKQN 43 6q1/n7/8/Q7/8/2K5/8/3Nk3 w - - 0 1 KRRKQN 43 7k/1n6/8/8/8/q7/2KR4/4R3 w - - 0 1 KRRKNN 43 8/2R5/8/8/2n4k/3n4/2R5/2K5 w - - 0 1 KRRKBP 43 8/5R2/8/8/k2K4/1R3b2/3p4/8 w - - 0 1 KQBPKR 43 8/8/2P2k2/8/8/r1K4Q/7B/8 w - - 0 1 KQBKQN 42 Q7/8/7q/8/2B5/3K4/n7/2k5 w - - 0 1 KQNKQQ 42 6q1/8/8/Q7/8/2qK4/8/1N1k4 w - - 0 1 KRBKQN 42 8/8/8/5n2/B7/3R4/2K3k1/7q w - - 0 1 KRNKQN 42 8/8/8/n7/2R4q/8/3k4/1K2N3 w - - 0 1 KRNNKR 42 8/8/8/6N1/8/1r6/6RN/K6k w - - 0 1 KQQBKR 42 8/8/8/8/8/6Q1/5Q2/K1r1B2k w - - 0 1 KQNPKB 42 8/8/8/8/1N6/4b3/7P/k1K3Q1 w - - 0 1 KNPKQ 41 8/4P3/8/N1K5/k7/8/7q/8 w - - 0 1 KQNKQ 41 6q1/8/8/Q7/8/2K5/8/3Nk3 w - - 0 1 KRKNN 41 8/5R2/8/8/k7/4n3/3K1n2/8 w - - 0 1 KRKBN 41 8/5R2/8/8/k7/4b3/3K1n2/8 w - - 0 1 KRKRN 41 8/5R2/8/8/k7/4r3/3K1n2/8 w - - 0 1 KRKQN 41 8/5R2/8/8/k7/4q3/3K1n2/8 w - - 0 1 KQKPP 41 8/8/8/2K5/5p2/8/1Q2pk2/8 w - - 0 1 KQRRKR 41 7k/1R6/8/5QR1/8/r7/8/K7 w - - 0 1 KRKN 40 8/2R5/8/8/7k/3K4/8/4n3 w - - 0 1 KRBKN 40 8/2R5/8/8/7k/4n3/6B1/3K4 w - - 0 1 KRRKN 40 8/2R5/8/8/7k/4n3/6R1/3K4 w - - 0 1 KQBKR 40 8/7B/8/7k/5Q2/8/8/Kr6 w - - 0 1 KQRKP 40 8/Q7/R7/8/8/8/1p6/K1k5 w - - 0 1 KQRKN 40 8/2R5/8/8/7k/4n3/6Q1/3K4 w - - 0 1 KRKPP 40 2K5/8/3pR3/5p2/7k/8/8/8 w - - 0 1 KRRKRR 40 1R6/rR1r4/k7/8/8/8/2K5/8 w - - 0 1 KBNKQB 40 6B1/7q/8/8/6N1/3k4/8/1Kb5 w - - 0 1 KBNKRB 40 6B1/7r/8/8/6N1/3k4/8/1Kb5 w - - 0 1 KBNKBB 40 6B1/7b/8/8/6N1/3k4/8/1Kb5 w - - 0 1 KQQKPP 40 6Q1/8/8/8/8/8/1pkp2Q1/K7 w - - 0 1 KQQBKQ 40 6Q1/8/5B2/8/8/8/3k4/QK1q4 w - - 0 1 KQBBKR 40 8/7B/8/7k/5Q2/8/1B6/Kr6 w - - 0 1

KBNKB 39 8/7B/8/4N3/8/8/3k4/K1b5 w - - 0 1 KRKBP 39 8/6bp/8/8/k1K5/8/8/2R5 w - - 0 1 KBNNKQ 39 8/8/1B6/8/2q3N1/2N5/8/K1k5 w - - 0 1 KBBNKQ 39 8/q7/8/8/8/2k3BB/1N6/1K6 w - - 0 1 KRBNKB 39 8/8/8/R7/Nb6/8/3K4/k5B1 w - - 0 1 KQBNKB 39 8/Q7/3B4/8/3K4/8/4Nb2/1k6 w - - 0 1 KQNNKR 39 k7/2Q5/8/8/5N2/3r4/8/1N1K4 w - - 0 1 KQNKR 38 k7/2Q5/8/8/8/8/3r4/1N1K4 w - - 0 1 KQKQR 38 8/8/6q1/8/8/8/2krQ3/K7 w - - 0 1 KRBKQP 38 1R6/8/B7/3q4/8/2K5/1p6/7k w - - 0 1 KRNKN 37 8/8/8/8/RN6/1k6/8/3K1n2 w - - 0 1 KRNKR 37 8/8/8/8/N2K4/R7/8/2k1r3 w - - 0 1 KQPKR 37 8/8/P7/3k4/r7/8/8/KQ6 w - - 0 1 KRNKQR 37 8/8/8/8/N2K4/8/R7/q1k1r3 w - - 0 1 KRNKRR 37 8/8/8/8/N2K4/8/R7/r1k1r3 w - - 0 1 KRNKRB 37 8/8/8/8/r7/8/3K4/kNRb4 w - - 0 1 KQQQKR 37 8/8/8/1Q6/2Q5/k7/3r2Q1/3K4 w - - 0 1 KQQRKR 37 8/8/8/1Q6/2Q5/k7/3r2R1/3K4 w - - 0 1 KQQRKP 37 7R/8/8/1Q6/7Q/2k5/3p4/2K5 w - - 0 1 KQQNKP 37 8/Q7/2Q5/2N5/8/8/1p6/K1k5 w - - 0 1 KBNKR 36 8/8/8/2r5/3B4/8/3N4/K3k3 w - - 0 1 KBNKQ 36 8/8/8/2q5/3B4/8/3N4/K3k3 w - - 0 1 KBNKQQ 36 8/8/8/8/3N4/1q6/7B/K1kq4 w - - 0 1 KBNKQR 36 8/8/8/8/3N4/1r6/7B/K1kq4 w - - 0 1 KBNKRR 36 8/8/8/8/3N4/1r6/7B/K1kr4 w - - 0 1 KQKR 35 8/8/8/8/2r5/8/2k5/K6Q w - - 0 1 KQQKR 35 8/8/8/6Q1/5Q2/7k/r7/K7 w - - 0 1 KBPKQ 35 8/3P1q2/2k5/6B1/8/8/8/K7 w - - 0 1 KBPKQQ 35 8/P7/2k5/8/4q3/5q2/8/KB6 w - - 0 1

KBNNK 34 8/8/8/6N1/6kB/6N1/8/K7 w - - 0 1 KQRKR 34 8/8/8/8/3RQ3/2k5/8/K4r2 w - - 0 1 KPKQP 34 k1q5/2K5/7p/8/8/8/6P1/8 w - - 0 1 KQBKQQ 34 8/8/7q/8/8/qQ1K4/B7/2k5 w - - 0 1 KRRKQB 34 8/R7/8/8/8/8/2RK1k2/5bq1 w - - 0 1 KRNNKN 34 8/8/8/2n5/8/6kN/3K2NR/8 w - - 0 1 KRRBKN 34 8/6Bk/4R3/2R5/5n2/3K4/8/8 w - - 0 1 KQRBKN 34 8/6Bk/4Q3/2R5/5n2/3K4/8/8 w - - 0 1 KQPPKB 34 8/8/8/8/1k6/2b3P1/1K4P1/Q7 w - - 0 1 KBNK 33 8/8/7N/8/8/8/8/K1k1B3 w - - 0 1 KPKP 33 2K5/k7/7p/8/8/8/6P1/8 w - - 0 1 KPPPK 33 K7/8/8/8/2k3P1/6P1/6P1/8 w - - 0 1 KBNPK 33 K1k5/2P5/8/7B/8/8/8/N7 w - - 0 1 KBBNK 33 8/8/8/8/8/B7/5Bk1/K6N w - - 0 1 KRRKP 33 8/8/6R1/8/8/8/4p1R1/3K1k2 w - - 0 1 KQBKQ 33 7q/8/8/k7/8/7B/3K4/4Q3 w - - 0 1 KRKRP 33 7R/8/8/k7/8/r7/Kp6/8 w - - 0 1 KRKQP 33 7R/8/8/k7/8/q7/Kp6/8 w - - 0 1 KRRKQR 33 8/k7/8/8/1q6/5rR1/8/1RK5 w - - 0 1 KRNNKQ 33 3q4/N6R/8/N7/8/k7/2K5/8 w - - 0 1 KRRNKN 33 8/8/8/RN3R2/1k6/4n3/2K5/8 w - - 0 1 KRRRKR 33 8/8/4R1R1/5k2/7R/8/r7/K7 w - - 0 1 KQRNKN 33 8/8/8/RN3Q2/1k6/4n3/2K5/8 w - - 0 1 KPPK 32 8/8/8/8/8/2k3P1/6P1/K7 w - - 0 1 KNPPK 32 7N/K5k1/8/8/8/6P1/6P1/8 w - - 0 1 KQBKP 32 8/Q7/2K3k1/8/8/8/7p/2B5 w - - 0 1 KRBKQB 32 8/8/8/8/2R5/B7/5k2/3K1bq1 w - - 0 1 KRNKQB 32 8/8/8/8/4b3/8/2RN3k/3K1q2 w - - 0 1 KRRRKN 32 8/R7/8/3R4/1R6/8/2n5/K1k5 w - - 0 1 KQQRKN 32 8/R7/8/3Q4/1Q6/8/2n5/K1k5 w - - 0 1 KQRRKN 32 8/R7/8/3R4/1Q6/8/2n5/K1k5 w - - 0 1 KBPK 31 8/3P4/KBk5/8/8/8/8/8 w - - 0 1 KRNKB 31 8/8/8/8/4b3/8/2R5/3K1Nk1 w - - 0 1 KRRKR 31 k7/6R1/8/8/1R6/2r5/8/2K5 w - - 0 1 KRKBB 31 8/8/8/b1R5/8/3K4/8/1k4b1 w - - 0 1 KQQQKQ 31 1Q6/Q7/8/8/3q4/8/2k5/K4Q2 w - - 0 1 KRNKQP 31 8/8/8/4R3/8/3p2q1/3k3N/K7 w - - 0 1 KBBPK 30 4B3/6P1/7k/8/8/8/K7/1B6 w - - 0 1 KRBKB 30 8/8/8/8/8/3R4/6k1/3K1bB1 w - - 0 1 KQPKN 30 8/Q7/2n5/1k6/3K4/8/7P/8 w - - 0 1 KQNKP 30 8/8/2K4N/8/8/5Q2/p1k5/8 w - - 0 1 KQQKQ 30 1Q6/Q7/8/8/8/8/2k5/K4q2 w - - 0 1 KRKRB 30 8/8/8/8/Rr6/3K4/8/1k4b1 w - - 0 1 KRKQB 30 8/8/8/8/Rq6/3K4/8/1k4b1 w - - 0 1 KRNNKB 30 8/8/8/8/8/3K4/5kNR/1b4N1 w - - 0 1 KQQBKP 30 3Q4/Q7/8/8/2B5/8/1p6/K1k5 w - - 0 1

KPKN 29 8/8/8/k7/8/n7/K5P1/8 w - - 0 1 KPKB 29 8/8/8/k7/8/b7/K5P1/8 w - - 0 1 KPKQ 29 8/8/8/k7/8/q7/K5P1/8 w - - 0 1 KRKB 29 8/8/8/8/8/2R5/8/3K1bk1 w - - 0 1 KRBNK 29 8/8/8/8/8/8/6kB/K5NR w - - 0 1 KRNKP 29 8/8/8/4R3/8/2k3N1/3p4/K7 w - - 0 1 KRRKB 29 8/7R/1R6/8/4b3/8/2K5/5k2 w - - 0 1 KRRKQ 29 k2q4/7R/8/8/8/8/8/2K3R1 w - - 0 1 KQRKB 29 8/8/8/5b2/8/R2K4/6k1/1Q6 w - - 0 1 KPKQN 29 8/n7/8/1k1q4/3K3P/8/8/8 w - - 0 1 KQKQP 29 2Qq4/2K5/8/8/8/8/4p3/2k5 w - - 0 1 KRRKQQ 29 8/8/8/8/8/RRq5/7q/K1k5 w - - 0 1 KRBBKB 29 8/b7/8/8/3K4/8/BBk5/R7 w - - 0 1 KPK 28 8/8/8/1k6/8/8/K5P1/8 w - - 0 1 KQKP 28 3Q4/3K4/8/8/8/3k4/3p4/8 w - - 0 1 KNNPK 28 N1N5/8/8/8/8/4k2P/8/K7 w - - 0 1 KRBKP 28 8/8/8/8/8/1R1K4/kB1p4/8 w - - 0 1 KQPKB 28 8/8/k7/8/1Q6/2K5/6P1/4b3 w - - 0 1 KRRNKB 28 5R2/6b1/8/8/8/R7/6k1/K6N w - - 0 1 KRRBKB 28 7b/8/3R4/4RB2/5k2/8/8/K7 w - - 0 1 KNPK 27 8/7N/8/8/8/5k2/7P/K7 w - - 0 1 KQRBKB 27 8/8/8/8/8/2kb4/Q7/RKB5 w - - 0 1 KQRNKB 27 8/8/8/4b3/5Q2/3kN3/7R/K7 w - - 0 1 KRKP 26 8/8/K7/3p4/8/3k4/4R3/8 w - - 0 1 KBBBKB 26 8/8/7b/8/8/5k2/2B5/1B1KB3 w - - 0 1 KQQQKP 26 k7/5Q2/8/4Q3/8/8/1p1Q4/2K5 w - - 0 1 KBPPK 25 B7/1K6/8/8/8/3k3P/7P/8 w - - 0 1 KNNNKR 25 8/8/8/6r1/8/8/5N2/KNk3N1 w - - 0 1

KPKQB 24 qk6/6P1/6b1/1K6/8/8/8/8 w - - 0 1 KQKQN 24 3q4/2n5/8/8/8/8/6Q1/k2K4 w - - 0 1 KQKQB 24 8/2b5/8/8/8/8/k2K1Q2/q7 w - - 0 1 KBBBKQ 24 8/8/8/8/6B1/5B2/5k1q/B2K4 w - - 0 1 KNNNKQ 24 8/8/8/8/2NN3q/8/8/K1k3N1 w - - 0 1 KQQPKN 24 8/8/8/P2Q4/1Q6/8/2n5/K1k5 w - - 0 1 KBBKR 23 4r3/8/8/8/8/8/8/k1K3BB w - - 0 1 KBBKBB 23 8/8/8/8/8/4k3/7B/1Kb3bB w - - 0 1 KBBKQR 23 4r3/8/8/8/3q4/8/8/k1K3BB w - - 0 1 KBBKQB 23 8/8/8/8/8/4k3/7B/1Kb3qB w - - 0 1 KBBKRR 23 4r3/8/8/8/3r4/8/8/k1K3BB w - - 0 1 KBBKRB 23 8/8/8/8/8/4k3/7B/1Kb3rB w - - 0 1 KQBBKB 23 8/8/4B1b1/8/8/k2K4/8/1Q2B3 w - - 0 1 KBBKB 22 8/8/8/2B5/8/8/3k4/K1b4B w - - 0 1 KQQKP 22 8/8/8/3Q4/7Q/2k5/1p6/K7 w - - 0 1 KQKN 21 8/8/8/8/8/2k5/2n5/KQ6 w - - 0 1 KNNNK 21 8/8/8/8/8/8/N4k2/KN4N1 w - - 0 1 KBBKQ 21 8/8/8/1q4B1/8/3k4/6B1/K7 w - - 0 1 KRBKQ 21 1q6/8/8/8/8/8/8/k1KR2B1 w - - 0 1 KQNKN 21 8/8/8/8/3N4/2k5/1n2Q3/3K4 w - - 0 1 KQBKN 21 8/8/8/8/8/2kB4/1n2Q3/3K4 w - - 0 1 KRBKQQ 21 1q6/8/8/8/3B4/2R1q3/8/k1K5 w - - 0 1 KBBKQQ 21 8/3q4/8/8/BB6/8/3q4/K1k5 w - - 0 1 KRNKQ 20 8/8/8/8/R7/6q1/5N2/K1k5 w - - 0 1 KRKRR 20 8/8/R2r4/8/8/3k4/1r6/K7 w - - 0 1 KRKQR 20 8/8/R2q4/8/8/3k4/1r6/K7 w - - 0 1 KRNKQQ 20 8/8/8/8/R1q5/6q1/5N2/K1k5 w - - 0 1

KBBK 19 8/8/8/8/7B/8/3k4/K2B4 w - - 0 1 KRKR 19 8/8/8/8/8/1R6/6r1/K1k5 w - - 0 1 KRKQ 19 8/8/8/8/8/1R6/6q1/K1k5 w - - 0 1 KQQKN 19 8/8/8/4k3/2Q5/n7/3Q4/1K6 w - - 0 1 KRKQQ 19 8/8/8/8/8/8/1R4q1/Kqk5 w - - 0 1 KRRRKB 18 8/2R5/8/4b3/5R2/4k3/7R/K7 w - - 0 1 KQRRKB 18 8/8/8/8/6b1/3k4/8/2RKQR2 w - - 0 1 KQKB 17 8/6Q1/8/4b3/3k4/8/8/K7 w - - 0 1 KRNPK 17 6k1/6NR/7P/8/8/8/8/K7 w - - 0 1 KQNKB 17 8/8/8/4b3/8/8/N1k5/K4Q2 w - - 0 1 KQBKB 17 8/8/8/4k3/3b4/8/5Q2/K3B3 w - - 0 1 KNKPP 17 8/p1p5/8/8/8/8/8/kNK5 w - - 0 1 KQNNKB 17 8/1N6/8/7N/3bk3/8/1Q6/K7 w - - 0 1 KRK 16 8/8/8/8/8/2k5/1R6/K7 w - - 0 1 KRPK 16 8/8/1R6/2kP4/8/8/8/K7 w - - 0 1 KRNK 16 8/8/8/8/3N4/3k4/2R5/K7 w - - 0 1 KRBK 16 8/8/8/8/3B4/3k4/2R5/K7 w - - 0 1 KBBBK 16 8/8/8/3B4/3B4/3k4/3B4/3K4 w - - 0 1 KRBPK 16 8/8/8/8/BR6/kP6/8/K7 w - - 0 1 KQQBKN 16 8/8/8/8/2kB3Q/5Q2/3n4/1K6 w - - 0 1 KQQPKB 16 8/8/8/4b3/5Q2/1P1k4/Q7/K7 w - - 0 1 KRPPK 15 8/8/8/8/2kP4/8/1R1P4/K7 w - - 0 1 KRNNK 15 8/5NR1/5kN1/8/8/8/8/K7 w - - 0 1 KQQKB 15 8/8/8/8/8/3k1b2/8/2QKQ3 w - - 0 1

KRRPK 14 8/K7/8/8/5k2/4RPR1/8/8 w - - 0 1 KQQRKB 14 8/8/8/8/5R2/2k1b3/8/1QKQ4 w - - 0 1 KQQBKB 14 3Q4/8/8/8/8/2b5/Q1B5/K1k5 w - - 0 1 KQQNKB 14 3Q4/8/8/8/8/2b5/Q1N5/K1k5 w - - 0 1 KQKQ 13 8/8/8/8/8/8/8/qk1K2Q1 w - - 0 1 KPKQQ 13 qk4q1/5P2/8/1K6/8/8/8/8 w - - 0 1 KQKQQ 13 8/8/8/8/8/8/3q4/qk1K2Q1 w - - 0 1 KQQNKN 13 N6Q/8/8/8/4k3/1n6/3Q4/K7 w - - 0 1 KQNNKN 13 8/N7/8/8/8/2k5/2nN4/KQ6 w - - 0 1 KRBBK 12 8/8/8/8/3B4/3k4/2RB4/K7 w - - 0 1 KQK 10 8/8/8/5k2/8/8/1Q6/K7 w - - 0 1 KQPK 10 8/8/8/3k4/8/4P3/8/K1Q5 w - - 0 1 KRRNK 10 8/8/6R1/6Nk/6R1/8/8/K7 w - - 0 1 KRRBK 10 8/6R1/6Bk/6R1/8/8/8/K7 w - - 0 1 KNNKBN 10 7n/8/8/4b3/8/3N4/k7/1NK5 w - - 0 1

KQNK 9 8/8/5k2/8/8/8/8/KN4Q1 w - - 0 1 KQPPK 9 8/8/8/8/8/3kP3/3P4/K1Q5 w - - 0 1 KQNPK 9 NQ6/8/8/8/4k3/8/1P6/K7 w - - 0 1 KQBPK 9 8/8/8/8/8/8/k1PK4/2QB4 w - - 0 1 KBKNP 9 1B6/8/8/8/8/8/p7/k2K2n1 w - - 0 1 KNNKNN 9 7n/8/8/8/2N5/8/4N3/knK5 w - - 0 1 KQBK 8 8/5B2/5k2/8/8/8/8/KQ6 w - - 0 1 KQNNK 8 N7/N7/8/8/8/5k2/8/K1Q5 w - - 0 1 KNKBP 8 8/8/8/b7/8/p7/3N4/k1K5 w - - 0 1 KNKRP 8 8/8/8/8/3N4/p7/3r4/k1K5 w - - 0 1 KNKQP 8 8/8/8/q7/8/p7/3N4/k1K5 w - - 0 1 KQQQKN 8 Q7/8/Q7/8/1Q6/8/2n5/K1k5 w - - 0 1 KRRK 7 8/8/8/8/8/3k4/2R5/KR6 w - - 0 1 KNKP 7 8/8/8/8/p7/8/N7/k1K5 w - - 0 1 KQBNK 7 8/8/8/8/4N3/3kB3/Q7/K7 w - - 0 1 KQRPK 7 6Q1/8/8/8/8/8/6Pk/K5R1 w - - 0 1 KNNKN 7 7n/8/8/8/8/8/2NK4/1kN5 w - - 0 1 KNKNP 7 8/8/8/8/pn6/8/N7/k1K5 w - - 0 1 KNNKRN 7 7n/8/8/4r3/8/8/3N4/kNK5 w - - 0 1 KNNKQN 7 7n/8/8/8/2N5/1q6/8/k1NK4 w - - 0 1 KQRK 6 8/8/8/8/3k4/2R5/8/K6Q w - - 0 1 KQBBK 6 8/8/8/8/8/1B6/Q1B1k3/K7 w - - 0 1 KRRRK 5 8/8/8/8/4k3/5R2/R7/RK6 w - - 0 1 KQRNK 5 Q7/N7/8/8/8/8/3k4/K1R5 w - - 0 1 KQRBK 5 1Q6/8/8/8/3B4/3k4/2R5/K7 w - - 0 1 KNNKRB 5 8/8/8/8/1N6/1r6/1b6/1k1K1N2 w - - 0 1 KQQQKB 5 5Q2/8/8/8/3b4/5Q2/Q7/K1k5 w - - 0 1

KQQK 4 1Q6/Q7/8/8/8/5k2/8/K7 w - - 0 1 KQRRK 4 5Q2/5R2/8/8/8/3k4/4R3/K7 w - - 0 1 KQQPK 4 3Q4/3Q4/8/8/8/3P4/8/K1k5 w - - 0 1 KQQNK 4 1Q6/2N5/1Q6/8/8/8/4k3/K7 w - - 0 1 KQQBK 4 3Q3Q/8/8/8/3B4/8/4k3/K7 w - - 0 1 KQQRK 4 8/8/8/8/4k3/8/1K6/QR1Q4 w - - 0 1 KNNKB 4 8/8/8/8/1N6/8/1b6/k1NK4 w - - 0 1 KBKPP 4 8/8/8/1p6/8/8/p7/k2KB3 w - - 0 1 KNNKQB 4 8/8/8/8/1N6/1q6/1b6/k1NK4 w - - 0 1 KNNKBB 4 8/8/8/8/8/3N4/k7/bNK3b1 w - - 0 1 KQQQK 3 8/8/1Q6/Q7/1Q6/8/8/K4k2 w - - 0 1 KNNKR 3 8/8/8/8/3N4/r7/8/k1K1N3 w - - 0 1 KBKBP 3 8/8/8/8/8/8/p7/kbBK4 w - - 0 1 KNNKQR 3 8/8/8/8/3N4/r7/2q5/k1K1N3 w - - 0 1 KNNKRR 3 8/8/8/8/3N4/r7/2r5/k1K1N3 w - - 0 1 KBKBN 2 8/8/8/8/2n5/8/b7/k1K1B3 w - - 0 1 KBKBB 2 8/8/8/8/8/8/b7/k1K1b1B1 w - - 0 1 KBKRP 2 8/8/8/8/8/8/p2r3B/k1K5 w - - 0 1 KBKRB 2 8/8/8/8/8/8/b2r3B/k1K5 w - - 0 1 KBKQP 2 8/8/8/8/8/8/p3q3/k1K1B3 w - - 0 1 KBKQB 2 8/8/8/8/8/8/b3q3/k1K1B3 w - - 0 1

KNNK 1 8/8/8/8/8/4N3/3N4/K1k5 w - - 0 1 KNKN 1 8/8/8/8/8/8/n1K5/k1N5 w - - 0 1 KNKB 1 8/8/8/8/8/8/b7/k1K1N3 w - - 0 1 KNKR 1 8/8/8/8/8/8/r2N4/k1K5 w - - 0 1 KBKP 1 8/8/8/8/8/8/p7/k1K1B3 w - - 0 1 KBKN 1 8/8/8/8/8/8/n1K5/k1B5 w - - 0 1 KBKB 1 8/8/8/8/8/8/b7/k1K1B3 w - - 0 1 KNNKQ 1 8/8/8/8/8/4N3/3N4/K1k1q3 w - - 0 1 KNKNN 1 8/8/8/8/n7/kn6/8/NK6 w - - 0 1 KNKBN 1 8/8/8/8/b7/kn6/8/NK6 w - - 0 1 KNKBB 1 8/8/8/8/8/N7/b7/k1K1b3 w - - 0 1 KNKRN 1 8/8/8/8/8/8/2rN4/K1kn4 w - - 0 1 KNKRB 1 8/8/8/8/8/8/2rN4/K1kb4 w - - 0 1 KNKRR 1 8/8/8/8/8/8/2rN4/K1kr4 w - - 0 1 KNKQN 1 8/8/8/8/q7/kn6/8/NK6 w - - 0 1 KNKQB 1 8/8/8/8/8/8/b1q5/k1K1N3 w - - 0 1 KNKQR 1 8/8/8/8/8/8/2rN4/K1kq4 w - - 0 1 KBKNN 1 8/8/8/8/8/8/n1K5/knB5 w - - 0 1 KBKRN 1 8/8/8/8/8/8/n1K5/k1Br4 w - - 0 1 KBKQN 1 8/8/8/8/8/8/n1K5/k1B1q3 w - - 0 1 KNNKQQ 1 8/8/8/8/8/4N3/3N4/K1k1qq2 w - - 0 1

KNK - - KBK - - KNKQ - - KBKR - - KBKQ - - KNKQQ - - KBKRR - - KBKQR - - KBKQQ - -
> 1 votes

---
Tags: endgame, tablebases
---


# Question
Title: Strategies for focusing on longer time controls
What are some ways of improving focus during longer timer controls? I mostly play blitz (3+0) and I have been moving towards rapid. I find that I see tactics more easily in my blitz games than in my rapid games, which is counterintuitive. I tend to lose focus rather easily.

# Answer
> 9 votes
IMO, you're forgetting something.

In blitz (and partially in bullet games), you have fewer time, but your **opponent** as well. Depending on the level of your adversary (and your own level of course) it is harder to keep everything defendend as solid as you would do in a classic/rapid game.

And as we know:

> "When loose pieces are on the board, tactics arrive."

But in rapid games both players have more time to think through and therefore the defenses are -normally- better organized. Loose pieces won't show up as easily, unless you force your opponent. You should therefore invest more in positional and long-term thinking (*make up a plan!*).

Blitz and bullet focus more on short-term 'quick wins'. Rapid leans more towards classical play. Therefore play it more like a classical game, but don't overthink all the moves since the time is limited. Invest in a good opening repertoire and train how you can win the typical end games that follow the openings you tend to play.

Also, a tip (I often see this with my chess students): don't confusing winning a rapid play in 5 minutes with a real rapid game on eg. 20 min. If you win the game in that timing, you just played a blitz game with rapid timings.

**So in short:** look for tactics, but if you can't find them: continue with your long-term plan.

PS: Don't forget that most regular/club level players play 90% of their games in the same tempo (ie. bullet, blitz, rapid, classic or correspondence). Every type has it's own dynamics and required playing style. So just play a lot of rapid games and you'll improve by yourself.

# Answer
> 7 votes
I can sooo relay to that - I tend to play Blitz too...even in a tournament game. (The upshot is that it acts as a bit of psycho terror on the opponent :-) Since it is a character trait, it is very hard to countervene that, and even worse, in 99% of all cases I'd play the same move anyway after pondering longer. It is the 1% where you overlooked a tactics of the opponent that cost you dearly, and my only advice might be that before you play the move, just for a second pretend to be your opponent...what would the other side play?

P.S. I don't think it is counterintuitive that you see tactics faster in a blitz game, since there you concentrate your brain power on tactics. You'd have to be very strong and/or very experienced to automatically play positionally good moves.

# Answer
> 3 votes
Heh, when I was young I was better at blitz than "normal" chess, as well. As I improved I started to realize that wasn't strictly true, I just degraded less than my opponents, so my results were better; it didn't mean my playing strength was higher.

There is certainly something about the pressure of having to come up with a move *now* that focuses the mind, though, that maybe you can harness. Next time you're in a longer game, pretend you're blitzing and look for the move. Don't act on it, just look for it. When your "Blitz Brain" comes up with its move, take a little more time to really analyze it. See if it's actually good. Does it stand up to a deeper scrutiny? If so, only then play it. IOW, treat your "Blitz Brain" as a candidate move generator.

---
Tags: training, time-control, time-management
---


# Question
Title: Why is this position in the 3.d4 d5 Petroff equal?
I'm trying to learn some theory about the Petroff and was reading about the 3.d4 d5 sideline. Eventually, the position below is reached.

```
[FEN ""]
1.e4 e5 2.Nf3 Nf6 3.d4 d5 4.exd5 exd4 5.Qxd4 Qxd5 6.Qe3+ Qe6 7.Bb5+ Nc6 8.Bxc6+ bxc6 9.Nc3

```

What I can't wrap my head around is that Stockfish says that this position is completely equal. Why is that? From my perspective, White looks objectively better here - they are ready to castle and have developed an extra knight, while Black is behind on development and has serious damage to their queenside pawn structure. What's Black's advantage here? What do they have to counter all White's advantages?

Edit: Sorry, I jumped the gun a bit - Stockfish actually evaluates this position as *-.07* at depth 22, which feels somehow more baffling to me.

# Answer
> What I can't wrap my head around is that Stockfish says that this position is completely equal. Why is that?

Black has the bishop pair in a completely open position (no center pawns). This advantage plus the extra open b file, which black is ready to exploit with Rb8, compensates for the doubled isolated pawns.
> 19 votes

---
Tags: theory, evaluation, petroff-defense
---


# Question
Title: Why are lots of different moves usually considered equivalent in the opening, but not in the middlegame?
When you go to websites like chess.com and analyze your games, you'll notice that most of the first moves are marked as being "book moves"—which I assume are considered equivalent to each other when it comes to engine evaluation, since they're just different ways you could play the game in its early stage, and you merely pick one without your move necessarily being "wrong" (unless it's a total blunder than doesn't belong to any sound opening, of course). For example, after `1. e4 e5` you could play `2. f4` or `2. Nf3`, and the computer will tell you they're both top moves in this position without marking either of them as an inaccuracy or a mistake.

But why doesn't this happen in the middlegame? In pretty much all positions, the engine will always agree that there's one and only one move that is best for you. Yet the middle game is the most complex phase of the game, isn't it? So it's where I'd actually *expect* lots of moves to be fundamentally equivalent to each other, but instead the contrary happens.

# Answer
> 6 votes
> For example, after 1. e4 e5 you could play 2. f4 or 2. Nf3, and the computer will tell you they're both top moves in this position without marking either of them as an inaccuracy or a mistake.

That's because there is a line of code in the program which says something like:

If (move is in book) then set move value = accurate
else call regular evaluation function

That line is there to stop the engine from wasting time trying to calculate. Instead it can just look up its book and pick an approved move.

> But why doesn't this happen in the middlegame?

Because there is no "book" move. The engine does something completely different from the opening and tries to calculate the best move.

> Yet the middle game is the most complex phase of the game, isn't it?

Not really. If there are 30 book moves in a Ruy Lopez Marshall Gambit line then moves 20 through 30 are likely for positions just as complex as for moves 20 through 30 in a different line where book ran out after 15 moves and the engine is calculating instead of looking up. Yet the computer can use its book for the Marshall and save calculating time and effort.

> So it's where I'd actually expect lots of moves to be fundamentally equivalent to each other, but instead the contrary happens.

That doesn't make sense. If the engine is calculating each possible different move in a given complicated position then it makes perfect sense for them all to be different.

It is making calculations based on programmed algorithms. It is *not* making a human evaluation of the position. The only time different possible moves are likely to have the exact same evaluation is when the engine calculates two different moves out to the exact same final result, like a draw or a checkmate.

# Answer
> 2 votes
Generally though, the more pieces are on the board, the harder it is for engines to find a big advantage because there are many possible moves which make it harder for the engine to predict the outcome and alter the positional score greatly.

The answer really is that in some middlegames (closed positions) will often allow you to make many moves since not too many tactical tricks are on the board. In open games, often you are parrying tactics on every move or every other move, so failing to resolve one is an instant advantage for the opponent. In the opening, tactics aren't really there. So many moves are good enough.

In a sense, engines give each position a "score" based on who's move it is to play. So if it is possible to avoid capture, it's harder to score. The less moves that are possible though, the better the engine will be able to find a forcing line that ends in a capture so it will score more accurately. But if it can't, then every move that doesn't cause trouble will be equally as good.

Notice that if you capture a knight for a pawn in the endgame, often the score goes up by 20 points, but in the middle game, it might only go up +1.

That said, 2.f4 is still considered a mistake by every serious engine out there as the top engines value king safety more than weaker engines and f4 greatly undermines that so black gets a better positional score.

# Answer
> -1 votes
**The pieces don't interact much in the opening.**

Let's say white plays e3 as 1st move. Whether I play e5 or d5 in response, none of my pieces are in the direct line of sight of any white piece (in the sense that none of my pieces can be captured by white in response.

If white plays d4 as 1st move, then similar idea for responding with either d5 or Nf6.

If white plays e4, then similar for c5 vs e5.

---
Tags: opening, middlegame, evaluation
---


# Question
Title: White is down 3 pawns in opening, but it doesn't seem like white is really losing
Lichess suggests Re3, Nb1, h4, Bf1, and e5 as top 5 moves. Evaluation is within (-0.7, 0.5). I expected it to be the evaluation to be at most -1. What's going on?

```
[FEN "rnbnk1r1/pp1p1p1p/2p1p1p1/8/4PP2/2Nq2P1/P2B2BP/3RR1KQ w kq - 0 13"]

```

The Queen is in the corner because this is a Chess960 game.

# Answer
> 3 votes
These sharp positions usually rely on specific calculation, so small details can make the position change completely, but in general terms, Black is far behind in development. Also, White can try to place a very dangerous knight on the d6 square (that's the logic behind the e5 suggstion)

# Answer
> 3 votes
The first idea that occurs to me in this is e5 followed by Ne4 (hence black played ...d5 followed by ...f5 in your engine line) because the Black position, as the phrase goes, "leaks like a sieve."

Let's take a simple scan of the static features in black's position, without looking for variations:

1. Black's position is painfully weak on the dark squares, there is no dark-squared bishop available to help defend them and the Queen is off on her own, not doing much of anything worthwhile beyond getting threatened with a discovered attack. Even if castling is possible (no mention in the post) there's nothing over there to defend the King from the drafts coming in through the castle windows (f6 and h6).
2. Black's Nd8 has no moves, and the Nb8 is only marginally better, having only the relatively useless a6 to move to. In fact, only the Black king and Rg8 have any moves. Meanwhile White's pieces are pretty much all developed (even the Qh1 is lending her strength to the long diagonal.
3. The last point means it's going to take black about 8 moves to finish development; there's an old adage that says 3 three moves in development is worth a little more than a pawn, so that pretty much balances the 3-pawn deficit, barring tactical possibilities in the position. It also hints that my first impression of e5 is possibly not the best, as it gives black something to play against.

My own candidate moves for that position include Nd5, intending to sac the knight to open up the path to the black king (I think the sac has to be accepted, as the threat of Nc7 and Bb4 loom large in several variations). Open lines in the center favor the better developed player, but it's probably not sound, despite how much I want it to be.

I'm really hard pressed to see any actual threats black is able to make in this position, White has many. Even the brute force of Re3 has the merit of not offering black a quick way to start forcing exchanges, the traditional counter to a development advantage. And don't ignore Ne2, securing the only loose end that is preventing white from discovering on the queen.

It's an interesting position, lots of opportunities for White to attack, none for Black, so even though I don't see a knock-out blow ATM, it's definitely more fun playing White in this.

---
Tags: opening, analysis, chess-variants, chess960
---