Processing math: 0%

2024年7月5日金曜日

埋め込みクリーク問題

与えられたグラフG=(V,E)に含まれる最大クリークを求めよという問題はKarp's 21 Complete Problemの一つであり, おそらく最も有名なNP困難な問題の一つとして知られています. 本記事ではこの問題の平均時困難性について考えます. すなわち, 与えられたグラフがErdos-RenyiランダムグラフG(n,1/2)のときの最大クリーク(を見つける問題)について紹介し, 関連問題として埋め込みクリーク問題を紹介します.

ランダムグラフ上の最大クリーク問題

Erdős--RényiグラフG(n,1/2)を考えます. このグラフはn個の頂点からなり, 各頂点のペアは独立に確率1/2で辺を持ちます. 言い換えれば, n頂点の頂点ラベル付きグラフの中から一様ランダムに選ばれたグラフがG(n,1/2)です. このように, 入力がランダムに生成された時に問題が効率的に解けるかどうかを議論する枠組みを平均時計算量といいます.

最大クリーク問題に戻りましょう. Erdős--RényiグラフG(n,1/2)は高確率でおよそサイズ2\log_2 nのクリークを持つことが示せます. ここでは厳密な証明はしませんが, なぜ2\log_2 nという値が出るかについて, k-クリークの個数の期待値を使って簡単に説明します. グラフG(n,1/2)に含まれるk-クリークの個数をX_kとします. X_k>0ならば最大クリークのサイズはk以上であり, X_k=0ならばk未満となります. 頂点部分集合S\subseteq[n]に対し, SがクリークであるかどうかのindicatorをX_Sとします. すなわちSG(n,1/2)内でクリークになっているならばX_S=1, そうでなければX_S=0です. 固定したSに対してX_S=1となる確率は(1/2)^{\binom{|S|}{2}}です. さて, X_k = \sum_{S\subseteq[n],|S|=k} X_S と書けます. 期待値の線形性より, X_kの期待値は
\begin{align*} \mathbb{E}[X_k] &= \sum_{S\subseteq[n],|S|=k} \Pr[X_S=1] \\ &= \binom{n}{k}\cdot 2^{-\binom{k}{2}} \\ &\approx \frac{n^k}{k!} 2^{-k^2/2} \\ &\approx 2^{-k\log_2 n - k^2/2} \\ &\approx 2^{-k(\log_2 n - k/2)} \end{align*}
となります. 途中で突然k!が消えたのは, k!=2^{(1-o(1))\cdot k\log k}2^{-\binom{k}{2}}に比べて無視できるほど小さいからです. k\gg \log_2 nならば指数部が負となりX_kの期待値は非常に0に近い値となります. k\ll \log_2 nならば期待値は非常に大きい値となるので, G(n,1/2)k-クリークを含むだろうことがわかります. 前半の議論(非存在性)はMarkovの不等式, 後半の議論(存在性)はChebyshevの不等式を使うと厳密な議論にできます. 詳しく知りたい方はこちらの記事を参照してください.

すなわち, 入力がG(n,1/2)だと最大クリークのサイズはおよそ2\log_2 nであることがわかります. では, この2\log_2 n-クリークを見つけられるでしょうか?

成功確率の枠組み

そもそも「ランダムグラフ上で問題を解く」とはどういうことなのでしょうか?

最悪時計算量の枠組みでは, 「全ての入力に対して正しい答えを出力する」効率的なアルゴリズムの構成が焦点になっていました. 一方で平均時計算量では「全ての入力に対して」という部分を「多くの入力に対して」に緩和した枠組みを考えます. 本当はerrorless/error-proneの二つの概念があるのですが, ここではerror-proneの枠組みを考えます.

定義 (成功確率)
決定的アルゴリズムAは以下を満たすとき, 成功確率\gammaG(n,1/2)上で最大クリークを解くという:
\begin{align*} \Pr_{G \sim G(n,1/2)} [ A(G) \text{ outputs a maximum clique in }G]\ge \gamma. \end{align*}
Aが乱択アルゴリズムのとき, 上の確率において入力G\sim G(n,1/2)およびAの内部のランダムネスについての確率をとることで成功確率を定義する.

直感的に言えば成功確率とはアルゴリズムAが解く(固定サイズの)入力の割合を意味します. 平均時計算量の理論では, 効率的(例えば多項式時間)なアルゴリズムの中で最大の成功確率\gammaをもつものが研究の対象となります.

入力によって解けるか解けないかが決まるので, 乱択アルゴリズムのように
「繰り返して成功確率を増幅させる」ことはできない.

例えば, 成功確率\gamma=1のアルゴリズムは最悪時の意味において最大クリーク問題を解くことを意味します. これはNP困難なので, \gamma=1を満たす多項式時間アルゴリズムは存在しないと広く信じられています. 従って\gamma<1の範囲で考えます. この記事では確率1-o(1)を「高確率」と呼ぶことにします(注1).

(注1). 「高確率」という言葉は専門用語として扱われることが多いです. ランダムグラフの文脈では漸近的に確率1で成り立つことを「a.a.s. (asymptotically almost surely)」「w.h.p. (with high probability)」と言うことがあります. また, 乱択アルゴリズムの文脈では, 何らかの定数c>0が存在して確率1-n^{-c}で成り立つことを「高確率」ということもあります.

上の定義では誤った答えを出力しうるものの常に多項式時間で終了するアルゴリズムを考えていました. このようにアルゴリズムの「誤りうる」という性質をerror-proneと言います. 一方で, 常に正しい答えを出力するが入力によっては指数時間かかりうるという性質をerrorlessといいます. 乱択アルゴリズムの文脈で例えるとラスヴェガス法か, モンテカルロ法かという話です. 

最悪時と平均時のギャップ

さて, G(n,1/2)上での最大クリーク問題に話を戻しましょう. 証明はしませんが, G(n,1/2)は確率1-n^{-\Omega(\log n)}で最大クリークのサイズが高々2.01\log_2 nであることが証明できます. 従って, サイズ2.01\log_2 n以下の頂点部分集合S \subseteq [n] を全て列挙し, クリークをなしたSの中で最大のものを出力すると, n^{O(\log n)}時間で成功確率1-n^{-\Omega(\log n)}G(n,1/2)上で最大クリークを解けます.

最悪時の世界では最大クリーク問題はETH(強指数時間仮説)の下では2^{\Omega(n)}時間かかると予想されていますが, 平均時の世界では単純なbrute-forceを考えればn^{O(\log n)}時間で高確率で解くことができます.

貪欲法

最大クリーク問題に対する最も単純なアプローチが貪欲法です. 何でも良いので極大クリークを一つ選び, 出力するというアルゴリズムです. 例えばクリークに追加できる頂点のうち, インデックスが一番若い頂点を選んで追加するというルールを考えてみましょう.

定理 (Karp, 1976, informal).
入力G(n,1/2)上の貪欲法で得られる極大クリークをSとすると, 確率1-o(1)|S| = (1\pm o(1))\log_2 nを満たす.

すなわち, 貪欲法は"ほぼ2近似"アルゴリズムであるといえます. 最悪時の世界では, 任意の小さな定数c>0に対して最大クリークを多項式時間でn^{1-c}近似するのはNP困難であることが知られているので, この定理もまた最悪時と平均時の世界のギャップを意味します.

証明(の概要).
貪欲法のt回目の反復で得られる頂点部分集合をS_tとします. すなわち, S_0=\emptysetであり, S_{t+1}S_t\cup \{u\}がクリークになるような頂点uのうち最もインデックスが若いものとします (例えば一番最初に追加される頂点は必然的に最もインデックスの若いv_1になります). S_tの要素数はtなので, 貪欲法が終了したときのステップ数tの上下界を求めればよいことになります.

この「若い頂点を優先する」貪欲法は, 頂点をv_1,\dots,v_nの順に見ていき初めて追加できる頂点を見つけたらそれを追加するというように実装することができます. この実装では, 例えば時刻tで頂点v_iが追加されたとすると, その反復までにアルゴリズムは以降の頂点v_{i+1},\dots,v_nを見ていないことになります (もちろんこれは実装依存ですが, v_{i+1},\dots,v_nを見ないように実装したものと同じ出力を得るので, 見ていないということを仮定できます). すなわち, この反復までの挙動は誘導部分グラフG[\{v_1,\dots,v_i\}]にのみ依存するのであって, v_{i+1},\dots,v_nに接続する辺の情報とは独立です. ですので, 頂点v_{i+1}を見たとき, その時初めて辺\{v_{i+1},v_j\} (j=1,\dots,n\}) に関する入力の情報をサンプルする (つまり, 入力を生成→アルゴリズムの解析, ではなく, アルゴリズムの反復に応じて入力を徐々に生成していく) という確率過程によってアルゴリズムの振る舞いを解析ができます.

時刻tにおける反復においてS_tの要素数はtであり, S_tの全ての頂点と隣接している頂点が新たにS_{t+1}に加わるわけですが, 固定した頂点v_jが追加される確率は(1/2)^tです. 従って, 任意の定数c>0に対しt\ge (1+c)\log_2 nならば, v_j \in [n]に関するunion boundより一つも頂点が追加されないので, t \le (1+c)\log_2 nを得ます. 逆に, t<(1-c)\log_2 nならばこの確率はn^{-1+c}となり, 追加できる頂点の個数の期待値はおよそn^cで非常に大きいので, そのような頂点は高確率で存在することになります.

v_jS_tの全ての頂点と隣接していればクリークに追加できる.
(証明終)

衝撃的なことに, 本質的に貪欲法より良い多項式時間アルゴリズムはいまだに知られていません (それどころか存在しないと予想されています). 具体的には, 以下の主張が正しいかどうかは非常に重要な未解決問題です.

ある定数\varepsilon>0と多項式時間アルゴリズムが存在して, G(n,1/2)上で(1+\varepsilon)\log_2 n-クリークを確率2/3で見つける.


埋め込みクリーク問題

Erdős--RényiグラフG(n,1/2)上の最大クリーク問題の変種として, k-クリークが埋め込まれたランダムグラフからk-クリークを復元する問題を考えます. 具体的には, 入力として次の操作によって得られるランダムグラフG(n,k,1/2)が与えられます:

  1. Erdős–Rényiグラフ G(n,1/2)を生成する, ランダムにk個の頂点v_1,\dots,v_kを選び, C=\{v_1,\dots,v_k\}とする.
  2. 1\leq i<j\leq kに対して辺\{v_i,v_j\}を追加してCをクリークにする (元々\{v_i,v_j\}が辺をなす場合は追加しない).
ここで埋め込むクリークサイズkk \gg \log nとします. Erdős--RényiグラフG(n,1/2)はサイズがO(\log n)のクリークを持つので, 直感的にはサイズkのクリークをランダムに埋め込むと一意になる気がします.

最大クリークのときと同様に, アルゴリズムの成功確率を以下のように定義します.

定義 (成功確率)
決定的アルゴリズムAは以下を満たすとき, G(n,k,1/2)上で成功確率\gammaで埋め込みクリーク問題を復元するという:
\begin{align*} \Pr_{G \sim G(n,k,1/2)} [ A(G,k) \text{ outputs the planted $k$-clique $C$ in }G]\ge \gamma. \end{align*}
ここでは, 簡単のため, アルゴリズムAはクリークサイズk知っていると仮定する.
Aが乱択アルゴリズムのとき, 上の確率において入力G\sim G(n,k,1/2)およびAの内部のランダムネスについての確率をとることで成功確率を定義する.


情報理論と計算量理論のギャップ

例えばk=2の場合はただの辺が埋め込まれただけなので, ランダムな辺を出力するしかできないので情報理論的に成功確率の上回はO(1/n^2)となります. 一方で任意の定数c>0に対し, k\ge (2+c)\log_2 nのとき, G(n,k,1/2)は確率1-2kn 2^{-k/2}kクリークを一つだけ含むことが初等的な数え上げで示すことができます. このとき, 全探索によって高確率で埋め込んだクリークを復元できます.

実は, G(n,1/2,k)上でもk\ge (2+c)\log_2 nであれば (k=n^{0.1}とかであっても), n^{O(\log n)}時間でk-クリークを確率1-o(1)で解くことができます. 一方でk \le 2\log_2 nのときはErdős--RényiグラフG(n,1/2)2\log_2 nクリークを持つので情報理論的に埋め込まれたk-クリークCを復元することはできません.

命題.
任意の定数c > 0およびk\ge (2+c)\log_2 nに対し, G(n,1/2,k)上で成功確率1-o(1)で埋め込みクリーク問題を解くn^{O(\log n)}時間アルゴリズムが存在する. 

証明.
アルゴリズムは非常にシンプルです: サイズ2\log_2 nの頂点部分集合S \subseteq Vを列挙し, もしもSG(n,1/2,k)においてクリークをなすならば貪欲法によって極大クリークを一つ選び, そのサイズがkと等しいならばその極大クリークを出力する. 最終的にサイズkのクリークが見つからなかったら特別な記号\bot (見つからなかった, を意味する)を出力する.

列挙した各Sに対して一つの極大クリークしか考えないので計算時間はn^{O(\log n)}です. あとはこれで「取りこぼしがない」ことを証明する必要があります. Cを埋め込まれたクリークとします. 列挙したときにあるS \subseteq C に対して, C以外の頂点が貪欲法で追加され得ないことを示せばよいです. フォーマルに言うと, あるS\subseteq C,|S|=2\log_2 nが存在して, Cの外側の頂点vであって\Gamma(v) \supseteq Sを満たすものがないことを示せば, V\setminus Cの頂点が貪欲法で追加され得ないため必ず極大クリークはCになります.

こうなるようなSの存在性を示したい.

埋め込む位置CV\setminus Cの間の辺は全て独立なコイントスによって決まります. そこで固定したCで条件つけたときに所望のS\subseteq Cが高確率で存在することが言い, その後にC \sim \binom{[n]}{k}に関する期待値をとればG(n,1/2,k)上の確率を抑えたことになります.

固定したC\subseteq [n]に対し, S\subseteq VC内からインデックスの若い2\log_2 n個の頂点からなる集合とします. Cは固定されているためSもまた固定されています. 従って, 各v \in V \setminus CについてvSの全ての頂点に隣接している確率は(1/2)^{2\log_2 n}\le n^{-2}です (これはSが固定されているため, Sの情報と辺の有無の情報が独立だから成り立つ). vについてのunion boundより, 確率1-O(n^{-2})\Gamma(v)\supseteq Sを満たすv \in V\setminus Cは存在しません. すなわち, このSの構成は高確率で所望の性質を満たします. なお, この議論は\log_2 nの係数が1より真に大きければ同様に適用できます.

以上より, G(n,1/2,k)において, 埋め込んだクリークCの中からインデックスの若い順に2\log_2 n個の頂点集合をSとすれば, Sを含む極大クリークはCのみになりますので, 確かに列挙するアルゴリズムは埋め込みクリークを解きます. (証明終)

ここまでで単純な列挙によってn^{O(\log n)}時間で埋め込みクリーク問題はk\ge 2.01\log_2 nならば高確率で解けることを確認し, k\le 2\log_2 nでは情報論的に解けないことを見てきました. これはk=2\log_2 nが情報理論的に解けるかどうかの境界になっていると解釈できます. では, 同様の範囲のkで埋め込みクリーク問題を多項式時間で解けるでしょうか?

結論から言うとk\ge \sqrt{n}であれば確率1-o(1)で埋め込みクリーク問題は多項式時間で解けることが知られている[Alon, Krivelevich, Sudakov, '98]のですが, k = o(\sqrt{n})に対して多項式時間で解けるかどうかは30年来の未解決問題で, 実はあるc>0に対してk=n^{1/2-c}に対して多項式時間で確率2/3で埋め込みクリーク問題を解く多項式時間アルゴリズムは存在しないのではないかと予想されています (埋め込みクリーク予想).

ここではAlonらの結果より少し弱い, k\ge 10\sqrt{n\log n}のときに埋め込みクリーク問題を解くアルゴリズム[Kučera, 95]を紹介します.

命題.
k\ge 10\sqrt{n\log n}のとき, G(n,1/2,k)上の埋め込みクリーク問題を高確率で解く多項式時間アルゴリズムが存在する.

証明 (概要).
アルゴリズムは「次数の大きい順に頂点をk個出力する」です. 埋め込まれたクリークCに属する頂点は, クリークの分だけ次数が大きくなるはずであり, k\ge 10\sqrt{n\log n}ならばその差が有意であるという議論をします.

頂点v \not\in Cの次数の周辺分布は二項分布\mathrm{Bin}(n,1/2)なので, Hoeffdingの不等式およびvに関するunion boundより
\begin{align*} \Pr[\exists v\not\in C,\deg(v) > n/2 + \sqrt{n\log n}] \le n\cdot \exp(-2\log n) \le n^{-1} \end{align*}
を得ます. 一方, v\in Cの次数の周辺分布はk+\mathrm{Bin}(n-k,1/2)なので, 同様にHoeffdingの不等式より, 任意のt>0に対し
\begin{align*} \Pr\left[\exists v\in C,\deg(v) < \frac{n-k}{2}+k-t\right] \le n\exp\left(-\frac{2t^2}{n}\right). \end{align*}
特にt=4\sqrt{n\log n}を代入すると, 確率1-o(1)で全てのv\in C\deg(v) \ge \frac{n}{2} + \sqrt{n\log n}を満たします. 従ってk\ge 10\sqrt{n\log n}のとき確かに次数を見ることでCが復元できます. (証明終)

Appendix. 埋め込みクリークの一意性


ランダムグラフG(n,k,1/2)は埋め込まれたものが一つあるので, kクリークを一つ以上部分グラフとして含みます. ここではk\ge (2+c)\log_2 nの場合は高確率でkクリークが一つであることを証明します.

この主張は直感的には自明に思えます. Erdős--RényiグラフG(n,1/2)の最大クリークは2\log_2 nなので, それより大きいk-クリークを埋め込むと確かに埋め込まれたクリーク以外にk-クリークは登場しなさそうです. ところが, k-クリークを埋め込むことによって非自明に大きいクリークが発生しうる懸念をケアしなければなりません.

G(n,1/2,k)における他のクリークのサイズはどのくらいになるのでしょうか? 埋め込まれたクリークを表す頂点部分集合をCとします. 任意の頂点v \not \in CC内におおよそk/2個の隣接点を持ちます.
これは, vCの間の辺は独立に確率1/2で生起するので, \Gamma(v)vの隣接点の頂点集合とすると, |\Gamma(v) \cap C|の周辺分布は\mathrm{Bin}(k,1/2)になり, これにHoeffdingの不等式を適用することでわかります (より詳しくいうと, 確率1-n^{-100}で, 全ての頂点vに対し|\Gamma(v) \cap C| \le k/2 + 100\sqrt{k\log n}がいえる.)

また, \{v\} \cup \Gamma(v)G(n,k,1/2)内でクリークをなすので, C以外にもk/2-クリークを持つことがわかります. 実はC以外のクリークのサイズは全てk/2 + O(\sqrt{k\log n}) \approx (1+o(1))k/2以下になります.

この議論に基づくと, k\ge 100\log_2 nに対してk-クリークの一意性が証明できます (特に, Hoeffdingの不等式でネイピア数が出てくるのでlogの底に関して慎重にならなければなりません). k\ge (2+c)\log_2 nに対して一意性を示すにはもう少し丁寧な議論が必要です.

命題 [Theorem 4, Jerrum '92]. 任意のkに対して, G(n,k,1/2)が二つ以上のkクリークを含む確率は高々2kn2^{-k/2}である.

証明 (概要).
V=[n]を頂点集合, C\subseteq Vを埋め込まれたkクリークとします. Cとは別のk-クリークC' \neq Cの個数をXとし, その期待値を考えます. すなわち
\begin{align*} \mathbb{E} = \sum_{C'\in \binom{V}{k},C'\neq C} \Pr[C'\text{ is a $k$-clique}] \end{align*}
を上から抑えます. 各t=0,1,\dots,k-1に対し, |C'\cap C|=tなるC'を列挙してtに関する和を考えると




期待値\mathbb{E}[X]
\begin{align*} \mathbb{E}[X] &= \sum_{t=0}^{k-1} \binom{k}{t}\binom{n-k}{k-t}\cdot 2^{-\binom{k}{2} + \binom{t}{2}} \\ &\le \sum_{t=0}^{k-1} \left(kn 2^{-k/2}\right)^{k-t} \\ &\le kn 2^{-k/2} \cdot \sum_{t=0}^\infty (1/2)^t \\ &\le 2kn 2^{-k/2} \end{align*}
を得ます.

2024年7月4日木曜日

STOC2日目以降の感想 (主にsunflower conjecture周り)

STOCが終わったので記憶が残っているうちに勢いに任せて前回に引き続きSTOC参加記(2日目〜5日目)を駆け足で書いていきます. 聴講して特に印象に残ったものについて記載しています. 勢いに任せて書いているのでテクニカルな内容はありません. ただし, sunflower lemmaの話については結構面白いと思ったので自分が理解した範囲で定義とかを書いていきます.

2日目


朝にLength-Constrained Expandersというワークショップに参加しました. 近年巷を騒がせているエクスパンダー分解や小直径分解という概念があるのですが, length-constrained expanderとはどちらの性質も同時に兼ね備えた分解を与える概念のようです. どちらの分解でも共通して頂点部分集合の分割\mathcal{P}=(P_1,\dots,P_\ell)であって, 各部分集合P_iのなる誘導部分グラフG[P_i]が小直径または(Cheeger定数の意味で)エクスパンダーグラフとなるようなものを求めます. そして各P_iを縮約して得られるグラフに対して再帰的に分解を適用することによって, エクスパンダーからなる階層構造が得られます.


端的に言えば, 最悪時の問題例を分解によってエクスパンダー上で解くことに帰着するみたいなことをするようです. length-constrained expanderとは小直径分解とエクスパンダー分解両方の嬉しい性質を同時に達成するような分解らしいです.

2日目の午後は自分の発表を行いました. その次のセッションはランダムウォークなど確率解析のセッションでした. 時差ボケであまりちゃんと聞けなかったのですが最後の発表
が印象的でした. この論文ではランダム幾何グラフとErdős--Rényiグラフの識別問題に対してよく知られる計算量と情報理論のギャップ (computational-statistical gap) について議論しており, low-degree polynomialと呼ばれるアルゴリズムのクラスでは両者のギャップが埋まる, という話でした.

3日目


午後は誤り訂正符号のセッションに行きました. 近年のTCSでは3クエリのlocally correctable codeのレートに関する効率性の下界を, これまで知られていたものより指数的に改善したという論文
の発表がありました. これはTCSの符号界隈で非常に大きな話題になりました.

その次のセッションは
Complexity-Theoretic Implications of Multicalibration, (Sílvia Casacuberta, Cynthia Dwork, Salil Vadhan)
でした. この論文はarXivに出た瞬間から個人的に注目していた論文です. additive combinatoricsにおけるdense model theorem (Green-Taoの定理の証明で重要な役割を果たした定理), Impagliazzoのhardcore補題, そしてFrieze-Kannanの正則化補題がどれも同じような構成的証明を与えていることに着目して共通の一般化を与えたという論文があるのですが, この論文はそれをmulticalibrationの観点でさらに一般化したというものです. この論文もquanta magazineの記事で紹介されています.

4日目


Applications of Turán-type problems in Theoretical Computer Scienceというワークショップに参加しました. Turánの定理とは完全グラフK_rを部分グラフとして含まないグラフのうち最も辺数が多いものは, 等分割された完全(r-1)部グラフであるという主張です. 例えば三角形を含まないグラフの中で最もデンスなのは完全二部グラフです.

この問題は次のような自然な設定で登場します:
n個の電池があり, そのうちr個のみが充電されていて他は全て充電が空なのですが, どれが充電されていてどれが空か分からないとします. 手元には懐中電灯があり, 充電されている電池を2個入れると光ります. n個の中から二つの電池を入れて試すという試行を何回か行って懐中電灯を光らせたいとき, 最も試行回数を少なくするにはどうすればよいか?

グラフの言葉に翻訳すると以下になります: n個の頂点があってサイズrの独立点集合を含まないグラフのうち最も辺数が少ないものは何か? グラフを一つ固定したとき, 各辺は懐中電灯の一回の試行に対応します. このグラフがもしもサイズrの独立点集合Iを持つならば, この頂点部分集合Iが「充電された電池」であったときにこの試行で懐中電灯を光らせることができません. この解となるグラフの補グラフをとるとTuránの定理の設定になります.

Turán-typeな問題とは, 固定されたグラフHを含まないグラフの中で最も密なものは何かという極値グラフ理論の問題です. 例えば奇数長の閉路は完全二部グラフを考えれば辺数\Omega(n^2)を達成しますが, 四角形を含まない任意のn頂点グラフは辺数がO(n^{1.5})になります (こちらの記事で証明しています). 応用として, ワークショップではErdősの内周予想やそれの最近の進展について取り上げられていました. 特に興味深かったのはH=C_8のときは未解決であるということでした. つまり, 長さ8の閉路を含まないn頂点グラフのうち最大辺数を\mathrm{ex}(n;C_8)とすると現在知られている最善のバウンドが
\Omega(n^{6/5}) \le \mathrm{ex}(n;C_8) \le O(n^{5/4})
となっており, このギャップを埋めるのはこの分野の中心的な未解決問題らしいです.

5日目


前日に引き続きTuranのワークショップに参加しました. とあるpseudorandomnessを満たす部分集合族を使ってsunflower lemmaの改善を与えた論文の話がありました. 集合S_1,\dots,S_r \subseteq [n]は, 全てのi\neq jに対してS_i \cap S_j = S_1 \cap \dots \cap S_rを満たすとき, r-ひまわりと呼びます. 

[n]上の集合族\mathcal{S}=\{S_1,\dots,S_m\}は, あるS_{i_1},\dots,S_{i_r}\in\mathcal{S}r-ひまわりをなすとき, r-ひまわりを含むといいます. r-ひまわりを含まない部分集合族\mathcal{S}であって最も多くの集合を持つものはどのようなものになるでしょうか?

定理 (Erdős-Rado, '60)
集合族\mathcal{S}=\{S_1,\dots,S_m\}|S_i|\le wを満たすとする. もし|\mathcal{S}| > w! \cdot (r-1)^wを満たすならば, \mathcal{S}は必ずr-ひまわりを含む.

このmのバウンドw!\cdot (r-1)^wを漸近的に改善できるのではないか? というのがひまわり予想です.

予想 (Erdős-Rado, '60).
集合族\mathcal{S}=\{S_1,\dots,S_m\}|S_i|\le wを満たすとする. 各r \ge 3に対してある定数C>0が存在して, |\mathcal{S}|>C^wを満たすならば, 集合族\mathcal{S}は必ずr-ひまわりを含む.

Alweiss, Lovett, Wu, and Zhang (STOC20) はErdős-Radoの定理のバウンドを改善し以下の定理を証明しました:

定理 (Alweiss, et al. (2021)).
集合族\mathcal{S}=\{S_1,\dots,S_m\}|S_i|\le wを満たすとする.  各r \ge 3に対してある定数C>0が存在して, |\mathcal{S}|>(Cr^3 \log w \log\log w)^wを満たすならば, 集合族\mathcal{S}は必ずr-ひまわりを含む.

ワークショップではこの定理の証明の雰囲気が紹介されました. まず, 集合族\mathcal{S}の擬似ランダム性を以下で定義します:

定義.
[n]上の部分集合族\mathcal{S}=\{S_1,\dots,S_m\}|S_i|\le wを満たすとする. この集合族\mathcal{S}は, 任意のT\subseteq[n]に対して
\begin{align*} \Pr_{S \sim \mathcal{S}} [ S \supseteq T ] \le \kappa^{|T|} \end{align*}
を満たすとき, \kappa-spreadという.

部分集合族\mathcal{S}=\{S_1,\dots,S_m\}およびT\subseteq[n]に対し, Tのリンク\mathcal{S}_Tとは, 部分集合族であって,
\begin{align*} \mathcal{S}_T = \{S\setminus T \colon T \subseteq S\in\mathcal{S} \} \end{align*}
によって定まるものです. リンクの言葉を使うと, \mathcal{S}\kappa-spreadであるというのは, 任意のTのリンク\mathcal{S}_T
\begin{align*} |\mathcal{S}_T| \ge \kappa^{-|T|}\cdot |\mathcal{S}| \end{align*}
を満たすことを意味します (\mathcal{S}_Tの要素数はTを含む\mathcal{S}に属す部分集合の個数に等しいから).

重要な観察として, もしもリンク\mathcal{S}_Tr-ひまわり\{S'_1,\dots,S'_r\}を含むとしましょう. すると, S'_1\cup T, \dots, S'_r \cup T\mathcal{S}におけるr-ひまわりになっているはずです. すなわち, リンクをとった後にひまわりがあるならば元の集合族に復元することができます.

適切な\kappaを選びます. もしも今持っている集合族\mathcal{S}\kappa-spreadでないとするならば, 定義よりあるTが存在して|\mathcal{S}_T| > \kappa^{|T|}\cdot |\mathcal{S}|となります. このリンク\mathcal{S}_Tに対してひまわりの存在性を言えば, \mathcal{S}がひまわりを持つことが示せます. これを再帰的に繰り返していくと, \kappa-spreadingな集合族に対して議論すれば良いことになります. Alweissらの貢献は\kappa-spreadingな集合族に対してはdisjointな部分集合S_{i_1},\dots,S_{i_r}がとってこれることを示したこと(らしい)です. disjointな部分集合族はひまわりをなすので, これで定理の主張が証明できたことになります.





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

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