SlideShare a Scribd company logo
1 of 19
魔王の作り方 2014
石井(健)研究室
OB6年目 Java歴11年目
原 大曜
ボンバーマン
• Ken’s Cup 2008 から 6年ぶり2度目
– 当時SDK作った
• これまでの歴史
2006: オセロ
2007: ぷよぷよ
2008: ボンバーマン
2009: XI
2010: パックマン
2011: ブロックス
2012: ぷよぷよ(二回目)
2013: タワーディフェンス
2014: ボンバーマン(二回目)
はいはいKensCupKensCup
• ブロックス(2011)の時
– はいはい、4人分の手を考慮して
ゲーム木探索すればいいんでしょ。
– どこまで先読みできるかの高速化と
評価関数の精度とセンスの勝負ね、はいはい。
• ぷよぷよ(2012)の時
– はいはい、(ネクネクである)3手目先までの
自分と敵のゲーム木探索すればいいんでしょ。
– 発火タイミングの考慮と、連鎖を組むための
ポテンシャル最大化法ね。5年前にやったわー。
これやったわー。
はいはい、KensC…、、、
• タワーディフェンス(2013)の時
– はいはい、バックトラックバックトラック。
優良そうな手から順に試してみて
敵の行動をシミュレートして最高スコア選ぶ奴ね
あ、最長経路?NP困難?
– どっか既存手法…
あるけど今回使えない…
– まあ方法は思いつくしなんとか…
うわー
• ボンバーマン(今年)
– や、やべーよ!n人ゲーム、
シミュレータ作るのも面倒な上に計算時間多いよ
1手先読み間に合うのか?これ?
いや、よく考えたら1手だけ読んでも意味なくね?
爆弾爆発する最長10手読み?できねーよ。
ゴリゴリif分岐の作り込みは作業時間的に不利、
楽する方法は…行動パターンの推定+モンテカルロ?それ全
然楽じゃないわ。
– 既存手法…ボンバーマンに既存手法なんてねーよ
あっ、CODE VS3.0 がそうか。(というか、これ参考にテーマ決
めたんだろうなあ)いやいや、CODEVSでは二人ゲームだし。
状況違うしやだー。
分析
• N人ゼロ和完全情報ゲーム
– 二人ゼロ和とくらべて研究も情報も少ない
• キングメーカー問題
– 上位二人以外の人の行動が決着要因になり得る
– 3位、4位が1位に近づくようなアルゴリズムなら
2位の逆転が難しくなる、とか。
– 相性が存在する
• 1手で盤面に起こる変化の計算量が(比較的)多い
– 爆風の伸び、連鎖、ブロック破壊、アイテム処理
– オセロやブロックスの比では無い
• 結論:非常に難しい
– ここ数年で一番アプローチの選択が困難なテーマだった
アプローチ
• 誰かの真似をする
– Code VS 3.0
• 確率論的にやる
– モンテカルロ探索
• 真面目にやる
– バックトラック(ゲーム木探索)
– ヒューリスティックなルール付け
– 計算時間との戦いが待っている
情報少なく
条件も異なる
越えられない
時間の壁
仕方ないから
真面目にやった
今年の関連研究
• N人ゲームにおける最良優先探索 ( 02 篠原)
– Max-n探索の解説
• UCT探索による不完全情報下の行動決定 ( 09 三木
ら)
– UCT探索
– n人ゲームの構造説明
• CODE VS 3.0 関係者のツイート
– Githubにコードを公開している上位陣
– ヒューリスティックなルールを考える上では
参考にするのもありだったかも
魔王の実装
• 1手先を全通り探索
– 1手先だけなら最善手
– 最善手をきちんと打てるなら攻守ともに強力!
• 手そのもの評価
– 爆弾を非交点に置く行動は減点
– 立ち止まる行動だったら減点
– 最後の爆弾を使い切る行動は減点
– 敵に近づく行動は加点
• 序盤はアイテム取得用に
特殊思考ルーチンを用意
結局すごく普通!
死ぬの?死なないの?問題
• 爆弾が爆発するまで10ターン
• 愚直にやると、10ターン先まで
完全に読まないと自分が死ぬのか否か不明
– 死亡確定箇所の伝搬(後述)によって
スマート化必須
• さらに自分の爆風で死ぬのか
他人の爆風で死ぬのかが大問題
– それぞれ分けて扱う
計算量の評価
• 1プレイヤーにつき最大10通り
– 5方向 x 爆弾を置くか否か
• 4人なのでその4乗
– 10^4 = 10000
• それぞれの盤面で最終的に死ぬか否か
– 10^4 x 10ターン分の盤面評価
– これを1秒で!?
• 最初の実装だと1secオーバーが頻出した
• 今年の敵は計算量!!
大事なこと
• 以下の二つは分けて考える
– 敵の手を考慮して1手先を読む
– 死亡確定かどうか調べるため10手先を読む
• 前者は完全な盤面のシミュレーションが必要
• 後者は必要な情報が限定される
– 必要:死亡確定箇所
– 不要:プレイヤーの持つ爆弾の数
– 不要な部分はどんどん計算省略
削減方法1:同一盤面のキャッシュ化
• 爆弾を置かない行動なら盤面変化の共通化が可能
• 一人に関して爆弾を置かない5行動は
最初の一度だけ盤面を計算してそれを保持する
• 二度目以降は保持した盤面に
移動箇所のみ変更して評価
• 最大計算量が10^4から6^4へ
• この時点で1secオーバーは「稀に起こる」程度に
死亡確定箇所の算出
• 一番計算負荷が高い
• 例えば火力2の爆弾が2ターン後に爆発する時
0ターン目に死亡が確定している場所は?
• この計算を爆弾の持ち主を考慮して
すべての必要な箇所について計算必要
死亡確定箇所の伝搬
• F(n,p):nターン目に座標pが死亡確定なら真
G(n,p):nターン目に座標pに移動可能なら真
• F(n,p){
for(p’ in pの隣接5箇所){
if(!F(n+1,p’)&&G(n+1,p’){
return false;
}
}
return true;
}
• これを各ターン、各座標について繰り返す
– もっと省略できないだろうか?
削除方法2:ビットボード
• 死亡確定箇所を1とする8x1のビット列
– 例: 1110 0000
– 0~2番目の3箇所が死亡確定
• 通行可能箇所を1とする8x1のビット列
– 例: 0111 0000
– 1~3番目の2箇所が通行可能
• この1ターン前の死亡確定場所は
– 例:1100 0000
• 盤面をビットで表したものをビットボードと呼ぶ
計算式
• f[n] : nターン目の死亡確定ビット列
• g[n]: nターン目の通行可能ビット列
• f[n] = f[n+1] &
((f[n+1]| ~g[n+1])<<1) &
((f[n+1]| ~g[n+1])>>1) &
((f[n+1]| ~g[n+1])の上シフト) &
((f[n+1]| ~g[n+1])の下シフト);
ビット演算によって複数箇所を同時に計算
(ビットパラレル)
これを各ターン、1度だけ行えばよい
高速化の結果
• 1secオーバーは皆無に
– 思考時間はたかだか300msec程度に(自分PC)
• それでも2手先を読むことは困難な計算量
• ビットボードの実装例はオセロで有名
– Wikiに専用ページがある程
– 盤面が8x8だから非常に最適
• 知っておくと意外なところで応用が効く小技
習得をオススメします
まとめ
• 今年難しかったね
• 計算量との戦いだった
• ビットボード面白い
• 参加させていただきありがとうございました

More Related Content

Recently uploaded

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Recently uploaded (9)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

魔王の作り方2014

Editor's Notes

  1. 研究室では非完全情報といったけど、完全情報でした。 非完全情報=あるプレイヤーしか知らない盤面上の情報がある、ということらしいっぽい。 間違っていたらごめん。 本筋に影響はありません。
  2. 研究室ではこの情報を16パターン持つ、といったけどそれは厳密ではありませんでした 本当は死亡確定箇所とは別に、死亡可能箇所も伝搬してます。 死亡可能箇所は、その場所から移動した時に(将来的に)死亡する可能性が僅かでもある物を伝搬させたもので、 例えば4ターンずっと右に進み続ければBさんの爆弾で死ねるけど、それ以外の行動だとまったくBさんの爆弾では死なない、 というようなケースでも真となるような情報です。 死亡確定箇所と死亡可能箇所の情報を組合させて、死因の算出を行っています。
  3. やや濁した説明。 上下シフトは配列で実装することもできるし、64bit以内の範囲内で定数シフトでも実装できる。 あと本当は左右シフトの時に、論理反転してからのシフトだと画面外が0=通行可能になってしまうため、 通行不可になるようなビットマスクも追加する必要があるが簡単のため省略