第十五章:求因果五法 / Mill's Methods ——科学发现的逻辑

"找因果关系,就像排查bug——系统化方法比瞎猜靠谱一万倍。"

你有没有这样的经历?

  • "为什么我每次走这条路都被架?"
  • "同样的枪,为什么这次压不住?"
  • "明明没改设置,灵敏度感觉变了?"

这些问题的核心都是:找因果关系

科学家怎么找因果?不是靠运气,而是靠系统方法。

本章教你穆勒五法 / Mill's Methods——科学发现的五大逻辑武器: - 求同法:找共同点 - 求异法:找唯一差异 - 求同求异并用法:双重验证 - 共变法:看变化趋势 - 剩余法:排除后的答案


15.1 求同法 / Method of Agreement ——共同点就是原因

15.1.1 求同法的结构

逻辑结构: - 场合1:有因素A,出现现象a - 场合2:有因素A,出现现象a - 场合3:有因素A,出现现象a - 其他因素都不同 - 所以,A是a的原因

简单说:每次出现某现象时,都有一个共同因素,那这个因素可能就是原因。

15.1.2 游戏场景:为什么每次走这条路都被架?

现象:你每次从A小道走,都被打死

记录场合: - 场合1:早上打,走A小道,被架死,对面有狙击 - 场合2:晚上打,走A小道,被架死,对面有步枪 - 场合3:单排,走A小道,被架死,对面是路人 - 场合4:组排,走A小道,被架死,对面是车队

求同分析: 不管时间、对面配置、单排组排有什么不同,共同点是:你走A小道。

结论:A小道可能有个常规架点,或者你的走位太容易被预判了。

15.1.3 求同法的局限与注意事项

局限1:可能有多个共同因素

如果你每次被架死时,不仅走了A小道,而且都是开局30秒走的,那到底是"走A小道"还是"开局30秒"是原因?

局限2:巧合可能看起来像因果

你穿红衣服时连赢3把,红衣服真的是原因吗?可能只是巧合。

使用建议: - 找共同因素时,尽量控制其他变量 - 需要多次验证,不能仅凭2-3次就下结论 - 找到共同因素后,用求异法验证(见下节)


15.2 求异法 / Method of Difference ——唯一差异就是原因

15.2.1 求异法的结构

逻辑结构: - 场合1:有因素A,出现现象a,其他因素B、C、D... - 场合2:无因素A,无现象a,其他因素B、C、D...相同 - 所以,A是a的原因

简单说:其他条件都一样,只有一个因素不同,结果也不同,那这个因素就是原因。

15.2.2 游戏场景:同样的枪,为什么这次压不住?

现象:平时能压住的枪,今天压不住了

对比分析

因素 平时(能压住) 今天(压不住)
相同 相同
配件 相同 相同
地图 相同 相同
网络延迟 20ms 80ms
鼠标DPI 800 800
帧数 144 60

求异分析: 其他都一样,只有两个因素不同: - 延迟从20变80 - 帧数从144变60

进一步验证: - 如果是延迟问题,其他时候高延迟也应该压不住 - 如果是帧数问题,锁60帧试试

实验:你故意锁60帧,发现确实压不住了。

结论:帧数降低导致压枪手感变了(视觉反馈延迟)。

15.2.3 控制变量法与求异法

控制变量法就是求异法的科学应用。

实验设计: - 保持所有条件不变,只改变一个变量 - 观察结果是否变化

游戏中的A/B测试: - 灵敏度A打10把,记录KD - 灵敏度B打10把,记录KD - 其他尽量保持一致(地图、时间、状态) - 看哪个灵敏度表现更好

这就是求异法的实战应用。


15.3 求同求异并用法 / Joint Method ——双重验证

15.3.1 并用法的步骤

求同法找可疑因素,求异法验证它。两者结合,可靠性大增。

步骤: 1. 正面场合(有现象):求同,找共同因素A 2. 反面场合(无现象):求同,找共同因素"无A" 3. 对比正反场合:用求异法确认A和现象的关联

15.3.2 游戏场景:某英雄/武器是否真的超标?

问题:大家都说某把枪超标,是真的吗?

正面场合(超标表现): - 场合1:职业选手用,数据爆炸 - 场合2:高分段用,胜率奇高 - 场合3:低分段用,也能乱杀

求同:这三个场合的共同因素是"使用了这把枪"

反面场合(无超标表现): - 场合4:职业选手不用,数据正常 - 场合5:高分段不用,胜率正常 - 场合6:这把枪被ban了,比赛精彩度下降

求同:这三个场合的共同因素是"没使用这把枪"

并用法结论: 用这把枪 → 数据异常(强) 不用这把枪 → 数据正常 所以这把枪确实有问题

15.3.3 并用法的可靠性

求同求异并用法比单独用求同或求异更可靠,因为: - 正面场合验证了"有A则有a" - 反面场合验证了"无A则无a" - 两者对照,排除了很多巧合因素

注意:并用法工作量很大,需要收集大量数据。适合重大决策,不适合日常小事。


15.4 共变法 / Method of Concomitant Variation ——一起变化就有因果

15.4.1 共变法的结构

逻辑结构: - 因素A变化,现象a也随之变化 - A增加,a增加;A减少,a减少 - 所以,A和a有因果关系

简单说:两个变量一起变,可能有因果关系。

15.4.2 游戏场景:灵敏度和命中率的关系

假设:灵敏度影响命中率

实验记录

灵敏度 命中率
400 25%
800 35%
1200 30%
1600 20%

共变分析: 命中率随灵敏度变化呈倒U型: - 太低(400):转不过身,命中率低 - 适中(800):最佳 - 太高(1600):微调困难,命中率低

结论:存在最优灵敏度区间,不是越高越好或越低越好。

15.4.3 共变法的陷阱:伪相关

重要警告:共变不等于因果!

伪相关例子: - "冰淇淋销量增加,溺水事故增加" - 真正原因:夏天到了,两者都增加 - 冰淇淋和溺水没有因果关系

游戏中的伪相关: - "我用红色准星时KD更高" - 可能真正原因:那段时间你状态好/练枪多/对手弱 - 准星颜色和KD可能没有因果关系

如何避免: 1. 考虑是否有第三因素同时影响两者 2. 用求异法验证(改回原来的准星看KD是否下降) 3. 多次重复实验


15.5 剩余法——排除后的剩余

15.5.1 剩余法的结构

逻辑结构: - 复合现象a、b、c的复合原因是A、B、C - 已知A是a的原因 - 已知B是b的原因 - 所以,C是c的原因

简单说:排除了已知原因,剩下的现象对应剩下的原因。

15.5.2 游戏场景:伤害计算中的未知因素

场景:你打了一梭子,伤害显示比预期低很多。

已知因素: - 基础伤害:35/发 × 10发 = 350 - 实际伤害:200 - 差额:150

排除已知原因: - 距离衰减?已经算进去了,还有差额 - 打中四肢?算进去了,还有差额 - 对方有甲?算进去了,还有差额

剩余现象:还有50伤害去哪了?

发现:你漏算了一个因素——对方开了减伤技能/被动

剩余法结论:未知因素 = 对方技能减伤

15.5.3 剩余法的应用场景

适用场景: - 复杂系统,已知部分原因 - 需要找出未知原因 - 有明确的预期值和实际值对比

游戏中的例子: - 帧数异常:排除了显卡、CPU、网络,剩下内存问题 - 音频延迟:排除了耳机、驱动、游戏设置,剩下声卡问题 - 手感不对:排除了灵敏度、DPI、鼠标,剩下鼠标垫问题


15.6 五法综合实战

15.6.1 科学发现的完整流程

真实案例:找出"为什么我最近老是输"

第一步:求同法缩小范围 记录输的局,找共同点: - 都是晚上打的? - 都是单排? - 都用了某把枪? - 都在某个地图?

假设发现:输的局都是晚上11点后打的。

第二步:求异法验证 对比赢的局和输的局: - 赢的局:晚上9点前打 - 输的局:晚上11点后打 - 其他因素尽量控制相同

第三步:共变法确认 记录不同时间段的胜率: - 8-10点:胜率65% - 10-12点:胜率55% - 12点后:胜率40%

胜率随时间推移下降,说明"疲劳"可能是原因。

第四步:求同求异并用 正面场合(输):都是深夜,疲劳 反面场合(赢):都是早些时候,不疲劳

结论:深夜疲劳导致判断力下降,是输球原因。

第五步:验证 连续一周早睡早打游戏,胜率回升,验证成功。

15.6.2 生活中的因果分析

问题:为什么我最近学习效率低?

求同:低效时段的共同因素?都在刷手机? 求异:高效时段和低效时段的区别?环境?时间? 共变:学习时长和效率的关系? 并用法:多角度验证 剩余法:排除了环境、方法、内容,剩下睡眠因素

15.6.3 五法的选择策略

方法 适用场景 可靠性
求同法 现象多次出现,找共同点
求异法 可以控制变量做对比
并用法 重大决策,有时间做全面分析
共变法 变量可以连续调节
剩余法 复杂系统,已知部分原因

建议: - 日常问题:求同+求异就够了 - 重要决策:并用法 - 调优参数:共变法 - 疑难杂症:剩余法


本章小结

求同法: - 多个场合出现同一现象,找共同因素 - 局限:可能有多个共同因素,可能有巧合

求异法: - 正反场合对比,唯一差异就是原因 - 核心:控制变量,保持其他条件相同

求同求异并用法: - 正面场合求同 + 反面场合求同 + 对比求异 - 最可靠,但工作量最大

共变法: - 变量一起变化,可能有因果关系 - 注意伪相关陷阱

剩余法: - 排除已知原因,剩余的就是未知原因 - 适用于复杂系统和数值计算

核心技能: 1. 根据情况选择合适的方法 2. 求同找线索,求异做验证 3. 警惕伪相关,用实验确认因果 4. 复杂问题组合使用多种方法


逻辑实战 🔥

练习 1:方法识别

以下场景使用了哪种求因果方法?

  1. "我穿这件衣服时赢得多,不穿时赢得少,所以这件衣服是我的幸运衣服。"

  2. "每次网络卡的时候帧数也低,帧数高的时候网络也流畅,所以帧数和网络有关?"

  3. "排除了显卡、CPU、内存问题,电脑还卡,所以是硬盘问题。"

  4. "职业赛这把枪出场率高,路人局出场率也高,所以这把枪强?"

  5. "灵敏度从400调到800,命中率提高;800调到1200,命中率下降。所以800左右最好。"

练习 2:求异法设计

你想验证"耳机是否影响听声辨位"。

设计一个实验,使用求异法,控制其他变量。

练习 3:伪相关分析

以下共变关系,哪些是伪相关?为什么?

  1. "我用新鼠标垫后连赢了5把,所以新鼠标垫提高了我的水平。"

  2. "服务器人数越多,我的延迟越高。"

  3. "我喝水越多,去厕所越频繁。"

  4. "对面段位越高,我的KD越低。"

练习 4:综合应用

场景:你发现自己打狙的命中率时高时低,不稳定。

任务: 1. 用求同法找出可能的影响因素(列出3个) 2. 设计一个求异法实验验证其中一个因素 3. 如果用共变法,你会怎么设计实验? 4. 分析可能存在的伪相关

练习 5:五法综合运用

假设你是游戏策划,要验证"新地图是否平衡"。

设计一个完整的验证方案,使用至少三种求因果方法,说明: 1. 用什么方法收集什么数据 2. 如何分析数据 3. 得出什么结论算"平衡",什么算"不平衡"


本章完