Stabilizing Weighted Graphs Zhuan Khye Koh Laura Sanit` a - - PowerPoint PPT Presentation

stabilizing weighted graphs
SMART_READER_LITE
LIVE PREVIEW

Stabilizing Weighted Graphs Zhuan Khye Koh Laura Sanit` a - - PowerPoint PPT Presentation

Stabilizing Weighted Graphs Zhuan Khye Koh Laura Sanit` a Combinatorics and Optimization University of Waterloo, Canada July 3, 2018 Matchings and w -vertex covers Matchings and w -vertex covers Let G = ( V , E ) be a graph with


slide-1
SLIDE 1

Stabilizing Weighted Graphs

Zhuan Khye Koh Laura Sanit` a

Combinatorics and Optimization University of Waterloo, Canada

July 3, 2018

slide-2
SLIDE 2

Matchings and w-vertex covers

slide-3
SLIDE 3

Matchings and w-vertex covers

  • Let G = (V , E) be a graph with edge-weights w ∈ RE

≥0.

slide-4
SLIDE 4

Matchings and w-vertex covers

  • Let G = (V , E) be a graph with edge-weights w ∈ RE

≥0.

  • Def. A vector x ∈ RE is a fractional matching if it is a feasible solution

to νf (G) := max

  • w ⊤x : x(δ(v)) ≤ 1 ∀v ∈ V , x ≥ 0
  • .

slide-5
SLIDE 5

Matchings and w-vertex covers

  • Let G = (V , E) be a graph with edge-weights w ∈ RE

≥0.

  • Def. A vector x ∈ RE is a fractional matching if it is a feasible solution

to νf (G) := max

  • w ⊤x : x(δ(v)) ≤ 1 ∀v ∈ V , x ≥ 0
  • .
  • Def. A vector y ∈ RV is a fractional w-vertex cover if it is a feasible

solution to τf (G) := min

  • ✶⊤y : yu + yv ≥ wuv ∀uv ∈ E, y ≥ 0
  • .
slide-6
SLIDE 6

Matchings and w-vertex covers

  • Let G = (V , E) be a graph with edge-weights w ∈ RE

≥0.

  • Def. A vector x ∈ RE is a fractional matching if it is a feasible solution

to νf (G) := max

  • w ⊤x : x(δ(v)) ≤ 1 ∀v ∈ V , x ≥ 0
  • .
  • Def. A vector y ∈ RV is a fractional w-vertex cover if it is a feasible

solution to τf (G) := min

  • ✶⊤y : yu + yv ≥ wuv ∀uv ∈ E, y ≥ 0
  • .
  • Denote ν(G) as the value of a maximum-weight matching in G.
slide-7
SLIDE 7

Matchings and w-vertex covers

  • Let G = (V , E) be a graph with edge-weights w ∈ RE

≥0.

  • Def. A vector x ∈ RE is a fractional matching if it is a feasible solution

to νf (G) := max

  • w ⊤x : x(δ(v)) ≤ 1 ∀v ∈ V , x ≥ 0
  • .
  • Def. A vector y ∈ RV is a fractional w-vertex cover if it is a feasible

solution to τf (G) := min

  • ✶⊤y : yu + yv ≥ wuv ∀uv ∈ E, y ≥ 0
  • .
  • Denote ν(G) as the value of a maximum-weight matching in G.
  • By LP duality,

ν(G) ≤ νf (G) = τf (G).

slide-8
SLIDE 8

Stable graphs

slide-9
SLIDE 9

Stable graphs

  • There are graphs where ν(G) < νf (G).
slide-10
SLIDE 10

Stable graphs

  • There are graphs where ν(G) < νf (G).

1 1 1 ν(G) = 1 1 1 1 νf (G) = 1.5 xe = 1 xe = 1

2

slide-11
SLIDE 11

Stable graphs

  • There are graphs where ν(G) < νf (G).

1 1 1 ν(G) = 1 1 1 1 νf (G) = 1.5 xe = 1 xe = 1

2

  • Def. A graph G is stable if ν(G) = νf (G).
slide-12
SLIDE 12

Stable graphs

  • There are graphs where ν(G) < νf (G).

1 1 1 ν(G) = 1 1 1 1 νf (G) = 1.5 xe = 1 xe = 1

2

  • Def. A graph G is stable if ν(G) = νf (G).

1 1 1 1

slide-13
SLIDE 13

Stable graphs

  • There are graphs where ν(G) < νf (G).

1 1 1 ν(G) = 1 1 1 1 νf (G) = 1.5 xe = 1 xe = 1

2

  • Def. A graph G is stable if ν(G) = νf (G).

1 1 1 1 0.5 0.5 0.5 0.5

slide-14
SLIDE 14

Stabilizers

slide-15
SLIDE 15

Stabilizers

  • Def. An edge-stabilizer is a subset F ⊂ E such that G \ F is stable.
slide-16
SLIDE 16

Stabilizers

  • Def. An edge-stabilizer is a subset F ⊂ E such that G \ F is stable.

4 4 1 3 4 2 2

×

4 4 1 3 2 2

slide-17
SLIDE 17

Stabilizers

  • Def. An edge-stabilizer is a subset F ⊂ E such that G \ F is stable.

4 4 1 3 4 2 2

×

4 4 1 3 2 2

  • Def. A vertex-stabilizer is a subset S ⊆ V such that G \ S is stable.
slide-18
SLIDE 18

Stabilizers

  • Def. An edge-stabilizer is a subset F ⊂ E such that G \ F is stable.

4 4 1 3 4 2 2

×

4 4 1 3 2 2

  • Def. A vertex-stabilizer is a subset S ⊆ V such that G \ S is stable.

4 4 1 3 4 2 2

×

4 1 3 2 2

slide-19
SLIDE 19

Finding small stabilizers

slide-20
SLIDE 20

Finding small stabilizers

  • This gives rise to the following two optimization problems:
slide-21
SLIDE 21

Finding small stabilizers

  • This gives rise to the following two optimization problems:

Minimum Vertex-Stabilizer Find a vertex-stabilizer of minimum cardinality. Minimum Edge-Stabilizer Find an edge-stabilizer of minimum cardinality.

slide-22
SLIDE 22

Finding small stabilizers

  • This gives rise to the following two optimization problems:

Minimum Vertex-Stabilizer Find a vertex-stabilizer of minimum cardinality. Minimum Edge-Stabilizer Find an edge-stabilizer of minimum cardinality.

  • Why are stable graphs interesting?
slide-23
SLIDE 23

Finding small stabilizers

  • This gives rise to the following two optimization problems:

Minimum Vertex-Stabilizer Find a vertex-stabilizer of minimum cardinality. Minimum Edge-Stabilizer Find an edge-stabilizer of minimum cardinality.

  • Why are stable graphs interesting?

◮ Motivated by network bargaining games and cooperative matching

games.

slide-24
SLIDE 24

Network bargaining games

slide-25
SLIDE 25

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)
slide-26
SLIDE 26

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

slide-27
SLIDE 27

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

  • Every player can make a deal with at most 1 neighbour.

→ matching M

slide-28
SLIDE 28

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

  • Every player can make a deal with at most 1 neighbour.

→ matching M

  • When a deal is made, players split the value.

→ allocation y ∈ RV

≥0:

yu + yv = wuv ∀uv ∈ M yu = 0 if u is M-exposed.

slide-29
SLIDE 29

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

  • Every player can make a deal with at most 1 neighbour.

→ matching M

  • When a deal is made, players split the value.

→ allocation y ∈ RV

≥0:

yu + yv = wuv ∀uv ∈ M yu = 0 if u is M-exposed.

  • An outcome is given by (M, y).
slide-30
SLIDE 30

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

  • Every player can make a deal with at most 1 neighbour.

→ matching M

  • When a deal is made, players split the value.

→ allocation y ∈ RV

≥0:

yu + yv = wuv ∀uv ∈ M yu = 0 if u is M-exposed.

  • An outcome is given by (M, y).
  • An outcome is stable if yu + yv ≥ wuv for all uv ∈ E.
slide-31
SLIDE 31

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

  • Every player can make a deal with at most 1 neighbour.

→ matching M

  • When a deal is made, players split the value.

→ allocation y ∈ RV

≥0:

yu + yv = wuv ∀uv ∈ M yu = 0 if u is M-exposed.

  • An outcome is given by (M, y).
  • An outcome is stable if yu + yv ≥ wuv for all uv ∈ E.
  • A stable outcome is balanced if the deal values are “fairly” split.
slide-32
SLIDE 32

Network bargaining games

  • [Kleinberg and Tardos ’08] Given an edge-weighted graph G = (V , E)

◮ Every vertex represents a player. ◮ Every edge e represents a deal of value we.

  • Every player can make a deal with at most 1 neighbour.

→ matching M

  • When a deal is made, players split the value.

→ allocation y ∈ RV

≥0:

yu + yv = wuv ∀uv ∈ M yu = 0 if u is M-exposed.

  • An outcome is given by (M, y).
  • An outcome is stable if yu + yv ≥ wuv for all uv ∈ E.
  • A stable outcome is balanced if the deal values are “fairly” split.

A stable outcome exists ⇔ A balanced outcome exists ⇔ G is stable

slide-33
SLIDE 33

Cooperative matching games

slide-34
SLIDE 34

Cooperative matching games

  • [Shapley and Shubik ’71] Let G = (V , E) be an edge-weighted graph.
slide-35
SLIDE 35

Cooperative matching games

  • [Shapley and Shubik ’71] Let G = (V , E) be an edge-weighted graph.

Goal: Allocate the value ν(G) among the vertices such that

◮ No subset S ⊆ V is incentivized to form a coalition to deviate

  • v∈S

yv ≥ ν(G[S]) ∀S ⊆ V

slide-36
SLIDE 36

Cooperative matching games

  • [Shapley and Shubik ’71] Let G = (V , E) be an edge-weighted graph.

Goal: Allocate the value ν(G) among the vertices such that

◮ No subset S ⊆ V is incentivized to form a coalition to deviate

  • v∈S

yv ≥ ν(G[S]) ∀S ⊆ V

◮ Such an allocation y is called stable.

slide-37
SLIDE 37

Cooperative matching games

  • [Shapley and Shubik ’71] Let G = (V , E) be an edge-weighted graph.

Goal: Allocate the value ν(G) among the vertices such that

◮ No subset S ⊆ V is incentivized to form a coalition to deviate

  • v∈S

yv ≥ ν(G[S]) ∀S ⊆ V

◮ Such an allocation y is called stable.

  • [Deng et al. ’99] proved that a stable allocation exists ⇔ G is stable
slide-38
SLIDE 38

Cooperative matching games

  • [Shapley and Shubik ’71] Let G = (V , E) be an edge-weighted graph.

Goal: Allocate the value ν(G) among the vertices such that

◮ No subset S ⊆ V is incentivized to form a coalition to deviate

  • v∈S

yv ≥ ν(G[S]) ∀S ⊆ V

◮ Such an allocation y is called stable.

  • [Deng et al. ’99] proved that a stable allocation exists ⇔ G is stable

Can we stabilize unstable games through minimal changes in the underlying network?

slide-39
SLIDE 39

Cooperative matching games

  • [Shapley and Shubik ’71] Let G = (V , E) be an edge-weighted graph.

Goal: Allocate the value ν(G) among the vertices such that

◮ No subset S ⊆ V is incentivized to form a coalition to deviate

  • v∈S

yv ≥ ν(G[S]) ∀S ⊆ V

◮ Such an allocation y is called stable.

  • [Deng et al. ’99] proved that a stable allocation exists ⇔ G is stable

Can we stabilize unstable games through minimal changes in the underlying network? e.g. by blocking some players Vertex-stabilizer by blocking some deals Edge-stabilizer

slide-40
SLIDE 40

State of the art

slide-41
SLIDE 41

State of the art

Unweighted Graphs

slide-42
SLIDE 42

State of the art

Unweighted Graphs

  • [Bock et al. ’15] Finding a minimum edge-stabilizer is hard to

approximate within a factor of (2 − ε) for any ε > 0 assuming UGC.

slide-43
SLIDE 43

State of the art

Unweighted Graphs

  • [Bock et al. ’15] Finding a minimum edge-stabilizer is hard to

approximate within a factor of (2 − ε) for any ε > 0 assuming UGC.

  • They gave an O(ω)-approximation algorithm, where ω is the sparsity of

the graph.

slide-44
SLIDE 44

State of the art

Unweighted Graphs

  • [Bock et al. ’15] Finding a minimum edge-stabilizer is hard to

approximate within a factor of (2 − ε) for any ε > 0 assuming UGC.

  • They gave an O(ω)-approximation algorithm, where ω is the sparsity of

the graph.

  • [Ahmadian et al. ’16, Ito et al. ’16] Finding a minimum vertex-stabilizer

is polynomial time solvable.

slide-45
SLIDE 45

State of the art

Unweighted Graphs

  • [Bock et al. ’15] Finding a minimum edge-stabilizer is hard to

approximate within a factor of (2 − ε) for any ε > 0 assuming UGC.

  • They gave an O(ω)-approximation algorithm, where ω is the sparsity of

the graph.

  • [Ahmadian et al. ’16, Ito et al. ’16] Finding a minimum vertex-stabilizer

is polynomial time solvable.

  • Stabilizing a graph via different operations:

◮ [Ito et al. ’16] Adding vertices/edges. ◮ [Chandrasekaran et al. ’16] Fractionally increasing edge weights.

slide-46
SLIDE 46

State of the art

Unweighted Graphs

  • [Bock et al. ’15] Finding a minimum edge-stabilizer is hard to

approximate within a factor of (2 − ε) for any ε > 0 assuming UGC.

  • They gave an O(ω)-approximation algorithm, where ω is the sparsity of

the graph.

  • [Ahmadian et al. ’16, Ito et al. ’16] Finding a minimum vertex-stabilizer

is polynomial time solvable.

  • Stabilizing a graph via different operations:

◮ [Ito et al. ’16] Adding vertices/edges. ◮ [Chandrasekaran et al. ’16] Fractionally increasing edge weights.

  • [Ahmadian et al ’16] Vertex-stabilizer with costs.
slide-47
SLIDE 47

State of the art

Unweighted Graphs

  • [Bock et al. ’15] Finding a minimum edge-stabilizer is hard to

approximate within a factor of (2 − ε) for any ε > 0 assuming UGC.

  • They gave an O(ω)-approximation algorithm, where ω is the sparsity of

the graph.

  • [Ahmadian et al. ’16, Ito et al. ’16] Finding a minimum vertex-stabilizer

is polynomial time solvable.

  • Stabilizing a graph via different operations:

◮ [Ito et al. ’16] Adding vertices/edges. ◮ [Chandrasekaran et al. ’16] Fractionally increasing edge weights.

  • [Ahmadian et al ’16] Vertex-stabilizer with costs.
  • Other variants [Mishra et al. ’11, Bir´
  • et al. ’12, K¨
  • nemann et al. ’15].
slide-48
SLIDE 48

Unweighted vs. weighted graphs

slide-49
SLIDE 49

Unweighted vs. weighted graphs

  • On unweighted graphs,

◮ For any minimum edge-stabilizer F, ν(G \ F) = ν(G). ◮ For any minimum vertex-stabilizer S, ν(G \ S) = ν(G).

slide-50
SLIDE 50

Unweighted vs. weighted graphs

  • On unweighted graphs,

◮ For any minimum edge-stabilizer F, ν(G \ F) = ν(G). ◮ For any minimum vertex-stabilizer S, ν(G \ S) = ν(G).

  • This property does not hold on weighted graphs.
slide-51
SLIDE 51

Unweighted vs. weighted graphs

  • On unweighted graphs,

◮ For any minimum edge-stabilizer F, ν(G \ F) = ν(G). ◮ For any minimum vertex-stabilizer S, ν(G \ S) = ν(G).

  • This property does not hold on weighted graphs.

4 4 1 4 ν(G) = 5 4 4 1 4 νf (G) = 6

slide-52
SLIDE 52

Main results

slide-53
SLIDE 53

Main results

Thm 1: There exists a polynomial time algorithm that computes a minimum vertex-stabilizer S for a weighted graph G. Moreover, ν(G \ S) ≥ 2 3ν(G). Thm 2: Deciding whether a graph G has a vertex-stabilizer S where ν(G \ S) = ν(G) is NP-complete.

slide-54
SLIDE 54

Main results

Thm 1: There exists a polynomial time algorithm that computes a minimum vertex-stabilizer S for a weighted graph G. Moreover, ν(G \ S) ≥ 2 3ν(G). Thm 2: Deciding whether a graph G has a vertex-stabilizer S where ν(G \ S) = ν(G) is NP-complete. Thm 3: There is no constant factor approximation for the minimum edge-stabilizer problem unless P = NP. Thm 4: There exists an efficient O(∆)-approximation algorithm for the minimum edge-stabilizer problem.

slide-55
SLIDE 55

Preliminaries

slide-56
SLIDE 56

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

slide-57
SLIDE 57

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

slide-58
SLIDE 58

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2

slide-59
SLIDE 59

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2 ◮ M(ˆ

x) := {e ∈ E : ˆ xe = 1}.

slide-60
SLIDE 60

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2 ◮ M(ˆ

x) := {e ∈ E : ˆ xe = 1}. Def. γ(G) := min

ˆ x∈X |C (ˆ

x)| where X is the set of basic maximum-weight fractional matchings in G.

slide-61
SLIDE 61

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2 ◮ M(ˆ

x) := {e ∈ E : ˆ xe = 1}. Def. γ(G) := min

ˆ x∈X |C (ˆ

x)| where X is the set of basic maximum-weight fractional matchings in G.

◮ G is stable if and only if γ(G) = 0.

slide-62
SLIDE 62

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2 ◮ M(ˆ

x) := {e ∈ E : ˆ xe = 1}. Def. γ(G) := min

ˆ x∈X |C (ˆ

x)| where X is the set of basic maximum-weight fractional matchings in G.

◮ G is stable if and only if γ(G) = 0.

  • Let y be a minimum fractional w-vertex cover in G.
slide-63
SLIDE 63

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2 ◮ M(ˆ

x) := {e ∈ E : ˆ xe = 1}. Def. γ(G) := min

ˆ x∈X |C (ˆ

x)| where X is the set of basic maximum-weight fractional matchings in G.

◮ G is stable if and only if γ(G) = 0.

  • Let y be a minimum fractional w-vertex cover in G.

◮ An edge uv is tight if yu + yv = wuv.

slide-64
SLIDE 64

Preliminaries

Thm [Balinski ’70]: A fractional matching ˆ x in G is basic if and only if

1 ˆ

xe ∈

  • 0, 1

2, 1

  • for every edge e; and

2 The edges e with ˆ

xe = 1

2 induce vertex-disjoint odd cycles in G.

  • Given a basic fractional matching ˆ

x in G, denote

◮ C (ˆ

x) := {C1, . . . , Cq} as the set of odd cycles induced by ˆ xe = 1

2 ◮ M(ˆ

x) := {e ∈ E : ˆ xe = 1}. Def. γ(G) := min

ˆ x∈X |C (ˆ

x)| where X is the set of basic maximum-weight fractional matchings in G.

◮ G is stable if and only if γ(G) = 0.

  • Let y be a minimum fractional w-vertex cover in G.

◮ An edge uv is tight if yu + yv = wuv. ◮ A path is tight if all its edges are tight.

slide-65
SLIDE 65

Preliminaries

slide-66
SLIDE 66

Preliminaries

  • We will use the following 2 operations:
slide-67
SLIDE 67

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

slide-68
SLIDE 68

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

slide-69
SLIDE 69

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

slide-70
SLIDE 70

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

2 By alternate rounding on C ∈ C (ˆ

x) at vertex v, we mean

slide-71
SLIDE 71

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

2 By alternate rounding on C ∈ C (ˆ

x) at vertex v, we mean

v C

slide-72
SLIDE 72

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

2 By alternate rounding on C ∈ C (ˆ

x) at vertex v, we mean

v C

slide-73
SLIDE 73

Preliminaries

  • We will use the following 2 operations:

1 By complementing on F ⊆ E, we mean replacing ˆ

xe by ¯ xe = 1 − ˆ xe for all e ∈ F.

2 By alternate rounding on C ∈ C (ˆ

x) at vertex v, we mean

v C

  • Def. An alternating path is valid if it

◮ starts with an exposed vertex or a matched edge ◮ ends with an exposed vertex or a matched edge

slide-74
SLIDE 74

Computing vertex-stabilizers

slide-75
SLIDE 75

Computing vertex-stabilizers

The algorithm:

slide-76
SLIDE 76

Computing vertex-stabilizers

The algorithm:

1 Compute a basic maximum-weight fractional matching ˆ

x in G with γ(G) odd cycles.

slide-77
SLIDE 77

Computing vertex-stabilizers

The algorithm:

1 Compute a basic maximum-weight fractional matching ˆ

x in G with γ(G) odd cycles.

slide-78
SLIDE 78

Computing vertex-stabilizers

The algorithm:

1 Compute a basic maximum-weight fractional matching ˆ

x in G with γ(G) odd cycles.

2 Compute a minimum fractional w-vertex cover y in G.

slide-79
SLIDE 79

Computing vertex-stabilizers

The algorithm:

1 Compute a basic maximum-weight fractional matching ˆ

x in G with γ(G) odd cycles.

2 Compute a minimum fractional w-vertex cover y in G. 3 For every odd cycle, delete the vertex with the smallest y value.

slide-80
SLIDE 80

Computing vertex-stabilizers

The algorithm:

1 Compute a basic maximum-weight fractional matching ˆ

x in G with γ(G) odd cycles.

2 Compute a minimum fractional w-vertex cover y in G. 3 For every odd cycle, delete the vertex with the smallest y value.

× × ×

slide-81
SLIDE 81

Minimize number of odd cycles

slide-82
SLIDE 82

Minimize number of odd cycles

Goal: Given a weighted graph G, compute a basic maximum-weight fractional matching ˆ x such that |C (ˆ x)| = γ(G).

slide-83
SLIDE 83

Minimize number of odd cycles

Goal: Given a weighted graph G, compute a basic maximum-weight fractional matching ˆ x such that |C (ˆ x)| = γ(G). Thm [Balas ’81]: Let ˆ x be a basic maximum fractional matching in an unweighted graph G. If |C (ˆ x)| > γ(G), then there exists an M(ˆ x)-alternating path P which connects two odd cycles Ci, Cj ∈ C (ˆ x).

slide-84
SLIDE 84

Minimize number of odd cycles

Goal: Given a weighted graph G, compute a basic maximum-weight fractional matching ˆ x such that |C (ˆ x)| = γ(G). Thm [Balas ’81]: Let ˆ x be a basic maximum fractional matching in an unweighted graph G. If |C (ˆ x)| > γ(G), then there exists an M(ˆ x)-alternating path P which connects two odd cycles Ci, Cj ∈ C (ˆ x).

Ci Cj P

slide-85
SLIDE 85

Minimize number of odd cycles

Goal: Given a weighted graph G, compute a basic maximum-weight fractional matching ˆ x such that |C (ˆ x)| = γ(G). Thm [Balas ’81]: Let ˆ x be a basic maximum fractional matching in an unweighted graph G. If |C (ˆ x)| > γ(G), then there exists an M(ˆ x)-alternating path P which connects two odd cycles Ci, Cj ∈ C (ˆ x).

Ci Cj P

Furthermore, alternate rounding on Ci, Cj and complementing on P produces a basic maximum fractional matching ¯ x in G such that C (¯ x) ⊂ C (ˆ x).

slide-86
SLIDE 86

Minimize number of odd cycles

Goal: Given a weighted graph G, compute a basic maximum-weight fractional matching ˆ x such that |C (ˆ x)| = γ(G). Thm [Balas ’81]: Let ˆ x be a basic maximum fractional matching in an unweighted graph G. If |C (ˆ x)| > γ(G), then there exists an M(ˆ x)-alternating path P which connects two odd cycles Ci, Cj ∈ C (ˆ x).

Ci Cj P

Furthermore, alternate rounding on Ci, Cj and complementing on P produces a basic maximum fractional matching ¯ x in G such that C (¯ x) ⊂ C (ˆ x).

slide-87
SLIDE 87

Minimize number of odd cycles

Goal: Given a weighted graph G, compute a basic maximum-weight fractional matching ˆ x such that |C (ˆ x)| = γ(G). Thm [Balas ’81]: Let ˆ x be a basic maximum fractional matching in an unweighted graph G. If |C (ˆ x)| > γ(G), then there exists an M(ˆ x)-alternating path P which connects two odd cycles Ci, Cj ∈ C (ˆ x).

Ci Cj P

Furthermore, alternate rounding on Ci, Cj and complementing on P produces a basic maximum fractional matching ¯ x in G such that C (¯ x) ⊂ C (ˆ x).

slide-88
SLIDE 88

Minimize number of odd cycles

slide-89
SLIDE 89

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

slide-90
SLIDE 90

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

yv = 0 Ci

slide-91
SLIDE 91

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

yv = 0 Ci yv = 0 Ci tight and valid P

slide-92
SLIDE 92

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

yv = 0 Ci yv = 0 Ci tight and valid P Ci Cj tight P

slide-93
SLIDE 93

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

yv = 0 Ci yv = 0 Ci tight and valid P Ci Cj tight P

Furthermore, alternate rounding on the odd cycles and complementing on the path produces a basic maximum-weight fractional matching ¯ x such that C (¯ x) ⊂ C (ˆ x).

slide-94
SLIDE 94

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

yv = 0 Ci yv = 0 Ci tight and valid P Ci Cj tight P

Furthermore, alternate rounding on the odd cycles and complementing on the path produces a basic maximum-weight fractional matching ¯ x such that C (¯ x) ⊂ C (ˆ x).

slide-95
SLIDE 95

Minimize number of odd cycles

Thm 5: Let ˆ x be a maximum-weight fractional matching and y be a minimum fractional w-vertex cover in G. If |C (ˆ x)| > γ(G), then G contains at least one of the following:

yv = 0 Ci yv = 0 Ci tight and valid P Ci Cj tight P

Furthermore, alternate rounding on the odd cycles and complementing on the path produces a basic maximum-weight fractional matching ¯ x such that C (¯ x) ⊂ C (ˆ x).

slide-96
SLIDE 96

Minimize number of odd cycles

slide-97
SLIDE 97

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

u v

G

slide-98
SLIDE 98

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges.

u v

G

slide-99
SLIDE 99

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z.

u v

G

slide-100
SLIDE 100

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z.

z

u v

G

slide-101
SLIDE 101

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz. z

u v

G

slide-102
SLIDE 102

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz. z

u v

G

slide-103
SLIDE 103

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz.

4 For every vertex v ∈ V where ˆ

x(δ(v)) = 0 and yv = 0, add the vertex v ′ and edges vv ′, v ′z. z

u v

G

slide-104
SLIDE 104

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz.

4 For every vertex v ∈ V where ˆ

x(δ(v)) = 0 and yv = 0, add the vertex v ′ and edges vv ′, v ′z. z

u v u′ v′

G

slide-105
SLIDE 105

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz.

4 For every vertex v ∈ V where ˆ

x(δ(v)) = 0 and yv = 0, add the vertex v ′ and edges vv ′, v ′z.

5 Shrink every odd cycle Ci ∈ C (ˆ

x) into a pseudonode i. z

u v u′ v′

G

slide-106
SLIDE 106

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz.

4 For every vertex v ∈ V where ˆ

x(δ(v)) = 0 and yv = 0, add the vertex v ′ and edges vv ′, v ′z.

5 Shrink every odd cycle Ci ∈ C (ˆ

x) into a pseudonode i. z

u v u′ v′

G

slide-107
SLIDE 107

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz.

4 For every vertex v ∈ V where ˆ

x(δ(v)) = 0 and yv = 0, add the vertex v ′ and edges vv ′, v ′z.

5 Shrink every odd cycle Ci ∈ C (ˆ

x) into a pseudonode i. z

u v u′ v′

G M′

slide-108
SLIDE 108

Minimize number of odd cycles

Construct the unweighted graph G ′ as follows:

1 Delete all non-tight edges. 2 Add a vertex z. 3 For every vertex v ∈ V where ˆ

x(δ(v)) = 1 and yv = 0, add edge vz.

4 For every vertex v ∈ V where ˆ

x(δ(v)) = 0 and yv = 0, add the vertex v ′ and edges vv ′, v ′z.

5 Shrink every odd cycle Ci ∈ C (ˆ

x) into a pseudonode i. z

u v u′ v′

G M′ Lemma: M′ is a maximum matching in G ′ if and only if |C (ˆ x)| = γ(G).

slide-109
SLIDE 109

Computing vertex-stabilizers

slide-110
SLIDE 110

Computing vertex-stabilizers

Thm 1: The algorithm computes a minimum vertex-stabilizer S. Moreover, ν(G \ S) ≥ 2

3ν(G).

slide-111
SLIDE 111

Computing vertex-stabilizers

Thm 1: The algorithm computes a minimum vertex-stabilizer S. Moreover, ν(G \ S) ≥ 2

3ν(G).

Proof: Stability - due to complementary slackness.

slide-112
SLIDE 112

Computing vertex-stabilizers

Thm 1: The algorithm computes a minimum vertex-stabilizer S. Moreover, ν(G \ S) ≥ 2

3ν(G).

Proof: Stability - due to complementary slackness.

1 3 2 4 5 7 3 5 6 1 2 2 4 3 6 1 9 7 4 5 6 4 3 2 5

slide-113
SLIDE 113

Computing vertex-stabilizers

Thm 1: The algorithm computes a minimum vertex-stabilizer S. Moreover, ν(G \ S) ≥ 2

3ν(G).

Proof: Stability - due to complementary slackness.

1 3 2 4 5 7 3 5 6 1 2 2 4 3 1 9 4 5 6 4 3 5

slide-114
SLIDE 114

Computing vertex-stabilizers

Thm 1: The algorithm computes a minimum vertex-stabilizer S. Moreover, ν(G \ S) ≥ 2

3ν(G).

Proof: Stability - due to complementary slackness.

1 3 2 4 5 7 3 5 6 1 2 2 4 3 1 9 4 5 6 4 3 5

slide-115
SLIDE 115

Computing vertex-stabilizers

Thm 1: The algorithm computes a minimum vertex-stabilizer S. Moreover, ν(G \ S) ≥ 2

3ν(G).

Proof: Stability - due to complementary slackness.

1 3 2 4 5 7 3 5 6 1 2 2 4 3 1 9 4 5 6 4 3 5

Optimality - γ(G) is a lower bound on the size of a vertex-stabilizer.

slide-116
SLIDE 116

Lower bound

slide-117
SLIDE 117

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1.

slide-118
SLIDE 118

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1. Proof: Let ˆ x be a maximum-weight fractional matching in G with γ(G)

  • dd cycles.
slide-119
SLIDE 119

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1. Proof: Let ˆ x be a maximum-weight fractional matching in G with γ(G)

  • dd cycles.
slide-120
SLIDE 120

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1. Proof: Let ˆ x be a maximum-weight fractional matching in G with γ(G)

  • dd cycles.

v

Easy case: v lies in a cycle of C (ˆ x).

slide-121
SLIDE 121

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1. Proof: Let ˆ x be a maximum-weight fractional matching in G with γ(G)

  • dd cycles.

Easy case: v lies in a cycle of C (ˆ x).

slide-122
SLIDE 122

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1. Proof: Let ˆ x be a maximum-weight fractional matching in G with γ(G)

  • dd cycles.

Easy case: v lies in a cycle of C (ˆ x).

slide-123
SLIDE 123

Lower bound

Lemma: For any vertex v, γ(G \ v) ≥ γ(G) − 1. Proof: Let ˆ x be a maximum-weight fractional matching in G with γ(G)

  • dd cycles.

v

Easy case: v lies in a cycle of C (ˆ x). Hard case: v does not lie in a cycle of C (ˆ x).

slide-124
SLIDE 124

Can we do better?

slide-125
SLIDE 125

Can we do better?

  • Can we preserve more than 2

3ν(G)?

slide-126
SLIDE 126

Can we do better?

  • Can we preserve more than 2

3ν(G)? No!

slide-127
SLIDE 127

Can we do better?

  • Can we preserve more than 2

3ν(G)? No!

2 2 1 − ε 2

slide-128
SLIDE 128

Can we do better?

  • Can we preserve more than 2

3ν(G)? No!

2 2 1 − ε 2

For any subset S ⊆ V , ν(G \ S) ≤ 2 = 2 3 − εν(G)

slide-129
SLIDE 129

Can we do better?

  • Can we preserve more than 2

3ν(G)? No!

2 2 1 − ε 2

For any subset S ⊆ V , ν(G \ S) ≤ 2 = 2 3 − εν(G)

  • Can we decide if G has a weight-preserving vertex-stabilizer S, i.e.

ν(G \ S) = ν(G)?

slide-130
SLIDE 130

Can we do better?

  • Can we preserve more than 2

3ν(G)? No!

2 2 1 − ε 2

For any subset S ⊆ V , ν(G \ S) ≤ 2 = 2 3 − εν(G)

  • Can we decide if G has a weight-preserving vertex-stabilizer S, i.e.

ν(G \ S) = ν(G)? NP-complete!

slide-131
SLIDE 131

Computing edge-stabilizers

slide-132
SLIDE 132

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.
slide-133
SLIDE 133

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.

2 2 2 1 0.5 1 2 2 2

slide-134
SLIDE 134

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.

2 2 2 1 1 2 2 2

slide-135
SLIDE 135

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.

2 2 2 1 1 2 2 2

slide-136
SLIDE 136

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.

2 2 2 1 1 2 2 2

Lemma: For any edge e, γ(G \ e) ≥ γ(G) − 2.

slide-137
SLIDE 137

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.

2 2 2 1 1 2 2 2

Lemma: For any edge e, γ(G \ e) ≥ γ(G) − 2. Lower Bound: Every edge-stabilizer has size at least

  • γ(G)

2

  • .
slide-138
SLIDE 138

Computing edge-stabilizers

  • In constrast to vertex-stabilizers, γ(G) is not a lower bound.

2 2 2 1 1 2 2 2

Lemma: For any edge e, γ(G \ e) ≥ γ(G) − 2. Lower Bound: Every edge-stabilizer has size at least

  • γ(G)

2

  • .

Thm 4: There exists an O(∆)-approximation algorithm for the minimum edge-stabilizer problem.

slide-139
SLIDE 139

Additional results

  • Given a set of deals M, remove as few players as possible such that M

is realizable as a stable outcome. → Find a minimum vertex-stabilizer S such that M is a maximum-weight matching in G \ S.

  • A solution to this problem is called an M-vertex-stabilizer.

Thm [Ahmadian et al. ’16]: If M is a maximum matching in an unweighted graph, then it is polytime solvable. Thm 6: The problem is NP-hard on unweighted graphs. Moreover, no (2 − ε)-approximation algorithm exists for any ε > 0 assuming UGC. Thm 7: The problem admits a 2-approximation algorithm on weighted

  • graphs. Furthermore, if M is a maximum-weight matching, then it is

polytime solvable.

slide-140
SLIDE 140

Thank you!

slide-141
SLIDE 141

Appendix 1

Thm 2: Deciding whether a graph has a weight-preserving vertex-stabilizer is NP-complete. Proof: Reduction from the independent set problem. Construct the gadget graph G ∗ as follows:

v1 v2

. . .

vk

. . .

vn v ′

1

v ′

2

v ′

k

v ′

n

b1 b2 bk

. . .

G

we = 4 we = 2 we = 1

G has an independent set of size k ⇔ G ∗ has a weight-preserving vertex-stabilizer.

slide-142
SLIDE 142

Appendix 2

Thm 3: There is no constant factor approximation for the minimum edge-stabilizer problem unless P = NP. Proof: Suppose we have an α-approximation algorithm. Set ρ = ⌈α⌉.

v1 v2

. . .

vk

. . . . . .

vn v ′

1

v ′

2

v ′

k

v ′

n

b1 b2 bk

K2ρk+1 K2ρk+1 K2ρk+1

G

. . .

ρk copies we = 4 we = 2 we = 1

  • If G has an independent set of size k, then OPT ≤ k.
  • Else, OPT ≥ (ρ + 1)k.