[原文地址:关于逻辑学的文章zz ]
正如充满正义感的人无法容忍犯罪的发生,富于美感的人不能包容丑陋和瑕疵一样,一个逻辑严谨的人是没办法忍受哪怕一点点逻辑漏洞的存在的。几天前的一篇帖子,招来了一堆自以为是的人,也逼得在mop潜水多日的我头一次发贴,来堂堂正正地批驳那道存在严重漏洞的推理题,给所有不了解逻辑的人上一堂浅显的逻辑课。这是我第一次写这种类似科普的文章,如有名词解释、用法上不适当的地方,谨请指正。
后面的内容安排如下:
第一章:介绍
事情的起因,源自于好事者贴出的一则声称做出来就有130智商的推理题。很快就有人得出了答案,并引得和声一片。但接着就有人提出了不同的看法。印象中东方隐最先发现了题目的漏洞;我得出了相同的结论,很快,雷神爷爷赞同了我的观点。guojia虽然在细节上留有自己的看法,但是他总体上接受了我的观点。重装步兵发了一片相当长的文章,此文是如此之长以至于我没法安心细看,不过我感觉上他和我基本保持了相同立场,虽然在陈述上还存在着一定的问题。还有一些赞同我的观点的人,恕我记忆里有限,无法一一列举。遗憾的是,真理往往掌握在少数人手中。
大多数人还是无法一下子理解认识到他们所犯的逻辑错误。当然这也正是我写此文的原因。下面,我用概括性的描述一下那道富于争议的题。这个题干是大多数人所认可的:
有甲乙两个纸条和甲乙两个箱子。已知其中一个箱子中装有黄金。纸条上的内容如下:
甲纸条:“乙纸条是真的,而且黄金在甲箱。”
乙纸条:“甲纸条是假的,而且黄金在甲箱。”
现不知纸条的真假与否,问:那黄金在哪个箱子?
如果看完题目,你已经发现这个题存在漏洞,或是隐隐约约感觉到有什么不对劲的话,恭喜你,你已经把握住了问题的要害。不过,让我们耐着性子,把那个错误的推理看完。如下是比较典型的推导过程:
假設甲箱上的字條是真的,那麼:“乙箱上的字條是真的,而且黃金在甲箱”的兩個陳述都是真的。如此則乙箱的字條說的是真的,看看它上面寫著什麼:“甲箱的字條是假,而且黃金在甲箱”這邊的“甲箱的字條是假的”則違反了最初的假設,因此不成立。
如此可推論甲箱上的字條是假的,即其中至少有一個陳述是假的,可能是:(1)乙箱的字條是假的;(2)黃金在乙箱。若(1)乙箱的字條是假的,則表示甲箱的字條是真的(已經證明不成立的),或是(2)黃金在乙箱。無論如何,黃金一定在乙箱!
我们也可以稍稍做一下修改,把它概括一下。如果你无法理解这样的修改也不要紧,后面不会有太多内容基于此。
假设黄金在甲箱,那么甲乙两个命题构成了悖论,相互矛盾。所以,黄金不在甲箱而在乙箱。
现在我们已经给出了题目和错误推理,让我们开始来好好地批驳它吧。
第二章:独立事件
逻辑源于生活。它用概括性的语言描述人类的思维和推理,虽然有些晦涩,但确是严谨的。现在就让我们用普通的、生活的思维方式,来看穿漏洞的所在。
让我们假设这样一个场景:我就是那个写纸条、放金块的人。其实我这个人很没计划,想到什么做什么。写完两张纸条了,纸条贴好了,照理说,下面我该放金块了。可你也知道,我这个人很没计划的,想到哪里算哪里,金块蛮,想放哪儿就放哪儿吧。什么?你说纸条?哈哈,你傻啦?我放金块关纸条什么事啊?反正纸条真真假假的,你们自己瞎猜去吧,我呢,只管自己放金块,想放哪里就放哪里。
明白了吧?其实纸条内容和金块的位置完全是两码事,风马牛不相及。这就是所谓的独立事件。你不能够从纸条的内容上推导出金块的位置,因为纸条的内容真假与否都尚未可知,如何能对金块的位置产生约束呢?曾有人举了这样一个例子想要反驳这个的观点,他:说高速公路上的路牌写着北京北、广州南,难道路牌和北京广州的位置就是独立的吗?难道路牌对位置没有约束性了吗?呵呵,殊不知他为我提供了一个很好的证据。让我们把路牌的情况放到原题中看,我们还得给它加上一个条件,那就是:不知路牌的真假。如此一来,独立性这个概念就越发明显了。在你不知路牌真假的情况下,任何情况都是有可能发生的。事实与路牌内容这两者之间显然构成了一个典型的独立关系。
那么如何才能去掉这种独立关系呢?很简单,提供更多的条件,对命题的真假作出约束。比如,已知一真一假,已知不全真等等。这种约束条件,在某种程度上可以当作事实的一部分。我们会在下一章中具体分析事实和推理的关系。
第三章:悖论,反证法?
既然有的人想用逻辑推导来证明他们的观点的正确性,那么这一次,我就以其人之道还治其人之身,用真真正正的逻辑来彻底推翻他的论断。在开始之前,让我们先来了解一些关于逻辑、逻辑推理的基本概念。(这里,主要讲的是布尔逻辑。如果有人要提模糊逻辑,我们另外再谈)
首先登场的是:事实、规则和命题这三个概念。所谓命题,是指对事物的一个陈述,任何看法,观点、主张、论断都可以看作命题。命题有可能真也有可能假。已知为真的命题,我们称之为事实。规则,则是逻辑演绎的工具,比如三段论:(a=>b & b=>c)=> (a=>c)等等。这里讨论的内容和规则无关,我就不细说了。
接下来,让我们来看看逻辑推导的两种方式:正向推导和反向推导。所谓的反向推导(反演),也就是通常所说的反证法。正向推导,是由事实出发,结合规则和其他事实,直接得出结论命题。而反向推导,是先假设结论为假,继而通过规则和其他事实,导出与已知事实相矛盾,从而推翻假设,得出结论为真。
这里的关键是“事实”两个字。无论是正演还是反演,都不能没有事实。这就像巧妇难为无米之炊一样,空有炉灶(规则),没有米(事实),是煮不成饭(结论)的。尤其是反证法,最后推出矛盾,必须是和已知事实相矛盾,请大家注意“已知事实”这四个字。这正是那个貌似正确的推导彻底崩溃的根源。(如有疑惑,可查阅反证法定义)
现在让我们回到题目中去。让我们看看能不能做什么逻辑推理呢?回答是否定的。原题中,没有提供任何有价值的事实,能让我们做任何的推导。有人也许会问“存在某个箱子放了金块,这不是一个事实吗?”不错,这是一个事实,可惜这个事实太弱了,以至于不能体现任何价值。这就像我要证明一个数学公式,你却给我提供类似“我们大家都是地球人”这样的事实条件。很遗憾,这个事实对证明无能为力。那么什么样的事实才能够强到有用呢?其实在上一章的结尾我已经提到了一些例子。当对纸条的真假作出一定的约束的事实,才是真正有用地。
以上从宏观上分析了在缺乏事实的条件下,想要得出任何结论是不可能的这一基本论断,这和我们在第二章的观点是吻合的。接下来,让我们从微观出发,好好看看那个错误的推导到底错在哪里。不错,你猜对了,就是事实!用瞒天过海、混水摸鱼这八个字形容那个推导过程,是再好不过的了。
让我们看看第一章里给的那个过程,得出一个矛盾,是假设和假设本身的矛盾,换句话说,叫做自相矛盾,而并不是真正的反证法所讲的与已知事实的矛盾。因而想用反证法证明的打算,在这里出现了严重的问题,从而变得不可行。有人会问:“自相矛盾?这是什么东西?”其实我们前面已经提到了,他有个特别的名字,叫做悖论,或者两难问题。
举个例子,我说:我现在说的这句话是假的。
那么,请问,我现在说的这句话到底是不是假的呢?假如是真的,那么内容说假的,自相矛盾了。如果是假的,那么内容说真的,又自相矛盾了。类似的例子还有很多,比如著名的理发师剪头发的问题。悖论,是逻辑中的特例,就想程序中的死循环一样。你不能从悖论中推出任何结论,想要拿悖论用到反证法上去,那更是大错特错了。
实际上,把任何命题作为原推论的后半段,都会得出该命题为假的结论。就让我们真正的用一次反证法,来证明原来那个推论的荒谬。
假设原推论方式成立,那么现在给出以下两个命题:
-
甲:“乙是真的,而且地球是圆的。”
-
乙:“甲是假的,而且地球是圆的。”
由原有推论可知,地球不是圆的。这与已知事实矛盾,所以该推论方式大错特错。over.
第四章:结论
终于说得差不多了,该谈谈我的结论了。我的结论概括起来有三点:
-
纸条的内容和金块的位置为两个独立事件。照常理判断,在缺乏其他事实条件的前提下,无法从纸条的内容上得知金块的位置。
-
原题缺乏必要的事实条件,因而存在严重的逻辑漏洞。想要用悖论充当反证法的矛盾来做推导,更是错上加错。
-
在认识到以上两点的前提下,在忽略严格逻辑推导的前提下,可以得出貌似正确的结论:乙。但这只是一种形式上的正确罢了,既缺乏实际意义,也缺乏严密的逻辑的支持。这也就是习惯应试教育的人所情愿得出的结论,因为它最符合出题者的意图,仅此而已。
看到这里,如果你赞同了我的观点,那么恭喜你,你的逻辑思维有加深了一步。如果你还是不能理解,那么也许各有所长,你可能不太擅长逻辑思维。
感谢雷神爷爷的支持,他一直和我站在同一个战壕里;感谢能够接受了我的观点的人,你们的理解使我这篇文章变得有意义;也要感谢持相反、错误观点的人,你们的观点恰恰促成了这篇文章。
谨以此文献给所有热爱数学,热爱逻辑的人。
附:有的人认为这不是逻辑漏洞。但我认为这恰恰是严重的漏洞。逻辑是和生活是联系在一起的。如果你用常理都解释不通,那又怎么能期望逻辑上就没漏洞了呢?
分享到:
相关推荐
《世界500强面试题目及评点》是两份重要的资源,主要针对那些渴望进入全球顶级企业工作的人群。这些公司通常会设置独特的面试环节,以全面评估候选人的综合素质和专业技能。以下是对这两部分内容的详细解读。 在500...
本文档包含两份重要资料,分别涵盖面试题目的预测与分析,以及面试中需要避免的陷阱,它们旨在为求职者提供全面的准备策略,帮助他们在面试过程中更加得心应手。 首先,让我们来看一下“面试试题早知道.txt”这一...
以上面试题目涵盖了嵌入式系统开发中的关键概念,包括访问固定内存位置、中断处理、整数自动转换原则以及动态内存分配。掌握这些知识不仅能够帮助开发者避免常见的编程陷阱,还能提高代码的可靠性和效率,对于构建...
公务员面试中的陷阱类题目是面试官用来考察考生应变能力、思维敏捷度和问题解决技巧的一种策略。这类题目通常在计划组织、沟通协调和综合分析等常见题型中以微妙的方式出现,使得考生在回答时容易步入误区。下面将...
以下是对标题和描述中涉及的50道面试题目及应答评点的详细解读: 1. **自我评估与职业匹配** - 问题1询问求职者为何认为自己能在该职位上取得成就。正确的回答应当突出个人的热情、技能和过去的成功经验,以此证明...
最后,我们关注逻辑面试题。这类题目通常测试你的问题解决能力和思维逻辑,常见的包括: 1. **算法**:如排序(冒泡、选择、插入、快速等)、搜索(线性、二分等)和递归。 2. **数据结构**:链表、栈、队列、树...
7. **决策树和博弈论**:面试中可能会遇到需要构建决策树或应用博弈论的题目,这有助于模拟和预测不同选择的结果。 8. **编程思维**:逻辑思考题与编程思维紧密相关,如递归、条件判断、循环等都是编程中的基本逻辑...
Java笔试题大全主要涵盖了几大核心领域,包括Java基础知识、EJB、代码与编程实践、线程编程以及针对各大公司的具体面试题目。这些文件旨在帮助准备Java相关职位的求职者全面复习并提升自己的技能。 首先,Java基础...
总之,"大量笔试题目面试经验谈"提供的资源涵盖了找工作的核心环节,通过深入学习和实践,求职者可以在竞争激烈的就业市场中脱颖而出。无论是在笔试中的冷静应对,还是面试中的出色表现,都需要扎实的准备和持续的...
6. 应对面试技巧:面试中可能会遇到语言陷阱,如“激将法”或“挑战式”的提问。面试者需要保持冷静,巧妙应对,避免落入陷阱。对于质疑你能力的问题,如“你经历太单纯”或“你不是名牌院校毕业”,要用积极的态度...
* 根据自己的简历回答,注意入行的逻辑。 三、项目责任 1. 你在项目上主要负责哪一块? * BW 建模、数据抽取、建一般数据源、建信息对象。 * BO 报表、UNI 创建。 * 写些技术文档、业务蓝图、测试文档。 * ...
《C#面试题集》是针对C#编程语言面试精心整理的一份资源,它集结了互联网上众多的面试问题,旨在为即将参加面试的毕业生或有经验的开发者提供全面的准备指南。这份题集覆盖了C#语言的基础、进阶以及实际应用等多个...
本篇文章将深入剖析“==”运算符和equals()方法的区别与联系,帮助你在Java的笔试和面试中更好地应对相关问题。 首先,“==”运算符在Java中用于比较基本类型变量的值是否相等,例如int、char或boolean。对于引用...
面试中可能会出现编写控制结构的题目,考察逻辑思维能力。陷阱可能出现在嵌套过多的条件语句或者无限循环的编写,这可能导致程序运行效率低下或无法终止。 此外,异常处理(try-catch-finally)是Java程序健壮性的...
在激烈的求职竞争中,想在几、轮笔试、面试的激烈竞争中拔得头筹,漂亮地完成试卷,躲过面试官布下的种种“陷阱”,是一件非常不容易的事情。要知道研发类考题过关仅仅是基础,情商、智商更为关键,面试是考验人的...
面试题目十一:逻辑运算符 题目描述:`&&`与`&`的区别。 **知识点解析**: - **逻辑与运算符**:`&&`为短路逻辑与,`&`为按位与。 - **使用场景**:在条件判断中,通常使用`&&`,因为它在左侧表达式为假时不会...
以下是对面试题目中涉及的一些知识点的详细解答: 1. **匈牙利命名法**: 匈牙利命名法的优点在于它通过变量名的前缀来表示变量的数据类型和用途,增加了代码的自解释性。缺点是名称较长,可读性降低,且过度依赖...
在IT行业中,C和C++语言是基础且重要的编程语言,尤其在系统级编程、游戏开发和高...文档“最全的C和C++语言笔试面试题汇总.doc”很可能包含这些主题的详细题目和解答,对于准备面试的求职者来说是一份宝贵的参考资料。
面试题目的设计通常涵盖基础知识、逻辑思维和实战经验等多个方面。 首先,文章提到了一个常见的面试题目——编写一个`strcpy`函数。这个简单的任务看似容易,实则暗藏玄机。面试官通过这个题目考察候选人的内存管理...