绞刑

在审讯中一位囚徒被法官判处死刑。判决如下:“你下周将会被处决,但哪天处决对你来说是一个惊喜。”囚徒因此作出如下推理:“假如处决日是周日,那么在周六夜晚降临后,我将提前知道我周日会被处决,那样的话处决就不再是惊喜,所以周日我不会被处决。排除了周日之后,如果周五夜晚降临后我还没被处决,则我将提前知道我周六会被处决,所以我周六也不会被处决。以此类推。因此,处决是不会发生的。”

然而,这个囚徒的愉快心情保持到了星期二。他从美梦中醒来,被押往刑场——对他来说非常意外。


推广1

假设教师爱丽丝只说过考试会在下周,但没有说考试是惊喜。

午餐时她的学生瑞尼克路过教师办公室,听到老师对同事说,“下周我将给我们班上的同学考试,而考试日期对他们来说是一个惊喜”。老师并没有意识到瑞尼克在听她说话。根据关于考试日期的信息,瑞尼克能得出什么结论?


推广2

在推广一的情况下。事情变得更复杂了。因为午间休息之后,瑞尼克对老师说,“我听到你说下周考试的日期是一个惊喜”。老师确认了这一点。然而那天晚些时候,老师在停车处再次遇到了办公室的同事。老师告诉同事瑞尼克听到了他们之前的对话,并说到:“但是考试日期仍是惊喜!”很不幸,瑞尼克再次听到了这句话。现在关于考试日期的信息,瑞尼克能得出什么结论?


个人想法

个人感觉这个悖论与一般传统的悖论不同,有一些摸棱两可的文字游戏。

从推广一我们可以轻松得出结论,考试日期不会在周五(即最后一天,如果老师说的下周是工作日周一到周五的话)。

在推广一下的信息链如下:

  • 老师对班上同学说:“下周将举行考试”。宣布了这个事实之后,班上所有同学知道下周要考试,老师也知道班上同学知道下周要考试。
  • 老师对同事说:“考试日期是一个惊喜”。宣布了这个事实之后,瑞尼克可以推断出考试不在周五,而老师不知道瑞尼克知道这个事实。
  • 由于没有新的宣告出现,也没有新的信息交流。双方掌握的事实到这里就结束了,瑞尼克只能知道考试不在周五。

在推广二的信息链中,新增信息如下:

  • 瑞尼克对老师说:“我听到你说下周考试的日期是一个惊喜”。此时,老师知道了一个新的事实,即瑞尼克知道下周考试不是在周五。
  • 老师对同事说:“但是考试日期仍是惊喜”。同推广一可知,瑞尼克可以通过此宣告推断出考试不在周四,而同样的老师不知道瑞尼克获得了这个新的信息。
  • 由于没有新的宣告出现,也没有新的信息交流。双方掌握的事实到这里就结束了,瑞尼克只能知道考试不在周五和周四。

对比原版的题目,法官对囚徒直接作出宣布:“下周你将被处死,而处死日期对你来说是一个惊喜。”

从囚徒的视角中,他得出如下信息链:

  • 法官宣布事实“囚徒下周会被处死”
  • 法官宣布事实“处死日期是惊喜”
  • 囚徒作出推断并获得新的事实“处死日期不会是下周最后一天即周日”
  • 法官知道上述事实,即法官知道“囚徒知道处死日期不会是周日”
  • 根据事实“处死日期是惊喜”
  • 囚徒作出推断并获得新的事实“处死日期不会是周六”
  • 法官知道上述事实,即法官知道“囚徒知道处死日期不会是周日和周六”
  • ......
  • 囚徒作出推断并获得新的事实“处死日期不会是下周的任何一天”
  • 若该事实成立,则与最开始“囚徒下周会被处死”矛盾

在通常的理解中,上述蓝色的信息,法官是确实知道的,因为“处死日期是惊喜”是法官当面告诉囚徒的。所以囚徒当然会认为,所有的信息双方都是互相知道的。这样信息链才能成立。而关键就在于“处死日期”这四个字,当法官第一次宣布“处死日期时惊喜”时,此时的处死日期可能存在与周一到周日七天中的一天,但是在根据事实作出正确推断之后,处死日期只可能存在于周一到周六六天中的一天。第二行和第五行中的“处死日期”不是同一件事物,事物发生了改变,命题是否依然为真也就随即发生了改变。信息链就有可能不成立了。

有很多为了解决该悖论的论文,但并没有被完全认同的解决方案,以上只是个人看法。

[逻辑学]意外绞刑悖论(Hangman paradox)(又称意外考试悖论)的更多相关文章

  1. 意外断电数据库无法启动牵扯到异步IO的参数设置

    一客户机房新装的UPS不太稳定,好几次意外断电,第3次意外断电之后问题终于来了, 数据库起不来了-- 数据库的硬件环境是一台IBM DS5020存储,2台IBM X3850 X5 软件环境是Linux ...

  2. Birthday Paradox

    Birthday Paradox Sometimes some mathematical results are hard to believe. One of the common problems ...

  3. MySQL redo log 与 binlog 的区别

    MySQL redo log 与 binlog 的区别 什么是redo log 什么是binlog redo log与binlog的区别 1. 什么是redo log? redo log又称重做日志文 ...

  4. Android Service提高

    我们从以下几个方面来了解Service IntentService的使用 Service与Thread的区别 Service生命周期 前台服务 服务资源被系统以外回收处理办法 不被销毁的服务 Inte ...

  5. 越狱Season 1-Episode 8: The Old Head

    Season 1, Episode 8: The Old Head -Michael: 17 days from now they strap my brother to an electric ch ...

  6. 【转载】TCP保活(TCP keepalive)

    下图是我遇到tcp keepalive的例子: 以下为转载: TCP保活的缘起 双方建立交互的连接,但是并不是一直存在数据交互,有些连接会在数据交互完毕后,主动释放连接,而有些不会,那么在长时间无数据 ...

  7. 网络编程(学习整理)---2--(Udp)实现简单的控制台聊天室

    1.UDP协议: 总结一下,今天学习的一点知识点! UDP也是一种通信协议,常被用来与TCP协议作比较!我们知道,在发送数据包的时候使用TCP协议比UDP协议安全,那么到底安全在哪里呢?怎么理解呢! ...

  8. apscheduler的使用

    最近一个程序要用到后台定时任务,看了看python后台任务,一般2个选择,一个是apscheduler,一个celery.apscheduler比较直观简单一点,就选说说这个库吧.网上一搜索,晕死,好 ...

  9. ASP.NET Core 四种释放 IDisposable 对象的方法

    本文翻译自<Four ways to dispose IDisposables in ASP.NET Core>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! IDispos ...

随机推荐

  1. BZOJ4802 欧拉函数 (Pollard-Rho Miller-Robin)

    题目 求大数的欧拉函数φ\varphiφ 题解 Pollard-Rho 板子 CODE #pragma GCC optimize (3) #include <bits/stdc++.h> ...

  2. SpringMVC拦截器及多拦截器时的执行顺序

    本文链接:https://blog.csdn.net/itcats_cn/article/details/80371639拦截器的配置步骤 springmvc.xml中配置多个拦截器配置自定义拦截器并 ...

  3. [AGC028B]Removing Blocks 概率与期望

    考虑算每一个位置在所有情况的期望值乘以全排列似乎就是答案. 那么对于 $i$,如果要由 $j$ 来贡献的话就要满足 $j$ 在 $i....j-1$ 之前先拿. 而在拿 $j$ 时,先于 $i...j ...

  4. RS-232串口通信简介

    1969年,美国电子工业协会将RS-232定为串行通信接口的电器标准,该标准定义了数据终端设备DTE(Date Teriminal Equipment)与数据通信设备DCE(Data Communic ...

  5. [Luogu] 受欢迎的牛

    https://www.luogu.org/problemnew/show/P2341 Tarjan 缩点 + 判断出度 #include <iostream> #include < ...

  6. infiniband RDMA对比

  7. DEA使用git提交代码时,点了commit之后卡死在performing code analysis部分,或者performing code analysis结束后没有进入下一步操作。

    把"Perform code analysis" 和 "Check TODO" 复选框前面的勾去掉就好了. 这个可能是因为所分析的目标文件太大了,造成一直分析不 ...

  8. 【原创】go语言学习(五)函数详解1

    目录 1.函数介绍 2.多返回值和可变参数 3.defer语句 4.内置函数介绍 1.函数介绍 1.1定义: 有输⼊入.有输出,⽤用来执⾏行行⼀一个指定任务的代码块. func functionnam ...

  9. 【原创】go语言学习(四)流程控制

    目录: 1.if else语句块 2.for语句 3.switch语句 if else语句块 1.基本语法 if condition { //do something } if statement; ...

  10. word 实现多级列表编号