首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有人能解释一下数学归纳法(证明递归方法)吗?

有人能解释一下数学归纳法(证明递归方法)吗?
EN

Stack Overflow用户
提问于 2009-05-14 23:38:10
回答 3查看 5.4K关注 0票数 8

有人能解释一下数学归纳法来证明递归方法吗?我是一名计算机科学专业的大一学生,我还没有上过微积分(我已经上过Trig了)。我有点理解它,但是当我被要求写一个递归方法的归纳证明时,我遇到了麻烦。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-05-15 00:18:10

以下是示例的解释:

假设您有以下要证明的公式:

代码语言:javascript
运行
复制
sum(i | i <- [1, n]) = n * (n + 1) / 2

此公式为1n之间的所有整数的和提供了一种封闭形式。

我们将从证明n = 1的简单基本情况的公式开始。在这种情况下,公式的两端都简化为1。这反过来意味着该公式适用于n = 1

接下来,我们将证明,如果该公式对一个值n成立,那么它对n (或n + 1)的下一个值也成立。换句话说,如果以下情况属实:

代码语言:javascript
运行
复制
sum(i | i <- [1, n]) = n * (n + 1) / 2

那么下面的情况也是正确的:

代码语言:javascript
运行
复制
sum(i | i <- [1, n + 1]) = (n + 1) * (n + 2) / 2

为此,让我们从最后一个公式的第一个方面开始:

代码语言:javascript
运行
复制
s1 = sum(i | i <- [1, n + 1]) = sum(i | i <- [1, n]) + (n + 1)

也就是说,1n + 1之间的所有整数之和等于1n之间的整数之和,加上最后一项n + 1

由于我们的证明基于公式对n成立的条件,因此我们可以这样写:

代码语言:javascript
运行
复制
s1 = n * (n + 1) / 2 + (n + 1) = (n + 1) * (n + 2) / 2 = s2

正如你所看到的,我们已经到达了我们试图证明的公式的第二个方面,这意味着这个公式确实成立。

这就完成了归纳证明,但它实际上意味着什么呢?

  1. 公式对于n=0是正确的。
  2. 如果公式对于n是正确的,那么它对于n + 1.

也是正确的。

从1和2,我们可以说:如果公式对于n= 0是正确的,那么它对于0 + 1 = 1也是正确的。既然我们证明了n = 0的情况,那么n = 1的情况确实是正确的。

我们可以再次重复上述过程。n = 1的大小写是正确的,那么n = 2的大小写也是正确的。这个推理可以无限地进行;该公式对于n >= 1的所有整数值都是正确的。

票数 10
EN

Stack Overflow用户

发布于 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)

离散数学很简单!

票数 9
EN

Stack Overflow用户

发布于 2009-05-14 23:52:15

首先,你需要一个基础案例。然后你需要一个对某个步骤n成立的归纳步骤,在你的归纳步骤中,你需要一个归纳假设。这个假设就是你需要做的假设。最后,使用该假设来证明步骤n+1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/866407

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档