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

What's hot

Scala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみたScala 初心者が米田の補題を Scala で考えてみた
Scala 初心者が米田の補題を Scala で考えてみた
Kazuyuki TAKASE
 
低ランク行列補完のためのマトロイド理論
低ランク行列補完のためのマトロイド理論低ランク行列補完のためのマトロイド理論
低ランク行列補完のためのマトロイド理論ryotat
 
Aishima140714
Aishima140714Aishima140714
Aishima140714nwpmq516
 
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
文字列カーネルによる辞書なしツイート分類 〜文字列カーネル入門〜
Takeshi Arabiki
 
Scala 初心者が Hom 函手を Scala で考えてみた
Scala 初心者が Hom 函手を Scala で考えてみたScala 初心者が Hom 函手を Scala で考えてみた
Scala 初心者が Hom 函手を Scala で考えてみた
Kazuyuki TAKASE
 
ML: Sparse regression CH.13
 ML: Sparse regression CH.13 ML: Sparse regression CH.13
ML: Sparse regression CH.13
Daisuke Yoneoka
 
π計算
π計算π計算
π計算
Yuuki Takano
 
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
整数格子点上の劣モジュラ被覆に対する高速アルゴリズム
Tasuku Soma
 
2014 12-9
2014 12-92014 12-9
2014 12-9
Joe Suzuki
 
130323 slide all
130323 slide all130323 slide all
130323 slide allikea0064
 
ウェーブレット木の世界
ウェーブレット木の世界ウェーブレット木の世界
ウェーブレット木の世界
Preferred Networks
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
Hideyuki Tanaka
 
(Lambdaだけで) 純LISPのような ナニかを作る
(Lambdaだけで)純LISPのようなナニかを作る(Lambdaだけで)純LISPのようなナニかを作る
(Lambdaだけで) 純LISPのような ナニかを作る
Daichi Teruya
 
Chainerで流体計算
Chainerで流体計算Chainerで流体計算
Chainerで流体計算
Preferred Networks
 
GC in C++0x
GC in C++0xGC in C++0x
GC in C++0x
yak1ex
 
Emcjp item33,34
Emcjp item33,34Emcjp item33,34
Emcjp item33,34
MITSUNARI Shigeo
 
Crfと素性テンプレート
Crfと素性テンプレートCrfと素性テンプレート
Crfと素性テンプレート
Kei Uchiumi
 

What's hot (18)

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

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

Shunsuke Horii
Shunsuke HoriiShunsuke Horii
Shunsuke Horii
Suurist
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
Hiroshi Yamashita
 
暗認本読書会13 advanced
暗認本読書会13 advanced暗認本読書会13 advanced
暗認本読書会13 advanced
MITSUNARI Shigeo
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムTakuya Akiba
 
Deep Learning を実装する
Deep Learning を実装するDeep Learning を実装する
Deep Learning を実装する
Shuhei Iitsuka
 
Undecidable Traveler
Undecidable TravelerUndecidable Traveler
Undecidable Traveler
kinaba
 
Sparse estimation tutorial 2014
Sparse estimation tutorial 2014Sparse estimation tutorial 2014
Sparse estimation tutorial 2014
Taiji Suzuki
 
Sized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアルSized Linear Algebra Package のチュートリアル
Sized Linear Algebra Package のチュートリアル
Akinori Abe
 
Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)Graph convolution (スペクトルアプローチ)
Graph convolution (スペクトルアプローチ)
yukihiro domae
 
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰sleipnir002
 
introductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysisintroductino to persistent homology and topological data analysis
introductino to persistent homology and topological data analysis
Tatsuki SHIMIZU
 
楕円曲線入門 トーラスと楕円曲線のつながり
楕円曲線入門トーラスと楕円曲線のつながり楕円曲線入門トーラスと楕円曲線のつながり
楕円曲線入門 トーラスと楕円曲線のつながり
MITSUNARI Shigeo
 
Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Rで学ぶデータサイエンス第1章(判別能力の評価)
Rで学ぶデータサイエンス第1章(判別能力の評価)Daisuke Yoneoka
 
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
[DL輪読会]Factorized Variational Autoencoders for Modeling Audience Reactions to...
Deep Learning JP
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
Yukara Ikemiya
 
Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3
Toshihiko Iio
 
K070k80 点推定 区間推定
K070k80 点推定 区間推定K070k80 点推定 区間推定
K070k80 点推定 区間推定t2tarumi
 
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011
オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011Preferred Networks
 

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

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

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|) π ⟺ 今後の展望