问题集: 您将获得一个称为ALG的随机算法,该算法将未定向的图G作为输入并在线性时间内输出具有以下属性的数字k:概率至少为1 / n,数字k是最小切割的大小现在有人想到通过运行ALG n次来增加获得最小切割尺寸的可能性(这导致O(n ^ 2)算法)。这是一种合理的方法吗?上述算法与Karger算法的主要区别是什么?
P(“ ALG得到minCut”)= 1 / n
P(“如果重复n次,ALG将获得minCut”)= 1-(1-1 / n)^ n <1-1 / e
因此,我们将概率从线性提高为常数,但将运行时间从线性降低为二次。
给出:Karger在O(n ^ 2 log n)中运行并获得最小割伤的概率至少为1 / log n
因此,要获得相同的成功概率,我们只需在Kargers上重复进行log(n),这样1-(1-1 / log n)^ log(n)= 1-e ^(-1) ALG算法。
n x ALG:运行时间= O(n ^ 2),成功1的概率-e ^(-1)
log(n)x Karger:运行时间= O(log n n ^ 2 log n),成功1的概率-e ^(-1)
如果有这样的ALG算法,那再好不过了,那就是Kargers。
此分析正确吗?还有什么我需要提的吗?