exact coloring of real-life graphs is easy
Post on 15-Apr-2017
191 Views
Preview:
TRANSCRIPT
Exact Coloring of Real-Life Graphs is Easy
34th DAC, June 10, 1997
Olivier CoudertSynopsys, Inc.
Summary
Introduction
Why is Coloring Difficult?
Maximum Clique
Experiments & Conclusion
Graph Coloring
|clique| |color|
Graph Coloring Scheduling Microcode optimization Register allocation Resource sharing State encoding Planar routing Frequency assignment Network optimization ....
Graph Coloring
Graph coloring is NP-complete Graph coloring is not polynomially approximable
Heuristics coloring can be arbitrarily farfrom the optimum solution Heuristics coloring in practice is 10% off,up to 100% off, the optimum solution
Summary
Introduction
Why is Coloring Difficult?
Maximum Clique
Experiments & Conclusion
blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah b |clique| |color| blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blahblah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah
|clique| |color|
|clique| |color|
|clique| |color|
Sequential ColoringFind a clique
Sequential ColoringColor the clique
colors
Sequential ColoringColor the remaining vertices one by one
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential ColoringBacktrack to look for a better solution
colors
Sequential Coloringetc...Exhaustively enumerate the colorings
Sequential Coloring
EXP
Sequential Coloring
Use a bound to prunethe search space
Branch-and-Bound
Sequential Coloring
Find a cliqueColor the cliqueIf all vertex are colored, new coloringIf |clique| = #used colors, abort
Select an uncolored vertexColor it w/o conflictIf it is not possible, backtrack
Branch-and-bound with aunique, static, lower bound
Sequential Coloring
Consequences in General...
If |MaxClique| |MinColor|, one has to enumerate all colorings before terminating
Fact 1:
Almost all graphs satisfy|MaxClique| |MinColor|
Fact 2:
…But in Practice
Real-life graphs appear to be 1-perfect, i.e.,|MaxClique| =|MinColor|
Fact 3:
Consequence:
To color real-life graphs, find a maximum clique first.
Sequential ColoringWhat if we find the maximum clique?
Sequential ColoringColor the clique
Sequential ColoringColor the remaining vertices one by one
Sequential Coloring
size of the clique = 4number of colors = 4
Here, no backtrack is needed
Sequential Coloring
size of the clique = number of colors
Summary
Introduction
Why is Coloring Difficult?
Maximum Clique
Experiments & Conclusion
Maximum CliqueBranch-and-bound
Lower bound: a coloring
|clique| |color|
q-Color Pruning
further pruneTakes advantage of a coloring to the search spacefurther prune
search space reduced by x100
clique = 3
Wait!
clique = 3
clique = 3
clique = 3 color = 4
clique = 3 color = 4
q color clique
clique = 3 color = 4
q 4 3
clique = 3 color = 4
q 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
clique = 3 color = 4 q = 2
Solving Max. Clique
1
10
100
1000
10000
100000
1000000
withoutwith
> 11 days
1 sec
2mn
15mn
3h
10 sec
1 day
As a Heuristic:
q-color pruning finds a maximum clique in less than 10 backtracks,
where 1000 backtracks, and up to 10000 backtracks, were previously necessary
Summary
Introduction
Why is Coloring Difficult?
Maximum Clique
Experiments & Conclusion
Facts
Real-life graphs seem to be 1-perfect
1-perfect graphs are easy to color,providing that one finds a maximum clique
The maximum clique algorithm quickly finds the optimum lower bound
Experiments
> 600 real-life examples in scheduling, register allocation, planar routing, frequency assignment
They are all 1-perfect graphs
Colored exactly in seconds, while heuristics are10% off on average, up to 100% off
Conclusion
One can color real life graphs exactly with no more time
than heuristics
Thank you!
top related