首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >烧脑难题:诡异的世界9大悖论

烧脑难题:诡异的世界9大悖论

作者头像
IT阅读排行榜
发布于 2019-01-23 07:46:59
发布于 2019-01-23 07:46:59
2.6K0
举报
文章被收录于专栏:华章科技华章科技

导读:什么是悖论?

日本波岩书店《数学百科辞典》关于悖论辞条是这样说的:能够导出与一般判断相反的结论,而要推翻它又很难给出正当的根据时,这种论证称为悖论。

特别是,如果一个命题及其否定均可用逻辑上等效的推理加以证明,而其推导又无法明确指出错误时,这种矛盾,便称为悖论。

即是说,所谓悖论,是指这样一个命题A,由A出发,可以推出一个命题B,但从这个命题B,却会出现如下自相矛盾的现象:若B为真,则推出B为假;若B为假,又会推出B为真。

来源:《数学美拾趣》

01 悖论的三种主要形式

(1)一个论断看起来好像肯定错了,但实际上却是对的(佯谬);

(2)一个论断看起来好像肯定是对的,但实际上却错了(似是而非的理论);

(3)一系列推理看起来好像无懈可击,可是却导出了逻辑上的自相矛盾。

02 悖论存在的意义

悖论是一个涉及数学、哲学、逻辑学、语义学等非常广泛的论题,是一种现时的科学理论体系所解释不了的矛盾。正因为如此,悖论在“荒诞”中蕴涵着哲理,可以给人以启迪,给人以奇异的美感。

沿着它所指引的推理思路,可以使您走上一条繁花似锦的羊肠小道,而又使用您在不知不觉中陷入自相矛盾的泥潭。但经过破译,将会使您感到回味无穷,并且能从中启发思维,提高能力。

逻辑学家赫兹贝格说:

悖论之所以具有重大意,是由于它能使我们看到对于某些根本概念的理解存在多大的局限,……事实证明,它是产生逻辑和语言中新概念的重要源泉。

03 悖论举例

1. 上帝全能悖论

甲说:“上帝是全能的。”乙说:“全能就是世界上任何事都能办到。请问:上帝能创造出一个对手来击败他自己吗?”如果说能,则上帝可以被对手击败,并非全能的;如果说不能,则说明上帝并非是全能的。

2. 唐·吉诃德悖论

著名小说《唐·吉诃德》里描写了一个残酷的国王,在他所能统治的国家里有一条法律:每个旅游者都要回答一个问题:“您来这里干什么?”如果回答对了,一切事情都好办;如果回答错了,立刻被绞死。

某天,有个旅游者来到这个国家,回答上述问题时他答道:“我是来被绞死的。”如果旅游者回答是对的,按照法律,他就不应该被绞死;如果旅游者回答是错的,按照法律应被绞死,而他的“我是来被绞死的。”这句话显然又是回答对了,也不应该被绞死。最后,国王无可奈何,只得对旅游者放行。

3. 撒谎者悖论

这是古老、最重要的语义学悖论之一。这个悖论依欧几里得的叙述形式可以通俗表示为:“我现在所说的这句话是假话。”此话到底是真是假?如果此话为真,则“我现在所说的这句话是假话”为假了;如果此话为假,则“我现在所说的这句话是假话”为真了。

4. 理发师悖论

这是罗素集合悖论的一种通俗说法:萨维尔村里的一名理发师,给自己立了一条店规:“只给自己不给自己刮脸的人刮脸。”那么这位理发师的脸该不该由自己刮呢?

如果理发师的脸由他自己刮,则他属于“自己给自己刮脸的人”,因此,理发师不应该给自己刮脸;如果理发师的脸不由自己刮,则他属于“自己不给自己刮脸的人”,因此,他的脸可由自己刮,显然又与上述“自己不给自己刮脸的人”相矛盾。

5. 价值悖论

价值悖论(钻石与水悖论)首次由约翰·劳提出,其认为钻石对生命来说是不重要的,所以人们应该认为它的价值比水低。后来亚当·斯密试图说明价值决定因素时借用了这个例子,只不过亚当·斯密没有致谢。此一理论在中国台湾教科书中常被称作,钻石与水的矛盾。

众所周知,钻石对于人类维持生存没有任何价值,然而其市场价值非常高。相反,水是人类生存的必需品,其市场价值却非常低。这种强烈的反差就构成了这个悖论。

为什么会有这样的现象呢?若不考虑市场上的其他因素,沙漠地区的水比钻石贵,或者是需求面的因素。

就供给面来说,水的数量非常大,且几乎随处可见(如果不考虑荒漠干旱地区,地球上几乎处处都有水,包含大气层中的水汽);而钻石呢,是蕴藏在地表底下,且必须经过时间与适当的条件产生(如果不考虑人工钻石而单纯考虑自然钻石),供给非常的少,因此水供给大,而钻石供给少,故会产生这样的现象。

6. 祖父悖论

祖父悖论又称为“外祖母悖论”是一种时间旅行的悖论,科幻故事中常见的主题。最先由法国科幻小说作家赫内·巴赫札维勒(René Barjavel)在他1943年的小说《不小心的旅游者》(Le Voyageur Imprudent)中提出。情景如下:

假设你回到过去,在自己父亲出生前把自己的祖父母杀死;因为你祖父母死了,就不会有你的父亲;没有了你的父亲,你就不会出生;你没出生,就没有人会把你祖父母杀死;若是没有人把你的祖父母杀死,你就会存在并回到过去且把你的祖父母杀死,于是矛盾出现了。

7. 特修斯之船悖论

特修斯之船(又译为忒修斯之船)亦称为忒修斯悖论,是一种同一性的悖论。

假定某物体的构成要素被置换后,但它依旧是原来的物体吗?

公元1世纪的时候普鲁塔克提出一个问题:如果忒修斯的船上的木头被逐渐替换,直到所有的木头都不是原来的木头,那这艘船还是原来的那艘船吗?因此这类问题现在被称作"忒修斯之船"的问题。有些哲学家认为是同一物体,有些哲学家认为不是。在普鲁塔克之前,赫拉克利特、苏格拉底、柏拉图都曾经讨论过相似的问题。近代霍布斯和洛克也讨论过该问题。这个问题的有许多变种,如"祖父的斧头"。

8. 电梯悖论

在一幢摩天大楼里,有一架电梯是由电脑控制运行的,它每层楼都停,且停留的时间都相同。

然而,办公室靠近顶层的王先生说:“每当我要下楼的时候,都要等很久。停下的电梯总是要上楼,很少有下楼的。真奇怪!”

李小姐对电梯也很不满意,她在接近底层的办公室上班,每天中午都要到顶楼的餐厅吃饭。她说:“不论我什么时候要上楼,停下来的电梯总是要下楼,很少有上楼的。真让人烦死了!”

这究竟是怎么回事?电梯明明在每层停留的时间都相同,可为什么会让接近顶楼和底层的人等得不耐烦?

9. 黄油猫悖论

黄油猫悖论(英文:Buttered cat paradox),是把两种民间常识组合而成的恶搞悖论,该常识为:

(1) 猫在半空中跳下,永远用脚着陆。

(2) 把黄油吐司抛到半空中,吐司永远在涂上‎黄油的一面落地。

这个悖论出在,你把黄油吐司没有涂上黄油的一面黏着猫的背部之时。依照以上两条定律,猫无法用脚着陆,因为黄油吐司永远在涂上黄油的一面落地;但同样的,黄油吐司涂上黄油的一面无法落地,因为猫永远用脚着陆。

04 认识的挑战

数学史上的三次数学危机,是由三次数学悖论的出现所引起的。1979年美国杰罗姆·马立兹认为几十年来,“悖论至今没有得到圆满的答案”。哥德尔甚至指出“悖论不解决,会使形式逻辑破产”。其实悖论的出现,并非使人类思维的错误或无能,而是某种必然的反映,使科学理性进步的阶梯。

普里斯特说:“悖论式命题充满着使人惊奇的内容。”在科学的发展过程中各个领域都出现了一些在思维上,推理上不清楚的问题。有的“似是而非”有的“似非而是”,基至有些是“猜谜”性质的也被称为悖论。

如有些数学书刊上出现的一种“数学诡辩题”,问题幽默风趣,往往妙不可言,不仅引人入胜,而且发人深思。每一道数学诡辩题的破译,都可以正反两个方面加深对数学基本概念和基本方法的理解。

悖论不是闲谈的趣闻,它预示着更新的创造和未来。在某种意义上来说,悖论推进了科学的进程,激发了科学家的热情。正如哲学家维特根斯坦早在1930年所指出的:“即使在目前阶段我也要预言,总会有一天出现包含有矛盾的数学演算研究,人们将会感到真正的自豪,因为他们把自己从协调性的束缚中解放出来。”人们对数学美学标准的认识,将会有所突破和创新,到那时,人们对悖论的看法也会是见 “怪” 不 “怪” 了。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
江哥带你玩转C语言 | 14 - 结构体-枚举-共用体
struct Student { int age; struct Student stu; };
极客江南
2021/07/11
8140
C语言入门系列之10.结构体和共用体
引入: 有时需要将不同类型的数据组合成一个有机的整体,以便于引用。 例如,一个学生有学号、姓名、性别、年龄、地址等属性,需要定义int num; char name[20]; char sex; int age; int char addr[30];等属性,如下:
cutercorley
2020/07/23
1.3K0
C语言入门系列之10.结构体和共用体
C语言结构体指针_C语言函数返回结构体指针
问题定义:有时需要将不同类型的数据组合成一个有机的整体,以便于使用,就类似于sql中的存储一样,随着语言层次的增高封装性是越来越大的。如:
全栈程序员站长
2022/11/01
3.9K0
C语言结构体指针_C语言函数返回结构体指针
全国二级C知识点总结6-结构体、链表、共用体
l 类型定义形式: typedef 旧类型名 新类型名;(例如:typedef double D ; )
用户6755376
2019/12/02
1K0
C语言结构体类型定义+结构体变量的定义与使用及其初始化+结构体变量作为函数参数
在结构体类型定义好的情况下,注意是结构体类型定义好的情况下,才能定义结构体变量。 比如:
Twcat_tree
2022/11/30
2.8K0
C语言结构体类型定义+结构体变量的定义与使用及其初始化+结构体变量作为函数参数
C语言结构体
系统提供的类型:int double float char long 数组,指针...
岳泽以
2022/10/26
2.1K0
C语言结构体
C++ 炼气期之结构体
随着计算机向着不同领域的延伸,数据的概念已经不仅局限于数值型数据,计算机需要处理大量的非数值类型数据。如在企业级程序的开发过程中所涉及到的工作流信息,几乎都是非数值型数据。
一枚大果壳
2022/08/23
7811
C++ 炼气期之结构体
C语言结构体数组、指针与函数-学习二十八
本文最后更新于2022年02月24日,已超过4天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
1.1K0
C语言结构体数组、指针与函数-学习二十八
【重新认识C语言----结构体篇】
在C语言编程中,结构体(Structure) 是一种非常重要的复合数据类型。它允许开发者将多个不同类型的变量组合成一个逻辑单元,从而更高效地管理复杂数据。无论是实现链表、树等数据结构,还是描述现实世界中的实体(如学生、商品等),结构体都扮演着核心角色。本文将详细讲解结构体的定义、使用及高级特性,帮助读者彻底掌握这一关键概念。
用户11456817
2025/02/08
1640
结构体与指针(一)
在学习数据结构的时候,会经常使用到结构体。今天分享的内容是结构体与指针,因为结构体和指针本身的内容并不是太多,所以今天的内容还包括了链表的实现。希望可以通过这篇博客,让大家熟悉结构体与指针,以及链表的实现。
ZackSock
2020/02/14
7290
开讲啦:Chap 09 用户自己建立数据类型
与int a,b;类似,定义完成后,student1和student2即为struct Student类型的变量。
石璞东
2021/10/13
4350
结构体和共用体(C语言)
结构体在创建时,按照结构体成员变量占的内存分配。而共用体则按照共用体中,所占内存最大的变量分配内存。所以,共用体变量只能单个使用,而结构体可以所有变量一起使用。
ZackSock
2020/01/22
2K0
C/C++基础入门(持续更新中)
在一些时候(比如某个函数接受 int 类型的参数,但传入了 double 类型的变量),我们需要将某种类型,转换成另外一种类型。
浪漫主义狗
2022/09/23
4.5K0
C/C++基础入门(持续更新中)
【C语言笔记】结构体
我们都知道C语言中变量的类型决定了变量存储占用的空间。当我们要使用一个变量保存年龄时可以将其声明为int类型,当我们要使用一个变量保存某一科目的考试成绩时可以将其声明为float。
正念君
2019/06/26
2.3K0
【C语言笔记】结构体
C语言——结构体类型(二)【结构体内存对齐,结构体数组】
🔍问题引导: 我们都知道sizeo(变量类型))可以得到一个变量所占内存的大小,那么,请看下面这串代码👇🏻
用户11029137
2024/03/19
6800
C语言——结构体类型(二)【结构体内存对齐,结构体数组】
C语言程序设计核心详解 第九章 结构体与链表概要详解
1.在定义结构体变量的同时可以将各成员的初值按顺序放在一对花括号中,来进行对结构体变量的初始化。若初值个数多于成员个数则出错,若初值个数少于成员个数,则多余成员自动赋0.
小徐在进步
2024/10/06
3220
C语言程序设计核心详解 第九章 结构体与链表概要详解
C语言 | 结构体指针
在C语言中,指向结构体对象的指针变量既可以指向结构体变量,也可指向结构体数组中的元素。
小林C语言
2021/05/06
2.3K0
C语言 | 结构体指针
C++基础入门_C语言入门基础
​ Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开
全栈程序员站长
2022/09/30
5.9K0
C++基础入门_C语言入门基础
程序员C语言快速上手——高级篇(九)
这在实际操作中非常麻烦,我们需要一种新的数据类型,将这些信息存放在一起,而不是这样分散的去表示和操作。数组显然是无法满足这个需求的,因为数组只能存放相同的数据类型,一个学生的信息,可能需要多种数据类型来表示,比如考试成绩,这个就需要float类型来表示。
arcticfox
2019/07/18
1.7K0
剖析c语言结构体的高级用法(一)
在写这篇文章之前,说实话,自身对结构体的用法,只会两点——就是点访问式和指针式访问结构体内部成员。这对一个搞底层的工程师来讲,显然实在太low了。不妨读者看到这里,可以停下来思索一下,看看自己对c语言结构体掌握了多少。下面是我这几天结合自己的学习而总结的一篇算比较全的关于结构体的用法,欢迎大家来吐槽。
用户6280468
2022/03/21
5400
剖析c语言结构体的高级用法(一)
推荐阅读
相关推荐
江哥带你玩转C语言 | 14 - 结构体-枚举-共用体
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档