Graph Partitions. Partition V(G) into k sets (k=3) Vertex partitions.

83
Graph Partitions

Transcript of Graph Partitions. Partition V(G) into k sets (k=3) Vertex partitions.

Page 1: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Graph Partitions

Page 2: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Partition V(G) into k sets

(k=3)

Vertex partitions

Page 3: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This kind of circledepicts an arbitrary set This kind of line means

there may be edges between the two sets

Page 4: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Special properties of partitions

• Sets may be required to be independent

Page 5: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This kind of circledepicts an independent set

Page 6: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This is just a k-colouring

(k=3)

Page 7: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if a k-colouring exists is

in P for k =1, 2

NP-complete for all other k

(k=2)

Page 8: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if a 2-colouring exists

Obvious algorithm:

(k=2)1 2

1

1 1 1

2 22

Page 9: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if a 2-colouring exists

Algorithm succeeds

2-colouring existsNo odd cycles

Page 10: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if a 2-colouring exists

Algorithm succeeds

2-colouring existsNo odd cycles

Page 11: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if a 2-colouring exists

Algorithm succeeds

2-colouring existsNo odd cycles

Page 12: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G has a 2-colouring(is bipartite)

if and only if it contains no induced

7 . . .35

Page 13: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Special properties of partitions

Sets may be required to have no edges joining them

Page 14: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This kind of dotted line means there are no edges

joining the two sets

Page 15: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This is (corresponds to) a homomorphism.

Here a homomorphism to C5 - also known

as a C5-colouring.

Page 16: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

A homomorphism of G to H(or an H-colouring of G)

is a mapping f : V(G) V(H) such that

uv E(G) implies f(u)f(v) E(H).

A homomorphism f of G to C5 corresponds to

a partition of V(G) into five independent sets

with the right connections.

Page 17: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

1 2

3

4

5C5

f -1(1) f -1(2)

f -1(3)

f -1(4)

f -1(5)

Page 18: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

1 2

3

4

5

Page 19: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Special properties of partitions

• Sets may be required to be cliques

Page 20: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This kind of circledepicts a clique

Page 21: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This is just a colouring of the

complement of G

Page 22: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

if it is partitionable as

G is a split graph

Page 23: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

is in P

Deciding if G is a split graph

Page 24: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is split graph

if and only if

it contains no induced

4 5

Page 25: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if G is split

Algorithm succeeds

A splitting existsNo forbidden subgraphs

[H-Klein-Nogueira-Protti]

Page 26: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

(assuming all parts are nonempty)

This is a clique cutset

Page 27: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Deciding if G has a clique cutset

• is in P

• has applications in solving optimization problems on chordal graphs

[Tarjan, Whitesides,…]

Page 28: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a chordal graph

if it contains no induced

6 . . .4 5

Page 29: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a chordal graph

if it contains no induced

if and only if every induced subgraph is eithera clique or has a clique cutset

[Dirac]

4 56 . . .

Page 30: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a cograph

if it contains no induced

Page 31: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a cograph

if it contains no induced

if and only if every induced subgraph is partitionable as or

[Seinsche]

Page 32: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

This kind of line means allpossible edges are present

Page 33: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Another well-known kind of partition

A homogeneous set (module)

Page 34: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

A homogeneous set (module)

• finding one is in P

• has applications in decomposition and recognition of comparability graphs (and in solving optimization problems on comparability graphs)

[Gallai…]

Page 35: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a perfect graph

holds for G and all its induced subgraphs. =

Page 36: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a perfect graph

holds for G and all its induced subgraphs.

G is perfect if and only if G and its complement

contain no induced

=

7 . . .35

[Chudnovsky, Robertson, Seymour, Thomas]

Page 37: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Perfect graphs

• contain bipartite graphs, line graphs of bipartite graphs, split graphs, chordal graphs, cographs, comparability graphs

• and their complements, and

• model many max-min relations.[Berge]

Page 38: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Perfect graphs

• contain bipartite graphs, line graphs of bipartite graphs, split graphs, chordal graphs, cographs, comparability graphs

• and their complements, and

• model many max-min relations.

Basic graphs

Page 39: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is perfect

if and only if it is basic or it admits a

partition …

all others

[Chudnovsky, Robertson, Seymour, Thomas]

Page 40: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Special properties of partitions

Sets may be required to be • Independent sets • cliques• or unrestricted

Between the sets we may require no edges all edges or no restriction

Page 41: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

The matrix M of a partition

0 if Vi is independent

M(i,i) = 1 if Vi is a clique

* if Vi is unrestricted

0 if Vi and Vj are not joined

M(i,j) =1 if Vi and Vj are fully joined

* if Vi to Vj is unrestricted

Page 42: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

The problem PART(M)

• Instance: A graph G

• Question: Does G admit a partition according to the matrix M ?

Page 43: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

The problem SPART(M)

• Instance: A graph G

• Question: Does G admit a

surjective partition according to M ?(the parts are non-empty)

Page 44: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

The problem LPART(M)

• Instance: A graph G, with lists

• Question: Does G admit a

list partition according to M ?(each vertex is placed to a set on its list)

Page 45: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

For PART(M) we assume

NO DIAGONAL ASTERISKS *

M has a diagonal of k zeros and l ones

( k + l = n )

Page 46: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Small matrices M

• When |M| ≤ 4: PART(M) classified as being in P or NP-complete

[Feder-H-Klein-Motwani]

• When |M| ≤ 4: SPART(M) classified as being in P or NP-complete

[deFigueiredo-Klein-Gravier-Dantas]

except for one matrix M

Page 47: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Small matrices M with lists• When |M| ≤ 4: LPART(M) classified as being in

P or NP-complete, except for one matrix[Feder-H-Klein-Motwani]

[de Figueiredo-Klein-Kohayakawa-Reed]

[Cameron-Eschen-Hoang-Sritharan]

• When |M| ≤ 3: digraph partition problems classified as being in P or NP-complete[Feder-H-Nally]

Page 48: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

• M has no 1’s (or no 0’s)

[H-Nesetril, Feder-H-Huang]

Classified PART(M)

Page 49: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

• M has no 1’s (or no 0’s)

[H-Nesetril, Feder-H-Huang]

PART(M) is in P if M corresponds to a graph

which has a loop or is bipartite, and it is

NP-complete otherwise

LPART(M) is in P if M corresponds to a bi-arc

graph, and it is NP-complete otherwise

Classified PART(M)

Page 50: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Bi-Arc Graphs

Defined as (complements of) certain intersection graphs…

A common generalization of interval graphs (with loops) and (complements of) circular arc graphs of clique covering number two (no loops).

Page 51: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

• M has no 1’s (or no 0’s)[H-Nesetril, Feder-H-Huang]

• M has no *’s

Classified PART(M)

Page 52: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

• M has no 1’s (or no 0’s)[H-Nesetril, Feder-H-Huang]

• M has no *’s

All PART(M) and LPART(M) in P [Feder-H]

Classified PART(M)

Page 53: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

CSP(H)

Given a structure T with vertices V(H) and relations R1(H), … Rk(H) of arities r1, …, rk

Decide whether or not an input structure G with vertices V(G) and relations R1(G), … Rk(G), of the same arities r1, …, rk admits a homomorphism f of G to H.

DICHOTOMY CONJECTURE [Feder-Vardi]

Each CSP(H) is in P or is NP-complete

Page 54: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

If for every matrix M the problem PART(M) is

in P or is NP-complete, then the Dichotomy

Conjecture is true.[Feder-H]

Thus hoping to classify all problems PART(M)

appears to be overly ambitious…

Can all PART(M) be classified?

Page 55: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is complete bipartite

if and only if it contains no induced

Page 56: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a split graph

if and only if

it contains no induced

4 5

Page 57: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

G is a bipartite graph

if and only if

It contains no induced

7 . . .35

Page 58: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Another classification of PART(M)?

For which matrices M can the problem

PART(M) be described by finitely many

forbidden induced subgraphs?

Page 59: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Infinitely many forbidden induced subgraphs occur

• whenever M contains

• or

[Feder-H-Xie]

Page 60: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Do all others have finite sets of forbidden induced subgraphs?

k

l

Page 61: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Do all others have finite sets of forbidden induced subgraphs?

NO…

Page 62: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

For small matrices M

• If |M| ≤ 5, all other partition problems have only finitely many forbidden induced subgraphs

• If |M| = 6, there are other partition problems that have infinitely many forbidden induced subgraphs

[Feder-H-Xie]

Page 63: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

• If |M| ≤ 5, all other partition problems have only finitely many forbidden induced subgraphs

• If |M| = 6, there are other partition problems that have infinitely many forbidden induced subgraphs

[Feder-H-Xie]

means without

Page 64: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Restrictions to inputs G

Since these partitions relate closely to

perfect graphs, we may want to restrict

attention to (classes of) perfect graphs G

Page 65: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

If M is normal

The problem PART(M) restricted to

perfect graphs G is in P

[Feder-H]

(fmfs)

Page 66: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

BUT…

…classifying PART(M), for perfect G, as

being in P or being NP-complete, would

still solve the dichotomy conjecture

Page 67: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

If M is crossed

The problem PART(M) restricted to

chordal graphs G is in P

[Feder-H-Klein-Nogueira-Protti]

Page 68: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

BUT…

…there are problems PART(M), restricted to

chordal graphs G, which are NP-complete

[Feder-H-Klein-Nogueira-Protti]

Page 69: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

For all M

A cograph G has a partition if and

only if G does not contain one

of a finite set of forbidden induced subgraphs

[Feder-H-Hochstadter]

Page 70: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Are these problems CSP’s?

• Yes - two adjacent vertices of G have certain allowed images in H and two nonadjacent vertices of G have certain allowed images in H. (Two binary relations)

Page 71: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Are these problems CSP’s?

• Yes - two adjacent vertices of G have certain allowed images in H and two nonadjacent vertices of G have certain allowed images in H. (Two binary relations)

• No - this is not a CSP(T), as inputs are restricted to have each pair of distinct variables in a unique binary relation.

Page 72: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Full CSP’s

• Given a set L of positive integers, an L-full structure G has each k L elements in a unique k-ary relation

• CSPL(H) is CSP(H) restricted to L-full structures G

Page 73: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Example with m binary relations

Given a complete graph with edges coloured by 1, 2, … , m.

Given such a G, colour the vertices 1, 2, …, m, without a monochromatic edge

i

i

i

Page 74: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

When m = 2, the problem is in P

Page 75: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

When m = 2, the problem is in P When m 4, it is NP-complete

Page 76: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

When m = 2, the problem is in P When m 4, it is NP-complete When m = 3, we only have algorithms of

complexity

n O ( log n / log log n ) [FHKS]

Page 77: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

An algorithm of complexity nO(log n)

solving the (more general) problem with lists

Given a complete graph G with edges coloured by 1, 2, 3, and vertices equipped with lists {1,2,3}

Page 78: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

If all lists have size 2

Introduce a boolean variable for each vertex (use the first/second member of its list)

Express each edge-constraint as a clause of two variables

Solve by 2-SAT

Page 79: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

In general

Let X be the set of vertices with lists {1,2,3}

Recursively reduce |X| as follows:

Try to colour G without giving any vertex its majority colour

Give each vertex in turn its majority colour

(|X|-1) / 3X

X

X

Page 80: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Analysis of Recursive Algorithm

Time to solve problem with |X|= x

T(x) = (1 + x T(2x/3)) . T(2-SAT)

Page 81: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Analysis of Recursive Algorithm

Time to solve problem with |X|= x

T(x) = (1 + x T(2x/3)) . T(2-SAT)

T(x) = x O(log x)

Page 82: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Analysis of Recursive Algorithm

Time to solve problem with |X|= x

T(x) = (1 + x T(2x/3)) . T(2-SAT)

T(x) = x O(log x)

T(n) = n O(log n)

Page 83: Graph Partitions. Partition V(G) into k sets (k=3)  Vertex partitions.

Can we say anything ?

A kind of (quasi) dichotomy

If 1 L then every CSPL(H) is

quasi-polynomial or

NP-complete[Feder-H]