用 AI 检查洗牌规则:每次随机交换,最后也可能不等可能

前天 3阅读

请AI为聚会卡片设计洗牌规则时,“每张都随机换一次位置”听起来很公平。但过程里出现随机选择,不代表最后每种排列的机会相同。把卡牌减到三张,就能不用大量试抽,直接检查每一种可能路径。

用 AI 检查洗牌规则:每次随机交换,最后也可能不等可能

AI生成概念示意图:三张卡片通向不同排列路径;连线是概念装饰,不是正文精确路径表或实际随机测试。

先把随机动作说成完整规则

以下是原创教学模型,三张卡分别为甲、乙、丙,初始顺序固定。错误候选规则是:依次处理第一、第二、第三个位置;轮到一个位置,就从全部三个位置等可能选一个,与它交换,允许选中自己,各轮选择相互独立。

每轮有三种选择,三轮共有二十七条等可能操作路径。但三张不同卡只有六种最终排列。二十七不能被六整除,因此六种排列不可能各自接收相同数量的等概率路径,这已经足以否定完全均匀。

这里要数的是操作路径落到哪里。某张卡看起来移动了很多次、每个位置都曾被抽选,都不能代替最终分布。相同排列可能由不同交换顺序得到,这些路径必须合并计算概率。

把六种结果的路径数量列全

本地程序逐条枚举二十七种位置选择后,甲乙丙、丙甲乙、丙乙甲各出现四条;甲丙乙、乙甲丙、乙丙甲各出现五条。前一组每种机会为二十七分之四,后一组每种为二十七分之五,确实不相同。

人工可以先取一条容易核对的路径:每轮都选择当前位置,最终仍是甲乙丙。再取第一轮交换一和二、第二轮交换二和一、第三轮选择自己,最终也回到甲乙丙。两个不同过程落到同一个结果,正是需要汇总路径的原因。

把六个计数加起来得到二十七,是一项必要核对;同时还应检查每条路径实际执行了三轮,以及交换后使用的是当时位置上的卡,不能一直拿初始卡牌身份当位置。

固定一个位置后,就不再把它打乱

另一种规则先处理第三个位置:从三个位置等可能选一张交换到末尾。随后只处理前两个位置,从它们之中等可能选一张放到第二位,第一位自然留下最后一张。选定的末尾不再参加第二轮。

这次共有三乘二,即六条等可能路径,本地枚举得到六种排列各一次。也可以逐位置理解:末尾每张卡机会都是三分之一,确定末尾后,剩余两张各有二分之一机会占第二位,因此每个完整排列都是六分之一。

反例是第二轮又从全部三张中选择。那会重新动到刚固定的末尾,前面的乘法理由随之失效。修订规则时要检查允许抽选的范围,而不是只把轮数从三次删成两次。

把均匀性的依据交给使用者

可复用提示词:“先复述每轮选位置的范围、概率与是否独立,再枚举三张不同卡的全部操作路径。按最终排列汇总路径数量,判断是否等可能;给出一种可证明均匀的修订规则,并保留错误规则作为反例。”

少量现场试洗的结果不必恰好六等分,偶然偏多也不能单独证明规则有偏。这个练习用完整枚举验证有限规则;实际实现还需要可靠随机来源并照规则操作。AI负责把路径摊开,人负责确认执行过程没有换掉已经验证的条件。

文章版权声明:除非注明,否则均为云鹊BLOG原创文章,转载或复制请以超链接形式并注明出处。