lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.04k stars 2.23k forks source link

Learn: Elementary endgames #817

Open Vinvin20 opened 9 years ago

Vinvin20 commented 9 years ago

The idea is to get a starting position, chose your time control and start to play against SF level 8.

Level beginner

KRR vs K KQ vs K KP vs K (some of the longest wins) KQ vs KP KQ vs KN KQ vs KB KN vs KP (draw with the N or win with the P)

Level intermediate

KBB vs K KR vs KP (some of the longest wins) KR vs KN (some of the longest wins) KP vs KP (some studies ?) KBP vs KB KBP vs KN KNP vs KB KNNN vs K (for run)

Level advanced

KRP vs KR KQ vs KR KBN vs K KR vs KB (some of the longest wins) KQP vs KQ KRB vs KR KNN vs KP

References :

http://www.mark-weeks.com/aboutcom/caa-ltpc.htm (see Endgames: Elementary endgames ) https://en.wikipedia.org/wiki/Checkmate#Basic_checkmates https://en.wikipedia.org/wiki/Rook_and_pawn_versus_rook_endgame http://www.chessgames.com/perl/chesscollection?cid=1015216 http://www.chess-game-strategies.com/basic-checkmates.html http://fr.chesstempo.com/chess-endgames.html

Vinvin20 commented 9 years ago

I finally found a way to select the most interesting positions for this tests. The tools "Wilhelm" can do some Endgame database mining : http://chess-database.com/Tablebase-DVDs/Wilhelm-Readme_en.pdf More news next week :-)

Vinvin20 commented 9 years ago

I worked hard on this !

Elementary endgames workout :

To do on lichess : 1) Add a menu point "Elementary endgames" in "Learn" menu 2) Propose all the following endgames (see below) to the player, player have to chose one 3) Propose an opponent to the player : human or SF level 1-8 +time control 4) Set the board by randomly chosing one line in the corresponding file (see the "note about the EPD files" below) 5) Start the play to do later -> 6) If the player doesn't succeed in mating then he fails the test 7) Count the score of the player on all different endings

Note on the EPD files : In each file, white is winning. Distance to mate (DM) is specified at the end of each line. To generate all possible positions :

To generate one random position from this 8 possible :

  1. Randomly : 1 chance on 2 -> symmetry (or not) on the a1-h8 diagonal
  2. From the position you got on (1), Randomly : 1 chance on 4 -> 1/4 do nothing, 1/4 make a vertical symmetry, 1/4 make a horizontal symmetry, 1/4 make a vertical and a horizontal symmetry
    • When there's pawn(s) in the endgame, there's only one symmetry possible : Vertical (Randomly 1 chance on 2).

Here the list of elementary endgames : The zip file with all the EPD files is in my Dropbox : https://www.dropbox.com/s/3or245ruu7r2nzv/EndgametrainigEPD.ZIP?dl=0

Level beginner

KRRK-7plus-moves.epd KQK-9moves.epd KRK-14plus-moves.epd KPK-23plus-moves.epd KBBK-17plus-moves.epd

Level intermediate

KPKP-30plus-moves.epd KPKN-27plus-moves.epd KNKP-6plus-moves.epd KQKB-16plus-moves.epd KQKN-20plus-moves.epd KRKP-24plus-moves.epd KRPKR.epd KQKP-25plus-moves.epd KNPKB.epd KRKPP-34plus-moves.epd KQKQ-12moves.epd KNPKN-51-55moves.epd KNNNK-19plus-moves.epd KRPPKR-70moves.epd

Level advanced

KBNK-20moves.epd KBNK-32plus-moves.epd KRKB-25plus-moves.epd KRNKR-20moves.epd KRNKR-31plus-moves.epd KQKBN.epd KRBKR.epd KQKBB-60moves.epd KRKBP-32plus-moves.epd KRKN-37plus-moves.epd KNPKN-40-41moves.epd KBPKB-45plus-moves.epd KBPKN-30-40moves.epd KBPKP-63plus-moves.epd KQRKQ-30plus-moves.epd

Level expert

KNNKP-40moves.epd KNNKP-45moves.epd KQKR-20moves.epd KQKR-33plus-moves.epd KQPKQ-40-60moves.epd KQKNN-55plus-moves.epd KQKRN-37-39moves.epd KQKRN-40-55moves.epd KQKRB-40-49moves.epd KQKRP-select55-80moves.epd

Vinvin20 commented 9 years ago

5 files updated in the zip :

ddugovic commented 6 years ago

I wonder: might doing this using syzygybases instead of SF be easier for Lichess to implement?

shermansiu commented 1 year ago

Perhaps this is a good reference for what we could work towards. https://endgametrainer.com/