博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个简单有趣的证明题
阅读量:5360 次
发布时间:2019-06-15

本文共 1293 字,大约阅读时间需要 4 分钟。

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

  平面上一个有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值。

  证毕。

 

  

转载于:https://www.cnblogs.com/ccf-fly/p/4805020.html

你可能感兴趣的文章
leetcode-Generate Parentheses-22
查看>>
ireport设置textfield的自动伸缩
查看>>
单独编译Android系统模块并替换进系统
查看>>
android uri用法
查看>>
git clone时加上--depth 1
查看>>
正则匹配中文
查看>>
引入腾讯视频播放,可控制是否暂停播放
查看>>
获取上个月第一天及最后一天.
查看>>
删除以....开头的所有文件
查看>>
Linux查找含有特定字符串的文件
查看>>
backup - 4
查看>>
nginx 反向代理 与 Apache backend的配置联合配置
查看>>
JavaWeb开发之JDBC事务
查看>>
0、Cocos2d-x 在Windows7环境下的安装(2.1.5)
查看>>
博客系统
查看>>
CentOS 6.5下Git服务器搭建
查看>>
关于我
查看>>
[吐槽]webpack4
查看>>
hibernate 配置Set排序
查看>>
js input输入框的总结
查看>>