数学归纳法:
通常用于证明某个给定命题在整个(或者局部)自然数范围内成立。它对解题步骤有严格要求:
- 证明n=1时成立
- 假设n=k时命题成立,然后以验证的条件和假设的条件作为论证的依据进行推导,在接下来的推导过程中不能直接将n=k+1代入假设的原式中去
- 总结表述
强归纳法:
是数学归纳法的一种变形,证明过程:
- 证明n=1时成立
- 对每一个n(n>1), 若对任意小于n的自然数P成立能推出对n命题P也成立,那么对任意自然数P都成立
强归纳法与普通归纳法的区别在于它们的归纳假设不同,在证明对n命题成立时需要假设命题对任意小于n的自然数命题都成立
数学归纳法的一种简单变形:
如果对于带有参数n的命题P,当n=1和n=2时P都成立,并且如果对每一个n(n>2),若n-2时P成立能推出n时P也成立,那么对任意自然数,P成立 。推导过程将沿着两条平行路线进行归纳
- n=1 作为归纳基础,通过归纳能得到命题在任意奇数时成立
- n=2 作为归纳基础,通过归纳能得到命题在任意偶数时成立
数学归纳法的另一种变形:
如果对于带有参数n的命题P,当n=1时P成立; 并且如果对每一个n(n>1且为2的整数幂),若n/2时命题P成立能推出对n命题P也成立; 那么对任意一个2的整数幂的自然数,P都成立。这个变形把最初归纳法原理中的参数n写成2^k (2的k次幂),然后对参数k(从k=0开始)进行归纳
概括
数学归纳法可用于各种不同的场合,证明的命题不仅可以是数的性质,也可以是结构的性质,大多数情况下我们可对衡量问题规模的n进行归纳,但有时候归纳的量度并不是显而易见的,在没有现成的可以用来衡量问题规模的参数时,为了使用归纳法,我们必须构造出一个,而常用的思路就是考虑如何把命题从小的结构扩展到大的结构基于归纳的算法设计类似于数学归纳法,不需要以东拼西凑的方式来设计问题求解过程,只要保证以下两点就够了:
- it is possible to solve a small instance of the problem(the base case)
- a solution to every problem can be constructed from solution of smaller problems(the inductive step)。
- 这个原理首先要把问题简化成一个更小或者一组更小的问题, 关键是要找到一种最优方法来简化问题,然后将较小规模问题的解扩展到大规模的问题
如果说一个归纳假设(即smaller problem)更容易扩展,那么意味着从从smaller的问题更容易推导bigger问题的答案。 所以要找到容易扩展的假设