私は有限状態マシンに関する自己教育的研究を行っています。そして、現在、興味深いが、些細ではない仕事に遭遇しました。チェスのゲームのルールのための状態マシンを定義することは本当に難しいです。有限状態マシンを使ったチェスゲームのエンコーディングルール
ルールは単純だと思われますが、ゲームそのものはFSMを使用してアプローチするのは難しいです。私はゲームの状態をボードの状態としてエンコーディングすることを考えていました。そこでは、各四角は空であるか、または何らかの部分が入っています。しかし、遷移は対象セルの近傍に関係する事実を認識する必要があるため、遷移を定義することは難しくなります。エンパイアントやキャスティングのような場合、特にキャスティングが他の部分でブロックされている場合には、トランジションを定義することも難しいです。同じように、他の部分によってブロックされ、それらをジャンプすることができない部分、すなわちポーン、ビショップ、ルーク、クイーンの移動制限を定義することは難しい。
どのようにこの問題にアプローチしますか?あるいは、私が気づいていないFSMの拡張もあります。私は、FSMが使用するには実用的ではない多くの同様のアプリケーションがあると確信しています。あなたはこの問題を一般的にどのように扱いますか?
は、各状態がそれに配置された色とチェスの駒の組成物である各フィールドは、特定の状態を持っている分野の行列、、になり、事前にあなたのアプローチで
私は投票に投票しませんでしたが、実際には「うまくいく」という意味を定義する必要があります。有効なゲーム状態を列挙することさえも実用的ではないので、あなたの目的を想像するのは難しいです。 –