使用主定理时对假设


20

Master定理是解决某些递归问题的漂亮工具。但是,在应用时,我们经常会掩盖一个不可或缺的部分。例如,在对Mergesort进行分析时,我们很高兴地从

T(n)=T(n2)+T(n2)+f(n)

T(n)=2T(n2)+f(n)

仅考虑n=2k。我们保证ourselved,这一步是有效的-那就是TΘ(T) -因为T表现“很好”。通常,我们假设n=bk对于b是公分母。

通过使用恶性,很容易构造不允许这种简化的重复f。例如,以上针对T的重复T/T

f(n)={1,n=2kn,else

可以通过通常的方法使用Master定理得出Θ(n),但是显然有一个子序列会像一样增长Θ(nlogn)。参见此处,了解另一个更人为的示例。

我们怎样才能做到“严谨”呢?我很确定单调性就足够了,但是即使简单的Mergesort递归也不是单调的。有一个周期分量(渐近占主导)。研究是否足够f,并且在f有什么必要和充分条件来确保Master定理有效?


得出相同结果的另一个结论是Akra-Bazzi定理“关于线性递归方程的解”,计算优化和应用,10(2),195-210(1998),或Drmota和Szpankowski“离散除法主定理”。和征服重复”,SODA'11 < dl.acm.org/citation.cfm?id=2133036.2133064 >。
vonbrand

2
这是上述文件的链接,该文件不在付费专区之内。
Paresh

1
IIRC这是在CLRS第四章讨论
卡韦赫

@Kaveh感谢您的指导。在大多数情况下,他们称其为“可忍受的草率”。在他们的上下文中,这很好,因为他们假设您仅得出假设,随后通过归纳证明是正确的。他们提到了危险(4.6)。在4.6.2中,他们给出了证明,但这是高级的,他们没有明确说明必须对施加哪些限制。因此,看起来好像是“ T使数学通过”,我认为主要是要求f具有“ nice” θ-类。TTfΘ
拉斐尔

一般情况下,当您没有相似的大小时,可以使用Akra–Bazzi方法(是主定理的推广),请确保如何将特定函数更改为在该定理中有效的函数,这需要一些技巧,对于合并归类,这就是人们通常用来证明时间复杂度的方法。

Answers:


10

在整个答案中,我们假设T为非负数。只要某单调g的f = Θ g ,我们的证明就起作用。这包括您的Mergesort示例,其中f = Θ n ,以及任何具有多项式增长率(或什至Θ n a log b n )的函数fTf=Θ(g)gf=Θ(n)Θ(nalogbn)

让我们首先考虑是单调非递减的情况(稍后我们将放松此假设)。我们专注于您的样品复发 Ť Ñ = Ť ñ / 2 + Ť ñ / 2 + ˚F Ñ 此重复需要两个基本情况T 0 T 1 。我们假设T 0 f

T(n)=T(n/2)+T(n/2)+f(n).
T(0)T(1),其中,我们还放松以后。T(0)T(1)

我声称是单调非递减的。我们证明通过完整感应该Ť Ñ + 1 Ť Ñ 。这给出了Ñ = 0,所以让Ñ 1。我们有 T n + 1 T(n)T(n+1)T(n)n=0n1 这意味着, Ť2登录2 ÑŤÑŤ2登录2 Ñ 所以如果T2

T(n+1)=T((n+1)/2)+T((n+1)/2)+f(n+1)T(n/2)+T(n/2)+f(n)=T(n).
T(2log2n)T(n)T(2log2n).
,我们就完成了。如果2的幂的解的形式为 T n = Θ n a log b n ),则情况总是如此。T(2m)=Θ(T(2m+1))T(n)=Θ(nalogbn)

现在,让我们放松假设。考虑以完全相同的方式定义的新递归T ',仅T '0 = T '1 = min T 0 T 1 。我们可以通过归纳证明。同样,我们可以定义一个满足的新递归T(0)T(1)TT(0)=T(1)=min(T(0),T(1))T(n)T(n)Tţ Ñ Ť Ñ Ť ' = Θ h T '' = Θ h hT(0)=T(1)=max(T(0),T(1)),然后是。调用Master定理,对于相同的函数,我们看到和,所以也是如此。T(n)T(n)T=Θ(h)T=Θ(h)hT=Θ(h)

现在让我们放宽是单调的假设。假设对于某些单调函数,。因此,对于某些和足够大的。为了简单起见,我们假设;一般情况可以按上一段所述处理。同样,我们通过分别用替换来定义两个递归。再次,母定理将给出相同的结果(最大恒定倍数),这也与我们通过仅以2的幂求解原始递归得到的结果相同(最大恒定倍数)。ff=Θ(g)gcg(n)f(n)Cg(n)c,C>0nn=0T,Tfcg,Cg


1
最终,我们不得不更仔细地阅读了。很好,谢谢!我想我会为以后的读者注意这一点(因为我偶然发现了它):不是一个限制,因为对于超多项式和Master定理不适用于此类。T(2m)Θ(T(2m+1))T
拉斐尔

我试图更详细地写下您的证明,并坚持证明您的最后一句话,“这也与我们仅通过二次方求解原始递归所得到的结果相同。特别是,我们必须证明,对于,和,我们会遇到与Master定理相同的情况。对于案例1和案例2,这没有问题,但对于案例3,我无法证明的存在(参见CLRS中的版本,第3版中的p94)。您是否考虑过这一点,或者是否使用了类似于Wikipedia的版本?f C g c < 1cgfCgc<1
拉斐尔

这是技术性的。如果那么问题就消失了,例如,请参阅users.encs.concordia.ca/~chvatal/notes/master.pdf。函数将自动满足条件。我想对于。或者,仅在而不是上直接声明此条件:必须存在一些满足 “规则”。˚F = Θ Ñ α 登录β Ñ ˚F ˚F = Θ f=Θ(nα)gf=Θ(nαlogβn)gfgf=Θ(g)
Yuval Filmus

好吧,您声称“单调”是一个足够的条件(我相信您),所以我尝试使用它。如果我没记错的话,例如CLRS中给出的Master定理适用于,因此对多对数函数或类似函数的限制不是“技术上的”,而是适当地削弱了结果。顺便提一下,将“规则性”提升为并没有帮助:在关键情况下,我已经通过 /规则性(假设)获得了它。因此,很遗憾,我回到了我以前的评论。如果这真的只是技术问题,我看不到。不平等太多。˚F Ñ 2 Ñç Ç gf:n2ngcgCg
拉斐尔

我仍然认为这是技术性的。您担心的状况是技术状况。对于实践中出现的大多数功能,条件将成立。您正在要求以上证明草图通过的最一般条件。这是一个有趣的问题,我懒得回答。
Yuval Filmus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.