摘要
SE(状态估计:把读到的观察累积成对局状态和对手构筑的推断)可以根据敌方英雄的可见属性数字,搜索一套能解释这些数字的装备/技能组合。但当时的公开接口只返回“排名前两条的启发式示例”。用户希望看到“每件装备有多大可能”,而这两条示例并不构成任何统计总体——如果直接显示“2/2 示例都有这件装备 = 100%”,就是在制造虚假的确定性。
本实验写了两个小原型:
- 呈现原型:只消费已返回的公开结果,选出一条“零残差”的完整条件方案整套展示;逐项只标“候选”,概率和支持比例一律为空;用户声明和直接观察优先。
- 有限联合域证明:用一个只有 4 个预先声明的完整假设的合成例子,演示“在完整、权重已声明的有限域内”才能合法算出逐项边际,并说明为什么不能把逐项最高拼成一个方案。
两者都不是公共接口、命令行或 App 生产依赖,没有 OCR、训练或准确率声明。
要回答的问题
在当前接口只返回两条启发式示例的条件下,App 能诚实地展示什么、不能声称什么?如果以后要给出逐项概率,需要满足什么前提?
数据与来源
- 呈现原型消费一份保留的真实公开构筑结果样例(作为测试夹具)。
- 有限域证明只用明确标注为“虚构”的合成夹具,与真实样例分开存放。
方法
呈现原型的规则:
- 只有当某条返回示例的观察值、预测值和残差逐项吻合且残差全为 0(“零残差见证”)时,才把它作为一整套“推断方案·有条件”展示;英雄条件、预测/残差、模型和未知项放在详情。
- 不同示例的装备不能按槽拼接;模型不吻合的示例不放主页冒充可行方案。
- 每件装备只标“候选”,概率和支持比例都是空;技能没有未知技能的边际,标“待推断”,空的额外技能不代表“未学”。
- 来源(对局、版本、截止时刻)不一致的结果不能合并;当前来源已变化的旧结果标“过期”,保存的结果只能作为历史展示。
- 用户声明或直接观察到的事实优先,候选不能覆盖它们。
- 另有“依赖灯”:分别显示缺字段、待关联、冲突、历史、算法暂不支持等状态,不汇总成一个整体完成百分比;没有实例清单时覆盖率为空,不猜分母。
有限联合域: 设一个调用前就冻结的小域 D,每个元素 h 是一个完整联合假设(英雄、全套装备/技能等),带声明的先验权重 w(h),并逐一标记“兼容/不兼容/未检查”。只有当 D 全部检查完、权重已声明、兼容质量之和大于 0 时,才用
P(h | 证据, D) = w(h)·L(证据|h) / Σ_D w·L
计算域内分布(第一版 L 只取 0 或 1,表示是否满足规则硬约束),某件装备的边际就是包含它的所有假设的质量之和;主方案选完整的最大后验假设。任何未检查项、域不完整、先验未知、或域只是“前 K 条展示”,边际和最大后验都为空,不能在已访问前缀上重新归一化。
设置
验证使用现有核心环境中的两组测试:呈现原型测试和有限域原型测试。
结果
合成域例子: 4 个声明假设,先验 4/3/3/2,第 4 个不兼容。归一化后前三个为 0.4/0.3/0.3。装备 A 的边际 0.4 最高,技能 X 的边际 0.6 最高,但“A + X”这个组合不在 D 里;完整的最大后验方案是“A + Y”。这正是“不能把逐项最高拼成方案”的反例。重复假设被拒绝,零兼容质量不会产生 100%,未检查/域不完整/先验未知/来自前两条示例时全部为空。
呈现原型的反例覆盖: 前两条示例相同不显示 100%;互斥示例不被拼装;模型不符时不凭空造技能;用户声明和观察优先;对局/版本/截止时刻隔离。
失败与负结果
没有失败记录;但需要明确:本原型没有实现任何概率算法,用户要的“逐项概率”在当前接口下仍然无法提供,只能显示“候选/待推断”。
局限
- 合成算术验证不是商业游戏规则合法性的证明,也不是实战后验或准确率。
- “最优可行”在当前接口只能落实为“已返回且满足已用约束的最佳完整条件示例”,不是全局最优。
- 当时规则提供方给出的减属性原因表显示,多个装备/技能可能产生相同效果,且安装版本与知识库补丁不一致,所以属性差值暂时不能归因到唯一来源。
结论与下一步
当前接口能诚实展示的是“一整套有条件的候选方案 + 逐项候选标签 + 明确的缺口提示”,不能显示任何概率。要给出逐项边际,下一里程碑是先冻结一个小的、完整的有限联合域,用公开规则核对每个假设的合法性,并明确声明先验;该提案仍待相关方评审,若需要新返回字段,应另开显式启用的新合同,而不是往现有严格格式里加字段。
Comments