feat: 研究规则 rules 模块(任务书 02)

rules 是纯计算,src/rules 共 1761 行:方法.md 第六部分的全部公式、第七部分的余额与扣次、4.2 的入口分配,以及种子与规则登记表。

预期值有三个来源:方法.md 的手算例;tests/fixtures/rules/ 下不看实现写的 Python 脚本;参考项目 calc15、calc14b 里与现行方法一致的部分。审阅做了两轮,每轮都换一个全新上下文的子 Agent,提出的问题都已修复或写明不修的理由。

用户确认的约定(原话"1–8 都同意"):入池、采纳、消融中发现都用严格不等号;成本用 max(0, ĝ₀);没测的格附"含它的最好组合"的净值;战绩在分数原值上判。三个数改为严格递增后,删掉了尖峰的全部专门处理(bfb96ba)。vocab 里 Range 的说明同步改为严格递增。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-02 01:50:21 -04:00
parent bfb96ba7d7
commit 60c21ae346
37 changed files with 14067 additions and 3 deletions
+282
View File
@@ -0,0 +1,282 @@
{
"source": "research-wiki/设计-15-计算/calc15.py(14-real-1 账本副本)",
"input": {
"baseline": 0.9597642169962064,
"full": 2.6276819772628,
"knownBest": 2.635,
"offGrid": 2.5989997592071172,
"offSolverLegalized": 1.7602769492805097,
"explanations": [
{
"id": "e1",
"author": "researcher-1",
"cells": [
[
1.4,
1.75,
2.1
],
[
1.9,
2.05,
2.18
]
]
},
{
"id": "e2",
"author": "researcher-1",
"cells": [
[
1.9,
2.3,
2.55
],
[
1.8,
1.95,
2.1
]
]
},
{
"id": "e3",
"author": "researcher-1",
"cells": [
[
1.65,
2.05,
2.4
],
[
1.8,
1.98,
2.15
]
]
},
{
"id": "e4",
"author": "researcher-2",
"cells": [
[
2.3,
2.45,
2.58
],
[
1.85,
2.02,
2.18
]
]
},
{
"id": "e5",
"author": "researcher-2",
"cells": [
[
1.5,
1.95,
2.35
],
[
1.9,
2.06,
2.2
]
]
},
{
"id": "e6",
"author": "researcher-2",
"cells": [
[
1.8,
2.05,
2.3
],
[
1.85,
2,
2.15
]
]
},
{
"id": "e7",
"author": "researcher-3",
"cells": [
[
1.9,
2.15,
2.4
],
[
1.95,
2.1,
2.2
]
]
},
{
"id": "e8",
"author": "researcher-3",
"cells": [
[
2.25,
2.45,
2.55
],
[
1.7,
1.9,
2.05
]
]
},
{
"id": "e9",
"author": "researcher-3",
"cells": [
[
1.7,
1.95,
2.2
],
[
1.85,
2,
2.15
]
]
}
]
},
"G": 1.6679177602665936,
"h": 0.007318022737199836,
"supportOffGrid": 0.017196422233131125,
"supportOffSolver": 0.5200526360746033,
"priorSupport2": [
0.3226369969085209,
0.3808832739818412
],
"priorSupport3": [
0.3226369969085209,
0.3808832739818412,
0.34891227321051016
],
"voi2": {
"1": 0.0005820672232162948,
"2": 0.0002053645817553188,
"1+2": 0.0006313506372333821
},
"voi2GridAll": 0.0006313460547053311,
"voi3": {
"1": 0.0005820672232162948,
"2": 0.00023468479202717538,
"3": 0.00037866484827430574,
"1+2": 0.0007066366436911577,
"1+3": 0.0008066824756162668,
"2+3": 0.0005046379680289518,
"1+2+3": 0.0008773803854093963
},
"voi3GridAll": 0.0008771372131003269,
"g0": 0.0027873124592182287,
"opp": {
"1": 0.00046455207653637166,
"2": 0.0007432833224581948
},
"hand": {
"reservePrior": 0.1,
"reservePosterior": 0.08426511100308286,
"explanationsPosterior": 0.9157348889969171,
"gainOffGrid": 0.00012584380890054235,
"solverGainPrior": 0.0027873124592182287,
"solverGainPosterior": 0.002893886609905632
},
"gridCap": {
"1": 4000000,
"2": 2000,
"3": 158,
"4": 44
},
"cellMiniSegments": {
"k1": [
620,
600
],
"k2": [
620,
600
],
"k3": [
155,
150,
126
]
},
"labels": {
"[0.95, 0.93, 0.91]": "缺一不可",
"[0.95, 0.93, 0.9]": "互补",
"[0.6, 0.4, 0.3]": "互补",
"[0.6, 0.4, 0.1]": "各管各",
"[0.5, 0.3, 0.1]": "各管各",
"[0.5, null, 0.3]": "不全,不贴标签"
},
"label2": "替代",
"choose": {
"2cells_bal5": {
"chosen": [
1
],
"net": {
"none": 0.0,
"1": 0.00043655041741222107,
"2": 0.0001540234363164891,
"1+2": -0.0002697703445331582
}
},
"2cells_bal7": {
"chosen": [
1,
2
],
"net": {
"none": 0.0,
"1": 0.00043655041741222107,
"2": 0.0001540234363164891,
"1+2": 0.00047351297792503657
}
},
"2cells_bal10": {
"chosen": [
1,
2
],
"net": {
"none": 0.0,
"1": 0.00043655041741222107,
"2": 0.0001540234363164891,
"1+2": 0.00047351297792503657
}
},
"3cells_bal10": {
"chosen": [
1,
2,
3
],
"net": {
"none": 0.0,
"1": 0.00043655041741222107,
"2": 0.00017601359402038153,
"3": 0.0002839986362057293,
"1+2": 0.0005299774827683683,
"1+3": 0.0006050118567122001,
"2+3": 0.0003784784760217138,
"1+2+3": 0.0006580352890570472
}
}
}
}