Upgrade to Pro — share decks privately, control downloads, hide ads and more …

不完全情報ゲームにおけるAIの開発

 不完全情報ゲームにおけるAIの開発

2020年5月30日 日経学会2020年度春季大会の企画セッションでの発表資料です.
https://www.jeameetings.org/2020s/program1-3.html#pm1

Kenshi Abe

May 30, 2020
Tweet

More Decks by Kenshi Abe

Other Decks in Research

Transcript

  1. 不完全情報ゲームにおけるAIの開発
    株式会社サイバーエージェント
    AI事業本部 AI Lab
    阿部拳之
    2020/05/30

    View full-size slide

  2. ⾃⼰紹介
    ■ 名前
    – 阿部 拳之(あべ けんし)
    – @bakanaouji(ばかなおうじ)
    ■ 経歴
    – 東京⼯業⼤学総合理⼯学研究科知能システム科学専攻(〜2017年)
    ■ 強化学習×進化計算をメインに研究
    – 株式会社ハル研究所(2017年〜2018年)
    ■ ゲームプログラマー
    – 株式会社サイバーエージェント AI事業本部 AILab(2018年〜)
    ■ 強化学習・不完全情報ゲーム・⿇雀AIについて研究

    View full-size slide

  3. はじめに
    ■ ⿇雀は多⼈数不完全情報ゲームの⼀つ
    ■ 不完全情報ゲームは完全情報ゲームにない難しさが存在
    – 情報が部分的にしか観測できない
    – モンテカルロ⽊探索のようなアルゴリズムが適⽤できない
    ■ 特にポーカーを中⼼として完全情報ゲームと違ったアプローチが提案
    ■ 本発表では,不完全情報ゲームにおけるAI開発へのアプローチを花札・
    ポーカーを実例にして紹介

    View full-size slide

  4. Summary
    1. ⼆⼈零和不完全情報ゲームの攻略
    – 花札を実例として
    2. 三⼈以上のプレイヤが存在する不完全情報ゲームへの挑戦
    – ポーカーを実例として

    View full-size slide

  5. ⼆⼈零和不完全情報
    ゲームの攻略

    View full-size slide

  6. 花札「こいこい」
    場札
    ⼿札
    ⼿札
    ⼭札
    合札
    ■ 12ヶ⽉×4=48枚の札を⽤いてプレイ
    1. 札を「各プレイヤ」と「場」に配る
    2. ⽚⽅のプレイヤが⼿札を1枚出す
    – 場に同じ⽉の札があれば,その
    札と出した札を取得
    – そうでなければ場に追加
    3. ⼭札から1枚めくって2と同様の処理
    4. 取得した札で役が成⽴していれば,
    「あがり」か「こいこい」を選択
    – 「あがり」なら役の得点をも
    らって終了
    – 「こいこい」ならゲーム続⾏
    5. ⼿番交代して2から繰り返し
    合札

    View full-size slide

  7. ⼆⼈零和不完全情報ゲームにおける
    最適な戦略
    ■ そもそも,⼆⼈零和不完全情報ゲームにおける最適な戦略とは︖︖
    ■ 対戦相⼿の戦略があらかじめ分かっていれば最適応答を計算すれば良い
    ■ でも実際には相⼿がどんな戦略取ってくるかなんて分からない

    View full-size slide

  8. ⼆⼈零和不完全情報ゲームにおける
    最適な戦略
    ■ ナッシュ均衡
    – どのプレイヤも⾃分の戦略を変更することによって,より⾼い得点を得るこ
    とができないような戦略の組み合わせ
    – 各プレイヤの戦略を!
    ,利得を!
    とすると,ナッシュ均衡戦略の組み合わせ
    ∗は以下の式を満たす
    ∀, !
    !
    ∗, #!
    ∗ = max
    $!
    "∈&!
    !
    (!
    ', #!
    ∗ )
    – 対称性があるゲームの場合,相⼿のどんな戦略にも負けない戦略
    →花札も先⼿と後⼿を交互に繰り返せば対称的
    ■ ⼆⼈零和不完全情報ゲームではナッシュ均衡戦略を計算できれば負けなそう

    View full-size slide

  9. ナッシュ均衡戦略の計算
    ■ ゲームの情報集合数が⼤きい場合,厳密なナッシュ均衡戦略の計算は難しい...
    – (花札の情報集合数)> 10()
    ■ できる限りナッシュ均衡戦略に近い戦略を求める
    – 代表的なアルゴリズム︓Counterfactual Regret Minimization (CFR)

    View full-size slide

  10. Counterfactual Regret Minimization
    ■ 基本的な流れ
    – 「この⼿を取ったほうが良かった」という後悔 (regret)
    を元に戦略を更新
    ■ Counterfactual Regret
    !
    * , = #!
    $#
    (!
    +→-
    * , − !
    *, )
    – 「現在の戦略*を情報集合において⾏動を取るよう
    に変更したら,どれだけ利得が増えるのか」を定式化
    !
    "
    ⼿札
    "
    Regret =
    +5 Regret =
    -2
    何出したら良いかな︖
    Regret Minimization in Games with Incomplete Information (2008)
    https://papers.nips.cc/paper/3306-regret-minimization-in-games-with-incomplete-information
    を出したほうが
    良かった・・・

    View full-size slide

  11. Counterfactual Regret Minimization
    ■ 基本的な流れ
    – 「この⼿を取ったほうが良かった」という後悔 (regret)
    を元に戦略を更新
    ■ Counterfactual Regret
    !
    * , = #!
    $#
    (!
    +→-
    * , − !
    *, )
    – 「現在の戦略*を情報集合において⾏動を取るよう
    に変更したら,どれだけ利得が増えるのか」を定式化
    !
    "
    ⼿札
    "
    Regret =
    +5 Regret =
    -2
    何出したら良いかな︖
    が必ずへ向かうように振る舞い,
    それ以外が$に従った時にに到達する確率
    においてを取るように変更した時の期待利得
    から$に従った時の期待利得
    Regret Minimization in Games with Incomplete Information (2008)
    https://papers.nips.cc/paper/3306-regret-minimization-in-games-with-incomplete-information
    を出したほうが
    良かった・・・

    View full-size slide

  12. Counterfactual Regret Minimization
    ■ これまでのregretの総和に基づいて,戦略を更新
    – Cumulative Counterfactual Regret
    !
    . , = 5
    */0
    .
    !
    *(, )
    – 戦略の更新式
    !
    .10 , =
    max(!
    . , , 0)

    -∈2(+)
    max(!
    . , , 0)
    , 5
    -∈2(+)
    max(!
    . , , 0) > 0
    1
    | |
    , ℎ
    をもっと出す
    ようにするぞ︕
    を出したほうが
    良かった・・・

    View full-size slide

  13. Counterfactual Regret Minimization
    ■ = 1, ⋯ , までの戦略!
    *を平均化した戦略 B
    !
    .がナッシュ均衡戦略へと収束する
    ことが理論的に保証
    – B
    !
    . , = ∑#%&
    ' 6!
    (#
    + $#(+,-)
    ∑#%&
    ' 6!
    (#
    +
    – ただし,⼆⼈零和不完全情報ゲームのみ保証
    – 三⼈以上では収束の保証はなし
    ■ 実⽤的にも⾼速︕︕
    ■ それでも花札の情報集合数(> 10())は厳しい・・・
    →そもそも戦略を保持するための容量が⾜りない
    →ゲームを抽象化 (abstraction) して,情報集合数を現実的なサイズまで減らす

    View full-size slide

  14. Abstraction
    ■ ゲームを抽象化することによって情報集合数を削減
    ■ Abstractionの⽤い⽅
    – 抽象化したゲームのナッシュ均衡戦略を計算→実際のプレイ時に⽤いる
    ■ 花札のためのabstractionをいくつか考えてみました
    – 各プレイヤの⾏動履歴を忘却する(History Abstraction)
    – 対称的な⽉を同形とみなす(Month Abstraction)
    – 取得できそうな札のみ観測する(Open Card Abstraction)

    View full-size slide

  15. History Abstraction
    ■ 各プレイヤが取った⾏動を忘却
    ■ 現在の観測が同じなら,同⼀の
    情報集合とみなす
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    現在の状況
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    現在の状況
    同じ
    情報集合

    View full-size slide

  16. Month Abstraction
    ■ 対称性がある⽉を同形とみなす
    ■ 対称性がある⽉を⼊れ替えても
    情報量は変わらない(ハズ)
    6⽉
    10⽉
    1⽉
    3⽉ 5⽉
    4⽉
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    同じ
    情報集合

    View full-size slide

  17. Open Card Abstraction
    ■ 取得できる場札以外は観測しない
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    ⼿札
    ⼿札 合札
    場札
    ⼭札
    取れない場札を隠す

    View full-size slide

  18. 実際に花札AIを作ってみる
    ■ Abstractionをしてもまだゲームサイズが⼤きすぎるので,今回は1/3サ
    イズのゲームで実験
    ■ ミニ花札
    – ゲームに⽤いる札
    – 役
    三光
    (5点)
    タネ
    (1点)
    タン
    (1点)
    カス
    (1点)
    1⽉ 3⽉ 9⽉
    8⽉
    ⾚短
    (5点)

    View full-size slide

  19. 実験結果
    ■ CFRによって得た戦略を評価するために,ランダム/ルールベースプレイ
    ヤと100万回対戦
    – ランダムプレイヤ︓いつでもランダムに⾏動決定
    – ルールベースプレイヤ︓なるべく札を取れるように⼿札選択.
    ■ ⼈⼯的なプレイヤに対しての平均得点
    – vs ルールベースプレイヤ︓+0.75点
    – vs ランダムプレイヤ︓+1.50点
    ■ 平均得点が0より⼤きいので,⼈⼯的なプレイヤより強い︕︕
    解説ブログと実装コード
    https://cyberagent.ai/blog/research/2522/
    https://qiita.com/bakanaouji/items/f70d7948931c96d94ef8
    https://github.com/bakanaouji/cpp-cfr

    View full-size slide

  20. 三⼈以上のプレイヤが存
    在する不完全情報ゲーム
    への挑戦

    View full-size slide

  21. 三⼈以上の零和不完全情報ゲームの
    難しさ
    ■ ⼆⼈零和ゲーム
    – CFRにおける平均戦略がナッシュ均衡戦略に収束する保証がある
    – ナッシュ均衡戦略に従っていれば⾃分の損失を最⼩限に抑えることができる
    ■ 三⼈以上の零和ゲーム
    – CFRにおける平均戦略がナッシュ均衡戦略に収束する保証がない
    – ナッシュ均衡戦略に従っていても負けることがある

    View full-size slide

  22. 三⼈以上の零和不完全情報ゲームの
    難しさ
    < 00
    ∗ , (0
    ∗ >
    < 0(
    ∗ , ((
    ∗ >
    < 00
    ∗ , ((
    ∗ >
    ナッシュ均衡その1
    ナッシュ均衡その2
    これもナッシュ均衡
    ■ ナッシュ均衡はゲームに対して複数個存在
    ■ ⼆⼈零和ゲーム
    – 各プレイヤが独⽴にナッシュ均衡戦略を選択し
    たとしても,両プレイヤの戦略の組み合わせは
    ナッシュ均衡となる
    ■ 三⼈以上の零和ゲーム
    – 各プレイヤが独⽴にナッシュ均衡戦略を選択し
    た場合,全プレイヤの戦略の組み合わせはナッ
    シュ均衡ではない可能性がある
    – ナッシュ均衡戦略に従っているのに戦略を変え
    たほうがメリットがある可能性がある
    →ナッシュ均衡戦略でも負ける可能性が・・・

    View full-size slide

  23. 三⼈以上の零和不完全情報ゲームの
    難しさ
    < 00
    ∗ , (0
    ∗ , 80
    ∗ >
    < 0(
    ∗ , ((
    ∗ , 8(
    ∗ >
    < 00
    ∗ , ((
    ∗ , 88
    ∗ >
    ナッシュ均衡その1
    ナッシュ均衡その2
    < 08
    ∗ , (8
    ∗ , 88
    ∗ >
    ナッシュ均衡その3
    ナッシュ均衡︖︖
    ■ ナッシュ均衡はゲームに対して複数個存在
    ■ ⼆⼈零和ゲーム
    – 各プレイヤが独⽴にナッシュ均衡戦略を選択し
    たとしても,両プレイヤの戦略の組み合わせは
    ナッシュ均衡となる
    ■ 三⼈以上の零和ゲーム
    – 各プレイヤが独⽴にナッシュ均衡戦略を選択し
    た場合,全プレイヤの戦略の組み合わせはナッ
    シュ均衡ではない可能性がある
    – ナッシュ均衡戦略に従っているのに戦略を変え
    たほうがメリットがある可能性がある
    →ナッシュ均衡戦略でも負ける可能性が・・・

    View full-size slide

  24. 三⼈以上の零和不完全情報ゲームの
    難しさ
    ■ 三⼈以上の零和ゲーム
    – CFRがナッシュ均衡に収束するかも保証されていない
    – そもそもナッシュ均衡戦略に従うのがいいのかすらも怪しい
    →では,どんな戦略に従うのが良いのか︖︖
    ■ 実⽤的には,三⼈以上の零和ゲーム(主にポーカー)にCFRを適⽤するだけで
    ある程度強い戦略はできるらしい
    – この実験的な事実を利⽤したのが2019年登場のポーカーAIのPluribus

    View full-size slide

  25. Pluribus
    ■ 6⼈プレイヤのポーカー(Heads up No-limit Texas Hold’em)でプロを超えた
    ■ ある程度の戦略をCFRによって計算しておき,それを実際のプレイ中に改善
    ■ アルゴリズムの流れ
    1. 予めCFRによってある程度の強さの戦略を計算しておく
    2. 実際のプレイ中に遭遇したSubgameにおける戦略をCFRで計算
    →その戦略に従ってプレイ
    ■ プレイ中の戦略計算時には,深さ制限探索で探索するノード数を減少
    – プレイヤの数が増えて状態数も膨⼤な数になるので,実際のプレイ中に戦
    略の計算が終わらないことに対処
    Superhuman AI for multiplayer poker (2019)
    https://science.sciencemag.org/content/early/2019/07/10/science.aay2400

    View full-size slide

  26. Depth Limited Search
    1. ある深さのノード(葉ノード)に到達するまでは通
    常と同様に探索
    2. 葉ノードに到達したらノードのvalueを推定
    – Monte Carlo Rolloutによって推定
    – 予め計算しておいたk = 4個の戦略の中から戦略
    を選択,葉ノード以降はその戦略に従って⾏動
    ■ ポーカーでよく使われるAbstractionを⽤いて計算
    された戦略
    ■ 降りることに特化した戦略
    ■ コールすることに特化した戦略
    ■ レイズすることに特化した戦略
    – ノードのvalueが戦略に依存したものであることを
    近似的に表現
    Fig. 4. Real-time search in Pluribus. The subgame sh
    nodes indicates that the player to act does not know w
    information subgame. Right: The transformed subga
    strategy. An initial chance node reaches each root nod
    reached in the previously-computed strategy profile (o
    time in the hand that real-time search is conducted). T
    which each player still in the hand chooses among k
    chooses. For simplicity, 2
    k = in the figure. In Pluribu
    selection of a continuation strategy for that player f
    terminal node (whose value is estimated by rolling
    continuation strategies the players chose).
    Fig. 4. Real-time search in Pluribus. The subgame shows just two players for simplicity. A dashed line between
    nodes indicates that the player to act does not know which of the two nodes she is in. Left: The original imperfect-
    information subgame. Right: The transformed subgame that is searched in real time to determine a player’s

    View full-size slide

  27. Pluribusの結果
    ■ 5⼈のプロ vs Pluribus
    – プロ相⼿に⾼い勝率︖︖
    – (実際には負けているケースもある)

    View full-size slide

  28. Team Maxmin Equilibrium
    VS
    利得関数!()
    利得関数"
    ()
    利得関数#
    ()
    利得関数$()
    ただし!
    + "
    + #
    + $
    = 0
    ■ 3⼈以上プレイヤが存在するゲームの解概念
    ■ プレイヤを「共通の利得関数を持つチーム」と
    「敵対者(⼀⼈)」に分割したゲームを考える
    ■ プレイヤを分割したゲームを「⼆⼈零和ゲー
    ム」としてみなして,ナッシュ均衡を計算
    Team-Maxmin Equilibria (1997)
    https://www.sciencedirect.com/science/article/abs/pii/S0899825697905273

    View full-size slide

  29. Team Maxmin Equilibrium
    ■ 3⼈以上プレイヤが存在するゲームの解概念
    ■ プレイヤを「共通の利得関数を持つチーム」と
    「敵対者(⼀⼈)」に分割したゲームを考える
    ■ プレイヤを分割したゲームを「⼆⼈零和ゲー
    ム」としてみなして,ナッシュ均衡を計算
    VS
    利得関数!
    + "
    + #
    ()
    利得関数$
    ()
    ただし!
    + "
    + #
    + $
    = 0
    結託
    Team-Maxmin Equilibria (1997)
    https://www.sciencedirect.com/science/article/abs/pii/S0899825697905273

    View full-size slide

  30. Team Maxmin Equilibriumの特性
    ■ 均衡が必ず存在する
    ■ (⼀般的に)均衡がユニークな期待利得を持つ
    – 相⼿全員が結託してきたworst caseでの利得を最⼤化する戦略が得られる
    – 均衡選択を気にする必要がなくなる

    View full-size slide

  31. Team Maxmin Equilibriumの問題点
    ■ 効率的な計算が困難
    – 完全記憶でないため,CFRなどのアルゴリズ
    ムは収束保証がない
    – 巨⼤な展開型ゲームではまだまだ計算が困難
    ■ 実際の多⼈数ゲームにおけるTeam Maxmin
    Equilibriumの有効性は未知
    – 誰かが⼤損してでも⾃分を負かしにくる状況
    は現実には起こりにくいのでは︖
    – そこまで悪いケースまで考えなくても良さそ
    う︖
    VS
    利得−100
    利得−10
    利得55
    利得55

    View full-size slide

  32. おわりに
    ■ 3⼈以上のプレイヤが存在する不完全情報ゲームにおけるAI開発はチャレンジン
    グな問題
    ■ 花札や⿇雀を中⼼に不完全情報ゲームを攻略していきたい
    ■ 3⼈以上の不完全情報ゲームの戦略について議論したい
    →是⾮ディスカッションしましょう︕
    ご静聴ありがとうございました

    View full-size slide