Endgame FENジェネレーター


10

特定の基準に基づいてエンドゲームのFEN文字列を生成することは可能ですか?n個、w / d / l、および移動する側?

だから、私はキングプラスルークvsキングプラスポーン(KPKR)のエンドゲームにすべてのFEN文字列が欲しかったと言います。

非常に多くの結果があることは知っています。次のステップは、白い王がポーンの前にある、または黒いポーンが6番目のランクを通過したなど、他の基準でそれらの結果をさらに分類することです。

エンドゲームテーブルベース(egtb)にはこの情報がすでに格納されていると思いますが、この情報をどのようにしてそれらから取得するのですか?または、これを生成する他の方法はありますか?

ありがとう!!

回答:


1

まず、FEN表記は、ボードの状態または順列ではなく、ボードの状態または順列を記述するために使用されます。

あなたが話しているのは、あなたの基準に基づいてボードのポジションにインデックスを付ける方法です。つまり、Rook対Knightのエンドゲームなど

これは、ほとんどのデータベースソフトウェア(Fritz、Chessbase)で実行できます。これは、データベースでゲームを検索し、ボードの位置に基づいてそれらを引き出すことによって行われます。

たとえば、ルーク対ナイトエンドゲームの束を取得したい場合、K、k、p、P、r、R、n、Nのみを含むすべてのFEN文字列を検索できます。基本的に、ポーン、ナイト、ルーク、キングを含むポジション。

egtbと同様に、フォーマットはビットベースを使用して保存され、位置は一意のインデックスに割り当てられます。これがチェスポジショントレーナーが転置を決定するためにFEN文字列を保存する方法だと思います。


1
返信してくれてありがとう!私はchessbaseがこれらの検索を実行できることを知っています。問題は、データベースが実際のゲームを使用していることです。これは、当然、プレイにミスがあることを意味します(たとえば、完璧なプレイで勝てるはずのポジションが、ドローまたは劣ったプレイによる損失さえもたらす)。どういうわけかegtbのまったく同じ検索を実行したり、egtbに位置の文字列を生成させる何らかの方法を使用したりしたいと思います。それは理にかなっていますか?
Dan Forbes、

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#}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.