a block partitioning of the input matrix, where every block fits a perfect path phylogeny
Description
This algorithm tries to get a partition of the input columns in the smallest possible number of sets. After
evoking this algorithm each of the sets fits a perfect path phylogeny.
The main idea of this algorithm is the reduction of this problem to the matching problem for an arbitrary graph. The problem was that
there are no free optimal matching algorithms implemented in Java available. Instead, we used a (very good) heuristic to calculate the matching.