Streaming Verification of Graph Properties
Amirali Abdullah 1 Samira Daruki 2 Chitradeep Dutta Roy 2 Suresh Venkatasubramanian 2 December 11, 2016
1Qualtrics 2University of Utah
1
Streaming Verification of Graph Properties Amirali Abdullah 1 Samira - - PowerPoint PPT Presentation
Streaming Verification of Graph Properties Amirali Abdullah 1 Samira Daruki 2 Chitradeep Dutta Roy 2 Suresh Venkatasubramanian 2 December 11, 2016 1 Qualtrics 2 University of Utah 1 Streaming Verification of Graph Properties Amirali Abdullah 1
1Qualtrics 2University of Utah
1
1Qualtrics 2University of Utah
1
◮ Too much data to store ◮ Cheap, powerful cloud. Computation is commodity ◮ Cloud can not be trusted, need guarantees on answers 2
3
IPs for Muggles [GKR,KRR,others]
4
IPs for Muggles [GKR,KRR,others]
Rational IPs [AM,CMS,others]
convince prover that honesty is
4
IPs for Muggles [GKR,KRR,others]
Rational IPs [AM,CMS,others]
convince prover that honesty is
Proofs of proximity [RVW,GR]
4
IPs for Muggles [GKR,KRR,others]
Rational IPs [AM,CMS,others]
convince prover that honesty is
Proofs of proximity [RVW,GR]
Streaming IPs [CTY,others]
4
5
5
5
◮ V has O(s) local space and is randomized ◮ P and V can exchange k messages in each direction ◮ The total communication cost O(t) ◮ Perfect completeness: If the answer is correct
◮ Statistical soundness: If the answer is wrong
6
◮ Annotated streams(essentially one-message SIP) [CCM09,
◮ SIP [CTY11]: first introduced, protocols for index,
◮ Constant-round SIP [CCMTV15]: near neighbors,
◮ Constant and log n-round SIPs [DTV15]: clustering, shape
7
ǫ
2 + ǫ) metric TSP
ǫ
8
◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where
j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where
9
◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where
j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where
9
◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where
j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where
9
◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where
j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where
9
◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where
j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where
9
◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where
j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where
9
◮ Low degree extension: The vector a of length u = [l]d is
10
◮ Low degree extension: The vector a of length u = [l]d is
◮ fa(x) = ax for x ∈ [l]d 10
◮ Low degree extension: The vector a of length u = [l]d is
◮ fa(x) = ax for x ∈ [l]d ◮ fa is linear in terms of elements of a and therefore easy to
10
◮ Low degree extension: The vector a of length u = [l]d is
◮ fa(x) = ax for x ∈ [l]d ◮ fa is linear in terms of elements of a and therefore easy to
d |F| 10
11
11
11
11
11
11
11
?
12
?
◮ V updates a vector a for each element in E by +1 12
?
◮ V updates a vector a for each element in E by +1 ◮ V updates a again for each element in S by -1 12
?
◮ V updates a vector a for each element in E by +1 ◮ V updates a again for each element in S by -1 ◮ V verifies F −1 −1 (a) = 0 12
?
◮ V updates a vector a for each element in E by +1 ◮ V updates a again for each element in S by -1 ◮ V verifies F −1 −1 (a) = 0
12
13
◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),
13
◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),
◮ P sends a claimed answer c∗ 13
◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),
◮ P sends a claimed answer c∗ ◮ V checks to verify F −1 3 (a) = c∗ . Only a[(i, j, k)] will be 3 for
13
◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),
◮ P sends a claimed answer c∗ ◮ V checks to verify F −1 3 (a) = c∗ . Only a[(i, j, k)] will be 3 for
13
13
13
13
13
13
13
14
14
◮ P sends claimed optimal matching M and vertex cover S of
14
◮ P sends claimed optimal matching M and vertex cover S of
◮ V needs to verify M ⊂ E and is a valid matching 14
◮ P sends claimed optimal matching M and vertex cover S of
◮ V needs to verify M ⊂ E and is a valid matching ◮ V needs to verify S covers all edges in E 14
◮ P sends claimed optimal matching M and vertex cover S of
◮ V needs to verify M ⊂ E and is a valid matching ◮ V needs to verify S covers all edges in E ◮ V needs to verify |M| = |S|
14
15
15
15
◮ V uses endpoints of edges in M to update a vector a ∈ Z|V |
15
◮ V uses endpoints of edges in M to update a vector a ∈ Z|V |
◮ V updates another vector a′ ∈ Z|V | as P replays the stream of
15
◮ V uses endpoints of edges in M to update a vector a ∈ Z|V |
◮ V updates another vector a′ ∈ Z|V | as P replays the stream of
◮ V uses MSE to verify a = a′ 15
16
◮ After reading the edge stream V has a vector a ∈ Zn2 having
16
◮ After reading the edge stream V has a vector a ∈ Zn2 having
◮ For each vertex s ∈ S, V updates the same vector a at
16
◮ After reading the edge stream V has a vector a ∈ Zn2 having
◮ For each vertex s ∈ S, V updates the same vector a at
◮ V verifies F −1 1 (a) = 0 . If some edge (e) is not covered, then
16
16
16
16
16
◮ Let wij be the weight of an edge e = {i, j}. ◮ Fix (dual) variables yv and zU, s.t. U is odd-sized subset of V
◮ In a laminar family of sets any pair of sets are either disjoint
17
◮ Many graph problems have efficient protocols in SIP. ◮ Canonical hard problems for streaming like INDEX[CTY],
◮ What are some candidate hard problems for log n-round SIP? 18
18