Practical implementations and applications of graph coloring
暂无分享,去创建一个
This thesis explores the practical implementation and application of graph coloring.
We begin with an implementation of a parallel branch and bound algorithm for coloring graphs on the Connection Machine CM-5. Using the LogP model of parallel computation, an asynchronous model aiming to capture the communication costs of a family of architectures including the CM-5, we examine three load balancing strategies: busy processors sending work randomly to other processors (Random); idle processors polling other processors for work (Polling); and matching busy processors with idle processors using a manager (Match-Maker). Experiments on implementations of the strategies indicate LogP correctly predicts Polling and Match-Maker perform similarly and both better than Random. The running time of a given implementation varies widely over runs with the same input and parameters. We conjecture this is due to random message routing on the CM-5, an issue not considered in the LogP model.
We explore parallel heuristics for graph coloring, with the following goals: (1) good colorings without extensive tuning of the heuristic; (2) good colorings on many types of graphs: (3) better speed and quality than sequential heuristics. Our parallel graph coloring heuristic, Hybrid, combines information from parallel exhaustive search with a parallel iterative improvement algorithm. Tests on many benchmark random graphs indicate that Hybrid colors as well or better than the best sequential heuristics on many graphs, without the time-consuming tuning of parameters used in these other heuristics. For large, dense graphs Hybrid is not as competitive.
We test coloring heuristics on several applications: register allocation, course scheduling, exam scheduling, parallelizing iterative solutions to linear systems, and design theory. Most of these application graphs are easier to color than random graphs, however, simply coloring the graph does not always solve the application problem.
Finally, we focus on course scheduling. Decomposing the problem into the steps of assigning students to sections, building a timetable, and revising the section assignments, we prove new NP-completeness results for the problem. We present a heuristic using n-coloring and bipartite matching that yields much better solutions than simple coloring. We also present a random model for the problem as a tool for further research.