Генератор кінцевих ігор FEN


10

чи можливо генерувати рядки FEN для кінцевих ігор на основі конкретних критеріїв: n-шматки, в / д / л і бік для переміщення?

Так що скажіть, що я хотів, щоб усі рядки FEN були для кінг-ігор King plus Rook vs King plus Pawn (KPKR), де білі рухаються, а білі малювали з ідеальною грою.

Я знаю, що було б надзвичайно велика кількість результатів, і наступним кроком буде наступне класифікація цих результатів за іншими критеріями, наприклад, білий король перед пішаком, або чорний пішак пройшов 6-й ранг.

Я припускаю, що в базі таблиць кінцевих ігор (egtb) ця інформація вже зберігається, але як отримати цю інформацію з них? Або існує якийсь інший спосіб генерування цього?

Дякую!!

Відповіді:


1

По-перше, позначення FEN використовується для опису стану плати або перестановки, а не сімейства штатів або перестановок.

Те, про що ви говорите, - це спосіб індексувати позиції ради на основі ваших критеріїв. наприклад, Рок проти Найт-кінця або подібні ігри

Це може зробити більшість програмного забезпечення баз даних (Fritz, Chessbase). Це робиться шляхом пошуку ігор у базі даних та витягування їх на основі позицій на дошці.

Наприклад, якщо я хочу отримати купу ігор rook vs knight end, я можу шукати всі рядки FEN, які містять лише K, k, p, P, r, R, n, N. В основному, посади, які містять пішаків, лицарів, граків та королів.

Що стосується egtb, то формат зберігається за допомогою бітових баз і позиції присвоюються унікальному індексу. Я б припустив, що так тренер з шахових позицій зберігає свої рядки FEN для того, щоб визначити транспозицію.


1
Дякую за відповідь! Я знаю, що шахова база може запускати ці пошуки. Проблема полягає в тому, що база даних використовує реальні ігри, що, природно, означає, що в грі є помилки (скажімо, позиція, яку слід виграти з ідеальними результатами гри в нічию чи навіть програш через неповноцінну гру). Мені б хотілося якось виконати той самий пошук egtb або мати якийсь спосіб отримати egtb для створення рядка позицій. Чи має це сенс?
Ден Форбс

0

Найпростішим способом було б почати з шахової програми з можливістю використання таблиці, і додати процедуру, яка б генерувала всі можливі позиції заданого класу кінцевих ігор та виводила ті, у яких бали таблиць відповідали критеріям відбору.

Загальна інформація: Приклад від 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#}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.