23
On a Local-Search Algorithm for Large Bipartite Subgraphs Hemanshu Kaul [email protected]. Illinois Institute of Technology, Chicago Locality & MaxCut – p.1/16

On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

On a Local-Search Algorithm for LargeBipartite Subgraphs

Hemanshu Kaul

[email protected].

Illinois Institute of Technology, Chicago

Locality & MaxCut – p.1/16

Page 2: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Large Bipartite Subgraphs

MAX-CUT: In a given graph G = (V, E), find a bipartite subgraph withmaximum number of edges.

Find a bipartition (cut) (X, Y ), with X ⊆ V (G) and Y = V (G) \ X , thatmaximizes the number of edges between X and Y .

b(G) be the number of edges in a largest bipartite subgraph of G.

Locality & MaxCut – p.2/16

Page 3: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Large Bipartite Subgraphs

MAX-CUT: In a given graph G = (V, E), find a bipartite subgraph withmaximum number of edges.

Find a bipartition (cut) (X, Y ), with X ⊆ V (G) and Y = V (G) \ X , thatmaximizes the number of edges between X and Y .

b(G) be the number of edges in a largest bipartite subgraph of G.

NP-complete

Approximation results: Randomized (0.87)-approximationalgorithm [Goemans-Williamson, 1995].

Hard to approximate: No (0.942)-approximation algorithm existsunless P=NP [Hastad, 1997].

Locality & MaxCut – p.2/16

Page 4: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Large Bipartite Subgraphs

MAX-CUT: In a given graph G = (V, E), find a bipartite subgraph withmaximum number of edges.

Find a bipartition (cut) (X, Y ), with X ⊆ V (G) and Y = V (G) \ X , thatmaximizes the number of edges between X and Y .

b(G) be the number of edges in a largest bipartite subgraph of G.

Extremal results like Edwards-Erdos Inequalities :1) b(G) ≥ 1

2m + 1

8(√

8m + 1 − 1), m = e(G)

2) b(G) ≥ 1

2m + 1

4(n − 1), n = n(G)

Locality & MaxCut – p.2/16

Page 5: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

A local search algorithm

Idea : Starting with an arbitrary vertex partition, switch a vertex fromone partite set to the other if doing so increases the number of edgesin the cut (the bipartite subgraph induced by the vertex partition).

Given a partition V (G) = X ∪ Y of the vertex set of a graph G, a localswitch moves a vertex v from X to Y that has more neighbors in X

than in Y .

A list of local switches performed successively is a switching sequence.

Locality & MaxCut – p.3/16

Page 6: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

A local search algorithm

Idea : Starting with an arbitrary vertex partition, switch a vertex fromone partite set to the other if doing so increases the number of edgesin the cut (the bipartite subgraph induced by the vertex partition).

Given a partition V (G) = X ∪ Y of the vertex set of a graph G, a localswitch moves a vertex v from X to Y that has more neighbors in X

than in Y .

A list of local switches performed successively is a switching sequence.

Size of the bipartite subgraph : How big a bipartite subgraph isguaranteed at the end of a switching sequence?

Length of a switching sequence : How long can a switching sequence

be?

Locality & MaxCut – p.3/16

Page 7: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Size of the bipartite subgraph

Theorem: [Bylka + Idzik + Tuza, 1999]A bipartite subgraph of size 1

2m + 1

4o(G) is guaranteed, where o(G) is

the number of odd degree vertices in G.

A slight modification of the local switching rules improves theguarantee to the first Edwards-Erdos Inequality :b(G) ≥ 1

2m + 1

8(√

8m + 1 − 1).

Locality & MaxCut – p.4/16

Page 8: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Minimum length of a switching length

Let s(G) denote the minimum length of a maximal flip sequencestarting from the trivial vertex partition.

Theorem [Kaul + West, 2007]:If G is an n-vertex loopless multigraph, then s(G) ≤ n/2.In fact, there exists a sequence of at most n/2 flips that produces aglobally optimal partition.

Locality & MaxCut – p.5/16

Page 9: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Maximum length of a switching sequence

Each switch increases the edges in the cut by at least one.

Observation: The maximum length of a switching sequence, l(G), is atmost b(G) ≤ e(G).

This is best possible, as the star K1,n−1 achieves equality for both b(G)

and e(G).

Bounding the length with n : A bipartite graph on n vertices has atmost n2

4edges, so any switching sequence has length at most n2

4.

Locality & MaxCut – p.6/16

Page 10: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

l(G) : Upper Bound

To get a better upper bound, we look at the tradeoff between δ(G), theminimum degree of G, and b(G), as a switching sequence progresses.

Proposition [Kaul + West, 2007]:The length of any switching sequence is at mostb(G) − ( 3

8δ2(G) + δ(G)).

Locality & MaxCut – p.7/16

Page 11: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

l(G) : Upper Bound

To get a better upper bound, we look at the tradeoff between δ(G), theminimum degree of G, and b(G), as a switching sequence progresses.

Proposition [Kaul + West, 2007]:The length of any switching sequence is at mostb(G) − ( 3

8δ2(G) + δ(G)).

Given an arbitrary switching sequence. The first move gains at leastδ(G) edges, the second move gains at least δ(G) − 1 edges, and soon. Furthermore, we cannot move anything back until more thanδ(G)/2 vertices are moved.

Locality & MaxCut – p.7/16

Page 12: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

l(G) : Upper Bound

To get a better upper bound, we look at the tradeoff between δ(G), theminimum degree of G, and b(G), as a switching sequence progresses.

Proposition [Kaul + West, 2007]:The length of any switching sequence is at mostb(G) − ( 3

8δ2(G) + δ(G)).

For example, Let G be a αn-regular graph, α ∈ (0, 1), thenl(G) ≤ (1 − 3

4α) e(G),

which is much better than the trivial upper bound.

Let G be triangle-free, then the upper bound above improves tob(G) − 7

16δ2(G).

Locality & MaxCut – p.7/16

Page 13: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

l(G) : Lower Bound

Can we do faster than 1

4n2 switches to reach a local optima?

Theorem: [Cowen + West, 2002]When n is a perfect square, there exists a graph G with n vertices thathas a switching sequence of length e(G) = 1

2n

3

2 .

A delicate construction in which each switch gained exactly one edge.

This gave hope that l(G) ≤ O(n3

2 ).

Locality & MaxCut – p.8/16

Page 14: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

l(G) : Lower Bound

Can we do faster than 1

4n2 switches to reach a local optima?

Theorem: [Cowen + West, 2002]When n is a perfect square, there exists a graph G with n vertices thathas a switching sequence of length e(G) = 1

2n

3

2 .

A delicate construction in which each switch gained exactly one edge.

This gave hope that l(G) ≤ O(n3

2 ).

Theorem: [Kaul + West, 2007]For every n, there exists a graph G with n vertices that has a switchingsequence of length at least 2

25(n2 + n − 31).

Locality & MaxCut – p.8/16

Page 15: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

l(G) : Lower Bound

Theorem: [Kaul + West, 2007]For every n, there exists a graph G with n vertices that has a switchingsequence of length at least 2

25(n2 + n − 31).

w 4v3v2v1v

3u2u1u

1

G

VV

V

V

V

k+1 verticesk+1 vertices

k vertices k+1 vertices

k vertices

with k = 3

3w2w

54

3

2

1

Locality & MaxCut – p.9/16

Page 16: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Local optima

Initialize X = V (G) and Y = ∅ and with each local switch dynamicallyupdate the membership of X and Y .

At the end of the switching sequence X = V1 ∪V2 ∪V4 and Y = V3 ∪V5.

switching

1

2

3

45

V

k+1k+1

k+1k

k

Y

Y

X

X

X

VV

V

V1

2

3

4

X

X

X

X

X

VV

V

V

V

5

Locality & MaxCut – p.10/16

Page 17: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Switching sequence- Preprocessing

Phase 0a. Move each vertex in V1 from X to Y . This is possiblebecause all the neighbors of each vertex in V1 are in X .

1

2

3

45

V

V

X

XY

Phase 0ak+1k+1

k+1k

k

X

X

VV

V

1

2

3

4

X

X

X

X

X

VV

V

V

V

5

Locality & MaxCut – p.11/16

Page 18: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Switching sequence- Preprocessing

Phase 0b. Move each vertex in V5 from X to Y . This is possiblebecause each vertex in V5 has k + 1 neighbors (from V4) in X and k

neighbors (from V1) in Y .

VV

X

X

k

kk+1

k+1 k+1

Y X

Phase 0b

1

2

Y

Y

X X

X

X

VV

V

V

V

54

3 V

V

V

54

3

2

1

Henceforth, always V4 ⊆ X and V5 ⊆ Y .

Locality & MaxCut – p.12/16

Page 19: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Switching sequence- Main Phase

For i = 1, . . . , k + 1,

Phase i. At the start of Phase i,X = {wj : j < i} ∪ V2 ∪ {vj : j ≥ i} ∪ V4,Y = {wj : j ≥ i} ∪ {vj : j < i} ∪ V5.

(ai) Move each vertex in V2 from X to Y . k + 1 neighbors in X and k

neighbors in Y .

(bi) Move vi ∈ V3 from X to Y . k + 1 neighbors (all of V4) in X and k

neighbors (all of V2) in Y .

(ci) Move each vertex in V2 from Y to X . k + 1 neighbors in Y and k

neighbors in X .

(di) If i < k + 1, move wi ∈ V1 from Y to X , otherwise stop. k + 1

neighbors (all of V5) in Y and k neighbors (all of V2) in X .

Locality & MaxCut – p.13/16

Page 20: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Switching sequence- Main Phase

v ..... v v .... v k+1

XY

X

1w1 ..... wi−1 wi .... wk

X Y X

v ..... v v .... v k+1

XY

1w1 ..... wi−1 wi .... wk

X Y YY

1 ..... wi−1 wi .... wk

X Y Y X

v ..... v v .... v k+1

XY

w i

X

v ..... v v .... v k+1

XY

Y

Y

i i+1i i+1

k

k+1 k+1

X

1 i−1

X

Step d i (move w i , augment i)

1 i−1 iw1 ..... wi−1 wi .... wk

X Y Y

i

Step a i

Step b i (move v i)

Step c

Locality & MaxCut – p.14/16

Page 21: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Open Questions I

Problem 1. Determine the exact constant multiple (between 8

100and

25

100) of n2 for l(G).

Locality & MaxCut – p.15/16

Page 22: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Open Questions I

Problem 1. Determine the exact constant multiple (between 8

100and

25

100) of n2 for l(G).

Problem 2. New ideas for upper bounds on l(G).

Locality & MaxCut – p.15/16

Page 23: On a Local-Search Algorithm for Large Bipartite Subgraphskaul/talks/MaxCutTalk-short.pdf · MAX-CUT: In a given graph G = (V,E), find a bipartite subgraph with maximum number of

Open Questions II

Modify the switching algorithm by allowing up to k ≥ 1 vertices to beswitched at a time.

How close can we get to the second Edwards-Erdos Inequality :b(G) ≥ 1

2m + 1

4(n − 1)?

Problem 3. [Tuza, 2001] Given k, determine the largest constantc = c(k) such that the local switching algorithm guarantees a bipartitesubgraph of size at least 1

2m + cn − o(n).

A construction shows that c(k) < 1

4, for all k.

What is the smallest k with c(k) > 0? Is c(1) > 0?

Locality & MaxCut – p.16/16