uic university of illinois at chicago graph coloring problem cs594 combinatorial optimization prof....
TRANSCRIPT
![Page 1: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/1.jpg)
UICUICUniversity of Illinois at ChicagoUniversity of Illinois at Chicago
Graph Coloring ProblemGraph Coloring Problem
CS594 Combinatorial OptimizationProf. John Lillis
Laura VarrentiSS#
Marco Domenico Santambrogio
SS#3587
![Page 2: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/2.jpg)
UICUIC Graph Coloring ProblemGraph Coloring Problem
Input: graph G = (V, E)V={v_1,v_2,...,v_n} is the set of verticesE the set of edges connecting the vertices
Constraint: no two vertices can be in the same color class if there is an edge between them
There are two variants of this problemIn the optimisation variant, the goal is to find a colouring with a minimal number of colours, or partion of V into a minimum number (G) of color classes C1, C2, …,Ck
whereas in the decision variant, the question is to decide whether for a particular number of colours, a couloring of the given graph exists
![Page 3: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/3.jpg)
UICUIC Graph Coloring is NP-hardGraph Coloring is NP-hard
It is unlikely that efficient algorithms guaranteed to find optimal colorings exists
Thus, pratically, we develop heuristic algorithms that find near-optimal colorings quickly
![Page 4: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/4.jpg)
UICUIC The “Salomone” ModuleThe “Salomone” Module
1 Regum 311 et dixit Deus Salomoni: " Quia postulasti verbum hoc et non petisti tibi dies multos nec divitias aut animam inimicorum tuorum, sed postulasti tibi sapientiam ad discernendum iudicium, 12 ecce feci tibi secundum sermones tuos et dedi tibi cor sapiens et intellegens, in tantum ut nullus ante te similis tui fuerit nec post te surrecturus sit; 13 sed et haec, quae non postulasti, dedi tibi, divitias scilicet et gloriam, ut nemo fuerit similis tui in regibus cunctis diebus tuis.
1 Kings 311 And God said unto him, Because thou hast asked this thing, and hast not asked for thyself long life; neither hast asked riches for thyself, nor hast asked the life of thine enemies; but hast asked for thyself understanding to discern judgment;12 Behold, I have done according to thy words: lo, I have given thee a wise and an understanding heart; so that there was none like thee before thee, neither after thee shall any arise like unto thee.13 And I have also given thee that which thou hast not asked, both riches, and honour: so that there shall not be any among the kings like unto thee all thy days.
![Page 5: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/5.jpg)
UICUIC Problem DefinitionProblem Definition
We want to implement the “Salomone” module
Input:Threads Dependency GraphTime constreints
Output:Minimum number of slicesThreads set
![Page 6: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/6.jpg)
UICUIC Behavioural descriptionBehavioural description
Process test(p,…)in port p[SIZE];{
…v = read p;
while(v>=0) {
<loop-body>v = v-1;
}}
We start from a behavioural description:
![Page 7: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/7.jpg)
UICUIC ThreadsThreads
We divide the BHD in Threads:
T1 -> perform
thereadingoperation
T2 -> Consists of operation in thebody of the loop
loop_sync<loop body>v = v - 1deteach
read vdeteach
![Page 8: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/8.jpg)
UICUIC Threads Dependency GraphThreads Dependency Graph
S1S1
Read
Signal1
Wait2
Wait1
Signal2
Body
Loop cond
![Page 9: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/9.jpg)
UICUIC Conflict GraphConflict Graph
Time Constrain
ts
Threads Dependecy Graph
Conflict Graph
Graph
Generator
Module
![Page 10: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/10.jpg)
UICUIC An exampleAn example
T1T2
1/1
1/2
1/3
2/1
2/4
2/2
T1
1/1
2/31/2
Threads Dependency Graph
![Page 11: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/11.jpg)
UICUIC Salomone ModuleSalomone Module
Find the Overlapping Tasks
T1
T2
T3
![Page 12: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/12.jpg)
UICUIC Conflict GraphConflict Graph
1/1
1/2
2/2
3/1
3/2
2/3
2/1 2/4
1/3
![Page 13: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/13.jpg)
UICUIC A possible solution:A possible solution:
1/1
1/2
2/2
3/1
3/2
2/3
2/1 2/4
1/3
![Page 14: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/14.jpg)
UICUIC How to find it!How to find it!
Some GCP Algorithms:DSATURBSC
RLF
![Page 15: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/15.jpg)
UICUIC Degree of Saturation Algorithm Degree of Saturation Algorithm (DSATUR)(DSATUR)
Sequential coloring, dinamically chooses the vertex to color next, picking one that is adjacent to the largest number of distinctly colored verticesDegree of saturation of a vertex v, degs(v), number of different colors already assigned to the vertices adjacent to vComplexity is O(|V|3)
![Page 16: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/16.jpg)
UICUIC DSATURDSATUR - Simulation- Simulation
A B
C
D
E
F
G
2
1
3
4
5
6
![Page 17: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/17.jpg)
UICUIC Backtracking Sequential Backtracking Sequential Coloring Algorithm (BSC)Coloring Algorithm (BSC)
Sequential coloring algorithmInitially vertices are ordered according to non-decreasing degree, the order is dinamically changedAssume v1, …, vi-1 have already been colored using li different colorsAssume the set of free colors for vi is the subset of colors in U = 1, 2, .., li+1, which are not present in the neighborhood of v. If an upperbound opt for (G) has been established, all colors opt can be removed from U.The vertex to be colored next is the one of maximal degs. It is colored with the smallest color in U. If U is empty, backtrack is executed.
![Page 18: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/18.jpg)
UICUIC BSC - SimulationBSC - Simulation
A
B
C
D
E
F
G
2
1
3
4
5
6
U = {Red, Yellow, Blu, Green}
![Page 19: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/19.jpg)
UICUIC Recursive Largest First Recursive Largest First Algorithm (RLF)Algorithm (RLF)
It colors the vertices one color at a time, in “greedy” fashion
Class C is constructed as follows:
V’ = set of uncolored verticesU = set of uncolored vertices that cannot be legally placed in C
![Page 20: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/20.jpg)
UICUIC Construction of C in RLFConstruction of C in RLF
1. Choose v0 V’ that has the maximum number of edges to vertices V’
2. C v0
3. U all u V’ that are adjacent to v0
4. V’ V’ – U5. While (V’ )
5.1. Choose v V’ that has maximum number of edges to vertices in U
5.2. C C v 5.3. U U all u V’ adjacent to v 5.4. V’ V’ – all u V’ adjacent to v
![Page 21: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/21.jpg)
UICUIC Time-Complexity of RLFTime-Complexity of RLF
In the worst case time complexity of RLF is O(|V|3)One factor |V| is due to determination of vertex v0 of maximal degree
Traversing all the non-neighbors of v0 searching a vertex v with maximal number of common neighbors with v0 may cost another O(|V|2) elementary operations
![Page 22: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/22.jpg)
UICUIC
A
B
C
D
E
F
G1
2
3
7
4
56
RLF - SimulationRLF - Simulation
![Page 23: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/23.jpg)
UICUIC A possible problemA possible problem
1/1
1/2
2/2
3/1
3/2
2/3
2/1 2/4
1/3
![Page 24: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/24.jpg)
UICUIC The problemThe problem
S2S1Tasks: Tasks:
1/1
1/2
3/1
3/2
2/2
2/3
Tasks:
2/1
2/4
1/3
Delay(1/1) = 1
(1/2) = 1
(1/3) = 1
(2/1) = 1
(2/2) = 2
(2/3) = 2
(2/4) = 1
(3/1) = 1
(3/2) = 2
Problem
![Page 25: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/25.jpg)
UICUIC Our Conflict GraphOur Conflict Graph
1/1
1/2
2/2
3/1
3/2
2/3
2/1
2/4
1/3
![Page 26: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/26.jpg)
UICUIC A new possible solutionA new possible solution
1/1
1/2
2/2
3/1
3/2
2/3
2/1
2/4
1/3
![Page 27: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/27.jpg)
UICUIC A new possible solutionA new possible solution
1/1
1/2
2/2
3/1
3/2
2/3
2/1
2/4
1/3
![Page 28: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/28.jpg)
UICUIC Our AimsOur Aims
Minimize the number of color in the GCP applied on the conflict graph
Find all the Threads sets
Considering the decision variant of the GCP we want to see if a specific number of slice, a particular number of coloro, on an given FPGA is enough to have a couloring solution of the given graph
![Page 29: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/29.jpg)
UICUIC BenchmarkBenchmark
We decide to use the DIMACS format because, as we can see in their document:
The DIMACS format is a flexible format suitable for many types of graph and network problems. This format was also the format chosen for the First Computational Challenge on network flows and matchings.This is a format for graphs that is suitable for those looking at graph coloring and finding cliques in graphs One purpose of the DIMACS Challenge is to ease the effort required to test and compare algorithms and heuristics by providing a common testbed of instances and analysis tools
![Page 30: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/30.jpg)
UICUIC DIMACS COLORING DIMACS COLORING BENCHMARKS BENCHMARKS
flat1000_50_0.col.b (1000,245000), 50, CUL flat1000_60_0.col.b (1000,245830), 60, CUL flat1000_76_0.col.b (1000,246708), 76, CUL flat300_20_0.col.b (300,21375), 20, CUL flat300_26_0.col.b (300, 21633), 26, CUL flat300_28_0.col.b (300, 21695), 28, CUL fpsol2.i.1.col (496,11654), 65, REG fpsol2.i.2.col (451,8691), 30, REG fpsol2.i.3.col (425,8688), 30, REG inithx.i.1.col (864,18707), 54, REG inithx.i.2.col (645, 13979), 31, REG inithx.i.3.col (621,13969), 31, REG latin_square_10.col (900,307350), ?, le450_15a.col (450,8168), 15, LEI
![Page 31: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/31.jpg)
UICUIC DIMACS COLORING DIMACS COLORING BENCHMARKSBENCHMARKS
DSJC1000.1.col.b (1000,99258), ?, DSJ DSJC1000.5.col.b (1000,499652), ?, DSJ DSJC1000.9.col.b (1000,898898), ?, DSJ DSJC125.1.col.b (125,1472), ?, DSJ DSJC125.5.col.b (125,7782), ?, DSJ DSJC125.9.col.b (125,13922), ?, DSJ DSJC250.1.col.b (250,6436), ?, DSJ DSJC250.5.col.b (250,31366), ?, DSJ DSJC250.9.col.b (250,55794), ?, DSJ DSJC500.1.col.b (500,24916), ?, DSJ DSJC500.5.col.b (500,125249), ?, DSJ DSJC500.9.col.b (500,224874), ?, DSJ DSJR500.1.col.b (500,7110), ?, DSJ DSJR500.1c.col.b (500,242550), ?, DSJ DSJR500.5.col.b (500, 117724), ?, DSJ
![Page 32: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/32.jpg)
UICUIC DIMACS COLORING DIMACS COLORING BENCHMARKS BENCHMARKS
le450_15b.col (450,8169), 15, LEI le450_15c.col (450,16680), 15, LEI le450_15d.col (450,16750), 15, LEI le450_25a.col (450,8260), 25, LEI le450_25b.col (450,8263), 25, LEI le450_25c.col (450,17343), 25, LEI le450_25d.col (450,17425), 25, LEI le450_5a.col (450,5714), 5, LEI le450_5b.col (450,5734), 5, LEI le450_5c.col (450,9803), 5, LEI le450_5d.col (450,9757), 5, LEI mulsol.i.1.col (197,3925), 49, REG mulsol.i.2.col (188,3885), 31, REG mulsol.i.3.col (184,3916), 31, REG mulsol.i.4.col (185,3946), 31, REG
![Page 33: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/33.jpg)
UICUIC DIMACS COLORING DIMACS COLORING BENCHMARKS BENCHMARKS
queen13_13.col (169,6656), 13, SGB queen14_14.col (196,8372), ?, SGB queen15_15.col (225,10360), ?, SGB queen16_16.col (256,12640), ?, SGB queen5_5.col (25,160), 5, SGB queen6_6.col (36,290), 7, SGB queen7_7.col (49,476), 7, SGB queen8_12.col (96,1368), 12, SGB queen8_8.col (64, 728), 9, SGB queen9_9.col (81, 2112), 10, SGB myciel3.col (11,20), 4, MYC myciel4.col (23,71), 5, MYC myciel5.col (47,236), 6, MYC myciel6.col (95,755), 7, MYC myciel7.col (191,2360), 8, MYC
![Page 34: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/34.jpg)
UICUIC DIMACS standard format - DIMACS standard format - NotesNotes
DSJ: (From David Johnson ([email protected])) Random graphs used in his paper with Aragon, McGeoch, and Schevon, ``Optimization by Simulated Annelaing: An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning'', Operations Research, 31, 378--406 (1991). DSJC are standard (n,p) random graphs. DSJR are geometric graphs, with DSJR..c being complements of geometric graphs. CUL: (From Joe Culberson ([email protected])) Quasi-random coloring problem. REG: (From Gary Lewandowski ([email protected])) Problem based on register allocation for variables in real codes.
![Page 35: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/35.jpg)
UICUIC DIMACS standard format - DIMACS standard format - NotesNotes
LEI: (From Craig Morgenstern ([email protected])) Leighton graphs with guaranteed coloring size. A reference is F.T. Leighton, Journal of Research of the National Bureau of Standards, 84: 489--505 (1979). SCH: (From Gary Lewandowski ([email protected]))Class scheduling graphs, with and without study halls. LAT: (From Gary Lewandowski ([email protected])) Latin square problem. SGB: (From Michael Trick ([email protected])) Graphs from Donald Knuth's Stanford GraphBaseMYC: (From Michael Trick ([email protected])) Graphs based on the Mycielski transformation. These graphs are difficult to solve because they are triangle free (clique number 2) but the coloring number increases in problem size
![Page 36: UIC University of Illinois at Chicago Graph Coloring Problem CS594 Combinatorial Optimization Prof. John Lillis Laura Varrenti SS# Marco Domenico Santambrogio](https://reader036.vdocuments.net/reader036/viewer/2022062409/5697bff81a28abf838cbeff5/html5/thumbnails/36.jpg)
UICUIC ReferencesReferences
Rajesh K. Gupta, Giovanni De Micheli, Hardware-Software Cosynthesis for digital systems, IEEE, September 1993David S. Johnson, Cecilia R. Aragon, Lyle A. McGeoch, Catherine Schevon, Optimization by simulated annealing: an experimental evaluation; part II graph coloring and number partitioning, Operation Research Vol 39, No 3 May-June 1991Krzysztof Wlakowiak, Graph coloring using ant algorithmsPhilippe Galinier, Jin-Kao Hao, Hybrid evolutionary algorithms for graph coloring, Journal of Combinatorial Optimization, 3(4):379-397, 1999Gang Qu, Miodrag Potkinjak, Analysis of watermarking techniques for graph coloring problem