SlideShare uma empresa Scribd logo
1 de 49
Puyo Puyo Strategy & Technology
Development Institute of Waseda
ぷよぷよAIは人類を超えるか?
ぷよぷよ戦術技術開発研究所
Place © 2004 Kenji SuzukiDate of Presentation
目次
 ぷよぷよのルール
 ぷよぷよの戦術
 ゲームAI
 ぷよぷよAIの実演
 ぷよぷよAIの思考
 ぷよぷよAIの課題
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよのルール
 4個以上、左右上下にくっつけると消える
 3列目の12段目が埋まると負け
 連鎖をすると大量のお邪魔ぷよを送るこ
とができる
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよのルール
 4個以上、左右上下にくっつけると消える
 3列目の12段目が埋まると負け
 連鎖をすると大量のお邪魔ぷよを送るこ
とができる
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよのルール
 4個以上、左右上下にくっつけると消える
 3列目の12段目が埋まると負け
 連鎖をすると大量のお邪魔ぷよを送るこ
とができる
5連鎖
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよのルール
 4個以上、左右上下にくっつけると消える
 3列目の12段目が埋まると負け
 連鎖をすると大量のお邪魔ぷよを送るこ
とができる
Place © 2004 Kenji SuzukiDate of Presentation
目次
 ぷよぷよのルール
 ぷよぷよの戦術
 ゲームAI
 ぷよぷよAIの実演
 ぷよぷよAIの思考
 ぷよぷよAIの課題
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよ対戦動画
 (動画1、大連鎖の打ち合い)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:後打ち
 大連鎖が消える時間は長い
 相手の大連鎖中に、自分はさらに連鎖を伸ばすことができる
 先に打たせて、後から伸ばして打った方が強い:後打ち
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:後打ち
 (動画2、純粋な後打ち)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:催促(成功例)
 相手に大連鎖を打たせるために、小連鎖を打って相手にプ
レッシャーをかける
 この小連鎖を「催促」という
(相手に大連鎖の使用を催促することから)
 相手が大連鎖を打つか、つぶされてしまえば成功
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:催促(成功例)
 (動画3、催促の成功例)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:催促(失敗例)
 【ケース1】
相手に打たせようとするあまり、自分の大連鎖が崩れてしまうと、
相手の大連鎖に押し負けてしまう
 【ケース2】
催促として使った連鎖が大きすぎると、後打ちの大連鎖作成が間
に合わなくなる
 【ケース3】
相手により大きい威力の催促を同時に使用された場合、結果的に
自分が催促を受けた形になってしまう
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:催促(失敗例)
 (動画4、催促の失敗例)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよの戦術:ぷよぷよの中盤戦
 相手に先に大連鎖を打たせたい→小連鎖で催促する
 自分は先に大連鎖打ちたくない→相手の催促に小連鎖で「対応」する
 これら小連鎖のぶつかり合いが「中盤戦」
 自分の大連鎖を維持したまま、相手に大連鎖を先打ちさせれば
中盤戦に勝利したことになる
Place © 2004 Kenji SuzukiDate of Presentation
目次
 ぷよぷよのルール
 ぷよぷよの戦術
 ゲームAI
 ぷよぷよAIの実演
 ぷよぷよAIの思考
 ぷよぷよAIの課題
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:様々なゲームAIの現在
ゲームの種類 探索空間 強さ
チェッカー 10の30乗 世界最強
オセロ 10の60乗 世界最強
全宇宙の原子数 10の78乗 ―
チェス 10の120乗 世界最強
将棋 10の220乗 アマチュアトップレベル
囲碁 10の360乗 アマチュア高段者
探索空間=ゲームに現れるパターン数
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:様々なゲームAIの現在
ゲームの種類 探索空間 強さ
チェッカー 10の30乗 世界最強
オセロ 10の60乗 世界最強
全宇宙の原子数 10の78乗 ―
チェス 10の120乗 世界最強
ぷよぷよ 10の170乗 上級者レベル
将棋 10の220乗 アマチュアトップレベル
囲碁 10の360乗 アマチュア高段者
ぷよぷよの探索空間 ≒ 170 (およそチェスと将棋の間)
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:ゲーム木と評価関数
盤面をノード(頂点)
手をエッジ(枝)で表したもの
ゲーム木
状況の優劣を判断する関数
自分が有利なほど高い値,不利なほど低い値
評価関数
評価関数ゲーム木ゲームAI = +
評価関数 = +0.8 ⇒ 先手有利
評価関数 = -0.5 ⇒ 後手有利
ex
ex
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:ターン性ゲームのアルゴリズム例
MAX MIN
先手 後手
VS
プレイヤーMAXは評価関数が最大になるように
プレイヤーMINは評価関数が最少になるように手を決定
このルールで先読みをして盤面を評価
MiniMax法
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:ゲーム木 三目並べの例
MAX(×)
…
× ×
×
× ×
MIN(○)
…× ○ × ○
○
×
×
… …
終端
+1 0 -1
MAX(×)
評価関数
…
× ○ ○
×
× ○ ×
×× ○
○ ○ ×
× ○ ×
○
○ ×
× ○ ×
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:評価関数― チェスの例
チェスの例
駒の価値
駒の配置
1 3 3 5 9
ポーンストラクチャ
0.5
キングの安全性
0.5
先手:正 後手:負
これらの総和を計算
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:評価関数― 将棋の例
飛車 15 竜王 17
角行 13 龍馬 15
金将 9
銀将 8 成銀 9
桂馬 6 成桂 10
香車 5 成香 10
歩兵 1 と金 12
駒の価値
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:ぷよぷよAIの難しさ
問題点 ぷよぷよで対応するもの 対応するゲーム
1. 敵がジャマをする おじゃまぷよ 将棋,チェス等
2. 探索空間が巨大で
最後まで先読みできない
最善手, 受けの広い積み 将棋,チェス等
3. 偶然の要素を含むことがある ツモ, おじゃまぷよの降り方 バックギャモン
(すごろく)
4. 駒の強さがなく評価が難しい ぷよはどの色も同じ強さ 囲碁
5. 瞬時判断 NextNext,相手のフィールド判断
(数フレームでの素早い判断)
ぷよ特有
Place © 2004 Kenji SuzukiDate of Presentation
目次
 ぷよぷよのルール
 ぷよぷよの戦術
 ゲームAI
 ぷよぷよAIの実演
 ぷよぷよAIの思考
 ぷよぷよAIの課題
Place © 2004 Kenji SuzukiDate of Presentation
目次
 ぷよぷよのルール
 ぷよぷよの戦術
 ゲームAI
 ぷよぷよAIの実演
 ぷよぷよAIの思考
 ぷよぷよAIの課題
Place © 2004 Kenji SuzukiDate of Presentation
縦に6×2通り
横に5×2通り
ぷよぷよAIの思考:基本
 ぷよぷよの1手の置き方は22通りあ
る
 基本的に、223
(≒10000)通りの置き
方がある
 どの置き方が最も良いかを調べる
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:連鎖の評価
 いろいろな置き方を試して、その中で連
鎖数が大きいものを高評価にする
1 2 3
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:連鎖の評価
 途中で消してしまうような手は、低評価
にする
1 2 3
Place © 2004 Kenji SuzukiDate of Presentation
1 2 3
ぷよぷよAIの思考:連鎖の評価
 連鎖の「始点」を人間は認識できる
 AIにも見えている手以外に、工夫を加
えたい
例)各列に1個ずつ4色のぷよを加えて
連鎖させてみる(24通り)
連鎖の始点(発火点)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:大連鎖
 (動画5、AI大連鎖)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:大連鎖
 AIの大連鎖データ(比較:DS強化黄色いサタンデータ)
※AI平均連鎖:10.76 DS平均連鎖:6.41
0
50
100
150
200
250
300
350
5 6 7 8 9 10 11 12 13 14 15 16 × N
DS
AI
(自滅)
(ノーカウント)
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:相手のフィールド把握
 自分のフィールドを把握するのと同様に、
相手のフィールドも把握できる
 相手に大連鎖がある場合
→相手の連鎖を上回るような大連鎖を
打てるようにする
1 2 3
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:相手のフィールド把握
 相手から見える限りで大連鎖がない場
合
→2、3連鎖程度で相手をつぶしてしまう
 人間よりフィールドを把握する能力が優
れている
1 2 3
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの思考:つぶし
 (動画6、AI潰し)
Place © 2004 Kenji SuzukiDate of Presentation
目次
 ぷよぷよのルール
 ぷよぷよの戦術
 ゲームAI
 ぷよぷよAIの実演
 ぷよぷよAIの思考
 ぷよぷよAIの課題
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの課題:①大連鎖の上限
 極限まで大きな連鎖を打つために
・無駄なぷよがない ・4個消しで連鎖する
→人間にはできるが、AIには完全にできていない
人
間
が
組
む
連
鎖
A
I
が
組
む
連
鎖
Place © 2004 Kenji SuzukiDate of Presentation
ぷよぷよAIの課題:②中盤戦
 状況に応じた最善手は、人間でもわ
からない部分が多い
 中盤戦の要素として、「催促・つぶし
を打った後の形」というのがある
→AIに「良い形」「悪い形」の判断が
できるようにならないといけない
 自分の最善手は相手の「形」による
2連鎖?2連鎖ダブル?4連鎖?
それとも何もしない?大連鎖?
Place © 2004 Kenji SuzukiDate of Presentation
参考
 GeNEsWoRK(ぷよぷよAIとサーバー上で対戦できます)
http://www.geocities.co.jp/lockitjapan/atgc/
 ゲームプレイング
http://lis2.huie.hokudai.ac.jp/~kurihara/
classes/AI/game.ppt
Place © 2004 Kenji SuzukiDate of Presentation
END
Place © 2004 Kenji SuzukiDate of Presentation
参考資料
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:オセロ
 日本人のチャンピオンに勝ち世界最強
 オセロはまだ完全には計算されていないゲーム
 8×8 の場合は局面が膨大な数になるため、
現時点では双方最善手順は発見されていない
強さ:世界最強
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:バックギャモン (双六のようなゲーム)
 サイコロを振るため偶然性がある
 ニューラルネットの学習機能により評価関数を学習した
TD-Gammonというプログラムが有名
強さ:世界トップレベル
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:チェス
 1997年にIBMが開発したチェス専用のスーパーコンピュータ
Deep Blue が名人Kasparovに勝利
1秒間に2億手の先読み
 現在ではソフトの進化により
市販ハードでもDeepBlue並の強さ
強さ:世界最強
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:将棋
 2005年:非常に強い将棋AI Bonanza が登場
Bonanza methodと呼ばれるアルゴリズムが有名
 チェスよりも遥かに探索空間が広いため、
まだプロには負けるが、アマのトップレベルの強さ
強さ:アマトップレベル
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:囲碁
強さ:アマ高段者レベル
 探索空間がチェスよりも将棋よりもはるかに多い。
 実力はアマ高段者の域に近づいてきている
 最近の囲碁プログラムの考え方は、モンテカルロ碁が有名
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:ミニマックス法(minimax procedure)
MAX
MIN
3 12 8 2 4 6 14 5 2
3
3 2 2
終
端
MIN MIN MIN
MAX
Place © 2004 Kenji SuzukiDate of Presentation
ゲームAI:アルファベータ法
MAX
MIN
3 12 8 6
3
α=3
β=2
MAXの
これまでのベスト
MINの
これまでのベスト
≦6
≧3
ミニマックス法の効率を上げる
2
β=6
≦2
α≧βで
枝刈り
Place © 2004 Kenji SuzukiDate of Presentation
最強ぷよぷよAI
フリー対戦
スペース
ぷよぷよの腕に自信のある方どうぞ.

Mais conteúdo relacionado

Mais procurados

Pythonではじめる OpenAI Gymトレーニング
Pythonではじめる OpenAI GymトレーニングPythonではじめる OpenAI Gymトレーニング
Pythonではじめる OpenAI GymトレーニングTakahiro Kubo
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティスMasato Fujitake
 
第1回NIPS読み会・関西発表資料
第1回NIPS読み会・関西発表資料第1回NIPS読み会・関西発表資料
第1回NIPS読み会・関西発表資料Takato Horii
 
論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”
論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”
論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”Adachi (OEI)
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~Kenshi Abe
 
PsychoPy Builder:Code Componentの使い方
PsychoPy Builder:Code Componentの使い方PsychoPy Builder:Code Componentの使い方
PsychoPy Builder:Code Componentの使い方HiroyukiSogo
 
Data-Centric AI開発における データ生成の取り組み
Data-Centric AI開発における データ生成の取り組みData-Centric AI開発における データ生成の取り組み
Data-Centric AI開発における データ生成の取り組みTakeshi Suzuki
 
Reinforcement Learning @ NeurIPS2018
Reinforcement Learning @ NeurIPS2018Reinforcement Learning @ NeurIPS2018
Reinforcement Learning @ NeurIPS2018佑 甲野
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心Shota Imai
 
ICLR2020の異常検知論文の紹介 (2019/11/23)
ICLR2020の異常検知論文の紹介 (2019/11/23)ICLR2020の異常検知論文の紹介 (2019/11/23)
ICLR2020の異常検知論文の紹介 (2019/11/23)ぱんいち すみもと
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案Masanori Kado
 
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...Shoki Miyagawa
 
画像認識と深層学習
画像認識と深層学習画像認識と深層学習
画像認識と深層学習Yusuke Uchida
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展Deep Learning JP
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechconDeNA
 
[論文紹介] Convolutional Neural Network(CNN)による超解像
[論文紹介] Convolutional Neural Network(CNN)による超解像[論文紹介] Convolutional Neural Network(CNN)による超解像
[論文紹介] Convolutional Neural Network(CNN)による超解像Rei Takami
 
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み) Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)Sindharta Tanuwijaya
 

Mais procurados (20)

Pythonではじめる OpenAI Gymトレーニング
Pythonではじめる OpenAI GymトレーニングPythonではじめる OpenAI Gymトレーニング
Pythonではじめる OpenAI Gymトレーニング
 
最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス最近思った機械学習(PyTorch)のベストプラクティス
最近思った機械学習(PyTorch)のベストプラクティス
 
第1回NIPS読み会・関西発表資料
第1回NIPS読み会・関西発表資料第1回NIPS読み会・関西発表資料
第1回NIPS読み会・関西発表資料
 
論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”
論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”
論文読んだよ “State Lattice-based Motion Planning for Autonomous On-Road Driving”
 
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
多人数不完全情報ゲームにおけるAI ~ポーカーと麻雀を例として~
 
PsychoPy Builder:Code Componentの使い方
PsychoPy Builder:Code Componentの使い方PsychoPy Builder:Code Componentの使い方
PsychoPy Builder:Code Componentの使い方
 
Data-Centric AI開発における データ生成の取り組み
Data-Centric AI開発における データ生成の取り組みData-Centric AI開発における データ生成の取り組み
Data-Centric AI開発における データ生成の取り組み
 
Reinforcement Learning @ NeurIPS2018
Reinforcement Learning @ NeurIPS2018Reinforcement Learning @ NeurIPS2018
Reinforcement Learning @ NeurIPS2018
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心
 
ICLR2020の異常検知論文の紹介 (2019/11/23)
ICLR2020の異常検知論文の紹介 (2019/11/23)ICLR2020の異常検知論文の紹介 (2019/11/23)
ICLR2020の異常検知論文の紹介 (2019/11/23)
 
優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案優れた研究論文の書き方―7つの提案
優れた研究論文の書き方―7つの提案
 
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
 
画像認識と深層学習
画像認識と深層学習画像認識と深層学習
画像認識と深層学習
 
Semantic segmentation2
Semantic segmentation2Semantic segmentation2
Semantic segmentation2
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
[論文紹介] Convolutional Neural Network(CNN)による超解像
[論文紹介] Convolutional Neural Network(CNN)による超解像[論文紹介] Convolutional Neural Network(CNN)による超解像
[論文紹介] Convolutional Neural Network(CNN)による超解像
 
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み) Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
Behaviour Tree AI in Gentou Senki Griffon (幻塔戦記グリフォンでのBehaviour Treeの試み)
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 

戦技研 ぷよぷよAI 学生講義

  • 1. Puyo Puyo Strategy & Technology Development Institute of Waseda ぷよぷよAIは人類を超えるか? ぷよぷよ戦術技術開発研究所
  • 2. Place © 2004 Kenji SuzukiDate of Presentation 目次  ぷよぷよのルール  ぷよぷよの戦術  ゲームAI  ぷよぷよAIの実演  ぷよぷよAIの思考  ぷよぷよAIの課題
  • 3. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよのルール  4個以上、左右上下にくっつけると消える  3列目の12段目が埋まると負け  連鎖をすると大量のお邪魔ぷよを送るこ とができる
  • 4. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよのルール  4個以上、左右上下にくっつけると消える  3列目の12段目が埋まると負け  連鎖をすると大量のお邪魔ぷよを送るこ とができる
  • 5. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよのルール  4個以上、左右上下にくっつけると消える  3列目の12段目が埋まると負け  連鎖をすると大量のお邪魔ぷよを送るこ とができる 5連鎖
  • 6. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよのルール  4個以上、左右上下にくっつけると消える  3列目の12段目が埋まると負け  連鎖をすると大量のお邪魔ぷよを送るこ とができる
  • 7. Place © 2004 Kenji SuzukiDate of Presentation 目次  ぷよぷよのルール  ぷよぷよの戦術  ゲームAI  ぷよぷよAIの実演  ぷよぷよAIの思考  ぷよぷよAIの課題
  • 8. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよ対戦動画  (動画1、大連鎖の打ち合い)
  • 9. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:後打ち  大連鎖が消える時間は長い  相手の大連鎖中に、自分はさらに連鎖を伸ばすことができる  先に打たせて、後から伸ばして打った方が強い:後打ち
  • 10. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:後打ち  (動画2、純粋な後打ち)
  • 11. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:催促(成功例)  相手に大連鎖を打たせるために、小連鎖を打って相手にプ レッシャーをかける  この小連鎖を「催促」という (相手に大連鎖の使用を催促することから)  相手が大連鎖を打つか、つぶされてしまえば成功
  • 12. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:催促(成功例)  (動画3、催促の成功例)
  • 13. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:催促(失敗例)  【ケース1】 相手に打たせようとするあまり、自分の大連鎖が崩れてしまうと、 相手の大連鎖に押し負けてしまう  【ケース2】 催促として使った連鎖が大きすぎると、後打ちの大連鎖作成が間 に合わなくなる  【ケース3】 相手により大きい威力の催促を同時に使用された場合、結果的に 自分が催促を受けた形になってしまう
  • 14. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:催促(失敗例)  (動画4、催促の失敗例)
  • 15. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよの戦術:ぷよぷよの中盤戦  相手に先に大連鎖を打たせたい→小連鎖で催促する  自分は先に大連鎖打ちたくない→相手の催促に小連鎖で「対応」する  これら小連鎖のぶつかり合いが「中盤戦」  自分の大連鎖を維持したまま、相手に大連鎖を先打ちさせれば 中盤戦に勝利したことになる
  • 16. Place © 2004 Kenji SuzukiDate of Presentation 目次  ぷよぷよのルール  ぷよぷよの戦術  ゲームAI  ぷよぷよAIの実演  ぷよぷよAIの思考  ぷよぷよAIの課題
  • 17. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:様々なゲームAIの現在 ゲームの種類 探索空間 強さ チェッカー 10の30乗 世界最強 オセロ 10の60乗 世界最強 全宇宙の原子数 10の78乗 ― チェス 10の120乗 世界最強 将棋 10の220乗 アマチュアトップレベル 囲碁 10の360乗 アマチュア高段者 探索空間=ゲームに現れるパターン数
  • 18. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:様々なゲームAIの現在 ゲームの種類 探索空間 強さ チェッカー 10の30乗 世界最強 オセロ 10の60乗 世界最強 全宇宙の原子数 10の78乗 ― チェス 10の120乗 世界最強 ぷよぷよ 10の170乗 上級者レベル 将棋 10の220乗 アマチュアトップレベル 囲碁 10の360乗 アマチュア高段者 ぷよぷよの探索空間 ≒ 170 (およそチェスと将棋の間)
  • 19. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:ゲーム木と評価関数 盤面をノード(頂点) 手をエッジ(枝)で表したもの ゲーム木 状況の優劣を判断する関数 自分が有利なほど高い値,不利なほど低い値 評価関数 評価関数ゲーム木ゲームAI = + 評価関数 = +0.8 ⇒ 先手有利 評価関数 = -0.5 ⇒ 後手有利 ex ex
  • 20. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:ターン性ゲームのアルゴリズム例 MAX MIN 先手 後手 VS プレイヤーMAXは評価関数が最大になるように プレイヤーMINは評価関数が最少になるように手を決定 このルールで先読みをして盤面を評価 MiniMax法
  • 21. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:ゲーム木 三目並べの例 MAX(×) … × × × × × MIN(○) …× ○ × ○ ○ × × … … 終端 +1 0 -1 MAX(×) 評価関数 … × ○ ○ × × ○ × ×× ○ ○ ○ × × ○ × ○ ○ × × ○ ×
  • 22. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:評価関数― チェスの例 チェスの例 駒の価値 駒の配置 1 3 3 5 9 ポーンストラクチャ 0.5 キングの安全性 0.5 先手:正 後手:負 これらの総和を計算
  • 23. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:評価関数― 将棋の例 飛車 15 竜王 17 角行 13 龍馬 15 金将 9 銀将 8 成銀 9 桂馬 6 成桂 10 香車 5 成香 10 歩兵 1 と金 12 駒の価値
  • 24. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:ぷよぷよAIの難しさ 問題点 ぷよぷよで対応するもの 対応するゲーム 1. 敵がジャマをする おじゃまぷよ 将棋,チェス等 2. 探索空間が巨大で 最後まで先読みできない 最善手, 受けの広い積み 将棋,チェス等 3. 偶然の要素を含むことがある ツモ, おじゃまぷよの降り方 バックギャモン (すごろく) 4. 駒の強さがなく評価が難しい ぷよはどの色も同じ強さ 囲碁 5. 瞬時判断 NextNext,相手のフィールド判断 (数フレームでの素早い判断) ぷよ特有
  • 25. Place © 2004 Kenji SuzukiDate of Presentation 目次  ぷよぷよのルール  ぷよぷよの戦術  ゲームAI  ぷよぷよAIの実演  ぷよぷよAIの思考  ぷよぷよAIの課題
  • 26. Place © 2004 Kenji SuzukiDate of Presentation 目次  ぷよぷよのルール  ぷよぷよの戦術  ゲームAI  ぷよぷよAIの実演  ぷよぷよAIの思考  ぷよぷよAIの課題
  • 27. Place © 2004 Kenji SuzukiDate of Presentation 縦に6×2通り 横に5×2通り ぷよぷよAIの思考:基本  ぷよぷよの1手の置き方は22通りあ る  基本的に、223 (≒10000)通りの置き 方がある  どの置き方が最も良いかを調べる
  • 28. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:連鎖の評価  いろいろな置き方を試して、その中で連 鎖数が大きいものを高評価にする 1 2 3
  • 29. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:連鎖の評価  途中で消してしまうような手は、低評価 にする 1 2 3
  • 30. Place © 2004 Kenji SuzukiDate of Presentation 1 2 3 ぷよぷよAIの思考:連鎖の評価  連鎖の「始点」を人間は認識できる  AIにも見えている手以外に、工夫を加 えたい 例)各列に1個ずつ4色のぷよを加えて 連鎖させてみる(24通り) 連鎖の始点(発火点)
  • 31. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:大連鎖  (動画5、AI大連鎖)
  • 32. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:大連鎖  AIの大連鎖データ(比較:DS強化黄色いサタンデータ) ※AI平均連鎖:10.76 DS平均連鎖:6.41 0 50 100 150 200 250 300 350 5 6 7 8 9 10 11 12 13 14 15 16 × N DS AI (自滅) (ノーカウント)
  • 33. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:相手のフィールド把握  自分のフィールドを把握するのと同様に、 相手のフィールドも把握できる  相手に大連鎖がある場合 →相手の連鎖を上回るような大連鎖を 打てるようにする 1 2 3
  • 34. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:相手のフィールド把握  相手から見える限りで大連鎖がない場 合 →2、3連鎖程度で相手をつぶしてしまう  人間よりフィールドを把握する能力が優 れている 1 2 3
  • 35. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの思考:つぶし  (動画6、AI潰し)
  • 36. Place © 2004 Kenji SuzukiDate of Presentation 目次  ぷよぷよのルール  ぷよぷよの戦術  ゲームAI  ぷよぷよAIの実演  ぷよぷよAIの思考  ぷよぷよAIの課題
  • 37. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの課題:①大連鎖の上限  極限まで大きな連鎖を打つために ・無駄なぷよがない ・4個消しで連鎖する →人間にはできるが、AIには完全にできていない 人 間 が 組 む 連 鎖 A I が 組 む 連 鎖
  • 38. Place © 2004 Kenji SuzukiDate of Presentation ぷよぷよAIの課題:②中盤戦  状況に応じた最善手は、人間でもわ からない部分が多い  中盤戦の要素として、「催促・つぶし を打った後の形」というのがある →AIに「良い形」「悪い形」の判断が できるようにならないといけない  自分の最善手は相手の「形」による 2連鎖?2連鎖ダブル?4連鎖? それとも何もしない?大連鎖?
  • 39. Place © 2004 Kenji SuzukiDate of Presentation 参考  GeNEsWoRK(ぷよぷよAIとサーバー上で対戦できます) http://www.geocities.co.jp/lockitjapan/atgc/  ゲームプレイング http://lis2.huie.hokudai.ac.jp/~kurihara/ classes/AI/game.ppt
  • 40. Place © 2004 Kenji SuzukiDate of Presentation END
  • 41. Place © 2004 Kenji SuzukiDate of Presentation 参考資料
  • 42. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:オセロ  日本人のチャンピオンに勝ち世界最強  オセロはまだ完全には計算されていないゲーム  8×8 の場合は局面が膨大な数になるため、 現時点では双方最善手順は発見されていない 強さ:世界最強
  • 43. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:バックギャモン (双六のようなゲーム)  サイコロを振るため偶然性がある  ニューラルネットの学習機能により評価関数を学習した TD-Gammonというプログラムが有名 強さ:世界トップレベル
  • 44. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:チェス  1997年にIBMが開発したチェス専用のスーパーコンピュータ Deep Blue が名人Kasparovに勝利 1秒間に2億手の先読み  現在ではソフトの進化により 市販ハードでもDeepBlue並の強さ 強さ:世界最強
  • 45. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:将棋  2005年:非常に強い将棋AI Bonanza が登場 Bonanza methodと呼ばれるアルゴリズムが有名  チェスよりも遥かに探索空間が広いため、 まだプロには負けるが、アマのトップレベルの強さ 強さ:アマトップレベル
  • 46. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:囲碁 強さ:アマ高段者レベル  探索空間がチェスよりも将棋よりもはるかに多い。  実力はアマ高段者の域に近づいてきている  最近の囲碁プログラムの考え方は、モンテカルロ碁が有名
  • 47. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:ミニマックス法(minimax procedure) MAX MIN 3 12 8 2 4 6 14 5 2 3 3 2 2 終 端 MIN MIN MIN MAX
  • 48. Place © 2004 Kenji SuzukiDate of Presentation ゲームAI:アルファベータ法 MAX MIN 3 12 8 6 3 α=3 β=2 MAXの これまでのベスト MINの これまでのベスト ≦6 ≧3 ミニマックス法の効率を上げる 2 β=6 ≦2 α≧βで 枝刈り
  • 49. Place © 2004 Kenji SuzukiDate of Presentation 最強ぷよぷよAI フリー対戦 スペース ぷよぷよの腕に自信のある方どうぞ.