Loading [MathJax]/extensions/TeX/mathchoice.js

2023年12月20日水曜日

ランダムウォークの混交時間の解析(スペクトルギャップと修正された対数ソボレフ不等式)

スペクトルギャップを用いたランダムウォークの混交時間の解析は前々から知ってたけど対数ソボレフ不等式を用いた解析は知りたいなぁと長年思っていてようやく理解できてきたのでまとめてみました.

連結かつ非二部なグラフ上の離散時間単純ランダムウォーク(隣接点に一様ランダムに遷移するランダムウォーク)の分布は必ず定常分布と呼ばれる分布に収束することが知られており, その収束のレートを測る指標として混交時間(mixing time)が知られています. 時刻tにおいてランダムウォークが頂点vにいる確率をp_t(v)と書き, \pi\in[0,1]^Vを定常分布とします (基本的にベクトルは行ベクトルとして扱います). 通常のランダムウォーク(一様ランダムな隣接点に遷移するランダムウォーク)では\pi(v) = \frac{\deg(v)}{2|E|}となることが知られています.

より一般に, 頂点uからvへの遷移確率P(u,v)を成分として持つ行列を遷移確率行列(transition matrix)と呼び, \pi P = \piを満たす分布\pi定常分布(stationary distribution)と呼び, 定常分布が存在するランダムウォークを可逆(reversible)であると言います. 時刻tにおけるランダムウォークの分布ベクトルp_tp_t = p_{t-1}Pを満たすので, この等式の両辺をt\to\inftyをとれば確かにp_tが収束するとしたらそれは定常分布になりそうな感じがします. 

可逆なランダムウォークは非常に重要なクラスであり, 定常分布が誘導するある計量を考えると遷移確率行列を対称行列として扱えるのが嬉しい性質で, 例えばPが実固有値を持つのでエクスパンダー性の議論などと相性が良いです (例えばこの記事参照). 基本的に無向グラフ上のランダムウォーク(辺重みがあっても良い)はこのクラスに属しますが, 有向グラフにすると可逆性が失われます. 本記事では主に可逆なランダムウォークを扱います.

P(u,v)>0のときに有向辺(u,v)を張って得られる有向グラフGが強連結ならばP既約(irreducible)であると言い, Gの全ての有向閉路の長さのgcdが1であるならば非周期的(aperiodicity)であると言います (例えば二部グラフなら閉路長が偶数なので周期的). 既約ならば定常分布は一意に存在し, 非周期的ならばランダムウォークの分布は\piに収束することが知られています (二部グラフ上のランダムウォークはステップ数の偶奇で分かれるので収束しない). ランダムウォークの文脈では確率1/2の自己ループによって長さ1の閉路を付与することで必ず非周期性を持たせられます. また, 連続時間ランダムウォークを考えると既約性だけで定常分布への収束性を保証できます. 自己ループ確率を1/2にすると遷移確率行列Pが半正定値性を持ち, 例えば\sqrt{P}といった行列を考えることができるのが嬉しいポイントで, 例えば[Oliveira and Peres, 2019]ではこの分解を巧妙に使って到達時間(hitting time)のバウンドを証明しています.

混交時間の話に戻ります. 二つの分布p_t,\pi\in[0,1]^Vの統計距離d_{\mathrm{TV}}(p_t,\pi):=\frac{1}{2}\|p_t - \pi\|_1を考え, 任意の初期分布p_0に対しこの値が\epsilon以下になるような最小のt\epsilon-混交時間と呼び, t_{\mathrm{mix}}(\epsilon)で表します. すなわち
\begin{align*} t_{\mathrm{mix}}(\epsilon) = \inf\{t\geq 0\colon d_{\mathrm{TV}}(p_t,\pi)\leq\epsilon\text{ for any }p_0\}. \end{align*}
なお, 初期分布p_0は各頂点上のDirac測度の凸結合で表せるので, 最悪の頂点からスタートした場合の混交スピードを測るという意味で最悪時の指標になっています. 例えば初期状態が定常分布だった場合は0ステップで混交しているので平均時みたいなものはあまり考えません.

ランダムウォークとはグラフ上を局所的に遷移する過程ですので一般に解析が難しそうに見えますが, 時刻1からTを長さt_{\mathrm{mix}}(\epsilon)の区間で区切るとそれぞれで分布が\piに収束するため, それぞれの区間の最後では\piからランダムに頂点を選んだものとみなすことができます. 例えば正則グラフを考えると\piは一様分布となるので, 100n\log n個の区間を考えるとそれぞれで固定した頂点vに行き着く確率はおおよそ\pi(v)=1/nなので, ランダムウォークが一度も頂点vを訪れない確率は(1-1/n)^{100\log n}\leq n^{-100}となり, vに関するunion boundをとれば全ての頂点を訪問することがわかります. すなわち混交時間を抑えることによって, 全訪問時間(cover time)も抑えることができます. こちらの記事で, このトピックに関する簡単なサーベイをまとめています.

このように, 混交時間を抑えることによって到達時間や全訪問時間といった他のパラメータに対する上界も得ることができるため, 混交時間の解析はランダムウォークにおいては非常に重要な研究課題となっています. 現代はマルコフ連鎖モンテカルロ法(MCMC)の解析, 特にIsing modelやPotts modelに対するGlauber dynamicsなどの混交時間の解析が大きな注目を集めています. また, Langevin dynamicsによって最適化問題を表現し, その混交時間が抑えられればその最適化問題に対するアルゴリズムを与えることができます.

混交時間を抑えるためにはd_{\mathrm{TV}}(p_t,\pi)を上から抑える必要があります. 本記事では, 

  • Cauchy-Schwarzの不等式を使って\chi^2-ダイバージェンスで上から抑える (スペクトルギャップ)
  • Pinskerの不等式を使ってKL-ダイバージェンスで上から抑える (修正された対数ソボレフ不等式)
という二つのよく知られる方法について, ダイバージェンスの観点から紹介します. スペクトルバウンドのみを理解したい場合はダイバージェンスを介さずとも良いのですが, 修正された対数ソボレフ不等式に基づく解析も理解するならば両方をダイバージェンスの縮小という観点で理解した方が見通しがよくなると思ったからです.

なお, オリジナルの対数ソボレフ不等式は元々は関数解析の分野の概念ですが, 本稿では関数解析には触れず, マルコル連鎖に焦点を絞って解説していきます.

スペクトルギャップに基づくバウンド

線形代数です. アイデアとしては, \ell^1ノルムを\ell^2ノルムで抑えて\ell^2ノルムをバウンドするためにスペクトルを使うというものです. p_t-\pi = (p_{t-1} - \pi)Pであり, p_{t-1}-\piPの第一固有ベクトル\mathbf{1}と直交するので, Pの第二固有値を見ることが肝要になります.

この議論をダイバージェンスの観点からと述べるために, \chi^2-ダイバージェンスと呼ばれる値を定義します. 確率変数Xの台を\mathsf{supp}(X)=\{x\colon \Pr[X=x]>0\}で定めます.

定義1 (\chi^2-ダイバージェンス)
離散値をとり, \mathsf{supp}(X) \subseteq \mathsf{supp}(Y)を満たす二つの確率変数X,Y\chi^2-ダイバージェンス\chi^2(X||Y)を以下で定義する:
\begin{align*} \chi^2(X||Y) &= \sum_{a\in \mathsf{supp}(Y)} \Pr[Y=a]\left(\frac{\Pr[X=a]}{\Pr[Y=a]}-1\right)^2 \\ &= \mathbb{E}_{a\sim Y}\left[ \left( \frac{\Pr[X=a]}{\Pr[Y=a]} - 1 \right)^2 \right]. \end{align*}
また, \mathsf{supp}(X)\not\subseteq \mathsf{supp}(Y)であった場合は\chi^2(X||Y)=\inftyと定める.

この量は二つの分布の乖離度を測る指標として知られているのですが, 距離の公理は満たしません (そもそも\chi^2(X||Y) = \chi^2(Y||X)は一般に成り立たない). イメージとしては確率変数X,Yがどれくらい識別しにくいかを表す指標だと思ってもらえれば十分です.

今回の記事では特に扱いませんが, ダイバージェンス全般において特筆すべき性質としては

  • 非負性: \chi^2(X||Y)\geq 0.
  • データ処理不等式: 任意の決定的アルゴリズム(関数)fに対し, \chi^2(f(X)||f(X))\leq \chi^2(X||Y).
  • 凸性: 確率変数をその分布ベクトルとみなし, \chi^2を二つの分布から実数値を返す関数とみなしたときに\chi^2は凸関数.

がよく知られています. 特に凸性はJensenの不等式との相性が良いので非常によく使います. また, \chi^2ダイバージェンスと統計距離との間には以下の関係が成り立ちます.

補題2.
離散値をとる二つの確率変数X,Yに対して
\begin{align*} d_{\mathrm{TV}}(X,Y) \leq \frac{1}{2}\sqrt{\chi^2(X||Y)}. \end{align*}

証明.
Yの台を\Omegaとし, x(a)=\Pr[X=a],y(a)=\Pr[Y=a]とします. \mathsf{supp}(X)\not\subseteq\mathsf{supp}(X)の場合は右辺が\inftyとなり自明なので, \mathsf{supp}(X)\subseteq\mathsf{supp}(Y)を仮定すると,
\begin{align*} d_{\mathrm{TV}}(X,Y) &= \frac{1}{2}\sum_{a\in \Omega}\left| x(a) - y(a) \right| \\ &= \frac{1}{2}\sum_{a\in\Omega} \sqrt{y(a)}\cdot \sqrt{y(a)} \left| \frac{x(a)}{y(a)} - 1 \right| \\ &\leq \frac{1}{2}\sqrt{\sum_{a\in\Omega}y(a)}\cdot \sqrt{\sum_{a\in\Omega}y(a)\left(\frac{x(a)}{y(a)} - 1 \right)^2} & & \text{the Cauchy--Schwarz inequality} \\ &= \frac{1}{2}\sqrt{\chi^2(X||Y)}. \end{align*}
より主張を得ます. (証明終)

ランダムウォークに話を戻すと, 補題2より\chi^2(p_t||\pi)の上界が得られれば混交時間のバウンドを得ることができます. 以下の補題で\chi^2(p_t||\pi)\ell^2ノルムで抑えます.

補題3.
定常分布\piを持つ可逆なランダムウォークに対して, \pi_{\min}:=\min_{v\in V}\pi(v)とすると,
\begin{align*} \chi^2(p_t||\pi) \leq \pi_{\min}^{-1}\cdot \|p_t - \pi\|_2^2. \end{align*}

証明.

\begin{align*} \chi^2(p_t||\pi) &= \sum_{v\in V}\pi(v)\cdot \left(\frac{p_t(v)}{\pi(v)}-1\right)^2 \\ &= \sum_{v\in V}\pi(v)\cdot\left(\frac{p_t(v)^2}{\pi(v)^2} - \frac{2 p_t(v)}{\pi(v)} + 1\right) \\ &= \sum_{v\in V}\pi(v)\left(\frac{p_t(v)}{\pi(v)} - 1\right)^2 \\ &= \sum_{v\in V}\frac{1}{\pi(v)}\cdot \left( p_t(v) - \pi(v) \right)^2 \\ &\leq \pi_{\min}^{-1}\cdot \|p_t - \pi\|_2^2. \end{align*}
よって主張を得る. (証明終)

最後に行列Pのスペクトルを用いた混交時間の上界を導出します.

定理4.
遷移確率行列Pに従い, 定常分布\piを持つ可逆なランダムウォークを考える. \lambda(P)=\max_{\|x\|_2=1,x\bot \mathbf{1}}\|Px\|とする. \lambda(P)<1ならば,
\begin{align*} d_{\mathrm{TV}}(p_t,\pi) \leq \frac{\lambda(P)^t}{\sqrt{2\pi_{\min}}}. \end{align*}
特に, スペクトルギャップ\gamma:=1-\lambda(P)に対し, \tau_{\mathrm{mix}}(\epsilon) = O\left(\gamma^{-1}(\log(1/\epsilon) + \log(1/\pi_{\min}))\right).

Remark. \lambda(P)Pの非自明な第二固有値になります. すなわち, Pの固有値を1=\lambda_1 \geq \lambda_2\geq \dots \geq \lambda_{|V|}としたときに\lambda(P) = \max\{\lambda_2,|\lambda_{|V|}|\}です. これはCourant-Fischerの定理(行列の固有値に関するmin-max定理)からわかります. エクスパンダーグラフの文脈では\lambda(P)が小さいグラフ (言い換えると\gamma\approx 1) を考えるのに対し, 例えば混交時間が多項式かどうかを気にするMCMCの文脈では\gamma \geq 1/\mathrm{poly}(n)かどうかを気にするので, \gamma\to 0の時の漸近挙動におけるオーダーを考えます.

証明. 分布p_tは等式p_t = p_{t-1}Pを満たすので,
\begin{align*} \|p_t - \pi\|_2 = \|(p_{t-1} - \pi) P\|_2 \leq \|p_{t-1} - \pi\|_2\cdot \lambda(P) \end{align*}
を得る (最後の不等式ではベクトルp_t-\piがall-one ベクトル\mathbf{1}に直交することを用いた).

補題2,3より,
\begin{align*} d_{\mathrm{TV}}(p_t,\pi) &\leq \frac{1}{2\sqrt{\pi_{\min}}}\cdot \|p_t - \pi\|_2 \\ &\leq \frac{1}{2\sqrt{\pi_{\min}}} \cdot \lambda(P)^t \|p_0 - \pi\|_2 \\ &\leq \frac{\lambda(P)^t}{\sqrt{2\pi_{\min}}} \end{align*}
特に, \lambda(P)\leq 1-\gamma\leq\mathrm{e}^{-\gamma}ならばd_{\mathrm{TV}}(p_t,\pi) \leq \frac{\exp(-\gamma t)}{\sqrt{2\pi_{\min}}}\leq \epsilonとおくと混交時間のバウンドを得る. (証明終)


修正された対数ソボレフ不等式

スペクトルギャップの章は線形代数でしたが, こちらは情報理論です. Pinskerの不等式を使って統計距離をKLダイバージェンスで抑え, KLダイバージェンス\mathrm{KL}(p_t||\pi)がexponentialにdecayする議論を紹介します. この時の指数のrateが修正された対数ソボレフ不等式となります. このことを述べるためにまず, Dirichlet形式と連続時間マルコフ連鎖を導入します.

KLダイバージェンスについて. 二つの分布\mu,\nu\in[0,1]^Vに対し, それらのKLダイバージェンスを, \mathsf{supp}(\mu)\subseteq\mathsf{supp}(\nu)のとき
\begin{align*} \mathrm{KL}(\mu||\nu) = \mathbb{E}_{v\sim\mu}\left[ \log \frac{\mu(v)}{\nu(v)}\right], \end{align*}
\mathsf{supp}(\mu)\not\subseteq\mathsf{supp}(\nu)のとき, \mathrm{KL}(\mu||\nu)=\inftyと定義します. すると, Pinskerの不等式より, d_{\mathrm{TV}}(\mu,\nu)\leq \frac{1}{2}\sqrt{\mathrm{KL}(\mu||\nu)}が成り立ちます. 混交時間の文脈ではd_{\mathrm{TV}}(p_t,\pi)\leq \frac{1}{2}\sqrt{\mathrm{KL}(p_t || \pi)}より, p_t\piのKLダイバージェンスを抑えれば混交時間も抑えることができます.

Dirichlet形式について. 行列M\in\mathbb{R}^{V\times V}を線形作用素M\colon\mathbb{R}^V\to\mathbb{R}^Vととらえます. 定常分布\piを持つ遷移確率行列Pを考えます. 空間\mathbb{R}^Vに内積\langle \cdot,\cdot\rangle
\begin{align*} \langle f,g\rangle = \sum_{v\in V}f(v)g(v)\pi(v) = \mathbb{E}_{v\sim\pi}[f(v)g(v)] \end{align*}
を定めます.

定義5.
定常分布\piを持つV上の可逆なマルコフ連鎖Pに対し, そのDirichlet形式\mathcal{E}\colon \mathbb{R}^V\times\mathbb{R}^V\to\mathbb{R}
\begin{align*} \mathcal{E}(f,g) = \langle (I-P)f,g\rangle =\sum_{v\in V}\pi(v) (I-P)f(v) g(v) \end{align*}
で定める.

正規化されたラプラシアンL=I-Pを用いると, \mathcal{E}(f,g)=\langle Lf,g \rangleと表すことができます. 特にf=gのとき,
\begin{align*} \mathcal{E}(f,f) &= \langle f,f\rangle - \langle Pf,f\rangle \\ &= \frac{1}{2}\mathbb{E}_{x\sim \pi,y\sim P(x,\cdot)}[f(x)^2 - 2f(x)f(y) + f(y)^2] \\ &= \frac{1}{2}\mathbb{E}_{x\sim\pi,y\sim P(x,\cdot)}[(f(x) - f(y))^2] \end{align*}
となり, ランダムな辺xyを選んだときのfの二乗差の平均となります. これを, \mathcal{E}(f,f)は関数fのエネルギーのようなものだと思ってください. 

連続時間マルコフ連鎖について. 可逆な遷移確率行列Pに従う離散時間ランダムウォークを(X_t)_{t=0,1,\dots}とします. これを連続時間ランダムウォークに拡張します. 一般に状態空間が離散であるような連続時間のランダムウォークでは遷移時刻の間隔は平均1指数分布\mathrm{Exp}(1)に従うものを考えます (指数分布とは\Pr[\mathrm{Exp}(1)\geq t]=\mathrm{e}^{-t}を満たす連続値をとる確率分布です). 以下でもう少しフォーマルに定義します. 確率変数T_1,T_2,\dots\mathrm{Exp}(1)の独立なサンプルとし, T_0=0と定義します. 各tに対しT_i \leq t < T_{i+1}を満たすii(t)と書くことにします. 連続時間マルコフ連鎖とは, Y_t=X_{i(t)}で定義される連続時刻t\in\mathbb{R}_{\geq 0}で添字づけられた確率変数の族(Y_t)_{t\in\mathbb{R}_{\geq 0}}です. 連続時間ランダムウォークについても時刻tにおける分布q_t\in[0,1]^Vを定義できます.

熱核について. H_t = \mathrm{e}^{-t}\cdot \sum_{i=0}^\infty \frac{(tP)^i}{i!} = \mathrm{e}^{-t(I-P)}とします. この行列はランダムウォークの分野では熱核(heat kernel)と呼ばれます (おそらく物理や微分方程式の文脈からきているのでしょうが私は専門外なので知りません). 証明は[Levin and Peres, 2017; Chapter 20]に譲りますが, H_t(u,v)は頂点uからスタートした連続時間ランダムウォークが時刻tにおいて頂点vにいる確率を表します. 初期頂点の分布をq_0とすると, 時刻tにおけるランダムウォークの分布はq_t=q_0 H_tと表すことができます. これを用いると連続時間ランダムウォークの\epsilon-混交時間t^{\mathrm{cont}}_{\mathrm{mix}}(\epsilon)を, 離散時間の場合と同様に
\begin{align*} t^{\mathrm{cont}}_{\mathrm{mix}}(\epsilon) = \inf\{t\geq 0\colon d_{\mathrm{TV}}(q_t,\pi)\leq \epsilon \text{ for any $q_0$}\} \end{align*}
で定義できます.

連続時間と離散時間の比較. 連続時間と離散時間は期待値の意味では時刻T\in\mathbb{N}においてどちらもT回の遷移を行うため, その時点でのランダムウォークの分布p_T,q_Tはほぼ同じ性質を有します. 従って混交時間についても離散時間と連続時間でほぼ同じになります. このことは遷移回数の集中性を使って簡単に説明できます. 離散時間ランダムウォークの(\epsilon/2)-混交時間をt^*とおき, 10t^*回目の遷移が発生した瞬間の時刻T^*:=T_{10t^*}を考えます. 時刻T^*10t^*個の独立な指数分布\mathrm{Exp}(1)の和となり, この値は期待値10t^*に集中するため, 確率1-2^{-\Theta(t^*)}T^*\geq t^*が成り立ちます. 従って
\begin{align*} d_{\mathrm{TV}}(Y_{T^*},\pi) \leq d_{\mathrm{TV}}(X_{t^*},\pi) + \Pr[T^*<t^*] \leq \frac{\epsilon}{2} + 2^{-\Theta(t^*)}. \end{align*}
を得ます. 適当な定数c>0に対してt^*\geq c\log(1/\epsilon)であればd_{\mathrm{TV}}(Y_{T^*},\pi)\leq\epsilonが成り立つので, t^{\mathrm{cont}}_{\mathrm{mix}}(\epsilon) = O(t_{\mathrm{mix}}(\epsilon/2) + \log(1/\epsilon))を得ます (\log(1/\epsilon)の項はt^*\ll \log(1/\epsilon)の場合をケア). 逆方向の不等式も同様に証明できます.

修正された対数ソボレフ定数について. 上記の議論から, 連続時間における\mathrm{KL}(q_t||\pi)を抑えることによって元の離散時間における混交時間をバウンドできます. \mathrm{KL}(q_t||\pi)の減少を知りたいので, KLダイバージェンスをtで微分してみます. 関数\phi_t \colon v\mapsto  \frac{q_t(v)}{\pi(v)}とすると,

\begin{align*} \frac{\mathrm{d}}{\mathrm{d}t} \mathrm{KL}(q_t||\pi) &= -\mathcal{E}(\phi_t,\log \phi_t) \end{align*}
を得ます. この式の右辺の減少スピードは, 以下で定義される修正された対数ソボレフ定数によって与えられます.

定義6.
定常分布\piを持つV上の可逆なマルコフ連鎖Pを考える. 関数\phi\colon V\to\mathbb{R}_{>0}に対し, \mathrm{Ent}[\phi]
\begin{align*} \mathrm{Ent}[\phi] = \mathbb{E}_{v\sim\pi}\left[ \phi(v) \log\frac{\phi(v)}{\mathbb{E}_{\pi}[\phi]} \right] \end{align*}
とし, 修正された対数ソボレフ定数 (modified log-Sobolev constant) \rho
\begin{align*} \rho = \inf\left\{ \frac{\mathcal{E}(\phi, \log \phi)}{\mathrm{Ent}(\phi)} \colon \phi\geq 0,\mathrm{Ent}[\phi]\neq 0 \right\} \end{align*}
で定める.

分布q,\piのKLダイバージェンス\mathrm{KL}(q||\pi)\mathrm{KL}(q||\pi)=\mathrm{Ent}\left[\frac{q}{\pi}\right]という関係が成り立ちます (このことからKLダイバージェンスを相対エントロピーと呼ぶのも納得ですね!). これを先ほどの微分の式に代入すると, \rhoの定義より
\begin{align*} \frac{\mathrm{d}}{\mathrm{d}t} \mathrm{Ent}[\phi_t] = -\mathcal{E}(\phi_t,\log \phi_t) \leq -\rho\cdot \mathrm{Ent}[\phi_t] \end{align*}
を得ます. この微分方程式を解きます. g(t) = \mathrm{Ent}[\phi_t]とすると, 両辺をg(t)で割って
\frac{\mathrm{d}}{\mathrm{d}t}\log g(t) \leq -\rho.
積分定数C_0を使うと
\log g(t) \leq -\rho t + C_0.
従ってg(t) \leq \mathrm{e}^{-\rho t}\cdot g(0)と表せます. 元々g(t)=\mathrm{Ent}[\phi_t]=\mathrm{KL}(q_t||\pi)だったので,
\mathrm{KL}(q_t||\pi) \leq \mathrm{e}^{-\rho t}\mathrm{KL}(q_0||\pi)
を得ます. 

定理7.
定常分布\piを持つV上の可逆なマルコフ連鎖Pを考え, \rhoを修正された対数ソボレフ定数とする. このとき,
\begin{align*} t_{\mathrm{mix}}(\epsilon) = O(\rho^{-1}(\log(1/\epsilon) + \log\log(1/\pi_{\min}))). \end{align*}
で定める.

証明.
ここでは, 離散時間と連続時間のランダムウォークの比較で主張していた関係を認め, t_{\mathrm{mix}}(\epsilon) = O(t^{\mathrm{cont}}_\mathrm{mix}(\epsilon/2))を認めることとします. 以後ではt^{\mathrm{cont}}_{\mathrm{mix}}(\epsilon/2)を抑えるために, q_tを連続時間ランダムウォークの時刻tにおける分布とします. Pinskerの不等式および前段落の議論から
\begin{align*} d_{\mathrm{TV}}(q_t,\pi) &\leq \frac{1}{2}\sqrt{\mathrm{KL}(q_t||\pi)} \\  &\leq \frac{1}{2}\mathrm{e}^{-\rho t / 2}\sqrt{\mathrm{KL}(q_0||\pi)} \\ &\leq \frac{1}{2}\mathrm{e}^{-\rho t / 2}\sqrt{\log(1/\pi_{\min})}. \end{align*}
なお, 最後の式はKLダイバージェンスの定義から任意の分布qに対して\mathrm{KL}(q||\pi)\leq \log(1/\pi_{\min})が成り立つことを用いています. 従って, 適当なt=O(\rho^{-1}(\log(1/\epsilon) + \log\log(1/\pi_{\min})))に対して, この値は\epsilon/2以下になるので主張を得ます. (証明終)

スペクトルギャップと修正された対数ソボレフ定数の関係については以下の結果が知られています

定常分布\piを持つV上の可逆なマルコフ連鎖Pを考え, \gammaをスペクトルギャップ, \rhoを修正された対数ソボレフ定数とする. このとき,
\begin{align*} \rho \leq 2\gamma \end{align*}
が成り立つ.

したがって修正された対数ソボレフ定数の下界を得るのはスペクトルギャップ以上に難しいことが分かります. しかしながら定理4と定理7を比較すると, 1/\pi_{\min}に対する依存が大きく異なっていることが分かります. 例えばn頂点のグラフ上での解析を考えると\log n\log\log nの差しかないのでそこまで大きくはなさそうなのですが, イジングモデルなど状態空間が指数的に膨大ならばその差は非常に大きくなってくるので, 修正された対数ソボレフ不等式のテクニックが有用になってきます.


参考文献


2023年12月14日木曜日

Pinskerの不等式の簡単な証明

 Pinskerの不等式とは, KLダイバージェンスと統計距離(total variation distance)の関係を表す不等式です. 本記事ではこれを紹介し, こちらの論文Yihong Wuの講義資料のTheorem 4.5に載っている非常にトリッキーな証明を紹介します.

有限集合\Omegaを値域とする二つの確率変数X,Yに対して

  • 統計距離: d_{\mathrm{TV}}(X,Y) = \frac{1}{2}\sum_{x\in \Omega}|\Pr[X=x] - \Pr[Y=y]| = \sup_{A\subseteq \Omega}|\Pr[X\in A] - \Pr[Y \in A]|.
  • KLダイバージェンス: \mathrm{KL}(X||Y)=\sum_{a\in\mathsf{supp}(Y)}\Pr[X=a]\ln\frac{\Pr[X=a]}{\Pr[Y=a]}.

定理 (Pinskerの不等式)
d_{\mathrm{TV}}(X,Y) \leq \sqrt{\frac{1}{2}\mathrm{KL}(X||Y)}.

証明では, KLダイバージェンスに関する以下のデータ処理不等式(data processing inequality)を認めることにします.

補題 (データ処理不等式)
\Omega,\Omega'を有限集合とする. 任意の関数f\colon \Omega\to\Omega'\Omega上に値をとる任意の確率変数X,Yに対し
\mathrm{KL}(f(X),f(Y)) \leq \mathrm{KL}(X,Y).

KLダイバージェンス\mathrm{KL}(X||Y)は直感的には二つの確率変数X,Yの識別しにくさを表す指標であり, データ処理不等式とは二つのデータX,Yをアルゴリズムfで処理して得られるデータf(X),f(Y)を考えたとき, データ処理不等式とはデータを処理しても識別しにくさは上がらないことを意味します.

一般にデータ処理不等式は決定的アルゴリズムfを乱択アルゴリズムに置き換えても成り立ちます. こちらの講義資料が参考になると思います.

Pinskerの不等式の証明.

大まかな流れとしてはデータ処理不等式を用いて01値確率変数の場合に帰着して, あとは積分を計算します.

統計距離の定義および\Omegaが有限であることから, ある集合E\subseteq \Omegaが存在してd_{\mathrm{TV}}(X,Y)=\Pr[X\in A] - \Pr[Y \in A]が成りたちます. この集合Aの指示関数をfとします. すなわちf\colon\Omega\to\{0,1\}x\in Aならばf(x)=1, そうでなければf(x)=0です.

データ処理不等式から\mathrm{KL}(f(X),f(Y))\leq \mathrm{KL}(X,Y)なので, ベルヌーイ試行f(X),f(Y)に対してPinskerの不等式が証明できれば証明が完了します.

では, X,Yがそれぞれベルヌーイ試行でX\sim\mathrm{Ber}(p),Y\sim\mathrm{Ber}(q)とします (すなわち\Pr[X=1]=p,\Pr[Y=1]=q). このとき

  • d_{\mathrm{TV}}(X,Y)=|p-q|,
  • \mathrm{KL}(X||Y)=p\ln\frac{p}{q} + (1-p)\ln\frac{1-p}{1-q}
です. 従って, 任意のp,q\in[0,1]に対して不等式
\begin{align} 2(p-q)^2 \leq p\ln\frac{p}{q} + (1-p)\ln\frac{1-p}{1-q} \end{align}
を示せば良いです. p,q\in\{0,1\}の場合は4通り試せば明らかに成り立つことが確認できます.

p,q\in(0,1)とし, f(x) = p\log x + (1-p)\log(1-x)とします. すると
\begin{align*} (\mathrm{RHS}) &= f(p) - f(q) \\ &= \int_q^p f'(x)\mathrm{d}x \\ &= \int_q^p \frac{p-x}{x(1-x)}\mathrm{d}x \\ &\geq 4\int_q^p (p-x)\mathrm{d}x \\ &= 2(p-q)^2 = (\mathrm{LHS}) \end{align*}
より証明を得ます. (証明終)


2023年12月12日火曜日

確率論的手法の計算論的な複雑性 (大雑把なサーベイ)

組合せ論や計算量理論ではしばし, 良い性質を持った離散構造の存在性が議論されます. 例えば

といった離散構造はそれ自体が興味の対象となるだけではなく非常に幅広い応用をもち, 擬似ランダム生成器, 良い性質を持つ誤り訂正符号, 計算量下界の証明, 脱乱択の証明, 近似アルゴリズムの構成, アルゴリズムの近似率の限界(PCP定理)などに用いられます.

しかしながらこれらの存在性の証明の多くはしばし確率論的手法や鳩の巣原理などに基づいた非構成的な手法もしくは非効率的な構成に基づく証明になっています. 実際の応用では(特に擬似ランダムネスの文脈では)しばし効率的(計算量が小さい)かつ決定的(ランダムネスを使わない)な構成が求められます. これを確率論的手法の脱乱択化と呼ぶことにします. 

確率論的手法の脱乱択化は組合せ論と計算量理論が密接に関連しているとても面白いトピックですので, ここでは非常に大雑把にいくつかのトピックを紹介していきます. なお, この辺りの擬似ランダムネスに関するトピックはVadhanの本に詳しいです.

疎なエクスパンダーグラフ (ラマヌジャングラフ)


頂点数nd-正則グラフGを考えます (ただしn\geq 2, d\geq 3). 隣接行列Aの固有値を大きい順に並べてd=\lambda_1\geq \lambda_2 \geq \dots \geq \lambda_nとします. すると, 
\lambda_2 \geq 2\sqrt{d-1} - \frac{2\sqrt{d-1}-1}{\lfloor \mathrm{diam}(G)/2\rfloor}
が成り立つことが知られています(Alon-Boppanaの定理). ここで\mathrm{diam}(G)はグラフGの直径で, Moore bound (または幅優先探索に基づく議論)により, \mathrm{diam}(G)=\Omega(\log_{d-1} n)が成り立ちます. 従って上記のバウンドにより, d\geq 3を固定しn\to\inftyの漸近を考えると\lambda_2 \geq 2\sqrt{d-1} - O(1/\log n)となります.

では, このバウンドは(漸近的に)タイトなのでしょうか? 実はこの問いはランダム正則グラフを考えることで簡単に肯定的に解けます. n頂点d正則グラフ全体の集合から一様ランダムに選んだグラフをG_{n,d}と書くと, Friedman(2003)によると, n\to\inftyの漸近的を考えると, 確率1-n^{-0.1}G_{n,d}
\lambda_2 \leq 2\sqrt{d-1} + O\left(\left(\frac{\log\log n}{\log n}\right)^2\right)
を満たすことが知られています. なので, 無限に多くのnについて上記を満たすn頂点d正則グラフがとれるため, n\to \inftyの漸近においてAlon-Boppanaの定理のバウンドはほぼタイトであることがわかります. ちなみにFriedman(2003)の定理の別証明を与えたという論文も知られています.

しかしながらこの証明は非構成的であるという点で応用向きではありません. スペクトルグラフ理論では, \lambda_2 \leq 2\sqrt{d-1}を満たすグラフをラマヌジャングラフと呼びます. あるd\geq 3に対してd-正則ラマヌジャングラフの列(G_i)_{i=1,2,\dots}であって, G_iの頂点数がi\to\inftyで発散するようなものが陽に構成できるか, という問題を考えます. この問題はLubotzky, Phillips, Sarnak (1988)によって解決され, その後も様々な進展を見ています.
  • Lubotzky, Phillips, Sarnak (1988)p\equiv 1 \bmod 4を満たす全ての素数pに対して(p+1)-正則ラマヌジャングラフの列を代数的に構成する方法を与えました. この構成はいわゆるLPSラマヌジャンなどと呼ばれています.
  • Morgenstern (1994)はLPSラマヌジャンをpがprime powerの場合に拡張しました.
  • 全てのd\geq 3に対してd正則ラマヌジャングラフは存在するのでしょうか?Friedmanの定理によるとランダム正則グラフは\lambda_2 \leq 2\sqrt{d-1}+o(1)を満たすことが知られていますが, 厳密にはラマヌジャングラフであるということを意味しません. このように, \lambda_2\leq 2\sqrt{d-1}+o(1)を満たすグラフをnear-Ramanujan graphといいます.
  • Marcus, Spielman, Srivastava (2015)は上の問いを解決し, 任意のd\geq 3に対してd正則二部ラマヌジャン(multi)グラフの無限列の存在性を証明しました. 彼らの証明はinterlacing polynomial methodと呼ばれる手法に基づいており, LPSラマヌジャンなどの代数的なアプローチとは根本的に異なっています.
  • すぐ後にCohen(2016)はMarcus, Spielman, Srivastavaの証明を構成的に修正し, n頂点ラマヌジャングラフを\mathrm{poly}(n)時間で構成するアルゴリズムを与えました.

ランダムネス抽出器


平たく言うとランダムネス抽出器(または単に抽出器)とは, ランダムっぽい文字列を受け取ってランダムな文字列を出力する乱択アルゴリズムです. 入力で与えられる文字列の「ランダムっぽさ」はmin-entropy(以下で定義している)によって測り, 出力文字列のランダムネスは一様ランダムな文字列との統計距離(total variation distance)によって測ります. 一般にdata processing inequalityより, どのような決定的なアルゴリズムを考えても分布のエントロピーを増大させることはできないため, ランダム抽出器は乱択アルゴリズムとしています.

定義1 (min-entropy).
確率変数Xのmin-entropy H_\infty(X)を以下で定める:
\begin{align*} H_\infty (X) = \min_{x\in\mathsf{supp}(X)}\log_2\frac{1}{\Pr[X=x]}. \end{align*}

通常のShannon entropyは情報量の期待値によって定義されますが, min-entropyでは情報量の最小値を考えます. すなわちmin-entropyの方がworst-caseの情報量を考えていることになります. 二つの確率変数X,Yの統計距離をd_\mathrm{TV}(X,Y)で表します.

定義2 (ランダムネス抽出器)
以下を満たす関数\mathrm{Ext}\colon \{0,1\}^m\times\{0,1\}^d\to\{0,1\}^n(k,\epsilon)-抽出器と呼ぶ: 任意のH_{\infty}(X)\geq kを満たす\{0,1\}^m上の分布X\{0,1\}^d上の一様分布U_dに対し, d_{\mathrm{TV}}\left( \mathrm{Ext}(X,U_d) , U_n \right) \leq \epsilon.

すなわち, 抽出器とは, mビットのランダムっぽい文字列Xdビットの一様ランダムな文字列U_dを受け取り, nビットのランダムな文字列を返す関数のことです. 一般にm,dは小さい方がよく, nは大きい方が良いです. 入力Xをしばし弱ランダムソースと呼びます.

ランダムな関数を考えると高確率でランダムネス抽出器になっていることが簡単に示せます. すなわち, 各\mathrm{Ext}(x,r)の値を\{0,1\}^n上の一様ランダムにとってきたとき, \mathrm{Ext}(\cdot,\cdot)が抽出器になっている確率は適切なパラメータの下で1-o(1)になることが示せます.

ランダムネス抽出器は以下のように二部グラフによって表現することによって組合せ論的な解釈を与えることができ, そこに組合せ論のテクニックが介入する余地があります.


左側の各頂点は弱ランダムソースXの入力に対応しており, 右側の各頂点は\{0,1\}^nの元に対応します. 頂点Xからは2^d本の辺が出ており, 各辺には\{0,1\}^dの元でラベル付けされています. 頂点Xからラベルu\in\{0,1\}^dの辺を辿った先にある右側の頂点が\mathrm{Ext}(X,u)になるようにグラフを構成します.

このように二部グラフを構成すると, 抽出器とは以下の性質を持つ二部グラフG=(L,R,E)であると解釈できます:

左側の頂点集合L上のmin-entropy\ge kであるような任意の分布に従って頂点Xを選び, そこから1ステップだけランダムウォークを行って得られる右側の頂点をY\in Rとする. このとき, YR上一様分布に(統計距離の意味で)近い.

特に, エクスパンダーグラフを考えるとある条件下では抽出器になることが知られています. 抽出器についてのサーベイは, 古い論文ですがNisan(1996)に詳しいです.

エクスパンダーグラフなどの組合わせ論的な道具を使った構成のほかにも, 平均時計算量の道具を使って抽出器を構成するという手法も知られています. Trevisan (2001)は非常に賢いアイデアによって, 多くの擬似ランダム生成器の構成が実は抽出器の構成とみなせるということが示しました. 擬似ランダム生成器(pseudorandom generator; PRG)とは短いランダム文字列を受け取って長いランダム文字列を出力するアルゴリズムです. ただし一般に任意のアルゴリズムはエントロピーを増大しないので, PRGの出力は擬似ランダムであるということが求められます. 詳細は以前の記事をご覧ください. 

例えばNisan-Wigderson generator G^f_{\mathrm{NW}}\colon \{0,1\}^d\to\{0,1\}^nは, 計算が非常に困難なBoolean関数f\colon\{0,1\}^\ell\to\{0,1\}を使ってdビットのランダム文字列U(いわゆる乱数シード)をnビットのランダム文字列に変換しています. Trevisan (2001)の抽出器では, 弱ランダムシードx\in\{0,1\}^mをまず誤り訂正符号で2^\ellビットの文字列に復号化し, この文字列を真理値表として持つ関数をNisan-Wigderson generatorの構成に用いることによって, 抽出器を構成しています.


解析の大雑把な概要:
もしもTrevisan's extractorの出力値が一様ランダム文字列U_nから統計的に離れているならば, Nisan-Wigderson generatorのreconstructionの議論により関数\mathrm{ECC}(x)\colon\{0,1\}^\ell\to\{0,1\}からハミング距離1/2-\epsilon以下の文字列は短い記述を持つ. さらに\mathrm{ECC}(x)に対するリスト復号のアルゴリズムを用いれば, 最終的に弱ランダムシードxは短い記述を持つ. これはmin-entropyの仮定に反する.


Rigid Matrix


グラフの剛性とは違う文脈で行列のrigidityと呼ばれる概念があります. 直感的には, Mがrigidであるというのは, Mの成分をたくさん書き換えなければ低ランクにできない, ということを意味します. 有限体上の行列M \in \mathbb{F}_q^{n\times n}のランクを\mathrm{rank}(M)と書き, 二つの行列のハミング距離(異なる成分の個数)をd_{\mathrm{ham}}(\cdot,\cdot)で定義します. 

定義3 (matrix rigidity)
行列M\in\mathbb{F}_q^{n\times n}と自然数r\leq nに対し, R_M(r)
\begin{align*} R_M(r) := \min\{|S|\colon \mathrm{rank}(A+S)\leq r\} \end{align*}
で定める. ここで, |S|は行列S\in\mathbb{F}_q^{n\times n}の非ゼロ成分の個数である.

(n-r)\times (n-r)首小行列を考えれば任意の行列Mに対しR_M(r)\leq (n-r)^2が簡単に分かります.


各成分を\mathbb{F}_qから一様ランダムに選んで得られるランダム行列Mに対し高確率でR_M(r)\leq (n-r)^2/\log nであることが示せます. 実際, ランクr以下の行列の個数とハミング距離\leq sのボールのサイズを考える数え上げによる議論で示せます.

Rigid matrixの概念はValiant(1977)によって, 線形変換を計算する算術回路のサイズ下界を得るという文脈で導入されました. 大雑把にいうと, Valiant(1977)はrigidな行列に基づく線形変換は超線形サイズの算術回路を要することを証明しており, ランダム行列は高確率でrigidであることを踏まえると, ランダムな線形変換の算術回路複雑性は超線形であることを意味します. この辺りのサーベイについてはLokam(2009)をご覧ください.

線形変換の回路下界自体も重要なトピックで, 例えば高速フーリエ変換は実用的にも重要な線形変換の一つなのでその計算の下界がわかればアルゴリズムの最適性も議論できることになります.

行列のrigidityに関しては次の重要な予想が重要な未解決問題として知られています.
予想 (Valiant, 1977)
ある体\mathbb{F}_q, 定数\delta,\epsilon>0およびサイズが発散していく陽に構成できる行列の列(M_n)_{n=1,2,\dots}が存在して, 十分大きな任意n\in\mathbb{N}に対してR_{M_n}(\epsilon n) \geq n^{1+\delta}を満たすようにできるか?

現在はR_M(r)=\Omega\left(\frac{n^2}{r}\log\frac{n}{r}\right)という下界が知られています(Friedman(1993), Shokrollahi, Spielman, Stemann (1997)).

近年はrigid matrixを計算量の道具を使って(NPオラクルを使って)構成するという手法が開発されました. Alman and Chen (2019)はNPオラクルを用いてrigid matrixを決定的に構成する手法を与えました. この解析は後にrectanglar PCPというアイデアを用いてsimplifyされました (Bhangale, Harsha, Paradise, Tal (2020)). 以下ではrectanglar PCPについてものすごくざっくり説明します.

非決定性機械に対する時間階層定理より, \mathsf{NTIME}(2^n)\setminus \mathsf{NTIME}(2^n/n)に属する判定問題Lが存在します. さらに\mathsf{NTIME}(2^n)に対してPCP定理から PCP \piとPCP検証者V^{\pi}(\cdot)が得られます. rencangular PCPとはその名の通り, 行列として表現できるPCP \piのことです. ただしPCP検証者はランダムネスを使って行iと列jを選び, \pi[i][j]を見ます. これを定数回繰り返し, 見た証明ビットの内容においじて受理/拒否を決定します. Bhangaleら(2020)はNTIMEで解ける問題に対してある種の性質を満たすrectangular PCPが存在するということを示しています.

PCP定理から, 入力x上で元の問題Lを得くためにはPCP検証者V^{\pi}(x)の受理確率を十分な精度で近似できれば良いです. もしrectanglular PCP \piがrigidでないならば, ある低いランク行列Lにハミング距離の意味で非常に近いはずです. そこで, nondeterministicにLの分解L=R^\top Rをguessします. 実はこの情報を使ってPCP検証者の受理確率を決定的に十分な精度で近似することができます(!!). 実際には受理確率をある行列内に含まれる1の個数で表現し, \piの低ランク分解を用いるとその行列もまた低ランク分解できることを示し, 最後に低ランク行列内に含まれる1の個数は高速に数え上げられるという結果(Chan and Williams, 2016)を使い, 最終的にL\mathsf{NTIME}(2^n/n)で解けることを主張します. ところがこれは時間階層定理に矛盾するので, rectangular PCP \piはrigidであることが結論づけられます.


その他の話題 (クラスPPAD)


確率論的手法以外にも非構成的な存在性の証明手法はあります. 例えばゲーム理論ではナッシュ均衡の存在性はブラウアーの不動点定理でその存在性が保証されるものの実際にそれを構成しているわけではありません. このような問題を扱うため, 計算量理論ではPPADと呼ばれる計算量クラスが考えられています. ナッシュ均衡の計算やブラウアーの不動点定理における不動点の計算はPPAD完全である, というある種の困難性の結果が知られています (Daskalakis, Goldberg, Papadimitriou, 2009).


まとめ

確率論的手法は興味深い離散構造の存在性を証明できる非常に強力なツールである一方, その離散構造をどのように得るかについては明示的な情報を与えてくれません. それではそれをどのように構成するかに関しては組合せ論や計算量理論で広く研究されており, 驚くほど広い(理論的な)応用を持っています.


2023年12月7日木曜日

discrepancy: ハムサンドイッチ定理の離散化 (確率論的手法)

本記事ではdiscrepancyと呼ばれる組合せ論(特に確率論的手法の文脈)でよく知られる概念について紹介します. この概念はハムサンドイッチ定理と呼ばれる定理を離散化したような概念とみなすことができます. discrepancyはその定義自体はとても簡単である一方で奥深い結果が多く知られており, 理論計算機科学においてはビンパッキング問題に対する近似アルゴリズムの設計にも応用されています. 後の章になっていくほどテクニカルになっていきます.

1. ハムサンドイッチ定理

ハムサンドイッチ定理とは, 直感的に説明すると「3次元空間内に配置された三つの物体は、ある平面でうまくスラッシュすることによって全ての物体の体積を半分にできる」ということ主張する定理です. 私は詳しくないのですが, wikipediaによると, より一般にd次元空間にあるd個の「物体」(有限測度を仮定するが必ずしも連結である必要はない)はあるd-1次元超平面によってそれぞれの測度を半分ずつにできる、という主張をハムサンドイッチの定理と呼ぶらしいです.

名前の由来はハムとそれを挟む2枚のパンからなる三つの物体は, 一回のナイフカットによって平等に二分割できるということから来るようです. 特に二次元(d=2)の場合はパンケーキの定理とも呼ばれるようで, 限りなく薄い2枚のパンケーキを等分割するようにカットできるということを意味します (下図)


要するにハムサンドイッチ定理とは二つの物体を組み合わせたものはうまくナイフを入れることで等分できる, ということを主張しています. この定理を数学的に厳密に述べるのは難しいのですが, ここではそれを離散化した設定を考えます.

2. discrepancy

ハイパーグラフH=(V,E)を考える (各e\in Ee\subseteq Vを満たす). 関数\chi\colon V\to\{-1,1\}と集合S\subseteq Vに対して\chi(S)=\sum_{i\in V}\chi(i)とし, \chidiscrepancy
\begin{align*} \mathrm{disc}_{\chi}(H) = \max_{e\in E}|\chi(e)| \end{align*}
で定義します. 直感的には\chiは頂点集合Vを二つに分けるナイフカットを意味しており, そのdiscrepancyは\chiがどれだけ二等分に近いかを表す指標とみなすことができます. この設定下ではdiscrepancyが最小となる\chiが最も公平な分割と思うことができます. すなわち, 以下で定義される最小discrepancyを考えてみましょう:
\mathrm{disc}(H):=\min_{\chi\colon V\to\{-1,1\}}\mathrm{disc}_{\chi}(H).

以後, 関数\chi\colon V\to\{-1,1\}彩色と呼びます.

例えばG=(V,E)が通常の意味でのグラフだとすると, \mathrm{disc}(G)=0であることとGが二部グラフが同値になります.

図: グラフG=(V,E)が二部グラフならば, それぞれの部集合を\chi^{-1}(1),\chi^{-1}(-1)とすれば, discrepancyを0にできる.

3. 行列を用いたdiscrepancyの表現

ハイパーグラフH=(V,E)の接続行列A_H\in\{0,1\}^{E\times V}を,
A_H(e,v) = \begin{cases} 1 & \text{ if }v\in e,\\ 0 & \text{otherwise} \end{cases}
で定義します. 関数\chi\colon V\to\{-1,1\}をベクトル\chi\in\{-1,1\}^Vと同一視すると, 行列A\chi \in \mathbb{Z}^{E}は, その第e成分が\sum_{v\in V}\chi(v)になるので,
\mathrm{disc}(H) = \min_{\chi\in\{-1,1\}^V}\left\| A_H\chi \right\|_{\infty}
と表せます. ここで\|\cdot\|_{\infty}\ell^{\infty}-ノルムで, 各成分の最大絶対値を表します. いくつかの論文ではこの形でdiscrepancyを議論していくこともあります. 

より一般にA\in\{0,1\}^{m\times n}に対して\mathrm{disc}(A)
\mathrm{disc}(A) = \min_{\chi\in\{-1,1\}^V}\left\| A\chi \right\|_{\infty}
と定義することができ, さらにこの定義は一般の実行列A\in\mathbb{R}^{m\times n}に対して考えるもできます. これを行列Aのdiscrepancyと呼びます.

蛇足になりますが, 関連する概念としてlinear discrepancyと呼ばれるものが知られています. この値はm\times n実行列Aに対して定義でき,
\mathrm{lindisc}(H) = \max_{w\in[-1,1]^n}\min_{x\in \{-1,1\}^n} \left\| A(x-w) \right\|_{\infty}
で定義されます. この概念は元々は連続変数w\in[-1,1]^nを持つ線形計画問題を整数変数x\in\{1,1\}^nに丸めた際のギャップを考えるという文脈で定義されています.

4. discrepancyの計算量

考えるハイパーグラフH=(V,E)の頂点数をn, ハイパー辺の個数をmで表します.

[Charikar, Newman, Nikolov, SODA11]によって, m=O(n)を満たすとき, 以下の二つの入力を区別することがNP困難であることが示されています:

  • \mathrm{disc}(H)=0
  • \mathrm{disc}(H)=\Omega(\sqrt{n})
例えばm=nを満たす任意のハイパーグラフHに対して\mathrm{disc}(H)\leq 6\sqrt{n}であることが知られている (後述するがこの結果はSpencer's six standard deviations theoremと呼ばれる重要な結果) ので, 上記の困難性は定数倍を除いてタイトです.

5. ランダム彩色による上界


彩色\chi\colon V \to \{-1,1\}を一様ランダムにとってきたときのdiscrepancyを考えてみましょう. すなわち, 各v\in Vに対して\chi(v)\pm 1から一様ランダムに選びます. このとき, Hoeffding boundとunion boundを組み合わせることによって簡単に以下を示すことができます.

命題1 (ランダム彩色のdiscrepancy)
ハイパーグラフH=(V,E)に対し, n=|V|,m=|E|とする. 一様ランダムに選ばれた彩色\chi\colon V \to \{-1,1\}を考えると, 以下が成り立つ:
\begin{align*} \Pr\left[\mathrm{disc}_\chi(H) \leq \sqrt{2n\log(3m)} \right] \geq \frac{1}{3}. \end{align*}
特に, \mathrm{disc}(H)\leq \sqrt{2n\log(3m)}である.

命題1の証明のために以下のHoeffding boundを用います:

補題1 (Hoeffding bound)
X_1,\dots,X_\ell\pm 1に値をとる独立一様ランダムな確率変数とし, X=\sum_{i\in[\ell]} X_iとする. このとき, 任意のt\geq 0に対して
\begin{align*} \Pr\left[ |X| \geq t \right] \leq 2\exp\left(-\frac{t^2}{2\ell}\right). \end{align*}

[命題1の証明].
固定した辺e\in Eに対して, 補題1より
\begin{align*} \Pr\left[\chi(e) > \sqrt{2n\log(3m)} \right] \leq \Pr\left[\chi(e) > \sqrt{2|e|\log(3m)}\right] \leq \frac{2}{3m}. \end{align*}
従って, e\in Eに関するunion boundにより
\begin{align*} \Pr\left[\mathrm{disc}_{\chi}(H) > \sqrt{2n\log(3m)}\right] \leq \Pr\left[\exists e\in E,\,\chi(e)>\sqrt{2n\log(3m)}\right] \leq \frac{2}{3}. \end{align*}
すなわち, ランダムに選ばれた\chiのdiscrepancyは確率1/3\mathrm{disc}_\chi(H)\leq \sqrt{2n\log(3m)}を満たす. (証明終)

証明から分かるように, \log(3m)の定数3は任意の定数c>1に対し\log(cm)に置き換えることが可能です.

6. Spencer's six standard deviation theorem


m=O(n)のとき, 5章では確率論的手法を使って\mathrm{disc}(H)=O(\sqrt{n\log n})が得られますが, 実はさらに改善して\mathrm{disc}(H)=O(\sqrt{n})を示すことができます[Spencer, 1985].

定理1 [Spencer's six standard deviation theorem]
|V|=|E|を満たす任意のハイパーグラフH=(V,E)\mathrm{disc}(H)\leq 6\sqrt{|V|}を満たす.

この結果は, その係数からSpencer's six standard deviation theoremと呼ばれます. 実はこの証明は\chiの存在性を鳩の巣原理から導出しており構成的ではないのですが, 後に構成論的な証明が与えられ[Bansal, 2010], 現在ではより簡単な証明も知られています[Lovett, Meka, 2015]. ここではhidden constantについてはoptimizeせず, 単に存在性(\mathrm{disc}(H)=O(\sqrt{n}))を証明します.

証明では部分彩色 (partial coloring) という概念が鍵になります. 部分彩色とは関数\chi\colon V\to\{-1,0,1\}です. 部分彩色に対しても\chi(e) = \sum_{v\in e} \chi(v)とし, \chiのdiscrepancyを
\mathrm{disc}_{\chi}(H) = \max_{e\in E}\left| \chi(e) \right|
で定義することができます.

明らかに, 全ての頂点に0を割り当てる部分彩色を考えるとdiscrepancyが0となり最小値をとります. 従って, 部分彩色\chiであって
  • 多くの頂点(少なくとも0.01|V|個以上の頂点) に\pm 1の値を割り当てる, かつ
  • \mathrm{disc}_{\chi}(H)が小さい
ような部分彩色が望ましい部分彩色であるといえます. 以下の補題はそのような部分彩色の存在性を保証します.

補題2 (部分彩色補題)
ある定数C_0が存在して, m\leq \frac{n}{10}を満たす任意のハイパーグラフH=(V,E)に対し, 以下の二つを同時に満たすある部分彩色\chi\colon V\to \{-1,0,1\}が存在する:
  • \chi(v)\in \{-1,1\}を満たす頂点vが少なくとも\frac{n}{10}個ある.
  • \mathrm{disc}_\chi(H)\leq C_0\sqrt{n}
補題2の証明が最もテクニカルなパートになるので次の章で紹介するとして, ここでは補題2\Rightarrow定理1を示します.

まずは証明のアウトラインを述べます. 元々はm=nという仮定でしたが, ダミー頂点を追加すれば相対的に|E|\leq \frac{|V|}{10}になるようにできるので, 与えられたハイパーグラフはm=\frac{n}{10}を満たすと仮定して良いです (ダミー頂点追加後の彩色に対するdiscrepancyはO(\sqrt{O(n)})=O(\sqrt{n})になるのでdiscrepancyのバウンドも大丈夫). これに対して補題2を適用して得られる部分彩色に対し, 0が割り当てられた頂点部分集合からなる誘導部分ハイパーグラフに対して再帰に彩色を得て先ほどの部分彩色とマージするという方針になります. 一回の反復で塗られていない頂点の個数は0.9倍になるので, 全体のdiscrepancyは高々\sum_{t=0}^\infty C_0 \sqrt{0.9^t n}=O(\sqrt{n})になるという議論です.

[補題2\Rightarrow定理1]
以下の手順に従ってハイパーグラフの列(H_t)_{t=0,1,\dots}と各H_t上の部分彩色\chi_tを定義します:
  1. H_0 = (V_0,E_0) = Hとする.
  2. For t=1,2,\dots, do:
    1. 部分彩色\chi_tを, H_{t-1}に対する補題2で存在性が保証される部分彩色とする.
    2. V_t=\{v\in V_{t-1}\colon \chi_t(v)= 0\}, E_t = \{e\cap V_t\colon e\in E_{t-1}とし, H_t=(V_t,E_t)で定める.
    3. E_t=\emptysetになったら終了する.
補題2の条件より, |V_t| \leq 0.9|V_{t-1}| なので, 十分大きなT=O(\log n)に対してE_T=\emptysetとなるため, 上の手順は有限ステップで終了します. このとき, \chi_1,\dots,\chi_Tに対して彩色\chiを, \chi(v) = \chi_i(v)で定めます. ここでi\in[T]\chi_i(v)\neq 0を満たす唯一のiとします. 

上で定義した\chiのdiscrepancyを評価します. 各辺e\in Eに対して
\begin{align*} |\chi(e)| \leq \left|\sum_{v\in e}\chi(v)\right| \leq \sum_{t=1}^T \left| \sum_{e\in E_{t-1}\setminus E_t } \chi(e) \right| \leq \sum_{t=1}^T C_0\sqrt{0.9^t n} = O(\sqrt{n}) \end{align*}
を得ます.

7. 部分彩色補題の証明(スケッチ)


6章で紹介した補題2(部分彩色補題)を証明します. この証明はその鳩の巣原理からその存在性が保証されるため構成的ではありません. 部分彩色補題 (ひいては定理1) を満たす彩色\chiの構成については長年未解決だったのですが, Bansal (2010) によるブレイクスルーにより解決され, 現在ではLovett and Meka (2015) による(ランダムネスを用いる)簡単な構成法も知られています. 厳密な証明をしようとすると瑣末な部分のケアで煩雑になってしまい大変なので, できる限り本質を捉えつつ厳密性を捨てて, 分かった気になれる証明のスケッチを紹介します.


定義1 (エントロピー)
離散集合上に値をとる確率変数Xに対し, そのエントロピー\mathrm{H}(X)
\begin{align*} \mathrm{H}(X) = \mathbb{E}_{x\sim X}\left[\log\frac{1}{\Pr[X=x]}\right] = \sum_{x\in \mathsf{supp}(X)} \Pr[X=x]\log\frac{1}{\Pr[X=x]} \end{align*}
で定義します. ここで対数の底はlogとし, \mathsf{supp}(X)Xの台(support)と呼ばれる集合で, \mathsf{supp}(X)=\{x\colon \Pr[X=x]>0\}で定義されます.

なお, 連続値をとり密度関数が存在するような確率変数に対しても\Pr[X=x]を密度関数f(x)に置き換えて微分エントロピーという値が定義されます. すなわち, 密度関数fを持つ実数値をとる確率変数Xの微分エントロピー\mathrm{H}(X)
\begin{align*} \mathrm{H}(X)=\int_\mathcal{\mathsf{supp}(X)} f(x) \log\frac{1}{f(x)}\mathrm{d}x \end{align*}
で定義されます. エントロピーに関しては上記の定義と以下の性質のみを使います.

補題3 (エントロピーの劣加法性).
ランダムなベクトルX=(X_1,\dots,X_n)に対し, そのエントロピー\mathrm{H}(X)
\mathrm{H}(X) \leq \sum_{i\in[n]}\mathrm{H}(X_i)を満たす.

さて, 部分彩色補題の証明に戻ります. ランダムな彩色\chi\colon V \to \{-1,1\}を考え, パラメータw>0と頂点部分集合Sに対し, 確率変数
Z_S = \left\lfloor \frac{\chi(S)}{w\sqrt{|S|}}\right\rfloor
のエントロピー
\mathrm{H}(Z_S)を考えます. 実際にはもう少し複雑な式を使って評価するのですが, ここでは以下の主張を認めて証明を進めていきます.

主張1.
パラメータwを適切にとり, 部分集合Sの要素数が十分大きいとき, \mathrm{H}(Z_S)\leq 0.9とできる.

なお, この主張は本当に成り立つかは分かりません(えっ...). 実際の証明ではもう少し複雑な式を使ってエントロピーを評価します. ここではその証明のアイデアを簡潔に説明するためにあえて「成り立つか分からない主張」を仮定します. ただ, この主張には一応の理由づけはできるので, 以下ではその妥当性を説明します (実際の研究の場面ではこのようなことは私はよくやります).

[主張1の妥当性の説明]

  • 定義よりエントロピーはスケーリングで不変なので, \mathrm{H}(Z_S)=\mathrm{H}(w\cdot Z_S) \approx \mathrm{H}(\chi(S)/\sqrt{|S|}) (本当は切り下げの有無でのエントロピーの誤差の評価が必要).
  • \chi(S)は平均0, 分散1の独立な確率変数(\chi(v))_{v\in S}の和なので, |S|が十分大きければ中心極限定理より\chi(S)/\sqrt{|S|}は漸近的に標準正規分布\mathcal{N}(0,1)で近似できる.
  • 従って, \mathrm{H}(\chi(S)/\sqrt{|S|}) \approx \mathrm{H}(\mathcal{N}(0,1)) = (1+\log(2\pi))/2 \approx 1.419. なお, 正規分布の微分エントロピーについての事実を使っている(例えばこの記事参照).  本当はBerry--Esseenの不等式などを使ってエントロピーの誤差評価が必要.
  • これらをまとめると, \mathrm{H}(Z_S)\approx 1.419なので, パラメータwを適切にとり, 集合サイズ|S|が十分大きいならば, 近似精度を0.001未満にできて\mathrm{H}(Z_S)\leq 1.42にできる.
ハイパーグラフHに対し, ランダムベクトルZ=Z(\chi)=(Z_e)_{e\in E}を考えます. ここで, 全ての辺eの要素数は十分大きいと仮定します (そうでない場合はサイズが小さいのでdiscrepancyに寄与しないため無視できる). するとエントロピーの劣加法性(補題3)と主張1より
\begin{align*} \mathrm{H}(Z) \leq \sum_{e\in E}\mathrm{H}(Z_e) \leq 1.42m \leq 0.2n \end{align*}
を得ます. エントロピーの定義より, averaging argumentにより, あるベクトルz^*\in\mathbb{Z}^Eが存在して
\begin{align*} \log\frac{1}{\Pr[Z=z^*]} \leq 0.2n \end{align*}
となります. これを整理すると\Pr[Z=z^*] \geq \mathrm{e}^{0.2n} > 2^{0.2n}を得ます. ここでの確率は一様ランダムな彩色を考えていたので, 少なくとも2^{0.8n}個の\chi\in \{-1,1\}^Vが存在してZ(\chi)=z^*を満たすことになります. そのような\chiの集合をB\subseteq\{-1,1\}^Vとします. ここで, |B|\geq 2^{0.8n}より, ある二つのベクトル\chi_1,\chi_2\in Bが存在して, \|\chi_1-\chi_2\|_1 \geq 0.1nとなります (後述). そのような\chi_1,\chi_2に対して\chi = \frac{1}{2}(\chi_1 - \chi_2)と定義します. するとこの\chiは部分彩色補題の要件を満たしています:
  • \chi_1,\chi_2の選び方より, \chi(v)=0\iff \chi_1(v)=\chi_2(v)となるv\in Vは高々0.9n個あります.
  • \chi_1,\chi_2\in Bより, Z(\chi_1)=Z(\chi_2)です. すなわち, 任意のe\in Eに対して
    \left\lfloor\frac{\chi_1(e)}{w\sqrt{|e|}} \right\rfloor = \left\lfloor \frac{\chi_2(e)}{w\sqrt{|e|}} \right\rfloor
    が成り立つので, |\chi(e)| = |\chi_1(e) - \chi_2(e)| \leq w\sqrt{|e|} \leq w\sqrt{n}です. これは\mathrm{disc}_\chi(H)\leq w\sqrt{n}を意味します.
以上より, 部分彩色補題(補題3)の証明が完了し, 同時に定理1の証明も完了しました. (証明終)


以上の証明では次の事実を用いています:

主張2.
集合B\subseteq \{-1,1\}^n|B|\geq 2^{0.8n}を満たすならば, ある二つのベクトルx,y\in Bが存在して\|x - y \|_1\geq 0.1nとなる.

証明(概要). 一般に, 任意のベクトルx\in \{-1,1\}^nに対しxからハミング距離\alpha n以内にある点の個数は高々\sum_{i=0}^{\alpha n} \binom{n}{i} \leq 2^{\mathrm{H}(\alpha)n}を満たします (ここで\mathrm{H}(\alpha):=\alpha\log_2\frac{1}{\alpha} + (1-\alpha)\log_2\frac{1}{1-\alpha}はbinary entropy function). \alpha=0.1を代入すると, この個数は2^{\mathrm{H}(0.1)n}< 2^{0.469n}<|B|なので, 主張を満たす2点をとることができます. (証明終)

Further Reading

  • 驚くべきことにスタンフォード大学では過去にdiscrepancyについての講義(おそらく集中講義?)があり, いくつかの講義ノートが公開されています.
  • The Probabilistic Method (Alon and Spencer)の12章ではランダムな\chiの解析とsix-deviation theoremとBeck-Fiala theoremとHadamard行列に基づく下界の紹介がされています.
  • ビンパッキング問題の近似アルゴリズムに対する応用については "A Logarithmic Additive Integrality Gap for Bin Packing" (Hoberg and Rothvoss, SODA2017) 参照. なお, 箇条書き一つ目のリンクにあるLecture 10のノートには少し弱い近似精度を持つビンパッキングの近似アルゴリズムについての解説があります.

2023年12月1日金曜日

hardcore補題を使ったXOR補題の証明

 平均時計算量においてはXOR補題と呼ばれる定理がよく知られています. この分野では脱乱択化や暗号プリミティブの構成への応用を念頭に, 非常に難しい関数をどのように構成するかが研究されています.

関数f\colon\{0,1\}^n\to\{0,1\}に対する回路Cの成功確率p_{C,f}
\begin{align*} p_{C,f}:= \Pr_{x\sim\{0,1\}^n}[C(x)=f(x)] \end{align*}
と定めます. ここで, 有限集合Sに対してx\sim SxS上一様分布に選ばれたことを意味します. 任意のサイズsの回路C\colon\{0,1\}^n\to\{0,1\}に対してその成功確率が高々1-\deltaであるとき, 関数fはサイズsに対して\delta-困難であるといいます. 定数回路(常に0を出力, または常に1を出力する回路)を使えば成功確率\geq1/2を達成するので, 基本的に\delta\leq1/2の範囲で考えます. 特に, 小さい\epsilon>0に対して(1/2-\epsilon)-困難な関数は正解できる入力の個数が下界に近いので非常に困難な関数であるとみなすことができます. XOR補題とは, XORをとることによって関数の困難性を増幅できることを主張する定理です.

定理1 (XOR補題)
関数f, パラメータk\in\mathbb{N}に対して関数f^{\oplus k}\colon \{0,1\}^{nk}\to\{0,1\}
\begin{align*} f^{\oplus k}(x_1,\dots,x_k)=f(x_1)\oplus \dots \oplus f(x_k) \end{align*}
で定める. fがサイズ$
O\left(\frac{\log(1/\delta)}{(\epsilon/k)^2}(s+kn)\right)に対して\delta-困難かつk\geq \frac{C\log(1/\epsilon)}{\delta^2}ならば, f^{\oplus k}はサイズsに対して(1/2-\epsilon)-困難である. ここでC$は十分大きな定数である.

一般に, 「関数fがサイズsに対して\delta-困難ならば関数gはサイズs'に対して(1/2-\epsilon)-困難である」という形の定理を困難性の増幅(hardness amplification)といい, XOR補題はその最も基本的な定理の一つです. 原則としてs'\approx sであることが望まれます.

本記事ではこの定理を証明します. そのためにhardcore lemmaを使います. 回路Cの問題fに対する入力集合H\subseteq\{0,1\}^n上での成功確率をp_{C,f,H}:=\Pr_{x\sim H}[C(x)=f(x)]と定義します. ここでは[Impagliazzo (1995)]のパラメータを改善した[Barak, Hardt, Kale (2009)]による以下のhardcore lemmaを用いることにします:

補題1. (hardcore lemma)
サイズsに対して\delta-困難な関数を任意にとってきてfとすると, ある|H|\geq\delta 2^nを満たす集合H\subseteq \{0,1\}^nであって, 任意のサイズO\left(\frac{\epsilon^2}{\log(1/\delta)}s\right)の回路Cに対してp_{C,f,H}\leq 1/2-\epsilonを満たすものが存在する.

補題1によって存在性が保証されている集合Hfハードコア集合と呼びます. hardcore lemmaの対偶をとると以下の主張を得ます:

補題1'. (hardcore lemma)
任意の|H|\geq \delta 2^nを満たす集合H\subseteq \{0,1\}^nに対してあるサイズsの回路C_Hが存在して\Pr_{x\sim H}[C_H(x) = f(x)]\geq 1/2+\epsilonを満たすならば, あるサイズO\left(\frac{\log(1/\delta)}{\epsilon^2} \cdot s\right)の回路C'が存在して, \Pr_{x\sim\{0,1\}^n}[C'(x)=f(x)]\geq 1-\delta.

関数f\colon \{0,1\}^n\to\{0,1\}\delta-困難であるならば, 一様ランダムなx\sim \{0,1\}^nに対して確率変数f(s)は1ビットのベルヌーイ試行\mathrm{Ber}(\delta)と区別がつかないということを意味します. ここでベルヌーイ試行\mathrm{Ber}(\theta)とは確率\theta1, 確率1-\theta0を出力する確率変数です. 従って, ハードコア補題は, 直感的には,

f\delta-困難ならば, サイズ|H|\geq \deltaを満たすある入力集合H\subseteq \{0,1\}^nが存在して, 一様ランダムなx\sim Hに対してf(x)は1ビットの一様分布\mathrm{Ber}(1/2)と(計算論的に)区別がつかない

ということを主張しています. では, 定理1を証明しましょう. まずはアウトラインを述べます. 独立にx_1,\dots,x_k\sim\{0,1\}^nをランダムにとってf^{\oplus k}(x_1,\dots,x_k)を考えてみましょう. まず, x_1,\dots,x_kのうち少なくとも一つがHに入っている確率は下から1-(1-\delta)^k\approx 1-\mathrm{e}^{-\delta k}\approx 1-\epsilonで抑えられます. 非常に高確率で発生するこの事象で条件つけ, 例えばx_i\in Hであるとします. このとき, x_iの分布はH上で一様ランダムです. したがってf(x_i)\mathrm{Ber}(1/2)と区別がつきません. ここで確率変数f(x_1),\dots,f(x_k)x_1,\dots,x_kが独立なのでこれらもまた独立であり, f(x_i)\mathrm{Ber}(1/2)と区別できないので, XORをとったf^{\oplus k}(x_1,\dots,x_k)もまた\mathrm{Ber}(1/2)と区別できないです (一様ランダムなビットと他のビットのXORをとったらそれもまた一様ランダムなビットになる). すなわち, f^{\oplus k}(x_1,\dots,x_k)\mathrm{Ber}(1/2)と区別できず, これはf^{\oplus k}(x_1,\dots,x_k)(1/2-\epsilon)-困難であることを意味します (事象の発生確率が1-\epsilonなので\epsilon程度のロスが発生している).

以上の流れを対偶を使って証明します. 以下, 二つの確率変数X,Yに対し, X\not\approx_c YXYをcomputationalに識別できる (i.e., ある小さい回路Cが存在して|\Pr[C(X)=1]-\Pr[C(Y)=1]|がnon-negligibleに大きい) ことを表すとします. また, X\approx_s Yによって, XYはstatisticalの意味で近い (つまりtotal variation distanceが小さい)ことを表すとします. 最後に, U_kによって一様ランダムなkビットの文字列を表すとします. 例えば(U_{nk},f^{\oplus k}(U_{nk}))と書いた場合は, x\sim U_{nk}を一様ランダムにサンプリングしてx=(x_1,\dots,x_k)k分割して(x,f^{\oplus k}(x_1,\dots,x_k))の分布のことを表すものとします (なので分布のランダムネスはxの選び方のみです).
  1. f^{\oplus k}(x_1,\dots,x_k)を成功確率(1/2+\epsilon)で計算するサイズsの回路が存在するので, (U_{nk},f^{\oplus k}(U_{nk}))\not\approx_c (U_{nk},U_1).
  2. ランダム関数f_H(x)を, x\in Hならばf_H(x)=U_1, x\not\in Hならばf_H(x)=f(x)と定義する. 情報論的なバウンドによって, (U_{nk},f_H^{\oplus k}(U_{nk}))\approx_s (U_{nk},U_1).
  3. 1と2の議論によって, (U_{nk},f_H^{\oplus k}(U_{nk}))\approx_s U_{nk+1}\not \approx_c (U_{nk},f^{\oplus k}(U_{nk}))が得られる. 特に, (U_{nk},f_H^{\oplus k}(U_{nk}))\not\approx_c (U_{nk},f^{\oplus k}(U_{nk})).
  4. (U_{nk},f^k(U_{nk})) \not\approx_c (U_{nk},f^k_H(U_{nk}))を得る (k-wise XORを識別できるので). ここで, f^k(x_1,\dots,x_k)=(f(x_1),\dots,f(x_k))と定義していて, (U_{nk},f^k(U_{nk}))とは(x_1,\dots,x_k)\sim U_{nk}に対して(x_1,\dots,x_k,f(x_1),\dots,f(x_k))によって与えられるものです.
  5. ハイブリッド議論(hybrid argument)によって(x,f(x))\not\approx_c (x,f_H(x))となる (ただし分布のランダムネスはx\sim U_n).
  6. Hが密(i.e., |H|\geq \delta 2^n)であることを使うと, H上一様ランダムなx\sim Hに対して(x,f(x))\not\approx_c (x,f_H(x))=(x,U_1)が示せる.
  7. Yao's next-bit predictorより, x\sim Hに対してf(x)を成功確率1/2+\epsilonで計算できる.
  8. ハードコア補題より\{0,1\}^n上でfを成功確率1-\deltaで計算できる. これは元のfの条件に矛盾する.

それでは, 定理1の証明をします. 以下の議論では上記のステップ1〜8を補足しつつフォーマルに確認していくだけなので, 上記のアイデアで満足な人は読まなくても構いません.

関数fをサイズsに対して\delta-困難な関数とし, H\subseteq\{0,1\}^nをハードコア集合とします. 回路Dのサイズを\mathrm{size}(D)と表すことにします.

ステップ1. f^{\oplus k}(U_{nk})を成功確率1/2+\epsilonで計算する回路をCとします. 与えられた(x,b)\in \{0,1\}^{nk+1}に対してC(x)\oplus b \oplus 1を出力する回路をC_1とすると,
\begin{align*} &\Pr_{x\sim U_{nk}}[C_1(x,f^{\oplus k}(x))=1] = \Pr_x[C(x)=f^{\oplus k}(x)] \geq \frac{1}{2}+\epsilon \\ &\Pr_{x\sim U_{nk},b\sim U_1}[C_1(x,b)=1] = \frac{1}{2} \end{align*}
より, 二つの分布(U_{nk},f^{\oplus k}(U_{nk}))(U_{nk},U_1)\epsilonのアドバンテージで識別できます. C_1のサイズは, \mathrm{size}(C_1) = \mathrm{size}(C)+O(1)を満たします.

ステップ2. 関数f_H\colon\{0,1\}^n\to\{0,1\}
\begin{align*}f_H(x) = \begin{cases}U_1 & \text{ if }x\in H,\\f(x) & \text{otherwise}\end{cases}\end{align*}
とします. ここでU_1は各x\in Hごとにランダムに生成されるランダムビットです. 厳密には\mathcal{F}_Hを, 任意のx\not\in Hに対してg(x)=f(x)を満たす関数gの集合, すなわち
\begin{align*} \mathcal{F}_H = \{g\colon \forall x\not\in H, g(x)=f(x)\} \end{align*}
と定義したときにf_H\mathcal{F}_Hから一様ランダムに選ばれたランダム関数として定義されます. 独立にk個の入力x_1,\dots,x_k\sim U_nk個のランダム関数f_Hをサンプリングして, f_H(x_i)のXORをとったときの値f_H^{\oplus k}(x_1,\dots,x_k)の分布を考えましょう (ランダムネスはx_if_Hの選び方についてとる). どれか一つのiでもf_H(x_i)=U_1であったならば, そのXORの値もまたU_1となります. 従って, 統計距離は\prod_{i=1}^k \Pr[x_i\not\in H] \leq (1-\delta)^kとなり (ここで|H|\geq\delta\cdot 2^nを使っている), 適当なk=O(\log(1/\epsilon)/\delta)に対して統計距離は高々0.1\epsilonとなります.

ステップ3. 統計距離の性質から, ステップ1で構成された回路C_1は二つの分布(U_{nk},f^{\oplus k}(U_{nk}))(U_{nk},U_1)をアドバンテージ0.9\epsilonで識別します.

ステップ4. 二つの分布(U_{nk}, f^k(U_{nk}))(U_{nk},f_H^k(U_{nk}))を識別する回路C_2を以下のように構成します: 入力(x_1,\dots,x_k,b_1,\dots,b_k)に対し, C_1(x_1,\dots,x_k,b_1\oplus\dots\oplus b_k)を出力する. この回路C_2は, C_1の識別性により確かに二つの分布(U_{nk}, f^k(U_{nk}))(U_{nk},f_H^k(U_{nk}))をアドバンテージ0.9\epsilonで識別します. 回路C_2のサイズは高々\mathrm{size}(C_1)+O(k)です.

ステップ5. ステップ4で構成された回路C_2は二つの分布
\begin{align*} &D_0 := (x_1,\dots,x_k,f(x_1),\dots,f(x_k)),\\ &D_k := (x_1,\dots,x_k,f_H(x_1),\dots,f_H(x_k)) \end{align*}
をアドバンテージ0.9\epsilonで識別します. これら二つの分布を滑らかに補間するような分布列D_1,\dots,D_{k-1}
\begin{align*} D_i := (x_1,\dots,x_k,f(x_1),\dots,f(x_{i-1}),f_H(x_i),\dots,f_H(x_k)) \end{align*}
とします(これをハイブリッド分布とよぶ). i=0,kの場合でもそれぞれD_0,D_kになっていることが分かります. p_i = \Pr[C_2(D_i)=1]とすると, p_0 - p_k = \sum_{i\in[k]}(p_{i-1} - p_{i}) \geq 0.9\epsilonなので, あるi\in[k]が存在してp_{i-1} - p_i \geq 0.9\epsilon/kを満たします. 
さらに, あるz_1,\dots,z_{i-1},z_{i+1},\dots,z_k \in \{0,1\}^{n}およびc_1,\dots,c_{i-1},c_{i+1},\dots,c_k\in \{0,1\}が存在して,
\begin{align*} \Pr_{x\sim U_n}[C_2(\mathbf{v}(i,x,f(x))=1] - \Pr_{x\sim U_n}[C_2(\mathbf{v}(i,x,f_H(x))]\geq \frac{0.9\epsilon}{k} \end{align*}
が成り立ちます. ここで, \mathbf{v}(i,x,b)
\begin{align*} \mathbf{v}(i,x,b) = (z_1,\dots,z_{i-1},x,z_{i+1},\dots,z_k,c_1,\dots,c_{i-1},b,c_{i+1},\dots,c_k) \end{align*}
で定義される文字列である (インデックスiと各z_jc_jは入力xに依存しない値なので, これらの情報を回路にあらかじめ組み込むことによって, 与えられたx,bに対し\mathbf{v}(i,x,b)はサイズO(kn)の回路で計算できる). 従って, 関数(x,b)\mapsto C'(\mathbf{v}(i,x,b))はサイズs+O(nk)程度で計算でき, さらに上記の式より二つの分布(x,f(x))(x,f_H(x))をアドバンテージ0.9\epsilon/kで識別する. この回路をC_3とします.

ステップ6. 全てのx\not\in Hに対して定義よりf(x) = f_H(x)となるので, (U_n,f(U_n))(U_n,f_H(U_n))が区別できるということは, ステップ5の回路C_3を使ってx\sim Hに対して(x,f(x))(x,f_H(x))が区別できるということになります. 実際,
\begin{align*} \frac{0.9\epsilon}{k} &\leq \Pr[C_3(U_n,f(U_n))=1] - \Pr[C_3(U_n,f_H(U_n))=1] \\ &= 2^{-n}\sum_{x\in\{0,1\}^n} (C_3(x,f(x)) - \mathbb{E}_{f_H}[C_3(x,f_H(x))]) \\ &= 2^{-n}\sum_{x\in H}(C_3(x,f(x)) - \mathbb{E}[C_3(x,U_1)]) & & \text{since $f_H(x)=U_1$ for $x\in H$} \\ &\leq \frac{1}{|H|}\sum_{x\in H}(C_3(x,f(x)) - \mathbb{E}[C_3(x,U_1)]) & & \text{since $f_H(x)=U_1$ for $x\in H$} \\ &= \Pr_{x\sim H}[C_3(x,f(x))=1] - \Pr_{x\sim H,U_1}[C_3(x,U_1)=1] \end{align*}
なのでC_3は, x\sim Hに対して(x,f(x))(x,U_1)を識別します.

ステップ7. 以前の記事で紹介した計算量的な識別不可能性の概念を思い起こします. この概念は関数の困難性と等価であることがYao's next-bit predictorからわかります.

定義1.
\{0,1\}^n上の二つの確率変数X,Yは, あるサイズsの回路Cが存在して
\begin{align*} \Pr[C(X)=1]-\Pr[C(Y)=1]\geq \epsilon \end{align*}
を満たすとき, サイズs\epsilon-識別可能であるといい, Cを識別回路という. 逆に, そのような回路Cが存在しない場合はサイズs\epsilon-識別不可能であるという.

補題2 (Yao's next-bit predictor; 以前の記事の定理の対偶の言い換え).
関数f\colon \{0,1\}^n\to\{0,1\}に対し, 二つの分布(U_n,f(U_n))(U_n,U_1)がサイズs\epsilon-識別可能であるならば, サイズs+O(1)のある回路Cが存在して
\begin{align*} \Pr_{x\sim U_n}[C(x) = f(x)] \geq \frac{1}{2} + \epsilon. \end{align*}

上記の補題において, U_nH上の一様分布に置き換えることによって以下の補題を得ます.

補題3.
関数f\colon \{0,1\}^n\to\{0,1\}と任意の集合H\subseteq\{0,1\}^nを考える. x\sim Hに対して二つの分布(x,f(x))(x,U_1)がサイズs\epsilon-識別可能であるならば, サイズs+O(1)のある回路Cが存在して
\begin{align*} \Pr_{x\sim H}[C(x) = f(x)] \geq \frac{1}{2} + \epsilon. \end{align*}

補題3の証明は省略しますが, \ell = \lceil \log_2 |H|\rceilに対して, H上の一様分布をU_\ellとみなすことができることから分かると思います.

ステップ6までの議論より補題3の仮定を満たす回路が存在するので, あるサイズ\mathrm{size}(C_3)+O(1) = s+O(nk)の回路C_4が存在して
\begin{align*} \Pr_{x\sim H}[C_4(x) = f(x)] \geq \frac{1}{2} + \frac{0.9\epsilon}{k} \end{align*}
が成り立ちます.

ステップ8. ハードコア補題(補題1)の対偶を適用する. 任意の|H|\geq \delta 2^nを満たすHに対してある回路C_4が存在してp_{C_4,f,H}\geq \frac{1}{2} + \frac{0.9\epsilon}{k}となるので, 補題1'より, fを成功確率1-\deltaで計算する回路C_5であって, サイズ
\mathrm{size}(C_5) = O\left(\frac{\log(1/\delta)}{(\epsilon/k)^2}(s+kn)\right)
となるものが存在する. これは定理1のfの困難性の仮定に矛盾します.

緩和の順番を工夫してBellman-Ford法は改善できる

久々にブログのタイトル通りにアルゴリズム(Bellman-Ford法)に関する記事を書きます. それなりに丁寧に書いたつもりなので, Bellman-Ford法を知らない人でも楽しめると思います. プログラムの実行時間はアルゴリズムに加えて実装や実行環境に依存するため, アルゴリズムの計算量では原則として定数倍を無視して議論するわけですが, この記事で紹介する手法はそのような実行環境に依存せず, 本質的に演算回数を定数倍減らしているので競プロ的な(ナイーブな手法を改善していくという)面白さがあると思います.

概要. Bellman-Ford法はO(mn)時間で単一始点最短経路問題を解きます. このアルゴリズムは「各辺に対して緩和と呼ばれる操作を行う」ことをn-1回繰り返すというアルゴリズムです. 実は緩和を行う辺の順番を工夫することによって反復回数をn-1からn/2に改善することが可能です [Yen, 1970]. 本稿ではこの単純かつ素晴らしいアイデアを紹介します.

1. Bellman-Ford法とその正当性の証明

フォーマルに書くとBellman-Ford法は以下で定まるアルゴリズムです. まず距離を格納するリスト\mathrm{dist}[u]を,

\begin{align*} \mathrm{dist}[u] = \begin{cases} 0 & \text{if $s=u$},\\ \infty & \text{otherwise}. \end{cases} \end{align*}
で初期化し, その後, 「各辺e\in Eに対して \mathrm{relax}(e) を行う」をn-1回繰り返します. ここで\mathrm{relax}(e)とは, 有向辺e=(u,v)に対し, その重みをw_eとすると,
\mathrm{dist}[v] \leftarrow \min\{\mathrm{dist}[v], \mathrm{dist}[u]+w_e\}
で更新する操作である.

Bellman-Ford法では見る辺の順番に関しては特に言及されておらず, どのような順番で辺を見たとしても高々n-1回の反復で(負閉路がない場合の)単一始点最短経路が正しく解けることが保証されます. その正当性として以下の「よくある」証明が知られています.

「よくある」Bellman-Ford法の証明.

i=0,\dots,n-1に対して, i回目の反復が終了した時点での配列\mathrm{dist}\mathrm{dist}_iと書くことにします. ただし\mathrm{dist}_0は初期化によって得られる\mathrm{dist}で, \mathrm{dist}_{n-1}はBellman-Ford法の出力です. 次の主張をiに関する帰納法で示します: 各u\in Vに対して\mathrm{dist}_i[u] = su-経路のうち辺数が高々iであるもののうち最短の長さである. 実際, i=0の場合はこの主張は正しいです. また, i\leq jまで主張が正しいと仮定すると, j+1回目の反復について考えると, 漸化式
\begin{align*} \mathrm{dist}_{j+1}[u] = \min_{v \in N^-(u) \cup \{u\}}\{ \mathrm{dist}_j[v] + w_{vu} \} \end{align*}
を得ます (ただしN^-(u)=\{v\in V\colon (v,u)\in E\}は頂点uに入っていく辺のもう一方の端点からなる集合で, w_{uu}=0と定義している). 帰納法の仮定より各\mathrm{dist}_j[v]は辺数j本以下の中での最短sv経路の長さなので, \mathrm{dist}_{j+1}[u]は所望のものになっており, 主張が証明されました. さて, 元のグラフに負閉路がない場合はsから辿り着ける全ての頂点uに対して最短su経路は辺数が高々n-1なので, アルゴリズムの出力\mathrm{dist}_{n-1}[u]は確かに頂点sを始点とした最短経路長を格納した配列になっています. (証明終)

上記の帰納法に基づく証明により, Bellman-Ford法は始点sから近い順に最短経路長を決めていることがわかります. イメージとしては, sを根とした最短経路木(最短経路に属する辺からなる木. 最短経路が複数あるときは任意に一つだけ選んでその辺を木に追加していって構成できる) に対して, 根から順番に(幅優先探索の要領で)最短経路長が決定していくことがわかります. 特に, 各反復では最短経路木に含まれる辺のうち, 少なくとも1本が最短経路として同定されていきます. 木の辺数はn-1であることからもBellman-Ford法の反復回数が高々n-1であることが納得できると思います.

2. Yen(1970)の方法

Bellman-Ford法の解析では 「各反復では最短経路木に含まれる辺のうち, 少なくとも1本が最短経路として同定されていく」ことを示したわけですが, それでは「各反復では最短経路木に含まれる辺のうち, 少なくとも2本が最短経路として同定されていく」ならば, 反復回数は高々\lceil n/2\rceilとなります. Yen(1970)による定数倍改善はこの観察に基づきます. Yen(1970)は, 以下のアルゴリズムによって定まる反復に基づくBellman-Ford法の反復回数は高々\lceil n/2 \rceil回であることを主張します:

1. 頂点に適当に番号づけて, V=\{v_1,\dots,v_n\}, 始点をs=v_1とする. 各辺e=(v_i,v_j)に対し, i<jならばeを上昇辺, i>jならばeを下降辺と呼ぶ.
2. 頂点をv_1,\dots,v_nの順番に見ていき, 各v_iに対してv_iを始点とする全ての上昇辺に対して緩和を実行する.
3. 頂点をv_n,\dots,v_1の順番に見ていき, 各v_iに対してv_iを始点とする全ての下降辺に対して緩和を実行する.

以下にこのアルゴリズムの正当性の証明を載せます.

Yen(1970)の手法の正当性の証明

頂点u\in V\setminus \{s\}を固定し, su-最短経路を任意に一つ選び, その経路を頂点列とみなしP=(w_0,w_1,\dots,w_\ell)とします (ただしs=w_0,u=w_\ell). このパスPは上昇辺からなる「増加部分」と下降辺からなる「減少部分」の交互列に分解できます. 例えばP

v_1 \to v_3 \to v_5 \to v_4 \to v_2 \to v_7 \to v_6

という頂点列の場合, 

  • v_1 \to v_3 \to v_5
  • v_5 \to v_4 \to v_2
  • v_2 \to v_7
  • v_7 \to v_6
のように, 番号に関する極大な増加列と極大な減少列が交互に現れるように分解できます (始点をs=v_1にしているので最初は必ず増加列です). この分解をP=(U_1,D_1,U_2,D_2)と表すことにします. ここでU_1=(v_1,v_3,v_5), U_2 = (v_2,v_7)は増加列, D_1=(v_5,v_4,v_2), D_2 = (v_7,v_6)は減少列です. 一般に増加部分をU_1,\dots,U_p, 減少部分をD_1,\dots,D_qとし, 連続する上昇列と下降列を繋げて得られる(U_i,D_i)というPの部分列を山折りと呼ぶことにします. 各山降りは少なくとも2本の辺を含むため, 最短経路Pが含む山折りの個数は高々\lceil n/2\rceilです. Yen(1970)のステップ2では小さい頂点から順番に上昇列を緩和していっているため, Pの上昇列を順番に同定していきます. 同様にステップ3ではPの下降列を順番に同定していきます. ステップ2-3を交互に繰り返すため, 一回の反復では一つの山折りに対応する部分列(U_i,D_i)の最短経路が順番で同定されていきます. 従って, 山折りの個数, すなわち高々\lceil n/2\rceil回の反復で最短経路が求まります. (証明終)


3. その後の進展


[Bannister and Eppstein, 2012]によって, 乱択を用いた反復回数のさらなる定数倍改善n/3が得られています (著者のブログ記事). このアルゴリズムも非常に単純なテクニックに基づいたものになっています. 具体的には, Yen(1970)では任意に選ばれた頂点順番に基づいて上昇辺と下降辺が定義されていましたが, これをランダムな順番にすると期待値の意味で反復回数がn/3になる, ということを示しています. ここではラフな証明を載せておきます. Yen(1970)の上記の解析により, 任意の最短経路Pを同定するのに必要な反復回数はそれに含まれる山折りの個数で抑えることができます. 従って, 頂点番号がランダムに振られたときのPに含まれる山折りの個数の期待値について考察します. 最短経路の頂点列を(v_0,\dots,v_\ell)とし, 各v_iはランダムに振られた番号を表すとすると, 山折りの個数の期待値はおおよそ\ell \cdot \sum_{i=1}^n (1/n) \cdot (i/n)^2 \approx \ell \cdot \int_0^1 x^2 \mathrm{d}x \leq n/3となります (この式における(1/n)\cdot (i/n)^2というのは, パス中の頂点を一つ固定したときにその頂点の番号がiになり, かつ両隣の頂点の番号がどちらもi以下となる確率を意味します). ざっと論文を目を通したくらいなので詳しいことはわかりませんが, おそらく山折りの個数の集中性を示して(集中不等式の文脈ですでに知られている結果がほぼブラックボックスに使えるっぽい), 終着頂点に関するunion boundをとることによって証明がなされています.

なお, 執筆時(2023年12月時点)では負辺ありの単一始点最短経路問題に対するアルゴリズムのオーダーの改善も知られており, 特にFOCSのbest paperをとったブレイクスルーの結果[Bernstein, Nanongkai, Wulff-Nilsen, 2022]によって, 負辺を含むグラフの単一始点最短経路問題がO(m\log^8(n)\log W)時間で解けることが示されました. ここでW>0は, w_e\geq -xを満たす最小のxに対してW=\max\{2,x\}で定義される値です. (2とのmaxをとっているのはlogをとったときに0にならないようにするため.) さらに翌年, [Bringman, Cassis, Fischer, 2023]によってO(m\log^2(n)\log(nW)\log\log n)時間アルゴリズムが発表されました.

少し余談になりますが, 同じ会議(FOCS2023)では最短経路に関する別の論文[Duan, Mao, Shu, Yin, FOCS23]もあって, この論文ではcomparison-addition modelと呼ばれるモデルにおいて負辺なしの最短経路問題をダイクストラ法より高速にO(m\cdot \sqrt{\log n\cdot \log\log n})時間で解く乱択アルゴリズムを提案しています. comparison-addition modelとは, Bellman-Ford法の緩和操作のように, 数値の加算と比較のみが定数時間で行えるような環境を考えるモデルです. 彼らのアルゴリズムのアイデアは根幹の部分ではダイクストラ法と似たようなことをやっています. 通常のダイクストラ法では全ての頂点をヒープに入れて近い順に頂点を取り出してその周りの辺を緩和するというものでしたが, Duanらのアルゴリズムではパラメータk=\sqrt{\log n / \log\log n}に対して, n/k個の頂点をランダムに選び, それらをまずFibnacci heapに入れ, 順番に頂点uを取り出して, uに"近い"頂点を緩和していくようなことをしています (arXiv版のSection 3参照).

4. 感想

講義のために最小費用流や最短経路問題の色々なアルゴリズムを勉強してみたのですが, マトロイドや離散凸といった一般的な枠組みを追求していく面白さとは違った面白さがあり, シンプルで賢いアルゴリズムは勉強していてとても楽しいですね.

5. 参考文献

  • "An algorithm for Finding Shortest Routes from all Source Nodes to a Given Destination in General Network", Jin Y. Yen, Quarterly of Applied Mathematics, 27(4), pp.526--530, 1970.
  • "Randomized Speedup of the Bellman–Ford Algorithm", Michael J. Bannister and David Eppstein, Proceedings of ANALCO, 2012.
  • "Negative-Weight Single-Source Shortest Paths in Near-linear Time", Aaron Bernstein, Danupon Nanongkai, and Christian Wulff-Nilsen, Proceedings of FOCS, 2022.
  • "Negative-Weight Single-Source Shortest Paths in Near-Linear Time: Now Faster!", Karl Bringmann, Alejandro Cassis, Nick Fischer, Proceedings of FOCS, 2023.

講義資料をNotionで書いてみた

 プログラミング応用という名前の講義を受け持っており, そこで組合せ最適化のベーシックな話題とそのPythonでの実装を教えているのですが, 資料をNotionで書いてみました. 講義資料をNotionで公開しているのでアルゴリズムの基礎とかNP困難性とかを勉強したい人はどう...