Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

機械学習による球面リバーシ(オセロ)AIの開発

1,470 views

Published on

従来、平面ボードゲームとして普及している リバーシ(商標名:オセロ)の
盤面を球面上に再現し 対戦するボードゲームを開発しました。

平面ボードゲームでは定石であった「隅を先にとる」
戦略は用をなさず、いつ大逆転が起こるか分からない、
スリリングな展開を楽しめます。

この球面リバーシを対象として、リバーシAIを開発する研究を行なっています。
球面リバーシAI開発に当たって、従来型の平面リバーシAIのうち、特に機械学習に
基づくAIを参考にして、球面リバーシAIを開発します。

出典:筑波大学・システム情報系・知能機能工学域
自然言語処理研究室(宇津呂研究室)
http://nlp.iit.tsukuba.ac.jp/

Published in: Entertainment & Humor
  • Be the first to comment

  • Be the first to like this

機械学習による球面リバーシ(オセロ)AIの開発

  1. 1. 機械学習による 球面リバーシ(オセロ)AIの開発 • 球面オセロ – 端の無いオセロ – 全ての点に8方向のつながり • 球面オセロの棋譜データ収集 • 棋譜データでの学習によるAI開発 1
  2. 2. 球面リバーシ(オセロ) 8方向=縦、横、斜め の方向を持つ点を球面上に描く 2
  3. 3. 画鋲を打つ場所 基本線6本の円周を12等分する これらの点(48個)に画鋲を打てば完成 3
  4. 4. 𝒄 𝟐𝟐 𝒄 𝟐𝟐 𝒄 𝟐𝟐 𝒄 𝟐𝟐 𝒄 𝟐𝟐 𝒄 𝟐𝟐 球面オセロ(48点版)の作り方の一例 球の最大の円周(=大円)が 𝑐 の場合 大円から対象の位置に 𝑐 24 の 間隔で基本線を1本ずつ引く 6本の基本線上の12等分した点を 各コマを置く点であるとする 𝒄 𝟏𝟏 4
  5. 5. 5
  6. 6. ・・・ ・・・ ・・・ ・・・ 平面オセロAIの探索木 : 対戦相手の人間(先手) : AI(後手) 初期状態 対戦相手の選択した手 AIの手の 候補 局面に対する評価関数 || 最終石差予測関数 の出力 すべて白 白石-黒石=5 すべて黒 ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・・・ ・ ・ ・ ・ 6最善手
  7. 7. 素性 f3 = = 真 隅にある自分の 石の数 = 1 素性 f5 = 左上隅2✕2並び = = 真 平面オセロの局面に対する 素性表現(一部のみ)および評価関数 素性 f4 = 対角線3個並び = 素性 f2 = 相手が打てる手数 = 3 = 真 :対戦相手の人間(先手) :AI(後手)素性 f1 = AIが後手 = 真 = 真 7
  8. 8. 素性 f3 = = 真 隅にある自分の 石の数 = 1 素性 f5 = 左上隅2✕2並び = = 真 平面オセロの局面に対する 素性表現(一部のみ)および評価関数 素性 f4 = 対角線3個並び = 素性 f2 = 相手が打てる手数 = 3 = 真 :対戦相手の人間(先手) :AI(後手)素性 f1 = AIが後手 = 真 全素性f1,f2,・・・,fn の値に基づき、次式の 評価関数によって 各局面の最終石差を予測 𝐹  =   �  𝑤𝑖  𝑓𝑖 𝑖 回帰分析により学習 予測石差 重み 素性 ✕ = 真 8
  9. 9. オセロAIにおける局面評価関数の学習 訓練用棋譜データ 局面に対する素性表現 6 回帰分析により 𝐹 = � 𝑤𝑖 𝑓𝑖 𝑖 最終石差予測関数 を学習 最終石差=その局面から双方が最善手を打った場合の結果 の最終石差 6 の最終石差 2 ・・・ f1,f2,・・・,fn 9
  10. 10. 素性 f3 = = 真 隅にある自分の 石の数 = 1 素性 f5 = 左上隅2✕2並び = = 真 素性 f4 = 対角線3個並び = 素性 f2 = 相手が打てる手数 = 3 = 真 素性 f1 = AIが後手 = 真 = 真 球面オセロの場合の素性表現(1) 球面オセロでは利用不可 球面オセロでは 利用不可 球面オセロでは 利用不可 10
  11. 11. 素性 f3 = = 真 隅にある自分の 石の数 = 1 素性 f5 = 左上隅2✕2並び = = 真 素性 f4 = 対角線3個並び = 素性 f2 = 相手が打てる手数 = 3 = 真 素性 f1 = AIが後手 = 真 = 真 球面オセロの場合の素性表現(1) 球面オセロでは 辺と隅が存在しないため、 平面オセロの素性の一部のみ 利用可能 球面オセロで利用可能な素性 の詳細な調査が必要 球面オセロでは利用不可 球面オセロでは 利用不可 球面オセロでは 利用不可 11
  12. 12. AIの石のうち最大の 周囲の空きマス の数 = 6 素性 f4 素性 f2 12 :対戦相手の人間(先手) :AI(後手) :配置可能点 素性 f1 = AIが後手 = 真 素性 f5 = 球面オセロの場合の素性表現(2) 素性 f3 相手が打てる手 の数 = 2 相手がひっくり返せる 石の数の最大値 = 1 = 真 = = 真 = = 真 相手の石の割合 = 60 % = = 真 ※ この他に配置パターンの素性も用いる
  13. 13. ・回帰分析による評価関数の学習 ・球面オセロAIの評価 球面オセロの 棋譜データ AI同士の対戦による 棋譜データ収集 球面オセロ用AIの 学習・評価 各素性の重みを ランダムに変化 させて評価関数 を使用 第一段階 収集された棋譜データの 偏りを分析し、人手によ り各素性の重みの分布 を調整した上でランダム に変化させて使用 第ニ段階 球面オセロ用AI vs. 球面オセロ用AI 球面オセロAIの研究全体の流れ 棋譜データを 自動で蓄積 教師データ として利用 13

×