在前述章节中,我们思考了如何解决大规模问题。计算机的发展日新月异,以致有人认为什么难题都能用计算机来解决然后事实并未如此,因为还有一些"不可解问题"

  本章首先介绍基础知识"反证法"和"可数"的概念。然后,向大家展示"不可解问题"。最后,以"停机问题"为例,具体地讲解不可解问题。

  1,反证法

  首先要介绍的是被称为"反证法"的论证方法。反证法会频繁地出现在本章内容之中,所以请仔细阅读这部分。

  (1),什么是反证法?所谓反证法,就是以下的论证方法。

    1),首先,假设"命题的否定形式"成立。

    2),根据假设进行论证,推导出矛盾的结果。

  一言以蔽之,反证法就是"先假设命题的否定形式成立,然后再进行推理,引出矛盾"的论证方法。因其最后退出荒缪的结果,所以有时也被称为归缪法

  反证法并不是直接证明命题,所以理解上会稍有难度。下面就先来看一个非常简单的反证法的例子。

    思考题:

      为什么不存在"最大的整数"?

    思考题答案:

      用反证法证明不存在最大的整数。

      假设存在"最大的整数",并将它设为M。

      那么M+1就比M大。这与M是最大的整数的假设相矛盾。

      因此,不存在"最大的整数"。

  回顾:通过论证我们马上就知道不存在"最大的整数",这就是使用反证法进行思考的例子。

  请注意反证法证明的过程:先假设命题的否定形式成立,然后再进行推理,引出矛盾。

  2,反证法的注意事项

  反证法从"要证明的命题的否定形式"触发,即必须先假设错误的假设成立。但是,到引出矛盾结论为止的论证过程本身必须正确。之所以这么说是因为如果中途的论证出现错误,就不能得出"因为最初的假设错误,所以产生矛盾"的结论。

  从错误的假设出发,还要想着推翻这个假设并进行正确的论证,这确实不太容易呀。

  3,什么是不可解问题?(原则上不能用程序来解决的问题。难以实现的问题!)

  

  (1),停机问题---不可解的问题

  

  ---停机问题,就是"某程序在给定数据下,是否会在有限时间内结束运行"的问题,因为不能事先判断,不能未卜先知,所以这就是不可解的问题。就好像球员射门,你问他是否能射进 一样?他自己都不能确定是否打进这个球。

  

  (2),不可解的问题有很多。

  

  (3),无论计算机如何发展,都存在本质上无法解决的问题。

  

 

posted on 2014-05-06 12:42  学到老死  阅读(868)  评论(0)    收藏  举报