π§© Constraint Solving POTD:Graph Coloring β Chromatic Constraints in the Wild #23455
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Constraint Solving β Problem of the Day. A newer discussion is available at Discussion #23548. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Category: Classic CSP Β· Date: 2026-03-29
Problem Statement
Given an undirected graph
G = (V, E), assign a color to each vertex such that no two adjacent vertices share the same color, using as few colors as possible.The minimum number of colors needed is the chromatic number
Ο(G).Small Concrete Instance
Consider a graph with 5 vertices representing regions on a map:
Trade-offs:
Example Model (MiniZinc β CP approach)
This alone can yield orders-of-magnitude speedups.
2. DSATUR Heuristic (Variable Ordering)
DSATUR (Degree of Saturation) is the classic search heuristic for graph coloring:
3. Bounding via Clique and Fractional Relaxations
Ο(G) β€ Ο(G). Finding maximum cliques (itself NP-hard, but fast in practice) gives a tight lower bound.Ο(G) β€ Ξ(G) + 1(Brook's theorem: equality only for complete graphs and odd cycles).Ο_f(G): solvable in polynomial time via LP, givesΟ_f(G) β€ Ο(G)β useful for pruning in branch-and-bound.Challenge Corner
Bonus extensions to ponder:
vhas a listL(v) β {1..k}of allowed colors. How does this change the propagation?References
Beta Was this translation helpful? Give feedback.
All reactions