O3 Mini、DeepSeek R1 与 Google Gemini 2 Think 对比
人工智能的飞速发展,使得大型语言模型在解决复杂数学问题方面展现出越来越强大的能力。但它们能否应对小学竞赛级别的逻辑难题呢?之前我曾对多种模型进行过测试,现在,随着OpenAI全新O3模型的发布,我进行了最新的对比评测。

此前,我对当前市面上可用的LLM模型进行了全面的数学问题解决能力测试。在测试过程中,我给这些模型布置了一道来自五年级全国数学竞赛的题目。在之前的测试中,只有DeepSeek R1和OpenAI O1成功正确地解决了问题,而其他模型要么完全卡住,要么在逻辑上接近了问题,但最终未能得出正确答案。之前的LLM对比测试可以在这里找到。
这次,我因OpenAI O3模型的发布而进行了另一次测试。题目再次来自五年级全国数学竞赛。由于之前的实验清楚地表明,传统模型(如Claude Sonnet 3.5、Qwen 2.5、Llama 3.3)无法解决这类问题,因此这次我只比较了之前成功的DeepSeek R1和新推出的Google Gemini 2.0 Flash Thinking Experimental模型与OpenAI O3。
我对问题文本进行了轻微修改,以确保模型的性能不受细微语言差异的影响。因此,本次测试主要比较的是它们的逻辑推理能力,而不是文本理解能力。
测试任务描述:
十二个人围坐在桌子旁。他们要么是骑士(L),要么是强盗(T),要么是农民(P),且每种类型至少有一人。骑士总是说真话,强盗总是说谎,农民的行为如下:如果农民的左边邻居是强盗,则说真话;如果左边邻居是骑士,则说谎;如果左边邻居是农民,则既可能说真话也可能说谎。每个人都声称他们的右边邻居是强盗。桌子旁坐着多少个强盗?
这次,我不会发布完整的逐步推理过程,只发布解决方案和结果,因为详细的推导过程完全割裂了之前的文章(即使模型以非常有趣和具有启发性的方式推导出了计算,并且“思考”方式也大相径庭)。
OpenAI o3
成功在第一次尝试时解决,用时1分21秒。经过长时间的推理和论证,解决方案在一个较长的答案中进行了解释。尽管它在某种程度上忽略了桌旁每种类型的人至少有一人的细节,但最终的结论仍然是正确的:
假设围坐在桌旁的12个人按顺序(模12)为x1, x2, …, x12。每个人都有一个类型:
- L(骑士,总是说真话),
- T(强盗,总是说谎),
- P(农民,其行为取决于他们的左边邻居):
- 如果他们的左边邻居是T,他们就说真话,
- 如果他们的左边邻居是L,他们就说谎,
- 如果他们的左边邻居是P,他们可以自由选择(说真话或说谎)。
每个人都声称:
“我的右边邻居是T。”
这意味着根据以下规则,i号人(“xi+1是T”)的陈述必须为真(或者如果说话者说谎则为假):
- 如果xi=L,则陈述必须为真,因此xi+1确实是T。
- 如果xi=T,则陈述必须为假,因此xi+1不能是T(因此是L或P)。
- 如果xi=P,则取决于他们的左边邻居(xi−1):
- 如果xi−1=T,那么xi说真话,所以xi+1必须是T。
- 如果xi−1=L,那么xi说谎,所以xi+1不能是T。
- 如果xi−1=P,那么xi可以“自由”行动——在这种情况下,对于xi+1的类型没有强制性的后果。
第一个“非平凡”的观察
让我们看看如果有人是T(强盗)会发生什么:
- 假设xi=T。由于T总是说谎,根据他们的陈述,xi+1不能是T。所以
xi+1 ∈ 。
- 让我们检查xi+1的两种可能类型:
- 如果xi+1=L(骑士),那么由于骑士总是说真话,他们的陈述意味着
xi+2=T。
- 如果xi+1=P(农民),那么他们的左边邻居xi是T,所以xi+1说真话,因此也
xi+2=T。
因此,在xi=T(强盗)的每种情况下,结果都是在两个位置之后,在xi+2处也必须有一个T。推论:桌子的极性
由于桌子旁的人数是12(偶数),如果至少有一个T,那么“T链”会延伸到圆圈周围的每隔一个人。换句话说:
- 如果xi=T,那么与i属于相同奇偶校验类别的所有人(例如,如果i是奇数,那么所有奇数位置的人都将被迫是T)都必须是T。
- 然而,对于T(强盗),右边邻居——属于相反奇偶校验类别的人——不能是T(因为T说谎)。
因此,如果我们从混合中选择(不是全部“农民数量”),如果至少有一个L或T,唯一的可能性是:
- 一个奇偶校验类别(例如,奇数位置)完全由T(强盗)组成。
- 另一个类别(偶数位置)不包含T(只能存在L或P元素)。
由于有12个座位,偶数和奇数位置都代表6个人,因此这样的(非“平凡”)解决方案将恰好有6个强盗。
平凡的情况
当然,也可能每个人都是农民(P)。在这种情况下:
- 每个人的左边邻居都是P,所以根据“农民规则”,他们没有义务说真话,这意味着他们可以选择说谎。
- 由于陈述始终是:“我的右边邻居是T”——但右边邻居实际上是P——陈述是假的。因此,每个P都可以决定说谎,从而满足规则。
这个“全是P”的解决方案有0个强盗。
什么是“正确”答案?
在这样的问题中,通常有一个隐含的假设,即我们正在寻找一个“非平凡”(非退化)的解决方案,这意味着我们假设桌旁至少有一个人不是P(例如,骑士或强盗)。这个假设排除了“全是农民”的解决方案,因此,在非平凡的情况下,之前的推理得出6个强盗(即6个T)。
最终答案
如果我们假设桌子有一个“非平凡”的解决方案,意味着并非所有人都是农民,我们得出以下结论:
桌子旁坐着6个强盗。
DeepSeek R1
成功在第一次运行时解决,用时4分1秒。相比之下,答案非常简短,仅包含以下内容:
解决方案涉及分析每种类型的人(骑士、强盗、农民)及其陈述所施加的约束。由于每个人都声称他们的右边邻居是强盗(T),我们推断:
骑士(L)的右边必须是强盗。
强盗(T)的右边必须是非强盗(L或P)。
农民(P)取决于他们的左边邻居:
如果左边邻居是T,他们就说真话(右边邻居是T)。
如果左边邻居是L,他们就说谎(右边邻居不是T)。
如果左边邻居是P,他们的陈述是模棱两可的。
- Use code with caution.
考虑到环形排列,强盗的最大数量出现在交替模式中,其中每个强盗都与一个非强盗隔开。诸如T-P-T-P...或L-T-L-T...之类的有效模式产生6个强盗(每隔一个座位)。引入农民不会增加强盗的数量,因为当与强盗相邻时,他们会受到说真话的约束。
答案: 桌子旁有6个强盗。
Google Gemini 2.0 Flash Thinking Experimental
在第一次运行时成功解决,用时41秒。这里的答案也很简短,与另外两个模型相比,推导过程也更短。关于Gemini的另一个有趣之处是,它主要使用了“纯粹”的数学推导。
我们发现的有效配置是:
L, T, L, T, L, T, L, T, L, T, L, T (6 个强盗)
T, L, T, L, T, L, T, L, T, L, T, L (6 个强盗)
P, T, L, T, L, T, L, T, L, T, L, T (6 个强盗)
T, P, T, L, T, L, T, L, T, L, T, L (6 个强盗)
P, T, P, T, P, T, P, T, P, T, P, T (6 个强盗)
T, L, T, P, T, L, T, P, T, L, T, P (6 个强盗)
在每个有效配置中,强盗的数量都是6个。因此,我们得出结论,桌子旁有6个强盗。
最终答案: 最终答案是 6