これはたくさん尋ねられていますが、私は他のコードを検索しましたが、私が見たもののほとんどは完璧(単純に失われません)とシンプルでエレガントで効率的ではないようです。そして、どのタイプのソリューションがその説明に合うかを決めることはできません。私が見てきたシンプルチックタックつま先AI
解決策は以下のとおりです。
(1)アルファ・ベータ法とミニマックスを使用。これは私には複雑に思えますし、そのようなシンプルなゲームには不必要かもしれません。それはおそらくあまりにも複雑ですか?そうでない場合は、ハードコーディングをたくさん行う必要がありますか、アルゴリズムを誤解していますか?
(2)Wikipediaの擬似コード戦略を使用してコードを記述してください...これを実装する方法が正確にはわかりません。たとえば、「for for forks」と表示されます。これらの小切手のほとんどは、winningLinesの配列を持って、それが記入されるかどうかをチェックすることによって行われますか?そうでない場合は、誰かが私にどのようなデータ構造についてのヒントを与えることができますか、ここで擬似コードに入れられた小切手を実装する方法に関する基本的なヒントをhttp://en.wikipedia.org/wiki/Tic-tac-toe#Strategyで教えてください。私はまた、 'X'四角と 'O'四角に数値を与え、その合計を使用して勝者を決定するアルゴリズムを見てきましたが、なぜこれが特に有用なのかわかりません。
その他のソリューションはありますか?
ゲームツリー、ちょうどブルートフォース。すべての可能なゲームをシミュレートするのに時間がかかりません。 – Dave
は完璧とは思われません(いつも勝ちます)=普通のようです。私はいつもティックタックのつま先で勝つ。または最悪のネクタイで。インテリジェントな人なら、これと同じ結果が得られます。だから誰も10歳の後にティックタック・トーを演じる人はいません。誰も勝利しなければ楽しいことはありません。 –
また、「常に勝つ」は有効な要件ではありません。あなたのアルゴリズムが自分自身と対戦することを想像してみてください。 – Dave