Processing math: 0%

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のノートには少し弱い近似精度を持つビンパッキングの近似アルゴリズムについての解説があります.

0 件のコメント:

コメントを投稿

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

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