论文更改与图更改

Co-authored-by: Pengheng <Horldsence@users.noreply.github.com>
This commit is contained in:
2026-09-13 10:30:05 +08:00
parent 82311a47cc
commit 2c63610f12
67 changed files with 8439 additions and 32593 deletions
+57
View File
@@ -0,0 +1,57 @@
\section{正式数据清单与复算说明}\label{app:data}
论文按参考材料中的“逐问建模、证明、结果、评价、源码附录”方式组织,
排版遵守2026年格式规范\cite{format}:A4、四边距 $2.5$ cm,
电子版从摘要页开始连续编号,无目录。所给往届论文仅用于结构与排版参考,
不作为本题算法或数据来源。
\input{data/formal-file-list}
原始正式日志以题目要求的文件名保留,包内官方字段不作修改。
可读统计快照已经去掉账号与设备字段,原始加密包未解密。
包哈希用于核对同一导出文件,不等同于对官方数字签名的独立验证。
复算脚本 \pathtext{scripts/audit_paper_formal.py} 读取所选文件的公开头部,
与官方数据库及同名侧文件匹配,生成 JSON、CSV 与 LaTeX 表格。
已有匿名快照时也可以离线重新生成表格:
\begin{lstlisting}[language={},numbers=none]
python scripts/audit_paper_formal.py
python scripts/audit_paper_formal.py --snapshot docs/paper/data/formal-results.json
\end{lstlisting}
第二条命令只重算快照中的算术量;如果原始包仍在目录中,还会核对包哈希。
它不表示脱离官方数据库后又独立验证了一次统计来源。
\section{支撑材料与运行方法}
\begin{table}[H]
\centering\small
\caption{支撑材料目录及用途}
\begin{tabularx}{\linewidth}{p{5.8cm}X}
\toprule
文件或目录 & 用途\\
\midrule
\pathtext{src/mcm26b/} & 四问几何、信念、覆盖、调度与串行通信实现\\
\pathtext{src/mcm26b/guarantee/plans/} & 第四问已实现的覆盖计划及验证参数\\
\pathtext{scripts/audit_paper_formal.py} & 正式文件对应核对、匿名快照及表格复算\\
\pathtext{scripts/build_paper_support.py} & 矢量图、源码附录与支撑包生成\\
\pathtext{docs/paper/data/} & 仅四个所选正式案例的可读统计、表格及哈希\\
\pathtext{docs/paper/sections/} & 分章论文源文件\\
\pathtext{docs/paper/figures/} & 参数构造图和正式累计耗时图的矢量源文件\\
\pathtext{Jammers-simulator-full/test/} & 四份原名官方加密正式日志\\
\pathtext{support-manifest.json} & 支撑包文件清单及逐文件 SHA-256\\
\bottomrule
\end{tabularx}
\end{table}
Python 运行时需要 \texttt{requests};\texttt{numpy} 为可选加速依赖。
将 \texttt{src} 加入 Python 模块路径后,可使用
\texttt{python -m mcm26b.geometry} 进行问题一几何分析,
或调用 \texttt{mcm26b.cli} 的入口运行在线策略。
正式程序由用户先在模拟器界面开启相应测试;
本次论文重写和数据核对没有启动新的正式或演练测试。
运行指令、编译步骤及数据缺项说明另见支撑包的 \texttt{README.md}。
\section{完整程序源码}
以下按当前仓库列出策略程序、其配套模块及论文数据处理程序的完整源码。
源码中的历史注释与可选自检功能保留原样;其中旧仿真数值不构成本论文实验结果。
附录显示副本仅将数学符号转换为 LaTeX 转义命令,支撑包内可执行源码保持原样。
正式指标仅由附录A列出的四个案例形成。
部分自检功能依赖独立本地评测机,它不参与本文正式统计的读取或计算。
长代码使用连续页排版,附录页数不计入正文的30页限制。
\input{data/source-listings}
+74
View File
@@ -0,0 +1,74 @@
\section{模型评价与推广}
\subsection{模型的有效性与优点}
本文把未知位置始终表示为集合,使测向误差的处理与题设一致。
问题一的直径定理与直径圆判据给出可复核的几何答案,
最小包围圆又把位置不确定性直接转换为能否清除的距离条件。
问题二的安全候选盘将可接收性与定位收益分开,
避免通过扩大交会角而牺牲接收的基本条件。
对多源搜索,七站构造用少量站点建立了全向连续覆盖证明,
逐频道账本与网格排除使停止判断有明确依据。
滚动任务排序将移动、检测、换频和清除放在统一时间目标下处理,
能够在新观测到来后调整任务次序。
对定向遮挡,位置与朝向联合候选为选点提供信息;
后备清除则使用朝向无关的距离规则,避免无限重复无线电探测。
实验部分保留正式原始单位与案例对应关系,
将测试包、官方摘要字段及论文表格连接到同一可复算链条。
数学构造、算法参数和正式实测分别标注,便于独立检查结论的证据范围。
\subsection{局限性与改进方向}
\textbf{第一,启发式选点与调度不具有全局最优性。}
算法2的见证点和读数端点枚举只给出采样比较,
信息增益评分的先验又不是题目公布的概率模型。
2-opt 只优化当前有限任务表,未来观测仍会改变任务位置。
后续可用区间分支定界为后验评分建立误差界,
并在同一组可重复场景上比较任务调度,不能把局部较优写成全局最优。
\textbf{第二,31点计划只有离散覆盖证据。}
其验证距离和最终角度余量没有给出统一连续延拓保证。
可采用本文证明的 $49$ 点计划,或按式~\eqref{eq:continuous}
同时控制位置、距离与朝向裕量,再开展新的正式或演练验证。
现有包没有可公开解读的逐动作轨迹,不能为更换后的方案追认成绩。
\textbf{第三,混合类型下联合候选为空的含义需要收紧。}
仅维护定向假设无法涵盖全向源从多侧被接收的情况。
例如源周围三个相隔 $120^\circ$ 的检测点可同时接收全向信号,
却不能同时位于一个固定前向半平面内。
严格方案应并列维护源类型,或仅将朝向候选用于探点排序;
已有正观测的频道不得仅因定向候选为空而忽略。
\textbf{第四,有限预算影响闭环的完成性。}
即使发现覆盖充分且单次清除证书正确,
仍可能因几何退化、持续遮挡、候选区域过大或网络异常而不能在预算内结束。
定位步数及 $400$ 格上限属于资源约束,不是无条件完备性的组成部分。
失败状态必须保留具体未解决频道,不能由程序正常退出代替任务完成。
\textbf{第五,正式样本尚不完整。}
两问各两次测试不足以覆盖所有源分布与朝向组合;
源真值总数缺失使全清率无法核算,第三次正式记录也尚未提供。
因此本文报告逐局原始结果及可复算时间分解,不外推总体平均性能。
\subsection{参数影响的解析讨论}
在不引入额外仿真数据的前提下,主要参数的影响可从公式分析。
由 $a(\delta)=1500/(2\cos\delta)$ 得
$a'(\delta)=750\sec\delta\tan\delta$($\delta$ 以弧度计)。
误差增大会使源包围圆变大、安全候选盘缩小;
表~\ref{tab:safeanalytic} 说明两位小数舍入余量对首次安全盘的改变很小,
但在紧贴角域边界时仍必须计入。
由式~\eqref{eq:coveragebound},
环半径减小会缩短简单覆盖路线,却在接近可行下界时消耗覆盖余量。
默认半径留下约 $15.461$ m 的解析余量,不能只为降低路长无限向圆心收缩。
网格边长缩小能够减少 $\epsilon_g$、加强位置证书,
但二维格数大致与 $\ell^{-2}$ 成正比,计算与内存开销增加。
这些是参数变化的数学关系,不是新增正式实测。
\subsection{推广}
该框架可用于满足有界方向误差的静态信号源排查、
室内设备巡检及移动传感器主动定位。
迁移时应重新校准接收半径、方向误差与动作成本;
若源移动、频道冲突或观测包含额外遮挡,
就需要扩展状态和观测集合,重新证明保留真源与覆盖发现的条件。
几何证书、候选维护和行动排序的职责可以保留,
具体覆盖点集与参数不能不经校核直接复用。
+170
View File
@@ -0,0 +1,170 @@
\section{问题一:有界误差交会定位与覆盖圆}
\subsection{前向角域的半平面模型}
给定检测点 $s_i=(s_{ix},s_{iy})$ 与读数 $\theta_i$,
误差约束意味着真实方位位于
$[\theta_i-\delta,\theta_i+\delta]$ 内。因此可行位置属于前向角域
\begin{equation}
W_i=\left\{g:
\begin{aligned}\relax
[u(\theta_i-\delta),g-s_i]&\ge0,\\
[u(\theta_i+\delta),g-s_i]&\le0,\\
u(\theta_i)\cdot(g-s_i)&\ge0
\end{aligned}\right\}.
\label{eq:wedge}
\end{equation}
三条不等式均可写为 $a x+b y\le c$,其法向依次为
\begin{equation}
\begin{aligned}
&(\sin(\theta_i-\delta),-\cos(\theta_i-\delta)),\\
&(-\sin(\theta_i+\delta),\cos(\theta_i+\delta)),\\
&(-\cos\theta_i,-\sin\theta_i),
\end{aligned}
\end{equation}
右端为相应法向与 $s_i$ 的内积。在 $0<\delta<90^\circ$ 时,
前两条已限定前向窄角域;第三条显式保留方向性,
并使零误差退化情形对应射线而非整条直线。
采用正弦、余弦表示可自动处理 $0^\circ/360^\circ$ 跨界。
问题一的多边形定位区域定义为
\begin{equation}
P=\bigcap_{i=1}^{n}W_i=\{g:Ag\le b\}.
\label{eq:q1set}
\end{equation}
这是纯角域交会模型。后续问题加入 $\Omega$ 与接收距离先验后会形成更紧的集合,
但不能将这些附加约束混入问题一的直径结果。
半平面交是闭凸集,可能为空、单点、线段、有界多边形或无界集。
\subsection{区域构造、空集及无界情形}
令约束数 $k=3n$。对任意两条不平行边界
$a x+b y=c$、$d x+e y=f$,候选交点为
\begin{equation}
x=\frac{ce-bf}{ae-bd},\qquad y=\frac{af-cd}{ae-bd}.
\end{equation}
仅保留满足全部不等式的交点,再经去重和单调链凸包构造得到顶点集合。
实现先平移与缩放坐标,以降低千米尺度坐标造成的数值误差;
近平行边界仍参与求交,因为其远端交点可能决定细长区域的直径。
不能以任意大矩形裁剪后得到的有限直径代替无界性判断。
对非空集合定义衰退锥
\begin{equation}
\mathcal R=\{d:Ad\le0\}.
\end{equation}
若 $\mathcal R$ 含非零向量,则 $g+td\in P$ 对所有 $t\ge0$ 成立,
区域无界,直径为 $+\infty$。二维多面锥只需检查约束边界的两个切向
$(b,-a)$ 与 $(-b,a)$ 是否满足全部齐次不等式。
本题至少一个前向窄角域会排除直线性,故非空交集存在极点;
在此特定输入族中,没有可行边界交点可以判为空集。
无观测输入单独返回整个平面,不按空集处理。
有界非空区域中,一个顶点对应单点,两个顶点对应线段,其余为凸多边形。
空集没有本文定义的有效直径与覆盖圆,程序以显式状态报告观测不相容,
便于检查频道、误差界或输入数据。
\subsection{直径与直径圆的判定}
\begin{proposition}[顶点直径]
设 $P=\operatorname{conv}\{v_1,\ldots,v_m\}$ 非空有界,则
\begin{equation}
D(P)=\max_{i,j}\norm{v_i-v_j}.
\label{eq:diameter}
\end{equation}
\end{proposition}
\begin{proof}
任意 $x,y\in P$ 可表示为凸组合
$x=\sum_i\lambda_i v_i$、$y=\sum_j\mu_jv_j$。
由于系数非负且各自和为 $1$,
\[
\norm{x-y}
=\left\|\sum_{i,j}\lambda_i\mu_j(v_i-v_j)\right\|
\le\sum_{i,j}\lambda_i\mu_j\norm{v_i-v_j}
\le\max_{i,j}\norm{v_i-v_j}.
\]
最远顶点对本身属于 $P$,故上界可达。
\end{proof}
因此无需在整个区域内部搜索,只需枚举顶点对,计算量为 $O(m^2)$。
\begin{proposition}[直径圆覆盖的充要条件]
取最远顶点对 $a,b$,令 $D=\norm{a-b}$、$o=(a+b)/2$。
存在直径等于 $D$ 的圆盘覆盖 $P$,当且仅当
\begin{equation}
\max_{v\in V(P)}\norm{v-o}\le D/2.
\label{eq:diametercircle}
\end{equation}
\end{proposition}
\begin{proof}
若半径 $D/2$ 的圆盘中心为 $z$ 且包含 $a,b$,则
$D\le\norm{a-z}+\norm{z-b}\le D$。
等号迫使 $z=o$。反之,圆盘为凸集,包含全部顶点即包含它们的凸包。
\end{proof}
若条件不成立,输出圆外顶点及超出量
$e=\max_v\norm{v-o}-D/2$,即得到可独立检查的否定证据。
不能仅以直径端点在圆周上判断整个区域被覆盖。
\subsection{反例与可清除半径}
构造等边三角形
\begin{equation}
A=(0,0),\qquad B=(40,0),\qquad C=(20,20\sqrt3).
\end{equation}
其直径为 $40$ m。以 $AB$ 为直径的圆心为 $(20,0)$,半径为 $20$ m,
但 $C$ 到圆心的距离为 $20\sqrt3$ m,位于圆外。
其最小包围圆圆心为 $(20,20/\sqrt3)$,半径
$40/\sqrt3\approx23.094$ m,同样大于清除半径。
图~\ref{fig:triangle} 展示两类圆的差别。
\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}
\end{figure}
该形状可由题设的 $\pm1^\circ$ 角域构造出来。例如检测点
$(-1000,0)$、$(540,-500\sqrt3)$、$(520,520\sqrt3)$,
对应示向度为 $1^\circ$、$121^\circ$、$241^\circ$。
各角域的一侧边界给出三角形的三条支撑线,另一侧边界包含整个三角形,
故交集恰为上述三角形。这一构造只用于证明一般性命题,并不作为实验成绩。
对一般候选区域,定义最小包围圆
\begin{equation}
\rho(P)=\min_{z\in\mathbb R^2}\max_{g\in P}\norm{g-z},\qquad
m\in\arg\min_z\max_{g\in P}\norm{g-z}.
\label{eq:mec}
\end{equation}
其边界由至多三个支撑点确定,可用 Welzl 随机增量算法计算\cite{welzl}。
实现采用固定随机种子及显式栈,并在输出前检查全部顶点的包含关系。
在精确模型中,若 $\rho(P)\le20$,于 $m$ 清除即可覆盖所有可能真源;
考虑浮点计算后采用 $\rho(P)+\eta_{\mathrm{num}}\le20$ 的充分判据。
$D(P)\le40$ 是必要条件,但并非充分条件。
\subsection{算法一及复杂度}
\begin{algorithmblock}{算法1:有界测向角域交会与覆盖圆判定(对应 algo-1)}
\textbf{输入:}同一频道的检测点、示向度和误差半角。\\
\textbf{输出:}区域状态、顶点、直径、直径圆判定与最小包围圆。
\begin{enumerate}[leftmargin=2em,itemsep=1pt,topsep=4pt]
\item 若观测为空,返回无界;否则归一化坐标,生成 $3n$ 条半平面。
\item 枚举非平行边界交点,仅保留满足全部约束的点。
\item 无可行点时返回空集;存在非零衰退切向时返回无界及无穷直径。
\item 对可行交点去重、求凸包,并区分单点、线段和二维多边形。
\item 枚举最远顶点对,计算 $D$、中点 $o$,检查全部顶点距 $o$ 是否不超过 $D/2$。
\item 求最小包围圆,复核包含性和数值余量,输出清除证书。
\end{enumerate}
\end{algorithmblock}
边界交点枚举需 $O(k^2)$ 次,每点校验 $k$ 条约束,主计算量为 $O(k^3)$;
凸包最坏需 $O(k^2\log k)$,直径枚举需 $O(m^2)$。
Welzl 算法在随机排列下具有期望线性时间,
固定种子实现不宣称最坏时间线性。该可审计方案适合少量观测,
当前入口限制最多 $100$ 个检测点;更大规模可替换半平面交算法。
+174
View File
@@ -0,0 +1,174 @@
\section{问题二:保证接收的第二检测点选择}
\subsection{候选位置集合与安全区域}
设首次有效示向度为 $(s,\theta)$。有效读数除限定角域外,
还说明源距检测点不超过接收半径上界,故
\begin{equation}
K_1=\Omega\cap W(s,\theta,\delta_{\mathrm{eff}})\cap\B(s,R_+).
\label{eq:k1}
\end{equation}
其中使用 $R_+=1500$ 而非 $R_-=1000$:收到信号并不能推出距离小于 $1000$ m。
$\direction$ 还隐含距离大于 $5$ m;为了保持凸表示,在线不扣除这个小圆盘,
只会多保留可能位置,不会排除真源。
对非空紧集 $K$ 定义
\begin{equation}
F_K(q)=\max_{g\in K}\norm{q-g},\qquad
\mathcal Q(K)=\{q:F_K(q)\le R_-\}
=\bigcap_{g\in K}\B(g,R_-).
\label{eq:exact-safe}
\end{equation}
该区域内的任何点均在所有可能真源的最小接收范围内。
$F_K$ 是凸函数且为 $1$-Lipschitz,因而 $\mathcal Q(K)$ 是闭凸集。
由式~\eqref{eq:mec} 可知
\begin{equation}
\mathcal Q(K)\ne\varnothing\quad\Longleftrightarrow\quad\rho(K)\le R_-.
\end{equation}
这一表述将第二点的鲁棒可行性转化为最小包围圆判据\cite{boyd}。
在线用外切正多边形表示圆盘,再逐半平面裁剪。
若边数为 $M$、圆半径为 $r$,外切多边形顶点的半径为
$r\sec(\pi/M)$,其最大径向超出量准确写为
\begin{equation}
e_M(r)=r\bigl(\sec(\pi/M)-1\bigr).
\label{eq:outer-error}
\end{equation}
默认 $M=192$。由于整个圆盘已包含在多边形中,
裁剪后得到 $K_1\subseteq P^{\mathrm{out}}$。
算法求 $P^{\mathrm{out}}$ 的实际最小包围圆 $\B(m,\rho_{\mathrm{out}})$,
不将内接多边形误用作保守候选集。
由三角不等式,充分安全盘为
\begin{equation}
\mathcal Q_{\mathrm{in}}
=\B\!\left(m,R_- -\rho_{\mathrm{out}}-\eta\right),\qquad
\eta=10^{-3}\ {\rm m}.
\label{eq:safe-disk}
\end{equation}
任意 $q\in\mathcal Q_{\mathrm{in}}$ 与真源 $g$ 满足
$\norm{q-g}\le\norm{q-m}+\norm{m-g}\le R_- -\eta$。
因此第二次检测一定为 $\direction$ 或 $\near$。
若盘半径为负,只能说明这个充分构造失效,
不能据此断言真实安全区域为空;程序退回圆心探索,并明确无接收保证。
\subsection{首次截断角域的解析候选盘}
为给出不依赖离散多边形的显式答案,暂去掉 $\Omega$,考虑
$S=W(s,\theta,\delta)\cap\B(s,R_+)$。
当 $0\le\delta\le45^\circ$,令
\begin{equation}
a=\frac{R_+}{2\cos\delta},\qquad c=s+a\,u(\theta).
\end{equation}
\begin{proposition}[截断角域最小包围圆]
上述 $S$ 的最小包围圆为 $\B(c,a)$。
\end{proposition}
\begin{proof}
任取 $g=s+t u(\theta+\varphi)$,其中 $0\le t\le R_+$、
$|\varphi|\le\delta$。有
$\norm{g-c}^2=t^2+a^2-2at\cos\varphi$。
该式关于 $t$ 为凸二次式,最大值在区间端点取得。
$t=0$ 时为 $a^2$;$t=R_+$ 时不超过
$R_+^2+a^2-2aR_+\cos\delta=a^2$,故全域被包含。
再取边界三点 $s,p_\pm=s+R_+u(\theta\pm\delta)$。
权重
$\lambda_\pm=1/(4\cos^2\delta)$、
$\lambda_0=1-1/(2\cos^2\delta)$ 非负且和为 $1$,
其加权中心为 $c$。三点均距 $c$ 为 $a$,
对任意圆心 $z$,加权平方距离等于 $a^2+\norm{z-c}^2$,
故至少一点距 $z$ 不小于 $a$。任何包含三点的圆半径均不小于 $a$。
\end{proof}
由于 $K_1\subseteq S$,于是
\begin{equation}
\boxed{
q\in\B\!\left(s+\frac{1500}{2\cos\delta}u(\theta),
1000-\frac{1500}{2\cos\delta}\right)}
\label{eq:q2-answer}
\end{equation}
即为题目所求的一种明确候选区域,实际使用时再内缩 $1$ mm。
它是充分子区域,不等于全部可行区域 $\mathcal Q(K_1)$。
\begin{table}[htbp]
\centering\small
\caption{解析安全盘参数,由式~\eqref{eq:q2-answer} 直接计算}
\begin{tabular}{lrr}
\toprule
误差半角 & 中心沿首次方向偏移 $a$/m & 候选盘半径/m\\
\midrule
$1^\circ$ & 750.114246 & 249.885754\\
$1.005^\circ$ & 750.115391 & 249.884609\\
\bottomrule
\end{tabular}
\label{tab:safeanalytic}
\end{table}
在线算法继续使用 $\Omega$ 裁剪后的完整候选形状,
通常能够获得更紧的源包围圆与更大的充分安全盘。
解析公式负责解释保证为何存在,多边形流程负责利用已有的全部几何约束。
\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$ 半角、同一坐标比例绘制。}
\label{fig:q2disk}
\end{figure}
\subsection{定位效果指标与有限候选求解}
理想的鲁棒选点模型为
\begin{equation}
\min_{q\in\mathcal Q_{\mathrm{in}}}
\left(\sup_{y\in\mathcal Y(q,K_1)}\rho(K_1\cap O(q,y)),
\frac{\norm{q-p}}{5}\right)_{\mathrm{lex}},
\label{eq:q2minimax}
\end{equation}
其中 $p$ 是当前机器人位置,$y$ 表示可能观测,
$O(q,y)$ 为相应观测可行集,下标表示按字典序比较:
先最小化最坏后验半径,再减少移动耗时。
方向分支取相应角域,近距离分支取 $\B(q,5)$。
这比仅优化交会角更直接地对应最终清除需求。
连续极小极大问题求解成本较高,当前算法采用有限候选近似。
在式~\eqref{eq:safe-disk} 的盘心及半径比例
$0.4,0.75,1.0$ 的三个环上各取 $12$ 个方向,
角度为 $(k+\tfrac12)2\pi/12$,共 $37$ 点。
对每个候选 $q$,在 $P^{\mathrm{out}}$ 边界以不大于 $60$ m 的间距采样,
包含全部顶点。对见证点 $g$ 枚举读数
$\operatorname{bearing}(q,g)\pm\delta_{\mathrm{eff}}$,
计算新角域交后的最小包围半径,并另外计算 $\near$ 分支;
取所得最大值作为 $\widehat J(q)$。
选取使 $(\widehat J(q),\norm{q-p}/5)$ 最小的点,
然后将边界采样间距加密至 $15$ m 复核其评分。
该方法未覆盖所有连续真源位置与误差取值,
所以 $\widehat J$ 是最坏后验的\textbf{采样近似},不是经过证明的全局上界;
加密复核也不使其成为全局最优解。接收保证则由安全盘独立成立。
\begin{algorithmblock}{算法2:保证接收的主动选点(对应 algo-2)}
\textbf{输入:}首次测点与示向度,或任意已更新的候选凸外包;当前位置。\\
\textbf{输出:}下一检测点、采样后验评分及接收保证状态。
\begin{enumerate}[leftmargin=2em,itemsep=1pt,topsep=4pt]
\item 初次调用时构造式~\eqref{eq:k1} 的外包多边形;后续调用使用已有外包。
\item 计算最小包围圆和安全盘半径 $b=1000-\rho_{\mathrm{out}}-10^{-3}$。
\item 若 $b<0$,返回圆心探索并注明无保证;否则生成 $37$ 个安全候选点。
\item 对每点枚举边界见证与方向端点读数,补入近距离分支,得到 $\widehat J$。
\item 按后验评分优先、移动时间次优选点,并以 $15$ m 见证间距复核。
\item 获得新观测后更新候选集;$\near$ 可就地清除,
$\direction$ 则继续检查清除证书,不满足时追加测量。
\end{enumerate}
\end{algorithmblock}
若候选数为 $N_q$、见证数为 $N_g$、多边形顶点数为 $m$,
一次裁剪为 $O(m)$,总计算量主要为
$O(N_qN_g(m+C_{\mathrm{MEC}}(m)))$。
该算法复用问题一的角域语义和最小圆函数,
但在线候选集采用多边形裁剪,不直接调用问题一的纯角域直径求解器。
+205
View File
@@ -0,0 +1,205 @@
\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$。
题目统计的平均定位清除时间是 $\bar T=T/N_c^+$;
不能用每次清除动作的固定 $5$ s 代替。
清除请求中的频道是目标频道,不改变测向机频道;
进入与退出均不增加虚拟时间,因此路径终点自由,无需返回原点。
各频道的状态按“未知、已发现、可清除、已清除、已证无源”管理。
首次获得 $\direction$ 或 $\near$ 即确立该频道存在源。
几何证书仅决定能否清除,成功响应才将状态改为已清除。
无源频道必须有覆盖或候选集排空的证据,不能由连续几次无信号直接推断。
\subsection{七点覆盖的解析证明}
取站点集合
\begin{equation}
S(a)=\{(0,0)\}\cup
\left\{a\left(\cos\frac{k\pi}{3},\sin\frac{k\pi}{3}\right):k=0,\ldots,5\right\}.
\label{eq:seven}
\end{equation}
\begin{proposition}[七点全向覆盖]
当 $0<a/\sqrt3\le R$ 时,任意 $g\in\Omega$ 到最近站点的距离不超过
\begin{equation}
D_{\mathrm{cov}}(a)=
\max\left\{\frac a{\sqrt3},\
\sqrt{R^2+a^2-\sqrt3Ra}\right\}.
\label{eq:coveragebound}
\end{equation}
\end{proposition}
\begin{proof}
设 $g$ 距原点为 $r$,其方位与最近环站的夹角不超过 $\pi/6$。
若 $r\le a/\sqrt3$,选取原点即可。
若 $r\ge a/\sqrt3$,由余弦定理,距最近环站的平方不超过
$r^2+a^2-\sqrt3ar$。
该凸二次式在 $[a/\sqrt3,R]$ 上的最大值于端点取得,
分别为 $a^2/3$ 与 $R^2+a^2-\sqrt3aR$。
\end{proof}
当前 \texttt{bayes} 策略取 $a=1159.7$ m,
由式~\eqref{eq:coveragebound} 得 $D_{\mathrm{cov}}=984.539136$ m,
比最小接收半径小约 $15.461$ m。
因此每个合法全向源至少在一站可被接收。
某频道在七站全部为无信号,就构成该频道不存在源的严格证据。
覆盖账本以“站点、频道”为索引,路过站点并不等于已检测该频道。
\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{七点全向覆盖构造。图示站点来自配置参数,不表示正式测试的实际轨迹。}
\label{fig:seven}
\end{figure}
顺次从原点访问六个环站的简单开放路线长为 $6a$,
但实际路线还包含定位与清除偏移,不能将 $6a/5$ 当作任务总耗时。
历史 $49$ 点方格与半径 $1200$ m 的七点批量策略仍保留在代码中作为对照;
本文不引用它们在自建场景中的性能数字,以保持实验数据来源一致。
\subsection{正负观测的双重候选表示}
每个已发现频道维护凸外包 $P_c^{\mathrm{out}}$。
$\direction$ 将候选集与 $\B(s,1500)$ 外切多边形及测向角域相交;
$\near$ 与 $\B(s,5)$ 外切多边形相交。
全向源的 $\sgnless$ 意味着
\begin{equation}
\norm{g-s}>r_{\mathrm{eff}}\ge1000,
\end{equation}
其排除圆盘会使候选集非凸,因此凸表示不直接扣除负观测圆盘,
而由另一套网格幸存集 $\mathcal G_c$ 处理。
网格边长为 $\ell=14.65$ m,每格中心与格内点的最大距离为
$\epsilon_g=\ell/\sqrt2$。初始保留所有可能与 $\Omega$ 相交的格,
按以下充分排除条件更新格心 $z$:
\begin{equation}
\begin{array}{ll}
\sgnless: & \norm{z-s}\le1000-\epsilon_g\ \Rightarrow\ \text{删除};\\
\near: & \norm{z-s}>5+\epsilon_g\ \Rightarrow\ \text{删除};\\
\direction: & \norm{z-s}>1500+\epsilon_g\ \Rightarrow\ \text{删除}.
\end{array}
\label{eq:gridupdate}
\end{equation}
方向观测另外检查角差。若 $d=\norm{z-s}>\epsilon_g$,
源所在格引起的方位偏差可由
$\arcsin(\epsilon_g/d)$ 上界;
实现使用更保守的距离内缩版本,并在测点附近不作方位删格。
只有角差超过 $\delta_{\mathrm{eff}}$ 加格内角裕量时才删除。
在上述整格排除条件下,真源所在格不会被合法观测删除。
因此幸存集为空可证明该频道不存在源。
若全部幸存格心均满足 $\norm{z-s}>1500+\epsilon_g$,
则在 $s$ 测量必无信号,且所有幸存格已在最小接收圆盘外,
该观测不能带来进一步排除,可跳过并在账本中记录推断依据。
这避免了为已知无信息的“站点、频道”对重复支付检测与换频时间。
\subsection{信息增益选点与清除证书}
问题二的算法2用于基线定位和安全后备;
默认 \texttt{BayesLoop} 采用幸存网格上的信息评分。
有安全盘时在其中生成环形候选,并增加与当前接近方向相关的候选;
无安全盘时在网格最小圆附近生成探索环。
当前位置也可参与评分,因而并非所有候选均具有算法2的接收保证。
对候选 $q$ 计算
\begin{equation}
J_{\mathrm{IG}}(q)=
\widehat{\mathbb E}\!\left[
\log\frac{|\mathcal G_c^{\,\mathrm{post}}(q,Y)|}{|\mathcal G_c|}
\right]
\lambda\left(\frac{\norm{p-q}}5+\frac{\norm{q-m_c}}5\right),
\label{eq:ig}
\end{equation}
其中 $\lambda=0.05$,空分支用正的小值截断。
较小的对数幸存比例意味着较大信息收益,移动项则限制为测量而产生的绕行。
评分最多取 $800$ 个子样本及 $7$ 个代表假设,
并以均匀 $r_{\mathrm{eff}}\in[1000,1500]$ 估计接收概率。
这里的“贝叶斯”体现对假设分支的加权决策,不等同于已知官方先验下的精确后验推断。
安全判断使用完整候选集合,而非上述评分样本。
凸候选集的清除判据为
\begin{equation}
\rho_c+b_c+0.5\le20,
\label{eq:clearpoly}
\end{equation}
其中 $b_c\ge0$ 为代码的累计附加余量。
凸多边形本身已外包真源,$\rho_c$ 是该实际多边形的包围半径;
$b_c$ 的具体记账近似不作为外包正确性的必要依据。
若负观测使网格更紧,也可使用
\begin{equation}
\rho_{\mathrm{grid}}+\epsilon_g+0.5\le20
\label{eq:cleargrid}
\end{equation}
的网格证书,其中 $\rho_{\mathrm{grid}}$ 为幸存格心的最小包围半径。
满足任一证书即可选择清除点。
若证书尚有余量,可将圆心向当前位置平移 $\Delta$,
只要 $\rho+\Delta$ 不超过证书允许半径,包含关系仍由三角不等式成立。
\subsection{开放路径上的滚动任务排序}
统一任务表包含三类任务:覆盖站的批量扫频、已发现源的定位测量、
已有证书的清除。站内检测优先使用测向机当前频道,减少不必要的第一次换频。
对任务序列 $\pi$,排序代价为
\begin{equation}
C(\pi)=\frac{\norm{p-q_{\pi_1}}}{5}
+\sum_{j=1}^{k-1}\frac{\norm{q_{\pi_j}-q_{\pi_{j+1}}}}5
+\sum_{j=1}^{k}t_{\pi_j}(c_{j-1}),
\label{eq:route}
\end{equation}
其中服务时间 $t_{\pi_j}$ 依赖进入任务时的频道,清除不改变该频道。
从最近邻初序开始,默认最多进行 $4$ 轮开放路径 2-opt 改进;
每次只执行当前序列的首任务,得到新观测后重新生成和排序。
这样新发现的源、收缩后的清除点和已证无源的频道都能及时改变路线。
当前未启用精确任务序动态规划及路线感知探点开关,
因此不将这些可选功能写为默认策略的既有性能来源。
已停靠位置可以顺带补测:要求此前未在该位置测过、距离保证成立、
尚无清除证书,且预测半径有足够收缩。一次机会测量仍支付检测和换频费用,
收益来自避免额外移动。同地测向误差固定,反复原地测量不能当作独立样本平均。
\subsection{算法三与完成条件}
\begin{algorithmblock}{算法3:七点覆盖、网格更新与滚动调度(对应 algo-3)}
\textbf{输入:}题设参数、七站计划、合法观测接口。\quad
\textbf{输出:}逐频道处理状态与会话统计。
\begin{enumerate}[leftmargin=2em,itemsep=1pt,topsep=4pt]
\item 检验七点解析覆盖界,初始化频道状态、覆盖账本和网格幸存集。
\item 进入后同步记录位置、频道及剩余现实预算,必要时执行有信息的机会测量。
\item 构建覆盖、定位和清除任务;跳过能够证明无信息的检测。
\item 按最近邻与开放路径 2-opt 排序,执行首任务,更新候选集和频道状态。
\item 若出现清除证书,安排清除;清除失败后先补充观测,不直接宣称完成。
\item 若已清除 $16$ 个源,或每个频道均已清除或有严格无源证据,则退出。
否则返回步骤2;预算不足或异常时退出并报告未解决频道。
\end{enumerate}
\end{algorithmblock}
“清除数达到 $16$”利用题设数量上界;
“发现并清除 $10$ 个”只达到数量下界,不能作为完成证明。
对任意已存在的 $16$ 个不同频道,也可提前排除其余未知频道,
但已发现而未清除的源仍必须继续处理。
覆盖证明保障发现,清除证书保障单次动作的正确性,
两者均不自动保证在有限预算内完成全部定位。
当前每轮追加有效定位测量上限为 $8$;
停滞、协议异常或预算耗尽时应如实报告未完成。
程序以接口返回的现实预算为准,并预留退出时间,
实际计时在整数微秒状态上累计,避免用实机运行秒数代替虚拟动作耗时。
+204
View File
@@ -0,0 +1,204 @@
\section{问题四:混合源的定向覆盖与后备清除}
\subsection{定向观测模型与无信号歧义}
设定向源位于 $g$,朝向为 $\psi$。在检测点 $q$ 可见的充要条件为
\begin{equation}
\norm{q-g}\le r_{\mathrm{eff}},\qquad
(q-g)\cdot u(\psi)\ge0.
\label{eq:visibility}
\end{equation}
边界属于可见半平面。可见且距离不超过 $5$ m 时返回 $\near$,
否则返回 $\direction$;任何一个条件失败均为 $\sgnless$。
因此在问题二安全盘内,也只能保证距离足够近,不能保证定向源可见。
若已知该频道存在源且测点位于严格距离安全盘内,此时的无信号可以判定朝向遮挡。
离开安全盘后则必须同时保留距离不足的解释。
问题三七站全部位于源圆域内部,对于位于边界且向外发射的源,
所有站点可能处于其背向半平面。即使七点圆盘覆盖了位置,
也不满足定向发现要求。适用于混合源的站点集合 $S$ 必须满足
\begin{equation}
\forall g\in\Omega,\ \forall\psi\in[0,2\pi),\
\exists s\in S:\quad
\norm{s-g}\le1000,\quad (s-g)\cdot u(\psi)\ge0.
\label{eq:halfcover}
\end{equation}
这是一项针对“位置、朝向”二元状态的全覆盖要求。
\subsection{严格连续备选:四角凸组合证明}
取 $S_{49}=\{(700i,700j):i,j=-3,\ldots,3\}$。
其网格方域包含 $\Omega$,每个源落在某个边长为 $700$ m 的闭方格内。
\begin{proposition}[方格四角的定向覆盖]
$S_{49}$ 满足式~\eqref{eq:halfcover},对全向与任意朝向的定向源均保证发现。
\end{proposition}
\begin{proof}
设包含 $g$ 的方格四角为 $v_1,\ldots,v_4$。
四角距 $g$ 均不超过对角线长 $700\sqrt2<1000$。
由于 $g$ 是四角的凸组合,存在 $\lambda_i\ge0$、
$\sum_i\lambda_i=1$ 使 $\sum_i\lambda_i(v_i-g)=0$。
对任意朝向 $u$ 取内积,得
$\sum_i\lambda_i(v_i-g)\cdot u=0$,
故不可能四个角均满足 $(v_i-g)\cdot u<0$;
至少一角处于前向闭半平面,且同时满足距离条件。
\end{proof}
证明必须同时使用四角的距离界与凸组合性质,
仅说明“最近网格点足够近”不能推出定向覆盖。
这一方案给出连续空间的严格发现保证,代价是站点较多。
\subsection{31点离散集合覆盖计划及其适用范围}
当前 \texttt{directional} 实现采用 \texttt{q4\_mincover\_v2} 计划。
在离线候选站点 $s_j$ 和离散目标状态 $(g_i,\psi_i)$ 上定义命中矩阵
\begin{equation}
A_{ij}=\mathbf1\{
\norm{s_j-g_i}\le r_{\mathrm{design}},
\ (s_j-g_i)\cdot u(\psi_i)\ge
\norm{s_j-g_i}\sin\gamma_{\mathrm{design}}\}.
\end{equation}
站点筛选可写为集合覆盖模型
\begin{equation}
\min\sum_j z_j,\qquad
\sum_jA_{ij}z_j\ge1\ \ (\forall i),\qquad z_j\in\{0,1\}.
\label{eq:setcover}
\end{equation}
当前生成器用贪心覆盖及逐点删除求近似解,采用集合覆盖的经典思想\cite{chvatal},
并没有给出 $31$ 点是全局最少点数的证明。
设计阶段使用 $965$ m 距离与 $5^\circ$ 前向角余量,
最终按 $15$ m 位置间距、$72$ 个朝向采样复核。
计划文件记录 $3\,256\,200$ 个离散目标、零未覆盖目标,
最坏命中距离约 $990.051$ m。上述量描述\textbf{离线覆盖校验},
不属于模拟器实测成绩。
\input{figures/q4-plan}
离散零缺口不能直接提升为式~\eqref{eq:halfcover} 的连续定理。
例如设任意实际位置距某验证位置不超过 $\varepsilon$,
实际朝向距其采样朝向不超过 $\alpha$,某验证见证站距采样位置为 $d$。
由三角不等式及单位向量差的界,一组充分条件为
\begin{equation}
d+\varepsilon\le1000,\qquad
(s-g_i)\cdot u(\psi_i)\ge
\varepsilon+2d\sin(\alpha/2).
\label{eq:continuous}
\end{equation}
还需先保证验证位置网覆盖全部 $\Omega$,包括边界。
对于 $15$ m 方格的通常位置裕量 $15/\sqrt2$,
$990.051+15/\sqrt2\approx1000.658$ m,已超过距离界;
最终证书的前向角余量又为 $0^\circ$,也未满足统一朝向扰动条件。
因此本文将 $31$ 点方案表述为经过细网格验证的工程方案,
不赋予无条件连续覆盖保证。需要严格发现保证时可选已实现的 $49$ 点方案;
切换后的时间表现需要独立测试,不能沿用既有正式统计。
\subsection{位置与朝向联合候选的保守更新}
对定向假设,在位置网格的每个幸存格中心 $z$ 附加 $H=24$ 个朝向档,
档宽为 $15^\circ$。令 $M_z$ 为仍可能的朝向掩码。
方向与近距离观测先更新位置约束,再保留可能覆盖检测点的朝向;
无信号时只有在整格处于 $1000$ m 保证接收盘内,才可删除必然可见的朝向。
记 $\beta=\operatorname{bearing}(z\to s)$、
$\Delta_\psi=7.5^\circ$,格内方位余量为 $\alpha_z$,
查表舍入余量为 $\eta_\psi=1.5^\circ$。
以 $d_\circ$ 表示圆周最小角差,保守保留条件为
\begin{equation}
\begin{aligned}
\text{正观测:}\quad&
d_\circ(\psi_k,\beta)\le90^\circ+\Delta_\psi+\eta_\psi+\alpha_z,\\
\text{盘内负观测:}\quad&
d_\circ(\psi_k,\beta)>90^\circ-\Delta_\psi-\eta_\psi-\alpha_z.
\end{aligned}
\label{eq:heading}
\end{equation}
第二行的含义是保留\textbf{可能不可见}的档,排除整档必然可见者,
并不要求保留档内所有方向都不可见。
若格心距测点过近、格内方位可能任意变化,则不进行此类方向裁剪。
在定向模型与有效裕量条件下,这一保守更新不删除真源的位置与朝向格。
\textbf{混合源的类型边界。}
类型未知时,严格可行集应是
\begin{equation}
\mathcal H_c=\mathcal H_c^{\mathrm{omni}}
\ \cup\ \mathcal H_c^{\mathrm{dir}},
\label{eq:typeunion}
\end{equation}
分别表示全向与定向解释。
全向源可能从其周围多个方向均被接收,而不存在一个固定发射半平面包含全部测点;
定向假设为空不意味着全向假设为空。
当前代码在首次正观测后即建立定向联合集,并包含以
\texttt{joint\_empty} 标记无源的分支,没有单独维护式~\eqref{eq:typeunion} 的全向分支。
因此,类型未知时不能把该分支当作严格缺席证明。
已获正观测的静止源若尚无清除成功响应,候选矛盾应进入异常处理。
这一点是实现的待完善边界,不由已有四次正式统计消除。
\subsection{可见性筛选与探点选择}
联合候选的用途首先是排序探点。对候选 $q$,
以均匀接收半径假设给出距离权重
\begin{equation}
w_r(d)=
\begin{cases}
1,&d\le1000,\\
(1500-d)/500,&1000<d<1500,\\
0,&d\ge1500.
\end{cases}
\end{equation}
当前 \texttt{prob\_detect} 将可见朝向掩码的位数除以初始档数 $24$,
乘 $w_r$ 后对位置样本取均值。由于分母并非每格剩余档数,
且可见性查表带保守扩张,它是未归一化的\textbf{可见性评分},
不应解释为校准过的真实后验检测概率。
候选族包括算法2给出的基础点、关于候选圆心的对跖点,以及
$0.5\rho,\rho,1.5\rho$ 半径上的八方向环点。
排除已被遮挡的重复点后,保留评分达到当前最大值 $70\%$ 的点,
并从中选择
\begin{equation}
\frac{\norm{p-q}}5+\frac{\norm{q-m}}5+6
\label{eq:q4score}
\end{equation}
最小者。常数 $6$ 是检测加换频的选点评分费用,
真实结算仍按当时频道计算。该规则优先避免完全遮挡的点,
再减少移动及后续接近距离。
联合集不可用时,返回算法2、对跖探点和环探的确定性顺序。
有限角度环探本身没有接收完备性:候选源可位于环上且朝向环的外侧,
可见弧甚至只剩切点,因此需要后备清除。
\subsection{有限格后备清除及预算}
当一轮有效定位测量达到 $8$ 次,或连续遮挡探点达到 $4$ 次仍未取得清除证书,
对保守凸候选多边形建立边长 $20$ m 的方格覆盖。
保留所有与多边形相交的格子,并以格心作为后备清除点。
格内任一点到格心距离满足
\begin{equation}
\norm{g-z}\le10\sqrt2<20.
\label{eq:fallback}
\end{equation}
因清除与源朝向无关,只要真源保留在多边形中,
逐格清除必有一次到达其 $20$ m 内。
按最近邻顺序访问,首次成功即停止该频道的后备流程。
若外包框宽、高为 $w,h$,保守格数上界为
\begin{equation}
B_{\mathrm{cell}}=
\left(\left\lceil\frac w{20}\right\rceil+2\right)
\left(\left\lceil\frac h{20}\right\rceil+2\right).
\end{equation}
当前格数硬上限为 $400$,现实预算需覆盖
$N_{\mathrm{cell}}\,t_{\mathrm{RTT},95}+t_{\mathrm{reserve}}$。
超过格数或预算上限即跳过并报告未解决;
全部清除点失败则保留候选集并记录异常。
故后备完备性是\textbf{候选包含真源、格数允许且预算足够}下的条件性结论,
不能写成所有合法场景必能在有限时间内完成。
\subsection{算法四与完成声明}
\begin{algorithmblock}{算法4:定向覆盖、可见性探点与有限格后备(对应 algo-4)}
\textbf{输入:}混合源接口,定向覆盖计划与预算。\quad
\textbf{输出:}已清除频道、未解决频道、停止依据。
\begin{enumerate}[leftmargin=2em,itemsep=1pt,topsep=4pt]
\item 加载覆盖计划;默认 $31$ 点按声明分辨率验证,$49$ 点备选有连续证明。
\item 选择最近的待测站,当前频道优先,批量检测仍未知的频道。
\item 更新凸位置候选;首次正观测后建立朝向候选,用于探点可见性筛选。
\item 按候选圆心的接近成本服务已发现频道;证书成立则清除,否则继续探点。
\item 遮挡或定位停滞时检查格数与预算,允许则执行 $20$ m 方格后备清除。
\item 覆盖任务结束后处理未解决频道;主动退出时报告清除数及停止依据。
默认离散覆盖结束及混合类型下的联合集排空不表述为无条件全清证明。
\end{enumerate}
\end{algorithmblock}
问题四使用“本站批量扫频、最近候选圆心服务”的调度骨架,
并未直接复用问题三的统一信息增益任务表。
若要求严格的混合源全清证据,除采用连续覆盖计划外,
还须补全类型联合表示或限制联合集排空的适用范围,并确保全部定位清除任务完成。
本文区分当前实现、可证明条件与尚需完善之处,不把后者追溯为正式测试时已执行的功能。
+144
View File
@@ -0,0 +1,144 @@
\section{官方正式测试结果与时间分解}
\subsection{数据选择及对应关系核对}
本节实验样本严格限定为官方模拟器
\pathtext{Jammers-simulator-full/test} 下四个正式导出包。
问题三、四各有正式序号 $1$、$2$,文件名及案例编码见结果表和附录。
不采用 \texttt{project/results} 中的自建评测数据,
也不将历史演练案例当作正式测试补入。
正式 \texttt{.jlog} 为加密行为日志,公开头部包含题号、正式序号、
案例编码与激活票据,但动作载荷不能直接作为普通 JSON 读取。
本次按以下对应链提取其官方统计\cite{formal}:
\begin{enumerate}[label=(\arabic*),leftmargin=2.8em,itemsep=3pt]
\item 对 \texttt{test} 中每个文件计算完整 SHA-256,
与模拟器原始 \texttt{behavior-logs} 中同名文件逐字节核对。
\item 再与同名 \texttt{.result.json} 的包哈希及案例字段核对,
四个包均一致;该侧文件只记录身份对应与结束时刻,不含性能指标。
\item 对公开头部的激活票据字节计算 SHA-256,
精确匹配官方正式统计数据库中的记录。
数据库以只读方式访问,统计行仅作为这四个所选包的配套指标。
\item 输出匿名最小快照,保留案例、包哈希、计数与整数计时;
不写出队号、设备信息、票据正文或密钥封装。
\end{enumerate}
匹配字段包括清除数、已接受检测数、换频数、清除失败数、
虚拟总微秒数及程序运行毫秒数。四行均为 \texttt{user\_exit},
提交状态为 \texttt{confirmed}。前者表示主动退出,
后者表示统计提交获得确认,二者均不是官方全清率评分。
公开统计没有源总数、全向与定向源数量、精确坐标,
也没有参赛程序提交版本及参数哈希。
因此算法章节对应当前仓库实现;本节报告已完成正式测试的客观结果,
不将这四局用作当前参数的配对消融。
以下时间分解来自官方累计量的代数恒等式,
不声称已经解密轨迹并逐动作复放。
\subsection{问题三正式结果}
\begin{table}[htbp]
\centering\small
\caption{问题三正式测试结果(时间单位:s,平均时间单位:s/个)}
\setlength{\tabcolsep}{4pt}
\begin{tabularx}{\linewidth}{l X r r r}
\toprule
测试 & 测试案例编码 & 清除数 & 平均定位清除时间 & 程序运行时间\\
\midrule
\csname @@input\endcsname data/formal-q3-rows.tex
\bottomrule
\end{tabularx}
\label{tab:formal3}
\end{table}
两次正式测试共记录清除 $\QThreeCount$ 个源,平均时间分别为
$238.075$ 与 $232.889$ s/个,程序运行时间分别为 $5.596$ 与 $3.024$ s。
以两局清除总数为权重的合并每源时间为
\begin{equation}
\bar T_{3,\mathrm{pooled}}
=\frac{3094.978068+3493.335140}{13+15}
=\QThreeWeighted\ \text{s/个}.
\end{equation}
若先计算每局平均时间再对两局等权平均,则为 $\QThreeMean$ s/个,
两种口径不同,本文结果表采用题目规定的逐局口径。
正式测试源总数未披露,不能将清除数 $13$、$15$ 分别视为真源总数,
也不能据此计算清除比例。
\subsection{问题四正式结果}
\begin{table}[htbp]
\centering\small
\caption{问题四正式测试结果(时间单位:s,平均时间单位:s/个)}
\setlength{\tabcolsep}{4pt}
\begin{tabularx}{\linewidth}{l X r r r}
\toprule
测试 & 测试案例编码 & 清除数 & 平均定位清除时间 & 程序运行时间\\
\midrule
\csname @@input\endcsname data/formal-q4-rows.tex
\bottomrule
\end{tabularx}
\label{tab:formal4}
\end{table}
两次测试共记录清除 $\QFourCount$ 个源,平均时间为
$720.171$ 与 $927.130$ s/个,合并每源时间为
\begin{equation}
\bar T_{4,\mathrm{pooled}}
=\frac{9362.225736+9271.302080}{13+10}
=\QFourWeighted\ \text{s/个}.
\end{equation}
两局等权平均则为 $\QFourMean$ s/个。
第二局总虚拟时间略小,但清除数由 $13$ 变为 $10$,
使每源平均时间更高,说明比较策略时必须同时报告分子、分母。
源类型组成未公开,不能估计其中定向源的单独清除率或朝向难度。
两问各缺少第三次正式记录,本节保留缺失行且不补造案例。
现有正式包也不能替代题目要求的演练清除比例统计;
在用户指定的数据范围内,没有足够的真值字段报告该比例。
\subsection{虚拟耗时的可复算分解}
官方总虚拟时间以整数微秒保存。将式~\eqref{eq:time} 重排,
可反推出累计移动时间
\begin{equation}
T_{\mathrm{move}}
=T-5N_m-N_s-5N_c^+-3N_c^-.
\label{eq:residual}
\end{equation}
表~\ref{tab:cost} 中 Q3-1 表示问题三第一次正式测试,其他编号同理。
各局清除失败数均为零,但这一事实只表示没有失败清除请求,
不能推出没有漏源、没有无效检测或没有后备流程。
\begin{table}[htbp]
\centering\small
\caption{由正式累计统计反推的动作耗时分解}
\setlength{\tabcolsep}{4.5pt}
\begin{tabular}{lrrrrrr}
\toprule
案例 & 检测数 & 换频数 & 失败清除 & 总虚拟时间/s & 移动时间/s & 移动占比\\
\midrule
\csname @@input\endcsname data/formal-cost-rows.tex
\bottomrule
\end{tabular}
\label{tab:cost}
\end{table}
\input{figures/formal-time-bars}
四局移动时间占总虚拟时间的 $76.59\%$ 至 $78.02\%$。
从这一组正式样本看,减少移动是影响总耗时的主要方向,
检测与换频仍应同时计入路径选择。
由 $L_{\mathrm{eq}}=5T_{\mathrm{move}}$ 得四局等效距离分别约为
$12.045$、$13.627$、$36.386$、$35.507$ km。
它们由已量化的移动时间反推,不是独立轨迹测得的长度。
令每段移动的时间量化误差不超过 $0.5$ 微秒,
则 $L_{\mathrm{eq}}$ 与未量化距离的差不超过
$2.5\times10^{-6}(N_m+N_c^++N_c^-)$ m,
远小于本表的展示精度。所有平均值先按官方整数单位计算,
最后保留三位小数,避免先舍入总时间再除以清除数造成误差。
\subsection{从正式记录能够得到的结论}
现有记录支持以下有限结论:四局均已进入并主动退出,
成功清除计数合计为 $51$,清除失败计数为零,
程序运行时间介于 $3.024$ 与 $7.668$ s。
问题四的检测数与总移动时间均明显多于本组问题三案例,
与定向可见性约束带来的额外搜索开销相符;
但各局场景不同、样本量有限,不能将差异解释为某一算法模块的净贡献。
零清除失败与全源发现是两个不同指标。
由于正式记录未公开源总数,本文不报告全清比例、定位误差均值、
置信区间、相对基线降幅或显著性检验。
若后续补充合法可读的正式汇总或新的成对测试,
可在同一统计流程中增加这些指标,而无需改变已有结果的定义。