cut就是指把一个图的结点分为两个集合,那么其中一些边的端点是分属两个集合的,使这种边数量最小的划分就叫minimum cut。
karger的算法是个randomnized algorithm,思路是随机找一个边,把这个边的两个端点融合为一个结点,把多余的点和边删除。
注意如果融合后的新结点出现self loop,那么是要删除这个self loop的,但是只是和其他结点形成平行边,那么这些平行边当然是不可以删除的。
最后合并到只剩两个点的时候,就相当于把原来的图的结点分为了两个集合,剩下的边就是这时的cut了。
当然这个算法正确的概率只有1/n^2,所以是需要多次重复来得到最好结果的,假设图有n个结点,那么运行n^2ln(n)次,错误概率会降为仅有1/n。