あるルーティングゲームの 最適戦略について 瀧本 英二 内沢 啓 東北大学大学院情報科学研究科 情報処理学会東北支部 設立30周年記念 プログラミングコンテスト りんごキャッチ競争 A B ルール りんごデータ:(x1,y1,t1), ..., (xn,yn,tn) (xi,yi) = i番目のりんごの座標 ti = i番目のりんごの落下開始時刻 プレイヤーB プレイヤーA 7,s,s,s,r,r,r,s,s,s,l,l,l,s,s,・・・ 初期x座標 34,s,s,s,s,s,r,r,r,r,l,l,l,s,・・・ s: その場にとどまる r: 右へ移動 l: 左へ移動 DAGによる表現 GA=(V,EA):プレイヤーAからみたりんごグラフ (i,j) 2 EA , りんご i を取った後りんご jを 取る可能性がある A の 地 面 に 落 下 す る 時 刻 プレイヤーAの戦略 = GAにおけるパス X (実際にはこれの推移的閉包) りんごグラフの例 GA=(V,EA) A B ※ すべてのりんごの落下開始時刻を同じと仮定 Bのりんごグラフ GB=(V,EB) A B ※ すべてのりんごの落下開始時刻を同じと仮定 陣地について Aのパス Bのパス A B ※ すべてのりんごの落下開始時刻を同じと仮定 陣地について Aの陣地 Bの陣地 Aのパス Bのパス A B ※ すべてのりんごの落下開始時刻を同じと仮定 零和行列ゲームによる定式化 <GA,GB> プレイヤーA GA上のパスP プレイヤーB GB上のパスQ Aからみた損失行列 M(P,Q) = Bの取ったりんごの数 – Aの取ったりんごの数 Q1 Q2 Q3 P1 P2 +1 +2 +4 +1 -2 -1 P3 +2 +1 -3 …… …… …… ミニマックス戦略 Aの混合戦略 = GAのパス上の分布 W Q1 Q2 Q3 W1 P1 W2 P2 +1 +2 +4 +1 -2 -1 W3 P3 +2 +1 -3 …… Aの最適戦略 W* …… …… Hedge Algorithm による解法 [Freund,Schapire] t = 1, 2, ..., T 仮想プレイヤーA 混合戦略 Wt 仮想プレイヤーB Qt = argmaxQ P Wt(P) M(P,Q) 戦略の更新 定理 t 2 [0,1] 問題点 重み Wt の更新に O(パスの個数) 時間必要 一般にパスの個数は指数的に大きい そもそも最適戦略 W* の表現の長さが指数的? 問題解決のアイデア 辺上に遷移確率 vt を保持し,次の関係式によって パス上の分布 Wt を間接的に表現 0.5 1.0 0.3 0.5 source 0.2 0.7 sink 0.8 P 1.0 1.0 Wt(P) = ランダムウォークが パスP をたどる確率 Wt の重み更新の模倣 条件: (更新前) (更新後) を満たすような辺上の重み更新 が求められる 定理[Takimoto, Warmuth] 損失行列 M が のように表せるとき,Wt の重み更新を vt を用いて 模倣できる.さらに,vt ! vt+1の更新は多項式時間 計算可能 りんごキャッチ競争の場合 Bの陣地 BのパスQが選んだりんご sink 0 0 Aの陣地 -1 0 m(Q) = l(e,Q) = 0 Bの陣地の -2 Aの陣地の -1 0 0 -1 -2 -1 0 -1 source -2 の数 = 4 Wt の重み更新の模倣 より 条件 = とおくと, 任意のPに対しこれが成立するような vt+1 を求める Path Kernels 辺の重みベクトル: v = (v(e1), ..., v(em)) パスの重みベクトル: W = (W(P1), ..., W(PN)), ただし, この関係を,w = (v) と表す. 係数ベクトル : b = (b(e1), ..., b(em)) Path Kernel O(|P|) 時間? normalization factor Path Kernel の計算 sink source u Path Kernel の計算 O(|E|) 時間! u sink source Weight Pushing Algorithm 目標 u sink source 目標を達成しているか確認 P = { (u0=source, u1) , (u1, u2) …, (uk-1, uk=sink) } に対し, OK! 今後の課題 • 何か応用は? • Adaptive な場合?
© Copyright 2024 ExpyDoc