UCB+ 法を用いた Big Two AI の研究

Slides:



Advertisements
Similar presentations
コンピュータ囲碁における Root 並列化について 発表者 副島 佑介. 目次 研究背景 – 囲碁の難しさ – モンテカルロ木探索について – 並列化手法の先行研究 提案手法 – Root 並列化における合議制 実験結果 まとめ.
Advertisements

坊さんと妖怪(仮) 企画書. ・概要 タイトル:「坊さんと妖怪( 仮)」 ジャンル:妖怪退治カードゲ ーム プレイ人数:2人~5人 キャッチコピー:「日本のファンタジー」 修行僧の妖怪退治をイメージしたゲーム。 他の修行僧と妖怪の山から下山するために 協力(時には手柄の横取り?)しながら ふもとを目指します。
 C 川船 美帆.  強い人工知能の作成 o 「遺伝的アルゴリズム」  「どうぶつしょうぎ」のアプリケーショ ン作成 o スマートフォン向けアプリケーション.
単貧民と偶然手番感度 電気通信大学 西野順二 ○ 西野哲朗. 研究の背景 多人数 [sturvant2000 〜 ] ポーカー(不完全情報 [bowling2007] The University of Alberta GAMES Group 多人数不完全情報ゲームはまだ未開拓の困難対象である §1.
リーダー 辻元健照 プログラム 北川泰士 アルゴリズム 水野雄太 ユーザー 松田邦久 プレゼン 戸所風士
ハノイグラフの生成と最短経路の導出 東京電機大学 理工学部 村田和也 松浦昭洋
UECコンピュータ大貧民大会 参加後の考察
統計解析 第7回 第6章 離散確率分布.
コンピュータ囲碁の仕組み ~ 将棋との違い ~
データ構造とアルゴリズム論 第6章 探索のアルゴリズム
四路の碁アプリ開発 情報論理工学研究所 高倉秀斗.
リバーシの並列化 並列化するときに起こる問題を定義しろ おぷてぃまいざー SSAIとMSAIは比較しろ  前田昂寛.
人 工 知 能 第3回 探索法 (教科書21ページ~30ページ)
インタラクティブ・ゲーム制作 <プログラミングコース>
遺伝アルゴリズムによる NQueen解法 ~遺伝補修飾を用いた解探索の性能評価~
A班 ランダム選択に一言加えたら・・・ 成田幸弘 橋本剛 嶌村都.
モンテカルロ法によるミニ囲碁 増井拓視 情報理論工学研究所.
コンピュータ将棋におけるカーネル法を用いた静的評価関数の学習
モンテカルロ法と囲碁・将棋ソフトの人知超え
単位 おねだり ☆オセロ おねだり隊☆D班.
第7回 卒研進行状況 04A2029           古賀慎也.
近畿大学理工学部情報学科 情報論理研究室 井藤 雄太
モンテカルロ碁 電気通信大学 村松研究室 下川和也.
JAVAでつくるオセロ 伊東飛鳥、宮島雄一 長畑弘樹、ソギ原直人.
シミュレーション論 Ⅱ 第15回 まとめ.
思考力・表現力を高める 学習の流れ 本時のねらい 「数学的活動を通して思考力・表現力を高める」 ↓
~ 「スポーツにおけるゲーム分析」について ~
1. MC/UCT アルゴリズムの 並列化に伴う挙動の変化 2. 探索木共有型並列と マスタスレーブ型並列 ― プラットフォームとの関係 ―
人工知能特論 9.パーセプトロン 北陸先端科学技術大学院大学 鶴岡 慶雅.
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
二人零和不完全情報ゲームであるジャンケンにおけるゲームの洗練法
訓練データとテストデータが 異なる分布に従う場合の学習
4人版リバーシYoninの解析 情報論理研究室 藤本 侑花
BLACK JACKの作成 ブラックジャックのルール 概要 勝敗の判定 開発中の問題点 Aの扱いについて 配り直し(DEAL) 工夫した点
配牌時の役満和了率 を考慮した麻雀AIの開発
G班メンバー リーダー 橋本望 SE 北本理紗と服部友哉 PPT作成 橋本望と山田侑加
ソースコードの特徴量を用いた機械学習による メソッド抽出リファクタリング推薦手法
近畿大学理工学部情報学科 情報論理研究室 松浦 美里
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
近畿大学理工学部情報学科 情報論理工学研究室 赤井 隆純
モンテカルロ法を用いた 立体四目並べの対戦プログラム
研究背景と目的 局面対による学習の高速化 学習器の説明 今後 大規模な強化学習技術の実証と応用 一方で、 強化学習手法の台頭
ベイジアンネットワーク概説 Loopy Belief Propagation 茨城大学工学部 佐々木稔
麻雀ゲームにおけるAIの開発    日高大地   近畿大学理工学部情報学科  
数値解析   大富豪 佐藤玲子 堀智恵実 高山明秀 西田直毅 春田常典.
21  ~ぜったい負けたくない君へ~ 8班.
超短期トレードで生き残るためのテクニックと考え方
「アルゴリズムとプログラム」 結果を統計的に正しく判断 三学期 第7回 袖高の生徒ってどうよ調査(3)
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
情報経済システム論:第13回 担当教員 黒田敏史 2019/5/7 情報経済システム論.
Leader;平尾 仲達 Programmer;古川 智啓 Player , Algorithmer; 長畑 弘樹,吉村 達也,河本 拓哉
近畿大学 理工学部 情報学科 情報論理工学部研究室 潘小月
数値解析ⅡーI ~オセロゲームのプログラム~
Othelloのプログラム 班長:佐々木 悠二 班員:石黒 護     井上 雄滋     齊藤 良裕     清水 裕亮.
松山大学学生意識調査 ~一般基礎演習と経済基礎演習は必要なのか~
アルゴリズムとデータ構造 2011年6月16日
Advanced Data Structure 第3回
F班 メンバー 班長 雨堤 智宏 アルゴリズム解析 角田 泰彬 竹林 秀高 ppt作成 清水 貴史
囲碁プログラム 彩の仕組み 山下 宏 2008年9月4日 FIT2008.
数値解析Ⅱ ~五目並べのプログラミング~ C班.
近畿大学理工学部情報学科 情報論理工学研究室 段野健太
第28回世界コンピュータ将棋選手権アピール文章 作成:井本 康宏 作成日:2018/3/吉日
戦術的観点からの  変形碁盤間の   類似度評価 佐藤 真史(早稲田大学).
Jan 2015 Speaker: Kazuhiro Inaba
Othello G班         山崎 木下 山本 上手      .
アルゴリズムとデータ構造 2013年6月20日
C言語を用いたゲームの作成 種田研究室 05A2055 松井和幸.
論理回路製作実験 発表ガイダンス 発表者氏名 秋田工業高等専門学校 電気・電子・情報系.
Q q 情報セキュリティ 第7回:2005年5月27日(金) q q.
ベイジアンネットワークと クラスタリング手法を用いたWeb障害検知システムの開発
Presentation transcript:

UCB+ 法を用いた Big Two AI の研究 松江工業高等専門学校 橋本 研究室 万代悠作 第7回ミニ研究集会 2012.3.8

はじめに Big Two とは? 目的 モンテカルロ法 + UCB モンテカルロ法 + UCB+ 世界中で遊ばれているカードゲーム 特に中華圏で人気 日本のゲーム「大貧民」によく似ている 多人数不完全情報ゲームに分類 研究は皆無 目的 大貧民優勝プログラムを参考 より強くするために Big Two の強い AI を作る これらを使って, Big Two のつよいAIをつくろう, というのが研究目標です モンテカルロ法 + UCB モンテカルロ法 + UCB+ 第7回ミニ研究集会 2012.3.8

なぜこのゲームを題材にしたか? もともとは大貧民の研究の予定 昨年 11 月にシンガポールから 2 人留学生が Big Two を教えてもらい題材変更に 第7回ミニ研究集会 2012.3.8

Big Two ルール紹介 第7回ミニ研究集会 2012.3.8

Big Two 基本は大貧民と同じ 大貧民との違い 早く自分の手札をなくすことを競う 階級、革命、特殊効果カード(8 切り, 3♠, etc…)はない 一位が決まればゲーム終了 5 枚の組み合わせとしてポーカーの役が出せる ストレート 以上の役 第7回ミニ研究集会 2012.3.8

Big Two : ゲームの流れ 始めに出す プレイヤー 1 枚出し 2 枚出し 3 枚出し 弱 強 第7回ミニ研究集会 2012.3.8

Big Two : ポーカーハンド 5 枚の組合せ 場札より強い役でないと出せない 場札が ない or 5 枚 のときに出せる フォーオブアカインド (フォーカード) ストレート フラッシュ ストレート フラッシュ フルハウス 弱 強 第7回ミニ研究集会 2012.3.8

Big Two : ポーカーハンド 例 始めに出す プレイヤー ストレート フラッシュ ストレート ストレート フルハウス 弱 強 第7回ミニ研究集会 2012.3.8

Big Two : ゲームの複雑さ 取りうる合法手 約 9 倍! 使うカードの枚数 Big Two 大貧民 1枚 52 53 2枚 78 130 3枚 4枚 - 65 5枚以上 19716 1789 合計 19898 2167 約 9 倍! ストレート 10200通り フラッシュ 5108通り フルハウス 3744通り … 第7回ミニ研究集会 2012.3.8

Big Two : 局面あたりの合法手の例 手札: (11 枚) 使うカードの枚数 Big Two 大貧民 Big Two の場合 1枚 2枚 7 3枚 2 4枚 - 5枚 14 合計 34 20 ストレート フルハウス 第7回ミニ研究集会 2012.3.8

AI の概要 第7回ミニ研究集会 2012.3.8

目標とする既存のAI : Bernard AI Bernard Yap Chur Jiun 氏作成 http://sourceforge.net/projects/bigtwo/ 評価関数を使用 場・手札状況のみを見ている 上がるための最短手数 残りカードのランクの強さ 強いカードを手札が多い状況で出していないか これに勝つことを目標に 第7回ミニ研究集会 2012.3.8

大貧民の AI 研究 ルールの似ている大貧民 コンピュータ大貧民大会 UECda 強い AI が存在する! 電気通信大学主催で 2006 年から毎年開催 優勝プログラム snowl (須藤, 篠原: 2009) 第四回・第五回大会 2 連覇 モンテカルロ法 + UCB 強い AI が存在する! 第7回ミニ研究集会 2012.3.8

モンテカルロ法 (Monte Carlo method) ルール以外の知識が不要 実装が楽 木探索を加えた UCT が大成功 囲碁 (Coulom: 2006) ハーツ, スペード (Sturtevant: 2008) 麻雀 (三木: 2010) ゲーム AI 研究においては非常にポピュラーなアルゴリズム 拡張した… 第7回ミニ研究集会 2012.3.8

モンテカルロ法 (Monte Carlo method) 合法手すべてに対して手を打った   その後の局面からランダムに試合終了までプレイ 十分回数プレイアウトを行い、   勝率の最も高い手を選択 プレイアウト 黒の手番 白の手番 赤の手番 黒勝ちのプレイアウト 白勝ちのプレイアウト 赤勝ちのプレイアウト 勝率 0.8 勝率 0.2 ランダムプレイ ランダムプレイ 第7回ミニ研究集会 2012.3.8

UCB (Upper Confidence Bound) そのノードがどのくらい「見込み」があるのかを定量的に 示す (UCB1 値) 勝率の高さ 調べた回数の少なさ : 総プレイアウト回数 ノード  の : プレイアウト回数 勝率が高い手と、調べた回数が 少ない手が多く選ばれる : 報酬の期待値 第7回ミニ研究集会 2012.3.8

作成した AI : MC法 + UCB 値 (MC-UCB) snowl を参考 モンテカルロ法 + UCB プレイアウトするノードを UCB 値で決定 このようにucbを使って決定するので見込みのある手ほど多くプレイアウトを行います 1 2 3 より見込みのある手に 多くのプレイアウトを プレイアウト プレイアウト プレイアウト 第7回ミニ研究集会 2012.3.8

UCB (Upper Confidence Bound) 導出式: 1 2 3 勝率 0.5 勝率 0.5 勝率 0.0 総プレイアウト回数 第7回ミニ研究集会 2012.3.8

UCB (Upper Confidence Bound) 導出式: 1 2 3 勝率 0.5 勝率 0.33 勝率 0.0 総プレイアウト回数 第7回ミニ研究集会 2012.3.8

UCB (Upper Confidence Bound) 導出式: この手を選ぶ 1 2 3 勝率 0.5 勝率 0.33 勝率 0.0 総プレイアウト回数 第7回ミニ研究集会 2012.3.8

対戦実験 MC-UCB AI (x1) vs. Bernard AI (最強? AI) (x3) 対戦回数 1,000 回 最大総プレイアウト回数 5,000 回/手 大貧民で成功した手法が Big Two でも成功 勝率 29.2%   有意水準 99.5% で差がある (B1, B2, B3: Bernard AI) 第7回ミニ研究集会 2012.3.8

UCB+ の導入 第7回ミニ研究集会 2012.3.8

さらに強くするために UCB 値を UCB+ 値に変更 UCB+ 値とは より精度よいノードを選ぶことを目的に オセロで有効だと報告されている (前原, 橋本 他: 2010) より精度よいノードを選ぶことを目的に 第7回ミニ研究集会 2012.3.8

UCB+ : オセロにおける例 右図においてどの手を選ぶか? 評価値の高い手のほうが 見込みがある UCB 値に評価値を組合せると    見込みがある +64 +10 UCB 値に評価値を組合せると より精度よく見極められる! 第7回ミニ研究集会 2012.3.8

UCB+ UCB 初期値 UCB 初期値 + 評価値 見込みある手を早く試す 0.1 0.1 0.1 0.1 + 0.2 =0.3 0.1 + 0.8 =0.9 0.1 + 0.1 =0.2 左から順番に 評価値の 高い手から試す 見込みある手を早く試す 第7回ミニ研究集会 2012.3.8

UCB+ 導出式: 評価値 第7回ミニ研究集会 2012.3.8

UCB+ 勝率項 バイアス項   第7回ミニ研究集会 2012.3.8

作成した AI : MC法 + UCB+ 値 (MC-UCB+) 評価関数 Bernard AI をベースに新たな項目 相手手札の残り枚数 その手によってより多く枚数を使う組み合わせを出せなくしているか どうか 相手が上がりそうなときは強いカードをどんどん出す! ポーカーハンドなど枚数を多く使う役が重要 第7回ミニ研究集会 2012.3.8

対戦実験 UCB+ に変更したことで勝率が向上! MC-UCB+ AI (x1) vs. Bernard AI (x3) 勝率 32.2%! 勝率 29.2% (再掲) UCB+ に変更したことで勝率が向上! 第7回ミニ研究集会 2012.3.8

現在 MC-UCB+ AI を改良 必勝手探索を追加 勝率 39.45% 第7回ミニ研究集会 2012.3.8

分析 MC-UCB+ AI がどのようなときに負けているか? ログを見ていくとある共通性が 負けたゲームは早く終わっている? 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 PASSED 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム PASSED Bernard 2 PASSED Bernard 1 Bernard 3 PASSED 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 PASSED PASSED Bernard 1 Bernard 3 PASSED 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム Bernard 2 PASSED PASSED Bernard 1 Bernard 3 PASSED 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 : 負けたゲーム WON!! Bernard 2 Bernard 1 Bernard 3 自分 (MC-UCB+) 第7回ミニ研究集会 2012.3.8

分析 相手が強力な手札のときに負けてしまう シミュレーション時の相手手札をランダムに仮定 あまりにも現実とかけ離れている仮定だと弱くなる 当たり前といえば当たり前 シミュレーション時の相手手札をランダムに仮定 手札を均等に割り振る 一人だけ強力な手札だとは仮定しない(できない) あまりにも現実とかけ離れている仮定だと弱くなる 第7回ミニ研究集会 2012.3.8

まとめ 評価関数を使った AI よりもモンテカルロ + UCB が優位 UCB+ を用いたことにより性能向上 先ほどの分析例の対処法 局面あたりの合法手の数が多い UCB+ のおかげで良い手に早く収束できた? 先ほどの分析例の対処法 対処すると弱くなる? 長い目で見れば今のままのほうが勝てる? 第7回ミニ研究集会 2012.3.8

おわりに 改善点 相手手札の仮定 プレイアウトの質の向上 大貧民優勝プログラムは 機械学習をしている 実現確率 機械学習 第7回ミニ研究集会 2012.3.8

ご清聴ありがとうございました 第7回ミニ研究集会 2012.3.8