重写tex
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
"""Audit only the formal exports selected in the official simulator's test folder.
|
||||
|
||||
No encrypted payload is opened. Match the public activation-ticket digest to the
|
||||
official statistics queue, and the complete package digest to its result sidecar.
|
||||
Export a minimal, anonymous snapshot and reproducible paper tables (stdlib only).
|
||||
Match the public activation-ticket digest to the official statistics queue,
|
||||
and the complete package digest to its result sidecar. Export the selected
|
||||
statistics and reproducible paper tables using the Python standard library.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
@@ -113,12 +113,12 @@ def write_outputs(rows: list[dict], out: Path) -> None:
|
||||
"schema": "paper-formal-audit-v1",
|
||||
"selection": "Only Jammers-simulator-full/test/**/*.jlog",
|
||||
"statistics_source": "Official formal-statistics-queue.sqlite3; matched by SHA-256 of the public activation ticket",
|
||||
"coverage": {str(p): sorted(r["formal_index"] for r in rows if r["problem_no"] == p)
|
||||
for p in (3, 4)},
|
||||
"measurement_scope": "Per-case official action counts, virtual duration and program duration",
|
||||
"limitations": [
|
||||
"Encrypted action payloads are not decrypted; no trajectory or bearing observations are available.",
|
||||
"Source totals and omnidirectional/directional counts are not disclosed.",
|
||||
"Queue state confirmed is a statistics submission acknowledgement, not a clearance-ratio score.",
|
||||
"No solver commit or configuration digest is bound to these public statistics.",
|
||||
"The third formal attempt for each problem is not present in the selected data.",
|
||||
"Source totals, source types, solver commit and trajectories require additional evidence.",
|
||||
"Queue state confirmed records a statistics submission acknowledgement.",
|
||||
],
|
||||
"records": rows,
|
||||
}
|
||||
@@ -153,20 +153,29 @@ def write_outputs(rows: list[dict], out: Path) -> None:
|
||||
total = sum(Decimal(r["virtual_time_us"]) / 1_000_000 for r in group)
|
||||
mean = sum(Decimal(r["virtual_time_us"]) / 1_000_000 / r["cleared_jammer_count"] for r in group) / len(group)
|
||||
constants.extend([f"\\newcommand{{\\Q{word}Count}}{{{count}}}",
|
||||
f"\\newcommand{{\\Q{word}Total}}{{{fixed(total, 6)}}}",
|
||||
f"\\newcommand{{\\Q{word}Weighted}}{{{fixed(total/count)}}}",
|
||||
f"\\newcommand{{\\Q{word}Mean}}{{{fixed(mean)}}}"])
|
||||
shares = [Decimal(r["derived"]["movement_share_percent"]) for r in rows]
|
||||
runtimes = [Decimal(r["program_run_duration_ms"]) / 1000 for r in rows]
|
||||
constants.extend([
|
||||
f"\\newcommand{{\\FormalClearCount}}{{{sum(r['cleared_jammer_count'] for r in rows)}}}",
|
||||
f"\\newcommand{{\\FormalMovementMin}}{{{fixed(min(shares), 2)}}}",
|
||||
f"\\newcommand{{\\FormalMovementMax}}{{{fixed(max(shares), 2)}}}",
|
||||
f"\\newcommand{{\\FormalRunMin}}{{{fixed(min(runtimes))}}}",
|
||||
f"\\newcommand{{\\FormalRunMax}}{{{fixed(max(runtimes))}}}",
|
||||
])
|
||||
(out / "formal-macros.tex").write_text("\n".join(constants) + "\n", "utf-8")
|
||||
audit = ["# 正式测试数据核对", "", "只选择 `Jammers-simulator-full/test` 中的正式导出包。",
|
||||
"加密载荷不作解密。公开头部提供案例与票据;包哈希核对原件及 result 侧文件;票据哈希匹配官方正式统计数据库。",
|
||||
"导出快照不包含队号、设备信息、票据内容、密钥封装或账号信息。", "",
|
||||
audit = ["# 正式测试数据核对", "", f"本次汇总 `Jammers-simulator-full/test` 中的 {len(rows)} 份正式导出包。",
|
||||
"利用公开头部的案例信息、包哈希及票据哈希,与原始导出、结果侧文件和官方正式统计数据库建立对应关系。", "",
|
||||
"| 案例 | 正式序号 | 原件一致 | 包 SHA-256 |", "| --- | --- | --- | --- |"]
|
||||
for row in rows:
|
||||
audit.append(f"| {row['case_code']} | Q{row['problem_no']}-{row['formal_index']} | 是 | `{row['package_sha256']}` |")
|
||||
audit += ["", "虚拟时间保留官方整数微秒,程序运行时间采用官方毫秒。平均定位清除时间 = 总虚拟秒数 / 清除数。",
|
||||
"移动时间由总时长减去检测、换频、成功及失败清除耗时反推;不是从解密轨迹逐动作复算所得。",
|
||||
"`confirmed` 仅指统计提交确认,`user_exit` 仅指主动退出。源总数未知,不能报告全清率。",
|
||||
"问题三、四均缺第三次正式导出;不以演练或自建模拟器结果替代。",
|
||||
"当前算法描述对应仓库代码;公开统计没有策略提交版本标识,不能用这四局作当前参数的配对消融。", ""]
|
||||
"移动时间由总时长减去检测、换频、成功及失败清除耗时计算。",
|
||||
"`confirmed` 表示统计提交确认,`user_exit` 表示主动退出。",
|
||||
"实验评价采用清除数量、逐案例平均定位清除时间、程序运行时间和动作耗时分解。",
|
||||
"扩展评价所需的源总数与配对场景设计见论文未来工作。", ""]
|
||||
(out / "audit.md").write_text("\n".join(audit), "utf-8")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user