SlideShare a Scribd company logo
Nobutaka Shimizu
Introduction to


Locally Testable Codes


and Related Topics
•Dinur et al. (2021) の例の論文の凄さなどを把握する.


‣ (できれば, 背景にある high-dimensional expander も勉強したい…)
Goal
•LTCのTCSにおける背景を概説


‣ LTCの定義 (誤り訂正符号の文脈)


‣ 関連話題 : 性質検査, PCP


•TCSにおける今後の進展(予想)


‣ 線形サイズのPCPの開発 ETHとgap-ETHの等価性 (たぶん)
⇒
発表の概要
Locally Testable Codes
•動機: メッセージの復元


‣ AliceがBobにメッセージ を送る


‣ 通信路ではノイズが発生するため, のうちランダムな ビットが反転する


‣ ある単射 を使い, Aliceは の代わりに を送る


‣ Bobはある写像 により受け取った文字列から を復元
m ∈ {0,1}k
m ∈ {0,1}k
p
E: {0,1}k
→ {0,1}n
m E(m)
D: {0,1}n
→ {0,1}k
m
Error-Correcting Code (ECC)
E(m) + ノイズ を受け取る.


受け取った文字列に対し を作用させ, を復元.
E(m)
D m
メッセージ を送りたい.


途中でノイズが発生するため,


をそのまま送れない.
m
m
•4bitのメッセージ を送りたい


‣ とする.


‣ , where


‣ ならば, なので, 1bitのノイズは復元できる
m = x1x2x3x4
E(m) = [x1, x2, x3, x4, x2 ⊕ x3 ⊕ x4, x1 ⊕ x3 ⊕ x4, x1 ⊕ x2 ⊕ x4]
E(m) = Gm
m1 ≠ m2 ∥Gm1 − Gm2∥1 ≥ 3
例: Hamming Code
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
0 1 1 1
1 0 1 1
1 1 0 1
G =
•幾何的な解釈 (Encoding)
Error-Correcting Code (ECC)
{0,1}k
{0,1}n
E
距離 = ハミング距離
Bobが受け取る文字列は (平均的に)


半径 の円に入っている.
pn
•幾何的な解釈 (Decoding)
Error-Correcting Code (ECC)
{0,1}k
{0,1}n
D
距離 = ハミング距離
与えられた点 (=受信した文字列) が


どの円に入っているか?
•ノイズ の限界


‣ が大きすぎると, 円と円が重なるので復元できない.


‣ 一般にノイズ の大きさは不明.


‣ ECCを適用する前に通信路のノイズが大きすぎるかどうかを知りたい.


- Locally Testable Codes
p
p
p
Error-Correcting Code (ECC)
•問題 (Codeword Testing for )


‣ 入力


‣ 出力


- Yes if


- No if is -far from


‣ 受信した文字列 と捉える.


- ノイズが大きすぎたら答えはNo.


‣ ただし, の中で定数bitだけアクセスできる (ランダムアクセス)
E
y ∈ {0,1}n
y ∈ Im(E)
y ϵ Im(E)
y =
y
Locally Testable Code
{0,1}n
y
are -far if .


is -far from if and are -far for any .
x, y ∈ {0,1}n
ϵ dham(x, y) ≥ ϵn
x ϵ A ⊆ {0,1}n
x y ϵ y ∈ A
• は, 以下を満たす乱択オラクルマシン と定数
が存在するときに LTC である.


‣ ならば, .


‣ が から -farならば, .


‣ ただし, はインデックス を乱択計算し, オラクルで の値
を見て出力を決める (オラクルに定数回だけアクセスできる).


‣ ここでは「オラクル = インデックスを指定するとそこの文字を返す関数」
E: {0,1}k
→ {0,1}n
V
q ∈ ℕ
y ∈ Im(E) Pr
V
[Vy
(1k
) = 1] = 1
y Im(E) ϵ Pr[Vy
(1k
) = 0] = Ω(ϵ)
V i1, …, iq ∈ [n] y[i1], …, y[iq]
Locally Testable Codeの定義
•スープの味見


‣ 美味しいかしょっぱ過ぎるかを判定したい


- 美味しい しょっぱ過ぎる 「美味しい」状態から -far


‣ 厳密にはスープを全部飲めば判定できる


- 文字列 の全ての文字をチェックすることに対応


‣ 実際にはスープをよく混ぜて一口だけ掬って味見する


- 文字列 のランダム文字をチェックすることに対応
V = 1 ⟺ ≈ ϵ
y
y
LTCのイメージ
•関数=文字列


‣ 関数 は長さ の文字列とみなす.


- 例 : ならば, ”0110”


‣ 一般に関数 は長さ の文字列 (各文字は の元) とみなす.


‣ 関数 の文字列表記を と書く (真偽値表; Truth Table).


•ECCやLTCでは文字列をTT(関数)に変換するものをよく考える


‣ Hadamard, Reed-Solomon, Reed-Muller, etc
f: {0,1}k
→ {0,1} 2k
f(00) = 0, f(01) = 1, f(10) = 1, f(11) = 0 f =
f: X → Y |X| Y
f
𝖳
𝖳
(f )
符号化の例
•Hadamard Code


‣ ベクトル に対し, 関数 を考える (演算は 上)


‣ を Hadamard code という.


‣ は真偽値表なので, 長さは
s ∈ {0,1}k
fs : z ↦ ⟨s, z⟩ ∈ {0,1}
𝔽
2
E: x ↦
𝖳
𝖳
(fx)
TT(fx) 2k
Example: Hadamard Code
0 1 1 0 1 1 0 0 1 1 0
x
E(x)
•Hadamard Code の Tester を考える.


‣ オラクル はインデックス に対し を教えてくれる.


‣ を独立一様ランダムにサンプリングする.


‣ ならば1を出力, そうでなかければ0を出力.


‣ ならば, ある に対し は線形関数


- なので, . つまり .


‣ が -far ならば (非自明だが証明略)
V
y ∈ {0,1}2k
a ∈ {0,1}k
y[a]
a, b ∈ {0,1}k
y[a] + y[b] = y[a + b]
y ∈ Im(E) x ∈ {0,1}k
y =
𝖳
𝖳
(fx)
y[a] =
𝖳
𝖳
(fx)a = ⟨x, a⟩ y[a] + y[b] = ⟨x, a + b⟩ = y[a + b] Vy
= 1
y ϵ Pr[Vy
(1k
) = 0] = Ω(ϵ)
Testability
[Blum, Luby, Rubinfeld, 1990]
•LTC に対し


- は と比べてどれくらい大きいか? (rate= )


- クエリ回数


- 許容されるノイズ の大きさ ( : soundness parameter)


•理想のLTC


‣ constant rate, constant query, constant soundness ( )


‣ その存在性は重要な未解決問題だった
E: {0,1}k
→ {0,1}n
n k k/n
p p
c3
Parameters of Locally Testable Codes
y
{0,1}n
LTCの歴史
Hadamard code implicit
Reed-Muller code implicit
Friedl and Sudan (95)
Goldreich and Sudan (06) existence
Ben-Sasson, Sudan,
Vadhan, Wigderson (03)
construction
n = 2k
n = (1 + ϵ)k
n = k2+o(1)
n = k1+o(1)
n = k1+o(1)
There are many other important works that are not covered in this list.
Related Topic:


Property Testing
•性質検査


‣ 与えられたグラフや文字列がある性質を満たすかを乱択で検証.


‣ 入力を全て見ることはできない.


- 入力文字列の中の定数個のビットだけクエリアクセスできる.


‣ 性質を満たすならばYESを出力.


‣ 性質から -farならば高確率でNOを出力.


•例


‣ グラフが三角形を含まないかどうか (Szemerédiの正則化補題が活躍)


‣ 文字列が回文かどうか


‣ 関数が線形かどうか
ϵ
Property Testing
[Rubinfeld and Sudan, 1996] [Goldreich, Goldwasser, Ron, 1998]
グラフ全体
性質を満たすグラフ全体
•性質検査


‣ 定数ビットだけ見ることができる.


‣ 性質を満たすならばYESを出力.


‣ 性質から -farならば高確率でNOを出力.


•LTC : 性質検査の特殊ケース


‣ 定数ビットだけ見ることができる


‣ Codeword (i.e., に属する) ならYESを出力


‣ Codewordから -farなら高確率でNOを出力
ϵ
Im(E)
ϵ
Property Testing and LTC
•性質検査


‣ 自然な性質に対して検査ができるかどうか?


- グラフの組合せ論的性質, 関数の代数的性質, etc


‣ 検査したい性質が与えられ, その検査可能性を議論.


•LTC


‣ パラメータの良い (例えばを与えたい.


‣ 検査できる性質をうまく定義
E
Property Testing and LTC
Related Topic: PCP Theorem
Proof Verification
•証明 = 命題が真であることを納得させるに足る文字列.


‣ 証明者は検証者に文字列を送り, 検証者はその文字列を見て真偽を判定.
グラフ と は同型
G1 G2
同型写像 ϕ
が本当に同型写像かどうか検証
ϕ
Prover P Verifier V
•クラスNP : 簡潔かつ検証が簡単な命題(判定問題)の集合
Interactive Proof System
•対話証明 : Verifierは乱択で, かつProverに質問できる
グラフ と は非同型
G1 G2
Gi
ランダムな とランダム置換


をとり, をProverに送る.


「 は と のどちらでしょう?」


と質問する.
i ∈ {1,2} p
p(Gi)
p(Gi) G1 G2
Prover P Verifier V
•クラスIP : 対話証明で真偽が判定できる命題(判定問題)の集合
Interactive Proof System
グラフ と は非同型
G1 G2
b ∈ {1,2}
Prover P Verifier V
•クラスIP : 対話証明で真偽が判定できる命題(判定問題)の集合
Proverから送られてきたグラフ


を見て, 質問に答える.


と が非同型なら, ちゃんと


答えられる.
G1 G2
•対話証明 : Verifierは乱択で, かつProverに質問できる
Interactive Proof System
グラフ と は非同型
G1 G2
Proverから送られてきた に対し,


ならば受理.


そうでなければ拒否する.
b
i = b
Prover P Verifier V
•クラスIP : 対話証明で真偽が判定できる命題(判定問題)の集合
•対話証明 : Verifierは乱択で, かつProverに質問できる
Background: Proof Verification
•検証可能な命題のクラス


‣ 対話証明の方が強力(広いクラスの命題を検証できる).


- IP=PSPACE


- MIP=NEXP


‣ PSPACEやNEXPを対話証明(質問+乱択)の枠組みで特徴づけている


•NPを対話証明の枠組みで特徴付けられるか?


‣ IP=PSPACE, MIP=NEXPに対し, 右辺をNPにするとどのような証明系になるか?


‣ PCP定理 : NP=PCP(logn, 1)
[Shamir, 1990][Lund, Fortnow, Karloff, Nisan, 1990]
[Babai, Fortnow, Lund, 1990]
•判定問題


‣ は, ならばYesインスタンス; そうでなければNoインスタンス.


• ある多項式時間マシン と多項式 が存在し


‣ ならば, ある が存在し, .


‣ ならば, 任意の に対し, .


• は命題「 」の証明. は検証者.


‣ 例: と は同型
L ⊆ {0,1}*
x ∈ {0,1}n
x ∈ L
L ∈ NP ⟺ V( ⋅ , ⋅ ) p( ⋅ )
x ∈ L π ∈ {0,1}p(|x|)
V(x, π) = 1
x ∉ L π ∈ {0,1}p(|x|)
V(x, π) = 0
π x ∈ L V
L = {(G1, G2): G1 G2 }
クラスNP
•クラス MA : 検証者 が乱択を使える時の計算量クラス


• ある乱択多項式時間マシン と多項式 が存在し


‣ ならば, ある が存在し, .


‣ ならば, 任意の に対し, .


•定義より,


‣ 包含関係が真かどうかは未解決
V
L ∈ MA ⟺ V( ⋅ , ⋅ ) p( ⋅ )
x ∈ L π ∈ {0,1}p(|x|)
Pr[V(x, π) = 1] = 1
x ∉ L π ∈ {0,1}p(|x|)
Pr[V(x, π) = 1] ≤ 1/2
NP ⊆ MA
クラスMA
•クラス : MAのうち, 検証者の能力に制限を課したもの.


• 以下を満たすあるオラクル乱択多項式時間マシン


‣ ならば, ある が存在し, .


‣ ならば, 任意の に対し, .


‣ は bitの乱択を使い, インデックス を計算し, にアクセスし,
その値に応じて出力値を決定する.
PCP(r, q)
L ∈ PCP(r, q) ⟺∃
V( ⋅ , ⋅ )
x ∈ L π ∈ {0,1}p(|x|)
Pr[Vπ
(x) = 1] = 1
x ∉ L π ∈ {0,1}p(|x|)
Pr[Vπ
(x) = 1] ≤ 1/2
Vπ
(x) r i1, …, iq π[i1], …, π[iq]
クラスPCP
•3SAT : 次の形で与えられる論理式 は充足可能か?


‣


‣ 各 は三つのリテラルを で結合したもの


‣ 例:


‣ NP完全 (Cook-Levinの定理)
ϕ
ϕ(x) = ϕ1(x) ∧ … ∧ ϕm(x)
ϕi : {0,1}n
→ {0,1} or
ϕ = (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4) ∧ (x2 ∨ x3 ∨ x4)
例: SAT
3
•3SATに対する次の検証者 を考える:


‣ を に対する割当と解釈する.


‣ とする.


‣ をランダムに選び, が依存する変数を とする.


- ならば受理; そうでなければ拒否.


‣ bit のランダムネス + 回のアクセス
Vπ
(ϕ)
π ∈ {0,1}n
x = (x1, …, xn)
ϕ = ϕ1 ∧ … ∧ ϕm
i ∈ [m] ϕi xi1
, xi2
, xi3
ϕi(π[i1], π[i2], π[i3]) = 1
O(log m) 3
例: 3SAT
•3SATに対する次の検証者 を考える:


‣ がYesインスタンスならば, を充足割当とすれば は必ず受理する.


‣ がNoインスタンスならば, 任意の割当 に対しある が存在して


- がこの を選ぶ確率は なので, .


• を 回繰り返せば, 確率を から に上げられる


‣ bit のランダムネス + 回のクエリアクセス


‣ (証明を全部見るのとあまり変わらない)
Vπ
(ϕ)
ϕ π V
ϕ π j ϕj(x) = 0
V j 1/m Pr[Vπ
(ϕ) = 0] ≥ 1/m
V O(m) 1/m 1/2
O(m log m) O(m)
例: 3SAT
• : 乱択 bit + 回の証明アクセスで検証可能


‣ 証明 の全てのbitを見ることはできない ( )


‣ bit は 通りあるので, これらを列挙すれば乱択なしで検証可能


•PCP定理:


‣ は自明 (ランダムビットを列挙すればよい)
PCP(r, q) r q
π q ≪ |π|
r 2r
PCP(O(log n), O(1)) = NP
PCP(O(log n), O(1)) ⊆ NP
PCP Theorem
•PCP-type results
PCP Theorem (history)
Babai, Fortnow, Lund 1991
Babai, Fortnow, Levin, Szegedy 1991
Feige, Goldwasser, Lovász,
Safra, Szegedy
1996
Arora, Safra 1998
Arora, Lund, Motwani, Sudan,
Szegedy
1998
Håstad 2001
NEXP = PCP(nO(1)
, nO(1)
)
NP ⊆ PCP(logO(1)
n, logO(1)
n)
NP ⊆ PCP(O(log n log log n), O(log n log log n))
NP = PCP(O(log n), O( log n))
NP = PCP(O(log n),106
)
NP = PCP(O(log n),3)
•文脈によく出てくる専門用語


‣ PCP検証者 : ランダムビットとクエリ回数が制限された検証者


‣ PCP: PCP検証者によって検証出来る証明


- PCP : Probabilistically Checkable Proof


•厳密な関係性は知られていない


‣ PCP定理の証明手法(のほとんど)がLTCと関連があるに過ぎない.


‣ ある種のPCPとLTCの相互変換の手法は知られている


‣ PCPっぽいもの (PCP of Proximity) はLTCに変換できる
LTC and PCP
[Goldreich, Sudan, 2006]
[Ben-Sasson, Goldreich, Harsha, Sudan, Vadhan, 2006]
•PCP定理 :


‣ “ ” は自明 (ランダムビットを全列挙できる)


‣ “ ” の証明がかなり非自明


- 方針 : を示す.


- アイデア : より, はNP証明 を持つ. これをPCP に変換する.


- このとき, の変換をLTCと見做す.
NP = PCP(O(log n),106
)
⊇
⊆
L ∈ NP ⇒ L ∈ PCP(O(log n),106
)
L ∈ NP L w π
w ↦ π
LTC view of PCP
•Dinurら(2021)の論文 : constant rate LTC


‣ i.e., 

•LTC と PCP は似た技術を使っている


‣ Dinurら(2021)のLTCを使うと, NP証明 を なるPCP に変形できるか
も (Dinur, Goldreich辺りの人たちは恐らくもう取り組んでる)


‣ linear-size PCPを近似困難性の枠組みと組み合わせるとETH gap-ETHが言えそう
(けっこうすごいと思う)
|E(x)| = O(|x|)
w |π| = O(|w|) π
⟺
今後の展望

More Related Content

PDF
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
PDF
Icml yomikai 07_16
PPTX
素数判定法
PDF
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
PPT
6 Info Theory
PDF
カーネル法:正定値カーネルの理論
PDF
Jokyonokai
PDF
Sparse models
レベル2準同型暗号の平文バイナリ制約を与えるコンパクトな非対話ゼロ知識証明
Icml yomikai 07_16
素数判定法
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
6 Info Theory
カーネル法:正定値カーネルの理論
Jokyonokai
Sparse models

What's hot (18)

PDF
Scala 初心者が米田の補題を Scala で考えてみた
PDF
低ランク行列補完のためのマトロイド理論
PDF
Aishima140714
PDF
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
PDF
Scala 初心者が Hom 函手を Scala で考えてみた
PDF
ML: Sparse regression CH.13
PDF
π計算
PDF
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
PDF
2014 12-9
PDF
130323 slide all
PDF
Jokyo20130218
PDF
ウェーブレット木の世界
PDF
関数プログラミング入門
PPTX
(Lambdaだけで) 純LISPのような ナニかを作る
PDF
Chainerで流体計算
PDF
GC in C++0x
PDF
Emcjp item33,34
PDF
Crfと素性テンプレート
Scala 初心者が米田の補題を Scala で考えてみた
低ランク行列補完のためのマトロイド理論
Aishima140714
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
Scala 初心者が Hom 函手を Scala で考えてみた
ML: Sparse regression CH.13
π計算
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
2014 12-9
130323 slide all
Jokyo20130218
ウェーブレット木の世界
関数プログラミング入門
(Lambdaだけで) 純LISPのような ナニかを作る
Chainerで流体計算
GC in C++0x
Emcjp item33,34
Crfと素性テンプレート
Ad

Similar to Introduction to Locally Testable Codes and Related Topics (in Japanese) (20)

PDF
Shunsuke Horii
PPTX
充足可能性問題のいろいろ
PDF
暗認本読書会13 advanced
PDF
プログラミングコンテストでの乱択アルゴリズム
PDF
Deep Learning を実装する
PPTX
Undecidable Traveler
PDF
Sparse estimation tutorial 2014
PDF
Sized Linear Algebra Package のチュートリアル
PPTX
Graph convolution (スペクトルアプローチ)
PDF
パターン認識 05 ロジスティック回帰
PDF
introductino to persistent homology and topological data analysis
PDF
楕円曲線入門 トーラスと楕円曲線のつながり
PDF
演習発表 Sari v.1.2
PPTX
Rで学ぶデータサイエンス第1章(判別能力の評価)
PPTX
yyoshida thesis
PDF
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
PDF
パターン認識と機械学習6章(カーネル法)
PPTX
Prml 1.3~1.6 ver3
PPT
K070k80 点推定 区間推定
PDF
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
Shunsuke Horii
充足可能性問題のいろいろ
暗認本読書会13 advanced
プログラミングコンテストでの乱択アルゴリズム
Deep Learning を実装する
Undecidable Traveler
Sparse estimation tutorial 2014
Sized Linear Algebra Package のチュートリアル
Graph convolution (スペクトルアプローチ)
パターン認識 05 ロジスティック回帰
introductino to persistent homology and topological data analysis
楕円曲線入門 トーラスと楕円曲線のつながり
演習発表 Sari v.1.2
Rで学ぶデータサイエンス第1章(判別能力の評価)
yyoshida thesis
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
パターン認識と機械学習6章(カーネル法)
Prml 1.3~1.6 ver3
K070k80 点推定 区間推定
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
Ad

Introduction to Locally Testable Codes and Related Topics (in Japanese)

  • 1. Nobutaka Shimizu Introduction to Locally Testable Codes and Related Topics
  • 2. •Dinur et al. (2021) の例の論文の凄さなどを把握する. ‣ (できれば, 背景にある high-dimensional expander も勉強したい…) Goal
  • 3. •LTCのTCSにおける背景を概説 ‣ LTCの定義 (誤り訂正符号の文脈) ‣ 関連話題 : 性質検査, PCP •TCSにおける今後の進展(予想) ‣ 線形サイズのPCPの開発 ETHとgap-ETHの等価性 (たぶん) ⇒ 発表の概要
  • 5. •動機: メッセージの復元 ‣ AliceがBobにメッセージ を送る ‣ 通信路ではノイズが発生するため, のうちランダムな ビットが反転する ‣ ある単射 を使い, Aliceは の代わりに を送る ‣ Bobはある写像 により受け取った文字列から を復元 m ∈ {0,1}k m ∈ {0,1}k p E: {0,1}k → {0,1}n m E(m) D: {0,1}n → {0,1}k m Error-Correcting Code (ECC) E(m) + ノイズ を受け取る. 受け取った文字列に対し を作用させ, を復元. E(m) D m メッセージ を送りたい. 途中でノイズが発生するため, をそのまま送れない. m m
  • 6. •4bitのメッセージ を送りたい ‣ とする. ‣ , where ‣ ならば, なので, 1bitのノイズは復元できる m = x1x2x3x4 E(m) = [x1, x2, x3, x4, x2 ⊕ x3 ⊕ x4, x1 ⊕ x3 ⊕ x4, x1 ⊕ x2 ⊕ x4] E(m) = Gm m1 ≠ m2 ∥Gm1 − Gm2∥1 ≥ 3 例: Hamming Code 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 1 G =
  • 7. •幾何的な解釈 (Encoding) Error-Correcting Code (ECC) {0,1}k {0,1}n E 距離 = ハミング距離 Bobが受け取る文字列は (平均的に) 半径 の円に入っている. pn
  • 8. •幾何的な解釈 (Decoding) Error-Correcting Code (ECC) {0,1}k {0,1}n D 距離 = ハミング距離 与えられた点 (=受信した文字列) が どの円に入っているか?
  • 9. •ノイズ の限界 ‣ が大きすぎると, 円と円が重なるので復元できない. ‣ 一般にノイズ の大きさは不明. ‣ ECCを適用する前に通信路のノイズが大きすぎるかどうかを知りたい. - Locally Testable Codes p p p Error-Correcting Code (ECC)
  • 10. •問題 (Codeword Testing for ) ‣ 入力 ‣ 出力 - Yes if - No if is -far from ‣ 受信した文字列 と捉える. - ノイズが大きすぎたら答えはNo. ‣ ただし, の中で定数bitだけアクセスできる (ランダムアクセス) E y ∈ {0,1}n y ∈ Im(E) y ϵ Im(E) y = y Locally Testable Code {0,1}n y are -far if . is -far from if and are -far for any . x, y ∈ {0,1}n ϵ dham(x, y) ≥ ϵn x ϵ A ⊆ {0,1}n x y ϵ y ∈ A
  • 11. • は, 以下を満たす乱択オラクルマシン と定数 が存在するときに LTC である. ‣ ならば, . ‣ が から -farならば, . ‣ ただし, はインデックス を乱択計算し, オラクルで の値 を見て出力を決める (オラクルに定数回だけアクセスできる). ‣ ここでは「オラクル = インデックスを指定するとそこの文字を返す関数」 E: {0,1}k → {0,1}n V q ∈ ℕ y ∈ Im(E) Pr V [Vy (1k ) = 1] = 1 y Im(E) ϵ Pr[Vy (1k ) = 0] = Ω(ϵ) V i1, …, iq ∈ [n] y[i1], …, y[iq] Locally Testable Codeの定義
  • 12. •スープの味見 ‣ 美味しいかしょっぱ過ぎるかを判定したい - 美味しい しょっぱ過ぎる 「美味しい」状態から -far ‣ 厳密にはスープを全部飲めば判定できる - 文字列 の全ての文字をチェックすることに対応 ‣ 実際にはスープをよく混ぜて一口だけ掬って味見する - 文字列 のランダム文字をチェックすることに対応 V = 1 ⟺ ≈ ϵ y y LTCのイメージ
  • 13. •関数=文字列 ‣ 関数 は長さ の文字列とみなす. - 例 : ならば, ”0110” ‣ 一般に関数 は長さ の文字列 (各文字は の元) とみなす. ‣ 関数 の文字列表記を と書く (真偽値表; Truth Table). •ECCやLTCでは文字列をTT(関数)に変換するものをよく考える ‣ Hadamard, Reed-Solomon, Reed-Muller, etc f: {0,1}k → {0,1} 2k f(00) = 0, f(01) = 1, f(10) = 1, f(11) = 0 f = f: X → Y |X| Y f 𝖳 𝖳 (f ) 符号化の例
  • 14. •Hadamard Code ‣ ベクトル に対し, 関数 を考える (演算は 上) ‣ を Hadamard code という. ‣ は真偽値表なので, 長さは s ∈ {0,1}k fs : z ↦ ⟨s, z⟩ ∈ {0,1} 𝔽 2 E: x ↦ 𝖳 𝖳 (fx) TT(fx) 2k Example: Hadamard Code 0 1 1 0 1 1 0 0 1 1 0 x E(x)
  • 15. •Hadamard Code の Tester を考える. ‣ オラクル はインデックス に対し を教えてくれる. ‣ を独立一様ランダムにサンプリングする. ‣ ならば1を出力, そうでなかければ0を出力. ‣ ならば, ある に対し は線形関数 - なので, . つまり . ‣ が -far ならば (非自明だが証明略) V y ∈ {0,1}2k a ∈ {0,1}k y[a] a, b ∈ {0,1}k y[a] + y[b] = y[a + b] y ∈ Im(E) x ∈ {0,1}k y = 𝖳 𝖳 (fx) y[a] = 𝖳 𝖳 (fx)a = ⟨x, a⟩ y[a] + y[b] = ⟨x, a + b⟩ = y[a + b] Vy = 1 y ϵ Pr[Vy (1k ) = 0] = Ω(ϵ) Testability [Blum, Luby, Rubinfeld, 1990]
  • 16. •LTC に対し - は と比べてどれくらい大きいか? (rate= ) - クエリ回数 - 許容されるノイズ の大きさ ( : soundness parameter) •理想のLTC ‣ constant rate, constant query, constant soundness ( ) ‣ その存在性は重要な未解決問題だった E: {0,1}k → {0,1}n n k k/n p p c3 Parameters of Locally Testable Codes y {0,1}n
  • 17. LTCの歴史 Hadamard code implicit Reed-Muller code implicit Friedl and Sudan (95) Goldreich and Sudan (06) existence Ben-Sasson, Sudan, Vadhan, Wigderson (03) construction n = 2k n = (1 + ϵ)k n = k2+o(1) n = k1+o(1) n = k1+o(1) There are many other important works that are not covered in this list.
  • 19. •性質検査 ‣ 与えられたグラフや文字列がある性質を満たすかを乱択で検証. ‣ 入力を全て見ることはできない. - 入力文字列の中の定数個のビットだけクエリアクセスできる. ‣ 性質を満たすならばYESを出力. ‣ 性質から -farならば高確率でNOを出力. •例 ‣ グラフが三角形を含まないかどうか (Szemerédiの正則化補題が活躍) ‣ 文字列が回文かどうか ‣ 関数が線形かどうか ϵ Property Testing [Rubinfeld and Sudan, 1996] [Goldreich, Goldwasser, Ron, 1998] グラフ全体 性質を満たすグラフ全体
  • 20. •性質検査 ‣ 定数ビットだけ見ることができる. ‣ 性質を満たすならばYESを出力. ‣ 性質から -farならば高確率でNOを出力. •LTC : 性質検査の特殊ケース ‣ 定数ビットだけ見ることができる ‣ Codeword (i.e., に属する) ならYESを出力 ‣ Codewordから -farなら高確率でNOを出力 ϵ Im(E) ϵ Property Testing and LTC
  • 21. •性質検査 ‣ 自然な性質に対して検査ができるかどうか? - グラフの組合せ論的性質, 関数の代数的性質, etc ‣ 検査したい性質が与えられ, その検査可能性を議論. •LTC ‣ パラメータの良い (例えばを与えたい. ‣ 検査できる性質をうまく定義 E Property Testing and LTC
  • 23. Proof Verification •証明 = 命題が真であることを納得させるに足る文字列. ‣ 証明者は検証者に文字列を送り, 検証者はその文字列を見て真偽を判定. グラフ と は同型 G1 G2 同型写像 ϕ が本当に同型写像かどうか検証 ϕ Prover P Verifier V •クラスNP : 簡潔かつ検証が簡単な命題(判定問題)の集合
  • 24. Interactive Proof System •対話証明 : Verifierは乱択で, かつProverに質問できる グラフ と は非同型 G1 G2 Gi ランダムな とランダム置換 をとり, をProverに送る. 「 は と のどちらでしょう?」 と質問する. i ∈ {1,2} p p(Gi) p(Gi) G1 G2 Prover P Verifier V •クラスIP : 対話証明で真偽が判定できる命題(判定問題)の集合
  • 25. Interactive Proof System グラフ と は非同型 G1 G2 b ∈ {1,2} Prover P Verifier V •クラスIP : 対話証明で真偽が判定できる命題(判定問題)の集合 Proverから送られてきたグラフ を見て, 質問に答える. と が非同型なら, ちゃんと 答えられる. G1 G2 •対話証明 : Verifierは乱択で, かつProverに質問できる
  • 26. Interactive Proof System グラフ と は非同型 G1 G2 Proverから送られてきた に対し, ならば受理. そうでなければ拒否する. b i = b Prover P Verifier V •クラスIP : 対話証明で真偽が判定できる命題(判定問題)の集合 •対話証明 : Verifierは乱択で, かつProverに質問できる
  • 27. Background: Proof Verification •検証可能な命題のクラス ‣ 対話証明の方が強力(広いクラスの命題を検証できる). - IP=PSPACE - MIP=NEXP ‣ PSPACEやNEXPを対話証明(質問+乱択)の枠組みで特徴づけている •NPを対話証明の枠組みで特徴付けられるか? ‣ IP=PSPACE, MIP=NEXPに対し, 右辺をNPにするとどのような証明系になるか? ‣ PCP定理 : NP=PCP(logn, 1) [Shamir, 1990][Lund, Fortnow, Karloff, Nisan, 1990] [Babai, Fortnow, Lund, 1990]
  • 28. •判定問題 ‣ は, ならばYesインスタンス; そうでなければNoインスタンス. • ある多項式時間マシン と多項式 が存在し ‣ ならば, ある が存在し, . ‣ ならば, 任意の に対し, . • は命題「 」の証明. は検証者. ‣ 例: と は同型 L ⊆ {0,1}* x ∈ {0,1}n x ∈ L L ∈ NP ⟺ V( ⋅ , ⋅ ) p( ⋅ ) x ∈ L π ∈ {0,1}p(|x|) V(x, π) = 1 x ∉ L π ∈ {0,1}p(|x|) V(x, π) = 0 π x ∈ L V L = {(G1, G2): G1 G2 } クラスNP
  • 29. •クラス MA : 検証者 が乱択を使える時の計算量クラス • ある乱択多項式時間マシン と多項式 が存在し ‣ ならば, ある が存在し, . ‣ ならば, 任意の に対し, . •定義より, ‣ 包含関係が真かどうかは未解決 V L ∈ MA ⟺ V( ⋅ , ⋅ ) p( ⋅ ) x ∈ L π ∈ {0,1}p(|x|) Pr[V(x, π) = 1] = 1 x ∉ L π ∈ {0,1}p(|x|) Pr[V(x, π) = 1] ≤ 1/2 NP ⊆ MA クラスMA
  • 30. •クラス : MAのうち, 検証者の能力に制限を課したもの. • 以下を満たすあるオラクル乱択多項式時間マシン ‣ ならば, ある が存在し, . ‣ ならば, 任意の に対し, . ‣ は bitの乱択を使い, インデックス を計算し, にアクセスし, その値に応じて出力値を決定する. PCP(r, q) L ∈ PCP(r, q) ⟺∃ V( ⋅ , ⋅ ) x ∈ L π ∈ {0,1}p(|x|) Pr[Vπ (x) = 1] = 1 x ∉ L π ∈ {0,1}p(|x|) Pr[Vπ (x) = 1] ≤ 1/2 Vπ (x) r i1, …, iq π[i1], …, π[iq] クラスPCP
  • 31. •3SAT : 次の形で与えられる論理式 は充足可能か? ‣ ‣ 各 は三つのリテラルを で結合したもの ‣ 例: ‣ NP完全 (Cook-Levinの定理) ϕ ϕ(x) = ϕ1(x) ∧ … ∧ ϕm(x) ϕi : {0,1}n → {0,1} or ϕ = (x1 ∨ x2 ∨ x3) ∧ (x1 ∨ x2 ∨ x4) ∧ (x2 ∨ x3 ∨ x4) 例: SAT 3
  • 32. •3SATに対する次の検証者 を考える: ‣ を に対する割当と解釈する. ‣ とする. ‣ をランダムに選び, が依存する変数を とする. - ならば受理; そうでなければ拒否. ‣ bit のランダムネス + 回のアクセス Vπ (ϕ) π ∈ {0,1}n x = (x1, …, xn) ϕ = ϕ1 ∧ … ∧ ϕm i ∈ [m] ϕi xi1 , xi2 , xi3 ϕi(π[i1], π[i2], π[i3]) = 1 O(log m) 3 例: 3SAT
  • 33. •3SATに対する次の検証者 を考える: ‣ がYesインスタンスならば, を充足割当とすれば は必ず受理する. ‣ がNoインスタンスならば, 任意の割当 に対しある が存在して - がこの を選ぶ確率は なので, . • を 回繰り返せば, 確率を から に上げられる ‣ bit のランダムネス + 回のクエリアクセス ‣ (証明を全部見るのとあまり変わらない) Vπ (ϕ) ϕ π V ϕ π j ϕj(x) = 0 V j 1/m Pr[Vπ (ϕ) = 0] ≥ 1/m V O(m) 1/m 1/2 O(m log m) O(m) 例: 3SAT
  • 34. • : 乱択 bit + 回の証明アクセスで検証可能 ‣ 証明 の全てのbitを見ることはできない ( ) ‣ bit は 通りあるので, これらを列挙すれば乱択なしで検証可能 •PCP定理: ‣ は自明 (ランダムビットを列挙すればよい) PCP(r, q) r q π q ≪ |π| r 2r PCP(O(log n), O(1)) = NP PCP(O(log n), O(1)) ⊆ NP PCP Theorem
  • 35. •PCP-type results PCP Theorem (history) Babai, Fortnow, Lund 1991 Babai, Fortnow, Levin, Szegedy 1991 Feige, Goldwasser, Lovász, Safra, Szegedy 1996 Arora, Safra 1998 Arora, Lund, Motwani, Sudan, Szegedy 1998 Håstad 2001 NEXP = PCP(nO(1) , nO(1) ) NP ⊆ PCP(logO(1) n, logO(1) n) NP ⊆ PCP(O(log n log log n), O(log n log log n)) NP = PCP(O(log n), O( log n)) NP = PCP(O(log n),106 ) NP = PCP(O(log n),3)
  • 36. •文脈によく出てくる専門用語 ‣ PCP検証者 : ランダムビットとクエリ回数が制限された検証者 ‣ PCP: PCP検証者によって検証出来る証明 - PCP : Probabilistically Checkable Proof •厳密な関係性は知られていない ‣ PCP定理の証明手法(のほとんど)がLTCと関連があるに過ぎない. ‣ ある種のPCPとLTCの相互変換の手法は知られている ‣ PCPっぽいもの (PCP of Proximity) はLTCに変換できる LTC and PCP [Goldreich, Sudan, 2006] [Ben-Sasson, Goldreich, Harsha, Sudan, Vadhan, 2006]
  • 37. •PCP定理 : ‣ “ ” は自明 (ランダムビットを全列挙できる) ‣ “ ” の証明がかなり非自明 - 方針 : を示す. - アイデア : より, はNP証明 を持つ. これをPCP に変換する. - このとき, の変換をLTCと見做す. NP = PCP(O(log n),106 ) ⊇ ⊆ L ∈ NP ⇒ L ∈ PCP(O(log n),106 ) L ∈ NP L w π w ↦ π LTC view of PCP
  • 38. •Dinurら(2021)の論文 : constant rate LTC ‣ i.e., •LTC と PCP は似た技術を使っている ‣ Dinurら(2021)のLTCを使うと, NP証明 を なるPCP に変形できるか も (Dinur, Goldreich辺りの人たちは恐らくもう取り組んでる) ‣ linear-size PCPを近似困難性の枠組みと組み合わせるとETH gap-ETHが言えそう (けっこうすごいと思う) |E(x)| = O(|x|) w |π| = O(|w|) π ⟺ 今後の展望