把《伽达默尔与哈贝马斯真理观比较》与《通往宁静之路》建模为可运行、可测试的 MoonBit 状态机族(主体/多主体/群体/双层次社会交往),外加进化层与科研 Agent 协调器,并附自研 DoubleML 与 riantr/moonbit_doubleML 的互校。
Dependencies
| Item | Value |
|---|---|
| Repository | git@gitee.com:ren-yongxiang/pyroduct.git |
| Author | riantr |
| License | MIT |
| moon.mod version | 0.1.1 |
| Module name | riantr/pyroduct |
| Source layout | 15 packages in one module(11 个库/CLI + 4 个示例),一个关注点一个包 |
| .mbt file count | 41 production files (+ 8 test files) |
| Packages | 库:src · multi · group · society · ml · evolution · coordinator · dmlref;CLI:cmd/main · cmd/coord;其他:tools/pdfdump · examples/{plr,irm,cross_check,consumer} |
| Third-party deps | moonbitlang/async@0.22.4 (only cmd/coord) · riantr/moonbit_doubleML@0.64.0 (only dmlref) |
| Backends | wasm (default moon test) · native (cmd/coord, real disk I/O) — wasm-gc / js 未实测 |
| Tests | 77 / 77 (moon test) |
| Keywords | state machine · hermeneutics · Gadamer · Habermas · multi-agent · DoubleML · causal inference · research coordinator · 语料建模 · 科研协调 |
$ moon test
Total tests: 75, passed: 75, failed: 0.
$ moon run cmd/main -- report # 主体状态机(默认)
$ moon run cmd/main -- multi # 多主体行为规则 R1–R14 + 场景
$ moon run cmd/main -- group # 群体状态机
$ moon run cmd/main -- society # 双层次社会交往模型
$ moon run cmd/main -- evolution # 变异/适应度/闸门/持久化/遗传
$ moon run cmd/main -- coordinator # 科研 Agent 协调器(八节)
$ moon run cmd/main -- dmlref # 与外部参考实现对照
$ moon run examples/plr # 示例:外部 DGP + 外部 DoubleMLPLR
$ moon run examples/irm # 示例:外部 DGP + 外部 DoubleMLIRM
$ moon run examples/cross_check # 示例:外部 DGP 上两实现互校
$ moon run examples/consumer # 示例:库使用者的最小闭环
$ moon run --target native cmd/coord # 真实落盘
步数 3|时钟 3|发现 3 条
已落盘:.openseek/coordinator-state.txt
读回:时钟 3|往返一致 true|与写前一致 true// 主体状态机:枚举、遍历、可达性
let states : Array[@sm.SubjectState] = @sm.all_states() // 34 个
let path : Array[@sm.SubjectState] = @sm.genesis_path() // 主线
let ok : Bool = @sm.reachable(@sm.initial(), @sm.terminal())
// 一次两主体遭遇(相位、体制、两诚都参与裁决)
let me = @multi.subject(1, @multi.rendezvous(), @multi.InterSubjective, 70, 70, 9)
let other = @multi.subject(2, @multi.rendezvous(), @multi.ChengRan, 80, 80, 9)
let claim : @multi.ValidityClaim = { kind: @multi.Truthfulness, phase: @multi.During }
let out = @multi.encounter(me, other, @multi.Theoretical, claim)
let verdict : String = out.verdict.label()
// 双层次社会交往模型:状态、迁移、不变量
let social : Array[@society.State] = @society.all_states() // 13 个
let never_closes : Bool = @society.no_final_closure()
// 进化:枚举候选 → 过闸 → 记账
let g = @evolution.default_agent()
let cands = @evolution.mutations(g) // 14 个单步候选
let led = @evolution.evolve(g, @evolution.default_world(),
@evolution.Weighted(@evolution.truth_objective()), 3)
// 协调器:跑一段示例研究,并把整机检查点写下 / 读回
let rt = @coordinator.new_runtime()
ignore(rt.step(@coordinator.demo_tasks(), @coordinator.demo_questions(),
@coordinator.demo_workers(), @coordinator.demo_datasets(),
@coordinator.demo_world(), @coordinator.demo_parent(),
@coordinator.demo_candidate()))
let checkpoint : String = rt.checkpoint()
let back = @coordinator.restore(checkpoint)
let same : Bool = back.round_trips()| Package | 单位 | 状态 | 迁移 | 阶段 | 依据 |
|---|---|---|---|---|---|
| src | 一个主体 | 34 | 53 | 11 | 《通往宁静之路》 |
| group | 一个群体 | 20 | 42 | 9 | 模型延伸:成员配置 → 群体涌现,R7 回写 |
| society | 一个社会 | 13 | 26 | 8 | 论文第四章(P.22–P.55),逐条出处 |
| multi | 两个主体 | — | 14 条规则 | — | 论文第四章第一节至第五节 |
| Subcommand | 输出 |
|---|---|
| report(默认) | 主体状态机文字报告 |
| mermaid / dot | 状态图(Mermaid / Graphviz) |
| genesis / course | 主线(原文顺序)/可重入的环节序列 |
| naming / principle | 定名对照表/主体通用性原则 |
| ml / ml-export | DoubleML 接口与因果实验/数据集 CSV |
| multi / group / society / evolution / coordinator / dmlref | 各层报告 |
| all | 报告 + 历程 + Mermaid |
| 示例 | 数据来源 | 估计器 | 命令 |
|---|---|---|---|
| examples/plr | 外部 plr_CCDDHNR2018 | 外部 DoubleMLPLR | moon run examples/plr |
| examples/irm | 外部 make_irm_data | 外部 DoubleMLIRM(倾向得分传 logistic) | moon run examples/irm |
| examples/cross_check | 外部 plr_CCDDHNR2018 | 外部 PLR 与 自研 ml.dml_plr 同时跑 | moon run examples/cross_check |
| examples/consumer | — | 只用本库公开 API | moon run examples/consumer |
$ moon run examples/plr
=== MoonBit DML PLR(数据取自 riantr/moonbit_doubleML 的 DGP)===
true theta_0 = 1
estimated theta = 0.9821170792373195
standard error = 0.03755880410559667
95% CI = [0.90850182319035, 1.055732335284289]
n_obs = 500
n_features = 20
$ moon run examples/irm
=== MoonBit DML IRM(数据取自 riantr/moonbit_doubleML 的 DGP)===
true theta_0 = 1
estimated theta = 0.9646539735147219
standard error = 0.10162091470514976
95% CI = [0.7654769806926284, 1.1638309663368154]
$ moon run examples/cross_check
=== 实现互校:外部 DGP(plr_CCDDHNR2018),n = 500,5 折 ===
真值 θ = 1
参考实现 θ̂ = 0.9821170792373195(se 0.03755880410559667)
自研实现 θ̂ = 1.0050224545430984(se 0.038635225992883944)
两者之差 |Δθ̂| = 0.022905375305778852|标准误之差 = 0.0010764218872872724
容差内一致 = truepyroduct/ <- the module (riantr/pyroduct, 11 packages)
src/ <- 主体状态机(34 状态)+ 渲染
multi/ <- 多主体行为规则 R1–R14 + 遭遇引擎
group/ <- 群体状态机(涌现 + R7 回写)
society/ <- 双层次社会交往模型(从论文原文提取)
ml/ <- 自研 DoubleML(PLR / 交叉拟合 / 正交分数 / 推断)
evolution/ <- 变异空间 / 适应度目标 / 更新闸门 / 持久化 / 遗传
coordinator/ <- 科研 Agent 协调器(七件事)
dmlref/ <- 与 riantr/moonbit_doubleML 的对照层
cmd/main/ <- CLI(wasm)
cmd/coord/ <- CLI(native,真实落盘)
tools/pdfdump/ <- 对 truth.pdf 的零依赖只读勘察记录
examples/ <- 可运行示例(一例一包)
plr/ <- 外部 DGP + 外部 DoubleMLPLR
irm/ <- 外部 DGP + 外部 DoubleMLIRM
cross_check/ <- 外部 DGP 上两实现互校
consumer/ <- 库使用者的最小闭环
moon.pkg <- 根包(只承载本 README;mooncakes 的 docs 按包渲染文档)
moon.mod <- module manifest(riantr/pyroduct@0.1.1)
README.mbt.md <- this fileInstall
Download zip把《伽达默尔与哈贝马斯真理观比较》与《通往宁静之路》建模为可运行、可测试的 MoonBit 状态机族(主体/多主体/群体/双层次社会交往),外加进化层与科研 Agent 协调器,并附自研 DoubleML 与 riantr/moonbit_doubleML 的互校。
Dependencies