Open Vinvin20 opened 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 :-)
I worked hard on this !
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 :
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
KRRK-7plus-moves.epd KQK-9moves.epd KRK-14plus-moves.epd KPK-23plus-moves.epd KBBK-17plus-moves.epd
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
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
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
5 files updated in the zip :
I wonder: might doing this using syzygybases instead of SF be easier for Lichess to implement?
Perhaps this is a good reference for what we could work towards. https://endgametrainer.com/
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