Quantum query complexity and the adversary bound Part II: Learning - - PowerPoint PPT Presentation

quantum query complexity and the adversary bound part ii
SMART_READER_LITE
LIVE PREVIEW

Quantum query complexity and the adversary bound Part II: Learning - - PowerPoint PPT Presentation

Quantum query complexity and the adversary bound Part II: Learning graphs Alexander Belov University of Latvia 22nd EWSCS, 5-10 March 2017, Palmse 1 / 35 Learning graphs Dual Adversary Certificate Structure Examples Idea Construction


slide-1
SLIDE 1

1 / 35

Quantum query complexity and the adversary bound Part II: Learning graphs

Alexander Belov University of Latvia

22nd EWSCS, 5-10 March 2017, Palmse

slide-2
SLIDE 2

Learning graphs

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

2 / 35

slide-3
SLIDE 3

Dual Adversary

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

3 / 35

Recall the dual adversary bound minimise

max

z

  • j∈[n]

Xj[ [z, z] ]

subject to

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y);

Xj is a p.s.d. D × D matrix

for all j ∈ [n],

slide-4
SLIDE 4

Dual Adversary

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

3 / 35

Recall the dual adversary bound minimise

max

z

  • j∈[n]

Xj[ [z, z] ]

subject to

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y);

Xj is a p.s.d. D × D matrix

for all j ∈ [n],

How do we ensure the feasibility condition?

  • In general this is difficult,
  • but there is a way for functions with short certificates.
slide-5
SLIDE 5

Certificate Structure

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

4 / 35

Function

f : [q]n ⊇ D → {0, 1}

For x ∈ f −1(1), write out:

Mx =

  • S ⊆ [n] | xS is enough to deduce f(x) = 1
  • .

The set of all Mx is the certificate structure of f. (Interested in inclusion-wise minimal Mx only.)

slide-6
SLIDE 6

Example

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

5 / 35

Element Distinctness Problem Function f : [q]n → {0, 1}: there are two equal elements.

1147 1417 1471

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 4117

4171 4711

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

slide-7
SLIDE 7

Another Example

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

6 / 35

Collision Problem Distinguish between two cases: Negative: each symbol in the input string is unique; or Positive: each symbol has exactly two appearances. E.g., negative input: 2746 and three variants of positive inputs:

1144 1414 1441

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

  • 1

❏ ❏ ❏ ❏ 2 ✴ ✴

3

  • ✎✎

4

  • t

t t t t

❏ ❏ ❏ ❏

  • ✕✕

▲ ▲ ▲ ▲ ♣♣♣♣♣♣

❇ ❇

  • ✜✜

❁ ❁ rrrrr

✮ t t t t t

  • ✎✎
  • ✎✎

✮ ✮

❇ ❇

  • t

t t t t t t t t t

❁ ❁

▲ ▲ ▲ ▲

✎ rrrrr

  • ✜✜

❏ ❏ ❏ ❏

  • ✴✴

♣♣♣♣♣♣

  • ✕✕

✴ ✴ ❏ ❏ ❏ ❏ ❏

slide-8
SLIDE 8

Idea

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

7 / 35

How do we ensure the feasibility condition?

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y); Element distinctness on positive input x = 122.

❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

slide-9
SLIDE 9

Idea

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

7 / 35

How do we ensure the feasibility condition?

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y); Element distinctness on positive input x = 122. Define flow pe(x) of value 1 from ∅ to Mx.

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

slide-10
SLIDE 10

Idea

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

7 / 35

How do we ensure the feasibility condition?

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y); Element distinctness on positive input x = 122.

y = 456 y = 123

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

slide-11
SLIDE 11

Idea

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

7 / 35

How do we ensure the feasibility condition?

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y); Element distinctness on positive input x = 122.

In all cases, the value of the cut is 1! y = 456 y = 123

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

slide-12
SLIDE 12

Construction

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

8 / 35

For each arc e from S to S ∪ {j}, we define a block-diagonal matrix

Xe

j =

  • α

Yα,

where the sum is over all assignments α on S. Each Yα is defined as ψψ∗, where (we is the weight of e):

ψ[ [z] ] =      pe(z)/√we, f(z) = 1, and z satisfies α; √we, f(z) = 0, and z satisfies α; 0,

  • therwise.

Finally, we define

Xj =

  • e loads j

Xe

j .

slide-13
SLIDE 13

Feasibility

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

9 / 35

  • j:xj=yj

Xj[ [x, y] ] = 1

whenever f(x) = f(y)

  • Claim. Left-hand side is the value of the cut, and Xj 0.

Xj =

  • e loads j

Xe

j ,

Xe

j =

  • α

Yα, Yα = ψψ∗ ψ[ [z] ] =      pe(z)/√we, f(z) = 1, and z satisfies α; √we, f(z) = 0, and z satisfies α; 0,

  • therwise.
slide-14
SLIDE 14

Objective value

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

10 / 35

minimise

max

z

  • j∈[n]

Xj[ [z, z] ]

  • Claim. The objective value is
  • j∈[n]

Xj[ [z, z] ] =

  • e we,

if f(z) = 0;

  • e

pe(z)2 we ,

if f(z) = 1.

Xj =

  • e loads j

Xe

j ,

Xe

j =

  • α

Yα, Yα = ψψ∗ ψ[ [z] ] =      pe(z)/√we, f(z) = 1, and z satisfies α; √we, f(z) = 0, and z satisfies α; 0,

  • therwise.
slide-15
SLIDE 15

Summary

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

11 / 35

  • First, for each arc e from S to S ∪ {j},

define its weight we.

❄ ❄ ❄ ❄ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

∅ 1 2 3

slide-16
SLIDE 16

Summary

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

11 / 35

  • First, for each arc e from S to S ∪ {j},

define its weight we.

  • Next, for each Mx in the certificate structure,

define flow pe(x) of value 1 from ∅ to Mx.

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

slide-17
SLIDE 17

Summary

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

11 / 35

  • First, for each arc e from S to S ∪ {j},

define its weight we.

  • Next, for each Mx in the certificate structure,

define flow pe(x) of value 1 from ∅ to Mx. The complexity of the learning graph is

max

  • e

we, max

x∈f−1(1)

pe(x)2 we

  • .

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧

⑧ ⑧ ⑧ ⑧

❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄

1 2 3

slide-18
SLIDE 18

Example: OR function

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

12 / 35

  • For each arc from ∅ to {j}, its weight is we =

1 √n.

  • ···
  • ❖❖❖❖❖❖❖❖❖❖

❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

∅ 1 2 n

slide-19
SLIDE 19

Example: OR function

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

12 / 35

  • For each arc from ∅ to {j}, its weight is we =

1 √n.

  • For each Mx, the flow goes to a ∈ Mx.
  • ···
  • ❖❖❖❖❖❖❖❖❖❖

❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

∅ 1 2 n

slide-20
SLIDE 20

Example: OR function

Learning graphs Dual Adversary Certificate Structure Examples Idea Construction Feasibility Objective value Summary OR function Symmetry Element Distinctness Triangle Detection

12 / 35

  • For each arc from ∅ to {j}, its weight is we =

1 √n.

  • For each Mx, the flow goes to a ∈ Mx.

The complexity of the learning graph is

max

  • e

we, max

x∈f−1(1)

pe(x)2 we

  • = max
  • n · 1

√n, 1 1/√n

  • = √n.
  • ···
  • ❖❖❖❖❖❖❖❖❖❖

❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

∅ 1 2 n

slide-21
SLIDE 21

Symmetry

Learning graphs Symmetry Alternative Description Transitions Theorem OR function Element Distinctness Triangle Detection

13 / 35

slide-22
SLIDE 22

Alternative Description

Learning graphs Symmetry Alternative Description Transitions Theorem OR function Element Distinctness Triangle Detection

14 / 35

  • Randomized procedure for loading values of variables.
  • For each positive input: the goal is to load a 1-certificate.

For OR function: (x is a positive input, and {a} is a 1-certificate) I: Load a

  • We start in the empty set ∅.
  • We divide in a number of stages.
  • On each stage we load a number of variables: a transition.
  • Length of the transition: number of loaded variables.
slide-23
SLIDE 23

Transitions

Learning graphs Symmetry Alternative Description Transitions Theorem OR function Element Distinctness Triangle Detection

15 / 35

I: Load a

  • Define the set of transitions as the union over all inputs:

I: From ∅ to {j} for all j ∈ [n]

  • ···
  • ❖❖❖❖❖❖❖❖❖❖

❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

∅ 1 2 n

slide-24
SLIDE 24

Theorem

Learning graphs Symmetry Alternative Description Transitions Theorem OR function Element Distinctness Triangle Detection

16 / 35

Symmetry Assumption:

  • On each stage, the length of each transition is the same.
  • On each stage, the number of taken transitions is the same for

all inputs, all taken with the same probability. Then, there exists a learning graph with complexity

  • i

Li

  • Ti,

where Length

Li:

Number of variables loaded on the stage i Speciality

Ti:

  • Number of transitions
  • n the stage i
  • /
  • Number of transitions

used for one input

slide-25
SLIDE 25

OR function

Learning graphs Symmetry Alternative Description Transitions Theorem OR function Element Distinctness Triangle Detection

17 / 35

Symmetry Assumption:

  • On each stage, the length of each transition is the same.
  • On each stage, the number of taken transitions is the same for

all inputs, all taken with the same probability.

  • ···
  • ❖❖❖❖❖❖❖❖❖❖

❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

∅ 1 2 n

  • ···
  • ❖❖❖❖❖❖❖❖❖❖

❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦

∅ 1 2 n

Transitions Used Length Speciality I: From ∅ to {j}

j = a 1 n

Complexity:

i Li

√Ti = √n.

slide-26
SLIDE 26

Element Distinctness

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

18 / 35

slide-27
SLIDE 27

Formulation

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

19 / 35

Given x1, . . . , xn ∈ [q], detect whether there exist a = b such that xa = xb. Certificate: {a, b}. Goal: To load two specific elements a and b.

slide-28
SLIDE 28

Na¨ ıve learning graph

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

20 / 35

I: Load a II: Load b Transitions Used Length Speciality I: From ∅ to {i}

i = a 1 n

II: From {i} to {i, j}

i = a, j = b 1 n2

Complexity:

i Li

√Ti = n.

slide-29
SLIDE 29

Na¨ ıve learning graph

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

20 / 35

Transitions Used Length Speciality I: From ∅ to {i}

i = a 1 n

II: From {i} to {i, j}

i = a, j = b 1 n2

The second stage is a bottleneck. Can we improve length? Can we improve speciality?

slide-30
SLIDE 30

Learning graph

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

21 / 35

I: Load r elements not from {a, b} II: Load a III: Load b Transitions Used Length Speciality I: From ∅ to S of r elements

a, b / ∈ S r 1

II: From S to S ∪{j} for |S| =

r and j / ∈ S a, b / ∈ S, j = a

1

n

III: From S to S ∪{j} for |S| =

r + 1 and j / ∈ S a ∈ S, j = b

1

n2/r

Complexity:

  • i

Li

  • Ti = O
  • r + √n + n/√r
  • = O(n2/3)

when r = n2/3.

slide-31
SLIDE 31

Idea

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

22 / 35

I: Load r elements not from {a, b} II: Load a III: Load b Main idea: Before loading b, a is hidden among the r previously loaded elements. Where does a man hide a leaf? In the forest. But what does he do if there is no forest?.. He grows a forest to hide it in. Gilbert Keith Chesterton

slide-32
SLIDE 32

More generality

Learning graphs Symmetry Element Distinctness Formulation Na¨ ıve learning graph Learning graph Idea More generality Triangle Detection

23 / 35

A similar algorithm solves any problem with 1-certificate complexity

k = O(1).

Let a1, . . . , ak be a 1-certificate. I: Load r elements not from {a1, a2, . . . , ak} II.1: Load a1 . . . II.k: Load ak

  • Complexity is O(nk/(k+1)).
slide-33
SLIDE 33

Triangle Detection

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

24 / 35

slide-34
SLIDE 34

Settings

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

25 / 35

Given xi,j ∈ {0, 1}, with 1 ≤ i < j ≤ n, detect whether there exist 1 ≤ a < b < c ≤ n such that

xa,b = xa,c = xb,c = 1.

NB: the number of input variables is Θ(n2).

  • c
  • a
  • b

⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ❚ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ✎ ❄ ❄ ❄ ❄ ❄ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ⑧ ⑧ ⑧ ⑧ ⑧ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴

slide-35
SLIDE 35

Settings

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

26 / 35

Given xi,j ∈ {0, 1}, with 1 ≤ i < j ≤ n, detect whether there exist 1 ≤ a < b < c ≤ n such that

xa,b = xa,c = xb,c = 1.

  • We can use the learning graph of the last section with

complexity

(n2)3/4 = n3/2.

  • But we can do better.
slide-36
SLIDE 36

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

27 / 35

  • c
  • a
  • b
  • In the beginning nothing is loaded.

Continue as follows...

slide-37
SLIDE 37

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

28 / 35

  • c
  • a
  • b

❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ❄ ❄ ❄ ❄ ❄ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ I: Take disjoint A, B ⊆ [n] \ {a, b, c} of sizes n4/7 and

n5/7, and load all edges between A and B

Length:

|A||B| = n9/7

Speciality:

1

Complexity:

n9/7

slide-38
SLIDE 38

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

29 / 35

  • c
  • a
  • b

❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ❄ ❄ ❄ ❄ ❄ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ II: Add a to A and load all edges between a and B Length:

|B| = n5/7

Speciality:

n

Complexity:

n17/14

slide-39
SLIDE 39

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

30 / 35

  • c
  • a
  • b

❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ❄ ❄ ❄ ❄ ❄ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ♦♦♦♦♦♦♦♦♦ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ III: Add b to B and load all edges between b and A Length:

|A| = n4/7

Speciality:

n2/|A| = n10/7

Complexity:

n9/7

slide-40
SLIDE 40

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

31 / 35

  • c
  • a
  • b

❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ❄ ❄ ❄ ❄ ❄ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ♦♦♦♦♦♦♦♦♦ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ IV: Load ℓ = n3/7 edges connecting c to vertices in B, but b Length:

ℓ = n3/7

Speciality:

n3/(|A||B|) = n3/(n4/7n5/7) = n12/7

Complexity:

n9/7

slide-41
SLIDE 41

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

32 / 35

  • c
  • a
  • b

❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ❄ ❄ ❄ ❄ ❄ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ♦♦♦♦♦♦♦♦♦ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ V: Load edge bc Length:

1

Speciality:

n3/|A| = n3/n4/7 = n17/7

Complexity:

n17/14

slide-42
SLIDE 42

Learning graph

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

33 / 35

  • c
  • a
  • b

❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ✴ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ♦ ❄ ❄ ❄ ❄ ❄ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❖ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ✹ ♦♦♦♦♦♦♦♦♦ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ⑧ ❄ ❄ ❄ ❄ ❄ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ ✯ VI: Load edge ac Length:

1

Speciality:

n3/ℓ = n18/7

Complexity:

n9/7

slide-43
SLIDE 43

Complexity

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

34 / 35

I: Take disjoint A, B ⊆ [n] \ {a, b, c} of sizes n4/7 and

n5/7 and load all edges between A and B

II: Add a to A and load all edges between a and B III: Add b to B and load all edges between b and A IV: Load ℓ = n3/7 edges connecting c to elements in B, but

b

V: Load edge bc VI: Load edge ac Stage I II III IV V VI Length

n9/7 n5/7 n4/7 n3/7

1 1 Speciality 1

n n10/7 n12/7 n17/7 n18/7

Complexity

n9/7 n17/14 n9/7 n9/7 n17/14 n9/7

Total complexity: O(n9/7).

slide-44
SLIDE 44

Learning graphs Symmetry Element Distinctness Triangle Detection Settings Learning graph Complexity

35 / 35

Thank you!