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-relationalをJasmineでテストしてみた

Backbone.jsで関連するモデルのREADとCREATE

By: woodleywonderworks – CC BY 2.0   ThoughtBotの本を読み進めてるけど私には買ってよかったと感じている ゾンビviewのワナを回避す …

backbone-railsのscaffoldで生成されるコードでルーティングとCRUDの処理をどうやってるのか読んでみた

By: asobi tsuchiya   目次1 はじめに2 サンプルの準備3 初期化4 ルーター5 READ6 CREATE7 UPDATE8 DELETE はじめに backbone-r …

ecoテンプレートでヘルパーを使う

By: Stephanie Dillingham – CC BY 2.0   参照 backbonecoffeescript.com/eco-helpers-tutorial e …

no image

Rails3.2でJasmineをつかってBackbone.jsのCollectionをテストしてみる

  前回 Rails3.2でJasmineをつかってBackbone.jsのModelをテストしてみる   Developing Backbone.js Applications …