码迷,mamicode.com
首页 > 其他好文 > 详细

一个简单有趣的证明题

时间:2015-09-13 15:57:21      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

  最近上算法课,老师讲了一个有趣的证明题。

  平面上一个有n个点的有限点集A。具有如下性质:任意两个点x,y所决定的直线上都能找到第三个点z。试证明A中的所有点在同一直线上。

  对于证明题来说,最常用而系统的方法无非就两种:归纳法和反证法。其他的诸如综合法和分析法都与具体问题关系较大。如果解决证明题一时没有思路,这两种方法将是不错的选择。下面将尝试用这两种方法解决这个题目。

一,归纳法。

  相信学过高中数学的人,没有人不知道这个大名鼎鼎,而又简单有效的证明方法。这里就不再赘述。下面给出一个证明过程。

  (1)当|A|≤4时,显然是成立的;(|A|表示集合中点的数量)

  (2)假设当|A|=k时,有上述结论成立,即所有点在同一直线上;

  (3)那么只需要证明当|A|=k+1时,该结论也成立;

      取A的子集A’,|A‘|=k,令剩下的一个点为x。根据(2)有,A‘中所有点在同一直线上。取A‘中点y,那么直线xy上必然存在另外一点z。而根据A‘定 义,z只能在A‘中。由于两点决定一条直线,所以A中所有点在同一直线上。

 

  这个看似完美的证明有没有问题呢?楼主刚开始也没反应过来。其实这个过程有个很大的BUG。现在我们看看问题出在哪里。

  大家都知道,第三步的归纳过程需要用到第二步的假设,这也是数学归纳法最难的一部分。这里,我们假设|A|=k时,所有点在同一直线上。于是不加思索地直接把结论用到了第三步。我们忽略了题目的假设条件:任意两个点x,y所决定的直线上都能找到第三个点z。我们把第二步写完整应该是:当|A|=k时,如果A中任意两个点x,y所决定的直线上都能找到第三个点z,那么所有点在同一直线上。现在问题显而易见了,A满足这个性质,不代表A‘满足这个性质,只有先证明A‘也具有该性质上述证明才是成立的。虽然对于|A|≥4来说,我们能猜到那是正确的,但是证明它却很不容易。

  接下来,我们试试反证法来证明。

二,反证法。

  实际上,看到这个题目,很多人都会想到反证法。因为这是证明一个“所有”的问题。那么,具体又该如何做呢?

  首先,我们假设A中的点不在同一条直线上。那么对于A中的某直线L,存在点d不再该直线上。根据A满足的性质,必然有三个点在L上,假设为a、b、c。

技术分享

  我们先来证明一个性质。

  过d点,作垂线到L。显然,a、b、c中必有两点在同一侧,假设为a和b。那么,如图所示,有distance(d,L)>distance(b,Lad)。即,假如存在某点不在直线L上,我们总能找到另外一点,使得该点到另一条直线的垂直距离小于某点到直线L的垂直距离。

  有了这个性质,证明基本已经完成了。由于A是一个有限点集,而且不是所有点都在一条直线上(假设)。那么显然,点到直线的距离必然存在着一个非0最小值,即存在某点和某直线使得点到直线的距离最短。这与上面的性质显然是矛盾的。因为我们一定能找到另一个更小的非0值。

  证毕。

 

  

一个简单有趣的证明题

标签:

原文地址:http://www.cnblogs.com/ccf-fly/p/4805020.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!