Subgraph counting problems 23rd March 2016 Kitty Meeks The problem - - PowerPoint PPT Presentation

subgraph counting problems
SMART_READER_LITE
LIVE PREVIEW

Subgraph counting problems 23rd March 2016 Kitty Meeks The problem - - PowerPoint PPT Presentation

Subgraph counting problems 23rd March 2016 Kitty Meeks The problem Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties. 2/16 The problem Given a graph on n vertices, we are interested in


slide-1
SLIDE 1

Subgraph counting problems

23rd March 2016 Kitty Meeks

slide-2
SLIDE 2

The problem

Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties.

2/16

slide-3
SLIDE 3

The problem

Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties. For example: Paths on k vertices

2/16

slide-4
SLIDE 4

The problem

Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties. For example: Paths on k vertices Cycles on k vertices

2/16

slide-5
SLIDE 5

The problem

Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties. For example: Paths on k vertices Cycles on k vertices Cliques on k vertices

2/16

slide-6
SLIDE 6

The problem

Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties. For example: Paths on k vertices Cycles on k vertices Cliques on k vertices Connected k-vertex induced subgraphs

2/16

slide-7
SLIDE 7

The problem

Given a graph on n vertices, we are interested in subgraphs with k vertices that have particular properties. For example: Paths on k vertices Cycles on k vertices Cliques on k vertices Connected k-vertex induced subgraphs k-vertex induced subgraphs with an even number of edges

2/16

slide-8
SLIDE 8

Deciding, counting and enumerating

DECISION Is there a witness?

3/16

slide-9
SLIDE 9

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness?

3/16

slide-10
SLIDE 10

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses?

3/16

slide-11
SLIDE 11

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses? EXTRACTION Identify a single witness

3/16

slide-12
SLIDE 12

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses? EXTRACTION Identify a single witness UNIFORM SAMPLING Pick a single witness uniformly at random

3/16

slide-13
SLIDE 13

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses? EXTRACTION Identify a single witness UNIFORM SAMPLING Pick a single witness uniformly at random ENUMERATION List all witnesses

3/16

slide-14
SLIDE 14

The values of n and k

Consider the k-cycle problem: if k = 3 then we are interested in triangles if k = n then we are interested in Hamilton Cycles

4/16

slide-15
SLIDE 15

The values of n and k

Consider the k-cycle problem: if k = 3 then we are interested in triangles if k = n then we are interested in Hamilton Cycles We are interested in what happens as n and k both tend to infinity, independently, with k << n.

4/16

slide-16
SLIDE 16

The values of n and k

Consider the k-cycle problem: if k = 3 then we are interested in triangles if k = n then we are interested in Hamilton Cycles We are interested in what happens as n and k both tend to infinity, independently, with k << n. We can consider all possible k-vertex subgraphs in time O(nk).

4/16

slide-17
SLIDE 17

The values of n and k

Consider the k-cycle problem: if k = 3 then we are interested in triangles if k = n then we are interested in Hamilton Cycles We are interested in what happens as n and k both tend to infinity, independently, with k << n. We can consider all possible k-vertex subgraphs in time O(nk). We would like to be able to answer questions about k-vertex subgraphs in time f(k) · nO(1); in this case the problem belongs to the parameterised complexity class FPT.

4/16

slide-18
SLIDE 18

When are these questions hard?

Theorem (Based on Chen, Chor, Fellows, Huang, Juedes, Kanj and Xia, 2005) Assuming the Exponential Time Hypothesis, there is no algorithm to determine whether an n-vertex graph contains a clique on k vertices in time f(k) · no(1), for any function f.

5/16

slide-19
SLIDE 19

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses? EXTRACTION Identify a single witness UNIFORM SAMPLING Pick a single witness uniformly at random ENUMERATION List all witnesses

6/16

slide-20
SLIDE 20

If we can decide, we can find a witness

7/16

slide-21
SLIDE 21

If we can decide, we can find a witness

7/16

slide-22
SLIDE 22

If we can decide, we can find a witness

7/16

slide-23
SLIDE 23

If we can decide, we can find a witness

7/16

slide-24
SLIDE 24

If we can decide, we can find a witness

7/16

slide-25
SLIDE 25

If we can decide, we can find a witness

7/16

slide-26
SLIDE 26

If we can decide, we can find a witness

7/16

slide-27
SLIDE 27

If we can decide, we can find a witness

Theorem (Björklund, Kaski and Kowalik, 2014) There exists an algorithm that extracts a witness using at most 2k

  • log2

n k + 2

  • queries to a deterministic decision algorithm.

7/16

slide-28
SLIDE 28

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses? EXTRACTION Identify a single witness UNIFORM SAMPLING Pick a single witness uniformly at random ENUMERATION List all witnesses

8/16

slide-29
SLIDE 29

Exact counting is harder than decision

Question: Does G contain a connected induced subgraph on k vertices? We can find the maximum component size, and hence answer this question, in O(|V| + |E|) using a breadth first search.

9/16

slide-30
SLIDE 30

Exact counting is harder than decision

Question: Does G contain a connected induced subgraph on k vertices? We can find the maximum component size, and hence answer this question, in O(|V| + |E|) using a breadth first search. Theorem (Jerrum & M., 2015) It is #W[1]-complete to count exactly the number of k-vertex connected induced subgraphs in a given input graph.

9/16

slide-31
SLIDE 31

Exact counting is harder than decision

Question: Does G contain a connected induced subgraph on k vertices? We can find the maximum component size, and hence answer this question, in O(|V| + |E|) using a breadth first search. Theorem (Jerrum & M., 2015) It is #W[1]-complete to count exactly the number of k-vertex connected induced subgraphs in a given input graph. Theorem (Jerrum & M., 2015) There is an efficient algorithm to count approximately the number of k-vertex connected induced subgraphs in a given input graph.

9/16

slide-32
SLIDE 32

Exact counting is harder than decision

Question: Does G contain a connected induced subgraph on k vertices? We can find the maximum component size, and hence answer this question, in O(|V| + |E|) using a breadth first search. Theorem (Jerrum & M., 2015) It is #W[1]-complete to count exactly the number of k-vertex connected induced subgraphs in a given input graph. Theorem (Jerrum & M., 2015) There is an efficient algorithm to count approximately the number of k-vertex connected induced subgraphs in a given input graph. Many other examples: k-vertex paths, k-vertex cycles, k-edge matchings, k-vertex regular induced subgraphs...

9/16

slide-33
SLIDE 33

Deciding, counting and enumerating

APPROX COUNTING Approximately how many witnesses? DECISION Is there a witness? EXACT COUNTING Exactly how many witnesses? EXTRACTION Identify a single witness UNIFORM SAMPLING Pick a single witness uniformly at random ENUMERATION List all witnesses

10/16

slide-34
SLIDE 34

If one witness implies many witnesses...

Proposition Suppose that, for each k and any graph G on n vertices, the number of k-vertex subgraphs of G that have our property is either

1 zero, or 2 at least

1 g(k)p(n) n k

  • .

Then there is an efficient algorithm to count witnesses approximately.

11/16

slide-35
SLIDE 35

If one witness implies many witnesses...

Proposition Suppose that, for each k and any graph G on n vertices, the number of k-vertex subgraphs of G that have our property is either

1 zero, or 2 at least

1 g(k)p(n) n k

  • .

Then there is an efficient algorithm to count witnesses approximately. Examples: k-vertex regular induced subgraphs; k-vertex induced subgraphs with an even number of edges.

11/16

slide-36
SLIDE 36

If one witness implies many witnesses...

Proposition Suppose that, for each k and any graph G on n vertices, the number of k-vertex subgraphs of G that have our property is either

1 zero, or 2 at least

1 g(k)p(n) n k

  • .

Then there is an efficient algorithm to count witnesses approximately. Examples: k-vertex regular induced subgraphs; k-vertex induced subgraphs with an even number of edges. These problems are still hard for exact counting.

11/16

slide-37
SLIDE 37

If there are only f(k) · nO(1) witnesses...

Theorem Suppose that we have an f(k) · nO(1) decision algorithm for the multicolour version of the problem. Then we can enumerate (and hence count) all witnesses in time g(k) · nO(1) · N, where N is the total number of witnesses.

12/16

slide-38
SLIDE 38

If there are only f(k) · nO(1) witnesses...

Theorem Suppose that we have an f(k) · nO(1) decision algorithm for the multicolour version of the problem. Then we can enumerate (and hence count) all witnesses in time g(k) · nO(1) · N, where N is the total number of witnesses.

...

12/16

slide-39
SLIDE 39

If there are only f(k) · nO(1) witnesses...

Theorem Suppose that we have an f(k) · nO(1) decision algorithm for the multicolour version of the problem. Then we can enumerate (and hence count) all witnesses in time g(k) · nO(1) · N, where N is the total number of witnesses.

...

12/16

slide-40
SLIDE 40

If there are only f(k) · nO(1) witnesses...

Theorem Suppose that we have an f(k) · nO(1) decision algorithm for the multicolour version of the problem. Then we can enumerate (and hence count) all witnesses in time g(k) · nO(1) · N, where N is the total number of witnesses.

... ... ...

12/16

slide-41
SLIDE 41

If there are only f(k) · nO(1) witnesses...

Theorem Suppose that we have an f(k) · nO(1) decision algorithm for the multicolour version of the problem. Then we can enumerate (and hence count) all witnesses in time g(k) · nO(1) · N, where N is the total number of witnesses.

... ... ...

12/16

slide-42
SLIDE 42

A randomised approach for the general case

IDEA: create many coloured instances, and enumerate the colourful copies in each (omitting duplicates)

13/16

slide-43
SLIDE 43

A randomised approach for the general case

IDEA: create many coloured instances, and enumerate the colourful copies in each (omitting duplicates) PROBLEM: although we’re now looking for colourful witnesses, we still only have a decision algorithm for the uncoloured version...

13/16

slide-44
SLIDE 44

A randomised approach for the general case

A B C

13/16

slide-45
SLIDE 45

A randomised approach for the general case

C1 C2 B1 B2 A1 A2

13/16

slide-46
SLIDE 46

A randomised approach for the general case

A1 B1 C1 A2 A1 B1 C2 A1 B2 C1 A1 B2 C2 B1 C1 B1 C2 B2 C1 B2 C2 A2 A2 A2 C1 C2 B1 B2 A1 A2

13/16

slide-47
SLIDE 47

A randomised approach for the general case

A1 B1 C1 A2 A1 B1 C2 A1 B2 C1 A1 B2 C2 B1 C1 B1 C2 B2 C1 B2 C2 A2 A2 A2 C1 C2 B1 B2 A1 A2

13/16

slide-48
SLIDE 48

A randomised approach

If a witness is colourful: It will always survive in exactly one combination

14/16

slide-49
SLIDE 49

A randomised approach

If a witness is colourful: It will always survive in exactly one combination If a witness contains vertices of only ℓ < k colours: the probability it survives in at least one combination is at most 2−(k−ℓ) if it survives in any combination, it will survive in exactly 2k−ℓ combinations

14/16

slide-50
SLIDE 50

A randomised approach

If a witness is colourful: It will always survive in exactly one combination If a witness contains vertices of only ℓ < k colours: the probability it survives in at least one combination is at most 2−(k−ℓ) if it survives in any combination, it will survive in exactly 2k−ℓ combinations It can then be shown that, for any witness, the expected number of combinations in which it survives at each level is at most one.

14/16

slide-51
SLIDE 51

Few witnesses, revisited

Theorem Suppose that we can decide if there is at least one witness in time f(k) · nO(1). Then there is a randomised algorithm which enumerates all witnesses in expected time f(k) · nO(1) · N, where N is the total number of witnesses in the instance.

15/16

slide-52
SLIDE 52

Few witnesses, revisited

Theorem Suppose that we can decide if there is at least one witness in time f(k) · nO(1). Then there is a randomised algorithm which enumerates all witnesses in expected time f(k) · nO(1) · N, where N is the total number of witnesses in the instance. Corollary Suppose that we can decide if there is at least one witness in time f(k) · nO(1) and that, for each k and any graph G on n vertices, the total number of witnesses is at most f(k)nO(1). Then there is an efficient algorithm to count witnesses approximately.

15/16

slide-53
SLIDE 53

Open problems

Can the randomised enumeration process be derandomised?

16/16

slide-54
SLIDE 54

Open problems

Can the randomised enumeration process be derandomised? Can we close the gap?

n k

( (

16/16

slide-55
SLIDE 55

Open problems

Can the randomised enumeration process be derandomised? Can we close the gap?

At least nk/(f(k)nO(1)) witnesses: can approximately count by random sampling

n k

( (

16/16

slide-56
SLIDE 56

Open problems

Can the randomised enumeration process be derandomised? Can we close the gap?

At most f(k)nO(1) witnesses: can count efficiently using a decision oracle At least nk/(f(k)nO(1)) witnesses: can approximately count by random sampling

n k

( (

16/16

slide-57
SLIDE 57

Open problems

Can the randomised enumeration process be derandomised? Can we close the gap?

At most f(k)nO(1) witnesses: can count efficiently using a decision oracle At least nk/(f(k)nO(1)) witnesses: can approximately count by random sampling

?

n k

( (

16/16

slide-58
SLIDE 58

Open problems

Can the randomised enumeration process be derandomised? Can we close the gap?

At most f(k)nO(1) witnesses: can count efficiently using a decision oracle At least nk/(f(k)nO(1)) witnesses: can approximately count by random sampling

?

n k

( (

Thank you

16/16