Chess: Difference between revisions

From miki
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
== References ==
== References ==

=== Engines ===
=== Engines ===


Line 8: Line 9:
* [http://tcec.chessdom.com/ TCEC - Top Chess Engine Championship].
* [http://tcec.chessdom.com/ TCEC - Top Chess Engine Championship].
* [https://chessprogramming.wikispaces.com/ CPW - Chess Programming Wiki].
* [https://chessprogramming.wikispaces.com/ CPW - Chess Programming Wiki].

=== GUI ===
* [http://www.playwitharena.com/?Download:Arena_for_Linux Arena for Linux]
:One of best GUI out there for linux.

=== Protocols ===
* [http://support.stockfishchess.org/kb/advanced-topics/uci-protocol UCI].


== Play ==
== Play ==
Line 33: Line 41:
;Linux
;Linux
* [http://www.craftychess.com/ Crafty (linux)]
* [http://www.craftychess.com/ Crafty (linux)]

== Learn ==
;Android
* [https://play.google.com/store/apps/details?id=com.kodflex.chesstrapspro&hl=en_US Chess Traps Pro]
* [https://play.google.com/store/apps/details?id=net.lrstudios.chess_openings&hl=en_US Chess Openings] (not Pro)
* [https://play.google.com/store/apps/details?id=com.gammalab.chessopenings&hl=en_US Chess openings]

;Openings
* https://grondilu.github.io/memchess/
:Train popular openings with spaced repetition.
* https://listudy.org/
:Same


== Analyze ==
== Analyze ==
Line 43: Line 63:
* http://en.lichess.org/paste
* http://en.lichess.org/paste
:Excellent. Very fast. Easy to browse, play variation, etc. Also local computer analysis.
:Excellent. Very fast. Easy to browse, play variation, etc. Also local computer analysis.

* http://chess555.com/
:Uses StockFish 6. Show '''3 best moves''' (3 evaluation lines).


* https://nextchessmove.com/
* https://nextchessmove.com/
Line 77: Line 100:
</source>
</source>
Stockfish will reply with the best move for black (<code>Nc6</code>) and best counter play for white (<code>d4</code>).
Stockfish will reply with the best move for black (<code>Nc6</code>) and best counter play for white (<code>d4</code>).

;Mimic LiChess
:LiChess uses '''StockFish at full power''', and allocate '''2 secs per move''' [http://en.lichess.org/blog/U4mtoEQAAEEAgZRL/strongest-chess-player-ever].

;UCI protocol
:See some commands [http://support.stockfishchess.org/kb/advanced-topics/uci-protocol here].

== Tools ==
=== [https://www.cs.kent.ac.uk/people/staff/djb/uci-analyser/ uci-analyser] ===
To analyze chess games in PGN format with StockFish automatically.

=== [https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/ pgn-extract] ===
A tool to convert a game in PGN format into any other format.
* Convert SAN to LAN for analysis by UCI engine (like StockFish).
* ELO evaluation.

=== [http://python-chess.readthedocs.io/ Python-chess] ===
* Parse and traverse PGN trees.


== History ==
== History ==
Line 93: Line 134:
* [https://www.chessclub.com/user/help/PGN-spec PGN specification].
* [https://www.chessclub.com/user/help/PGN-spec PGN specification].
: See also [https://en.wikipedia.org/wiki/Portable_Game_Notation Portable Game Notation] on wikipedia.
: See also [https://en.wikipedia.org/wiki/Portable_Game_Notation Portable Game Notation] on wikipedia.

=== [https://github.com/xeyownt/PgnJS PgnJS] ===
PgnJS is a mediawiki extension that provides a <code><nowiki><pgn></nowiki></code> tag and uses ''PgnViewerJS'' to display.

=== [https://github.com/mliebelt/PgnViewerJS PgnViewerJS] ===
PgnViewerJS is a simple JavaScript implementation to show PGN files (Portable Game Notation == Chess) in a web page.
* '''Best plugin out there?'''
* At least the most good looking and suited for a wiki.


=== [http://pgn4web.casaschi.net/home.html pgn4web] ===
=== [http://pgn4web.casaschi.net/home.html pgn4web] ===
Line 100: Line 149:
* More integration available (link missing).
* More integration available (link missing).


=== [https://github.com/mliebelt/PgnViewerJS PgnViewerJS] ===
=== [https://chesstempo.com/pgn-viewer.html PGN-Viewer] ===
Another javascript-based pgn viewer, from [https://chesstempo.com/ ChessTempo].
PgnViewerJS is a simple JavaScript implementation to show PGN files (Portable Game Notation == Chess) in a web page.

* '''Best plugin out there?'''
== Annotation and evaluation ==
* At least the most good looking and suited for a wiki.
Lichess provides an excellent online analysis tool. Moves can be labelled as ''Inaccuracy'', ''Mistake'' or ''Blunder'' [https://lichess.org/qa/75/how-are-these-determined-blunder-mistake-and-inaccuracy] [https://github.com/ornicar/lila/blob/master/modules/analyse/src/main/Advice.scala#L55-L58] as follow, in a '''balanced''' game:
* '''Inaccuracy''': loss of 50 centipawns.
* '''Mistake''': loss of 100 centipawns (a pawn).
* '''Blunder''': loss of 300 centipawns (a minor piece)

If the game is greatly unbalanced, the evaluation is different:
* '''Inaccuracy''': if mate is delayed, or mate lost but still with an advantage of more than 999 centipawns, or mate created (for opponent) from an advantage of less than -999 centipawns.
* '''Mistake''': if mate lost but still with an advantage of more than 700 centipawns, or mate created (for opponent) from an advantage of less than -700 centipawns.

On Chess.com, this is a bit different:
* '''Inaccuracy''' is a loss of at least 0.3 point (30 centipawns).
* '''Mistake''' is a loss of at least 0.9 point.
* '''Blunder''' is a loss of at least 2 points.


== Learn ==
== Learn ==
[[Learn Chess]]
See [[Learn Chess]]. See also the [[Chess training program]] page.


== Tips & Pits ==
== Tips & Pits ==
* ({{red|Frequent mistake}}) In start position, '''b2 and g2 are only protected resp. by Bc1 and Bf1''' &rarr; move these Bishops only if these pawns are not threatened / protected by other pieces!
* ({{red|Frequent mistake}}) In start position, '''b2 and g2 are only protected resp. by Bc1 and Bf1''' &rarr; move these Bishops only if these pawns are not threatened / protected by other pieces!

== Patterns ==
Lessons learn the hard way on Android Tactical Trainer:
* X-Ray pattern with promotion pawn. Attract opponent queen on the promotion line, promote with check.
:<code>[FEN "8/4q3/8/3P4/P2Q4/8/4Kp2/6k1 w - -"] 1. Kf3</code>.
* Fork pattern. Capture a piece. If opponent captures back, deadly fork.
* Be more aggressive, reduce opponent options.
: Between two equal continuation, choose the most aggressive and most limiting (the one with fewest responses).
:<code>r2q1rk1/p3ppbp/bp4p1/3pP1B1/3P4/1BNn3P/PP3PP1/R2QR1K1 w Q - 1 2</code> (black played <code>Nd3</code>), best move is <code>Nxd5</code> because most aggressive, threatening <code>Nxe7</code>, with lot of side-threats. Second, but much worse move is <code>Re2</code>, which prevent black's logical continuation <code>Nxb2</code>. <code>Re3</code> is bad because does not reply to black <code>Nxb2</code>.
* Piece is threatened only if can be captured by pawn of equal piece
* Win tempo with interim obvious mate
:<code>[FEN "r4rk1/2qnbppp/p1b1p3/N2n4/P7/4PN2/1B1QBPPP/1R3RK1 b Qq -"] 1... Bb4</code>. <code>Qd4</code> threatens <code>Qxg7#</code>.
* Pin defender
:<code>[FEN "3r1r1k/p4Ppp/2b2b2/4Q3/3B4/1BP5/PPKp2PP/8 w KQkq -"] 1. Qxf6</code>. <code>d1=Q+</code> will force to pin the bishop, and allow queen capture <code>gxf6</code> and avoiding the mate <code>Bxf6#</code>.
* Intercept the defense line
:Usually done when interceptor threatens back the more valuable defender <code>[FEN "r1b1k1r1/pp1pppb1/2n4p/q3P3/4Q3/2N2N2/PPP1P1PP/2KR1B1R b KQkq -"] 1... Nxe5</code>. Reply is <code>2. Rd5</code>, which forces the queen to retreat.

Beware of:
* If threat on opponent piece, make sure this piece cannot move with equal / stronger threat.
:<code>[FEN "r3k2r/1bqnbp1p/pp2p1p1/4P3/4B3/1Nn5/PPPBQ1PP/4RRK1 w KQkq -"] 1. Qf3</code>, <code>Nxe5</code> is bad because white queens can simply capture the black knight <code>Qxc3</code>.
* Don't focus on one pattern, search all possible patterns!
:<code>[FEN "r1b2rk1/1p2Rppp/2pQ4/6q1/1p2P3/2N1P3/PPP3PP/3R2K1 w KQkq -"] 1. Qxb4</code>. <code>Bh3</code> looks tempting because of the mate threat <code>Qxg2#</code>, but there is the much better ''intercept the defense line'' pattern with <code>c5!</code>.
* Pawn capture.
: The '''bloody''' pawn captures '''diagonally'''!
* On opponent move, find '''all''' immediate threats, including '''captures''' and '''mates'''.
:<code>[FEN "r2q1rk1/pb1n1ppB/4p2p/3n4/1Q5B/P3PP2/6PP/R3K1NR b KQq -"] 1... Kxh7</code>, white must capture queen, but first '''save her own queen''' with <code>Qb1+</code> first!

Latest revision as of 07:38, 11 March 2024

References

Engines

  • StockFish
Free and open-source engine. Currently one of the best engine (top 3) on TCEC.

General

GUI

One of best GUI out there for linux.

Protocols

Play

Any platforms
Android
Play in PRO mode (no undo). Excellent for beginner, each level gives an average of computer strength. Sometimes computer makes "mistake" moves a bit like beginner human would do.
  • DroidFish
Powered by StockFish engine.
  • Lichess
Play against the machine (StockFish) or online.
  • Shredder Chess
Play against the machine (but very slow in timed game, even in low levels).
Windows
Linux

Learn

Android
Openings
Train popular openings with spaced repetition.
Same

Analyze

Tips

  • Use engine that displays several thinking lines at once. This way you get not only the best move, but also a list of possibly equally good moves.
  • Use engine that displays 2-depth best move. Sometimes this helps to better understand why a given move is good.

General game

Online
Excellent. Very fast. Easy to browse, play variation, etc. Also local computer analysis.
Uses StockFish 6. Show 3 best moves (3 evaluation lines).
Enter a position and ask to get the next best move. Based on GNU Chess and Stockfish engines.
Android
Powerful and easy to use chess engine, with clear analysis. Show 2-depth moves with green/red arrows.
Awesome game analyzer, with indication of blunders, bad moves. Analysis takes quite some time though.

Endgame

Online
Easy to use endgame database (6 men or less).
Very powerful analysis board, including complete endgame database. Position are encoded in the URL (e.g. https://en.lichess.org/analysis/8/8/5k2/8/8/2P5/3K4/8_w_-_-)
Android
Probably the best endgame browser out there. Perfect endgame analysis, up to 7 men. Offline DB for 3 men, more require network access. Pieces can be moved around, and the score for all possible positions on the board are shown on the board itself, which is very useful to analyze alternate positions.

Using Stockfish

Use stockfish from the command line [1]:

stockfish
position startpos moves e2e4
go depth 10
...
bestmove b8c6 ponder d2d4

Stockfish will reply with the best move for black (Nc6) and best counter play for white (d4).

Mimic LiChess
LiChess uses StockFish at full power, and allocate 2 secs per move [2].
UCI protocol
See some commands here.

Tools

uci-analyser

To analyze chess games in PGN format with StockFish automatically.

pgn-extract

A tool to convert a game in PGN format into any other format.

  • Convert SAN to LAN for analysis by UCI engine (like StockFish).
  • ELO evaluation.

Python-chess

  • Parse and traverse PGN trees.

History

Theory

Problems

Publishing

Looking for tools for chess game or diagram publishing.

Reference
See also Portable Game Notation on wikipedia.

PgnJS

PgnJS is a mediawiki extension that provides a <pgn> tag and uses PgnViewerJS to display.

PgnViewerJS

PgnViewerJS is a simple JavaScript implementation to show PGN files (Portable Game Notation == Chess) in a web page.

  • Best plugin out there?
  • At least the most good looking and suited for a wiki.

pgn4web

  • Provide a tool to generate HTML page.
  • Also exist as a javascript plugin to convert PGN games. See for instance joomla integration.
  • There is a mediawiki extension!
  • More integration available (link missing).

PGN-Viewer

Another javascript-based pgn viewer, from ChessTempo.

Annotation and evaluation

Lichess provides an excellent online analysis tool. Moves can be labelled as Inaccuracy, Mistake or Blunder [3] [4] as follow, in a balanced game:

  • Inaccuracy: loss of 50 centipawns.
  • Mistake: loss of 100 centipawns (a pawn).
  • Blunder: loss of 300 centipawns (a minor piece)

If the game is greatly unbalanced, the evaluation is different:

  • Inaccuracy: if mate is delayed, or mate lost but still with an advantage of more than 999 centipawns, or mate created (for opponent) from an advantage of less than -999 centipawns.
  • Mistake: if mate lost but still with an advantage of more than 700 centipawns, or mate created (for opponent) from an advantage of less than -700 centipawns.

On Chess.com, this is a bit different:

  • Inaccuracy is a loss of at least 0.3 point (30 centipawns).
  • Mistake is a loss of at least 0.9 point.
  • Blunder is a loss of at least 2 points.

Learn

See Learn Chess. See also the Chess training program page.

Tips & Pits

  • (Frequent mistake) In start position, b2 and g2 are only protected resp. by Bc1 and Bf1 → move these Bishops only if these pawns are not threatened / protected by other pieces!

Patterns

Lessons learn the hard way on Android Tactical Trainer:

  • X-Ray pattern with promotion pawn. Attract opponent queen on the promotion line, promote with check.
[FEN "8/4q3/8/3P4/P2Q4/8/4Kp2/6k1 w - -"] 1. Kf3.
  • Fork pattern. Capture a piece. If opponent captures back, deadly fork.
  • Be more aggressive, reduce opponent options.
Between two equal continuation, choose the most aggressive and most limiting (the one with fewest responses).
r2q1rk1/p3ppbp/bp4p1/3pP1B1/3P4/1BNn3P/PP3PP1/R2QR1K1 w Q - 1 2 (black played Nd3), best move is Nxd5 because most aggressive, threatening Nxe7, with lot of side-threats. Second, but much worse move is Re2, which prevent black's logical continuation Nxb2. Re3 is bad because does not reply to black Nxb2.
  • Piece is threatened only if can be captured by pawn of equal piece
  • Win tempo with interim obvious mate
[FEN "r4rk1/2qnbppp/p1b1p3/N2n4/P7/4PN2/1B1QBPPP/1R3RK1 b Qq -"] 1... Bb4. Qd4 threatens Qxg7#.
  • Pin defender
[FEN "3r1r1k/p4Ppp/2b2b2/4Q3/3B4/1BP5/PPKp2PP/8 w KQkq -"] 1. Qxf6. d1=Q+ will force to pin the bishop, and allow queen capture gxf6 and avoiding the mate Bxf6#.
  • Intercept the defense line
Usually done when interceptor threatens back the more valuable defender [FEN "r1b1k1r1/pp1pppb1/2n4p/q3P3/4Q3/2N2N2/PPP1P1PP/2KR1B1R b KQkq -"] 1... Nxe5. Reply is 2. Rd5, which forces the queen to retreat.

Beware of:

  • If threat on opponent piece, make sure this piece cannot move with equal / stronger threat.
[FEN "r3k2r/1bqnbp1p/pp2p1p1/4P3/4B3/1Nn5/PPPBQ1PP/4RRK1 w KQkq -"] 1. Qf3, Nxe5 is bad because white queens can simply capture the black knight Qxc3.
  • Don't focus on one pattern, search all possible patterns!
[FEN "r1b2rk1/1p2Rppp/2pQ4/6q1/1p2P3/2N1P3/PPP3PP/3R2K1 w KQkq -"] 1. Qxb4. Bh3 looks tempting because of the mate threat Qxg2#, but there is the much better intercept the defense line pattern with c5!.
  • Pawn capture.
The bloody pawn captures diagonally!
  • On opponent move, find all immediate threats, including captures and mates.
[FEN "r2q1rk1/pb1n1ppB/4p2p/3n4/1Q5B/P3PP2/6PP/R3K1NR b KQq -"] 1... Kxh7, white must capture queen, but first save her own queen with Qb1+ first!