1. 導入
Impagliazzoのhardcore lemmaと呼ばれる非常に面白いメッセージ性を持つ平均計算量理論において有名な結果[Impagliazzo, FOCS95]を紹介し, その証明をします. 直感的に言えばこの結果は「任意の"まぁまぁ困難な"計算問題に対して"めちゃくちゃ難しい"インスタンスの集合Hであって密なものが存在する」ということを主張します.
平均計算量理論については以前の記事で触りだけ紹介しています. 本記事では問題として判定問題f\colon \{0,1\}^n\to\{0,1\}を考え, 入力分布としてある有限集合H (例えばH=\{0,1\}^n) 上の一様分布を考えます. また, 計算モデルとしては回路を考え, その効率性を回路サイズ (=ゲートの個数) で測ります. これを回路計算量と呼びます. アルゴリズムの時間計算量と回路計算量の関係性は非自明で以前の記事で触れていますが, 任意のアルゴリズムはその動作を回路で(少しのオーバーヘッドがあるものの)シミュレーションできるため, 「時間計算量が小さいならば回路計算量が小さい」は成り立ちます (逆は必ずしも成り立たちません).
2. Hardcore lemmaの主張
定義1 (関数のhardness).
関数f\colon\{0,1\}^n\to\{0,1\}は, 任意のサイズs以下の回路Cに対し\Pr_{x\sim H}[C(x)=f(x)]\leq 1-\deltaを満たすとき, サイズsに対しH上で\delta-hardであるという. ここで, \Pr_{x\sim H}[...]はx\in\{0,1\}^nがH上一様ランダムにサンプリングされた時の確率をとることを意味する.
\deltaの値が大きいほどfは難しいと解釈できますが, 常に0を出力する回路と常に1を出力する回路を考えればどちらか一方は半分以上の入力xに対しf(x)を正しく計算できるので, \delta>1/2にはなりえません.
定理1 (Impagliazzo's hardcore lemma)
任意の\delta,\epsilon>0に対し以下が成り立つ: f\colon\{0,1\}^n\to\{0,1\}がサイズsに対し\{0,1\}^n上で\delta-hardであるならば、サイズ\delta 2^n以上のある集合Hが存在してfはサイズO(\delta^2\epsilon^2 s)に対しH上で(1/2-\epsilon)-hardである.
冒頭でも述べた通り, fが\{0,1\}^n上でまぁまぁ難しい (i.e., 0.01-hard) ならば, fがめちゃくちゃ難しい(i.e., 0.499-hard)ようなサイズ0.01\times 2^n以上のインスタンスの集合Hが存在することになります.
3. 証明
主に二通りの証明方法 (ブースティングアルゴリズムに基づくものとNewman's min-max theoremに基づくもの) が知られています. 後者の証明はArora-Barakの本などにも紹介されているので, 本記事では前者の証明を紹介します.
3.1. Hardcore measure
まず, setの連続緩和としてmeasureという概念を定義し, hardcore setの存在性の代わりにhardcore measureの存在性を証明します.
定義2 (measure)
関数M\colon\{0,1\}^n\to\{0,1\}をmeasureと呼ぶ (測度論における測度とは区別するのを注意してください). Mのサイズを|M|=\sum_{x\in\{0,1\}^n}M(x)とし, 相対サイズを\mu(M)=|M|/2^nとする. \mu(M)\geq \deltaであるとき, Mは\delta-denseであるという.
定義3 (measureにおけるhardness)
Mをmeasureとする. 関数f\colon \{0,1\}^n\to\{0,1\}は以下を満たすとき, サイズsに対しM上で\delta-hardであるという: 任意のサイズs以下の回路Cに対し\Pr_{x\sim M}[C(x)=f(x)]\leq 1-\delta.
ここで, \Pr_{x\sim M}[...]はM(x)に比例する確率でxをサンプリングした時の確率を考える.
注釈: measureは集合H\subseteq \{0,1\}^nを"連続化したもの"と解釈できます. 例えばMとしてHの指示関数 (M(x)=1 if x\in H, M(x)=0 if x\not\in H) をとれば, Mが\delta-dense \iff |H|\geq \delta 2^n となります.
まず, 定理1の代わりにそれのmeasure版となる以下の結果を証明します:
定理2 (hardcore measure)
任意の\delta,\epsilon>0に対し以下が成り立つ: fが\{0,1\}^n上でサイズsに対し\delta-hardならば, ある\delta-denseな measure Mが存在し, fはM上でサイズO(\delta^2\epsilon^2s)に対し(1/2-\epsilon)-hardである.
(証明)
待遇 (i.e., 任意のM上でhardでないならば\{0,1\}^n上でhardでない) を示します. 具体的には, 任意の\delta-denseなmeasure Mに対し, fはM上でサイズs'に対し(1/2-\epsilon)-hardでないと仮定します. すなわち, 任意の\delta-denseなMに対しあるサイズs'の回路C_Mが存在して\Pr_{x\sim M}[C(x)=f(x)]>1/2+\epsilonとします. これらの回路C_Mを組み合わせることによって, \Pr_{x\sim \{0,1\}^n}[C'(x)=f(x)]>1/2+\deltaとなるようなサイズO(\epsilon^{-2}\delta^{-2}s')の回路C'を構成します.
最終的に得られる回路C'はC'=\mathsf{maj}(C_1,\dots,C_t)の形になります (\mathsf{maj}(x_1,\dots,x_t)は\sum x_i\geq t/2以上ならば1, そうでなければ0を返す関数で, この関数はサイズO(t)の回路で計算できることが知られています.) 以下ではC_1,\dots,C_tを定義します.
\gamma:=\delta\epsilonとします. まず, 定数measure M_1\equiv 1 から始めます. measure M_iに対しC_i=C_{M_i}とします (待遇の仮定からこのような回路が存在). 事象Zの符号付き指示関数を[Z]と定義し (i.e., Zが真なら[Z]=1, そうでないなら[Z]=-1), R_i(x)=\sum_{j=1}^i [C_i(x)=f(x)]とします. 次のステップにおけるmeasure M_{i+1}を,
M_{i+1}(x) = \begin{cases} 1 & \text{if }R_i(x)\leq 0,\\1-\gamma R_i(x) & \text{if }0<R_i(x)<1/\gamma,\\0 & \text{if }R_i(x)>1/\gamma\end{cases}
で定義します. イメージとしては, これまで得られた回路の過半数が間違えるような入力に対しては最大の重みM_{i+1}(x)=1を与え, これまでの回路のうち多くが正解するような入力に対しては重みを与えない (M_{i+1}(x)=0) ようなものです. これを\mu(M_{i+1})\leq \deltaになるまで繰り返し, 得られた回路をC_1,\dots,C_tとします.
最終的な回路C'の性能を評価します. 入力xに対してC'(x)\neq f(x)ならば, C_1,\dots,C_tのうち過半数が違う値を計算してるので, C_1(x)+\dots+C_t(x)<t/2となり, R_t(x)<0となります. このとき上記の構成よりM_{t+1}(x)=1です. したがって
\Pr_{x\sim \{0,1\}^n}[C'(x)\neq f(x)] \leq \Pr_{x\sim \{0,1\}^n}[M_{t+1}(x)=1] \leq \frac{1}{2^n}\sum_{x\in\{0,1\}^n}M_{t+1}(x)\leq \delta
となるので, C'は\{0,1\}^n上でfを1-\delta以上の確率で計算していることになります. また, 各C_iのサイズ\leq s'であることからC'のサイズはO(ts')です.
最後にt=O(\epsilon^{-2}\delta^{-2})を示せば証明が完了します. ポテンシャルとして
A_t:=\sum_{1\leq i\leq t}\sum_{x\in\{0,1\}^n}M_i(x)[C_i(x)=f(x)]
を考え, その上下界を求めます:
(1): A_t\geq t2^{n+1}\gamma.
回路C_iのM_i上の正答率の仮定から\sum_{x\in\{0,1\}^n}\frac{M_i(x)}{|M_i|}[C_i(x)=f(X)]=2\Pr_{x\sim M_i}[C_i(x)=f(x)]-1\geq 2\epsilonなので,
A_t=\sum_{1\leq i\leq t}|M_i|(2\Pr_{x\sim M_i}[C_i(x)=f(x)]-1)\geq t\delta 2^{n+1}\epsilon=t2^{n+1}\gamma.
(2): A_t\leq 2^n(\gamma t/2+1/\gamma).
x\in\{0,1\}^nを固定し, S:=\sum_{i=1}^tM_i(x)[C_i(x)=f(x)]を上から抑えます. a\in\mathbb{Z}に対して
m(a) = \begin{cases} 1 & \text{if }a\leq 0,\\1-\gamma a & \text{if }0<a<1/\gamma,\\0 & \text{if }a>1/\gamma\end{cases}
と定めると, M_i(x)=m(R_{i-1}(x))と書けます. ここで, 次で定義される辺重み付き有向グラフG=(V,A)を考えます: V=\{R_i(x)\colon i=0,\dots,t\}, A=\{(R_i(x),R_{i+1}(x))\colon i=0,\dots,t-1\}, 辺(R_i(x),R_{i+1}(x))の重みはM_i(x)(R_i(x)-R_{i-1}(x))=m(R_{i-1}(x))(R_i(x)-R_{i-1}(x)).
 |
有向グラフG
|
ここで, 辺のペア(a,a+1)と(a+1,a)を考えます. これらの辺は逆向きなので重みの符号は異なり, その大きさは|M(a)-M(a+1)|\leq \gammaを満たします. このような辺のペアは高々t/2本あり, 総和に対して高々\gamma t/2だけ寄与します. 次に, この辺のペアをGから除去すると残るグラフは右に行き続けるパスまたは左に行き続けるパスになります.
ペアを全て除去して残ったグラフ
上図のように左に行き続けるパス (つまり, 頂点a\to a-1\to\dots \to a-\ellを辿るパス) の辺重みは全て負なので, パス重みの総和には寄与しません. また, 右に行き続けるパス (頂点a\to a+1\to \dots \to a+\ellを辿るパス) の寄与はm(a)+m(a+1)+\dots+m(a+\ell-1)ですが, b>1/\gammaなる任意のbに対してm(b)=0なのでこの寄与は高々1/\gammaとなります. 従って, パス重みの総和は高々\gamma t/2 + 1/\gammaです. 考えるべきパスは2^n個あるから, A_t\leq 2^n(\gamma t/2+1/\gamma)を得ます.
(1),(2)のバウンドより,
t2^{n+1}\gamma \leq A_t \leq 2^n(\gamma t/2+1/\gamma)
となるので, t\leq 2/(3\gamma^2) \leq (\delta\epsilon)^{-2}を得ます.
3.2. Hardcore measure \Rightarrow Hardcore set
3.1の議論により, hardcore measure Mの存在性が言えました. randomized roundingとprobabilistic methodを組み合わせてhardcore set Hの存在性を証明します. 整理すると, Mは\delta-denseであり, かつ任意の小さい回路Cに対して
\Pr_{x\sim M}[C(x)=f(x)]\leq \frac{1}{2}+\epsilon
を満たします. この節では|H|\geq \delta/2\cdot 2^nであり, かつ任意の小さい回路Cに対して
\Pr_{x\sim H}[C(x)=f(x)]\leq \frac{1}{2}+\epsilon
を満たす集合H\subseteq\{0,1\}^nの存在性を証明します.
Hardcore measure M を考えます. 各x\in\{0,1\}^nに対して, 独立に確率M(x)/|M|でxを含むようなランダム集合をHとします. まず, |H|の期待値は|M|なので, Hoeffding boundより確率1-2^{-\Omega(2^{n})}で|H|\geq 0.9|M|を満たします (つまりHは高確率で密な集合). 次に\Pr_{x\sim H}[C(x)=f(x)]=\frac{|\{x\in H\colon C(x)=f(x)\}|}{|H|}を考えます (Hがランダム集合なので, この値はHのランダムネスに起因する確率変数となる). 先ほど分母の下界を求めたので, 次は分子の上界を求めます. まず, 回路Cを固定してA_C=\{x\colon C(x)=f(x)\}を回路Cが正解する入力の集合とします. すると分子は|H\cap A_C|=\sum_{x\in A_C}\mathbf{1}_{x\in H}となり, これは(Hの構成法により)独立な確率変数の和となります. さらにその期待値は\mathrm{E}[|H\cap A_C|]=|M|\sum_{x\in A_C}\frac{M(x)}{|M|}=|M|\Pr_{x\sim M}[C(x)=f(x)]\leq (1/2+\epsilon)|M|となるので, 非常に高い確率 (確率1-2^{-\Omega(2^n)}) で|H\cap A_C|\leq 1.001(1/2+\epsilon)|M|\leq (1/2+\epsilon')|M|となります. 従って, 回路Cに関するunion bound (Cが小さいサイズ, 例えば多項式サイズならば, Cの総数は2^{\mathrm{poly}(n)}以下になる) により,
\Pr_H[\forall C,\Pr_{x\sim H}[C(x)=f(x)]\leq \frac{1}{2}+\epsilon'] \geq 1-2^{-\Omega(2^n)}\cdot 2^{\mathrm{poly(n)}}>0.
よって正の確率でHはhardcore setの条件を満たすので, 所望のHの存在性が証明できました (証明終).
4. 教師有り学習のブースティングとの関係
教師有り学習の文脈では, f\colon\{0,1\}^n\to\{0,1\}を二値分類タスクとみなし, C_MをM上で動作する弱い分類器とみなすことにより, C'の構成をブースティングの一種と解釈することができます (ただし上記の証明ではあくまでもC'の存在性にすぎず, その構成アルゴリズムを与えたものではないため, ブースティングアルゴリズムそのものは与えていません). 上記の証明はMを上手く更新しながら対応する分類器をとってきてそれらのmajorityをとるものになっており, 今回の証明以外にもMの更新方法は様々知られており, 例えばAdaBoostのようなmultiplicative updateに基づくもの (+Bregman projection)も知られており, t=O(\epsilon^{-2}\log\delta^{-1})まで改善されています (Barak et al. SODA09).
0 件のコメント:
コメントを投稿