A program to take a graph and split it up into subgraphs, minimizing the number of edges crossing pages