判式换代批T0-T3(迭代14②):audit常量刷新(池77/直伤6-8-8/heal2/清图24-40/AP8/off_guard-1/伏击退役/九型字典/β带+逐型输出——改前静态锚判值与方案报告§四逐位吻合)+runsum五字段落码(flag_placed/hit/miss/gain/penalty——行侧判据考证=授予行专带highlight,状态复发行排除,实测87行==87插旗1:1)+F1条款3重立三层口径(聚合健康式只留下限0/旗边际引理/条件二旗溢价δ=0.25登记已知破)+β带[1.2,2.5]判读入文+η读数入文+战斗结算gp/ap当量注记+验收条款3对账+难度联动表+6行+P1改判读回执+registry clause3_inequality重立条(改前锚+P7两点修正)+06破线条收口+07⑫旗溢价目检项;闸=冒烟747/0+doc三闸对基线零新增(worktree死链+2系gitignored路径环境性)
This commit is contained in:
1 parent
912dcb20b9
commit
26374accb3
9 files changed
+241
-84
No files matched your search
@@ -59,7 +59,7 @@
|
||||
|
||||
**归属**:[难度曲线与Boss](systems/冒险循环/难度曲线与Boss.md)提案,战斗结算闭合共裁
|
||||
|
||||
**状态**:对账复跑出讫(2026-09-29 迭代 8 卡⑧——投值后风险端当量 ×1.9,破线缓解未闭合;全量复算见 git 提交 d70f6c3 §二;结构性修订维持 Alpha 批归属)。**2026-10-04 判读收官+修订立项**:结构性修订已全裁(用户两轮「按推荐的来」+grill 七问——甲+丙先行/形态(a)兑付溢价 δ=1.25/β 带 [1.2,2.5]/条件二落文登记已知破·机制小批转绿,裁决回执=方案报告 §九,`design/research/方案-挖掘风险不等式修订-2026-10-04.md`);**判式换代批编入 roadmap 迭代 14(②号卡)**,任务书=`.zcode/plans/mine-inequality-revision-miniloop-plan-2026-10-04.md`(T0-T5≈2.5d,待 U0)——**原「Alpha 批归属」作废**(M-3 已关闭);本条正式收口随该批 T3 判式落文执行
|
||||
**状态**:对账复跑出讫(2026-09-29 迭代 8 卡⑧——投值后风险端当量 ×1.9,破线缓解未闭合;全量复算见 git 提交 d70f6c3 §二;结构性修订维持 Alpha 批归属)。**2026-10-04 判读收官+修订立项**:结构性修订已全裁(用户两轮「按推荐的来」+grill 七问——甲+丙先行/形态(a)兑付溢价 δ=1.25/β 带 [1.2,2.5]/条件二落文登记已知破·机制小批转绿,裁决回执=方案报告 §九,`design/research/方案-挖掘风险不等式修订-2026-10-04.md`);**判式换代批编入 roadmap 迭代 14(②号卡)**,任务书=`.zcode/plans/mine-inequality-revision-miniloop-plan-2026-10-04.md`(T0-T5≈2.5d,待 U0)——**原「Alpha 批归属」作废**(M-3 已关闭)。**本条正式收口(2026-10-05 判式换代批 T3 落文=兑现条件)**:判式三层已重立落文(行动经济 F1 条款3 v0.8——聚合健康式只留下限 0 / 旗边际引理 / 条件二旗溢价 δ=0.25 provisional 形态 a,登记已知破·本批 T4 机制闭合)、β 带 [1.2,2.5] 判读制度化(u=3 β=1.17 微破下限=登记态)、registry `clause3_inequality` 重立条+改前静态锚+P7 两点修正注记落位、runsum 五字段(η 读数面)落码。**残留转登记面**:①u=3 微破下限与条件二等号压线不强制回滚(方案 §九 点名);②δ 敏感度判读(≥5pp 判据)随本批出口报告;③后续调参按 β 带逐 u 检算(难度曲线与Boss 调参联动表 +6 行)——不再立独立重跑批
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -119,6 +119,14 @@
|
||||
|
||||
**局后随手记**(一句话):Boss 图这层"攻击多、回血少"的体感成不成立;有没有觉得 Boss 图突然变难/变容易。读数核对归模拟批(off/on 双档,只测不判),你的体感只做方向参考——不会当场改数值。
|
||||
|
||||
### ⑫ 旗溢价兑付与标旗激励(2026-10-05 挖掘风险不等式判式换代批随批登记——迭代14②号卡)
|
||||
|
||||
- **机制一句**:标中旗的正向兑付现在按同型正向 ×1.25 兑付(`settlement.tres` flag_hit_premium=125 provisional——条款3 条件二旗溢价形态 a),标空与挖格兑付不变;雷安同池结构零触碰。
|
||||
- **看什么(实机目检,约 5 分钟)**:①插旗标中一面旗,结算明细的兑付数值应比改前同类行略大(增伤 50→63 / 削弱 65→81 / 急救 2→3 / 金币袋 3→4;护甲强化与行动点 1 点量纲不变=整数粒度地板);②挖安全格与标空惩罚行数值应与改前逐位相同;③战斗结算帮助文案如有旗相关行,无自造词。
|
||||
- **行为读数(改前改后 MC 锚已采,判读随批出口报告)**:η=标中÷插旗 与 标旗率 位移 ≥5pp 判「有感」;行为无效 δ 仍保留+登记「行为无感」(判式诚实性不依赖行为弹性——2026-10-04 grill Q4 裁)。
|
||||
- **红灯信号**:标旗 rush 复发(首轮全标旗不挖——δ 与完美排雷 ×2 叠加通胀是既有联动面:旗溢价三件套 δ↔p_perfect↔ap_per_round 同窗检算,难度曲线与Boss 调参联动表在册)。
|
||||
- **结论回流**:体感 → 本条目记录;数值终值(δ 值与 ×1.5 档留后手)归调参批,不在试玩现场改数。**判式换代文本(行动经济 F1 条款3/战斗结算 验收标准/难度曲线与Boss 联动表三处修订稿)随批呈用户人闸**——追认单随出口报告。
|
||||
|
||||
## 验收读数重测义务(履行留痕 + 现行义务)
|
||||
|
||||
**已履行**(按序换代,旧读数各随其批作废留痕不入本单):①验收读数重测批(2026-09-19——Boss 单独出列/承伤带/通关率基线全量重测,硬化翻倍期·乏力死效果期·充能期旧读数作废);②迭代 5 基线重测(统一随机流后 MC+verifier 双窗);③**数值修复批新尺重测(2026-10-01)**——模拟档位重构后全量重测,新锚 `sim-data/runsum_numfix_final_n200_20261001.jsonl`,全旧带作废只测不判([numfix 报告](../qa/numfix-newruler-readings-2026-10-01.md));④**迭代 10 奖励重构批重锚(2026-10-01)**——四代锚 77000/78000/79000/80000(改前/重构后/共享池后/掷定前置后,各 400 局),普通 L1 41.8%/L2 10.2% 带内([读数报告](../qa/m3-iter10-clear-rate-readings-2026-10-01.md));⑤**T19 真人标定局收口(2026-10-03 用户裁)**——有效局 2(1 通关 1 死于 L3 首战,[读数报告](../qa/t19-real-playtest-readings-2026-10-02.md)),用户裁定**佐证级收口不再补局**;k 预期带同日立(**正常 >0.5、预警 <0.3**),字段随 81000 重锚入库后补算终值。
|
||||
|
||||
@@ -214,8 +214,14 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板
|
||||
| 护甲类型 ↔ 克制矩阵 | [战斗结算](../战斗循环/战斗结算.md) | 敌种护甲变更须复算击杀区间(2026-09-19 充能退役——原"充能投桶与量"联动半边废止) |
|
||||
| 护甲等级 ↔ 攻击基线 ↔ 区间带宽 | [战斗结算](../战斗循环/战斗结算.md) | 敌种与主角的护甲等级行值变更须复算生存链区间(掷点带宽随折扣档位与攻击基线同向放大);掷点形式与档位已定稿(d20 三档——档位读 `settlement.tres`;nat20 暴击形式留档,倍率同表),护甲等级行值变更仍须复算生存链区间并同步 registry——现行行值读 `hero.tres` / `enemy.tres` 的 armor_class 列(均暂定),敌方正式行值随怪物设定批投值、与加难杠杆扫描合并调 |
|
||||
| GP 供给 ↔ 商品定价 | [冒险结构](冒险结构.md)、[关卡节点地图](关卡节点地图.md) | 供给 × 定价 = 入关属性参数,单边移动须复算分层通关率带(商店与 GP 经济杠杆节)——动供给必复算分层带,禁独立调参 |
|
||||
| 旗溢价系数 δ ↔ 完美乘数 p_perfect ↔ ap_per_round | [战斗结算](../战斗循环/战斗结算.md)、[行动经济](../排雷循环/行动经济.md) | 旗激励三件套同窗检算(防标旗 rush 复发:δ 与 ×2 叠加通胀、AP 吞吐上限)——任一变动须重跑双画像标旗率读数(2026-10-05 判式换代批新增) |
|
||||
| η 读数 ↔ 模拟画像定义 ↔ 可推理率 ι ↔ min_safe_count/生成尝试上限 | sim 档位、[棋盘生成](../排雷循环/棋盘生成.md) | η 是画像条件量:画像重构即锚漂移,重锚随批;可推理率三元组既有联动扩一员(2026-10-05 判式换代批新增) |
|
||||
| β 带端点 β_lo/β_hi ↔ D_ref ↔ hero max_hp ↔ AC 折算档(5pp 系数) | [战斗结算](../战斗循环/战斗结算.md) | 带是 D_ref 的函数:换锚(D_ref/max_hp)须全带重推;AC 档值变更改 5pp 系数,同罪(2026-10-05 判式换代批新增) |
|
||||
| 直伤雷三行(6/8/8) ↔ 正向同轴行(heal_minor/pierce_strike/magic_bolt) | [地图战斗资源](../战斗循环/地图战斗资源.md) | **同轴镜像比入对账面**:负向/正向比超出 β 带内推导区间即越带;单边动负向三行今后必须带正向镜像行联合检算(2026-10-05 判式换代批新增——d70f6c3/数值修复批两先例的单边动教训成文) |
|
||||
| clear_blast 区间(24/40/32) ↔ p_perfect | [地图战斗资源](../战斗循环/地图战斗资源.md) | 完美排雷第二份的补贴基数进旗激励对账;单边动清图奖励 = 变相动旗(2026-10-05 判式换代批新增) |
|
||||
| 标中强化池权重 ↔ 正向池权重(77 分母) ↔ 关级恒等式奖励占比 [15,40%] | [地图战斗资源](../战斗循环/地图战斗资源.md) | 形态 (b) 专属池重摇启用时生效(现行不启):双池分布变动 = E_dig 与 W 同时漂移,须联合检算 + 恒等式占比复核(2026-10-05 判式换代批新增,条件生效行) |
|
||||
|
||||
五条经济契约的对账由[战斗结算](../战斗循环/战斗结算.md)闭合验收,其中挖掘风险不等式现行验算破线(现状见其「待办」);清图支配性已于 2026-09-19 按现行值链重跑、裁决②"非支配设计态"维持(回执见 git 提交 2ca3e20,报告已退役)——两型的重跑义务都落在本系统的下一次调参批随批执行,这是本系统当前最优先的调参义务。完美排雷乘数的调参权在本系统。
|
||||
五条经济契约的对账由[战斗结算](../战斗循环/战斗结算.md)闭合验收;挖掘风险不等式已于 2026-10-05 判式换代批重立(三层口径+β 带+条件二旗溢价——结构层接替与数值层带判读详见行动经济 F1 条款3 推导节),本系统的对账义务转为按 β 带逐 u 检算(常设重跑入口 `tools/clear_dominance_audit.py`,现行 u=3 β=1.17 微破下限登记态);清图支配性已于 2026-09-19 按现行值链重跑、裁决②"非支配设计态"维持(回执见 git 提交 2ca3e20,报告已退役)——判式换代后的全套判值重跑随本系统下一次调参批随批执行。完美排雷乘数的调参权在本系统。
|
||||
|
||||
元进度接口预留:**结论——元进度解锁对难度的影响,以生存链区间的平移换算率接入;接口启用形态已定稿(2026-09-18 元进度定稿批,用户拍板):永久强化影响折算为通关率带平移量,判读口径不变;换算率表首版三行(生命上限 / 基础攻击 / 护甲等级——护甲行强条目,验收读数须按解锁后参数重测)与键结构登记见 registry `meta_progression_conversion_table`,数值行读 `data/tables/`、标定随元进度设计批。** 元进度数值行落地前,本系统不为它预留任何数值行。
|
||||
|
||||
@@ -251,7 +257,7 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板
|
||||
| 优先级 | 内容 | 后置原因 |
|
||||
|---|---|---|
|
||||
| P1 | 加难杠杆扫描落带 | 候选杠杆已登记(血量锚走廊、群战上探、注入衰减上调候选),扫描未执行;护甲等级换装点锚定(基准护甲等级自带敌方输出期望的结构性削减 + 减伤墙退役 + 伤害下限)的方向性偏移并入本扫描一并调带(带宽补扫含暴击档与折扣档);落带前现行行值维持 provisional-pending-scan。第二关行集随分支节点图批落地后并入本扫描(L2 读数基线/加成档已随批实测,见 v0.7) |
|
||||
| P1 | 挖掘风险不等式与清图支配性对账重跑 | 两条对账:清图支配性已于 2026-09-19 按现行值链重跑(裁决②"非支配设计态"维持——缺口收窄主读数 L1≈24/L2≈45 当量〔u=1〕,设计权威回执=git 提交 2ca3e20,重跑入口 tools/clear_dominance_audit.py);调参批执行时按当期行值随批重跑。挖掘风险不等式现行破线,义务仍落本文调参批(现状见[战斗结算](../战斗循环/战斗结算.md)「待办」) |
|
||||
| P1 | 挖掘风险不等式与清图支配性对账重跑 | **挖掘风险不等式半边已收口(2026-10-05 判式换代批,迭代14②号卡)**——判式三层重立落文+条件二旗溢价机制闭合+β 带判读制度化(残留=u=3 β=1.17 微破下限登记态,不强制回滚;δ 敏感度判读随批出口报告),本行对挖掘风险不等式的「重跑义务」改判读回执:后续调参按 β 带检算执行,不再立独立重跑批。清图支配性已于 2026-09-19 按现行值链重跑(裁决②"非支配设计态"维持——缺口收窄主读数 L1≈24/L2≈45 当量〔u=1〕,设计权威回执=git 提交 2ca3e20,重跑入口 tools/clear_dominance_audit.py);调参批执行时按当期行值随批重跑 |
|
||||
| P1 | 真人通关率修正系数标定 | 带按模拟口径定义;试玩批次实测真人显著强于模拟者,系数待后续试玩批次定量 |
|
||||
| P1 | 迭代 10 奖励重构带重扫义务 | 恢复经济收紧(通关血回满→部分回血 20%,难度上压方向)+ 局内成长节奏变动(三选一件值/权重/次数上限 knob 全读冒险表;AP 件 = 每场战斗开始首轮 +1 AP 的强度敏感轴)——通关率带重扫随曲线调参批现行窗执行;Boss 钥石掉落重锚(首杀 3/复杀 2)连带元进度产出标定义务重开(归元进度设计批) |
|
||||
| P1 | 完美策略档的结构性加难杠杆 | 数值杠杆对完美档已被实测证伪,结构候选未裁决(见「待办」) |
|
||||
@@ -351,3 +357,4 @@ Boss 战的棋盘用本关最大板形(板形行值读棋盘参数表),板
|
||||
| v0.20 | 2026-09-28 | 判读口径落档+回滚阶梯收编+Boss 锚漂移登记 |
|
||||
| v0.21 | 2026-09-30 | 普通档改带 L1 [35,55]/L2 [10,15]+带表与验收标准回写现行口径 |
|
||||
| v0.22 | 2026-10-03 | **商店定价公式换代(迭代 11 第②批 GP 商店房重构批——任务书 v1.3 P1 共享池/P4 ceil/P5 甲;06 条 2026-10-02 用户裁决)**:商店与 GP 经济杠杆节公式换代 = ceil(基价 × b^(关序−1) × A^(进店已购次数)),A/b provisional 投值 1.8/1.1(原 P5 甲 game-balancer 研究拍板改后置追认——零人工令);杠杆位表换货架基价四行+价格因子 A/b 两行;分层验收 defer 节补 v0.22 注记(shop=off=legacy 对照 off_n60 逐位 / shop=on 首锚 N=60 双策略带平移归调参批/终局池读数只测不判)。行值零结构改动(shop.tres 扩列不退役) |
|
||||
| v0.23 | 2026-10-05 | **挖掘风险不等式判式换代(迭代14②号卡 T3——与行动经济/战斗结算/registry 同批)**:调参联动表 +6 新增行(旗溢价三件套 δ↔p_perfect↔ap_per_round / η 读数画像联动扩员 / β 带端点↔D_ref↔max_hp↔AC 折算 / 直伤雷三行↔正向同轴行〔同轴镜像比入对账面〕/ clear_blast 区间↔p_perfect / 标中强化池权重〔形态 b 条件生效行〕);P1 后置「挖掘风险不等式与清图支配性对账重跑」行改判读回执(不等式半边收口=判式重立+β 带检算接替,残留 u=3 β=1.17 登记态;清图支配性维持);五条经济契约对账段换代 |
|
||||
@@ -116,6 +116,8 @@ percent 类(每结算、每层): E = |层数 × 行值| ÷ 100 ×
|
||||
| 层数 × 行值 | 单条效果的叠层数与行值,读[增益状态](增益状态.md)的实例数据 | 行值归该系统 |
|
||||
| 完美乘数 | 完美排雷给清图奖励的乘数,配置值 | 读 `settlement.tres` p_perfect(现行值读表) |
|
||||
|
||||
**gp / ap 当量口径注记(2026-10-05 判式换代批 T3——口径空白登记)**:上式 flat 类枚举(直伤、治疗、行动点)不含 gp——现行对账按 **gp 当量 = flat power 代理**计(金币袋 3 / 破财 2,方案报告假设 A5);ap 当量 = flat 表值 1,机会成本口径(+1AP ≈ 多挖一格 ≈ E_dig + 进度 + 信息价值)更高,差异仅登记不进主算(假设 A6)。gp 的精确口径应经商店定价换算(1 GP 的边际属性当量),归状态层/商店批复核后换代。旗溢价兑付(条款3 条件二形态 a,`settlement.tres` flag_hit_premium=125 provisional)按同型正向 ×(1+δ) 兑付——当量换算随同型行口径同步放大,整数量级取整四舍五入(与伤害管线 round_direction=floor 分域,registry 随批登记)。
|
||||
|
||||
### 授予段兑付:极性路由,四类动作各归各账
|
||||
|
||||
授予段消费结算队列。**队列与判定基线**:挖掘期玩家对格子的动作——开格、标旗——都进入结算队列;结算逐批兑付,不走逐动作出栈直算。旗判定以轮末在场旗位为基线:被直接挖开的旗已随挖掘消失、不在基线(零兑付——标中 / 标空让位于挖掘本体结局,见下文插旗不可逆四情况);开格事实不可撤(已开格无法回退)。过滤后按触发源分三批兑换,每格受理、每旗判定恰好一次。
|
||||
@@ -352,6 +354,7 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
|
||||
- 无来源即炸:每行明细都能指回一个来源事实(棋盘格、单位、清图或段级结论);找不到来源即断言失败,行型与来源类别两层豁免清单见明细流水一节,豁免行仍受其它契约约束。
|
||||
- 行型封闭:流水只出现本文登记的 9 类行型;新增或下线行型必须走本文修订并同步呈现层行格式化,未登记行型不得落行。
|
||||
- 伤害单据管线(2026-09-24):全部伤害(主角先手、敌方伤害技、棋盘克制直伤、群伤、反噬、地形变异)经伤害控制器单据管线兑现,兑付配方封闭五种;目标在结账时刻照规则解析;死亡事件由单位自行宣布——怪死其未结单据作废(零行、不进冷却不进保底计数)、主角死兑付终止;段界结账为现行口径、开单即结为回切结构位,两模式各自同种子同输入逐位复现。
|
||||
- 条款3 对账(2026-10-05 判式换代批 T3——与行动经济 F1 条款3 重立同步):①聚合健康式 (1−ρ̂)·E_dig(u) − ρ̂·V_mine(u) ≥ 0 与 β 比值带 [1.2, 2.5] 判读逐 u 检算(常设重跑入口 `tools/clear_dominance_audit.py`,读数快照归 registry clause3 重立条);②旗溢价兑付正确:标中旗正向兑付 = 同型正向 ×(1+δ)(δ 读 `settlement.tres` flag_hit_premium,100=无溢价直通零扰动),三类形态全覆盖(flat power / percent 幅度 / gp 缓冲)、标空与挖格兑付不乘溢价、雷安同池结构零触碰。
|
||||
|
||||
## 待办
|
||||
|
||||
@@ -385,3 +388,4 @@ EV 参考数不入正文(派生读数,需要时按判定式与现行表值
|
||||
| v0.22 | 2026-09-19 | **充能退役批(版本号避让注记:原登 v0.16 与甲效矩阵加法核换装批撞号——2026-09-20 R10 版本号唯一性规则上线发现,后落籍者顺延;用户拍板,与切片代码 / registry / 07 清单 / README 同批)**:主角攻击三分量模型(普通 + 穿刺/魔法充能)整体退役,回归单分量——量 = 攻击基线、类型 = 主角表 attack_type;挖格批/旗判定批的充能计数条款删除、充能供给表与 charge_grants 调参行删除、乘区公式与粒度口径改"攻击合计";退役理由 = 克制策略归冒险前配置(营地换型/未来冒险前参数面),局内不再有挖掘攒弹药的第二伤害供给;保留面 = 攻击类型属性轴与棋盘奖励触发源的抽象分离、奖励直伤道具(穿刺弹/魔法矢)的克制直伤消费不变。切片同批:battle_orchestrator 攻击段单分量化 + _charge_points/_charge_counts/round_facts 充能键删除、DamageMath.charge_component → counter_component 改名(奖励直伤唯一消费方)、settlement.tres charge_grants 键与 schema 校验删除、冒烟充能断言组退役改形(乘区接线单分量基线 100、标中正向兑付行断言、恢复点探针换种子 42)、冒烟 293 项 0 失败 |
|
||||
| v0.23 | 2026-09-20 | **GP+商店房批(用户拍板——与 关卡节点地图 v1.1 / 冒险结构 v0.5 / 地图战斗资源 v0.15 / 难度曲线与Boss v0.18 / registry / 切片代码同批;版本号注记:v0.22 已被充能退役批占用,表尾顺延)**:① 呈现只读面表 battle_finished 载荷 +gp_dropped(掉落掷定 + 关级加值 + 战斗内缓冲的合计——字段增删走本文修订条款兑现);② 授予段兑付形态表新增 GP 缓冲行:gp 正/负向(金币袋 / 破财——九型批)兑付 = 战斗内 GP 缓冲 ±power,战斗完成统一上抛入钱包账本(账本归冒险结构),战斗域零钱包状态;③ 随机口径六处→七处:战斗结束掉落掷定消费 `gp_drop` 封闭流(出口随机、步骤流之外);九型字典措辞与验收标准可回放条目同步 |
|
||||
| v0.24 | 2026-09-24 | **伤害管线单据化批(用户三裁决——与切片代码同批,06 台账 148)**:新增「伤害单据与伤害控制器」一节——伤害对象抽象补全:五族伤害来源收口伤害控制器单点管线、兑付配方封闭五种;三裁决落文——①结账时机双模式(现行 = 段界结账:授予段尾 / 清图批同步点 / 战斗段尾;开单即结保留为回切结构位,切换走代码不走调参)②目标结账时刻照规则解析③死亡事件由单位自行宣布(怪死其未结单据作废、主角死兑付终止);授予段兑付与战斗段两节补结账时点句;验收标准 +伤害单据管线条目。切片同批:`core/damage_controller.gd` 新建(单据构造/开单/结账/死亡事件消费/管线算术收口)、battle_orchestrator 六调用点改开单、掷点/折扣/克制/池乘/攻击行文本助手迁出(`_defender_ac`/`_clamped_pool` 留薄委托)、unit_container 增 `unit_died` 信号;冒烟 557 项 0 失败双模式全绿 + A/B 对拍四配置全确定且真实分岔(行数恒等、纯次序位移);历史基线读数自本批起以段界结账口径为准(重测归曲线调参批) |
|
||||
| v0.25 | 2026-10-05 | **挖掘风险不等式判式换代(迭代14②号卡 T3/T4——与行动经济/难度曲线与Boss/registry 同批)**:①收益对照表补 gp/ap 当量口径注记(gp=flat power 代理 3/2 假设 A5 口径空白登记、ap=flat 表值 1 机会成本口径仅登记假设 A6,精确口径归商店批复核);②验收标准 +条款3 对账条(聚合健康式+β 带逐 u 检算 / 旗溢价兑付三形态覆盖·标空与挖格不乘·同池零触碰);③T4 机制载体 = settlement.tres 新键 flag_hit_premium=125(percent 域 provisional)——标中旗正向兑付 ×(1+δ),整数四舍五入取整与伤害管线 floor 分域(registry 随批登记);DamageController 零改、雷安同池冻结不动、直伤雷 6/8/8 与 p_perfect 不动 |
|
||||
@@ -127,30 +127,65 @@
|
||||
|
||||
1. **单一当量**:所有收益来源用同一张效果对照表归一换算,不允许分源改率。
|
||||
2. **标中旗锚**:标中旗的减益档位必须严格高于最低档安全格增益——否则没人愿意插旗。
|
||||
3. **挖掘风险不等式**(2026-09-20 八型批改写):原"敌方伏击暴露不等式"随伏击机制退役作废——blast 负向现况 = 警觉(敌方护甲等级 +1,掷点折扣分布型惩罚),惩罚当量对账模型归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)调参批重立。
|
||||
3. **挖掘风险不等式**(2026-10-05 判式换代批重立——迭代14②号卡;原"敌方伏击暴露不等式"2026-09-20 随伏击机制退役作废,惩罚当量对账模型由本条重立承接,详细推导见下方推导节):聚合健康式 + 旗溢价条件二 + β 比值带判读,三层口径并行立(2026-10-04 用户裁 P2)。
|
||||
4. **清图奖励大于零**,并预留按图类型差异化分支的结构位。
|
||||
5. **清图支配性**:推到底清图的期望收益,不低于"确定格挖完就弃图刷新"的期望收益——否则清图玩法会被刷新策略淘汰。
|
||||
|
||||
**结论**:五条契约由战斗结算作为唯一对账责任方闭合验收;概率侧由棋盘生成的可推理率参数锚定,惩罚侧现由 blast 型负向警觉承载(2026-09-20 八型批伏击退役换装),当量对账模型归[难度曲线与Boss](../冒险循环/难度曲线与Boss.md)调参批重立。
|
||||
**结论**:五条契约由战斗结算作为唯一对账责任方闭合验收;概率侧由棋盘生成的可推理率参数锚定;条款3 数值层由 β 比值带 [1.2, 2.5] 判读看护(常设重跑入口 `tools/clear_dominance_audit.py`),旗边际结构层由条件二旗溢价接替(机制载体 settlement.flag_hit_premium)。
|
||||
|
||||
推导:
|
||||
|
||||
```
|
||||
条款 3(2026-09-20 八型批改写):
|
||||
原"敌方伏击暴露不等式"随伏击机制退役作废——
|
||||
blast 负向现况 = 警觉(敌方护甲等级 +1,掷点折扣分布型惩罚),
|
||||
惩罚当量对账模型归 难度曲线与Boss 调参批重立
|
||||
条款 3(2026-10-05 判式换代批重立——三层口径并行立,2026-10-04 用户裁 P2;
|
||||
设计权威 = design/research/方案-挖掘风险不等式修订-2026-10-04.md §四/§九)
|
||||
|
||||
条款 5(清图支配性):
|
||||
条款 2(标中旗锚,既有不动):标中旗的减益档位必须严格高于最低档安全格增益。
|
||||
|
||||
条款 3(聚合健康式,接替旧界形式)——盲挖净期望非负:
|
||||
(1−ρ̂)·E_dig(u) − ρ̂·V_mine(u) ≥ 0 对全部参考板形 × u ∈ {1,2,3}
|
||||
下限 0 = 盲挖不为负;上限不设(旧 U_band 删,2026-10-04 grill Q3 裁)——
|
||||
收益端通胀防护由 β 比值带的 β_hi 独家承载(同一约束单一承载)。
|
||||
|
||||
旗边际引理(同池结构定理):雷安同池 + 极性矩阵同字典 ⇒ 标中旗兑付分布 ≡ 安全格
|
||||
兑付分布,EV_flag − EV_blind = (q + ρ̂ − 1)·(E_dig + V_mine),符号只由 q + ρ̂ − 1
|
||||
决定 ⇒ 「旗优于盲挖 ⇔ q > 1−ρ̂」,与全部当量表值无关(风险端定价动不了这一支);
|
||||
标中旗对「挖已知安全格」的边际恒 ≤ 0(= −(1−q)(E_dig+V_mine))——L2 结构破线层,
|
||||
由条件二接替。
|
||||
|
||||
条件二(旗溢价式)——L2 结构破线的正当化条款:
|
||||
E[标中兑付当量] ≥ (1+δ)·E_dig(u)
|
||||
δ = 旗溢价系数,现行 0.25(provisional,2026-10-04 用户裁 P3);实施形态 =
|
||||
(a) 兑付溢价——标中兑付按同型正向 ×(1+δ)(改战斗结算兑付公式一处,机制载体
|
||||
settlement.tres flag_hit_premium = 125,percent 域);(b) 专属池重摇不启
|
||||
(雷安同池结构冻结不动,留给异池后备案一并裁)。
|
||||
登记态(落文时点):δ 落地前现行值已知破(E[标中] = E_dig < 1.25·E_dig 恒假)——
|
||||
按「登记已知破·限期闭合」纪律落文,本批 T4 机制小批闭合;δ=1.25 时条件二以
|
||||
等号压线成立(严格大于须 δ>0.25,×1.5 档留后手)。
|
||||
|
||||
β 比值带(数值层看护,2026-10-04 用户裁 P4):
|
||||
β(u) = V_mine(u) ÷ E_dig(u) ∈ [1.2, 2.5]
|
||||
β_lo = 风险端定价下限(旗的避险价值为真);β_hi < (1−ρ̂)÷ρ̂ 蕴含条款3 恒成立。
|
||||
现行读数 β = 1.71 / 1.37 / 1.17(u=1/2/3,名义 ρ)——u=1/2 带内,u=3(1.17)
|
||||
微破下限 = 登记态点名,不强制回滚。直伤雷行值/ρ 每次提案逐档检算落带
|
||||
(2026-10-04 grill Q3 裁:删「≤15pp·S 形」装饰条款)。
|
||||
|
||||
η 读数(行为面,非判式——2026-10-04 用户裁 P1 乙降格读数):
|
||||
η = flag_hit ÷ flag_placed(分母 = 全部插旗数,2026-10-04 grill Q5 裁),
|
||||
标空率 = flag_miss ÷ flag_placed 次读数分列。字段随 runsum 五字段承载
|
||||
(flag_placed/flag_hit/flag_miss/标中兑付合计/标空惩罚合计——结算流水聚合)。
|
||||
|
||||
条款 5(清图支配性,不动):
|
||||
清图奖励当量 ≥ 弃图节省的期望雷险当量 + 轮数差 × 敌方结算强度当量
|
||||
```
|
||||
|
||||
| 变量 | 含义 | 锚定来源 |
|
||||
|---|---|---|
|
||||
| P(安全) / P(雷) | 挖掘目标格为安全格 / 为雷的概率 | 实测可推理率分布 p10(registry inferability_vs_p_safe 口径——非 target 参数) |
|
||||
| 增益当量下界 | 最低档安全格增益换算值 | 战斗结算的效果对照表 |
|
||||
| 敌方增益当量上界 | 踩雷惩罚的换算上限(原伏击惩罚上限表随 2026-09-20 八型批伏击退役,对账模型归 难度曲线与Boss 调参批重立) | [难度曲线与Boss](../冒险循环/难度曲线与Boss.md) |
|
||||
| 清图奖励当量 | 清图奖励的换算值 | [地图战斗资源](../战斗循环/地图战斗资源.md) |
|
||||
| E_dig(u) | 单安全格期望收益当量(77 权重池加权,随敌方单位数 u 缩放 side-wide 项) | 战斗结算的效果对照表 + `tools/clear_dominance_audit.py` |
|
||||
| V_mine(u) | 单雷期望惩罚当量(九型负向字典同池加权) | 同上 |
|
||||
| ρ̂ | 雷率:名义 0.25 与实测幸存雷率(10×10 ≈ 0.129 / 12×12 ≈ 0.157)双口径并报,主表用名义(保守) | board_gen.tres + board_stat_probe 读数 |
|
||||
| q | 玩家对目标格为雷的置信 | 玩家侧行为量(可推理格 q ∈ {0,1}) |
|
||||
| β 带 | V_mine/E_dig 判读带 [1.2, 2.5] | registry clause3 重立条(本批登记) |
|
||||
| δ | 旗溢价系数 0.25 provisional | settlement.tres flag_hit_premium = 125 |
|
||||
|
||||
### 配置纪律
|
||||
|
||||
@@ -234,3 +269,4 @@
|
||||
| v0.5 | 2026-09-20 | **格面资源八型批同步(用户拍板——与敌人系统 / 战斗结算 / 地图战斗资源 / registry / 切片代码同批)**:① F1 条款 3 改写——原"敌方伏击暴露不等式"随伏击机制退役作废,惩罚当量对账模型归难度曲线与Boss 调参批重立;② 新增「下轮行动点修正」节——action 型格面资源经 queue_ap_delta 排队、下一轮开始兑现(基线 ap_per_round + 净值、下限 0、兑现后清零),跨轮携带量口径改写(RAP 唯一显式携带资源 + 一次性修正队列);③ 节拍不变式(满停一轮 = 恰好一刷)补扰动注记 |
|
||||
| v0.6 | 2026-10-01 | **失同步清偿 + 跨冒险行动点加成轴节(迭代 10 奖励重构批——与冒险结构 / registry 同批)**:①失同步欠账清偿——ap_per_round 真实配置 = **8**(action_economy.tres,Package B 2026-09-22 批 6→8 回调,表内批注在案);v0.2 批 8→6 系最后一次文档面记录,此后配置面单独回调未回写本文,本批补记(rap_refresh_cost 与 ap_per_round 的「满预算停手 = 恰好一刷」节拍耦合以现行 8/8 维持);②新增「跨冒险行动点加成轴」节——统一冒险加算区扩第四轴(行动点),经战斗开始入参覆盖值通道、只在每场战斗开轮首轮兑现一次;价值锚 = 冒险表 bonus_ap_flat / bonus_cap_ap(迭代 10 三选一 AP 件,全冒险 2 次上限),调参表补跨表行 |
|
||||
| v0.7 | 2026-10-03 | **两 AP 件兑现通道注记(迭代 11 第①批同调实施批——任务书 §十连带)**:同调目录两 AP 件兑现通道落位——①工兵晨令(被动·限时)=战斗开始首轮 queue_ap_delta 入队 + 轮始段续队(前 effective_rounds 轮每轮 +1,表值化 P4 甲),复用「跨冒险行动点加成轴」同族排队通道;②掘进蓄能(主动·充能)=grant_ap 当轮加量(同挖掘期 ap_grant 通道),受理闸=战斗域安全开格积点(charge_n 格/点);账本零新机制(queue_ap_delta/grant_ap 两既有原语),充能扣减经共享账本(attune_charges)同引用直改 |
|
||||
| v0.8 | 2026-10-05 | **挖掘风险不等式判式换代(迭代14②号卡 T3——与战斗结算/难度曲线与Boss/registry 同批)**:F1 条款3 重立——三层口径并行立(条款2 标中旗锚不动/条款3 聚合健康式「(1−ρ̂)E_dig−ρ̂V_mine≥0」只留下限 0/旗边际引理+条件二旗溢价「E[标中兑付]≥(1+δ)·E_dig」δ=0.25 provisional 形态 a 兑付溢价);条件二落文按登记已知破·T4 机制闭合;β 比值带 [1.2,2.5] 判读入文(u=3 登记态微破下限);η 降格读数入文(分母=全部插旗数);推导节变量表换代(E_dig/V_mine/ρ̂/β/δ 五锚);旧界形式与「惩罚当量对账模型归调参批重立」挂账句全部清偿 |
|
||||
@@ -384,9 +384,20 @@ entities:
|
||||
variables: [cap, m_amb, unit_count, k_r, L_r](2026-09-20 八型批:m_amb/k_r/L_r 随伏击退役悬空,条目待曲线调参批重立后重登记)
|
||||
output_range: 单结算结构上界 ∈ [0, unit_count×min(AP, cap)×m_amb](式随 2026-09-20 八型批伏击退役作废、留档历史)(满配语境 3×min(8,4)×3=36;cap≥8 时真可达上界 72 而非 144;默认行值 unit_count=1 下 12)
|
||||
account_input: 对账输入 = 棋盘生成 actuals p10(F4 报告 C)非 target 参数(棋盘生成 登记口径);闭合 owner = 战斗结算 单一签字人;左臂(安全格 buff 当量)载体 = **地图战斗资源 F6 当量供给**(2026-09-09 地图战斗资源 定稿——部分缓解非闭合:窗口使用次数是战斗轨迹量,敌人系统 OQ3 扩项保持;2026-09-11 起基础攻击恒在为左臂提供恒定伤害基底,原"当前内容态结构性不可通关"事实退役——敌人系统 Overview 2026-09-11 改写)
|
||||
direction_precheck: cap=4 下右臂 ≈7.7;左臂按条款 2 最低档锚(+50pp)计 = 0.36×50 = 18——裕度 ≈2.3×(1:1 百分点代理,provisional;2026-09-09 敌人系统 full 评审更正原 4.7×——该值按 +100 两层叠满取值、与"最低档下界"语言矛盾);量级注记:atk=4 时 attack 拍 L≥2 伏击分量过半(heavy 拍过半点后移、按拍别读取;常态支配修正入口 = 难度曲线与Boss atk 曲线 / 地图战斗资源·战斗结算 m_amb 锚,敌人系统 权限外)。**参照迁移注记(2026-09-09 地图战斗资源 评审;2026-09-11 回迁)**:左臂参照对象曾迁 defense_up 当量(地图战斗资源 F4)——**2026-09-11 用户裁决"基础攻击恒存在"后 attack_up 复活,参照对象回迁 attack_up 当量**(上式 +50pp 系 attack_up 口径,迁移期结束;复算义务随 战斗结算 对照表落定,见 status_effect.anchor_warning 回迁注记)。**闭合回执(2026-09-10 战斗结算 GDD F4——条款③闭合完成;同日评审批双口径更正)**:统一 HP 当量 + 边际配对重算 → 默认 unit_count=1 下 L1 裕度 ≈2.0× / L2 ≈2.6× **通过**(锚行口径;**跨行期望口径 ≈1.2×/1.5× 同向通过——双口径登记,难度曲线与Boss 不得以锚行读数放行 unit_count=2**);**满配语境(unit_count=3)最坏盲点破线 → 难度曲线与Boss 调参约束登记**(unit_count 轴 + 密度×可推理率轴——unit_count>1 行须降密度或降 m_amb);本条 pp 代理预检(2.3×)退役为历史记录(量纲混用 + 右臂聚合上界与单格决策单位错配)。**重算回执(2026-09-14 战斗结算 重算批——按现行三输入重推:duration=1 × m_d=−30 × 难度曲线与Boss v3 曲线 d0.25/t0.88)**:L1 裕度 ≈0.48× / L2 ≈0.47× **破线**(锚行口径;跨行期望口径 E_dig=4.5 → ≈0.60×/0.58× 同向破线——双口径登记);满配语境(unit_count=3)≈0.16× 深度破线;**破线升格为默认曲线级约束——V_safe 侧杠杆(m_d/duration/D_ref)× 板形侧杠杆(密度×ι 联动对)× m_amb 全处"禁独立调参"联动网络(m_w↔D_ref↔m_d↔duration_d),修正方向须 难度曲线与Boss 提案 + 战斗结算 闭合对账共裁**;上段 ≈2.0×/2.6× 读数系 duration=2 × m_d=−50 × v1 曲线旧值链产物,退役为历史记录;actuals p10 交付后强制重跑(战斗结算 AC-39;ι 判式面保守代理 = 行 target 代,总暴露面无效)
|
||||
direction_precheck: cap=4 下右臂 ≈7.7;左臂按条款 2 最低档锚(+50pp)计 = 0.36×50 = 18——裕度 ≈2.3×(1:1 百分点代理,provisional;2026-09-09 敌人系统 full 评审更正原 4.7×——该值按 +100 两层叠满取值、与"最低档下界"语言矛盾);量级注记:atk=4 时 attack 拍 L≥2 伏击分量过半(heavy 拍过半点后移、按拍别读取;常态支配修正入口 = 难度曲线与Boss atk 曲线 / 地图战斗资源·战斗结算 m_amb 锚,敌人系统 权限外)。**参照迁移注记(2026-09-09 地图战斗资源 评审;2026-09-11 回迁)**:左臂参照对象曾迁 defense_up 当量(地图战斗资源 F4)——**2026-09-11 用户裁决"基础攻击恒存在"后 attack_up 复活,参照对象回迁 attack_up 当量**(上式 +50pp 系 attack_up 口径,迁移期结束;复算义务随 战斗结算 对照表落定,见 status_effect.anchor_warning 回迁注记)。**闭合回执(2026-09-10 战斗结算 GDD F4——条款③闭合完成;同日评审批双口径更正)**:统一 HP 当量 + 边际配对重算 → 默认 unit_count=1 下 L1 裕度 ≈2.0× / L2 ≈2.6× **通过**(锚行口径;**跨行期望口径 ≈1.2×/1.5× 同向通过——双口径登记,难度曲线与Boss 不得以锚行读数放行 unit_count=2**);**满配语境(unit_count=3)最坏盲点破线 → 难度曲线与Boss 调参约束登记**(unit_count 轴 + 密度×可推理率轴——unit_count>1 行须降密度或降 m_amb);本条 pp 代理预检(2.3×)退役为历史记录(量纲混用 + 右臂聚合上界与单格决策单位错配)。**重算回执(2026-09-14 战斗结算 重算批——按现行三输入重推:duration=1 × m_d=−30 × 难度曲线与Boss v3 曲线 d0.25/t0.88)**:L1 裕度 ≈0.48× / L2 ≈0.47× **破线**(锚行口径;跨行期望口径 E_dig=4.5 → ≈0.60×/0.58× 同向破线——双口径登记);满配语境(unit_count=3)≈0.16× 深度破线;**破线升格为默认曲线级约束——V_safe 侧杠杆(m_d/duration/D_ref)× 板形侧杠杆(密度×ι 联动对)× m_amb 全处"禁独立调参"联动网络(m_w↔D_ref↔m_d↔duration_d),修正方向须 难度曲线与Boss 提案 + 战斗结算 闭合对账共裁**;上段 ≈2.0×/2.6× 读数系 duration=2 × m_d=−50 × v1 曲线旧值链产物,退役为历史记录;actuals p10 交付后强制重跑(战斗结算 AC-39;ι 判式面保守代理 = 行 target 代,总暴露面无效)。**换代收口(2026-10-05 判式换代批——clause3_inequality 重立承接)**:本条伏击口径悬空变量(m_amb/k_r/L_r)的重立义务由 clause3_inequality 承接销项;本条 unit_count 满配语境约束(unit_count>1 行须降密度或降 m_amb)由 β 带逐 u 检算(u=1/2/3)接替看护,留档历史
|
||||
referenced_by: [战斗结算]
|
||||
|
||||
- name: clause3_inequality
|
||||
type: formula
|
||||
owner: design/gdd/systems/排雷循环/行动经济.md
|
||||
attributes:
|
||||
rule: (2026-10-05 判式换代批重立——迭代14②号卡 T3,2026-10-04 用户两轮拍板+grill 七问全裁,设计权威=design/research/方案-挖掘风险不等式修订-2026-10-04.md §九)行动经济 F1 条款3 三层口径并行立——**条款3 聚合健康式**:(1−ρ̂)·E_dig(u) − ρ̂·V_mine(u) ≥ 0 对全部参考板形 × u ∈ {1,2,3}(下限 0 唯一保留,上限 U_band 删〔grill Q3〕由 β_hi 独家承载);**旗边际引理**(同池结构定理):EV_flag−EV_blind = (q+ρ̂−1)(E_dig+V_mine),旗优于盲挖 ⇔ q > 1−ρ̂,与全部当量表值无关;旗对已知安全格边际恒 ≤ 0(L2 结构破线层);**条件二旗溢价式**:E[标中兑付] ≥ (1+δ)·E_dig(u),δ=0.25 provisional(形态 a 兑付溢价 settlement.flag_hit_premium=125 percent 域;形态 b 专属池不启——雷安同池冻结);**β 比值带**:β(u)=V_mine(u)÷E_dig(u) ∈ [1.2, 2.5](2026-10-04 用户裁 P4);**η 读数**(非判式):η=flag_hit÷flag_placed,分母=全部插旗数〔grill Q5〕,标空率次读数——承载=MC runsum 五字段(flag_placed/flag_hit/flag_miss/flag_hit_gain/flag_miss_penalty,2026-10-05 T1 落码)
|
||||
mechanism_carrier: settlement.tres flag_hit_premium = 125(percent 域 provisional,2026-10-05 T4 落地)——标中旗正向兑付按同型正向 ×(1+δ):flat 行乘 power、percent 行乘幅度(apply_effect magnitude_override 通道)、gp 行乘 power;取整=四舍五入(与伤害管线 round_direction=floor **分域**——溢价系兑付构造非伤害管线取整,登记注记);标空/挖格/清图兑付不乘溢价;DamageController 零改、雷安同池冻结不动、直伤雷 6/8/8 与 p_perfect 不动(契约红线)
|
||||
prechange_snapshot: **改前静态锚(2026-10-05 T0,audit 工具常量刷新后跑出,改后判读的基准)**——池 77 权重(attack14/defense11/blast16/heal4/weaken8/pierce8/magic8/action6/gp2,clear_blast 不入格池):E_dig(1/2/3)=1.442/1.948/2.455,V_mine(1/2/3)=2.460/2.670/2.881(九型负向字典口径乙=唯一口径,伏击口径甲退役删除),β=1.71/1.37/1.17(u=1/2 带内、u=3 微破下限=登记态点名不强制回滚),盲挖净期望(名义ρ)=+0.47/+0.79/+1.12 恒正(条款3 聚合健康式现行即绿),逐型净期望破线残留=pierce −1.25 / magic −0.50 / heal 0 踩线(名义ρ;实测ρ̂ 10×10 下 pierce −0.16 唯一实测也破、magic/heal 转正),条件二改前恒假(E[标中]=E_dig < 1.25·E_dig——登记已知破,T4 机制闭合);改前行为锚=MC n400 种子窗 76000 系+verifier 双窗(T2,读数随批出口报告)
|
||||
p7_corrections: **P7 口径修正注记(2026-10-04 用户裁随批登记)**:①d70f6c3 §二(迭代8 卡⑧全量复算)池 76 系历史混计——clear_blast(清图槽对象)不该入格池,现行口径=77;②同读数直伤雷 4/5/5 已时效化——2026-10-01 数值修复批 6/8/8 + 2026-10-03 带换代转正,现行单雷期望直伤 ≈1.97 HP(×2.2);heal 权重 2→4(Package B 第 2 轮)同链时效
|
||||
rerun_obligation: 难度曲线与Boss 每次调参逐 u 检算落 β 带(常设重跑入口 tools/clear_dominance_audit.py,2026-10-05 已刷新=池77/直伤6-8-8/heal2/清图24-40/AP8/off_guard −1/伏击退役/β+逐型输出);直伤雷/ρ 提案逐档检算落带(grill Q3 裁);δ 敏感度判据 ≥5pp(grill Q4),行为无效 δ 仍保留+登记「行为无感」
|
||||
referenced_by: [行动经济, 战斗结算, 难度曲线与Boss]
|
||||
|
||||
- name: clause5_dominance
|
||||
type: formula
|
||||
owner: design/gdd/systems/战斗循环/战斗结算.md
|
||||
|
||||
@@ -119,6 +119,12 @@ func _initialize() -> void:
|
||||
"mine_dmg": int(st.get("mine_dmg", 0)),
|
||||
"taken": int(st["hero_dmg"]) + int(st.get("mine_dmg", 0)),
|
||||
"refreshes": int(st["refreshes"]), "choices": int(st["choices"]),
|
||||
# 旗经济五字段(迭代14②判式换代批 T1——η=flag_hit÷flag_placed、标空率=flag_miss÷flag_placed
|
||||
# 派生归分析侧;gain/penalty=结算流水行值合计(原始行值口径,等价换算归判读侧——登记))
|
||||
"flag_placed": int(st.get("flag_placed", 0)), "flag_hit": int(st.get("flag_hit", 0)),
|
||||
"flag_miss": int(st.get("flag_miss", 0)),
|
||||
"flag_hit_gain": int(st.get("flag_hit_gain", 0)),
|
||||
"flag_miss_penalty": int(st.get("flag_miss_penalty", 0)),
|
||||
"relics": st.get("relics", []),
|
||||
"visited_count": (st["visited_ids"] as Array).size(),
|
||||
"encounter_max_hp_seq": st["encounter_max_hp_seq"],
|
||||
|
||||
@@ -57,6 +57,9 @@ static func run_level(db, seed_val: int, level_index: int, atk_pct: int, hp_pct:
|
||||
"boss_depth": -1, "hp_at_boss": -1, "rows": [], "timeout": false,
|
||||
"log_path": "", "policy": policy, "refreshes": 0, "mine_hits": 0, "mine_dmg": 0,
|
||||
"visited_ids": [], "choices": 0, "last_battle_enemies": [],
|
||||
# 旗经济五字段(迭代14②判式换代批 T1——runsum 读数面;聚合自结算流水 source_class,
|
||||
# 零新随机源零核心改动;η=flag_hit÷flag_placed 与标空率派生归分析侧)
|
||||
"flag_placed": 0, "flag_hit": 0, "flag_miss": 0, "flag_hit_gain": 0, "flag_miss_penalty": 0,
|
||||
"prng": _policy_rng(seed_val), "mine_slips": 0, "skip_digs": 0, "shop_buys": 0,
|
||||
}
|
||||
runner.step_row.connect(_on_step_row.bind(runner, st, collect_rows))
|
||||
@@ -136,6 +139,8 @@ static func run_adventure(db, seed_val: int, atk_pct: int, hp_pct: int, collect_
|
||||
"summary": {}, "wallet_events": [], "encounter_max_hp_seq": [], "reward_events": [],
|
||||
"relic_mode": String(relic.get("mode", "off")), # 流派件分层开关(迭代 12 T7——off=316-f 通用竞争/on=成型画像优先捕捞 relic)
|
||||
"shop_gp_seq": [], # 商店房到达余额序(逐关 1 次——GP 跨关延续验收取数面)
|
||||
# 旗经济五字段(迭代14②判式换代批 T1——与 run_level 同口径,见彼处注释)
|
||||
"flag_placed": 0, "flag_hit": 0, "flag_miss": 0, "flag_hit_gain": 0, "flag_miss_penalty": 0,
|
||||
"prng": _policy_rng(seed_val), "mine_slips": 0, "skip_digs": 0, "shop_buys": 0,
|
||||
"adv": true, # v3 档位行为开关(选路评分/失误注入/商店购买只挂冒险测量面——单关夹具保持旧语义零扰动)
|
||||
|
||||
@@ -435,6 +440,24 @@ static func _on_step_row(row: Dictionary, _runner, st: Dictionary, collect_rows:
|
||||
_note_enemy(String(row.get("text", "")), st) # 施放行(毒爆挂毒等——伤害行可能缺席的死亡遭遇仍可归因)
|
||||
if row.source_class == "mine_hit":
|
||||
st.mine_hits += 1 # 踩雷证据行(负向兑付——完美档断言恒 0;盲挖惩罚链埋点)
|
||||
# 旗经济聚合(迭代14②判式换代批 T1——自结算流水聚合,零新随机源):
|
||||
# ⚠ 行侧判据考证实录:结算段对存续增益实例每轮复发行 effect 行且复用实例 source_class
|
||||
#(battle_orchestrator 状态列举行)——source_class=flag_hit 的行 ≠ 标中事件。事件行唯一判据
|
||||
# = 授予行专带 highlight="flag_hit"(实测 87 行 == 受理插旗 87 动作,1:1 精确);
|
||||
# 雷区图谱追加分grant 无高光,以 display_name 后缀补捕(计入事件与合计——同旗第二份兑付)。
|
||||
# 满层拒收行(reward_ineffective)零兑付不入。标空事件=归因行(type=flag_miss 每格恰一次);
|
||||
# 标空惩罚合计只入一次性兑付行(flat 直伤 damage/heal + gp_loss escrow 行)——sapped 授予行
|
||||
# 与其状态复发行行侧不可区分不入合计(登记注记,判读侧按事件数补算)。
|
||||
if row.source_class == "flag_hit" and row.type != "reward_ineffective":
|
||||
if String(row.get("highlight", "")) == "flag_hit" \
|
||||
or String(row.get("display_name", "")).contains("雷区图谱"):
|
||||
st.flag_hit += 1
|
||||
st.flag_hit_gain += int(row.value)
|
||||
if row.type == "flag_miss":
|
||||
st.flag_miss += 1
|
||||
elif row.source_class == "flag_miss" and (row.type == "damage" or row.type == "heal" \
|
||||
or String(row.get("effect_id", "")) == "gp_loss"):
|
||||
st.flag_miss_penalty += int(row.value)
|
||||
if collect_rows:
|
||||
st.rows.append(row)
|
||||
|
||||
@@ -525,6 +548,8 @@ static func _autoplay_battle(runner, settlement, st: Dictionary, logger) -> void
|
||||
if ok:
|
||||
if kind == "refresh":
|
||||
st.refreshes = int(st.refreshes) + 1
|
||||
elif kind == "flag":
|
||||
st.flag_placed = int(st.get("flag_placed", 0)) + 1 # 插旗数(η 分母=全部插旗数——迭代14② Q5 裁决;失误注入转化旗不计数=转化后实为挖)
|
||||
rejects = 0
|
||||
else:
|
||||
rejects += 1
|
||||
|
||||
+129
-69
@@ -11,50 +11,60 @@
|
||||
s_ref = D_ref;停手侧 RAP 机会收益按零计价(显式假设)。
|
||||
|
||||
本工具 2026-09-19 随对账重跑批建立,是难度曲线调参批的常设重跑入口:
|
||||
所有输入可经命令行覆盖(--d-ref --c-clear --ap-r --iota --m-amb --u ...),
|
||||
所有输入可经命令行覆盖(--d-ref --c-clear --ap-r --iota ...),
|
||||
重跑时按当期 .tres 行值更新默认值即可,公式本体不动。
|
||||
|
||||
单雷代价 / 单格收益的当量换算严格走 战斗结算「效果档位对照表」单一口径:
|
||||
flat 类 E = 表值;percent 类 E = |层数×行值|÷100 × D_ref(每结算每层);
|
||||
AC 轴换算 = AC 点数 × 5pp(d20 线性)× D_ref(假设登记,见审计报告)。
|
||||
2026-09-19 起极性矩阵下踩雷惩罚按格型路由(不再固定伏击),故 V_mine 双口径:
|
||||
甲 = 注册模型连续口径 V_mine = unit_count × m_amb(m_amb = 伏击行 magnitude);
|
||||
乙 = 现行矩阵加权口径 V_mine = 负向字典按 67 权重池加权(主流读数)。
|
||||
|
||||
【2026-10-05 判式换代批口径(迭代14②号卡 T0)】
|
||||
- 池 67→77(补 action 6 / gp 2;clear_blast 系清图槽对象不入格池)。
|
||||
- 直伤雷负向三行 6/8/8(backlash/snare/recoil,2026-10-01 数值修复+10-03 转正);
|
||||
正向 pierce_strike/magic_bolt 维持 flat 2;heal_minor 2(Package B 第 2 轮)。
|
||||
- 清图槽 C_MIN/MAX 8/18→24/40(中点 32);AP_r 6→8(2026-09-16 压速批 8→6 后回摆)。
|
||||
- off_guard 换 ac 轴 −1(0.2u 模型:点数×5pp×D_ref=0.2 当量/每敌拍)。
|
||||
- 伏击历史口径(口径甲 u×m_amb / AMBUSH_MAG/STACKS)退役删除——伏击机制已退役,
|
||||
V_mine 只保留现行矩阵加权口径(原口径乙升为主口径)。
|
||||
- V_mine 换现行九型负向字典(enrage/off_guard/警觉/backlash/sapped/snare/recoil/
|
||||
ap_drain/gp_lose——ap_drain 按 A6 flat 1、gp_lose 按 A5 代理 2 计)。
|
||||
- 新增 β 比值带判读与逐型净期望输出(方案-挖掘风险不等式修订-2026-10-04 §四/§九):
|
||||
β(u)=V_mine/E_dig ∈ [1.2, 2.5];条件一 (1−ρ̂)E_dig−ρ̂V_mine ≥ 0(下限 0,上限归 β_hi);
|
||||
条件二 E[标中兑付] ≥ (1+δ)·E_dig(δ=1.25 provisional,兑付溢价形态 a)。
|
||||
"""
|
||||
|
||||
import argparse
|
||||
import math
|
||||
|
||||
# ============ 现行值链(2026-09-19 快照,出处见各注释;重跑批按当期 .tres 更新) ============
|
||||
# ============ 现行值链(2026-10-05 判式换代批快照,出处见各注释;重跑批按当期 .tres 更新) ============
|
||||
|
||||
D_REF = 4 # settlement.tres equivalence_ref_damage(2026-09-17 压缩批 12→4)
|
||||
P_PERFECT = 200 # settlement.tres(percent,÷100 = ×2 双份交付)
|
||||
C_MIN, C_MAX = 8, 18 # reward.tres clear_blast power_min/max;期望口径 = 中点 13
|
||||
AP_R = 6 # action_economy.tres ap_per_round(2026-09-16 压速批 8→6)
|
||||
C_MIN, C_MAX = 24, 40 # reward.tres clear_blast power_min/max(2026-10-01 数值修复批 8/18→24/40);期望口径 = 中点 32
|
||||
AP_R = 8 # action_economy.tres ap_per_round(2026-09-16 压速批 8→6 后回摆 8)
|
||||
DIG_COST = 1 # action_economy.tres dig_ap_cost
|
||||
IOTA = 0.88 # board_gen.tres inferability_target(判式 ι 代理)
|
||||
|
||||
# 效果行值(status_effects.tres,2026-09-19 快照)
|
||||
# 效果行值(status_effects.tres,2026-10-05 快照)
|
||||
ATTACK_UP_PCT = 50 # 增伤 +50%,duration 1,hero 侧
|
||||
AC_UP_POINT = 1 # 护甲强化 +1 AC,duration 1
|
||||
WEAKEN_PCT = 65 # 削弱 −65%(有效拍 1:duration 2 先兑付后衰减)
|
||||
ENRAGE_PCT = 25 # 暴走 +25%,enemy 侧 side-wide
|
||||
SAPPED_PCT = 25 # 乏力 −25%,hero 侧
|
||||
# 【2026-09-20 八型批口径注记】伏击机制退役,blast 负向现况 = 警觉(敌方 AC +1,掷点折扣分布型惩罚)——
|
||||
# 本脚本的伏击暴露当量模型(AMBUSH_MAG/AMBUSH_STACKS)转为历史口径,仅用于旧读数复算;
|
||||
# 新口径(掷点折扣期望建模)归曲线调参批重立后再改模型。
|
||||
AMBUSH_MAG = 1 # 历史口径:伏击 +1 flat/层(2026-09-17 压缩批 3→1)
|
||||
AMBUSH_STACKS = 2 # reward.tres ambush_double stacks(每雷伏击层数)
|
||||
OFF_GUARD_AC = 2 # 失衡 AC −2(2026-09-18 换装)
|
||||
OFF_GUARD_AC = 1 # 失衡 AC −1(0.2u 模型:1 点 × 5pp × D_ref = 0.2 当量/每敌拍)
|
||||
ALERT_EQUIV = 0.2 # 警觉(敌 AC+1×1拍):主角每拍恰 1 攻 × 1 拍寿命 ⇒ 0.2 当量,u 无关(假设 A4)
|
||||
|
||||
# 直伤/群伤 flat 值(reward.tres,2026-09-17 ÷3 后)
|
||||
# 直伤/群伤 flat 值(reward.tres,2026-10-05 快照)
|
||||
SPARK_AOE = 1 # 爆裂粉尘(全体存活敌)
|
||||
HEAL_MINOR = 1 # 急救敷料
|
||||
HEAL_BACKLASH = 1 # 反噬震荡(主角直伤)
|
||||
HEAL_MINOR = 2 # 急救敷料(Package B 第 2 轮 1→2)
|
||||
HEAL_BACKLASH = 6 # 反噬震荡(主角直伤,2026-10-01 4→6 / 10-03 转正)
|
||||
PIERCE_STRIKE = 2 # 穿刺弹(单目标克制直伤,必中全额)
|
||||
MAGIC_BOLT = 2 # 魔法矢(同上)
|
||||
PIERCE_SNARE = 2 # 穿刺陷阱(主角直伤)
|
||||
MAGIC_RECOIL = 2 # 魔法反噬(主角直伤)
|
||||
PIERCE_SNARE = 8 # 穿刺陷阱(主角直伤,2026-10-01 5→8 / 10-03 转正)
|
||||
MAGIC_RECOIL = 8 # 魔法反噬(主角直伤,2026-10-01 5→8 / 10-03 转正)
|
||||
AP_UP = 1 # 行动点 +1(当量 = flat 表值 1,机会成本口径更高仅登记——假设 A6)
|
||||
GP_COIN = 3 # 金币袋 +3GP(gp 当量 = flat power 代理——假设 A5,口径空白登记)
|
||||
GP_LOSE = 2 # 破财 −2GP(同上代理)
|
||||
|
||||
# 甲效矩阵(settlement.tres,加法核点数):基础值 + 点数,damage_floor=1
|
||||
ARMOR_EFFECT = { # attack_type → {armor_type: 点数};切片 L1 全轻甲 / L2 除 Boss 全轻甲
|
||||
@@ -63,14 +73,21 @@ ARMOR_EFFECT = { # attack_type → {armor_type: 点数};切片 L1 全轻
|
||||
"normal": {"light": 0, "ward": 1, "heavy": -1},
|
||||
}
|
||||
|
||||
# 格面资源池正向权重(reward.tres,2026-09-18 伤害道具批后,合计 67)
|
||||
# 格面资源池正向权重(reward.tres,2026-10-05 快照,合计 77)
|
||||
# 类型 → (权重);负向行 weight=0 不参与摇号,类型分布 = 正向权重
|
||||
POOL_WEIGHTS = {"attack": 14, "defense": 11, "blast": 16, "heal": 2,
|
||||
"weaken": 8, "pierce": 8, "magic": 8}
|
||||
# clear_blast pool_tag=clear_default 系清图槽对象,不入格池(地图战斗资源.md §清图槽)。
|
||||
POOL_WEIGHTS = {"attack": 14, "defense": 11, "blast": 16, "heal": 4,
|
||||
"weaken": 8, "pierce": 8, "magic": 8, "action": 6, "gp": 2}
|
||||
|
||||
# β 比值带(2026-10-04 用户裁 P4:[1.2, 2.5];u=3 登记态 1.17 微破下限=点名不强制回滚)
|
||||
BETA_LO, BETA_HI = 1.2, 2.5
|
||||
# δ 旗溢价(2026-10-04 用户裁 P3:形态 a 兑付溢价,δ=1.25 provisional ⇒ 兑付按同型正向 ×(1+δ))
|
||||
DELTA = 0.25
|
||||
|
||||
# 板形(|M| 幸存雷 / |S| 安全格)双口径
|
||||
# 名义 = density×(W×H−9) 初布值(2026-09-14 重算批参考板形口径,连续性参照)
|
||||
# 实测 = smoke/board_stat_probe.gd 200 样本/行均值("先布后删"落地值,主流读数)
|
||||
# (实测值沿用 2026-09-19 board_stat_probe 读数;板形行值此后未变,不强制复跑)
|
||||
BOARDS = {
|
||||
"L1前段·名义(10x10)": {"M": 23, "S": 77},
|
||||
"L1后段·名义(12x12)": {"M": 34, "S": 110},
|
||||
@@ -82,7 +99,7 @@ BOARDS = {
|
||||
|
||||
|
||||
def e_dig(u: float, d_ref: float, aoe_per_unit: bool = True) -> float:
|
||||
"""单安全格期望收益(当量),格子池 67 权重加权。
|
||||
"""单安全格期望收益(当量),格子池 77 权重加权。
|
||||
|
||||
u = 敌方单位数。hero 侧单目标效果不随 u 缩放(主角每轮出手一次);
|
||||
enemy 侧 side-wide 效果(ac_up 承伤面 / spark_aoe 群伤 / weaken 全体减伤)随 u 缩放。
|
||||
@@ -96,42 +113,58 @@ def e_dig(u: float, d_ref: float, aoe_per_unit: bool = True) -> float:
|
||||
weaken = w["weaken"] * WEAKEN_PCT / 100 * d_ref * u # 全体敌拍 ×0.35
|
||||
pierce = w["pierce"] * max(1, PIERCE_STRIKE + ARMOR_EFFECT["pierce"]["light"]) # 轻甲口径
|
||||
magic = w["magic"] * max(1, MAGIC_BOLT + ARMOR_EFFECT["magic"]["light"])
|
||||
return (attack + ac_up + spark + heal + weaken + pierce + magic) / total
|
||||
action = w["action"] * AP_UP
|
||||
gp = w["gp"] * GP_COIN
|
||||
return (attack + ac_up + spark + heal + weaken + pierce + magic + action + gp) / total
|
||||
|
||||
|
||||
def v_mine_a(u: float, m_amb: float) -> float:
|
||||
"""口径甲:注册模型连续口径 V_mine = unit_count × m_amb(registry 公式字面执行)。"""
|
||||
return u * m_amb
|
||||
def v_mine(u: float, d_ref: float) -> float:
|
||||
"""现行极性矩阵加权口径(九型负向字典)——踩雷兑付 = 该格类型负向行,按 77 权重池加权。
|
||||
|
||||
|
||||
def v_mine_b(u: float, d_ref: float) -> float:
|
||||
"""口径乙:现行极性矩阵加权口径——踩雷兑付 = 该格类型负向行,按 67 权重池加权。
|
||||
|
||||
hero 侧固定(直伤三类 heal_backlash/snare/recoil + 乏力 sapped);
|
||||
enemy 侧 side-wide(enrage 每敌拍 / off_guard 每敌拍命中上浮 / ambush_double 每敌拍 +2 flat)随 u 缩放。
|
||||
hero 侧固定(直伤三类 heal_backlash/snare/recoil + 乏力 sapped + ap_drain + gp_lose);
|
||||
enemy 侧 side-wide(enrage 每敌拍 / off_guard 每敌拍命中上浮)随 u 缩放;
|
||||
警觉按 0.2 当量固定(假设 A4)。
|
||||
"""
|
||||
w = POOL_WEIGHTS
|
||||
total = sum(w.values())
|
||||
enrage = w["attack"] * ENRAGE_PCT / 100 * d_ref * u
|
||||
off_guard = w["defense"] * OFF_GUARD_AC * 0.05 * d_ref * u # AC−2 → 每敌拍 +10pp 命中
|
||||
off_guard = w["defense"] * OFF_GUARD_AC * 0.05 * d_ref * u # AC−1 → 每敌拍 +5pp 命中
|
||||
alert = w["blast"] * ALERT_EQUIV
|
||||
backlash = w["heal"] * HEAL_BACKLASH
|
||||
ambush = w["blast"] * AMBUSH_STACKS * AMBUSH_MAG * u
|
||||
sapped = w["weaken"] * SAPPED_PCT / 100 * d_ref # 主角下一拍 −25%
|
||||
snare = w["pierce"] * PIERCE_SNARE
|
||||
recoil = w["magic"] * MAGIC_RECOIL
|
||||
return (enrage + off_guard + backlash + ambush + sapped + snare + recoil) / total
|
||||
ap_drain = w["action"] * AP_UP
|
||||
gp_lose = w["gp"] * GP_LOSE
|
||||
return (enrage + off_guard + alert + backlash + sapped + snare + recoil
|
||||
+ ap_drain + gp_lose) / total
|
||||
|
||||
|
||||
def per_type_table(u: float, d_ref: float) -> list:
|
||||
"""逐型 P_t/N_t 明细(当量),供条件净期望计算。返回 [(型, P_t, N_t)]。"""
|
||||
return [
|
||||
("attack", ATTACK_UP_PCT / 100 * d_ref, ENRAGE_PCT / 100 * d_ref * u),
|
||||
("defense", AC_UP_POINT * 0.05 * d_ref * u, OFF_GUARD_AC * 0.05 * d_ref * u),
|
||||
("blast", float(SPARK_AOE * u), ALERT_EQUIV),
|
||||
("heal", float(HEAL_MINOR), float(HEAL_BACKLASH)),
|
||||
("weaken", WEAKEN_PCT / 100 * d_ref * u, SAPPED_PCT / 100 * d_ref),
|
||||
("pierce", float(max(1, PIERCE_STRIKE + ARMOR_EFFECT["pierce"]["light"])), float(PIERCE_SNARE)),
|
||||
("magic", float(max(1, MAGIC_BOLT + ARMOR_EFFECT["magic"]["light"])), float(MAGIC_RECOIL)),
|
||||
("action", float(AP_UP), float(AP_UP)),
|
||||
("gp", float(GP_COIN), float(GP_LOSE)),
|
||||
]
|
||||
|
||||
|
||||
def audit_shape(name: str, m: float, s: float, u: float, c_clear: float,
|
||||
d_ref: float, ap_r: int, iota: float, v_mine: float,
|
||||
e_dig: float, dig_cost: int) -> dict:
|
||||
d_ref: float, ap_r: int, iota: float, v_mine_v: float,
|
||||
e_dig_v: float, dig_cost: int) -> dict:
|
||||
"""单板形单语境全量计算,返回判式各腿与判定。"""
|
||||
n_s = (1 - iota) * s
|
||||
if n_s < 1:
|
||||
return {"name": name, "skip": True}
|
||||
e_mine = m * n_s / (n_s + 1)
|
||||
r_res = n_s * e_dig
|
||||
x_res = e_mine * v_mine
|
||||
r_res = n_s * e_dig_v
|
||||
x_res = e_mine * v_mine_v
|
||||
dr = math.ceil((n_s + e_mine * dig_cost) / ap_r)
|
||||
c_eff_normal = c_clear
|
||||
c_eff_perfect = c_clear * P_PERFECT / 100
|
||||
@@ -148,14 +181,15 @@ def audit_shape(name: str, m: float, s: float, u: float, c_clear: float,
|
||||
|
||||
|
||||
def main() -> None:
|
||||
ap = argparse.ArgumentParser(description="清图支配性(条款⑤)对账重算")
|
||||
ap = argparse.ArgumentParser(description="清图支配性(条款⑤)对账重算 + 判式换代面板(条款3)")
|
||||
ap.add_argument("--d-ref", type=float, default=D_REF)
|
||||
ap.add_argument("--c-clear", type=float, default=None,
|
||||
help="清图奖励当量 C(默认 = (C_MIN+C_MAX)/2 = 13;传 8 得保守地板口径)")
|
||||
help="清图奖励当量 C(默认 = (C_MIN+C_MAX)/2 = 32;传 24 得保守地板口径)")
|
||||
ap.add_argument("--ap-r", type=int, default=AP_R)
|
||||
ap.add_argument("--iota", type=float, default=IOTA)
|
||||
ap.add_argument("--m-amb", type=float, default=float(AMBUSH_MAG),
|
||||
help="口径甲的伏击行 magnitude(默认 1;传 2 = ambush_double 双层口径)")
|
||||
ap.add_argument("--rho-nominal", type=float, default=0.25, help="名义雷率(判式主口径)")
|
||||
ap.add_argument("--rho-measured", type=float, default=0.129, help="实测幸存雷率(10×10 包络口径)")
|
||||
ap.add_argument("--delta", type=float, default=DELTA, help="旗溢价系数 δ(兑付溢价形态 a)")
|
||||
ap.add_argument("--e-dig-discount", type=float, default=1.0,
|
||||
help="E_dig 实现率折减(legacy 敏感性口径传 0.6)")
|
||||
args = ap.parse_args()
|
||||
@@ -163,41 +197,67 @@ def main() -> None:
|
||||
|
||||
print(f"现行值链快照:D_ref={args.d_ref:g} C={c_clear:g}(min {C_MIN}/max {C_MAX}) "
|
||||
f"AP_r={args.ap_r} ι={args.iota} p_perfect={P_PERFECT} RAP零价假设照旧")
|
||||
print(f"E_dig(67权重池加权当量): u=1 {e_dig(1, args.d_ref):.3f} · u=2 {e_dig(2, args.d_ref):.3f} · "
|
||||
print(f"E_dig(77权重池加权当量): u=1 {e_dig(1, args.d_ref):.3f} · u=2 {e_dig(2, args.d_ref):.3f} · "
|
||||
f"u=3 {e_dig(3, args.d_ref):.3f}(折减 ×{args.e_dig_discount:g} 后同乘)")
|
||||
print(f"V_mine 口径甲(u×m_amb, m_amb={args.m_amb:g}): u=1 {v_mine_a(1, args.m_amb):.3f} · "
|
||||
f"u=2 {v_mine_a(2, args.m_amb):.3f} · u=3 {v_mine_a(3, args.m_amb):.3f}")
|
||||
print(f"V_mine 口径乙(极性矩阵加权): u=1 {v_mine_b(1, args.d_ref):.3f} · "
|
||||
f"u=2 {v_mine_b(2, args.d_ref):.3f} · u=3 {v_mine_b(3, args.d_ref):.3f}")
|
||||
print(f"V_mine(九型矩阵加权): u=1 {v_mine(1, args.d_ref):.3f} · "
|
||||
f"u=2 {v_mine(2, args.d_ref):.3f} · u=3 {v_mine(3, args.d_ref):.3f}")
|
||||
print()
|
||||
print("### 条款3 判式换代面板(β 比值带 + 条件一聚合健康式 + 条件二旗溢价)")
|
||||
print(f"β 带 = [{BETA_LO:g}, {BETA_HI:g}](2026-10-04 用户裁 P4) 兑付溢价 ×(1+δ) = ×{1 + args.delta:g}(形态 a)")
|
||||
print("| u | E_dig | V_mine | β=V/E | 带判定 | 条件一 盲挖净期望(名义ρ) | 条件一 盲挖净期望(实测ρ̂) | 条件二(改前同池) |")
|
||||
print("|---|---|---|---|---|---|---|---|")
|
||||
for u in (1, 2, 3):
|
||||
ed = e_dig(u, args.d_ref)
|
||||
vm = v_mine(u, args.d_ref)
|
||||
beta = vm / ed
|
||||
verdict = "✓带内" if BETA_LO <= beta <= BETA_HI else (
|
||||
"✗破下限(登记态)" if beta < BETA_LO else "✗破上限")
|
||||
blind_nom = (1 - args.rho_nominal) * ed - args.rho_nominal * vm
|
||||
blind_meas = (1 - args.rho_measured) * ed - args.rho_measured * vm
|
||||
# 条件二改前:雷安同池 ⇒ 标中兑付 ≡ E_dig(同型同字典),判式 E[标中] ≥ (1+δ)·E_dig 恒假
|
||||
cond2 = "✗已知破(登记态,T4 机制转绿)"
|
||||
print(f"| {u} | {ed:.3f} | {vm:.3f} | {beta:.2f} | {verdict} | "
|
||||
f"{blind_nom:+.2f} | {blind_meas:+.2f} | {cond2} |")
|
||||
print()
|
||||
print("### 逐型条件净期望 (1−ρ)P_t − ρN_t(当量/格,u=1,名义 ρ 与实测 ρ̂ 双列)")
|
||||
print("| 型 | P_t | N_t | 净期望(名义ρ) | 净期望(实测ρ̂) | 判(名义) |")
|
||||
print("|---|---|---|---|---|---|")
|
||||
for t, p, n in per_type_table(1, args.d_ref):
|
||||
net = (1 - args.rho_nominal) * p - args.rho_nominal * n
|
||||
net_m = (1 - args.rho_measured) * p - args.rho_measured * n
|
||||
verdict = "✓" if net > 1e-9 else ("踩线" if abs(net) <= 1e-9 else "✗破线")
|
||||
print(f"| {t} | {p:g} | {n:g} | {net:+.2f} | {net_m:+.2f} | {verdict} |")
|
||||
for u in (2, 3):
|
||||
cells = " · ".join(f"{t}({(1 - args.rho_nominal) * p - args.rho_nominal * n:+.2f})"
|
||||
for t, p, n in per_type_table(u, args.d_ref))
|
||||
print(f"u={u} 净期望: {cells}")
|
||||
print()
|
||||
|
||||
for vm_label, vm_fn in [("口径甲(注册模型 V_mine=u×m_amb)", lambda u: v_mine_a(u, args.m_amb)),
|
||||
("口径乙(现行矩阵加权 V_mine)", lambda u: v_mine_b(u, args.d_ref))]:
|
||||
print(f"### 主判式 · {vm_label} · C={c_clear:g}")
|
||||
print("| 板形 | u | n_s | E[踩雷] | R_res | X_res | Δr(代价) | Δ_clear 非完美 | Δ_clear 完美 | 判定 |")
|
||||
print("|---|---|---|---|---|---|---|---|---|---|")
|
||||
for bname, b in BOARDS.items():
|
||||
for u in (1, 2, 3):
|
||||
ed = e_dig(u, args.d_ref) * args.e_dig_discount
|
||||
r = audit_shape(bname, b["M"], b["S"], u, c_clear, args.d_ref,
|
||||
args.ap_r, args.iota, vm_fn(u), ed, DIG_COST)
|
||||
if r["skip"]:
|
||||
continue
|
||||
verdict = "✓" if r["d_perfect"] >= 0 and r["d_normal"] >= 0 else (
|
||||
"完美✓" if r["d_perfect"] >= 0 else "✗")
|
||||
print(f"| {bname} | {u} | {r['n_s']:.2f} | {r['e_mine']:.2f} | {r['r_res']:.1f} | "
|
||||
f"{r['x_res']:.1f} | {r['dr']}({r['dr_cost']:.0f}) | {r['d_normal']:+.1f} | "
|
||||
f"{r['d_perfect']:+.1f} | {verdict} |")
|
||||
print()
|
||||
print(f"### 主判式(条款⑤)· 九型矩阵加权 V_mine · C={c_clear:g}")
|
||||
print("| 板形 | u | n_s | E[踩雷] | R_res | X_res | Δr(代价) | Δ_clear 非完美 | Δ_clear 完美 | 判定 |")
|
||||
print("|---|---|---|---|---|---|---|---|---|---|")
|
||||
for bname, b in BOARDS.items():
|
||||
for u in (1, 2, 3):
|
||||
ed = e_dig(u, args.d_ref) * args.e_dig_discount
|
||||
r = audit_shape(bname, b["M"], b["S"], u, c_clear, args.d_ref,
|
||||
args.ap_r, args.iota, v_mine(u, args.d_ref), ed, DIG_COST)
|
||||
if r["skip"]:
|
||||
continue
|
||||
verdict = "✓" if r["d_perfect"] >= 0 and r["d_normal"] >= 0 else (
|
||||
"完美✓" if r["d_perfect"] >= 0 else "✗")
|
||||
print(f"| {bname} | {u} | {r['n_s']:.2f} | {r['e_mine']:.2f} | {r['r_res']:.1f} | "
|
||||
f"{r['x_res']:.1f} | {r['dr']}({r['dr_cost']:.0f}) | {r['d_normal']:+.1f} | "
|
||||
f"{r['d_perfect']:+.1f} | {verdict} |")
|
||||
print()
|
||||
|
||||
print("### 保守地板(C_eff(min)=C_MIN)需求与缺口 · 口径乙")
|
||||
print("### 保守地板(C_eff(min)=C_MIN)需求与缺口")
|
||||
print("| 板形 | u | 地板需求 X_res+Δr×s_ref | 缺口(对 min) | 缺口(对完美 ×2) |")
|
||||
print("|---|---|---|---|---|")
|
||||
for bname, b in BOARDS.items():
|
||||
for u in (1, 3):
|
||||
ed = e_dig(u, args.d_ref) * args.e_dig_discount
|
||||
r = audit_shape(bname, b["M"], b["S"], u, float(C_MIN), args.d_ref,
|
||||
args.ap_r, args.iota, v_mine_b(u, args.d_ref), ed, DIG_COST)
|
||||
args.ap_r, args.iota, v_mine(u, args.d_ref), ed, DIG_COST)
|
||||
if r["skip"]:
|
||||
continue
|
||||
print(f"| {bname} | {u} | {r['floor_req']:.1f} | +{r['gap_normal']:.1f} | +{r['gap_perfect']:.1f} |")
|
||||
|
||||
Reference in new issue
Block a user