計算資源としての乱数 - 九州大学(kyushu ...kawamura/t/kyoto_h25/... ·...
TRANSCRIPT
計算資源としての乱数河村彰星
1.乱数とは?
乱数とは?(無限列)101010101010101010101010101010101010101010101010101010101010101010…
110010110001110010110001001110010010001111001101001001001110001101…
統計的性質に着目?
0と 1が等確率
更に,00, 01, 10, 11が等確率,000, 001, 010, 011, 100, 101, 110, 111が等確率
部分列をどの規則で取っても(上の意味で)統計的に一様(von Mises)
…→「計算」の視点が必要!
チューリング機械(=算法)
入力テープ(読取専用)
作業テープ
出力テープ(書込専用)
遷移函数
𝛿: 𝑄 × 𝛴2 → 𝑄 × 𝛴2 × 左,右 3
状態集合(有限)
𝑄 = {𝑞始, 𝑞終, 𝑞1, 𝑞2, … }
アルファベット(有限)𝛴
「普通の計算機の能力と大体同じ」
計算量理論 様々な問題を計算の困難さにより分類
困難さの尺度の間の関係を探る
𝐋 ⊆ 𝐏 ⊆ 𝐏𝐒𝐏𝐀𝐂𝐄 ⊆ 𝐄𝐗𝐏 ⊆ ⋯ ⊆ 𝐑𝐄𝐂
隣接する二つが⊊かどうかは未解決
「現実的な時間で計算できる」
算法ランダム性測度論的典型性この列には当てはまり他の列には滅多に当てはまらない特徴を見出せない
予測不能性この列を一文字ずつ見ながら次が0か1か賭けて無限に儲けることができない
圧縮不能性この列を、そのまま書き下すよりも短く表し、後で復元することができない
「Randomness Zoo」http://calculabilite.fr/randomnesszoo.pdf(主に計算可能性をもとに定義されるもの)
「確率1」と乱性(例)
定義(Schnorr 1971)※予測不能性によるランダムの定義
無限列 𝑍 ∈ {0,1}𝐍がランダムであるとは𝑍で儲けるような簡単な賭博戦略が存在しないこと
𝑀 𝑢 =𝑀 𝑢0 +𝑀 𝑢1
2なる函数𝑀: {0,1}∗ → 𝐑≥0
𝑀(𝑍<𝑛)が 𝑛 ∈ 𝐍で非有界
7 13
11 15 113
10
0 1
0 11/2
0 11/2 3/41/4
10
1010
定理(Brattka, Miller, Nies 2011, K.-Miyabe 2013)
実数 𝑧 ∈ [0, 1]に対し次は同値1. 𝑧は(その小数展開が)ランダム(多項式時間の戦略に対して)2. 任意の簡単な単調実函数 𝑓: 0,1 → 𝐑は 𝑧において微分可能
定理(Lebesgue 1904)
任意の単調函数 𝑓: 0,1 → 𝐑は殆どすべての 𝑧 ∈ [0,1]において微分可能
どの 𝑧で?
賭博戦略と実函数の対応
𝑀: 戦略
𝑧で儲かる
𝑓 ∈ Cm[0,1]
7 13
11 15 113
10
0 1
0 11/2
0 11/2 3/41/4
計算可能
𝑓′ 𝑧 = +∞
計算可能
𝑀: 堅実な戦略
非減少連続函数
𝑓が 𝑧において微分不能???
{𝑧}へ向う任意の区間列𝐼0 ⊇ 𝐼1 ⊇ 𝐼2 ⊇ ⋯に対し
𝑆𝑙𝑜𝑝𝑒𝑓 𝐼𝑛 → ∞
多項式時間 多項式時間
有限文字列(の分布)のランダム性𝑋 ∈ 0,1 𝑛がランダムとは?
統計的な一様性(Shannon)…一様分布こそ最も乱
「圧縮できない」(Kolmogorov)復号法 𝑈に従った文字列 𝑥の記述長 𝐶𝑈 𝑥 = min 𝑑 𝑈 𝑑 = 𝑥
「予測できない」「特徴が見出せない」→擬乱性(相手の計算能力に依存)• 計算能力の限られた相手をさえ欺けばよい
• 擬乱生成器:短い乱数列から長い乱数列が得られる?(厳密な意味で!)
統計的近さと弁別不能性擬乱数:一様な乱数と「区別できない」
Pr 𝐷 𝑋 = 1 − Pr 𝐷 𝑌 = 1 ≤ 휀
1
2 𝑎 Pr 𝑋 = 𝑎 − Pr 𝑌 = 𝑎 ≤ 휀(𝑋と 𝑌が統計的に近い)
確率変数 一様分布
それを区別しようとする算法
2.乱択の利用
非決定性(=乱択)機械
この場合 時間量が 𝑝: 𝐍 → 𝐍(多項式)とは任意の入力 𝑥と任意の乱数列 𝑟について 𝑝(|𝑥|)以内となること
次の遷移を複数の分岐から非決定的に選ぶ(乱択)
「補助入力テープ」上に乱数列が無限に供給される(読み位置は右への一方通行)
入
作
出
010001101011010111……
補
∴実際に読まれるのは𝑟の初めの 𝑝(|𝑥|)文字のみ
級PP
役に立たない
定義
多項式時間機械𝑀と多項式 𝑝が判定問題 𝐴を多数決判定するとは 任意の 𝑥 ∈ dom 𝐴に対し
𝐴 𝑥 = 1のとき # 𝑟 ∈ 𝛴𝑝 𝑥 𝑀 𝑥, 𝑟 = 1 𝛴 𝑝(|𝑥|) >1
2
𝐴 𝑥 = 0のとき # 𝑟 ∈ 𝛴𝑝 𝑥 𝑀 𝑥, 𝑟 = 1 𝛴 𝑝(|𝑥|) ≤1
2そのような𝑀と 𝑝が存在するような 𝐴全体を 𝐏𝐏と書く
probabilistic
すべての 𝑥での成立を要求
確率を取るのは𝑟についてのみ
級BPP
定義
多項式時間機械𝑀と多項式 𝑝が判定問題 𝐴を圧倒的多数決判定するとは 任意の 𝑥 ∈ dom 𝐴に対し
𝐴 𝑥 = 1のとき # 𝑟 ∈ 𝛴𝑝 𝑥 𝑀 𝑥, 𝑟 = 1 𝛴 𝑝(|𝑥|) >3
4
𝐴 𝑥 = 0のとき # 𝑟 ∈ 𝛴𝑝 𝑥 𝑀 𝑥, 𝑟 = 1 𝛴 𝑝(|𝑥|) ≤1
4そのような𝑀と 𝑝が存在するような 𝐴全体を 𝐁𝐏𝐏と書く
bounded probabilistic
BPPの問題は「解ける」(?)
Chernoff上界:「確率 𝑝で当る籤を独立に 𝑙回引くと(𝑝 + 𝑑)𝑙回以上当る確率 ≤ exp(−2𝑑2𝑙)」
1
4,3
4の代りに任意の定数確率 𝑝, 1 − 𝑝でも同じ(𝑝 <
1
2)
何度も独立に繰返して多数決を取ることで正解率が上がる∵
➡ 𝐁𝐏𝐏算法は実際に問題を解く役に立つ!(乱数があれば)
𝐏 = 𝐁𝐏𝐏? 未解決???
乱択級の間の関係
定義(片側誤りの乱択)
問題 𝐴が 𝐍𝐏に属するとは多項式時間機械𝑀と多項式 𝑝が存在し
𝐴 𝑥 = 1のとき # 𝑟 ∈ 𝛴𝑝 𝑥 𝑀 𝑥, 𝑟 = 1 𝛴 𝑝(|𝑥|) > 0
𝐴 𝑥 = 0のとき # 𝑟 ∈ 𝛴𝑝 𝑥 𝑀 𝑥, 𝑟 = 1 𝛴 𝑝(|𝑥|) = 0
1
2
𝐑𝐏
𝐏
𝐑𝐏
𝐜𝐨𝐑𝐏
𝐁𝐏𝐏
𝐍𝐏
𝐜𝐨𝐍𝐏
𝐏𝐏 𝐏𝐒𝐏𝐀𝐂𝐄
多項式同一判定与えられた整数係数多項式 𝑝 𝑥1, … , 𝑥𝑚 が(多項式として)零か判定
例:「−𝑥𝑥𝑥 + 𝑥 − 𝑦 𝑥𝑥 + 𝑥𝑦 + 𝑦𝑦 + 𝑦𝑦𝑦 = 0?」
この問題が決定的に多項式時間で解けるかは未解決
多項式時間の乱択算法:数 𝑟1, … , 𝑟𝑚 ∈ 0,… , 2𝑑 − 1 を一様独立に乱択し(𝑑は 𝑝の全次数)𝑝 𝑟1, … , 𝑟𝑚 を計算 その結果が 0ならば受理
→多項式が零なら確実に受理 零でなければ確率 1/2以上で拒否
無向グラフ上の到達可能性判定与えられたグラフ 𝐺とその二頂点 𝑠, 𝑡について 𝑠, 𝑡を結ぶ路があるか判定
対数空間の乱択算法:𝑠から無作為に 4𝑚𝑛歩進む(各時点で隣接する点を等確率で選択)途中で 𝑡を通れば受理
→路が無ければ確実に拒否 あれば確率 1/2以上で受理
実は乱択を使わずに対数空間でできる(Reingold 2008)
3.困難さと乱択
一方向函数(弱)
定義
𝑓: 𝛴∗ → 𝛴∗が一方向函数であるとは 𝑓は多項式時間計算可能 或る多項式 𝑞が存在し任意の多項式時間乱択機械𝑀について十分大きな 𝑛において
Pr𝑥∈ 0,1 𝑛
𝑀内の乱択
𝑓 𝑀 𝑓 𝑥 = 𝑓(𝑥) ≤ 1 −1
𝑞 𝑥逆像を見つけようとしても 時々間違える
一方向函数の存在は 𝐏 ≠ 𝐍𝐏より強い仮定(だが存在すると多くの人は思ってる)
今からやること:一方向函数を利用して擬乱生成器を作る
一方向函数(強)
定義
一方向函数 𝑓: 𝛴∗ → 𝛴∗が更に強一方向函数であるとは任意の多項式 𝑝と多項式時間乱択機械𝑀について十分大きな 𝑛で
Pr𝑥∈ 0,1 𝑛
𝑀内の乱択
𝑓 𝑀 𝑓 𝑥 = 𝑓(𝑥) ≤1
𝑝 𝑥殆ど当らない
一方向函数の困難の増幅
定理
一方向函数 𝑓が存在 ⇒ 強一方向函数 𝐹が存在
𝐹 𝑥1, … , 𝑥𝑡 = 𝑓 𝑥1 , … , 𝑓 𝑥𝑡 とすればよい(適当な数の直積)
但し 単純な確率(独立試行)の議論ではない
一方向函数の中核一方向性の定義「𝑓(𝑥)から 𝑥を求めるのが難しい」(𝑥の一部なら求まるかも)
定義
𝑏: 0,1 ∗ → 0,1 が 𝑓: 0,1 ∗ → 0,1 ∗の中核であるとは 𝑏は多項式時間計算可能 任意の多項式 𝑝と任意の多項式時間乱択機械𝑀について十分大きな 𝑛において
Pr𝑥∈ 0,1 𝑛
𝑀内の乱択
𝑀 𝑓 𝑥 = 𝑏(𝑥) ≤1
2+1
𝑝 𝑥
1ビット!
一方向函数の中核
定理
𝑓: 0,1 ∗ → 0,1 ∗が一方向函数ならば
𝑏 𝑥, 𝑟 ≔ 𝑥と 𝑟の内積mod 2は 𝑓′ 𝑥, 𝑟 ≔ 𝑓 𝑥 , 𝑟 の中核
𝑥
𝑟
𝑏(𝑥, 𝑟) =この位置にある1の個数
𝑓(𝑥)
一方向函数による汎用擬乱生成器長さを保つ単射な一方向函数 𝑓とその中核 𝑏に対し𝐺 𝑥 = 𝑓 𝑥 𝑏 𝑥 とすると 𝐺は擬乱生成器 すなわち
任意の多項式 𝑝と多項式時間乱択算法 𝐷に対し 十分大きな 𝑛では
Pr𝑥∈ 0,1 𝑛
𝐷内の乱択
𝐷 𝐺 𝑥 = 1 − Pr𝑦∈ 0,1 𝑛+1
𝐷内の乱択
𝐷 𝑦 = 1 <1
𝑝 𝑥
(この生成器は乱数を一文字伸ばすだけだが 繰返し使えば多項式長にまでは伸ばせる)
定理(Haastad, Impagliazzo, Levin, Luby)
一方向函数が存在 ⇒ 擬乱生成器が存在
実は一方向性の定義を一般の函数に適当に拡張して 逆も言える
次の桁が予測不能⇒一様乱数と区別不能
「長さを保つ単射な」という仮定がなくても成立
回路下界による擬乱生成器これだけでは 𝐁𝐏𝐏 = 𝐏は出てこない
・擬乱生成器の増幅量が小さい(多項式長)
・「すべての入力で」高確率に正解、とならない(多くの入力の脱乱のみ)
定理(Impagliazzo, Wigderson)(Nisan, Wigderson)
級 𝐄に属する(=指数時間計算可能)言語であって指数大きさより小さい回路で計算できないものが存在すれば 𝐏 = 𝐁𝐏𝐏
流れは同じ
困難さを増幅 → (さっきより強い意味の)擬乱生成器を構成
圧縮不能性との関係
有限文字列の圧縮不能性と乱択算法の能力との関係
擬乱生成器による
予想(Allenderら)
𝐁𝐏𝐏 =
𝑈
𝐏tt𝑅𝐶𝑈 ∩ 𝐑𝐄𝐂
𝑅𝐶𝑈 ≔ 𝑥 𝐶𝑈 𝑥 ≥ 𝑥 :「復号法 𝑈で圧縮されない文字列」
定理(Allenderら)
𝐁𝐏𝐏 ⊆ 𝐏tt𝑅𝐶𝑈
𝑅𝐶𝑈への質問を許す(但し非適応的に)
圧縮不能性との関係
判っていること:右辺は
適応的な質問を許せば 𝐏𝐒𝐏𝐀𝐂𝐄を含む(Allender, Buhrman, Koucky, van Melkebeek)
始片一意な復号に限ると 𝐏𝐒𝐏𝐀𝐂𝐄に含まれる(Buhrman, Fortnow, Koucky, Loff)
質問の重複を制限すると 𝐏𝐒𝐏𝐀𝐂𝐄に含まれる(Hirahara, K.)
更に質問の答の処理を選言的に制限すると 𝐏
→「BPPの理解に圧縮可能性から迫る」?
予想(Allenderら)
𝐁𝐏𝐏 =
𝑈
𝐏tt𝑅𝐶𝑈 ∩ 𝐑𝐄𝐂