Backbone.js

三目並べゲームのAI〜原始モンテカルロ法

投稿日:2017年2月5日 更新日:

ゲーム用のAI

三目並べのAIを考えてみた.
有効手をリストアップして、おのおの100回位ずつランダムでゲームを最後までやってみて、勝利数と引分数の合計の高い手を選択するようにしてみた.

参考: JavaScript でオセロを実装する(原始モンテカルロAI編)

シャローコピー

すでにあるボード情報のモデルのデータを変えてしまうと、Viewと結びついていて、盤面の表示に出てしまうので、x,y,valueの同一な別のオブジェクトを作成する(shallow_clone)というメソッドにまとめた.

AI

有効手をeachでまわして、100回ずつ試行して、1勝1ポイント、引き分け0.5ポイントでカウントする.
もっとも高いポイントの手を選択する.

勝率

さきのAIと勝率を比べてみた.

先手の場合、勝数は49/100、引き分け数は51/100
後手の場合、勝数は9/100、引き分け数は54/100

先手がだいぶ有利だと思われるけど、先手では負けなし、逆に後手では9勝をしたので、微妙に強いのか、誤差の範囲か.

試行回数を100回から200回に増やしてみたが、

先手の場合、勝数は44/100、引き分け数は56/100
後手の場合、勝数は9/100、引き分け数は52/100

強さの向上はみられなかった

-Backbone.js
-, , ,

執筆者:

関連記事

Backbone.jsでViewのrender前後にコールバック処理を追加する

By: Michael Gil – CC BY 2.0 afterRender() callback in Backbone.js Views [crayon-5929b71d1831b2 …

Backbone.jsからRails3.2へのPUTに対して204(no content)が返ってくる問題

By: Bernardo Chang – CC BY 2.0   UPDATEするときRailsはデフォルトでJSONには何も返さないのがデフォルトぽい [crayon-5929 …

no image

Rails3.2でBackbone.jsとPrivate_pubでToDoアプリをリアルタイム化(できた!)

参考 Rails3.2でリアルタイムメッセージング~Private_pub、Faye Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails &nbs …

no image

Rails3.2とBackbone.jsでToDoアプリを作ってみた~backbone-on-rails

  公式 backbonejs.org/ Backbone ドキュメント日本語訳 github.com/enja-oss/Backbone イントロダクション github.com/enja

no image

Backbone.jsでGooleアカウントにOAuth2でログインしてGmailのタスクリストと同期するToDoリストをつくるというチュートリアル

dailyjs.com/2012/11/29/backbone-tutorial-1/ たぶんまだ4割くらいしか理解できてない JavaScriptで、nodeのhttpサーバとgrunt.jsで圧縮 …