第十五章:求因果五法 / 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:方法识别
以下场景使用了哪种求因果方法?
-
"我穿这件衣服时赢得多,不穿时赢得少,所以这件衣服是我的幸运衣服。"
-
"每次网络卡的时候帧数也低,帧数高的时候网络也流畅,所以帧数和网络有关?"
-
"排除了显卡、CPU、内存问题,电脑还卡,所以是硬盘问题。"
-
"职业赛这把枪出场率高,路人局出场率也高,所以这把枪强?"
-
"灵敏度从400调到800,命中率提高;800调到1200,命中率下降。所以800左右最好。"
练习 2:求异法设计
你想验证"耳机是否影响听声辨位"。
设计一个实验,使用求异法,控制其他变量。
练习 3:伪相关分析
以下共变关系,哪些是伪相关?为什么?
-
"我用新鼠标垫后连赢了5把,所以新鼠标垫提高了我的水平。"
-
"服务器人数越多,我的延迟越高。"
-
"我喝水越多,去厕所越频繁。"
-
"对面段位越高,我的KD越低。"
练习 4:综合应用
场景:你发现自己打狙的命中率时高时低,不稳定。
任务: 1. 用求同法找出可能的影响因素(列出3个) 2. 设计一个求异法实验验证其中一个因素 3. 如果用共变法,你会怎么设计实验? 4. 分析可能存在的伪相关
练习 5:五法综合运用
假设你是游戏策划,要验证"新地图是否平衡"。
设计一个完整的验证方案,使用至少三种求因果方法,说明: 1. 用什么方法收集什么数据 2. 如何分析数据 3. 得出什么结论算"平衡",什么算"不平衡"
本章完