Performance 我如何通过归纳法证明这两种算法中的第二种更快?
我有两种算法Performance 我如何通过归纳法证明这两种算法中的第二种更快?,performance,algorithm,proof,induction,Performance,Algorithm,Proof,Induction,我有两种算法 A. Solves problem in 2^n seconds. B. Solves problem in n^2 + 1,000,000 seconds. 我怎样才能归纳地证明B比A快 我被告知n>2的2^n>2n+1可能对这个问题有用。我一直在绞尽脑汁,解决不了这个问题。谢谢 “n”相当于程序的大小 编辑:用于所有n>19。 解决方案: 前提:n^2+100000019.9321时才会更快。如果你不需要实际的工作,那就是我得到答案的地方 对于任何小于19.9321的数字,
A. Solves problem in 2^n seconds.
B. Solves problem in n^2 + 1,000,000 seconds.
我怎样才能归纳地证明B比A快
我被告知n>2的2^n>2n+1可能对这个问题有用。我一直在绞尽脑汁,解决不了这个问题。谢谢
“n”相当于程序的大小
编辑:用于所有n>19。
解决方案:
前提:n^2+1000000<2^n
依据:n=20
1000400<1048576正确 归纳法:
(n+1)^2 + 1000000 > 2^(n+1)
n^2 +2n +1 +1000000 > 2^(n+1)
Apply 2^n > 2n + 1
n^2 + 1000000 > 2^(n+1)
最后一行表示B总是大于A。B只有在n>19.9321时才会更快。如果你不需要实际的工作,那就是我得到答案的地方
对于小于19.9321的任何数字,则A将更快。B仅当n>19.9321时才会更快。如果你不需要实际的工作,那就是我得到答案的地方
对于任何小于19.9321的数字,A将更快。Python作为计算器:
>>> n = 20
>>>
>>> 2**n
1048576
>>> n**2 + 1000000
1000400
>>>
Python作为计算器:
>>> n = 20
>>>
>>> 2**n
1048576
>>> n**2 + 1000000
1000400
>>>
正如你所说,基本情况已得到证实。 ie
k^2=5
对于归纳法,让我们假设
k^2<2^k
啊,我感觉我快到了。有什么帮助吗?正如你所说,基本情况已经证明。 ie
k^2=5
对于归纳法,让我们假设
k^2<2^k
啊,我感觉我快到了。有什么帮助吗?我不知道如何使用归纳法,但我认为这可能会有帮助: 注意,首先,对数是一个单调递增的函数。 所以 当a>b(i)时,日志(a)>log(b) 注意log(n^2)>log(n^2+1000000)(ii) 此外,log(n^2)=2log(n) 显然,对于大n,nlog2>2 logn, 所以 所以, 日志(2^n)>日志(n^2)>日志(n^2+1000 000)来自(ii) 所以,
log(2^n) > log(n^2 + 1 000 000)
再次从(i)开始
你觉得怎么样?我不知道如何使用归纳法,但我认为这可能会有帮助: 注意,首先,对数是一个单调递增的函数。 所以 当a>b(i)时,日志(a)>log(b) 注意log(n^2)>log(n^2+1000000)(ii) 此外,log(n^2)=2log(n) 显然,对于大n,nlog2>2 logn, 所以 所以, 日志(2^n)>日志(n^2)>日志(n^2+1000 000)来自(ii) 所以,
log(2^n) > log(n^2 + 1 000 000)
再次从(i)开始
你觉得怎么样?是的,n是程序的大小。所以从小到大。区分3次。抱歉,所有的n>19。这更像是一个数学问题,而不是编程…这是算法分析。O(2^n)>O(n^2)——指数vs.几何。是的,n是程序的大小。所以从小到大。区分3次。抱歉,所有的n>19。这更像是一个数学问题,而不是编程…这是算法分析。O(2^n)>O(n^2)——指数vs.几何。然而,在这种情况下,
n
几乎肯定是一个整数。我试图理解的是如何通过归纳法证明B更快,在这种情况下,n
几乎肯定是一个整数。我试图理解的是如何通过归纳法
证明B更快。归纳法包括在移动到k,k+1之前证明初始值。答案中不包括这一点。是的,通常为1证明,为k假设,为k+1推断。当语句对所有自然数都有效时,MI起作用。因此,应用2^n>n^2的逻辑是行不通的!基数为n=20。导入步骤是最难的部分。你介意添加中间步骤吗(包括当你使用归纳假设时)?为什么基本情况n=20,做一些心理计算,我可以看到k^2=5,因为它是n^2+1000000。B仅在n>19时更快。归纳法包括在移动到k,k+1之前证明初始值。答案中不包括这一点。是的,通常为1证明,为k假设,为k+1推断。当语句对所有自然数都有效时,MI起作用。因此,应用2^n>n^2的逻辑是行不通的!基数为n=20。导入步骤是最难的部分。你介意添加中间步骤吗(包括当你使用归纳假设时)?为什么基本情况n=20,做一些心理计算,我可以看到k^2=5,因为它是n^2+1000000。B仅在n>19时更快。
2^n > n^2 + 1 000 000