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
-, , ,

執筆者:

関連記事

no image

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

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

Backbone.js0.9.10以降のクライアントサイドでのvalidate

気になるBackbone.jsのプラグインとTips

  By: Francisco Gonzalez 随時更新中 目次1 気になるBackbone.jsのプラグイン2 チュートリアル3 Tips4 気になるjQueryのプラグイン 気になるB …

Underscore.jsのリファレンスなどのリンクメモ

By: Anne-Lise Heinrichs – CC BY 2.0 Underscore.jsは便利な関数ライブラリ. Backbone.jsが依存している.一部でアンスコと呼ばれてい …

Rails3.2とBackbone.jsでGoogle CalendarライクなカレンダーにCRUD(後編)~fullcalendar-rails

目次1  前回2 UPDATE1~バグの訂正3 UPDATE2 ~ ドラッグとリサイズでデータ更新4 DELETE~イベントの削除5 バグがあった → 解決しました!6  herokuにサンプルアップ …