为了证明自己有多能喝,理工科的学生竟做出这种事

全世界有3.14 % 的人已经关注了

数据与算法之美


640?


当酒鬼止不住地说“我没有醉”、“再来一杯”的时候,他基本上已经醉得不行了。此时,他会说出一堆毫无逻辑的话,让旁人听了不知所云。这就是最为常见的酒鬼形象了。


直到某一天,死理性派也被放倒了。为了证明自己没醉,他利用死理性派引以为傲的严密思维,证明了一个逻辑上无懈可击的定理。不过,醉酒之后的死理性派把数理逻辑玩到了走火入魔的境界,却忘记了数学逻辑和生活语言的诸多不符之处。死理性派此时的逻辑虽然毫无漏洞,但在旁人眼中简直是荒谬到了极点。

看上去很假

死理性派证明的定理是:在酒吧里,一定有这样一个人,如果他在喝酒,那么酒吧里的每一个人都在喝酒。

这个定理看似荒谬,但在数学上看是完全正确的。死理性派郑重地给出了证明。在数理逻辑中,“如果 A 则 B”写成表达式就是“A → B”,只要 A 不成立或者 B 成立(任满足其一),整个表达式就是成立的。

在酒吧里,要么所有人都在喝酒,要么至少有一个人没在喝酒。如果所有人都在喝酒,那么不管对谁来说,“如果他在喝酒,那么所有人都在喝酒”这个命题都没有错,因为确实每一个人都在喝酒。如果至少有一个人没在喝酒,对这个没有喝酒的人来说,“如果他在喝酒,那么所有人都在喝酒”也是对的,因为事实上他没在喝酒,并没违反这一句话。无论是哪种情况,我们都能找到一个人,如果他在喝酒,那么酒吧里的每一个人都在喝酒。至此,定理也就证明到了。利用数理逻辑的符号,这个结论可以表示成:

∃x. (D(x)→∀y. D(y))

它总是成立的。这叫“酒鬼悖论”(drinker paradox),是由美国数学家雷蒙德·斯穆里安(Raymond Smullyan)在《这本书叫什么》一书中首次提出的,书上称它为“酒鬼原理”(drinker principle)。

一地逻辑

命题“A → B”中,A 称为前件(antecedent),B 称为后件(consequent)。上面提到过,只有在前件为真并且后件为假的时候,整个命题才是假的。“如果 2 是偶数,那么 2 是奇数”,这句话矛盾得一塌糊涂;但“如果 2 是奇数,那么 2 是偶数”呢?由于前件就不成立,“如果 2 是奇数,那么怎么怎么样”这句话不会有任何反例,因此这句话是对的!

大家或许想问,按此逻辑,无论“如果 2 是奇数,那么______”的空白处填什么,这句话都是对的咯?没错,在数学中,我们可以由一个错误的假设推导出任意命题。随便哪句话前面加上一个不可能成立的条件,整个句子就立刻成为了一个数学定理。要是每个人都这么做了,定理的数量就会爆炸性地增长。在经典逻辑里,有一个词叫做“爆炸原理”(principle of explosion),专门描述这种“矛盾可以推出一切”的缺德做法。

在数学中,接受爆炸原理的逻辑有经典逻辑(classical logic)、直觉主义逻辑(intuitionistic logic)等等。那就是说,还有不接受爆炸原理的逻辑?没错,这种逻辑就是为了消灭爆炸原理而生的。最晚至 1910 年,数学界就已经开始讨论这个问题了。直到 1976 年,秘鲁哲学家奎萨达(Francisco Miró Quesada)才给了这种逻辑一个名字,叫做“次协调逻辑”(paraconsistent logic)。

酒鬼悖论还会带来很多其它有意思的理论。比方说,酒鬼悖论有个加强版叫做“无限酒鬼悖论”(infinite drinker paradox):在无穷多个人里面,一定有这么一个人,如果他在喝酒,那么所有人都在喝酒。这也是一个逻辑上完全正确的定理,证明方法同上。

无限酒鬼悖论的价值就更高了,在无限酒鬼悖论的指引下,证明哥德巴赫猜想(Goldbach’s conjecture)有了一种全新的思路:由酒鬼原理,一定存在一个大于 2 的整数,如果它能够表示为两个素数的和,那么所有数都能表示为两个素数的和。如果试遍所有的素数组合,都不能表示出这个数,那么我们就找到了反例,推翻了哥德巴赫猜想;但若找出了把它分解成两个素数之和的方法,猜想便得证了。证明或推翻哥德巴赫猜想的任务就简化为了找到这样的数。

停,不对。坚持直觉主义逻辑的死理性派跳了出来。

你出来干嘛,你不是也接受爆炸原理吗,回去。

这次和爆炸原理又不一样了,直觉主义死理性派解释到。在经典逻辑中,一个命题和它的否定,至少有一个为真,这叫做“排中律”(law of excluded middle)。但在直觉主义逻辑的体系中,这就不一定了。解析直觉与谎言,推荐阅读《数学思考法》。

如果一个命题可以在有限的步骤里计算出真值,我们就说它是可判定的(decidable)。只有在命题及其否命题都可判定的时候,排中律才生效;而一扯上无限,排中律就不管用了。我们是无法在有限的步骤内判断是否无限个人都在喝酒或者至少有一个人没喝酒的,因而若酒吧中有无穷多个人,之前的定理就有争议了。也就是说,无限酒鬼悖论在传统逻辑中也是成立的,但在直觉主义逻辑中则是不可接受的。

说了这么多,死理性派的酒也醒了。他终于从自己的世界中走了出来,又重新开始说人话了。有趣的是,死理性派自己也觉得,周围人讲话都有逻辑多了 。

版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请留言联系删除,感谢合作。

640?wx_fmt=png精品课程推荐:

640?wx_fmt=png

640?wx_fmt=png

选购数学科普正版读物

严选“数学思维好物”

送给孩子的益智礼物   |   办公室神器

算法工程师成长阅读   |   居家高科技

理工科男女实用型礼物精选   

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg


数据与算法之美

用数据解决不可能


640?wx_fmt=jpeg

长按扫码关注


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302749.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

65 + iPhone应用程序网站创意设计灵感(上篇)

这里是一个巨大的艺术创作的iPhone APP网站设计的灵感收集。这些网站设计,特殊的配色方案,详细的图标和高品质的图形使用,如此精彩。希望能给你带来灵感。 Analog App Courier App Thermo App Faces Ecoki Motionoto Barista Moneybook App L…

php程序员跟java一样吗,【后端开辟】php程序员能够转java吗?

php顺序员可以转java吗?可以。关于专业顺序员来讲,在差别的开辟场景下采纳差别的编程言语是比较罕见的事变,所以许多顺序员在事情一段时候以后都邑控制多种差别的编程言语,比方不少Web顺序员都邑同时控制Java、PHP、C#等编程言语。…

你管这叫线程安全?

来来来,面试八股文?今天我们从什么叫"线程安全"聊起?文末"边吃边聊"。今日份的干粮:1.什么叫线程安全?2.线程安全与变量的关系?•变量又与堆/栈/静态存储区有密切关系什么叫线程安全&a…

经济学家告诉你,胸越大的女生越会花钱!

全世界有3.14 % 的人已经关注了数据与算法之美大概两周前回加拿大的航班上,我在机舱尾部跟一位空姐聊了很久。当空姐小妹双眼向下一瞥,略微停顿之后问我“班组要在这里呆四天,不知道该干什么去”的时候,我认认真真的为自己叹了口气…

讲100个科学道理,不如做这些有趣的理科实验!

玩具和学习看似是两个对立的东西,孩子天性爱玩,家长却希望孩子能多学习。不一定非要啃课本才能汲取知识,有时候,在轻松有趣的游戏中也能学到课堂上学不到的知识。让学习变得有趣、高效——给孩子讲100个科学道理,不如带…

《权力》读书笔记

1 为什么权力只为某些人所拥有我们生活在一个充满等级制度的世界里,等级的存在就意味着竞争,而且越往上,职位就越少,竞争也就越激烈。只有了解权力的原则,并愿意运用它们的人,才可以参与这样的竞争&#xf…

$_GET,$_post与$_REQUEST

PHP $_GET $_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。 PHP $_POST $_POST 变量用于收集来自 method"post" 的表单中的值。 $_POST 变量 $_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。 $_POST 变…

嘘!偷偷教你们一个在双十一省钱的办法!

各位小可爱,大可爱,大家晚上好~一年一度的双11即将到来!!!小木冒着被砍头的风险为大家争取了好多好多福利绝对比平时更优惠更省钱哦!!!活动时间:10月27日-11月11日&#…

ML.NET 示例:图像分类模型训练-首选API(基于原生TensorFlow迁移学习)

ML.NET 版本API 类型状态应用程序类型数据类型场景机器学习任务算法Microsoft.ML 1.5.0动态API最新控制台应用程序和Web应用程序图片文件图像分类基于迁移学习的TensorFlow模型再训练进行图像分类DNN架构:ResNet、InceptionV3、MobileNet等问题图像分类是深度学习学…

php gd库 函数 建立gif,PHP_PHP GD库生成图像的几个函数总结,使用GD库中提供的函数动态绘 - phpStudy...

PHP GD库生成图像的几个函数总结使用GD库中提供的函数动态绘制完成图像以后,就需要输出到浏览器或者将图像保存起来。在PHP中,可以将动态绘制完成的画布,直接生成GIF、JPEG、PNG和WBMP四种图像格式。可以通过调用下面四个函数生成这些格式的图…

HDU 1964 Pipes

HDU_1964 这个题目只需要把求回路数量的dp方程改写成取最优解的dp方程即可。 更多和插头dp相关的题目可以参考胡浩的博客&#xff1a;http://www.notonlysuccess.com/index.php/plug-dp-complete/。 #include<stdio.h> #include<string.h> #define MAXD 15 #define…

算法证明:女生遇到心动的男人一定要追!

全世界有3.14 % 的人已经关注了数据与算法之美我来讲恋爱中的博弈&#xff0c;不&#xff0c;我来讲恋爱中的算法&#xff0c;不&#xff0c;我来讲算法&#xff01;&#xff01;有个著名的问题&#xff0c;叫做 stable matching。早年是一个可爱的俄罗斯老头在图论课上教我的&…

php文字左右滚动代码,JavaScript

js文字横向滚动特效本文为大家分享了js文字横向滚动特效代码&#xff0c;具体实现内容如下&#xff1a;页面布局恭喜793765***获得 50元巨人点卡奖励恭喜793765***获得 50元巨人点卡奖励恭喜793765***获得 50元巨人点卡奖励恭喜793765***获得 50元巨人点卡奖励恭喜793765***获得…

记一次 .NET 某教育系统 异常崩溃分析

一&#xff1a;背景 1. 讲故事这篇文章起源于 搬砖队大佬 的精彩文章 WinDBg定位asp.net mvc项目异常崩溃源码位置 &#xff0c;写的非常好&#xff0c;不过美中不足的是通览全文之后&#xff0c;总觉得有那么一点不过瘾&#xff0c;就是没有把当时抛异常前的参数给找出来。。。…

Json.Net系列教程 3.Json.Net序列化和反序列化设置

上节补充首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一个DataTable对象,如下: DataTable dt new DataTable();DataColumn dcName new DataColumn("Name");DataColu…

5道谷歌面试题:即使是天才也要怀疑自己能力了(附答案)

全世界只有3.14 % 的人关注了数据与算法之美谷歌&#xff0c;美国的跨国科技企业&#xff0c;致力于互联网搜索、云计算、广告技术等领域&#xff0c;开发并提供大量基于互联网的产品与服务。这样一家实力雄厚前景无量的公司是众多求职者梦寐以求的地方&#xff0c;然而&#x…

红玫瑰数java的意思,红玫瑰的含义,玫瑰花个数的含义

导航&#xff1a;网站首页 >红玫瑰的含义,玫瑰花个数的含义时间&#xff1a;2018-2-27相关问题:匿名网友:1朵玫瑰代表——我的心中只有你ONLY YOU&#xff01;2朵玫瑰代表——这世界只有我俩&#xff01;3朵玫瑰代表——我爱你I LOVE YOU&#xff01;4朵玫瑰代表——至死不渝…

(装载)C#中AppDomain.CurrentDomain.BaseDirectory与Application.StartupPath的区别

// 获取程序的基目录。System.AppDomain.CurrentDomain.BaseDirectory // 获取模块的完整路径。System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName // 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。System.Environment.CurrentDirectory // 获…

[Abp vNext 源码分析] - 18. 单元测试

简介ABP vNext 框架使用 xUnit 作为单元测试组件&#xff0c;官方的所有模块都编写了大量的 单元/集成测试 确保功能正常。由于 ABP vNext 模块化系统的原因&#xff0c;开发人员在建立单元测试项目的时候需要集成 Volo.Abp.UnitTest 项目&#xff0c;这样在执行单元测试的时候…

php表格单元格怎么实现排序,javascript实现对表格元素进行排序操作

我们在上网中都能看到很多能够排序的&#xff0c;如大小、时间、价格等现在我们也试一下排序功能&#xff1a;排序的函数代码&#xff1a;里面含有点击之后排序--还原&#xff0c;和排升序和降序。function sortAge(){//对年龄进行排序&#xff0c;要先进行获得每一行对象&…