1 / 27

Graph Coloring

Graph Coloring. Introduction. When a map is colored, two regions with a common border are customarily assigned different colors. We want to use a small amount of colors instead of just assigning every region its own color. Graph Coloring. Each map in a plane can be represented by a graph.

ila-riley
Download Presentation

Graph Coloring

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Graph Coloring

  2. Introduction • When a map is colored, two regions with a common border are customarily assigned different colors. • We want to use a small amount of colors instead of just assigning every region its own color.

  3. Graph Coloring • Each map in a plane can be represented by a graph. • Each region is represented by a vertex. • Edges connect to vertices if the regions represented by these vertices have a common border. • Two regions that touch at only one point are not considered adjacent. • The resulting graph is called the dual graph of the map.

  4. B B A G C D F C A E D B A D F G E E B A E D C C Dual Graph Examples

  5. Graph Coloring • A coloring of a simple graph is the assignment of a color to each vertex of the graph so that no two adjacent vertices are assigned the same color. • The chromatic number of a graph is the least number of colors needed for a coloring of the graph. • The Four Color Theorem:The chromatic number of a planar graph is no greater than four.

  6. b e a d g c f Example • What is the chromatic number of the graph shown below? The chromatic number must be at least 3 since a, b, and c must be assigned different colors. So lets try 3 colors first. b a c e 3 colors work, so the chromatic number of this graph is 3. g d f

  7. Example • What is the chromatic number for each graph? White White Yellow Yellow Green White Yellow White Yellow White Yellow Chromatic number: 2 Chromatic number: 3

  8. Applications • Scheduling Final Exams • How would you model this with a graph? • After you have drawn a graph, what should you do?

  9. Applications of Functional Decomposition • Multi-level FPGA synthesis • VLSI design • Machine learning and data mining • Finite state machine design

  10. Two-Level Curtis Decomposition F(X) = H( G(B), A ), X = A B B - bound set X A - free set if A B = , it is disjoint decomposition if A B  , it is non-disjoint decomposition

  11. Multi-Level Curtis Decomposition Two-level decomposition is recursively applied to few functions Hi and Gi, until small functions Gt and Ht are created, that are notfurther decomposable. Thus Curtis decomposition is multi-level,and each two-level stage should createthe candidates for the next level that will beas well decomposable as possible.

  12. Cost Function Decomposed Function Cardinalityis the total cost of all blocks,where the cost of a binary block withn inputs and m outputs is m * 2n.

  13. Decomposition Algorithm • Find a set of partitions (Ai, Bi) of input variables (X) into free variables (A) and bound variables (B) • For each partitioning, find decompositionF(X) = Hi(Gi(Bi), Ai) such that column multiplicity is minimal, and calculate DFC • Repeat the process for all partitioning until the decomposition with minimum DFC is found.

  14. Algorithm Requirements • Since the process is iterative, it is of high importance that minimizing of the column multiplicity index was done as fast as possible. • At the same time it is important that the value of column multiplicity was close to the absolute minimum value for a given partitioning.

  15. New Algorithm DOM forGraph Coloring by Domination Covering Basic Definitions Definition 1. Node A in the incompatibility graph covers node B if 1) A and B have no common edges; 2) A has edges with all the nodes that B has edges with; 3) A has at least one more edge than B.

  16. New Algorithm DOM forGraph Coloring by Domination Covering Basic Definitions(cont’d) Definition 2. If conditions 1) and 2) are true and A and B have the same number of nodes, then it is called pseudo-covering. Definition 3. The complete graph is one in which all the pairs of vertices are connected. Definition 4. A non-reducible graph is a graph that is not complete and has no covered or pseudo-covered nodes. Otherwise, the graph is reducible.

  17. New Algorithm DOM forGraph Coloring by Domination Covering Theorem 1.If any node A in the incompatibility graph covers any other node B in the graph, then node B can be removed from the graph, and in a pseudo-covering any one of the nodes A and B can be removed. Theorem 2.If a graph is reducible and can be reduced to a complete graph by successive removing of all its covered and pseudo-covered nodes, then Algorithm DOM finds the coloring with the minimun number of colors(the exact coloring).

  18. 2 1 1 Step 2 Step 1 3 3 4 5 4 5 6 6 7 Step 1: Removing 2 and 7 covered by 1 Step 2: Removing 5 covered by 4 Example Showing How DOM Colors ofa Reducible Graph

  19. 2 1 1 1 3 Step 4 Step 3 3 3 4 5 4 4 6 6 6 7 Step 3: Coloring the complete graph Step 4: Coloring the dominated vertices Example Showing How DOM Colors ofa Reducible Graph

  20. 1 1 1 2 6 2 6 2 6 Step 3 Step 2 Step 1 7 7 7 3 5 3 5 5 3 4 4 4 Step 1: Removing random node (1) Step 2: Removing 2 and 6 covered by 4 Step 3: Removing 3 pseudo-covered by 5 Example Showing How DOM Colors ofa Reducible Graph

  21. 1 1 1 2 6 2 6 2 6 Step 5 Step4 7 7 7 5 5 3 3 3 5 4 4 4 Step 4: Coloring the complete graph Step 5: Coloring the remaining nodes Example Showing How DOM Colors ofa Reducible Graph

  22. Comparison of Results Obtained by MVGUD on MCNC Benchmarks

  23. Total Colors Found by DOM and CLIP vs. Colors Found by EXOC

  24. Comparison of MVGUDwith Other Decomposers * Abbreviation are explained in the next slide

  25. Abbreviations • TR - TRADE, an earlier decomposer developed at Porland State University • MI - MISII, a decomposer from UC, Berkeley • St - a binary decomposer from Freiberg (Germany) • SC - MuloP-dc, a decomposer from Freiberg (Germany) • LU - program Demain from Warwaw/Monash (Luba and Selvaraj) • Js and Jh - systematic and heuristic strategiesin a decompower fromTechnical University of Eindhoven (Jozwiak)

  26. Conclusions • Presented a new algorithm to createincompatibility graphs • Presented a new heuristic dominance graph coloring program DOM • Proved that exact graph coloring algorithmis not needed • Introduced early filtering of decompositions • Shown by comparison that this approachis faster and gives less complex decompositions

  27. References • Partitioning for two-level decompositions • M.A.Perkowski, “A New Representation of Strongly Unspecified Switching Functions and Its Application to Multi-Level AND/OR/EXOR Synthesis”, Proc. RM ‘95 Work, 1995, pp.143-151 • Our approach to decomposition • M.A.Perkowski, M.Marek-Sadowska, L.Jozwiak, M.Nowicka, R.Malvi, Z.Wang, J.Zhang, “Decomposition of Multiple-Valued Relations”, Proc. ISMVL ‘97, pp.13-18

More Related