用 AI 检查翻币小游戏:找出不变量,就知道哪些目标不可能
一个翻筹码小游戏,如果让 AI 不断尝试操作,可能得到一长串看似接近成功的步骤。更有效的问题有时是:无论怎样合法操作,有没有某种性质始终不变?找到这样的不变量,就能先判断目标是否值得继续寻找。
AI生成概念示意图:成对翻动的双色筹码;画面表示操作概念,不对应正文某一步的准确状态,也不是游戏界面。
先把允许的动作写完整
以下六枚筹码、颜色和游戏规则均为原创虚构练习。每枚筹码一面蓝色、一面橙色,蓝色记为正面。开始时六枚全部橙面朝上,每一步必须选择两枚不同筹码,同时翻面,不允许只翻一枚。
暂时允许任意两枚搭配,不限制是否相邻,也不限制同一枚被多次翻动。目标是让恰好三枚蓝面朝上。请 AI 先解释一次动作怎样改变蓝面数量,而不是立刻生成所谓获胜步骤。
两枚都是橙面时,翻后增加两个蓝面;两枚都是蓝面时,翻后减少两个蓝面;一蓝一橙时,翻后蓝面总数不变。数量变化只有加二、减二和零,三种情况已经覆盖全部选择。
从每一步推到任意多步
开始的蓝面数量是零,属于偶数。每一步只增加或减少偶数,所以无论操作多少步,蓝面数量仍是偶数。三是奇数,因此“恰好三枚蓝面”在这套规则下不可能达到。
这个证明不依赖 AI 尝试了多少条路径。即使它枚举了一千条失败路径,也不能仅凭失败次数证明不可能;不变量直接说明所有合法步骤都保留同一性质,因此排除了整个目标类别。
如果模型给出三枚蓝面的方案,人工可以逐步翻纸片,找出第一次只翻了一枚、重复写入状态或把一蓝一橙误算为增加两枚的地方。验证具体步骤与证明不可能性,是相互补充的检查。
偶数目标通过了必要检查,还要看动作限制
在原规则下,四枚蓝面很容易做到:先翻第一与第二枚,再翻第三与第四枚,最终前四枚为蓝,后两枚仍为橙。这里给出实际路径,说明这个目标确实可达,而不只说它没有被奇偶性排除。
现在修改规则,只允许翻固定的三对:第一与第二、第三与第四、第五与第六。每一对只能一起变化,因此从全橙开始,同一对的两枚颜色始终相同。这是新增限制带来的另一项不变量。
此时“只有第一和第三枚为蓝”虽然一共有两个蓝面,却无法达到,因为它要求前两对内部颜色不同。全局数量为偶数只是必要条件,不能代替对新规则下全部限制的检查。
AI 应把规则变化与证明分开保存,不能把原来允许任意配对的成功路径,直接拿来证明固定配对版本也能做到。题目只改一句话,可达状态的集合就可能改变。
用穷举做独立核对,而不是替代解释
六枚双色筹码共有六十四种状态。按任意两枚翻面的原规则,从全橙出发能到达其中三十二种,全部具有偶数个蓝面;固定三对版本只能到达八种,每一对两枚同色。
可以请 AI 协助列出状态,再用短程序从起点逐步扩展合法下一步,去掉重复状态,直到没有新状态出现。程序应独立实现翻面规则,并核对数量与不变量一致,不能只打印预先写好的答案。
这些小数字适合人工纸片与程序交叉检查。更大的题目未必方便穷举,不变量仍能先缩小范围。AI 的角色是提出可能保持不变的性质、解释每一步为何保持;人负责核对规则与推导,不把流畅的步骤当作证明。


