Minimum sum multicoloring on the edges of trees Dniel Marx Budapest - - PowerPoint PPT Presentation

minimum sum multicoloring on the edges of trees
SMART_READER_LITE
LIVE PREVIEW

Minimum sum multicoloring on the edges of trees Dniel Marx Budapest - - PowerPoint PPT Presentation

Minimum sum multicoloring on the edges of trees Dniel Marx Budapest University of Technology and Economics dmarx@cs.bme.hu Workshop on Approximation and Online Algorithms Budapest, 2003 1 Minimum sum multicoloring Given: a graph G ( V,


slide-1
SLIDE 1

Minimum sum multicoloring on the edges of trees

Dániel Marx Budapest University of Technology and Economics dmarx@cs.bme.hu Workshop on Approximation and Online Algorithms Budapest, 2003

slide-2
SLIDE 2

1

Minimum sum multicoloring

  • Given: a graph G(V, E), and demand function x: V → N
  • Find: an assignment of x(v) colors (integers) to every vertex v, such that neigh-

bors receive disjoint sets Finish time: f(v) of vertex v is the largest color assigned to it in the coloring.

  • Goal: Minimize

v∈V f(v), the sum of the coloring.

slide-3
SLIDE 3

1

Minimum sum multicoloring

  • Given: a graph G(V, E), and demand function x: V → N
  • Find: an assignment of x(v) colors (integers) to every vertex v, such that neigh-

bors receive disjoint sets Finish time: f(v) of vertex v is the largest color assigned to it in the coloring.

  • Goal: Minimize

v∈V f(v), the sum of the coloring.

1 3 1 1 2 2

slide-4
SLIDE 4

1

Minimum sum multicoloring

  • Given: a graph G(V, E), and demand function x: V → N
  • Find: an assignment of x(v) colors (integers) to every vertex v, such that neigh-

bors receive disjoint sets Finish time: f(v) of vertex v is the largest color assigned to it in the coloring.

  • Goal: Minimize

v∈V f(v), the sum of the coloring.

1 3 1 1 2 2

1,4 2,5 1 2 1,4,5 3

slide-5
SLIDE 5

1

Minimum sum multicoloring

  • Given: a graph G(V, E), and demand function x: V → N
  • Find: an assignment of x(v) colors (integers) to every vertex v, such that neigh-

bors receive disjoint sets Finish time: f(v) of vertex v is the largest color assigned to it in the coloring.

  • Goal: Minimize

v∈V f(v), the sum of the coloring.

1 3 1 1 2 2

1,4 2,5 1 2 1,4,5 3 ,5 3 ,4 ,5 1 2

Sum of the coloring: 5 + 1 + 2 + 4 + 3 + 5 = 20

slide-6
SLIDE 6

2

Known results

Special case: the chromatic sum problem: x(v) = 1, ∀v ∈ V

  • Trees:

⋆ polynomial time solvable if every demand is 1 [Kubicka, 1989], ⋆ sum multicoloring is NP-hard for binary trees [Marx, 2002] ⋆ (1 + ε)-approximation for sum multicoloring [Halldórsson et al., 1999]

  • Partial k-trees:

⋆ (1 + ε)-approximation for sum multicoloring [Halldórsson and Kortsarz, 1998]

  • Bipartite graphs:

⋆ APX-hard, even if every demand is 1 [Bar-Noy and Kortsarz, 1998] ⋆ 1.5-approximation for sum multicoloring [Bar-Noy et al., 1998]

slide-7
SLIDE 7

3

Edge coloring version

Assign x(e) colors to each edge e, minimize the sum of finish times of the edges. Each color can appear at most once at a vertex. Application: scheduling dedicated biprocessor tasks Each task requires the simultaneous work of two preassigned processors for a given number of time slots. Goal: minimize the sum of completion times. vertices ⇐ ⇒ processors edges ⇐ ⇒ jobs demand ⇐ ⇒ length of job colors ⇐ ⇒ time slots Preemptive scheduling: jobs can be interrupted and continued later Bipartite graphs: processors are divided into clients and servers

slide-8
SLIDE 8

4

Edge coloring results

  • Known results:

⋆ Polynomial time solvable on trees with demand 1 [Giaro and Kubale 2000] ⋆ NP-hard on bipartite graphs even if every demand is 1 [Giaro and Kubale 2000] ⋆ 1.796-approximation for bipartite graphs with demand 1 [Halldórsson et al.] ⋆ 2-approximation for general graphs and general demand [Bar-Noy et al., 2000]

slide-9
SLIDE 9

4

Edge coloring results

  • Known results:

⋆ Polynomial time solvable on trees with demand 1 [Giaro and Kubale 2000] ⋆ NP-hard on bipartite graphs even if every demand is 1 [Giaro and Kubale 2000] ⋆ 1.796-approximation for bipartite graphs with demand 1 [Halldórsson et al.] ⋆ 2-approximation for general graphs and general demand [Bar-Noy et al., 2000]

  • Our results:

⋆ NP-hard on trees even if every demand is 1 or 2 ⋆ (1 + ε)-approximation on trees with arbitrary demand

slide-10
SLIDE 10

5

Scaling the demand

Theorem: If the graph is a tree, then multiplying the demand of each edge by integer q multiplies the minimum sum by exactly q.

slide-11
SLIDE 11

5

Scaling the demand

Theorem: If the graph is a tree, then multiplying the demand of each edge by integer q multiplies the minimum sum by exactly q. ⇒ The problem can be solved in polynomial time on trees if every edge has the same demand

slide-12
SLIDE 12

5

Scaling the demand

Theorem: If the graph is a tree, then multiplying the demand of each edge by integer q multiplies the minimum sum by exactly q. ⇒ The problem can be solved in polynomial time on trees if every edge has the same demand ⇒ Increasing the demand to the next power of (1 + ε) increases the sum by at most a factor of (1 + ε) ⇒ we can assume that each demand is of the form (1 + ε)i

slide-13
SLIDE 13

6

Bounded degree trees

Theorem: Minimum sum edge coloring admits a linear time PTAS in bounded degree trees. Method: The line graph of a tree with max degree d is a partial (d − 1)-tree, hence the PTAS of Halldórsson and Kortsarz can be used. In a partial k-tree we can compute a polynomial number of color sets for each vertex such that there is a good approximate solution using only these sets ⇒ PTAS with standard dynamic programming

slide-14
SLIDE 14

6

Bounded degree trees

Theorem: Minimum sum edge coloring admits a linear time PTAS in bounded degree trees. Method: The line graph of a tree with max degree d is a partial (d − 1)-tree, hence the PTAS of Halldórsson and Kortsarz can be used. In a partial k-tree we can compute a polynomial number of color sets for each vertex such that there is a good approximate solution using only these sets ⇒ PTAS with standard dynamic programming Bounded degree trees: In edge coloring bounded degree trees, a constant number of color sets is sufficient for each edge ⇒ linear time PTAS

slide-15
SLIDE 15

6

Bounded degree trees

Theorem: Minimum sum edge coloring admits a linear time PTAS in bounded degree trees. Method: The line graph of a tree with max degree d is a partial (d − 1)-tree, hence the PTAS of Halldórsson and Kortsarz can be used. In a partial k-tree we can compute a polynomial number of color sets for each vertex such that there is a good approximate solution using only these sets ⇒ PTAS with standard dynamic programming Bounded degree trees: In edge coloring bounded degree trees, a constant number of color sets is sufficient for each edge ⇒ linear time PTAS Almost bounded degree trees: trees that have bounded degree after deleting the degree 1 nodes. Algorithm works for such trees as well.

slide-16
SLIDE 16

7

General case

Theorem: Linear time PTAS for general trees.

  • Partition the tree into almost bounded degree subtrees
  • Use the PTAS for subtrees
  • Merge the colorings of the subtrees to a coloring of the whole tree
slide-17
SLIDE 17

7

General case

Theorem: Linear time PTAS for general trees.

  • Partition the tree into almost bounded degree subtrees
  • Use the PTAS for subtrees
  • Merge the colorings of the subtrees to a coloring of the whole tree
slide-18
SLIDE 18

7

General case

Theorem: Linear time PTAS for general trees.

  • Partition the tree into almost bounded degree subtrees
  • Use the PTAS for subtrees
  • Merge the colorings of the subtrees to a coloring of the whole tree
slide-19
SLIDE 19

7

General case

Theorem: Linear time PTAS for general trees.

  • Partition the tree into almost bounded degree subtrees
  • Use the PTAS for subtrees
  • Merge the colorings of the subtrees to a coloring of the whole tree

?

How to partition the tree? How to resolve the conflicts when merging the colorings?

slide-20
SLIDE 20

8

The Small, the Large, and the Frequent

The child edges of a given node are divided into small, large, and frequent edges. Every demand is of the form (1 + ε)i. Number of edges for each demand size:

1 . . . 2 3

  • f edges

number

  • f demand

log1+ε

slide-21
SLIDE 21

8

The Small, the Large, and the Frequent

The child edges of a given node are divided into small, large, and frequent edges. Every demand is of the form (1 + ε)i. Number of edges for each demand size:

1 . . . 2 3

  • f edges

number

  • f demand

log1+ε 1/ε2

slide-22
SLIDE 22

8

The Small, the Large, and the Frequent

The child edges of a given node are divided into small, large, and frequent edges. Every demand is of the form (1 + ε)i. Number of edges for each demand size:

1 . . . 2 3

  • f edges

number

  • f demand

log1+ε 1/ε2 1/ε2

slide-23
SLIDE 23

8

The Small, the Large, and the Frequent

The child edges of a given node are divided into small, large, and frequent edges. Every demand is of the form (1 + ε)i. Number of edges for each demand size:

1 . . . 2 3

  • f edges

number

  • f demand

log1+ε 1/ε2 1/ε2

slide-24
SLIDE 24

8

The Small, the Large, and the Frequent

The child edges of a given node are divided into small, large, and frequent edges. Every demand is of the form (1 + ε)i. Number of edges for each demand size:

1 . . . 2 3

  • f edges

number

  • f demand

log1+ε 1/ε2 1/ε2

Total demand of the small edges is very small, they can be thrown away.

slide-25
SLIDE 25

8

The Small, the Large, and the Frequent

The child edges of a given node are divided into small, large, and frequent edges. Every demand is of the form (1 + ε)i. Number of edges for each demand size:

1 . . . 2 3

  • f edges

number

  • f demand

log1+ε 1/ε2 1/ε2

Total demand of the small edges is very small, they can be thrown away. Each node has at most a constant number (≤ 1/ε4) of large child edges.

slide-26
SLIDE 26

9

Partitioning the tree

The tree is split at the frequent edges:

slide-27
SLIDE 27

9

Partitioning the tree

The tree is split at the frequent edges:

slide-28
SLIDE 28

9

Partitioning the tree

The tree is split at the frequent edges:

slide-29
SLIDE 29

9

Partitioning the tree

The tree is split at the frequent edges:

slide-30
SLIDE 30

9

Partitioning the tree

The tree is split at the frequent edges:

slide-31
SLIDE 31

9

Partitioning the tree

The tree is split at the frequent edges:

slide-32
SLIDE 32

9

Partitioning the tree

The tree is split at the frequent edges:

slide-33
SLIDE 33

9

Partitioning the tree

The tree is split at the frequent edges: Claim: Each subtree is an almost bounded degree tree ⇒ PTAS can be used Proof:

  • Deleting the degree 1 nodes deletes every frequent edge
  • Only the large edges remain
  • Each node has at most a constant number of large child edges
slide-34
SLIDE 34

10

How to merge the colorings?

Shifting the frequent edges: We modify the coloring such that each frequent edge e uses only colors above x(e)/ε. This can be done with only a small increase of the sum. Resolving the conflicts: remove the conflicting colors from the child edges.

e x(e) colors, each color is > x(e)/ε

slide-35
SLIDE 35

10

How to merge the colorings?

Shifting the frequent edges: We modify the coloring such that each frequent edge e uses only colors above x(e)/ε. This can be done with only a small increase of the sum. Resolving the conflicts: remove the conflicting colors from the child edges.

e x(e) colors, each color is > x(e)/ε e

We remove at most x(e) colors, each of them is greater than x(e)/ε. To replace these colors, it is easy to find x(e) unused colors below x(e)/ε.

slide-36
SLIDE 36

11

Conclusions

  • Problem: edge coloring version of minimum sum multicoloring on trees.
  • PTAS for vertex coloring partial k-trees implies a PTAS for edge coloring

bounded degree trees. Linear time PTAS with additional techniques.

  • Linear time PTAS for general trees uses the algorithm for bounded degree trees

as a subroutine

  • Minimum sum edge multicoloring is NP-hard on trees.