当前位置:文档之家› 趣味逻辑推理

趣味逻辑推理

动手的问题下面三个问题都需要用计算机编程实现。

(难度逐渐加大)首先作如下约定:输入的命题变元用小写字母表示,如p、q、r、s、t计算机中命题连接词否定连接词、合取连接词、析取连接词、蕴含连接词和等价连接词分别用!、&、|(键盘上回车上面右方括号按键右边那个按键上档的符号)、-和+表示。

根据以上约定,一个命题公式的示例如下:!p&q即题目:1. 判断一个给定的公式是不是命题公式。

难度系数:0.9例如输入公式 !p+q,程序应该显示肯定的答复(中文,英文皆可);输入q!&p,程序应该返回否定的结果。

2. 在题目1的基础上判断给定的命题公式是重言式、矛盾式或者非重言可满足式。

(参考阅读文章“命题公式真值表的生成算法”)难度系数:0.4例如输入公式!p+q,程序应该返回为非重言可满足式;输入p-(q-p),程序应该返回重言式,输入p&!p,程序应该返回矛盾式。

3. 在题目1的基础上求取给定公式的主析取范式和主合取范式。

(参考阅读文章“命题逻辑等值演算的计算机实现”)难度系数:0.3思考问题趣味逻辑问题大华正在凝望一幅照片。

有人问他﹕「照片中的人是谁?」大华回答说﹕「我没有兄弟姊妹,但这个人的父亲是我父亲的儿子。

」那么,大华望着谁的照片?发生了一宗劫案,事主损失惨重,劫匪驾驶一辆货车逃走了。

你只知道,(1) 除了疑犯A,B和C之外,不会有其他人牵涉在内﹔(2) 没有A的陪同,C是不会独自犯案的﹔(3) B 是不懂驾驶的。

如此看来,A 有没有罪?假设有一座小镇,(1) 镇上每个人头发的数目都不同﹔(2) 没有人有409根头发﹔(3) 镇的人口比镇里任何一人头发的数目多。

问题是,镇上有多少人?下面两个重点思考:如何采用数理逻辑的方法求解:一个很特别的岛屿只住了君子和流氓。

君子只讲真话,从不说谎﹔但相反流氓的说话没有一句是真确的。

有天你遇到两个岛民,大明和小明。

大明说小明是流氓,而小明却告诉你﹕「我和大明都不是流氓。

」你可以分出谁是君子,谁是流氓吗?如上面的情况一样,你在这个只住了君子和流氓的岛上探访,刚好遇到三个岛民,冬瓜、南瓜和西瓜。

冬瓜声称南瓜和西瓜是同一种人﹔南瓜却说﹕「我和西瓜至少有一个是君子。

」而西瓜则说冬瓜是个流氓。

你可以分出谁是君子,谁是流氓吗?世界上最难的逻辑问题根据已故的麻省理工( MIT )哲学及逻辑学家George Boolos,以下的趣味逻辑问题可算是全世界最难的一个。

你可以解决这个难题吗?有甲、乙、丙三个精灵,其中一个只说真话,另外一个只说假话,还有一个随机地决定何时说真话,何时说假话。

你可以向这三个精灵发问三条是非题,而你的任务是从他们的答案找出谁说真话,谁说假话,谁是随机答话。

你每次可选择任何一个精灵问话,问的问题可以取决于上一题的答案。

这个难题困难的地方是这些精灵会 以「Da」或「Ja」回答,但你并不知道它们的意思,只知道其中一个字代表「对」,另外一个字代表「错」。

你应该问那三条问题呢?悖论和难题悖论是指某些奇特的推论。

这些推论的假设和逻辑看似合理,但却带出明显地不可接受的结论。

要正确处理这些悖论,便要指出它们的问题。

这里我们列出一些著名的悖论和逻辑问题,让大家动动脑筋。

亚基里斯和乌龟一日亚基里斯和乌龟来一次赛跑,因为亚基里斯认为自己比乌龟快,所以他让乌龟少跑一段距离。

他们的协议是亚基里斯会在某地点d 1开始起跑,而乌龟则会以较接近终点的地方d 2为起点。

但试想想,当亚基里斯跑到d 2的时候,乌龟会跑到了另一地方d 3。

亚基里斯追到d 3的时候,乌龟却已到了d 4。

如此类推,每次亚基里斯跑到乌龟之前到过的地方,乌龟却已再向前跑了一段距离。

这样看来,亚基里斯怎能追到乌龟呢?沙丘悖论沙粒堆在一起,聚少成多,堆成沙丘。

例如十万粒沙堆在一起就成了沙丘。

沙丘这样大,若随便拿走一粒沙,沙丘仍会存在,因为一粒沙实在微不足道。

同样,从九万九千九百九十九粒沙组成的沙丘再拿走一粒沙,沙丘也不会因此消失。

总而言之,从一个沙丘拿走一粒沙,沙丘会继续存在。

但若真的如此,连续把沙粒一粒一粒拿走,直至剩下最后一粒沙,沙丘也继续存在。

但一粒沙怎可以构成一个沙丘呢?不自称的悖论如果一个谓词不能应用于它自己身上,我们称之为「不自称」的。

反之,我们则称为「自称」。

例如,「由中文字所组成的」这个谓词便正是由中文字所组成,所以是个自称的谓词。

「是个红色的水果」只可以形容水果,不可以形容自己,所以不自称。

那么「是不自称的」本身是不是不自称的?如果是,它不应用于自己身上,即是说它应用于自己身上。

但如果不是,它应用于自己身上,亦即是说它不应用于自己身上。

换言之,如果它应用于自己身上,它就不应用于自己身上了!律师和徒弟学生甲是某大律师的徒弟。

当他还在受训的时候,他答应老师,说会在他完成训练、打胜了第一场官司后缴交学费。

但毕业后学生甲却一直不接手任何官司,于是老师便决定控告他拖欠学费。

老师的论据是,如果老师自己打胜了这场官司,学生甲必要立即缴交学费;如果是学生甲打胜,甲便应该按照原本的协议缴交学费。

所以无论如何学生都应交学费。

但甲的论据是,如果法庭判他胜利,他便不需缴交学费;如果是老师胜利,他自己便从来没有打胜过,所以根据协议他也不需缴交学费。

到底谁的论据有道理?说谎的人有人这样说:「我现在所讲这句话是假的。

」那么,这个人所讲的到底是真或是假的呢?若他所说的是真,则他便是在讲假话,亦即他所说的是假的了。

但若他所说的是假,那么他说自己在讲假话,岂非正确?但一句说话又怎可能是既真又假的呢?也许有些人会认为他那句话既不真也不假,但如果他所讲的其实是不真不假,而他却说自己在讲假话,那么他不真的是在讲假话吗?纽康姆悖论试想想,在你面前有两个盒子,一个是透明的,有一万元在里头,另一个是不透光的,可能有一百万元在里头,也可能没有任何金钱。

你有两个选择:你可以拿走不透明的盒子,又或两个盒子都拿走,而你拿的盒子里的所有钞票都是你的。

不过,有一个非常准确(接近100%准确)的预言家会在场预测你的选择。

在你作出决定之前,他会先预测你的选择。

如果他算出你会只拿走不透明盒子,他便会放一百万元进这个盒子。

若他认为你会拿走两个盒子的话,他便会给你一个空的不透明盒子。

现在,他已作出了他的预测,安排了适当的盒子。

从你的角度来看,不透明的盒子内有没有钞票,已成定局。

拿走两个盒子,照道理会比拿一个得到多一万元。

但绝大部份决定拿走两个盒子的人,却只得一万元,而非一百零一万元。

你认为应如何理性地选择?囚犯的两难假设你和我犯了法,一起被收在监里,根据我们的律师:如果我们一个人认罪一个人不认罪,认罪的那个便会获得释放,不认罪的就会被判监十年。

如果我们都认罪,每人都会囚七年。

如果我们都不认罪,就只会被判一年监。

假设我们两人都十分精明,亦觉得徒刑越短越好。

现在,我和你被分开,无法沟通,各自要决定是否认罪。

我不知道你是否会认罪。

不过若你认罪,我也应该认罪,因为这样便只会判监七年而非十年。

如果你不认罪,我更应认罪,因为这样我便会获得释放。

所以无论如何我都应该认罪。

但若你也这样推论,最后决定认罪,我们便要被判囚七年了。

这比起两人都不认罪,判一年监,实在差得多了。

何以理性的推论,引至这样的后果呢?罗素悖论我们惯常将东西、人物分入不同集合。

例如2、16等便是双数集合的一份子。

但大多数的集合本身并不是该集合的份子。

双数集合内含2、16等数目,但集合本身并非一个双数,所以它不是自己的份子,正如几个国家所组成的联盟本身并不是一个国家一样。

但「不是动物」所指的集合却是自己的一份子,因为集合包含铅笔、树等东西,那它自己自然不是动物。

好了,那么「不是自己份子」所指的集合,是否自己的份子?突如其来的测验突击测验究竟是否可能?有一个老师告诉她的学生,下星期会有突击测验。

她的学生推断,测验的日期必不会是在星期五,因为如果到星期四测验还没有举行的话,那么所有学生都会知道测验会在星期五发生,所以这个测验也不能算是突击测验了。

既然剔除了测验在星期五举行的可能性,以同样的理由,突击测验也不可能在星期四发生。

如此类推,突击测验根本不可能。

但到了下星期一,老师却真的来一个突击测验,所有学生都很惊讶,他们的推论那里出了问题?剪自己的头发理发师在某一个村庄有一个理发师,他只会替不会给自己剪发的人剪发。

那么你说,他会不会剪自己的头发?世上没有全能的上帝照道理,「全能」是指有能力做到任何可能做到的事情。

那么,一个全能的上帝能否造出一块祂自己不能举起的石头?如果可以,那便有一件事是上帝做不到的了,就是举起祂自己创造的那块石头。

如果上帝造不到这样的一块石头,那上帝也不是全能的了,因为造一块自己举不起的石头,我们也可以做到。

所以,世上没有全能的上帝。

相关主题