SlideShare a Scribd company logo
1
Graph Coloring and Applications
2
Overview
• Graph Coloring Basics
• Planar/4-color Graphs
• Applications
• Chordal Graphs
• New Register Allocation Technique
3
Basics
• Assignment of "colors" to certain objects in a
graph subject to certain constraints
– Vertex coloring (the default)
– Edge coloring
– Face coloring (planar)
4
Not Graph Labeling
• Graph coloring
– Just markers to keep track of adjacency or
incidence
• Graph labeling
– Calculable problems that satisfy a numerical
condition
5
Vertex coloring
• In its simplest form, it is a way of coloring the
vertices of a graph such that no two adjacent
vertices share the same color
• Edge and Face coloring can be transformed
into Vertex version
6
Vertex Color example
• Anything less results in adjacent vertices with
the same color
– Known as “proper”
• 3-color example
7
Vertex Color Example
1
2 4
5
3
8
Vertex Color Example
1
2 4
5
3
9
Chromatic Number
• χ - least number of colors needed to color a
graph
– Chromatic number of a complete graph:
χ(Kn) = n
10
Properties of χ(G)
• χ(G) = 1 if and only if G is totally disconnected
• χ(G) ≥ 3 if and only if G has an odd cycle (equivalently, if G is
not bipartite)
• χ(G) ≥ ω(G) (clique number)
• χ(G) ≤ Δ(G)+1 (maximum degree)
• χ(G) ≤ Δ(G) for connected G, unless G is a complete graph or
an odd cycle (Brooks' theorem).
• χ(G) ≤ 4, for any planar graph
– The “four-color theorem”
11
Four-color Theorem
• Dates back to 1852 to Francis Guthrie
• Any given plane separated into regions may be
colored using no more than 4 colors
– Used for political boundaries, states, etc
– Shares common segment (not a point)
• Many failed proofs
12
Algorithmic complexity
• Finding minimum coloring: NP-hard
• Decision problem:
“is there a coloring which uses at most k colors?”
• Makes it NP-complete
13
Coloring a Graph - Applications
• Sudoku
• Scheduling
• Mobile radio frequency assignment
• Pattern matching
• Register Allocation
14
Register Allocation with Graphs
Coloring
• Register pressure
– How determine what should be stored in registers
– Determine what to “spill” to memory
• Typical RA utilize graph coloring for underlying
allocation problem
– Build graph to manage conflicts between live
ranges
15
Chordal Graphs
• Each cycle of four or more nodes has a chord
• Subset of perfect graphs
• Also known as triangulated graphs
16
Chordal Graph Example
• Removing a green edge will make it non-chordal
17
RA with Chordal Graphs
• Normal register allocation was an NP-
complete problem
– Graph coloring
• If program is in SSA form, it can be
accomplished in polynomial time with chordal
graphs!
– Thereby decreasing need for registers
18
Quick Static Single Assignment Review
• SSA Characteristics
– Basic blocks
– Unique naming for variable assignments
– Φ-functions used at convergence of control flows
• Improves optimization
– constant propagation
– dead code elimination
– global value numbering
– partial redundancy elimination
– strength reduction
– register allocation
19
RA with Chordal Graphs
• SSA representation needs fewer registers
• Key insight: a program in SSA form has a
chordal interference graph
– Very Recent
20
RA with Chordal Graphs cont
• Result is based on the fact that in strict-
SSA form, every variable has a single
contiguous live range
• Variables with overlapping live ranges
form cliques in the interference graph
21
RA with Chordal Graphs cont
• Greedy algorithm can color a chordal graph in
linear time
• New SSA-elimination algorithm done without
extra registers
• Result:
– Simple, optimal, polynomial-time algorithm for
the core register allocation problem
22
Chordal Color Assignment
• Algorithm: Chordal Color Assignment
• Input: Chordal Graph G = (V, E), PEO σ
• Output: Color Assignment f : V → {1… χG}
For Integer : i ← 1 to |V| in PEO order
Let c be the smallest color not assigned to a vertex
in Ni(vi)
f(vi) ← c
EndFor
23
Conclusion
• Graph Coloring
• Chordal Graphs
• New Register Allocation Technique
– Polynomial time
24
References
• http://en.wikipedia.org
• Engineering a Compiler, Keith D. Cooper and Linda Torczon,
2004
• http://www.math.gatech.edu/~thomas/FC/fourcolor.html
• An Optimistic and Conservative Register Assignment Heuristic
for Chordal Graphs, Philip Brisk, et. Al., CASES 07
• Register Allocation via Coloring of Chordal Graphs, Jens
Palsberg, CATS2007
25
Questions?
• Thank you

More Related Content

PPTX
Graph coloring
PPT
GRAPH COLORING AND ITS APPLICATIONS
PPT
Graph colouring
PPT
Coloring graphs
PPTX
Graph coloring
PPTX
Graph coloring Algorithm
PPT
Graph coloring
PPT
Graph coloring problem
Graph coloring
GRAPH COLORING AND ITS APPLICATIONS
Graph colouring
Coloring graphs
Graph coloring
Graph coloring Algorithm
Graph coloring
Graph coloring problem

What's hot (20)

PDF
Graph Coloring and Its Implementation
PDF
introduction to graph theory
PPTX
Interesting applications of graph theory
PDF
Graph theory
PPTX
graph theory
PPTX
Application of graph theory in drug design
PPTX
Color Models Computer Graphics
PPTX
Graph theory
PPTX
convex hull
PPTX
Graph theory
PDF
Application Of Graph Theory
PPTX
Matrix Representation Of Graph
PPT
CS6702 Unit III coloring ppt
PPT
Minimum spanning tree
PPT
Graph Coloring : Greedy Algorithm & Welsh Powell Algorithm
PPTX
Applications of linear algebra
PDF
Red black tree
PPTX
Introduction to Graph Theory
PDF
Elliptic Curve Cryptography
PDF
Graph theory and its applications
Graph Coloring and Its Implementation
introduction to graph theory
Interesting applications of graph theory
Graph theory
graph theory
Application of graph theory in drug design
Color Models Computer Graphics
Graph theory
convex hull
Graph theory
Application Of Graph Theory
Matrix Representation Of Graph
CS6702 Unit III coloring ppt
Minimum spanning tree
Graph Coloring : Greedy Algorithm & Welsh Powell Algorithm
Applications of linear algebra
Red black tree
Introduction to Graph Theory
Elliptic Curve Cryptography
Graph theory and its applications
Ad

Viewers also liked (18)

PDF
Algorithms for Graph Coloring Problem
PDF
Graph theory in Practise
PPTX
Graph theory and life
PPTX
Football and graph theory
PPTX
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
PPT
Applications of graphs
PPTX
Backtracking
PDF
CS6702 graph theory and applications notes pdf book
PPT
Graph Coloring using Peer-to-Peer Networks
PPT
The four color theorem
PDF
the bike map - a look into a practical application of graph theory
PPT
Backtracking
PDF
Graph
PDF
Graph theory
PPTX
Graph theory 1
PDF
backtracking algorithms of ada
PPTX
Graphs - CH10 - Discrete Mathematics
PPTX
8 queens problem using back tracking
Algorithms for Graph Coloring Problem
Graph theory in Practise
Graph theory and life
Football and graph theory
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Applications of graphs
Backtracking
CS6702 graph theory and applications notes pdf book
Graph Coloring using Peer-to-Peer Networks
The four color theorem
the bike map - a look into a practical application of graph theory
Backtracking
Graph
Graph theory
Graph theory 1
backtracking algorithms of ada
Graphs - CH10 - Discrete Mathematics
8 queens problem using back tracking
Ad

Similar to Graph coloring and_applications (19)

PPTX
Graph coloring problem(DAA).pptx
PPTX
Module 5 - GraphColoring hoeyo colr grafh.pptx
PPTX
Module 5 - GraphColo blhyhfhuufring.pptx
PPTX
graph coloring back tracking and applications in realA time.pptx
PPT
coloring_Graph.ppt
PPTX
coloring.pptx
PPT
coloring.ppt
PPT
Graph coloring with back tracking aoa.ppt
PPTX
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
PDF
Graph Coloring
PPTX
141222 graphulo ingraphblas
 
PPTX
141205 graphulo ingraphblas
PDF
Extended online graph edge coloring
PPTX
Graphons of Line Graphs Talk at Uni Sydney
PPTX
Graph coloring using backtracking
PDF
Graph Coloring Algorithms on Pregel Model using Hadoop
PDF
Prestation_ClydeShen
PPTX
Graph Coloring
PPT
Farhna shaikh webinar_graphcoloring
Graph coloring problem(DAA).pptx
Module 5 - GraphColoring hoeyo colr grafh.pptx
Module 5 - GraphColo blhyhfhuufring.pptx
graph coloring back tracking and applications in realA time.pptx
coloring_Graph.ppt
coloring.pptx
coloring.ppt
Graph coloring with back tracking aoa.ppt
bcfbedbf-6679-4d5d-b8a5-7d4c9c48dba4.pptx
Graph Coloring
141222 graphulo ingraphblas
 
141205 graphulo ingraphblas
Extended online graph edge coloring
Graphons of Line Graphs Talk at Uni Sydney
Graph coloring using backtracking
Graph Coloring Algorithms on Pregel Model using Hadoop
Prestation_ClydeShen
Graph Coloring
Farhna shaikh webinar_graphcoloring

Graph coloring and_applications

  • 1. 1 Graph Coloring and Applications
  • 2. 2 Overview • Graph Coloring Basics • Planar/4-color Graphs • Applications • Chordal Graphs • New Register Allocation Technique
  • 3. 3 Basics • Assignment of "colors" to certain objects in a graph subject to certain constraints – Vertex coloring (the default) – Edge coloring – Face coloring (planar)
  • 4. 4 Not Graph Labeling • Graph coloring – Just markers to keep track of adjacency or incidence • Graph labeling – Calculable problems that satisfy a numerical condition
  • 5. 5 Vertex coloring • In its simplest form, it is a way of coloring the vertices of a graph such that no two adjacent vertices share the same color • Edge and Face coloring can be transformed into Vertex version
  • 6. 6 Vertex Color example • Anything less results in adjacent vertices with the same color – Known as “proper” • 3-color example
  • 9. 9 Chromatic Number • χ - least number of colors needed to color a graph – Chromatic number of a complete graph: χ(Kn) = n
  • 10. 10 Properties of χ(G) • χ(G) = 1 if and only if G is totally disconnected • χ(G) ≥ 3 if and only if G has an odd cycle (equivalently, if G is not bipartite) • χ(G) ≥ ω(G) (clique number) • χ(G) ≤ Δ(G)+1 (maximum degree) • χ(G) ≤ Δ(G) for connected G, unless G is a complete graph or an odd cycle (Brooks' theorem). • χ(G) ≤ 4, for any planar graph – The “four-color theorem”
  • 11. 11 Four-color Theorem • Dates back to 1852 to Francis Guthrie • Any given plane separated into regions may be colored using no more than 4 colors – Used for political boundaries, states, etc – Shares common segment (not a point) • Many failed proofs
  • 12. 12 Algorithmic complexity • Finding minimum coloring: NP-hard • Decision problem: “is there a coloring which uses at most k colors?” • Makes it NP-complete
  • 13. 13 Coloring a Graph - Applications • Sudoku • Scheduling • Mobile radio frequency assignment • Pattern matching • Register Allocation
  • 14. 14 Register Allocation with Graphs Coloring • Register pressure – How determine what should be stored in registers – Determine what to “spill” to memory • Typical RA utilize graph coloring for underlying allocation problem – Build graph to manage conflicts between live ranges
  • 15. 15 Chordal Graphs • Each cycle of four or more nodes has a chord • Subset of perfect graphs • Also known as triangulated graphs
  • 16. 16 Chordal Graph Example • Removing a green edge will make it non-chordal
  • 17. 17 RA with Chordal Graphs • Normal register allocation was an NP- complete problem – Graph coloring • If program is in SSA form, it can be accomplished in polynomial time with chordal graphs! – Thereby decreasing need for registers
  • 18. 18 Quick Static Single Assignment Review • SSA Characteristics – Basic blocks – Unique naming for variable assignments – Φ-functions used at convergence of control flows • Improves optimization – constant propagation – dead code elimination – global value numbering – partial redundancy elimination – strength reduction – register allocation
  • 19. 19 RA with Chordal Graphs • SSA representation needs fewer registers • Key insight: a program in SSA form has a chordal interference graph – Very Recent
  • 20. 20 RA with Chordal Graphs cont • Result is based on the fact that in strict- SSA form, every variable has a single contiguous live range • Variables with overlapping live ranges form cliques in the interference graph
  • 21. 21 RA with Chordal Graphs cont • Greedy algorithm can color a chordal graph in linear time • New SSA-elimination algorithm done without extra registers • Result: – Simple, optimal, polynomial-time algorithm for the core register allocation problem
  • 22. 22 Chordal Color Assignment • Algorithm: Chordal Color Assignment • Input: Chordal Graph G = (V, E), PEO σ • Output: Color Assignment f : V → {1… χG} For Integer : i ← 1 to |V| in PEO order Let c be the smallest color not assigned to a vertex in Ni(vi) f(vi) ← c EndFor
  • 23. 23 Conclusion • Graph Coloring • Chordal Graphs • New Register Allocation Technique – Polynomial time
  • 24. 24 References • http://en.wikipedia.org • Engineering a Compiler, Keith D. Cooper and Linda Torczon, 2004 • http://www.math.gatech.edu/~thomas/FC/fourcolor.html • An Optimistic and Conservative Register Assignment Heuristic for Chordal Graphs, Philip Brisk, et. Al., CASES 07 • Register Allocation via Coloring of Chordal Graphs, Jens Palsberg, CATS2007