A min-max cut algorithm for graph partitioning and data clustering | Synapse