重写tex
This commit is contained in:
@@ -1,18 +1,19 @@
|
||||
# 正式测试数据核对
|
||||
|
||||
只选择 `Jammers-simulator-full/test` 中的正式导出包。
|
||||
加密载荷不作解密。公开头部提供案例与票据;包哈希核对原件及 result 侧文件;票据哈希匹配官方正式统计数据库。
|
||||
导出快照不包含队号、设备信息、票据内容、密钥封装或账号信息。
|
||||
本次汇总 `Jammers-simulator-full/test` 中的 6 份正式导出包。
|
||||
利用公开头部的案例信息、包哈希及票据哈希,与原始导出、结果侧文件和官方正式统计数据库建立对应关系。
|
||||
|
||||
| 案例 | 正式序号 | 原件一致 | 包 SHA-256 |
|
||||
| --- | --- | --- | --- |
|
||||
| 9HU7-UWJR-BPTR-VYAT | Q3-1 | 是 | `fbd7ab92f78a019887f603172ab6a39e274adb1f917fc2681f1e8073ff47d911` |
|
||||
| 7TCG-C9EC-53VF-HZ5H | Q3-2 | 是 | `5d83ce87455ce22fadbcbddb60814d9b1f0be54de7bc9d0463777ba47b3922ef` |
|
||||
| UVUZ-B4MQ-XSUV-HQFP | Q3-3 | 是 | `eeffe419c3df005d0ea78c7ec2c10afed29c4bec782327538537dd7ba7914424` |
|
||||
| VQUM-ETQ5-74PP-ZQ3J | Q4-1 | 是 | `9a102295d324b5fb5aeed1c6036d13ae7e08a7d7fddb60ceb8dead24e62b15d3` |
|
||||
| 5K5T-TRWZ-BPR2-ECAV | Q4-2 | 是 | `370aac9c2c5d324dd382e57e541ef0da7c5dd4759660d9ea0cba8373ce0ea9a1` |
|
||||
| K58B-V5VC-E4EF-CRTW | Q4-3 | 是 | `1c7f1d111f8fd1a1d0f608d9847c0946b1b0a45bdb7b3f487e0c6d4f4586885f` |
|
||||
|
||||
虚拟时间保留官方整数微秒,程序运行时间采用官方毫秒。平均定位清除时间 = 总虚拟秒数 / 清除数。
|
||||
移动时间由总时长减去检测、换频、成功及失败清除耗时反推;不是从解密轨迹逐动作复算所得。
|
||||
`confirmed` 仅指统计提交确认,`user_exit` 仅指主动退出。源总数未知,不能报告全清率。
|
||||
问题三、四均缺第三次正式导出;不以演练或自建模拟器结果替代。
|
||||
当前算法描述对应仓库代码;公开统计没有策略提交版本标识,不能用这四局作当前参数的配对消融。
|
||||
移动时间由总时长减去检测、换频、成功及失败清除耗时计算。
|
||||
`confirmed` 表示统计提交确认,`user_exit` 表示主动退出。
|
||||
实验评价采用清除数量、逐案例平均定位清除时间、程序运行时间和动作耗时分解。
|
||||
扩展评价所需的源总数与配对场景设计见论文未来工作。
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Q3-1 & 105 & 96 & 0 & 3094.978 & 2408.978 & 77.84\% \\
|
||||
Q3-2 & 117 & 108 & 0 & 3493.335 & 2725.335 & 78.02\% \\
|
||||
Q3-3 & 117 & 107 & 0 & 2906.863 & 2164.863 & 74.47\% \\
|
||||
Q4-1 & 349 & 275 & 0 & 9362.226 & 7277.226 & 77.73\% \\
|
||||
Q4-2 & 361 & 315 & 0 & 9271.302 & 7101.302 & 76.59\% \\
|
||||
Q4-3 & 264 & 213 & 0 & 8608.382 & 7005.382 & 81.38\% \\
|
||||
|
||||
@@ -6,8 +6,12 @@ Q3-1 & \pathtext{formal-p3-1-9HU7-UWJR-BPTR-VYAT.jlog}\\
|
||||
& {\scriptsize\texttt{fbd7ab92f78a019887f603172ab6a39e}\allowbreak\texttt{274adb1f917fc2681f1e8073ff47d911}}\\[4pt]
|
||||
Q3-2 & \pathtext{formal-p3-2-7TCG-C9EC-53VF-HZ5H.jlog}\\
|
||||
& {\scriptsize\texttt{5d83ce87455ce22fadbcbddb60814d9b}\allowbreak\texttt{1f0be54de7bc9d0463777ba47b3922ef}}\\[4pt]
|
||||
Q3-3 & \pathtext{formal-p3-3-UVUZ-B4MQ-XSUV-HQFP.jlog}\\
|
||||
& {\scriptsize\texttt{eeffe419c3df005d0ea78c7ec2c10afe}\allowbreak\texttt{d29c4bec782327538537dd7ba7914424}}\\[4pt]
|
||||
Q4-1 & \pathtext{formal-p4-1-VQUM-ETQ5-74PP-ZQ3J.jlog}\\
|
||||
& {\scriptsize\texttt{9a102295d324b5fb5aeed1c6036d13ae}\allowbreak\texttt{7e08a7d7fddb60ceb8dead24e62b15d3}}\\[4pt]
|
||||
Q4-2 & \pathtext{formal-p4-2-5K5T-TRWZ-BPR2-ECAV.jlog}\\
|
||||
& {\scriptsize\texttt{370aac9c2c5d324dd382e57e541ef0da}\allowbreak\texttt{7c5dd4759660d9ea0cba8373ce0ea9a1}}\\[4pt]
|
||||
Q4-3 & \pathtext{formal-p4-3-K58B-V5VC-E4EF-CRTW.jlog}\\
|
||||
& {\scriptsize\texttt{1c7f1d111f8fd1a1d0f608d9847c0946}\allowbreak\texttt{b1b0a45bdb7b3f487e0c6d4f4586885f}}\\[4pt]
|
||||
\bottomrule\end{longtable}
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
\newcommand{\QThreeCount}{28}
|
||||
\newcommand{\QThreeWeighted}{235.297}
|
||||
\newcommand{\QThreeMean}{235.482}
|
||||
\newcommand{\QFourCount}{23}
|
||||
\newcommand{\QFourWeighted}{810.153}
|
||||
\newcommand{\QFourMean}{823.651}
|
||||
\newcommand{\QThreeCount}{38}
|
||||
\newcommand{\QThreeTotal}{9495.176084}
|
||||
\newcommand{\QThreeWeighted}{249.873}
|
||||
\newcommand{\QThreeMean}{253.884}
|
||||
\newcommand{\QFourCount}{37}
|
||||
\newcommand{\QFourTotal}{27241.909918}
|
||||
\newcommand{\QFourWeighted}{736.268}
|
||||
\newcommand{\QFourMean}{754.062}
|
||||
\newcommand{\FormalClearCount}{75}
|
||||
\newcommand{\FormalMovementMin}{74.47}
|
||||
\newcommand{\FormalMovementMax}{81.38}
|
||||
\newcommand{\FormalRunMin}{2.680}
|
||||
\newcommand{\FormalRunMax}{7.668}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
% Generated by scripts/audit_paper_formal.py; seconds; half-up rounding.
|
||||
测试 1 & \texttt{9HU7-UWJR-BPTR-VYAT} & 13 & 238.075 & 5.596 \\
|
||||
测试 2 & \texttt{7TCG-C9EC-53VF-HZ5H} & 15 & 232.889 & 3.024 \\
|
||||
测试 3 & 未提供记录 & -- & -- & -- \\
|
||||
测试 3 & \texttt{UVUZ-B4MQ-XSUV-HQFP} & 10 & 290.686 & 2.680 \\
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
% Generated by scripts/audit_paper_formal.py; seconds; half-up rounding.
|
||||
测试 1 & \texttt{VQUM-ETQ5-74PP-ZQ3J} & 13 & 720.171 & 7.668 \\
|
||||
测试 2 & \texttt{5K5T-TRWZ-BPR2-ECAV} & 10 & 927.130 & 5.724 \\
|
||||
测试 3 & 未提供记录 & -- & -- & -- \\
|
||||
测试 3 & \texttt{K58B-V5VC-E4EF-CRTW} & 14 & 614.884 & 6.051 \\
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
problem_no,formal_index,case_code,entered,end_reason,cleared_jammer_count,measure_accepted_count,virtual_time_us,program_run_duration_ms,channel_switch_count,clear_failure_count,state,package_sha256,virtual_time_s,average_clear_time_s,program_run_duration_s,inferred_movement_time_s,inferred_distance_m,movement_share_percent,source_total,clear_fraction
|
||||
3,1,9HU7-UWJR-BPTR-VYAT,1,user_exit,13,105,3094978068,5596,96,0,confirmed,fbd7ab92f78a019887f603172ab6a39e274adb1f917fc2681f1e8073ff47d911,3094.978068,238.075236,5.596,2408.978068,12044.890340,77.835061,,
|
||||
3,2,7TCG-C9EC-53VF-HZ5H,1,user_exit,15,117,3493335140,3024,108,0,confirmed,5d83ce87455ce22fadbcbddb60814d9b1f0be54de7bc9d0463777ba47b3922ef,3493.33514,232.889009,3.024,2725.33514,13626.67570,78.015279,,
|
||||
3,3,UVUZ-B4MQ-XSUV-HQFP,1,user_exit,10,117,2906862876,2680,107,0,confirmed,eeffe419c3df005d0ea78c7ec2c10afed29c4bec782327538537dd7ba7914424,2906.862876,290.686288,2.680,2164.862876,10824.314380,74.474200,,
|
||||
4,1,VQUM-ETQ5-74PP-ZQ3J,1,user_exit,13,349,9362225736,7668,275,0,confirmed,9a102295d324b5fb5aeed1c6036d13ae7e08a7d7fddb60ceb8dead24e62b15d3,9362.225736,720.171210,7.668,7277.225736,36386.128680,77.729655,,
|
||||
4,2,5K5T-TRWZ-BPR2-ECAV,1,user_exit,10,361,9271302080,5724,315,0,confirmed,370aac9c2c5d324dd382e57e541ef0da7c5dd4759660d9ea0cba8373ce0ea9a1,9271.30208,927.130208,5.724,7101.30208,35506.51040,76.594442,,
|
||||
4,3,K58B-V5VC-E4EF-CRTW,1,user_exit,14,264,8608382102,6051,213,0,confirmed,1c7f1d111f8fd1a1d0f608d9847c0946b1b0a45bdb7b3f487e0c6d4f4586885f,8608.382102,614.884436,6.051,7005.382102,35026.910510,81.378615,,
|
||||
|
||||
|
@@ -2,12 +2,22 @@
|
||||
"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": {
|
||||
"3": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
],
|
||||
"4": [
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
},
|
||||
"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": [
|
||||
{
|
||||
@@ -78,6 +88,40 @@
|
||||
"clear_fraction": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"problem_no": 3,
|
||||
"formal_index": 3,
|
||||
"case_code": "UVUZ-B4MQ-XSUV-HQFP",
|
||||
"client_version": "1.1.0",
|
||||
"entered": 1,
|
||||
"end_reason": "user_exit",
|
||||
"cleared_jammer_count": 10,
|
||||
"measure_accepted_count": 117,
|
||||
"virtual_time_us": 2906862876,
|
||||
"program_run_duration_ms": 2680,
|
||||
"channel_switch_count": 107,
|
||||
"clear_failure_count": 0,
|
||||
"state": "confirmed",
|
||||
"file": "test/q3/formal-p3-3-UVUZ-B4MQ-XSUV-HQFP.jlog",
|
||||
"size_bytes": 107396,
|
||||
"package_sha256": "eeffe419c3df005d0ea78c7ec2c10afed29c4bec782327538537dd7ba7914424",
|
||||
"activation_ticket_sha256": "0134f356b107b6706dfaba48fd00b86c5e3a4fa7ef295d17bbd4080111d112b3",
|
||||
"created_at_utc": "2026-09-13T02:32:31.689Z",
|
||||
"ended_at_utc": "2026-09-13T02:32:31.686Z",
|
||||
"content_encryption": "aes-256-gcm-chunked",
|
||||
"identity_and_ticket_content_omitted": true,
|
||||
"same_as_official_original": true,
|
||||
"derived": {
|
||||
"virtual_time_s": "2906.862876",
|
||||
"average_clear_time_s": "290.686288",
|
||||
"program_run_duration_s": "2.680",
|
||||
"inferred_movement_time_s": "2164.862876",
|
||||
"inferred_distance_m": "10824.314380",
|
||||
"movement_share_percent": "74.474200",
|
||||
"source_total": null,
|
||||
"clear_fraction": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"problem_no": 4,
|
||||
"formal_index": 1,
|
||||
@@ -145,6 +189,40 @@
|
||||
"source_total": null,
|
||||
"clear_fraction": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"problem_no": 4,
|
||||
"formal_index": 3,
|
||||
"case_code": "K58B-V5VC-E4EF-CRTW",
|
||||
"client_version": "1.1.0",
|
||||
"entered": 1,
|
||||
"end_reason": "user_exit",
|
||||
"cleared_jammer_count": 14,
|
||||
"measure_accepted_count": 264,
|
||||
"virtual_time_us": 8608382102,
|
||||
"program_run_duration_ms": 6051,
|
||||
"channel_switch_count": 213,
|
||||
"clear_failure_count": 0,
|
||||
"state": "confirmed",
|
||||
"file": "test/q4/formal-p4-3-K58B-V5VC-E4EF-CRTW.jlog",
|
||||
"size_bytes": 140251,
|
||||
"package_sha256": "1c7f1d111f8fd1a1d0f608d9847c0946b1b0a45bdb7b3f487e0c6d4f4586885f",
|
||||
"activation_ticket_sha256": "9cdd910c14e58fca08e3769f880a6b543de2bbdd21479094dc9cd2df725f0036",
|
||||
"created_at_utc": "2026-09-13T02:34:32.695Z",
|
||||
"ended_at_utc": "2026-09-13T02:34:32.692Z",
|
||||
"content_encryption": "aes-256-gcm-chunked",
|
||||
"identity_and_ticket_content_omitted": true,
|
||||
"same_as_official_original": true,
|
||||
"derived": {
|
||||
"virtual_time_s": "8608.382102",
|
||||
"average_clear_time_s": "614.884436",
|
||||
"program_run_duration_s": "6.051",
|
||||
"inferred_movement_time_s": "7005.382102",
|
||||
"inferred_distance_m": "35026.910510",
|
||||
"movement_share_percent": "81.378615",
|
||||
"source_total": null,
|
||||
"clear_fraction": null
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ def figures(rows: list[dict]) -> None:
|
||||
r"\node[anchor=west,align=left] at (3250,900) {圆域:源位置先验\\蓝点:31个检测站};",
|
||||
r"\node[anchor=west,align=left] at (3250,-700) {部分站点在圆域外\\用于接收向外发射的源};",
|
||||
r"\end{tikzpicture}",
|
||||
r"\caption{第四问31点计划的几何分布。站点取自计划文件,不代表正式运行轨迹;离散验证不等同于连续覆盖证明。}",
|
||||
r"\caption{第四问集合覆盖模型得到的31个检测站及源位置区域。}",
|
||||
r"\label{fig:q4plan}\end{figure}",
|
||||
]
|
||||
(out / "q4-plan.tex").write_text("\n".join(lines) + "\n", "utf-8")
|
||||
@@ -74,7 +74,7 @@ def figures(rows: list[dict]) -> None:
|
||||
r"\begin{tikzpicture}[x=0.00108cm,y=0.85cm,font=\small]",
|
||||
]
|
||||
for j, row in enumerate(rows):
|
||||
y = 3 - j
|
||||
y = len(rows) - 1 - j
|
||||
components = [Decimal(row["derived"]["inferred_movement_time_s"]),
|
||||
Decimal(5 * row["measure_accepted_count"]),
|
||||
Decimal(row["channel_switch_count"]),
|
||||
@@ -95,7 +95,7 @@ def figures(rows: list[dict]) -> None:
|
||||
fr"\node[anchor=west] at ({x + 450},-1.175) {{{label}}};"]
|
||||
bars += [
|
||||
r"\end{tikzpicture}",
|
||||
r"\caption{四次正式测试的累计虚拟耗时。移动项由总时间扣除官方动作计数对应耗时反推。}",
|
||||
r"\caption{正式测试的累计虚拟耗时分解。移动时间由总耗时与各动作计数计算。}",
|
||||
r"\label{fig:costbars}\end{figure}",
|
||||
]
|
||||
(out / "formal-time-bars.tex").write_text("\n".join(bars) + "\n", "utf-8")
|
||||
@@ -142,9 +142,8 @@ def listings(rows: list[dict]) -> None:
|
||||
|
||||
SUPPORT_README = """# 论文支撑材料
|
||||
|
||||
只引用官方模拟器 test 中的四份正式导出及哈希匹配的官方统计。
|
||||
问题三、四各缺第三份正式记录。正式源总数未知,不能计算全清率。
|
||||
完整原始包保留原名,匿名快照不含队号与票据内容。
|
||||
汇总官方模拟器 test 中的六份正式导出及哈希匹配的官方统计。
|
||||
问题三、四各包含三次正式测试。支撑材料保留原始文件名及文件校验值。
|
||||
|
||||
## 环境和运行
|
||||
|
||||
@@ -157,19 +156,16 @@ Python >=3.10;安装 requests,可选 numpy 加速。
|
||||
python -m mcm26b.cli run --problem 4 --strategy directional --robot-id <模拟器登录队号>
|
||||
|
||||
在线命令需要先由使用者在官方模拟器中选择测试、待接口就绪。
|
||||
重写论文未运行这些在线命令。自建评测机及历史场景不作为论文实验资料。
|
||||
策略的自检命令涉及另一个可选 referee 包,本包用于正式接口路径。
|
||||
策略的自检命令另需可选 referee 包。
|
||||
|
||||
## 重算论文数据和图表
|
||||
|
||||
python scripts/audit_paper_formal.py --snapshot docs/paper/data/formal-results.json
|
||||
python scripts/build_paper_support.py
|
||||
|
||||
上述命令均为离线处理,不连接模拟器接口。
|
||||
匿名快照来自原电脑官方正式统计队列,通过票据哈希匹配所选包;
|
||||
没有该队列时可验证快照算术和现有包哈希,不能独立重做来源匹配。
|
||||
源码与正式包无策略提交版本哈希绑定;不作同场景消融或全清率宣称。
|
||||
31点计划只有离散证据;混合类型下的 joint_empty 判定边界见论文正文。
|
||||
上述命令在本地重算统计表、图表及源码附录。统计快照来自官方正式
|
||||
统计队列,通过票据哈希匹配所选包。重新验证来源匹配需原电脑的统计队列。
|
||||
连续覆盖与混合类型推断的扩展见论文未来工作。
|
||||
|
||||
## 编译
|
||||
|
||||
@@ -177,9 +173,8 @@ Python >=3.10;安装 requests,可选 numpy 加速。
|
||||
|
||||
latexmk -xelatex -interaction=nonstopmode -halt-on-error main.tex
|
||||
|
||||
版式使用原项目模板。精简支撑包不含大体积字体,编译前请将原项目
|
||||
docs/paper/fonts 目录放回同一相对位置;不要修改模板以替代这些字体。
|
||||
使用 latexmk 自动完成交叉引用所需的多遍编译,不能只运行一次 XeLaTeX。
|
||||
版式使用原项目模板。编译前请将原项目 docs/paper/fonts 目录放回
|
||||
同一相对位置。使用 latexmk 自动完成交叉引用所需的多遍编译。
|
||||
support-manifest.json 列出包内全部材料(清单自身除外)及 SHA-256。
|
||||
"""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user