【问题标题】:Can someone explain Mathematical Induction (to prove a recursive method)有人可以解释数学归纳法(证明递归方法)
【发布时间】:2010-10-26 08:51:24
【问题描述】:

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

【问题讨论】:

  • 你看过 en.wikipedia.org/wiki/Mathematical_induction/... 吗?它有一些说明性的例子。
  • 我没有看到,但它看起来可能会有所帮助。谢谢!

标签: math recursion


【解决方案1】:

首先,您需要一个基本案例。然后,您需要一个适用于某个步骤 n 的归纳步骤。在你的归纳步骤中,你需要一个归纳假设。该假设是您需要做出的假设。最后,使用该假设证明步骤 n+1

【讨论】:

    【解决方案2】:

    下面是一个例子的解释:

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

    sum(i | i <- [1, n]) = n * (n + 1) / 2
    

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

    我们将从证明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)
    

    1n + 1之间的所有整数之和等于1n之间的整数之和加上最后一项n + 1

    由于我们的证明是基于公式对n 成立的,所以我们可以写成:

    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 的所有整数值都是正确的。

    【讨论】:

      【解决方案3】:

      归纳!=计算!!!

      我可以让 N 个人喝 10*N 杯啤酒。

      基本情况:1 个人

      我可以用 10 瓶啤酒让一个人喝醉

      归纳步骤,给定 p(n) 证明 p(n + 1)

      我可以喝 10 * i 杯啤酒让我喝醉,如果我添加另一个人,我可以再喝 10 杯啤酒让他喝醉。因此,我可以让 i + 1 个人喝 10 * (i + 1) 杯啤酒。

      p(1) -> p(i + 1) -> p(i + 2) ... p(inf)

      离散数学很容易!

      【讨论】:

      • +999 以喝醉的人为例。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      相关资源
      最近更新 更多