3-1. AIプレーヤーの思考アルゴリズム

このセクションでは、本サイトの題材である reversi プログラムに同梱されている 5 つのAIプレーヤーの思考アルゴリズムと実装について解説します。

algorism01a

どのアルゴリズムも、リバーシだけでなくチェスや将棋、囲碁などのゲームでも通用する汎用的なものです。これらを理解したうえで、より強いAIプレーヤーの作成に挑戦してみてください!

SimplestAIPlayer は最も単純なAIプレーヤーです。 リバーシ盤を左上から順に調べて、置ける場所が見つかればそこに置きます。 置ける場所が1つも見つからなければ、パスを宣言します。
RandomAIPlayer は、石を打てる場所の中からランダムに手を選びます。 思考処理が定数時間で終わり、偏りなく手を選択するようなアルゴリズムを採用しています。
DepthFirstAIPlayer は、深さ優先探索アルゴリズムにより手を先へ先へと読み進み、必勝手を探し出すプレーヤーです。そもそもリバーシとはどのようなゲームなのでしょうか?...
BreadthFirstAIPlayer は、幅優先探索により最善手を探すプレーヤーです。 深さ優先探索がとにかく次へ次へと読んでいくのに対して、幅優先探索は横へ横へと一手先のすべての手を読んでから、さらに次の手を読んでいきます。
MonteCarloAIPlayer はモンテカルロ・シミュレーションにより最善手を選ぶプレーヤーです。何やら難しい専門用語のように聞こえますが、非常に単純なアルゴリズムです。
スポンサーリンク
reversi_main 336*280
reversi_main 336*280

フォローする