Tag: 推理

一个关于真假话的小逻辑题

这篇文章通过一个“男人说真话、女人说假话”的村庄谜题,展示了逻辑推理中“先定义真实答案”的重要性。100 个村民分别回答村里有 1 到 100 个女人,而真正正确的答案只能有一个,因此只有一个人说了真话。由于说真话的人是男人,所以村里只有 1 个男人,其余 99 人都是女人。文章最后强调,小逻辑题看似简单,却能训练我们避免草率判断,用严谨思维找到答案。 本文还给出个用Python程序来验证这个答案。 今天看到一个挺有意思的小逻辑题。乍一看,它像是一个很简单的数数问题,但真正的关键藏在“谁说真话,谁说假话”这个条件里。 故事是这样的: 从前,有一个奇怪的村子。村子里一共有 100 个人,有男有女。在这个村子里,男人永远说真话,女人永远说假话。 有一天,一个陌生人来到村子里,问村民: “你们村子里一共有几个女人?” 第一个村民回答:“1 个。” 第二个村民回答:“2 个。” 第三个村民回答:“3 个。” 以此类推,直到第一百个村民回答:“100 个。” 那么问题来了:这个村子里到底有多少个女人? 答案是:99 个女人,1 …

机器学习(最优化)根本数学公式: arg_max_{x∈X} F(x)

argmax:从未来推理现在 整个机器学习(最优化),背后的根本数学原理是下面这个公式: arg_max_{x∈X} F(x) 它的含义是:在所有可能的输入 x ∈ X 中,找出让目标函数 F(x) 最大的那个 x。这个公式返回的是最优解 x,而不是最大值本身。 这个公式代表【从未来推理出现在的最佳选择】,因为所有的x有哪些,实际上是没办法穷尽的,以及F有哪些,是未来才知道的。代表一种完全信息视角。 这个和“传统”的数学递推公式是反过来的,传统的递推公式是,利用过去的推理未来的,例如斐波那契额数列 ,假设的是F(n-1)和F(n-2)我们已经知道,我们就可以推理F(n)(这也是动态规划算法的核心)。这个是【利用过去的信息推理未来的】。 因此,机器学习/最优化,本质是预测未来。实际上,arg_max 公式,如果用编程语言来表达,非常好理解: 这个思维方式代表的是“从未来反推现在”:F(x) 是未来某种评估函数,我们假设它存在,并试图找到现在该做什么(x)才能让它最大。 def arg_max(X, F): best_x = None best_score = float('-inf') …

逻辑题 – 帽子是黑的还是白的?

老婆每天晚上都会打开一个 智力测试的 APP 然后 有一天就问我这么一道智力题. 有三顶白色帽子 两顶黑色帽子. 有三个人被蒙着眼睛 然后随机的被戴上帽子 其中剩下的两顶就放在隔壁屋 每个人只能看到其他两人帽子的颜色 并不知道自己头顶上帽子的颜色. 每个人只有一次猜对的机会 不能互相交谈 已知第一个人看到其他两个人头顶上的颜色是白色 过了五分钟后其他两个人并不能猜出自己头顶上帽子的颜色. 请问第一个人能猜出自己帽子的颜色么, 为什么? 分析 假设 第一个人是A, 其他两个是B 和C. 并且如果A戴着的是黑色帽子. 这样 B 看到的就是 A=黑, C=白. …