求解逻辑问题:谁养鱼

早上一如既往地排毒,蹲着无聊,于是乎想起了这个经典的逻辑问题,再次思考求解,有了新的思路和收获。首先,让我们再来温习一下题目:

1、有5栋5种颜色的房子

2. 每一位房子的主人国籍都不同

3. 这5个人每人只喝一个牌子的饮料, 只抽一个牌子的香烟,只养一种宠物

4. 没有人有相同的宠物, 抽相同牌子的香烟, 喝相同的饮料

提示:
1. 英国人住在红房子里

2. 瑞典人养了一条狗

3. 丹麦人喝茶

4. 绿房子在白房子左边

5. 绿房子主人喝咖啡

6. 抽pall mall烟的人养了一只鸟

7. 黄房子主人抽dunhill烟

8. 住在中间那间房子的人喝牛奶

9. 挪威人住在第一间房子

10. 抽混合烟的人住在养猫人的旁边

11. 养马人住在dunhill烟的人旁边

12. 抽blue master烟的人喝啤酒

13. 德国人抽prince烟

14. 挪威人住在蓝房子旁边

15. 抽混合烟的人的邻居喝矿泉水

根据以上条件回答一个问题: 谁养鱼?

第一次见到这个问题的,肯定很晕,因为线索实在太多,无从下手。

深吸一口气,忘掉自己刚才看到的这么多条件,只看一句话,就是我们要解答的问题:谁养鱼?将这个主线牢记在心,我们再来浏览以上的条件。

这些条件中有的是逻辑上独立的,比如:丹麦人喝茶;有的条件是有关联性的,比如:绿房子在白房子左边。我们要想解答出最终的问题,这些有关联性的条件是关键,所以我们先来看这种条件:

由 ”挪威人住第一间房“ 和 ”挪威人住在蓝房子旁边“ 可以得出:第二间房子是蓝色的;

由 ”第二间房子是蓝色的“ 和 ”绿房子在白房子左边“ 可以得出: 绿房子和白房子或者在3 4的位置,或者在4 5的位置;

由 ”英国人住在红房子“ 和上面的条件可以得出:这小子肯定不在第1和第2号房,只可能在第3或者第5号房,所以得出 黄色房子在第1号,也就是挪威人住黄色房子,重大收获啊!

不能分心,继续走,由 ”黄房子主人抽dunhill烟“ 和 ”养马人住在dunhill烟的人旁边“ 得出 住蓝色房子的人养马;

因为 ”英国人住红房子”, “挪威人住养马人的旁边”,“瑞典人养狗”得出,养马的只能是 德国人或者丹麦人;

由 “绿房子主人喝咖啡” 和 “住在中间那间房子的人喝牛奶” 得出:绿色和白色房子在4 5号位置,也就是英国人在中间,喝牛奶;

由于 “挪威人抽dunhill” 和 “抽混合烟的人的邻居喝矿泉水” 和 “住在中间那间房子的人喝牛奶” 和 “绿房子主人喝咖啡” 得出 抽混合烟的人在第2号房,住蓝色房子,挪威人喝矿泉水;

加油!

因为 上面所得和 “丹麦人喝茶” 得出,丹麦人只可能在第2位或者第5位。

我们假设在第2位,看看会不会和已知条件冲突:

那第5位就是:抽blue master烟的人喝啤酒;又因为 “德国人抽prince烟” 和 “抽pall mall烟的人养了一只鸟” 得出,英国人养了鸟,抽pall mall;

又因为 “抽混合烟的人住在养猫人的旁边”,所以 挪威人养猫;

因为 “德国人抽prince烟” 和 “第2位的人抽混合型” 和 “第2位养马” 得出,德国人不养马,那就只有丹麦人没有什么养了,只能他养马。

最终得出:德国人养鱼!

如果丹麦人在第5位的话:

那第二位就是 抽blue master烟的人喝啤酒,德国人就要到第2位,那么 “第2位的人抽混合型” 和 “德国人抽prince烟” 就会有冲突,所以这个逻辑分支不通。

求解逻辑问题:谁养鱼

时间: 2024-10-25 18:56:55

求解逻辑问题:谁养鱼的相关文章

【机器学习基础】核逻辑回归

将软间隔支持向量机看做正则化模型 上一小节中我们介绍了软间隔支持向量机,该模型允许有错分类数据的存在,从而使模型对数据有更好的适应性,有效避免过拟合的问题. 现在我们回顾一下松弛变量ξn,我们用ξn来记录违反分类边界的数据到边界的距离. 我们可以从另外一个角度,考虑一下ξn的计算: 对于任何一个点,如果该点违反了边界,那么ξn记录了其到边界的距离:如果没有违反,ξn为0. 所以我们可以用下面这个式子来表示: 与正则化模型的比较 在正则化中,我们用w的长度来控制复杂度,并且我们希望某个误差度量最小

SparkMLlib学习分类算法之逻辑回归算法

SparkMLlib学习分类算法之逻辑回归算法 (一),逻辑回归算法的概念(参考网址:http://blog.csdn.net/sinat_33761963/article/details/51693836) 逻辑回归与线性回归类似,但它不属于回归分析家族(主要为二分类),而属于分类家族,差异主要在于变量不同,因此其解法与生成曲线也不尽相同.逻辑回归是无监督学习的一个重要算法,对某些数据与事物的归属(分到哪个类别)及可能性(分到某一类别的概率)进行评估. (二),SparkMLlib逻辑回归应用

Coursera《machine learning》--(6)逻辑回归

六 逻辑回归(Logistic Regression:LR) 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就是由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心. 6.1 分类问题(Classification) 本小节开始介绍分类问题(该问题中要预测的变量y是离散值),同时,还要学习一种叫做逻辑回归的算法(Logistic regression),这是目前使用最广泛的一种算法.虽然该算法中

机器学习总结(六)线性回归与逻辑回归

线性回归(Linear Regression) 是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方).只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归.线性回归的模型函数如下: 损失函数(基于均方误差最小化) 通过训练数据集寻找参数的最优解,即求解可以得minJ(θ)的参数向量θ,其中这里的参数向量也可以分为参数和w和b,分别表示权重和偏置值. 线性回归方程可通过两

4.机器学习之逻辑回归算法

理论上讲线性回归模型既可以用于回归,也可以用于分类.解决回归问题,可以用于连续目标值的预测.但是针对分类问题,该方法则有点不适应,因为线性回归的输出值是不确定范围的,无法很好的一一对应到我们的若干分类中.即便是一个二分类,线性回归+阈值的方式,已经很难完成一个鲁棒性很好的分类器了.为了更好的实现分类,逻辑回归诞生了.逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性.逻辑回归是假设数据服从Bernoulli分布的,因此LR也属于参数模型,他的目的也

使用doxygen为C/C++程序生成中文文档

文章来自:http://www.fmddlmyy.cn/text21.html 按照约定的格式注释源代码,用工具处理注释过的源代码产生文档.通过这种方式产生文档至少有以下好处: 便于代码和文档保持同步. 可以对文档做版本管理. 很多编程语言都有类似的文档工具,例如:Java有javadoc,Ruby有rdoc.对于C/C++程序,我们可以用Doxygen生成文档.本文通过为一个C++程序"谁养鱼"建立文档,介绍了怎样在Windows平台使用Doxygen. Doxygen比较适合制作A

【机器学习】Logistic Regression 的前世今生(理论篇)

Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有非常多细节不正确之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/50359055 写这篇博客的动力是源于看到了以下这篇微博: 我在看到这篇微博的时候大为触动,由于,如果是rickjin来面试我.我想我会死的非常慘,由于他问的问题我基本都回答不上来.

Logistic Regression 的前世今生(理论篇)

[机器学习]Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上本文链接,不甚感激! http://blog.csdn.net/cyh_24/article/details/50359055 写这篇博客的动力是源于看到了下面这篇微博: 我在看到这篇微博的时候大为触动,因为,如果是rickjin来面试我,我想我会死的很惨,因为他问的问题我基本都回答不上

svm+python实现

一.svm概述 svm是一种二分类模型,学习策略是通过间隔最大化来实现分类的目的,最终转化为了凸二次规划求解,即: 的确我们可以单纯的通过求解凸二次规划问题来获得答案,但是当训练样本量很大时,这些算法就会变的低效,从上面的公式就可以直观看出,有多少样例就有多少乘子,如何高效求解拉格朗日乘子成为了关键--smo. 浏览了很多博文总结一下具体的求解过程(smo): 1.寻找违背KKT条件的,即: 其中: 2.寻找第二个乘子,通过:max|E1-E2| 3.求解约束前的,公式为: 其中,,Ei=f(x