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

Post on 05-Jan-2016

223 views 0 download

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

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

Special properties of partitions

• Sets may be required to be independent

This kind of circledepicts an independent set

This is just a k-colouring

(k=3)

Deciding if a k-colouring exists is

in P for k =1, 2

NP-complete for all other k

(k=2)

Deciding if a 2-colouring exists

Obvious algorithm:

(k=2)1 2

1

1 1 1

2 22

Deciding if a 2-colouring exists

Algorithm succeeds

2-colouring existsNo odd cycles

Deciding if a 2-colouring exists

Algorithm succeeds

2-colouring existsNo odd cycles

Deciding if a 2-colouring exists

Algorithm succeeds

2-colouring existsNo odd cycles

G has a 2-colouring(is bipartite)

if and only if it contains no induced

7 . . .35

Special properties of partitions

Sets may be required to have no edges joining them

This kind of dotted line means there are no edges

joining the two sets

This is (corresponds to) a homomorphism.

Here a homomorphism to C5 - also known

as a C5-colouring.

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.

1 2

3

4

5C5

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

f -1(3)

f -1(4)

f -1(5)

1 2

3

4

5

Special properties of partitions

• Sets may be required to be cliques

This kind of circledepicts a clique

This is just a colouring of the

complement of G

if it is partitionable as

G is a split graph

is in P

Deciding if G is a split graph

G is split graph

if and only if

it contains no induced

4 5

Deciding if G is split

Algorithm succeeds

A splitting existsNo forbidden subgraphs

[H-Klein-Nogueira-Protti]

(assuming all parts are nonempty)

This is a clique cutset

Deciding if G has a clique cutset

• is in P

• has applications in solving optimization problems on chordal graphs

[Tarjan, Whitesides,…]

G is a chordal graph

if it contains no induced

6 . . .4 5

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

G is a cograph

if it contains no induced

G is a cograph

if it contains no induced

if and only if every induced subgraph is partitionable as or

[Seinsche]

This kind of line means allpossible edges are present

Another well-known kind of partition

A homogeneous set (module)

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…]

G is a perfect graph

holds for G and all its induced subgraphs. =

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]

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]

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

G is perfect

if and only if it is basic or it admits a

partition …

all others

[Chudnovsky, Robertson, Seymour, Thomas]

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

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

The problem PART(M)

• Instance: A graph G

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

The problem SPART(M)

• Instance: A graph G

• Question: Does G admit a

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

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)

For PART(M) we assume

NO DIAGONAL ASTERISKS *

M has a diagonal of k zeros and l ones

( k + l = n )

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

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]

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

[H-Nesetril, Feder-H-Huang]

Classified PART(M)

• 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)

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).

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

• M has no *’s

Classified PART(M)

• 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)

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

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?

G is complete bipartite

if and only if it contains no induced

G is a split graph

if and only if

it contains no induced

4 5

G is a bipartite graph

if and only if

It contains no induced

7 . . .35

Another classification of PART(M)?

For which matrices M can the problem

PART(M) be described by finitely many

forbidden induced subgraphs?

Infinitely many forbidden induced subgraphs occur

• whenever M contains

• or

[Feder-H-Xie]

Do all others have finite sets of forbidden induced subgraphs?

k

l

Do all others have finite sets of forbidden induced subgraphs?

NO…

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]

• 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

Restrictions to inputs G

Since these partitions relate closely to

perfect graphs, we may want to restrict

attention to (classes of) perfect graphs G

If M is normal

The problem PART(M) restricted to

perfect graphs G is in P

[Feder-H]

(fmfs)

BUT…

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

being in P or being NP-complete, would

still solve the dichotomy conjecture

If M is crossed

The problem PART(M) restricted to

chordal graphs G is in P

[Feder-H-Klein-Nogueira-Protti]

BUT…

…there are problems PART(M), restricted to

chordal graphs G, which are NP-complete

[Feder-H-Klein-Nogueira-Protti]

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]

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)

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.

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

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

When m = 2, the problem is in P

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

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]

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}

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

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

Analysis of Recursive Algorithm

Time to solve problem with |X|= x

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

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)

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)

Can we say anything ?

A kind of (quasi) dichotomy

If 1 L then every CSPL(H) is

quasi-polynomial or

NP-complete[Feder-H]