• Implementing path coloring algorithms on planar graphs

      Bross, Daniel Aven; Chappell, Glenn; Lawlor, Orion; Hartman, Chris (2017-08)
      A path coloring of a graph partitions its vertex set into color classes such that each class induces a disjoint union of paths. In this project we implement several algorithms to compute path colorings of graphs embedded in the plane. We present two algorithms to path color plane graphs with 3 colors based on a proof by Poh in 1990. First we describe a naive algorithm that directly follows Poh's procedure, then we give a modified algorithm that runs in linear time. Independent results of Hartman and Skrekovski describe a procedure that takes a plane graph G and a list of 3 colors for each vertex, and computes a path coloring of G such that each vertex receives a color from its list. We present a linear time implementation based on Hartman and Skrekovski's proofs. A C++ implementation is provided for all three algorithms, utilizing the Boost Graph Library. Instructions are given on how to use the implementation to construct colorings for plane graphs represented by Boost data structures.