Generator FEN Endgame

10

apakah mungkin untuk menghasilkan string FEN untuk endgames berdasarkan kriteria spesifik: n-piece, w / d / l, dan sisi untuk dipindahkan?

Jadi katakan saya ingin semua string FEN untuk endgames King plus Rook vs King plus Pawn (KPKR), di mana putih untuk bergerak, dan putih menarik dengan bermain sempurna.

Saya tahu akan ada hasil yang sangat besar, dan langkah selanjutnya adalah mengkategorikan hasil tersebut lebih lanjut dengan kriteria lain, seperti misalnya raja putih di depan pion, atau pion hitam telah melewati peringkat ke-6.

Saya menganggap tablebase endgame (egtb) sudah menyimpan informasi ini di dalamnya, tetapi bagaimana cara mendapatkan informasi ini dari mereka? Atau adakah cara lain untuk menghasilkan ini?

Terima kasih!!

Dan Forbes
sumber

Jawaban:

1

Pertama, notasi FEN digunakan untuk menggambarkan status papan atau permutasi, bukan keluarga status papan atau permutasi.

Apa yang Anda bicarakan adalah cara untuk mengindeks posisi dewan berdasarkan kriteria Anda. yaitu game akhir Rook vs Knight atau semacamnya

Ini dapat dilakukan oleh sebagian besar perangkat lunak basis data (Fritz, Chessbase). Ini dilakukan dengan mencari game di basis data, dan menariknya berdasarkan posisi dewan.

Sebagai contoh, jika saya ingin mendapatkan banyak game end rook vs knight, saya dapat mencari semua string FEN yang hanya berisi K, k, p, P, r, R, n, N. Pada dasarnya, posisi yang mengandung pion, ksatria, benteng dan raja.

Adapun egtb, format disimpan menggunakan basis bit dan posisi ditugaskan ke indeks unik. Saya akan berasumsi ini adalah bagaimana Trainer Posisi Catur menyimpan string FEN untuk menentukan transposisi.

Yusuf Ali
sumber
1
Terima kasih atas balasannya! Saya tahu bahwa catur dapat menjalankan pencarian tersebut, masalahnya adalah database menggunakan game nyata yang secara alami berarti ada kesalahan dalam permainan (katakanlah posisi yang harus dimenangkan dengan hasil bermain sempurna dalam hasil imbang atau bahkan kehilangan karena bermain lebih rendah). Saya ingin dapat entah bagaimana melakukan pencarian yang sama persis dari egtb atau memiliki beberapa cara untuk mendapatkan egtb untuk menghasilkan serangkaian posisi. Apakah itu masuk akal?
Dan Forbes
0

Cara paling mudah adalah memulai dengan program catur dengan kemampuan tablebase dan menambahkan rutin yang akan menghasilkan setiap posisi yang mungkin dari kelas endgame yang diberikan dan menghasilkan yang memiliki skor tablebase yang cocok dengan kriteria seleksi.

Trivia: Contoh dari KRKP:

Longest mate score (BTM): MateIn43
Sample BTM longest mating position: 8/8/8/8/5R2/2pk4/5K2/8 b - - 0 1

Optimal move sequence from the above BTM longest mating position:

1... c2 2. Rf3+ Kd4 3. Rf4+ Kd5 4. Rf5+ Kc6 {Kd6} 5. Rf8 Kb7 {Kc7} 6. Rf7+ Kb6
7. Rf6+ Kb5 8. Rf5+ Kb4 9. Rf4+ Kb3 10. Rf3+ Kb2 11. Ke3 {Rf8} c1=Q+ 12. Kd4
Qc6 {Qc7 Qc8 Qd2+ Qe1 Qg1+ Qg5 Qh6} 13. Re3 Kc2 {Qb6+ Qd6+ Qf6+} 14. Re2+ Kb3
15. Re3+ Kb4 16. Ke5 Kc4 17. Re4+ Kd3 18. Rd4+ Ke3 19. Rd6 Qe4+ 20. Kf6 Kf4 21.
Re6 Qb4 {Qc2} 22. Kf7 Qb7+ {Qc3 Qc4} 23. Ke8 Kf5 {Qc7} 24. Rd6 Ke5 {Qc8+} 25.
Rd7 {Rh6} Qa8+ {Qb3 Qb5 Qc8+} 26. Kf7 Qc6 27. Re7+ Kf5 28. Kf8 {Kg8} Qd5 29.
Ke8 {Kg7} Qg8+ 30. Kd7 Kf6 31. Re8 Qf7+ 32. Kd8 Qb7 33. Re1 Qb4 34. Re2 {Re8}
Kf7 {Qa5+ Qb6+ Qb8+ Qd4+ Qd6+} 35. Kc7 {Kd7 Ra2 Rc2 Rf2+ Rg2} Qc4+ 36. Kd6 Qxe2
37. Kd5 Ke7 {Qd1+ Qd2+ Qd3+ Qe3 Qg4} 38. Kc5 Kd7 {Ke6 Qd2 Qd3 Qe3+ Qe4} 39. Kb4
{Kd4 Kd5} Qd3 {Qe3} 40. Ka4 {Kc5} Kc6 {Kc7 Kd6 Qb1} 41. Kb4 Kb6 42. Ka4 Kc5 43.
Ka5 Qa3# {Qb5#}
ChessNotation
sumber