iuh
This commit is contained in:
@@ -19,6 +19,15 @@ python scripts/audit_paper_formal.py --snapshot docs/paper/data/formal-results.j
|
||||
第二条命令只重算快照中的算术量;如果原始包仍在目录中,还会核对包哈希。
|
||||
它不表示脱离官方数据库后又独立验证了一次统计来源。
|
||||
|
||||
第~\ref{sec:comparison} 节的配对对比表由 \pathtext{scripts/build_paper_support.py}
|
||||
从 \pathtext{project/results/*.json} 生成,复跑对比框架本身执行
|
||||
\texttt{uv run python -m project.run}。
|
||||
正文插图由 \pathtext{scripts/build_figure_data.py} 准备数据、
|
||||
\pathtext{scripts/matlab/run_all_figures.m} 出图,逐图来源与生成命令见
|
||||
\pathtext{docs/figures/manifest.json}。
|
||||
其中回放画布与实测计时两张插图取自评测机演练留档,
|
||||
只用于说明机制与时间构成,不参与正式统计。
|
||||
|
||||
\section{支撑材料与运行方法}
|
||||
\begin{table}[H]
|
||||
\centering\small
|
||||
@@ -29,11 +38,14 @@ python scripts/audit_paper_formal.py --snapshot docs/paper/data/formal-results.j
|
||||
\midrule
|
||||
\pathtext{src/mcm26b/} & 四问几何、信念、覆盖、调度与串行通信实现\\
|
||||
\pathtext{src/mcm26b/guarantee/plans/} & 第四问已实现的覆盖计划及验证参数\\
|
||||
\pathtext{project/} & 最优与基线配对对比框架及其冻结基准集结果\\
|
||||
\pathtext{scripts/audit_paper_formal.py} & 正式文件对应核对、匿名快照及表格复算\\
|
||||
\pathtext{scripts/build_paper_support.py} & 矢量图、源码附录与支撑包生成\\
|
||||
\pathtext{scripts/build_paper_support.py} & 对比表、矢量图、源码附录与支撑包生成\\
|
||||
\pathtext{scripts/build_figure_data.py}、\pathtext{scripts/matlab/} & 插图数据准备与 MATLAB 出图脚本\\
|
||||
\pathtext{docs/paper/data/} & 仅四个所选正式案例的可读统计、表格及哈希\\
|
||||
\pathtext{docs/paper/sections/} & 分章论文源文件\\
|
||||
\pathtext{docs/paper/figures/} & 参数构造图和正式累计耗时图的矢量源文件\\
|
||||
\pathtext{docs/paper/figures/} & 正式累计耗时图的矢量源文件\\
|
||||
\pathtext{docs/figures/} & 正文插图(PNG)及其数据清单与生成命令\\
|
||||
\pathtext{Jammers-simulator-full/test/} & 四份原名官方加密正式日志\\
|
||||
\pathtext{support-manifest.json} & 支撑包文件清单及逐文件 SHA-256\\
|
||||
\bottomrule
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
\section{算法对比实验:最优实现与基线}\label{sec:comparison}
|
||||
\subsection{对比口径与有效性判定}
|
||||
本节数据来自仓库内的配对对比框架 \pathtext{project/},
|
||||
用于回答上述几何判据与闭环策略相对朴素做法改进在哪里;
|
||||
它与第~\ref{sec:formal} 节的四份官方正式导出完全分开,两类数字不合并、不相加。
|
||||
框架设三种角色:\textbf{最优实现}直接复用 \pathtext{src/mcm26b} 中已由测试固化的生产代码,
|
||||
只增加输入输出适配;\textbf{基线实现}是同题下更朴素但能独立跑通的对照,
|
||||
不共享最优实现的关键步骤;\textbf{独立参考}与分析算法正交,用于判定谁对谁错。
|
||||
问题三、四在内存回环评测机上运行,与官方接口使用同一请求与响应边界:
|
||||
源真值只在评测机一侧,策略端只读响应,因此全清率与缺席误判可以核查。
|
||||
一局有效必须同时满足全清、无缺席误判、正常 \texttt{/exit}、零异常与逐微秒计时复算一致,
|
||||
否则记为无效,失败样本不静默丢弃;所有对比按场景配对,并给出均值、中位与最大值。
|
||||
源位置均匀、误差场逐点固定等分布属于自建测试假设,题面并未规定,
|
||||
本节结论只描述各方法的相对行为。
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering\small
|
||||
\caption{四问最优实现与基线的核心指标总览(自建基准集)}
|
||||
\begin{tabularx}{\linewidth}{c X l l}
|
||||
\toprule
|
||||
问 & 核心指标 & 最优实现 & 基线实现\\
|
||||
\midrule
|
||||
\csname @@input\endcsname data/project-overview-rows.tex
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
\label{tab:projoverview}
|
||||
\end{table}
|
||||
表~\ref{tab:projoverview} 中问题二、四的基线分别取“候选圆心”与
|
||||
“问题三策略直接搬用”,它们是各自问中最需要区分的对照,
|
||||
其余各表的配对数字同样如此选择。
|
||||
本节全部数字由 \pathtext{scripts/build_paper_support.py} 从
|
||||
\pathtext{project/results/*.json} 生成,正文与表格均不手抄。
|
||||
|
||||
\subsection{问题一:直径与覆盖判定}
|
||||
\begin{table}[htbp]
|
||||
\centering\small
|
||||
\caption{问题一固定示例的直径与覆盖判定(单位:m,$\Delta D$ 为相对参考解的误差)}
|
||||
\setlength{\tabcolsep}{4.5pt}
|
||||
\begin{tabular}{lrrrrccc}
|
||||
\toprule
|
||||
算例 & $D$参考 & $D$最优 & $D$基线 & $|\Delta D|$基线 & 覆盖参考 & 覆盖最优 & 覆盖基线\\
|
||||
\midrule
|
||||
\csname @@input\endcsname data/project-q1-example-rows.tex
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\label{tab:projq1case}
|
||||
\end{table}
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering\small
|
||||
\caption{问题一的汇总指标(直径误差单位:m,耗时单位:ms)}
|
||||
\setlength{\tabcolsep}{5pt}
|
||||
\begin{tabular}{lrrrrr}
|
||||
\toprule
|
||||
数据子集/方法 & 状态判定 & 直径平均误差 & 直径最大误差 & 覆盖判定 & 平均耗时\\
|
||||
\midrule
|
||||
\csname @@input\endcsname data/project-q1-summary-rows.tex
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\label{tab:projq1sum}
|
||||
\end{table}
|
||||
表~\ref{tab:projq1case} 显示基线误差的来源是代理方式而非数值精度:
|
||||
它以轴对齐包围盒的对角线代替区域直径,把边长 $40$ m 的等边三角形判成 $50$ m,
|
||||
把零误差退化线段判成 $0$ m;覆盖判定以“包围盒中心加代理直径圆”代替逐顶点检查,
|
||||
于是对任意包围盒几乎恒判覆盖。
|
||||
在 $\ProjQOneExampleCases$ 个固定示例上,基线的状态判定准确率为 $\ProjQOneFixedStatusBase$,
|
||||
平均直径误差 $\ProjQOneFixedMaeBase$ m,最大误差 $\ProjQOneFixedMaeMaxBase$ m,
|
||||
覆盖判定准确率仅 $\ProjQOneFixedCoverBase$;
|
||||
在 $\ProjQOneRandomCases$ 个随机交会算例上状态判定回到 $\ProjQOneRandStatusBase$,
|
||||
但平均直径误差仍为 $\ProjQOneRandMaeBase$ m,最大误差 $\ProjQOneRandMaeMaxBase$ m,
|
||||
覆盖判定准确率 $\ProjQOneRandCoverBase$。
|
||||
最优实现与独立参考解在全部算例上的状态、直径与覆盖判定一致;
|
||||
平均耗时为 $\ProjQOneRandMsOpt$ 与 $\ProjQOneRandMsBase$ ms(随机算例),
|
||||
说明精确几何并未以计算量为代价。
|
||||
|
||||
\subsection{问题二:第二检测点选择}
|
||||
\begin{table}[htbp]
|
||||
\centering\small
|
||||
\caption{问题二各方法在 $\ProjQTwoCases$ 个随机首次示向度算例上的汇总
|
||||
(半径与收缩单位:m,移动时间单位:s)}
|
||||
\setlength{\tabcolsep}{5pt}
|
||||
\begin{tabular}{lrrrrrr}
|
||||
\toprule
|
||||
方法 & 保证接收率 & 最坏后验均值 & 中位 & 平均收缩 & 终值比 & 移动均值\\
|
||||
\midrule
|
||||
\csname @@input\endcsname data/project-q2-rows.tex
|
||||
\bottomrule
|
||||
\end{tabular}
|
||||
\label{tab:projq2}
|
||||
\end{table}
|
||||
表~\ref{tab:projq2} 的算例由随机首次示向度生成,
|
||||
首次候选集的平均包围半径为 $\ProjQTwoInitialRadius$ m。
|
||||
垂直 $1000$ m 的基线交会角最大,却忽略接收保证,保证接收率为 $\ProjQTwoGuaranteePerp$:
|
||||
真源位于角域远端时第二点必然无信号,其最坏后验均值 $\ProjQTwoWorstPerp$ m
|
||||
是在丢失样本上算出的,不能与其它方法直接比较。
|
||||
候选圆心基线保证接收($\ProjQTwoGuaranteeMec$),但不增加横向基线,
|
||||
最坏后验半径均值仍为 $\ProjQTwoWorstMec$ m,终值比 $\ProjQTwoRatioMec$,只收缩一半。
|
||||
默认选点器在保证接收下取得最坏后验均值 $\ProjQTwoWorstOpt$ m、终值比 $\ProjQTwoRatioOpt$,
|
||||
与保证接收盘内 $9\times9$ 网格枚举的参考解($\ProjQTwoWorstRef$ m)相差约 $2.3\%$,
|
||||
说明 $37$ 点环形候选已接近该目标函数下的网格最优。
|
||||
这里的最坏后验是对候选外包多边形的采样评估,不是连续极小极大的全局上界;
|
||||
“保证接收”一项由安全盘独立成立。
|
||||
|
||||
\subsection{问题三:全向闭环}
|
||||
\begin{table}[htbp]
|
||||
\centering\footnotesize
|
||||
\caption{问题三三种方法在 $\ProjQThreeScenes$ 个冻结场景上的汇总
|
||||
(时间单位:s,位移单位:km)}
|
||||
\setlength{\tabcolsep}{3.5pt}
|
||||
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}lrrrrrrrrr}
|
||||
\toprule
|
||||
方法 & 有效局 & 全清率 & 缺席误判 & $T$均值/s & $T$中位/s & $T$最大/s & 检测 & 位移/km & 后备清除\\
|
||||
\midrule
|
||||
\csname @@input\endcsname data/project-q3-rows.tex
|
||||
\bottomrule
|
||||
\end{tabular*}
|
||||
\label{tab:projq3}
|
||||
\end{table}
|
||||
三种方法在 $\ProjQThreeScenes$ 个冻结场景(源数 $10$、$13$、$16$,种子与源数版本化)
|
||||
上全部完成全清,缺席误判均为零,差别只在时间:
|
||||
默认 \texttt{bayes} 平均 $\ProjQThreeMeanOpt$ s,
|
||||
七点批量 \texttt{seven} $\ProjQThreeMeanSeven$ s,$49$ 点网格 \texttt{grid} $\ProjQThreeMeanBase$ s。
|
||||
按场景配对,\texttt{bayes} 相对 \texttt{grid} 的平均虚拟时间下降 $\ProjQThreeDropOpt$、
|
||||
中位下降 $\ProjQThreeDropMedianOpt$,在 $\ProjQThreeFasterOpt$ 场景上更快,
|
||||
\texttt{seven} 相对 \texttt{grid} 下降 $\ProjQThreeDropSeven$。
|
||||
分项上,默认策略检测 $\ProjQThreeMeasuresOpt$ 次、位移 $\ProjQThreeMoveOpt$ km,
|
||||
网格基线需要 $\ProjQThreeMeasuresBase$ 次检测、$\ProjQThreeMoveBase$ km 位移;
|
||||
单局在线计算均在 $1.6$ s 以内(默认策略 $\ProjQThreeWallOpt$ s),不构成瓶颈。
|
||||
七点方案用解析覆盖保证发现,站点最少,但按站点批量扫频需要绕行,位移约为默认策略的两倍。
|
||||
可见三者的差别不是“能否完成”,而是覆盖证明与信息增益选点各自省下了多少移动与检测。
|
||||
|
||||
\subsection{问题四:混合源闭环}
|
||||
\begin{table}[htbp]
|
||||
\centering\footnotesize
|
||||
\caption{问题四三种方法在 $\ProjQFourScenes$ 个场景上的汇总
|
||||
(时间单位:s,位移单位:km)}
|
||||
\setlength{\tabcolsep}{3.5pt}
|
||||
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}lrrrrrrrrr}
|
||||
\toprule
|
||||
方法 & 有效局 & 全清率 & 缺席误判 & $T$均值/s & $T$中位/s & $T$最大/s & 检测 & 位移/km & 后备清除\\
|
||||
\midrule
|
||||
\csname @@input\endcsname data/project-q4-rows.tex
|
||||
\bottomrule
|
||||
\end{tabular*}
|
||||
\label{tab:projq4}
|
||||
\end{table}
|
||||
$\ProjQFourScenes$ 个场景取自 core 与 boundary 两组,
|
||||
boundary 全部是背离圆心发射的边界定向源,属最不利工况。
|
||||
\texttt{directional} 在 $\ProjQFourValidOpt$ 局上全部有效,全清率 $\ProjQFourClearOpt$,
|
||||
平均后备清除 $\ProjQFourFallbackOpt$ 次,对应遮挡导致的定位停滞。
|
||||
把问题三的 \texttt{bayes} 直接搬用时全清率降到 $\ProjQFourClearBase$,
|
||||
并出现 $\ProjQFourAbsentBase$ 次缺席误判:七站全向缺席证明把朝外发射的定向源判为不存在,
|
||||
因此它用时最短($\ProjQFourMeanBase$ s),但结论是错的。
|
||||
\texttt{grid} 的 $49$ 点覆盖对定向源发现完备,全清率 $\ProjQFourClearGrid$、
|
||||
平均虚拟时间 $\ProjQFourMeanGrid$ s,却没有朝向推理与后备清除,
|
||||
定位停滞时只能停在“已发现”状态,$\ProjQFourValidGrid$ 局通过有效性判定。
|
||||
\texttt{directional} 平均 $\ProjQFourMeanOpt$ s,比 \texttt{bayes} 高 $\ProjQFourRiseOpt$,
|
||||
位移 $\ProjQFourMoveOpt$ km 对 $\ProjQFourMoveBase$ km;由于基线 $11$ 局全部无效,
|
||||
这一比值不构成“默认策略更慢”的证据,在定向源上应先保证判对、再比较快慢。
|
||||
|
||||
\subsection{对比实验的结论与边界}
|
||||
四组配对比较支持的结论是:问题一的误差来自代理近似,改用精确顶点枚举与最小包围圆后消失;
|
||||
问题二要求同时满足接收保证与横向基线,只取其一都会被表~\ref{tab:projq2} 的某一列暴露;
|
||||
问题三的三种方法都能全清,默认策略的收益来自信息增益选点与滚动排序而非覆盖证明本身;
|
||||
问题四的差别在正确性,搬用全向缺席证明会“快而错”,
|
||||
只扩大覆盖而不补朝向推理与后备清除则“稳而不全”。
|
||||
|
||||
边界有四条。随机分布是自建测试假设,场景数、源数与种子见
|
||||
\pathtext{project/results/*.json},不能据此推断官方测试的分布。
|
||||
基线不是稻草人:候选圆心、七点批量与网格覆盖都能独立跑通并在部分场景有效,
|
||||
它们暴露的是各自缺少的那一步。
|
||||
问题二的最坏后验与问题四的可见性评分都是启发式评估量,不是全局最优值或校准概率。
|
||||
本节指标与第~\ref{sec:formal} 节的官方统计口径不同,两组数字不可互相换算。
|
||||
@@ -49,6 +49,13 @@
|
||||
源真值总数缺失使全清率无法核算,第三次正式记录也尚未提供。
|
||||
因此本文报告逐局原始结果及可复算时间分解,不外推总体平均性能。
|
||||
|
||||
\textbf{第六,配对对比依赖自建基准集。}
|
||||
第~\ref{sec:comparison} 节的最优与基线对比运行在内存回环评测机上,
|
||||
源位置均匀、误差场逐点固定等分布是测试假设,题面并未规定;
|
||||
场景数有限,基线在部分场景同样有效。
|
||||
该节结论说明的是各方法缺少哪一步,而不是普适的性能排序,
|
||||
也不能与官方正式统计互相换算。
|
||||
|
||||
\subsection{参数影响的解析讨论}
|
||||
在不引入额外仿真数据的前提下,主要参数的影响可从公式分析。
|
||||
由 $a(\delta)=1500/(2\cos\delta)$ 得
|
||||
|
||||
+20
-19
@@ -98,6 +98,13 @@ $D\le\norm{a-z}+\norm{z-b}\le D$。
|
||||
若条件不成立,输出圆外顶点及超出量
|
||||
$e=\max_v\norm{v-o}-D/2$,即得到可独立检查的否定证据。
|
||||
不能仅以直径端点在圆周上判断整个区域被覆盖。
|
||||
图~\ref{fig:q1geometry}(a) 给出一组三点交会算例:左图为三条前向角域及其交集,
|
||||
右图为定位区域的放大,虚线为直径圆、实线为最小包围圆。
|
||||
该算例的定位区域由四个顶点确定,直径为 $23.997$ m,
|
||||
以该直径为直径的圆半径为 $11.998$ m,
|
||||
而最远顶点到圆心的距离为 $12.602$ m,故直径圆并不覆盖定位区域;
|
||||
其最小包围圆半径为 $12.069$ m,满足 $20$ m 的清除判据。
|
||||
这说明直径不超过 $40$ m 与能否清除是两个不同的判据,覆盖判定必须逐顶点检查。
|
||||
|
||||
\subsection{反例与可清除半径}
|
||||
构造等边三角形
|
||||
@@ -108,28 +115,22 @@ A=(0,0),\qquad B=(40,0),\qquad C=(20,20\sqrt3).
|
||||
但 $C$ 到圆心的距离为 $20\sqrt3$ m,位于圆外。
|
||||
其最小包围圆圆心为 $(20,20/\sqrt3)$,半径
|
||||
$40/\sqrt3\approx23.094$ m,同样大于清除半径。
|
||||
图~\ref{fig:triangle} 展示两类圆的差别。
|
||||
图~\ref{fig:q1geometry}(b) 展示两类圆的差别。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\begin{tikzpicture}[x=0.095cm,y=0.095cm,font=\small]
|
||||
\fill[inkblue!10] (0,0)--(40,0)--(20,34.641)--cycle;
|
||||
\draw[thick] (0,0)--(40,0)--(20,34.641)--cycle;
|
||||
\draw[warmgray,dashed,thick] (20,0) circle (20);
|
||||
\draw[inkblue,thick] (20,11.547) circle (23.094);
|
||||
\fill (0,0) circle (0.6) node[below left] {$A$};
|
||||
\fill (40,0) circle (0.6) node[below right] {$B$};
|
||||
\fill (20,34.641) circle (0.6) node[above] {$C$};
|
||||
\fill[warmgray] (20,0) circle (0.6) node[below] {$o$};
|
||||
\fill[inkblue] (20,11.547) circle (0.6) node[right] {$m$};
|
||||
\draw[->,warmgray] (49,-14)--(35,-13);
|
||||
\node[anchor=west,warmgray] at (49,-14) {直径圆:$r=20$};
|
||||
\draw[->,inkblue] (49,24)--(41,22);
|
||||
\node[anchor=west,inkblue] at (49,24) {最小包围圆:$\rho=40/\sqrt3$};
|
||||
\node at (20,-26) {$AB=BC=CA=40$ m};
|
||||
\end{tikzpicture}
|
||||
\caption{直径圆不能覆盖等边三角形。此图为解析反例,不是模拟器观测。}
|
||||
\label{fig:triangle}
|
||||
\begin{minipage}[t]{0.49\linewidth}\centering
|
||||
\includegraphics[width=\linewidth]{geo-q1-convex-intersection-zoom.png}
|
||||
\end{minipage}\hfill
|
||||
\begin{minipage}[t]{0.49\linewidth}\centering
|
||||
\includegraphics[width=\linewidth]{geo-q1-diameter-circle-counterexample.png}
|
||||
\end{minipage}
|
||||
\caption{问题一的两组几何。(a) 三点交会算例:定位区域及其直径圆与最小包围圆,
|
||||
观测取自官方演练案例 \texttt{U5ZW-P9KN-TCAG-R7ST} 的频道 $9$,
|
||||
几何量由生产求解器 \texttt{mcm26b.geometry.solve} 现算;
|
||||
(b) 等边三角形解析反例,虚线直径圆 $r=20$ m 不覆盖顶点 $C$,
|
||||
实线最小包围圆 $\rho=40/\sqrt3\approx23.094$ m 覆盖全部顶点,不是模拟器观测。}
|
||||
\label{fig:q1geometry}
|
||||
\end{figure}
|
||||
|
||||
该形状可由题设的 $\pm1^\circ$ 角域构造出来。例如检测点
|
||||
|
||||
@@ -105,22 +105,11 @@ $1.005^\circ$ & 750.115391 & 249.884609\\
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\begin{tikzpicture}[x=0.006cm,y=0.006cm,font=\small,>=Stealth]
|
||||
\fill[inkblue!8] (0,0)--(1499.77,-26.18) arc[start angle=-1,end angle=1,radius=1500]--cycle;
|
||||
\draw[inkblue!45] (750.114,0) circle (750.114);
|
||||
\filldraw[fill=inkblue!12,draw=inkblue,thick] (750.114,0) circle (249.885);
|
||||
\draw[thick] (0,0)--(1499.77,26.18);
|
||||
\draw[thick] (0,0)--(1499.77,-26.18);
|
||||
\draw[->,dashed] (0,0)--(1650,0) node[right] {$u(\theta)$};
|
||||
\fill (0,0) circle (8) node[below left] {$s$};
|
||||
\fill[inkblue] (750.114,0) circle (8) node[below] {$c$};
|
||||
\draw[->,inkblue] (1010,345)--(890,155);
|
||||
\node[anchor=west,inkblue] at (990,390) {保证接收候选盘};
|
||||
\node at (750,-850) {圆域先验 $\Omega$ 可进一步收紧候选集};
|
||||
\node[anchor=east] at (1570,-125) {首次截断角域 $S$};
|
||||
\node[inkblue!70] at (750,830) {截断角域的最小包围圆};
|
||||
\end{tikzpicture}
|
||||
\caption{第二点解析候选区域的几何关系,采用 $1^\circ$ 半角、同一坐标比例绘制。}
|
||||
\includegraphics[width=0.70\linewidth]{geo-q2-guaranteed-reception-disk.png}
|
||||
\caption{第二点解析候选区域。左图为首次截断角域 $S$、
|
||||
其最小包围圆 $\B(c,a)$ 与保证接收的候选盘 $\B(c,1000-a)$;
|
||||
右图为半径分解,$a=1500/(2\cos\delta)$。取 $\delta=1^\circ$ 时
|
||||
$a\approx750.114$ m、$1000-a\approx249.886$ m,与表~\ref{tab:safeanalytic} 一致。}
|
||||
\label{fig:q2disk}
|
||||
\end{figure}
|
||||
|
||||
|
||||
+19
-31
@@ -1,12 +1,6 @@
|
||||
\section{问题三:全向多源的覆盖搜索与滚动调度}
|
||||
\subsection{统一时间目标与任务状态}
|
||||
设整个会话移动距离为 $L$,检测、换频、成功和失败清除次数分别为
|
||||
$N_m,N_s,N_c^+,N_c^-$。忽略每段移动时间的微秒量化时,总虚拟耗时为
|
||||
\begin{equation}
|
||||
T=\frac{L}{5}+5N_m+N_s+5N_c^++3N_c^-.
|
||||
\label{eq:time}
|
||||
\end{equation}
|
||||
优化目标是在全部源清除的约束下最小化 $T$。
|
||||
按式~\eqref{eq:time} 的计时记账,优化目标是在全部源清除的约束下最小化虚拟耗时 $T$。
|
||||
题目统计的平均定位清除时间是 $\bar T=T/N_c^+$;
|
||||
不能用每次清除动作的固定 $5$ s 代替。
|
||||
清除请求中的频道是目标频道,不改变测向机频道;
|
||||
@@ -50,30 +44,9 @@ $r^2+a^2-\sqrt3ar$。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\begin{tikzpicture}[x=0.0019cm,y=0.0019cm,font=\small]
|
||||
\begin{scope}
|
||||
\clip (0,0) circle (1800);
|
||||
\fill[inkblue!8] (0,0) circle (1000);
|
||||
\foreach \angle in {0,60,120,180,240,300}{
|
||||
\fill[inkblue!7] (\angle:1159.7) circle (1000);
|
||||
\draw[inkblue!30] (\angle:1159.7) circle (1000);
|
||||
}
|
||||
\draw[inkblue!30] (0,0) circle (1000);
|
||||
\end{scope}
|
||||
\draw[thick] (0,0) circle (1800);
|
||||
\draw[dashed,warmgray] (0,0) circle (1159.7);
|
||||
\foreach \angle in {0,60,120,180,240,300}{
|
||||
\fill[inkblue] (\angle:1159.7) circle (26);
|
||||
}
|
||||
\fill[inkblue] (0,0) circle (26) node[below left] {$O$};
|
||||
\draw[->] (0,0)--(1159.7,0) node[midway,above] {$a$};
|
||||
\draw[->,warmgray] (0,0)--(30:1800) node[midway,above left] {$R$};
|
||||
\node[anchor=west,align=left] at (2100,750)
|
||||
{实线:源位置边界\\虚线:六站所在圆\\浅色圆盘:$1000$ m 接收保证};
|
||||
\node[anchor=west,align=left] at (2100,-650)
|
||||
{$a=1159.7$ m\\$R=1800$ m\\最坏距离 $\le984.539$ m};
|
||||
\end{tikzpicture}
|
||||
\caption{七点全向覆盖构造。图示站点来自配置参数,不表示正式测试的实际轨迹。}
|
||||
\includegraphics[width=0.42\linewidth]{geo-q3-seven-point-coverage.png}
|
||||
\caption{七点全向覆盖构造。站点取自配置参数 $a=1159.7$ m,
|
||||
圆圈为 $1000$ m 接收盘,最差点位于 $(0,-1825)$ 附近,最坏距离 $\le984.539$ m。}
|
||||
\label{fig:seven}
|
||||
\end{figure}
|
||||
|
||||
@@ -203,3 +176,18 @@ C(\pi)=\frac{\norm{p-q_{\pi_1}}}{5}
|
||||
停滞、协议异常或预算耗尽时应如实报告未完成。
|
||||
程序以接口返回的现实预算为准,并预留退出时间,
|
||||
实际计时在整数微秒状态上累计,避免用实机运行秒数代替虚拟动作耗时。
|
||||
|
||||
\subsection{运行过程示例}
|
||||
图~\ref{fig:replay3} 回放一局全向演练(案例 \texttt{BBM9-HZG2-77N5-NKKC},$10$ 个源):
|
||||
左图为移动轨迹、检测示向度与已清除频道,右上方为事件流水,
|
||||
下方为虚拟时间轴上的检测与清除时刻。
|
||||
该局说明覆盖扫描、定位测量与清除三类任务的交替关系,
|
||||
以及为接收向外发射的源而短时越出 $\Omega$ 边界的路径形态;它属于演练留档,不计入正式成绩。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.85\linewidth]{replay-webui-q3-omnidirectional.png}
|
||||
\caption{全向源演练局(\texttt{BBM9-HZG2-77N5-NKKC})的运行回放。
|
||||
该局为演练案例,非正式测试记录。}
|
||||
\label{fig:replay3}
|
||||
\end{figure}
|
||||
|
||||
@@ -66,7 +66,14 @@ A_{ij}=\mathbf1\{
|
||||
最坏命中距离约 $990.051$ m。上述量描述\textbf{离线覆盖校验},
|
||||
不属于模拟器实测成绩。
|
||||
|
||||
\input{figures/q4-plan}
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.70\linewidth]{geo-q4-minimum-cover-31-points.png}
|
||||
\caption{31 点最小命中集的几何分布(左)与定向源的前向半盘语义(右)。
|
||||
站点取自计划文件,部分站点位于 $\Omega$ 之外,用于接收向外发射的边界源;
|
||||
离散校验不等同于连续覆盖证明。}
|
||||
\label{fig:q4plan}
|
||||
\end{figure}
|
||||
|
||||
离散零缺口不能直接提升为式~\eqref{eq:halfcover} 的连续定理。
|
||||
例如设任意实际位置距某验证位置不超过 $\varepsilon$,
|
||||
@@ -202,3 +209,19 @@ $N_{\mathrm{cell}}\,t_{\mathrm{RTT},95}+t_{\mathrm{reserve}}$。
|
||||
若要求严格的混合源全清证据,除采用连续覆盖计划外,
|
||||
还须补全类型联合表示或限制联合集排空的适用范围,并确保全部定位清除任务完成。
|
||||
本文区分当前实现、可证明条件与尚需完善之处,不把后者追溯为正式测试时已执行的功能。
|
||||
|
||||
\subsection{运行过程示例}
|
||||
图~\ref{fig:replay4} 回放一局含定向源的演练(案例 \texttt{GHSN-M38E-74GD-YLUD}):
|
||||
左图在轨迹、检测示向度与已清除频道之外,画出每个定向源的前向半盘
|
||||
($\pm90^\circ$,半径取该源的 $r_{\mathrm{eff}}$),箭头方向即朝向。
|
||||
图中存在落在接收半径之内、却因位于背向半平面而无信号的检测点,
|
||||
对应式~\eqref{eq:visibility} 的可见性条件,保留这一解释正是问题四与问题三
|
||||
在候选更新上的区别;该局同样不计入正式成绩。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.85\linewidth]{replay-webui-q4-directional.png}
|
||||
\caption{含定向源演练局(\texttt{GHSN-M38E-74GD-YLUD})的运行回放,
|
||||
紫色半盘为定向源的前向可见区域。该局为演练案例,非正式测试记录。}
|
||||
\label{fig:replay4}
|
||||
\end{figure}
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
\section{官方正式测试结果与时间分解}
|
||||
\section{官方正式测试结果与时间分解}\label{sec:formal}
|
||||
\subsection{数据选择及对应关系核对}
|
||||
本节实验样本严格限定为官方模拟器
|
||||
\pathtext{Jammers-simulator-full/test} 下四个正式导出包。
|
||||
问题三、四各有正式序号 $1$、$2$,文件名及案例编码见结果表和附录。
|
||||
不采用 \texttt{project/results} 中的自建评测数据,
|
||||
也不将历史演练案例当作正式测试补入。
|
||||
本节表格不采用 \texttt{project/results} 中的自建评测数据,
|
||||
也不将历史演练案例当作正式测试补入;
|
||||
自建配对对比与演练局示例分别在第~\ref{sec:comparison} 节和各问的运行过程示例中单独陈述,
|
||||
两类数据不合并统计。
|
||||
|
||||
正式 \texttt{.jlog} 为加密行为日志,公开头部包含题号、正式序号、
|
||||
案例编码与激活票据,但动作载荷不能直接作为普通 JSON 读取。
|
||||
@@ -116,6 +118,20 @@ T_{\mathrm{move}}
|
||||
\end{table}
|
||||
\input{figures/formal-time-bars}
|
||||
|
||||
图~\ref{fig:timingmeasured} 按同一记账口径给出一局全向演练的累计时间构成:
|
||||
横轴为动作序号,堆叠高度为累计虚拟时间,
|
||||
移动项在整局中占主要部分,清除阶段表现为阶梯状跃升。
|
||||
该图用于说明式~\eqref{eq:time} 的分项在同一局内如何随时间累积,
|
||||
其数据来自演练留档,不进入正式统计。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.58\linewidth]{timing-measured-q3-10-sources.png}
|
||||
\caption{一局全向演练(\texttt{BBM9-HZG2-77N5-NKKC},$10$ 个源)的累计虚拟时间构成。
|
||||
该局为演练案例,不计入正式测试结果。}
|
||||
\label{fig:timingmeasured}
|
||||
\end{figure}
|
||||
|
||||
四局移动时间占总虚拟时间的 $76.59\%$ 至 $78.02\%$。
|
||||
从这一组正式样本看,减少移动是影响总耗时的主要方向,
|
||||
检测与换频仍应同时计入路径选择。
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
\section{计时模型与会话状态机}
|
||||
\subsection{会话状态与合法动作}
|
||||
题目接口只有 \texttt{/enter}、\texttt{/measure}、\texttt{/clear} 与 \texttt{/exit}
|
||||
四条指令。会话状态依次为未进入、进入倒计时、接口开放与断连,
|
||||
进入倒计时为 $5$ s,如图~\ref{fig:statemachine}。
|
||||
只有 \texttt{accepted=true} 的响应推进虚拟时钟;被拒绝的请求返回的虚拟时刻为零,
|
||||
不能当作当前时刻使用,也不改变位置与测向机频道。
|
||||
一次合法 \texttt{/measure} 结束后,测向机频道更新为本次检测频道;
|
||||
\texttt{/clear} 给出的是目标频道,既不改变测向机频道,也不产生换频耗时。
|
||||
因此清除之后原地再测的耗时取决于上一次 \texttt{/measure} 的频道,而不是清除的频道。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.92\linewidth]{steps-state-machine.png}
|
||||
\caption{会话状态机。进入后经 $5$ s 倒计时接口开放,主动退出或断连后进入关闭状态。}
|
||||
\label{fig:statemachine}
|
||||
\end{figure}
|
||||
|
||||
\subsection{动作耗时与累计虚拟时间}
|
||||
题面将全部动作折算为虚拟耗时,见表~\ref{tab:actioncost}。
|
||||
检测无论返回无信号、近距离还是示向度,均计 $5$ s;
|
||||
清除成功计 $5$ s,其中光学定位 $3$ s、激光清除 $2$ s,
|
||||
未命中目标时只支付光学检查的 $3$ s。
|
||||
移动与换频没有独立指令,由相邻动作的位置与频道变化推断。
|
||||
|
||||
\begin{table}[htbp]
|
||||
\centering\small
|
||||
\caption{动作耗时规则。移动耗时等于直线距离除以 $5$ m/s。}
|
||||
\begin{tabularx}{\linewidth}{l l l X}
|
||||
\toprule
|
||||
动作 & 指令 & 虚拟耗时/s & 说明\\
|
||||
\midrule
|
||||
进入 & \texttt{/enter} & 0 & 初始位置 $(0,0)$、初始频道 $1$\\
|
||||
检测 & \texttt{/measure} & $5+$移动$+$换频 & 三种检测结果耗时相同\\
|
||||
清除 & \texttt{/clear} & $5+$移动/$3+$移动 & 成功/未命中目标,均不切换测向频道\\
|
||||
退出 & \texttt{/exit} & 0 & 路径终点自由,无需返回原点\\
|
||||
换频 & 由检测推断 & 1 & 相邻 \texttt{/measure} 的频道变化\\
|
||||
移动 & 由动作推断 & 距离$/5$ & 相邻动作的位置变化\\
|
||||
\bottomrule
|
||||
\end{tabularx}
|
||||
\label{tab:actioncost}
|
||||
\end{table}
|
||||
|
||||
设整个会话的移动距离为 $L$,检测、换频、成功清除与失败清除的次数分别为
|
||||
$N_m,N_s,N_c^+,N_c^-$。忽略每段移动时间的微秒量化时,总虚拟耗时为
|
||||
\begin{equation}
|
||||
T=\frac{L}{5}+5N_m+N_s+5N_c^++3N_c^-.
|
||||
\label{eq:time}
|
||||
\end{equation}
|
||||
式~\eqref{eq:time} 是后文任务排序的服务时间来源,
|
||||
也是由官方累计量反推移动时间(式~\eqref{eq:residual})的依据。
|
||||
图~\ref{fig:timingexample} 用附件的五步示例说明记账方式:
|
||||
首次检测含移动 $100$ s 与检测 $5$ s,单步 $105$ s;
|
||||
原地换到频道 $2$ 检测单步 $6$ s,累计 $111$ s;
|
||||
清除目标频道 $3$ 未命中,移动 $80$ s 加光学检查 $3$ s,单步 $83$ s,累计 $194$ s;
|
||||
清除不改变测向机频道,故随后原地以频道 $2$ 复测只需 $5$ s,累计 $199$ s,与附件一致。
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.55\linewidth]{timing-attachment-example-105-111-194-199.png}
|
||||
\caption{附件计时示例的逐动作构成。移动项为距离除以 $5$ m/s,标题数字为该步合计。}
|
||||
\label{fig:timingexample}
|
||||
\end{figure}
|
||||
|
||||
\subsection{虚拟时间、现实预算与终止}
|
||||
虚拟时间度量任务完成速度,现实预算约束程序能否继续发出请求,两者不能混用。
|
||||
程序以 \texttt{/enter} 返回的 \texttt{remaining\_real\_duration\_s} 为准,
|
||||
在每个动作前预留退出时间;虚拟时间以整数微秒累计,在线预测只用于规划与一致性核对。
|
||||
因此后文的“耗时”一律指式~\eqref{eq:time} 的虚拟时间,程序运行时间在结果表中单列。
|
||||
策略在预算不足或协议异常时主动退出并报告未解决频道,不以程序正常结束代替任务完成。
|
||||
Reference in New Issue
Block a user