为什么主定理中存在规则性条件?


15

我一直在阅读Cormen等人的算法简介并且我正在阅读从第73页开始的Master定理的陈述。在情况3中,使用定理还需要满足一个正则条件:

... 3.如果

Fñ=Ωñ日志b一种+ε

对于一些恒定,如果ε>0

一种Fñ/bCFñ      [ 这是规律性条件 ]

对于某些常数以及对于所有足够大的,则..ÑC<1ñ

有人可以告诉我为什么需要规律性条件吗?如果不满足条件,定理将如何失败?


您能写出案件是什么情况以及监管条件是什么?

3
我没有确切的答案,但是如果规律性条件不成立,那么子问题越小,花费的时间就越多,因此您将获得无限的复杂性。

我不确定正则条件是否成立定理的结论成立,但我认为所使用的证明是必要的。使用规则性条件,您有一个相当简单的证明,否则,它至少将是多毛的。

Answers:


10

不是严格的证明,而是“从头到顶”的解释。

假设递归是一棵树。第三种情况涉及根节点渐近地支配运行时间的场景,即,大部分工作是在递归树顶部的小节点上完成的。那么运行时间为。Θ f n 一种Ťñ/b+FñΘFñ

为了确保根目录实际上可以完成更多工作,您需要

一种Fñ/bCFñ

这表示(在根中完成的工作量)至少必须与在较低级别中完成的工作之和一样大。(递归在输入的上被调用。)a n / bFñ一种ñ/b

例如,对于递归,在根下方的水平上的功是根的四分之一,并且只进行了两次而不是因此根占主导地位。Ťñ=2Ťñ/4+ññ/4+ñ/4ñ

但是,如果函数不满足规则性条件怎么办?例如而不是?然后,在较低级别完成的工作可能会比在根目录中完成的工作更大,因此您不确定根目录是否占主导地位。cosññ


3
我为您的数学文本使用了更好的格式。您可以单击“编辑”链接,看看我做了什么。
Juho 2012年

7

b = 2,使得 T 2 n= n k = 0 f 2 k 对于情况3应用,我们需要˚F Ñ = Ω Ñ ε(对于某些ε > 0)和正则条件,˚F Ñ / 2 1 - δ ˚F一种=1b=2

Ť2ñ=ķ=0ñF2ķ
Fñ=Ωñϵϵ>0(对于某些 δ > 0)。您可以从证明中获得规则性条件,即,这是证明产生的概念。尽管不需要规则性条件(请考虑Wikipedia上给出的示例, f n = n 2 - cos n ),但不能完全删除它,如以下示例所示。考虑 ˚F 2 Ñ= 2 2 登录2 Ñ > 2 2 日志2 Ñ -Fñ/21-δFñδ>0Fñ=ñ2-cosñÑ=2+1-1。然后 Ť2Ñ=Σ ķ = 0 2 ķ + 1 - 1 Σ= 2 ķ 2 2 ķ =Σ ķ = 0 2 2 ķ +ķ=Θ2 2 +
F2ñ=22日志2ñ>22日志2ñ-1=2ñ/2
ñ=2+1-1 因此 T 2 n= Θ f 2 n是不正确的。
Ť2ñ=ķ=0Ť=2ķ2ķ+1-122ķ=ķ=022ķ+ķ=Θ22+F2ñ=22
Ť2ñ=ΘF2ñ

有一个更通用的定理Akra-Bazzi,其中将规律性条件替换为结果中所含的明确量。


很抱歉恢复这个旧答案。您能否阐明为什么函数f违反规则性条件?
马约

Fñ/2=Fñ
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.