A Backtracking Correction Heuristic

Slides:



Advertisements
Similar presentations
Constraint Satisfaction Problems
Advertisements

Algorithms (and Datastructures) Lecture 3 MAS 714 part 2 Hartmut Klauck.
Constraint Satisfaction Problems
1 Constraint Satisfaction Problems A Quick Overview (based on AIMA book slides)
MBD and CSP Meir Kalech Partially based on slides of Jia You and Brian Williams.
Stanford University CS243 Winter 2006 Wei Li 1 Register Allocation.
A Backtracking Correction Heuristic for Graph Coloring Algorithms Sanjukta Bhowmick and Paul Hovland Argonne National Laboratory Funded by DOE.
Novembro 2003 Tabu search heuristic for partition coloring1/29 XXXV SBPO XXXV SBPO Natal, 4-7 de novembro de 2003 A Tabu Search Heuristic for Partition.
IKI 10100: Data Structures & Algorithms Ruli Manurung (acknowledgments to Denny & Ade Azurat) 1 Fasilkom UI Ruli Manurung (Fasilkom UI)IKI10100: Lecture10.
Approximating Maximum Edge Coloring in Multigraphs
Control and Robotics Lab Electrical Engineering Department, Technion Search of targets by multiple UAVs using a probability map By Alexander Strizhiver.
1 Bipartite Matching Lecture 3: Jan Bipartite Matching A graph is bipartite if its vertex set can be partitioned into two subsets A and B so that.
A Tool for Partitioning and Pipelined Scheduling of Hardware-Software Systems Karam S Chatha and Ranga Vemuri Department of ECECS University of Cincinnati.
Exam Timetabling Problem using Graph Coloring
Backtracking.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
Coloring 3/16/121. Flight Gates flights need gates, but times overlap. how many gates needed? 3/16/122.
Constraint Satisfaction Problems
Combinatorial Scientific Computing is concerned with the development, analysis and utilization of discrete algorithms in scientific and engineering applications.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Implementing Parallel Graph Algorithms: Graph coloring Created by: Avdeev Alex, Blakey Paul.
Combinatorial Scientific Computing and Petascale Simulation (CSCAPES) A SciDAC Institute Funded by DOE’s Office of Science Investigators Alex Pothen, Florin.
ANALYSIS AND IMPLEMENTATION OF GRAPH COLORING ALGORITHMS FOR REGISTER ALLOCATION By, Sumeeth K. C Vasanth K.
1 Graph Coloring: An Overview Graph Coloring Basics Planar/4-color Graphs Applications New Register Allocation Technique.
Hande ÇAKIN IES 503 TERM PROJECT CONSTRAINT SATISFACTION PROBLEMS.
Eric Chang and Rutwik Parikh. Goal: Determine the largest subset of edges in a graph such that no vertex of the graph is touched by more than one edge.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Introduction to Graph Theory
Computing Approximate Weighted Matchings in Parallel Fredrik Manne, University of Bergen with Rob Bisseling, Utrecht University Alicia Permell, Michigan.
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
Brian Williams, Fall 041 Analysis of Uninformed Search Methods Brian C. Williams Sep 21 st, 2004 Slides adapted from: Tomas Lozano Perez,
CSCAPES Mission Research and development Provide load balancing and parallelization toolkits for petascale computation Develop advanced automatic differentiation.
Timetable Problem solving using Graph Coloring
Cohesive Subgraph Computation over Large Graphs
Graph Coloring.
Graph Coloring and Applications
Discrete ABC Based on Similarity for GCP
Parallel Graph Algorithms
Constraint Satisfaction Problems (CSPs)
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
Design & Analysis of Algorithm Greedy Algorithm
Design and Analysis of Algorithm
Spare Register Aware Prefetching for Graph Algorithms on GPUs
Greedy Algorithms / Interval Scheduling Yin Tat Lee
Chapter 5.
Short paths and spanning trees
Lecture 11: Connectivity Paths in Undirected & Directed Graphs
Graph Theory Graph Colorings.
An Agent-Based Algorithm for Generalized Graph Colorings
Degree-aware Hybrid Graph Traversal on FPGA-HMC Platform
Search Related Algorithms
Lectures on Graph Algorithms: searching, testing and sorting
Algorithms for Budget-Constrained Survivable Topology Design
Richard Anderson Autumn 2016 Lecture 5
Algorithms and data structures
Pruned Search Strategies
Chapter 15 Graphs © 2006 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.
Richard Anderson Autumn 2016 Lecture 7
Richard Anderson Winter 2009 Lecture 6
GRAPHS G=<V,E> Adjacent vertices Undirected graph
CSE 417: Algorithms and Computational Complexity
CS 8520: Artificial Intelligence
Major Design Strategies
Richard Anderson Winter 2019 Lecture 5
Constraint Satisfaction Problems
Major Design Strategies
Constraint Satisfaction Problems (CSP)
(via graph coloring and spilling)
INTRODUCTION A graph G=(V,E) consists of a finite non empty set of vertices V , and a finite set of edges E which connect pairs of vertices .
Presentation transcript:

A Backtracking Correction Heuristic for Graph Coloring Algorithms Sanjukta Bhowmick and Paul Hovland Argonne National Laboratory Funded by DOE

OUTLINE Introduction Role of Backtracking Heuristic The Backtracking Heuristic Results Conclusions

Introduction Distance-k Coloring Different Coloring Problems Assignment of colors to each vertex so that no two distance-k neighbors are assigned the same color (adjacent vertices are distance 1 neighbors). Minimum color for distance-k coloring is the k-chromatic number Different Coloring Problems Distance 1 (k=1) Distance 2 (k=2) Partial Distance 2 (k=2 on a subset of vertices) Distance 3/2 (k=1 + every path of length 3 uses at least 3 colors) Acyclic Coloring (k=1 + every cycle uses at least 3 colors) Applications Compiler Optimization (scheduling use of registers) Evaluation of Jacobians (detecting structurally orthogonal columns)

Role of Backtracking Heuristic Finding the least number of colors is NP-hard Different graph coloring heuristics Smallest Last, Largest First, Saturation Degree, Incidence Degree, Depth First, etc… Number of colors is often dependent on the order in which the vertices are colored Backtracking Heuristic partially changes effects of vertex ordering rearranges the color assignment possibly lead to a lower number of colors

Minimum Color Required: 3 Minimum Color Required: 4 An Example Minimum Color Required: 3 Minimum Color Required: 4

Backtracking Heuristic Set a threshold for expected number of colors Backtracking heuristic is invoked when number of colors exceed the threshold Only one vertex (last vertex) is colored higher than the threshold Assign a pseudo-color to the last vertex within the threshold Determine if there exists alternate color assignment to neighboring vertices; If alternate assignment found Implement alternate assignment and last vertex retains pseudo-color Else, threshold is increased by one

Backtracking Heuristic: An Example Color Threshold: 3 Green Conflicts Blue Conflicts Red Works

Backtracking Heuristic Advantages Easy to incorporate into other algorithms Can be tuned to user specifications Cost (execution time, memory) of backtracking at each vertex is proportional to its degree Disadvantages Performance is limited by the top-level algorithm It is based on a local greedy heuristic Coloring is as good (often better) than the top level algorithm

Experiments A set of six matrices from molecular dynamics application Vertices: 11414 Edges : [15K-2683K] Coloring Problems Distance 1 Distance 2 Algorithms Used Natural, Largest First, Smallest Last, Incidence Degree, Saturation Degree, Depth First Correction Algorithms Backtracking Culberson’s Iterative Method Color Selection Strategy Smallest First

Number of Colors Used by Different D1 Algorithms NT: Natural LF: Largest First SL: Smallest Last ID: Incidence Degree SD: Saturation Degree DF: Depth First B: Backtracking I: Culberson’s Iteration

Time Taken by Original Algorithms and Correction Methods

Extensions to Backtracking Backtrack over Multiple Levels Extend search for alternate color assignment to neighbor’s of neighbor’s and beyond. Possibility of finding a better assignment Time and memory requirement increases with levels Sorted Backtracking While assigning pseudo-colors, start with the least used color among neighbors Fewer neighbors with pseudo-color---possibility of fewer conflicts Possibility of quickly finding alternate coloring Extra time required for sorting

Number of Colors Used By Different Correction Algorithms N: Natural L: Largest First S: Smallest Last I: Incidence Degree T: Saturation Degree D: Depth First B: Backtracking L: Backtracking Level-5 S: Sorted Backtracking I: Culberson’s Iteration

Time Taken by Different Correction Algorithms

Number of Colors Used by Different D2 Algorithms NT: Natural LF: Largest First SL: Smallest Last ID: Incidence Degree SD: Saturation Degree DF: Depth First B: Backtracking I: Culberson’s Iteration

Time Taken by Original D2 Algorithms and Correction Methods

Conclusions and Future Work Summary Backtracking performs well for D1 Performance is not as good for D2-- more constraints to be satisfied Time taken is not significantly high in either case Future Research Implementing parallel backtracking A better reordering scheme for D2 (and others?) Analytical results

Acknowledgement Backtracking heuristic was inspired by reading a preprint of a review of graph coloring algorithms by Assefaw Grebremdhin, Frederik S. Manne and Alex Pothen Thanks to Assefaw Grebremdhin and Rahmi Aksu for use of their graph coloring code. Backtracking heuristic was implemented within this code Thanks to DOE for funding this research