This is the first implementation to include the original Shi and Malik recursive bipartitioning algorithm. This works hierarchically, repeatedly splitting the graph starting from the highest-level partition discovered in the first round. This lets us solve max-P style problems, allowing the maximum number of viable clusters (above a given floor) to be discovered.