Small Maximal Independent Sets and Faster Exact Graph Coloring



Similar documents
Exponential time algorithms for graph coloring

Definition Given a graph G on n vertices, we define the following quantities:

Approximation Algorithms

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Algorithm Design and Analysis

Zachary Monaco Georgia College Olympic Coloring: Go For The Gold

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

each college c i C has a capacity q i - the maximum number of students it will admit

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

Finding and counting given length cycles

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Cycle transversals in bounded degree graphs

CAD Algorithms. P and NP

NETZCOPE - a tool to analyze and display complex R&D collaboration networks

5.1 Bipartite Matching

Cycles and clique-minors in expanders

On the Relationship between Classes P and NP

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

Odd induced subgraphs in graphs of maximum degree three

Near Optimal Solutions

A Turán Type Problem Concerning the Powers of the Degrees of a Graph

Distributed Computing over Communication Networks: Maximal Independent Set

Ph.D. Thesis. Judit Nagy-György. Supervisor: Péter Hajnal Associate Professor

An Empirical Study of Two MIS Algorithms

Graph Theory and Complex Networks: An Introduction. Chapter 06: Network analysis

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

The chromatic spectrum of mixed hypergraphs

On the independence number of graphs with maximum degree 3

On the k-path cover problem for cacti

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Mean Ramsey-Turán numbers

Large induced subgraphs with all degrees odd

Lecture 7: NP-Complete Problems

CS311H. Prof: Peter Stone. Department of Computer Science The University of Texas at Austin

Scheduling Shop Scheduling. Tim Nieberg

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Removing Local Extrema from Imprecise Terrains

CSC 373: Algorithm Design and Analysis Lecture 16

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

Guessing Game: NP-Complete?

Applied Algorithm Design Lecture 5

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Cluster Editing And Search Tree Algorithms

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

Social Media Mining. Graph Essentials

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

ON THE COMPLEXITY OF THE GAME OF SET.

GRAPH THEORY LECTURE 4: TREES

Network Algorithms for Homeland Security

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Every tree contains a large induced subgraph with all degrees odd

Introduction to Algorithms. Part 3: P, NP Hard Problems

An Approximation Algorithm for Bounded Degree Deletion

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

Asking Hard Graph Questions. Paul Burkhardt. February 3, 2014

A Note on Maximum Independent Sets in Rectangle Intersection Graphs

V. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005

Euler Paths and Euler Circuits

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Now is the time. For all good men PERMUTATION GENERATION. Princeton University. Robert Sedgewick METHODS

Institut für Informatik Lehrstuhl Theoretische Informatik I / Komplexitätstheorie. An Iterative Compression Algorithm for Vertex Cover

Introduction to Logic in Computer Science: Autumn 2006

recursion, O(n), linked lists 6/14

136 CHAPTER 4. INDUCTION, GRAPHS AND TREES

SEQUENCES OF MAXIMAL DEGREE VERTICES IN GRAPHS. Nickolay Khadzhiivanov, Nedyalko Nenov

UPPER BOUNDS ON THE L(2, 1)-LABELING NUMBER OF GRAPHS WITH MAXIMUM DEGREE

Mathematics for Algorithm and System Analysis

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

Labeling outerplanar graphs with maximum degree three

SCAN: A Structural Clustering Algorithm for Networks

School Timetabling in Theory and Practice

Generalized Induced Factor Problems

The Independence Number in Graphs of Maximum Degree Three

Discrete Mathematics Problems

CSC2420 Fall 2012: Algorithm Design, Analysis and Theory

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Lecture 1: Course overview, circuits, and formulas

Computational Game Theory and Clustering

Randomized algorithms

Markov random fields and Gibbs measures

The Approximability of the Binary Paintshop Problem

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

Midterm Practice Problems

Minimum degree condition forcing complete graph immersion

3. The Junction Tree Algorithms

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

A Fast Algorithm For Finding Hamilton Cycles

CSC2420 Spring 2015: Lecture 3

Connectivity and cuts

Transcription:

Small Maximal Independent Sets and Faster Exact Graph Coloring David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science

The Exact Graph Coloring Problem: Given an undirected graph G Determine the minimum number of colors needed to color the vertices of G so that no two adjacent vertices have the same color We want worst-case analysis No approximations No unproven heuristics

Isn t it impossible to solve graph coloring exactly? It seems to require exponential time [Garey and Johnson GT4] but that s very different from impossible So why study it? With fast computers we can do exponential-time computations of moderate and increasing size Algorithmic improvements are even more important than in polynomial-time arena Graph coloring is useful e.g. register allocation, parallel scheduling Approximate coloring algorithms have poor approximation ratios Interesting gap between theory and practice worst-case bounds and empirical results differ in base of exponent

Register Allocation Application Problem: compile high-level code to machine instructions Need to associate code variables to machine registers Even if code has few explicltly named variables, compilers can add more as part of optimization Two variables can share a register if not active at the same time Solution: Draw a graph, vertices = variables, edges = simultaneous activity Color with k colors, k = number of machine registers Fast enough exact algorithm might be usable at high levels of optimization

Previous work on exact coloring Lawler, 1976: 3-coloring O(1.4423 n ) For each maximal independent set, test if complement bipartite k-coloring (unbounded k) O(2.4423 n ) Dynamic programming Schiermeyer, 1994: Beigel & Eppstein, 1995: Schöning, 1999: Eppstein, 2001: This paper: 3-coloring O(1.415 n ) Transform graph to increase degree until degree = n 1 3-coloring O(1.3446 n ) Reduce to more general constraint satisfaction problem Complicated case analysis to find good local reductions General constraint satisfaction algorithm Random walk in space of value assignments No improvement for coloring 3-coloring O(1.3289 n ), 4-coloring O(1.8072 n ) More case analysis, simple randomized restriction k-coloring (unbounded k) O(2.4150 n )

Lawler s algorithm Dynamic programming: For each subgraph induced by a subset of vertices compute its chromatic number from previously computed information for S in subsets of vertices of G: ncolors[s] = n for I in maximal independent subsets of S: ncolors[s] = min(ncolors[s], ncolors[s-i] + 1) Outer loop needs to be ordered from smaller to larger subsets so ncolors[s-i] already computed when needed

Lawler s algorithm analysis Key facts: n-vertex graph has O(3 n/3 ) maximal independent sets [Moon & Moser, 1965] MIS s can be listed in time O(3 n/3 ) [Johnson, Yannakakis, & Papadimitriou 1988] Worst case example: n/3 disconnected triangles Time: sum 3 S /3 = sum ( n i ) 3 i/3 = O((1 + 3 1/3 ) n ) Bottleneck: listing MIS s of every subset of vertices of G Space: one number per subset, O(2 n )

First refinement: When the loop visits subset S, instead of computing its chromatic number from its subsets, use its chromatic number to update its supersets for S in subsets of vertices of G: for I in maximal independent subsets of G-S: ncolors[s+i] = min(ncolors[s+i], ncolors[s] + 1) Why is it safe to only consider maximal independent subsets of G-S? We need only correctly compute ncolors[s] when S is maximal k-chromatic but if I is not maximal, neither is S+I Analysis Same as original Lawler algorithm

Second refinement: Only look at small maximal independent subsets for S in subsets of vertices of G: limit = S / ncolors[s] for I in maximal independent subsets of G-S such that I limit: ncolors[s+i] = min(ncolors[s+i], ncolors[s] + 1) Why is it safe to ignore large maximal independent subsets of G-S? If X is maximal k-chromatic, let I be its smallest color class Then S=X-I is maximal (k 1)-chromatic and I will be below the limit for S So, the outer loop iteration for S will correctly set ncolors[x] = k

Small Maximal Independent Sets To continue analysis, we need facts and algorithms analogous to Moon-Moser and Johnson-Yannakakis-Papadimitriou Theorem: For any n-vertex graph G and limit L there are at most 3 4L n 4 n 3L maximal independent sets I with I L All such sets can be listed in time O(3 4L n 4 n 3L ) These bounds are tight when n/4 L n/3: G = disjoint union of 4L n triangles and n 3L K 4 s

Proof idea: Show set of MIS s = union of MIS sets of multiple smaller graphs Combine smaller graph MIS counts to form recurrence First case: vertex with degree three

If given vertex is part of MIS Then rest of MIS is also an MIS of G neighbors(v) Subgraph has four fewer vertices, smaller bound on remaining MIS size

If given vertex is not part of MIS Then it is also an MIS of G v Subgraph has one fewer vertex, same bound on MIS size Not all MIS s of subgraph are MIS s of original graph but overcounting doesn t hurt

Details of Case Analysis If G contains v of degree 3: split into MIS s containing v or not containing v #MIS(G) #MIS(n 4, L 1) + #MIS(n 1, L) If G contains v of degree = 1: Every MIS contains either v or its neighbor #MIS(G) 2 #MIS(n 2, L 1) If G contains v of degree = 0: Every MIS contains v, #MIS(G) #MIS(n 1, L 1) If G contains chain u-v-w-x all of degree = 2: Each MIS contains u, contains v, or excludes u and contains w #MIS(G) 2 #MIS(n 3, L 1) + #MIS(n 4, L 1) Remaining case, G consists of disjoint triangles has 3 n/3 MIS s, all of size n/3 Prove by induction that each expression is at most 3 4L n 4 n 3L Easily turned into efficient recursive algorithm

Analysis of second refinement to coloring algorithm Still not any better than Lawler Problem: If S has chromatic number at most 2 then limit = S /2 and small MIS bound only an improvement for S 2n/5 Doesn t cover the the worst case sizes of sets S for the algorithm

Final refinement: Handle low-chromatic-number subsets specially for S in subsets of vertices of G: if S is 3-colorable: compute ncolors[s] using 3-coloring alg if ncolors[s] 3: limit = S / ncolors[s] for I in maximal independent subsets of G-S such that I limit: ncolors[s+i] = min(ncolors[s+i], ncolors[s] + 1)

Analysis Each set S has limit S /3 So time to find small maximal independent sets of G-S is found by plugging G-S and S /3 into small MIS formula: time to process S = O(3 4 S /3 G S 4 G S 3 S /3 ) Sum over all S simplifies to O((4/3 + 3 4/3 /4) n ), approximately 2.415 n Additional 3-coloring test per subset only adds O(2.3289 n )

Conclusions Improvement to Lawler s exact coloring algorithm Reduced base of exponent means can solve problems larger by some constant factor New algorithm still simple enough to possibly be useful (BE95 gives simple 2 n/2 alg for 3-coloring step, good enough here) Space O(2 n ) may be a bigger problem than time Ideas for possible further improvement Reduce 4-coloring time below 2 n/2 would allow algorithm to assume ncolors[s] 4 Can worst case number of small MIS s happen for many inner loop iterations? Generalize small MIS bound to be tight for L n/4 but doesn t affect worst case of current alg without further refinement