有人能解释一下数学归纳法来证明递归方法吗?我是一名计算机科学专业的大一学生,我还没有上过微积分(我已经上过Trig了)。我有点理解它,但是当我被要求写一个递归方法的归纳证明时,我遇到了麻烦。
发布于 2009-05-15 00:18:10
以下是示例的解释:
假设您有以下要证明的公式:
sum(i | i <- [1, n]) = n * (n + 1) / 2
此公式为1
和n
之间的所有整数的和提供了一种封闭形式。
我们将从证明n = 1
的简单基本情况的公式开始。在这种情况下,公式的两端都简化为1
。这反过来意味着该公式适用于n = 1
。
接下来,我们将证明,如果该公式对一个值n
成立,那么它对n
(或n + 1
)的下一个值也成立。换句话说,如果以下情况属实:
sum(i | i <- [1, n]) = n * (n + 1) / 2
那么下面的情况也是正确的:
sum(i | i <- [1, n + 1]) = (n + 1) * (n + 2) / 2
为此,让我们从最后一个公式的第一个方面开始:
s1 = sum(i | i <- [1, n + 1]) = sum(i | i <- [1, n]) + (n + 1)
也就是说,1
和n + 1
之间的所有整数之和等于1
和n
之间的整数之和,加上最后一项n + 1
。
由于我们的证明基于公式对n
成立的条件,因此我们可以这样写:
s1 = n * (n + 1) / 2 + (n + 1) = (n + 1) * (n + 2) / 2 = s2
正如你所看到的,我们已经到达了我们试图证明的公式的第二个方面,这意味着这个公式确实成立。
这就完成了归纳证明,但它实际上意味着什么呢?
n
是正确的,那么它对于n + 1
.也是正确的。
从1和2,我们可以说:如果公式对于n= 0是正确的,那么它对于0 + 1 = 1
也是正确的。既然我们证明了n = 0
的情况,那么n = 1
的情况确实是正确的。
我们可以再次重复上述过程。n = 1
的大小写是正确的,那么n = 2
的大小写也是正确的。这个推理可以无限地进行;该公式对于n >= 1的所有整数值都是正确的。
发布于 2009-05-15 06:41:08
归纳!=计算!
我可以用10*N瓶啤酒把N个人灌醉。
基本情况:1人
我可以用10瓶啤酒把一个人灌醉
给定p(n)证明p(n + 1)的归纳步骤
我可以用10瓶啤酒把我的人灌醉,如果我再加一个人,我可以再用10瓶啤酒把他灌醉。因此,我可以用10 * (i + 1)瓶啤酒让i+1个人喝醉。
p(1) -> p(i + 1) -> p(i + 2) ...p(inf)
离散数学很简单!
发布于 2009-05-14 23:52:15
首先,你需要一个基础案例。然后你需要一个对某个步骤n成立的归纳步骤,在你的归纳步骤中,你需要一个归纳假设。这个假设就是你需要做的假设。最后,使用该假设来证明步骤n+1
https://stackoverflow.com/questions/866407
复制相似问题