Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Polynomial-time Extraction of the Maximum Clique Using Eigenvalue Relation

Ab55f7551d7e4e4b2ea07e60dec4279e?s=47 ohto
July 31, 2021

Polynomial-time Extraction of the Maximum Clique Using Eigenvalue Relation

We prove that the maximum clique problem can be solved in polynomial time. First, we prove the relationship between the maximum clique size and the spectrum of a graph. Next, we provide a function to accurately obtain the number of eigenvalues a certain bound of a symmetric matrix of integers in polynomial time using integer operations. We then provide a method to control the graph spectrum. Finally, we construct an algorithm to extract a maximum clique from a simple graph by deleting the vertices whose maximum clique size remains unchanged. The computational complexity of this algorithm is O(n^9). We can then conclude that the complexity classes P and NP are equal.

Ab55f7551d7e4e4b2ea07e60dec4279e?s=128

ohto

July 31, 2021
Tweet

Transcript

  1. 1 / 88 最大クリーク問題を 多項式時間で解く 2021/9/18 おおとや

  2. 2 / 88 自己紹介 お仕事 – アカデミック的には無所属っす 趣味 – 数学とか

    – アニメとか
  3. 3 / 88 数学とのであい 小学生のころ – 0/0が不定なことを説明して嫌われる 厨二病にかかる – グラフ理論とであう

    – 未解決問題とであう – 数学沼におちる
  4. 4 / 88 数学沼 1.先人の歩んだ道を辿る 2.先人の歩んだ道とは別の道を探る 3.前人未到の荒野を開拓する 4.死屍累々の未解決問題に取り憑かれる

  5. 5 / 88 数学沼 1.先人の歩んだ道を辿る 2.先人の歩んだ道とは別の道を探る 3.前人未到の荒野を開拓する 4.死屍累々の未解決問題に取り憑かれる

  6. 6 / 88 Millennium Problems • Yang-Mills and Mass Gap

    • Riemann Hypothesis • P vs NP Problem • Navier-Stokes Equation • Hodge Conjecture • Poincaré Conjecture ('03 solved) • Birch and Swinnerton-Dyer Conjecture http://www.claymath.org/millennium-problems
  7. 7 / 88 素数に憑かれた人たち リーマン仮説 – 難しいので省略 有名だしぃ〜 みんな知ってるよねぇ〜

  8. 8 / 88 Millennium Problems • Yang-Mills and Mass Gap

    • Riemann Hypothesis • P vs NP Problem • Navier-Stokes Equation • Hodge Conjecture • Poincaré Conjecture ('03 solved) • Birch and Swinnerton-Dyer Conjecture http://www.claymath.org/millennium-problems
  9. 9 / 88 P vs NP Problem If it is

    easy to check that a solution to a problem is correct, is it also easy to solve the problem? This is the essence of the P vs NP question. Typical of the NP problems is that of the Hamiltonian Path Problem: given N cities to visit, how can one do this without visiting a city twice? If you give me a solution, I can easily check that it is correct. But I cannot so easily find a solution. http://www.claymath.org/millennium-problems
  10. 10 / 88 計算量に関する問題 P vs NP 問題 – 組み合わせ問題の中には

    本質的に時間がかかる問題が存在する?
  11. 11 / 88 未解決問題は ロマンだよね

  12. 12 / 88 もくじ • 計算するとは • 計算機にできないこと • 計算の難しさ

    • P vs NP 問題 -どう攻める? • 最大クリーク問題
  13. 13 / 88 計算するとは

  14. 14 / 88 計算するとは ものごとを行うときの「やりかた」 割り算(例) • 引きっぱなし法 • 引き戻し法

    電卓博物館 http://www.dentaku-museum.com/1-exb/tour/4110-notcalc/010-tiger-old-ex.html
  15. 15 / 88 計算するとは -割算/引き戻し法 32 ÷ 3 • 割る数

    3 を左へ動かす • 割られる数から引く • 割られる数から引く • 負の数になったので戻す • 割る数を右へ 1 動かす • 割られる数から引く • 負の数になったので戻す • 商: 10, 余り: 2 ... 割る数: 30 ... 32 – 30 = 2 ... 2 – 30 = -28 ... 2 ... 2 ... 2 – 3 = -1 ... 2
  16. 16 / 88 計算の定式化 チューリングマシン – テープ:記号が並んだもの(入出力&メモリ) – ヘッダー(コンピュータ) •

    内部状態を持つ • テープ上を移動する • テープ上の記号を読み書き – 命令表 (プログラム) ヘッダー位置の記号と内部状態に従い、以下を行う 1.テープへの記号の読み書き 2.ヘッダー移動 3.内部状態の変更 webと人のアマモ場 https://www.amamoba.com/pc/alan-turing.html
  17. 17 / 88 計算の定式化 命令表 ⇒ オートマトン オートマトンの種類によって能力が違う http://www.wikiwand.com/ja有限オートマトン 文法の種類

    オートマトン 句構造文法 チューリングマシン 文脈依存文法 線形有界オートマトン 文脈自由文法 プッシュダウン・オートマトン 正規文法 有限オートマトン 数列を入力として、 偶数個の0が入力されるとき、 停止状態となる 大 小 能力
  18. 18 / 88 計算機にできないこと

  19. 19 / 88 計算機にできないこと 停止性問題 チューリングマシンが有限時間で 停止するかどうかを判定する問題 – 入力 チューリングマシン

    – 出力 (あらゆる入力に対して) 入力したチューリングマシンが停止するかを判定 停止する状態とは – 入力が無い/内部状態に対する命令が無い状態
  20. 20 / 88 計算機にできないこと 停止性問題を計算できる チューリングマシンは存在しない 計算機が止まるかどうかは計算機には分からない 対角線論法 「実数の濃度が自然数よりも多い」証明と同じ手法 入力A1

    入力A2 ... 命令表P1 T F T 命令表P2 F T T ... F F T g(Pi,Aj) = F: f(Pi,Ai) =T T: f(Pi,Ai) =F g(Pi,Ai) = T ⇒ Pn=F (矛盾) g(Pi,Ai) = F ⇒ Pn=T (矛盾)
  21. 21 / 88 計算の難しさ

  22. 22 / 88 計算の難しさ 計算量クラス – 多項式時間で計算できる問題(class P) – 多項式時間で検証できる問題(class

    NP) 組み合わせ問題とか苦手.. ねとらぼ http://nlab.itmedia.co.jp/nl/articles/1209/11/news104.html P vs NP 問題は 計算機科学での 未解決問題
  23. 23 / 88 計算の難しさ NP問題 – おやつ 300円問題 – ぷよぷよ連鎖

    https://app.famitsu.com/20130507_161419/
  24. 24 / 88 計算の難しさ NP問題 – おやつ 300円問題 – ぷよぷよ連鎖

    https://app.famitsu.com/20130507_161419/
  25. 25 / 88 P vs NP 問題 -どう攻める?

  26. 26 / 88 P vs NP 問題 -どう攻める? P ≠

    NP – 計算量クラス間のギャップを示す P = NP – NP完全問題同士は多項式アルゴリズムで 変換可能 – NP完全問題のいずれかで 多項式アルゴリズムで解けることを示す ZFCと独立 – それはないだろう...
  27. 27 / 88 P vs NP 問題 Open Poll その他

    ZFC と独立 P=NP P≠NP 2002 2012 Gasarch, '02,'12 こっち?
  28. 28 / 88 P ≠ NP 側では 計算量クラス間のギャップを示す – Diagonalization

    – Relativization – Circuit Lower Bounds – Natural Proof – Algebration
  29. 29 / 88 P ≠ NP 側では 計算量クラス間のギャップを示す – Diagonalization

    – Relativization – Circuit Lower Bounds – Natural Proof – Algebration だめそう
  30. 30 / 88 P vs NP 問題 Open Poll その他

    ZFC と独立 P=NP P≠NP 2002 2012 Gasarch, '02,'12 こっち?
  31. 31 / 88 P = NP 側では NP完全問題のいずれかが 計算量 P

    で解けるか NP完全問題は互いに計算量Pで変換可能 「ぷよぷよ」なんかもNP完全問題...
  32. 32 / 88 P = NP 側では 計算量: 、 は定数

    定数は大きくてよい...
  33. 33 / 88 P = NP 側では 暗号技術が崩壊? – 検証にかかる計算量<<問題を解く計算量

    なら ok – 例:
  34. 34 / 88 P = NP 側では 探索空間が凸ではない – 多峰性となる問題がある

    – 線形計画法とかでは解けない 枝刈りがんばる
  35. 35 / 88 P = NP 側では 探索空間が凸ではない – 多峰性となる問題がある

    – 線形計画法とかでは解けない 枝刈りがんばる...のか? 自分にはむり
  36. 36 / 88 P = NP 側では 準組み合わせ最適解であれば可能 – 量子計算とか

    – ランダムアルゴリズムとか 実用的には十分だけど...
  37. 37 / 88 PとNP 完全問題の境界 SAT問題 – 2-SATはP、3-SATはNP完全 回路計算量 –

    NOT演算子を含まなければNP完全 グラフ問題 – オイラー閉路(一筆書き)はP – ハミルトン閉路問題はNP完全 (巡回セールスマン問題の特殊形)
  38. 38 / 88 オイラー閉路 すべての辺を一度だけ通る閉路 オイラー閉路がある⇔次数が全て偶数 1 2 3 4

    5 7 6 d(1) = 2 d(2) = 4 d(3) = 2 d(4) = 5 d(5) = 5 d(6) = 3 d(7) = 3 オイラー閉路はない
  39. 39 / 88 ハミルトン閉路 すべての頂点を一度だけ通る閉路 (今のところ)組み合わせ探索しか方法がない ハミルトン閉路はある 1 2 3

    4 5 7 6
  40. 40 / 88 最大クリーク問題

  41. 41 / 88 最大クリーク問題 最大クリーク問題 グラフから最大クリークを抽出する NP困難(k-クリーク問題(NP完全)の一般化) 多項式時間で解けたら P =

    NP
  42. 42 / 88 定義 -グラフ グラフは頂点と辺からなる 1 2 3 4

    5 G a b c d e f H
  43. 43 / 88 クリーク: サブグラフが完全グラフ 最大クリーク: クリークの中で最大のもの 定義 -最大クリーク 1

    2 3 4 5 G a b c d e f H 最大クリーク 最大クリーク
  44. 44 / 88 アプローチいろいろ • 地道に枝刈り • グラフを制限してみる

  45. 45 / 88 アプローチいろいろ • 地道に枝刈り • グラフを制限してみる • 隣接行列を用いる

    グラフスペクトル理論
  46. 46 / 88 グラフスペクトル理論 隣接行列(orラプラシアン)と グラフの関係を探る

  47. 47 / 88 グラフスペクトル理論 隣接行列(orラプラシアン)と グラフの関係を探る . 離散数学 Meets 線形代数

  48. 48 / 88 http://avex.jp/pikotaro/

  49. 49 / 88 グラフスペクトル理論 隣接行列(orラプラシアン)と グラフの関係を探る 応用例 – ページランキング –

    データのクラスタリング – 領域抽出(画像処理)
  50. 50 / 88 グラフスペクトル理論 隣接行列(orラプラシアン)と グラフの関係を探る 従来手法との違い – 枝刈り手法: バックトラックが発生

    – グラフスペクトル: バックトラックが無い
  51. 51 / 88 スペクトルグラフ理論 グラフの特徴を、隣接行列、固有方程式、 固有値や固有ベクトル、ラプラス行列 などから紐解く 1 2 3

    4 5 G 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 A ⇒ 2:1, (1±√5)/2:2
  52. 52 / 88 グラフと隣接行列 → グラフと誘導サブグラフの関係 隣接行列とそのプリンシパルサブ行列の関係 0 0 1

    1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 対称行列 λ 1 … λ ≧ ≧ n プリンシパルサブ行列 μ 1 … μ ≧ ≧ n 1 3 4 5 G 2 誘導サブグラフ グラフ
  53. 53 / 88 定義 -隣接行列 グラフ の隣接行列 は、 の 対称行列で、

    間に辺があるとき 、 辺が無いとき 1 2 3 4 5 G 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 0 0 A
  54. 54 / 88 Cauchy Interlacing Theorem 対称行列 とその Principal submatrix

    があって、それぞれの 固有値が , のとき、以下の 不等式が成り立つ。 固有値が折り重なる の固有方程式 のとき、
  55. 55 / 88 抽出方法 -頂点削除 • 辺重み付きグラフを用いる( ) • 最大クリークサイズとグラフスペクトルの

    関係を用いる • 最大クリークサイズを変更しない頂点と 接続する辺を削除する 頂点d と dに接続する辺を削除 a b c d e f H 最大クリーク
  56. 56 / 88 最大クリークサイズと グラフの隣接行列の 固有値の関係

  57. 57 / 88 命題 完全グラフ の隣接行列 は、固有値 を 個、 固有値

    を 個持つ。 隣接行列 は の対角要素が 、対角要素以外が となる 対称行列となる。よって、固有値は重複を含めて 個。 固有値を とすると、 を満たす。 と はこの関係を満たす。 固有値 の重複度は となる。 よって、固有値 の重複度は 、 の重複度は となる。
  58. 58 / 88 定理 辺重み付きグラフ における最大クリークサイズを 、 隣接行列の重複を含む 以下の固有値の数を とする。

    このとき、 となる。 Cauchy Interlacing Theorem を用いる。
  59. 59 / 88 Cauchy Interlacing Theorem(再掲) 対称行列 とその Principal submatrix

    があって、それぞれの 固有値が , のとき、以下の 不等式が成り立つ。 固有値が折り重なる の固有方程式 のとき、
  60. 60 / 88 補題 グラフ から任意の頂点とのこれに隣接する辺を削除した グラフを とする。このとき以下が成り立つ。 もしくは 超えない

    動かない場合もある 大きくなる 1つ消える 最大値は0以上
  61. 61 / 88 定理 辺重み付きグラフ における最大クリークサイズを 、 隣接行列の重複を含む 以下の固有値の数を とする。

    このとき、 となる。 最大クリーク において 。 に頂点と辺を 加えていって を構成する。 個の固有値は移動しないか、 より小さくなる方向に 移動する。 より大きい固有値が 以下に移動することがある。 よって、 となる。
  62. 62 / 88 補題 の計算量は の頂点数を として、 となる。 の隣接行列を二倍することで整数行列に変換。 を法とした

    モジュラー演算を用いてFrobenius 標準形に変形して、 固有方程式の係数(整数) を取得する。 の個数をたかだか 個に抑えられる。 よって、計算量は 。 固有方程式の 以下の根の数を Strum Theorem を用いて 取得する。計算量は 。
  63. 63 / 88 頂点削除でグラフが 分割するのを防ぐ

  64. 64 / 88 頂点削除でグラフが分割するのを防ぐ 最大クリークサイズを変更しないように、 を一つづつ小さくする このとき、頂点削除でグラフが分割するのを防ぐ 辺重み付き グラフ化 に属するように

    頂点削除 最大クリーク 頂点削除においてグラフが分割しない ようにコントロールしたグラフ集合 最大クリークサイズが 1以下の場合を除外 辺重み付きグラフの集合 グラフを変更 完全グラフの集合 2つ以上の完全グラフの 和集合からなるグラフの集合
  65. 65 / 88 グラフ集合 の導入 辺重み付きグラフの集合 において、以下を満たす集合 を導入する。 において、任意の辺のない頂点間に重み の辺を

    挿入しても が減少しない。
  66. 66 / 88 グラフ集合 の導入 の性質 • クリークはグラフ集合 と同じ •

    は完全グラフを含む • は分割したグラフを含まない 2つの関数を導入する • : に含まれるグラフへ変換する • : から頂点 を削除する
  67. 67 / 88 系 辺重み付きグラフ において、辺の無い頂点間に、重み の 辺を挿入しても、最大クリークサイズは変化しない。 定義より、クリークを構成する辺の重みは全て である。

    このことから、 のクリークは全て変化しない。よって、 最大クリークサイズも変化しない。
  68. 68 / 88 関数 の導入 グラフ を入力とし、 に属するグラフを出力する。 グラフ に、辺のない頂点間に重み

    の辺を挿入した グラフを とする。 となるとき、 とする。 いずれの頂点間への辺挿入においても、 と なるとき、 を返す。 よって、 は明らか。 8 7 1 6 2 3 4 5 8 7 1 6 Add an edge with weight 1/2 2 3 4 5
  69. 69 / 88 補題 完全グラフ は に属する。 には辺のない頂点間が存在しない。よって、辺を挿入 できない。

  70. 70 / 88 補題 サイズ となる 個の完全グラフ を 用いて、 としたとき、

    となる。 間の任意の頂点間に重み の辺を挿入した グラフを とする。このとき、 となる。 つまり、 は分割したグラフを含まない。
  71. 71 / 88 関数 の導入 グラフ と頂点 を入力とし、頂点 を削除したグラフ を作成する。

    のとき、 を返す。 のとき、重み の辺をある頂点間に加えた グラフ において になれば、 を返す。 いずれの頂点間に辺を加えても となるとき、 を返す。 は明らか。 8 7 1 6 2 3 5 8 1 6 4 7 Add an edge with weight 1/2 Delete vertex 2 3 4 5
  72. 72 / 88 定理 辺重み付きグラフを 、 から任意の頂点を削除したグラフを 、 とする。 の誘導サブグラフを

    、 とする。 から任意の頂点を削除した グラフを 、 とする。 と の最大 クリークサイズが同じとき、 の頂点数は より 以上小さい。 最大クリークサイズを として を導入する。 辺の重み が より、 のとき成り立つ。 が成り立つとき、 が成り立つ。 よって、 のとき成り立つ。 最大クリーク ... 頂点数2以上
  73. 73 / 88 定理 辺重み付きグラフを 、 から任意の頂点を削除したグラフを 、 とする。 の誘導サブグラフを

    、 とする。 から任意の頂点を削除した グラフを 、 とする。 の頂点数が の頂点数より 以上小さいとする。このとき、 の最大 クリークサイズは の最大クリークサイズよりたかだか 小さい。 の最大クリークサイズが の最大クリークサイズより 以上 大きいとすると、 となる。よって、仮定は 誤り。
  74. 74 / 88 要するに... いずれかの頂点を削除して が減少しないとき、 が 減少するまで、ないしは、任意の頂点を削除 したときに が減少するとき、

    が 減少する までの頂点集合を とする。 このとき、 に属する頂点を削除すると、最大クリークサイズが一つ 減る可能性がある。 最大クリークサイズが一つ減るとき、頂点削除したあとに、 の頂点を一つ戻して最大クリークサイズの減少を防ぐ ことができる。
  75. 75 / 88 最大クリーク抽出戦略 最大クリークサイズを変更しないように、 を一つづつ小さくする

  76. 76 / 88 最大クリークの抽出

  77. 77 / 88 頂点削除 いずれかの頂点を削除したとき が減少しないとき、 が 減少するまで、ないしは、任意の頂点を削除した ときに が減少するとき、

    が 減少するまでの 頂点集合を とする。 に属する頂点を削除すると、最大クリークサイズが一つ 減る可能性がある。 最大クリークサイズが一つ減るとき、頂点削除したあとに、 の頂点を一つ戻して最大クリークサイズの減少を防ぐ ことができる。
  78. 78 / 88 頂点削除 に属する頂点を削除したあと、 に属する頂点 を戻して、 が減らないように 以外の頂点を削除する。 削除した頂点集合を

    としたとき、以下が成り立つ。 • •
  79. 79 / 88 のとき のとき、頂点 を削除しても最大クリークサイズは 変化しない。 3 4 2

    3 4 5 Delete vertex 1 6 1 6 2 5 4 6 2 5 Add an edge with weight 1/2 3 1 3 4 Delete vertex 1 6 2 5 2 3 4 5 1 6 Add deleted vertex 7 Delete vertices in
  80. 80 / 88 のとき のとき、 と の最大クリークサイズは同じとなる。 頂点 によって、 内にある

    を支えている頂点集合を 削除できるため。 3 4 2 3 4 Delete vertices in 1 1 2 5 6 6 5 2 3 4 1 5 6 Add deleted vertex Delete vertices in 7
  81. 81 / 88 最大クリーク抽出戦略 最大クリークサイズを変更しないように、 を一つづつ小さくできる このステップの計算量は多項式時間

  82. 82 / 88 結論 最大クリークサイズを変更しない頂点集合を多項式時間で 抽出可能 最大クリークを一つ抽出する計算量は となる

  83. 83 / 88 論文かいた 日本語版 https://www.researchgate.net/publication/ 348225014_gurafusupekutoruniyoruduoxiangshishijianzuidakurikuchouchu 英語版 https://www.researchgate.net/publication/347522479_Polynomial- time_Extraction_of_the_Maximum_Clique_Using_Eigenvalue_Relation

  84. 84 / 88 できた! ということで投稿した

  85. 85 / 88 ACM系は投稿できる! P/NP Policy Important Note on P/NP:

    Some submissions purport to solve a long- standing open problem in complexity theory, such as the P/NP problem. Many of these turn out to be mistaken, and such submissions tax JACM volunteer editors and reviewers. JACM remains open to the possibility of eventual resolution of P/NP and related questions, and continues to welcome submissions on the subject. However, to mitigate the burden of repeated resubmissions due to incremental corrections of errors identified during editorial review, no author may submit more than one such paper to JACM, ACM Trans. on Algorithms, or ACM Trans. on Computation in any 24-month period, except by invitation of the Editor-in-Chief. This applies to resubmissions of previously rejected manuscripts. Please consider this policy before submitting a such a paper. http://jacm.acm.org/pnp-policy.cfm
  86. 86 / 88 結果は... Associate Editor アサイン待ち 9月18 日時点で 3ヶ月間変化なし...

    放置されてる?
  87. 87 / 88 まとめ – P vs NP 問題(数学沼)へのチャレンジ –

    最大クリーク問題が多項式時間で解けることを 構成的に証明 – グラフスペクトル(隣接行列の固有値)を利用
  88. 88 / 88 さいごに ゴールデンチケットは だれの手に?