Streaming Verification of Graph Properties Amirali Abdullah 1 Samira - - PowerPoint PPT Presentation

streaming verification of graph properties
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Introduction

◮ Too much data to store ◮ Cheap, powerful cloud. Computation is commodity ◮ Cloud can not be trusted, need guarantees on answers 2

slide-4
SLIDE 4

Outsourced Computation

Service Client Q A Why

3

slide-5
SLIDE 5

Prior Work

IPs for Muggles [GKR,KRR,others]

  • weaker verifiers and provers
  • cryptographic assumptions
  • verifier TIME key bottleneck

4

slide-6
SLIDE 6

Prior Work

IPs for Muggles [GKR,KRR,others]

  • weaker verifiers and provers
  • cryptographic assumptions
  • verifier TIME key bottleneck

Rational IPs [AM,CMS,others]

  • Prover is rational, not adversarial
  • design a "payment" scheme to

convince prover that honesty is

  • ptimal

4

slide-7
SLIDE 7

Prior Work

IPs for Muggles [GKR,KRR,others]

  • weaker verifiers and provers
  • cryptographic assumptions
  • verifier TIME key bottleneck

Rational IPs [AM,CMS,others]

  • Prover is rational, not adversarial
  • design a "payment" scheme to

convince prover that honesty is

  • ptimal

Proofs of proximity [RVW,GR]

  • sublinear TIME verifier
  • sublinear communication

4

slide-8
SLIDE 8

Prior Work

IPs for Muggles [GKR,KRR,others]

  • weaker verifiers and provers
  • cryptographic assumptions
  • verifier TIME key bottleneck

Rational IPs [AM,CMS,others]

  • Prover is rational, not adversarial
  • design a "payment" scheme to

convince prover that honesty is

  • ptimal

Proofs of proximity [RVW,GR]

  • sublinear TIME verifier
  • sublinear communication

Streaming IPs [CTY,others]

  • STREAMING verifier
  • sublinear communication

4

slide-9
SLIDE 9

Streaming Interactive Proof: Our model

Prover(P) and Verifier(V) both read the stream

5

slide-10
SLIDE 10

Streaming Interactive Proof: Our model

V can store small amount of information, P has unbounded computational resources and access to the data

5

slide-11
SLIDE 11

Streaming Interactive Proof: Our model

P and V interact by exchanging messages

5

slide-12
SLIDE 12

Cost Structure of SIP

A k − round(s, t) SIP means

◮ 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

Pr[V accepts] = 1

◮ Statistical soundness: If the answer is wrong

Pr[V accepts] ≤ ǫ

6

slide-13
SLIDE 13

Previous works in SIP

◮ Annotated streams(essentially one-message SIP) [CCM09,

CCTM13] : prover helps verifier as the input stream is seen by both

◮ SIP [CTY11]: first introduced, protocols for index,

range-query, dictionary, frequency moments etc.

◮ Constant-round SIP [CCMTV15]: near neighbors,

classification, median finding and complexity charaterization

◮ Constant and log n-round SIPs [DTV15]: clustering, shape

fitting, eigenvector verification

7

slide-14
SLIDE 14

Summary of our results

All the protocols need log n rounds, but can be modified to constant rounds with small increase in communication Problem Verifier Space Communication Matching (all flavor) log2 n (certificate + log n) log n Connectivity log2 n n log n (1 + ǫ) MST log2 n n log2 n

ǫ

( 3

2 + ǫ) metric TSP

log2 n n log2 n

ǫ

Table 1: We consider the graph G has |V | = n and we ∈ [nc] for some constant c

8

slide-15
SLIDE 15

Description of the stream

◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where

ai =

j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where

e = (x, y) s.t. x < y, x, y ∈ V , e ∈ E

9

slide-16
SLIDE 16

Description of the stream

◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where

ai =

j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where

e = (x, y) s.t. x < y, x, y ∈ V , e ∈ E

9

slide-17
SLIDE 17

Description of the stream

◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where

ai =

j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where

e = (x, y) s.t. x < y, x, y ∈ V , e ∈ E

9

slide-18
SLIDE 18

Description of the stream

◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where

ai =

j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where

e = (x, y) s.t. x < y, x, y ∈ V , e ∈ E

9

slide-19
SLIDE 19

Description of the stream

◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where

ai =

j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where

e = (x, y) s.t. x < y, x, y ∈ V , e ∈ E

9

slide-20
SLIDE 20

Description of the stream

◮ τ = (i, δi,j) where i ∈ [u], δ ∈ {+1, −1} ◮ τ conceptually represents a = (a1, . . . , au) where

ai =

j δi,j ∈ [uc] for some constant c. ◮ For unweighted graph G = (V , E), τ = {e, δ} where

e = (x, y) s.t. x < y, x, y ∈ V , e ∈ E

9

slide-21
SLIDE 21

Tools

slide-22
SLIDE 22

Low Degree Extension of a function

◮ Low degree extension: The vector a of length u = [l]d is

conceptually represented by a d-variate polynomial fa : [p]d → Zp over prime field Zp, where p ≥ u

10

slide-23
SLIDE 23

Low Degree Extension of a function

◮ Low degree extension: The vector a of length u = [l]d is

conceptually represented by a d-variate polynomial fa : [p]d → Zp over prime field Zp, where p ≥ u

◮ fa(x) = ax for x ∈ [l]d 10

slide-24
SLIDE 24

Low Degree Extension of a function

◮ Low degree extension: The vector a of length u = [l]d is

conceptually represented by a d-variate polynomial fa : [p]d → Zp over prime field Zp, where p ≥ u

◮ fa(x) = ax for x ∈ [l]d ◮ fa is linear in terms of elements of a and therefore easy to

evaluate at a random point in stream

10

slide-25
SLIDE 25

Low Degree Extension of a function

◮ Low degree extension: The vector a of length u = [l]d is

conceptually represented by a d-variate polynomial fa : [p]d → Zp over prime field Zp, where p ≥ u

◮ fa(x) = ax for x ∈ [l]d ◮ fa is linear in terms of elements of a and therefore easy to

evaluate at a random point in stream Lemma (Schwartz Zippel) Let f , g be two polynomials of degree d over field F, then for a random input r, Pr[f (r) = g(r)] ≤

d |F| 10

slide-26
SLIDE 26

Connection between Results

11

slide-27
SLIDE 27

Connection between Results

11

slide-28
SLIDE 28

Connection between Results

11

slide-29
SLIDE 29

Connection between Results

11

slide-30
SLIDE 30

Connection between Results

11

slide-31
SLIDE 31

Connection between Results

11

slide-32
SLIDE 32

Connection between Results

11

slide-33
SLIDE 33

Protocols

slide-34
SLIDE 34

Subset Protocol

Given S, E ⊂ [u], E being input and S being owned by P, S

?

⊆ E Protocol

12

slide-35
SLIDE 35

Subset Protocol

Given S, E ⊂ [u], E being input and S being owned by P, S

?

⊆ E Protocol

◮ V updates a vector a for each element in E by +1 12

slide-36
SLIDE 36

Subset Protocol

Given S, E ⊂ [u], E being input and S being owned by P, S

?

⊆ E Protocol

◮ V updates a vector a for each element in E by +1 ◮ V updates a again for each element in S by -1 12

slide-37
SLIDE 37

Subset Protocol

Given S, E ⊂ [u], E being input and S being owned by P, S

?

⊆ E Protocol

◮ 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

slide-38
SLIDE 38

Subset Protocol

Given S, E ⊂ [u], E being input and S being owned by P, S

?

⊆ E Protocol

◮ 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

Costs log u rounds (log2 u, (|S| + log u) log u)

12

slide-39
SLIDE 39

Triangle Counting

Given a graph of n nodes as a stream of edges consisting tuples (i, j, δ) where i < j, find the number of cliques of size 3.

13

slide-40
SLIDE 40

Triangle Counting

Given a graph of n nodes as a stream of edges consisting tuples (i, j, δ) where i < j, find the number of cliques of size 3. Protocol

◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),

(i, j, ∗) by δ for every tuple (i, j, δ) in stream.

13

slide-41
SLIDE 41

Triangle Counting

Given a graph of n nodes as a stream of edges consisting tuples (i, j, δ) where i < j, find the number of cliques of size 3. Protocol

◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),

(i, j, ∗) by δ for every tuple (i, j, δ) in stream.

◮ P sends a claimed answer c∗ 13

slide-42
SLIDE 42

Triangle Counting

Given a graph of n nodes as a stream of edges consisting tuples (i, j, δ) where i < j, find the number of cliques of size 3. Protocol

◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),

(i, j, ∗) by δ for every tuple (i, j, δ) in stream.

◮ P sends a claimed answer c∗ ◮ V checks to verify F −1 3 (a) = c∗ . Only a[(i, j, k)] will be 3 for

a triangle with vertices i, j, k where i < j < k .

13

slide-43
SLIDE 43

Triangle Counting

Given a graph of n nodes as a stream of edges consisting tuples (i, j, δ) where i < j, find the number of cliques of size 3. Protocol

◮ V updates a vector a ∈ Zn3 at locations (i, ∗, j), (∗, i, j),

(i, j, ∗) by δ for every tuple (i, j, δ) in stream.

◮ P sends a claimed answer c∗ ◮ V checks to verify F −1 3 (a) = c∗ . Only a[(i, j, k)] will be 3 for

a triangle with vertices i, j, k where i < j < k . Costs log n rounds of communication (log2 n, log2 n)

13

slide-44
SLIDE 44

Triangle Counting

An Example

13

slide-45
SLIDE 45

Triangle Counting

An Example

13

slide-46
SLIDE 46

Triangle Counting

An Example

13

slide-47
SLIDE 47

Triangle Counting

An Example

13

slide-48
SLIDE 48

Triangle Counting

An Example

13

slide-49
SLIDE 49

Triangle Counting

An Example

13

slide-50
SLIDE 50

Bipartite Maximum Matching

Maximum cardinality matching in bipartite graphs Given a graph G = (V , E) where V = L ∪ R, L ∩ R = ∅, ∀(i, j) ∈ E,if i ∈ L, then j ∈ R, find M ⊂ E s.t. |M| is maximum and each vertex v ∈ V appears at most once in edges of M.

14

slide-51
SLIDE 51

Bipartite Maximum Matching

Maximum cardinality matching in bipartite graphs Given a graph G = (V , E) where V = L ∪ R, L ∩ R = ∅, ∀(i, j) ∈ E,if i ∈ L, then j ∈ R, find M ⊂ E s.t. |M| is maximum and each vertex v ∈ V appears at most once in edges of M. K¨

  • nig’s Theorem

In a bipartite graph the size of maximum cardinality matching is equal to size of minimum vertex cover

14

slide-52
SLIDE 52

Bipartite Maximum Matching

Maximum cardinality matching in bipartite graphs Given a graph G = (V , E) where V = L ∪ R, L ∩ R = ∅, ∀(i, j) ∈ E,if i ∈ L, then j ∈ R, find M ⊂ E s.t. |M| is maximum and each vertex v ∈ V appears at most once in edges of M. K¨

  • nig’s Theorem

In a bipartite graph the size of maximum cardinality matching is equal to size of minimum vertex cover

◮ P sends claimed optimal matching M and vertex cover S of

size c∗

14

slide-53
SLIDE 53

Bipartite Maximum Matching

Maximum cardinality matching in bipartite graphs Given a graph G = (V , E) where V = L ∪ R, L ∩ R = ∅, ∀(i, j) ∈ E,if i ∈ L, then j ∈ R, find M ⊂ E s.t. |M| is maximum and each vertex v ∈ V appears at most once in edges of M. K¨

  • nig’s Theorem

In a bipartite graph the size of maximum cardinality matching is equal to size of minimum vertex cover

◮ P sends claimed optimal matching M and vertex cover S of

size c∗

◮ V needs to verify M ⊂ E and is a valid matching 14

slide-54
SLIDE 54

Bipartite Maximum Matching

Maximum cardinality matching in bipartite graphs Given a graph G = (V , E) where V = L ∪ R, L ∩ R = ∅, ∀(i, j) ∈ E,if i ∈ L, then j ∈ R, find M ⊂ E s.t. |M| is maximum and each vertex v ∈ V appears at most once in edges of M. K¨

  • nig’s Theorem

In a bipartite graph the size of maximum cardinality matching is equal to size of minimum vertex cover

◮ P sends claimed optimal matching M and vertex cover S of

size c∗

◮ V needs to verify M ⊂ E and is a valid matching ◮ V needs to verify S covers all edges in E 14

slide-55
SLIDE 55

Bipartite Maximum Matching

Maximum cardinality matching in bipartite graphs Given a graph G = (V , E) where V = L ∪ R, L ∩ R = ∅, ∀(i, j) ∈ E,if i ∈ L, then j ∈ R, find M ⊂ E s.t. |M| is maximum and each vertex v ∈ V appears at most once in edges of M. K¨

  • nig’s Theorem

In a bipartite graph the size of maximum cardinality matching is equal to size of minimum vertex cover

◮ P sends claimed optimal matching M and vertex cover S of

size c∗

◮ 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|

(simply count length of two streams in log n space)

14

slide-56
SLIDE 56

Bipartite Maximum Matching Contd.

Is M ⊆ E?

15

slide-57
SLIDE 57

Bipartite Maximum Matching Contd.

Is M ⊆ E? V will run Subset protocol on a vector a ∈ Zn2 w.r.t M and the input stream

15

slide-58
SLIDE 58

Bipartite Maximum Matching Contd.

Is M ⊆ E? V will run Subset protocol on a vector a ∈ Zn2 w.r.t M and the input stream Is M a matching?

15

slide-59
SLIDE 59

Bipartite Maximum Matching Contd.

Is M ⊆ E? V will run Subset protocol on a vector a ∈ Zn2 w.r.t M and the input stream Is M a matching?

◮ V uses endpoints of edges in M to update a vector a ∈ Z|V |

  • n vertices of G

15

slide-60
SLIDE 60

Bipartite Maximum Matching Contd.

Is M ⊆ E? V will run Subset protocol on a vector a ∈ Zn2 w.r.t M and the input stream Is M a matching?

◮ V uses endpoints of edges in M to update a vector a ∈ Z|V |

  • n vertices of G

◮ V updates another vector a′ ∈ Z|V | as P replays the stream of

endpoints in M in a canonical order, the order guarantees that P can not cheat by not sending a matching (repeating vertices)

15

slide-61
SLIDE 61

Bipartite Maximum Matching Contd.

Is M ⊆ E? V will run Subset protocol on a vector a ∈ Zn2 w.r.t M and the input stream Is M a matching?

◮ V uses endpoints of edges in M to update a vector a ∈ Z|V |

  • n vertices of G

◮ V updates another vector a′ ∈ Z|V | as P replays the stream of

endpoints in M in a canonical order, the order guarantees that P can not cheat by not sending a matching (repeating vertices)

◮ V uses MSE to verify a = a′ 15

slide-62
SLIDE 62

Bipartite Maximum Matching Contd.

Is S a vertex cover?

16

slide-63
SLIDE 63

Bipartite Maximum Matching Contd.

Is S a vertex cover?

◮ After reading the edge stream V has a vector a ∈ Zn2 having

1 at every index corresponding to an edge of the graph.

16

slide-64
SLIDE 64

Bipartite Maximum Matching Contd.

Is S a vertex cover?

◮ After reading the edge stream V has a vector a ∈ Zn2 having

1 at every index corresponding to an edge of the graph.

◮ For each vertex s ∈ S, V updates the same vector a at

locations (s, ∗), (∗, s) with -1

16

slide-65
SLIDE 65

Bipartite Maximum Matching Contd.

Is S a vertex cover?

◮ After reading the edge stream V has a vector a ∈ Zn2 having

1 at every index corresponding to an edge of the graph.

◮ For each vertex s ∈ S, V updates the same vector a at

locations (s, ∗), (∗, s) with -1

◮ V verifies F −1 1 (a) = 0 . If some edge (e) is not covered, then

ae = 1

16

slide-66
SLIDE 66

Bipartite Maximum Matching Contd.

Vertex Cover Example

16

slide-67
SLIDE 67

Bipartite Maximum Matching Contd.

Vertex Cover Example

16

slide-68
SLIDE 68

Bipartite Maximum Matching Contd.

Vertex Cover Example

16

slide-69
SLIDE 69

Bipartite Maximum Matching Contd.

Cost All three protocols can be run parallely by V. The entire protocol runs in log n rounds. (log2 n, (|M| + log n) log n)

16

slide-70
SLIDE 70

Max matching in weighted nonbipartite graphs

◮ 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

Theorem (Cunningham-Marsh, LP-duality) For every integral edge weights {wij}, and choices of y, z such that for all i, j yi + yj +

  • dd U,i,j∈U

zU ≥ wij c∗ ≤

  • v

yv +

  • dd U

zU⌊1 2|U|⌋ And this bound is tight for a laminar family {U | zU > 0}

◮ In a laminar family of sets any pair of sets are either disjoint

  • r are nested. Therefore size of such a family over [u] is at

most u.

17

slide-71
SLIDE 71

Conclusions

◮ Many graph problems have efficient protocols in SIP. ◮ Canonical hard problems for streaming like INDEX[CTY],

BOOLEAN HIDDEN MATCHING, DISJOINTNESS are easy in streaming verification setting.

◮ What are some candidate hard problems for log n-round SIP? 18

slide-72
SLIDE 72

Thank You rahduro@gmail.com

18