重写tex

This commit is contained in:
2026-09-13 10:53:22 +08:00
parent 2c63610f12
commit 4f836fe123
26 changed files with 560 additions and 514 deletions
+43 -50
View File
@@ -7,15 +7,14 @@ 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 代替。
清除请求中的频道是目标频道,不改变测向机频道;
进入与退出均不增加虚拟时间,因此路径终点自由,无需返回原点。
题目统计的平均定位清除时间为 $\bar T=T/N_c^+$,包含搜索、定位与清除的全部耗时。
清除请求中的频道指定操作对象,测向机保持原频道;
进入与退出的虚拟耗时为零,因此采用终点自由的开放路径模型。
各频道的状态按“未知、已发现、可清除、已清除、已证无源”管理。
首次获得 $\direction$ 或 $\near$ 即确立该频道存在源。
几何证书仅决定能否清除,成功响应才将状态改为已清除。
无源频道必须有覆盖或候选集排空的证据,不能由连续几次无信号直接推断。
最小包围圆判据决定清除时机,成功响应将状态更新为已清除。
频道的候选集为空,或其所有覆盖站检测结果均为无信号时,可判定该频道无源。
\subsection{七点覆盖的解析证明}
取站点集合
@@ -46,7 +45,7 @@ $r^2+a^2-\sqrt3ar$。
比最小接收半径小约 $15.461$ m。
因此每个合法全向源至少在一站可被接收。
某频道在七站全部为无信号,就构成该频道不存在源的严格证据。
覆盖账本以“站点、频道”为索引,路过站点并不等于已检测该频道。
以“站点、频道”为索引建立检测状态矩阵,记录各站对各频道的检测结果。
\begin{figure}[htbp]
\centering
@@ -73,14 +72,12 @@ $r^2+a^2-\sqrt3ar$。
\node[anchor=west,align=left] at (2100,-650)
{$a=1159.7$ m\\$R=1800$ m\\最坏距离 $\le984.539$ m};
\end{tikzpicture}
\caption{七点全向覆盖构造。图示站点来自配置参数,不表示正式测试的实际轨迹。}
\caption{七点全向覆盖的站点构造与接收圆盘。}
\label{fig:seven}
\end{figure}
顺次从原点访问六个环站的简单开放路线长为 $6a$,
但实际路线还包含定位与清除偏移,不能将 $6a/5$ 当作任务总耗时。
历史 $49$ 点方格与半径 $1200$ m 的七点批量策略仍保留在代码中作为对照;
本文不引用它们在自建场景中的性能数字,以保持实验数据来源一致。
顺次从原点访问六个环站的开放路径长为 $6a$。
任务总路径由覆盖站间移动以及定位、清除所需的局部移动共同构成。
\subsection{正负观测的双重候选表示}
每个已发现频道维护凸外包 $P_c^{\mathrm{out}}$。
@@ -90,8 +87,8 @@ $\near$ 与 $\B(s,5)$ 外切多边形相交。
\begin{equation}
\norm{g-s}>r_{\mathrm{eff}}\ge1000,
\end{equation}
其排除圆盘会使候选集非凸,因此凸表示不直接扣除负观测圆盘,
而由另一套网格幸存集 $\mathcal G_c$ 处理。
排除圆盘可使可行区域呈非凸形状。为此,采用网格候选集
$\mathcal G_c$ 表示负观测带来的空间约束,同时保留便于几何运算的凸外包。
网格边长为 $\ell=14.65$ m,每格中心与格内点的最大距离为
$\epsilon_g=\ell/\sqrt2$。初始保留所有可能与 $\Omega$ 相交的格,
@@ -107,59 +104,59 @@ $\epsilon_g=\ell/\sqrt2$。初始保留所有可能与 $\Omega$ 相交的格,
方向观测另外检查角差。若 $d=\norm{z-s}>\epsilon_g$,
源所在格引起的方位偏差可由
$\arcsin(\epsilon_g/d)$ 上界;
实现使用更保守的距离内缩版本,并在测点附近不作方位删格。
实现采用距离内缩后的角误差界,并在测点附近保留所有可能方位。
只有角差超过 $\delta_{\mathrm{eff}}$ 加格内角裕量时才删除。
在上述整格排除条件下,真源所在格不会被合法观测删除。
因此幸存集为空可证明该频道不存在源。
若全部幸存格心均满足 $\norm{z-s}>1500+\epsilon_g$,
则在 $s$ 测量必无信号,且所有幸存格已在最小接收圆盘外,
该观测不能带来进一步排除,可跳过并在账本中记录推断依据。
这避免了为已知无信息的“站点、频道”对重复支付检测与换频时间。
上述排除条件保持真源所在网格的可行性。
因此网格候选集为空时,该频道无源。
若全部候选格心均满足 $\norm{z-s}>1500+\epsilon_g$,
则在 $s$ 测量必无信号,且所有候选网格已在最小接收圆盘外,
其观测的信息增益为零,可在检测状态矩阵中标记该推断结果,
从而节省相应检测与换频时间。
\subsection{信息增益选点与清除证书}
问题二的算法2用于基线定位和安全后备;
默认 \texttt{BayesLoop} 采用幸存网格上的信息评分。
有安全盘时在其中生成环形候选,并增加与当前接近方向相关的候选;
无安全盘时在网格最小圆附近生成探索环。
当前位置也可参与评分,因而并非所有候选均具有算法2的接收保证。
\subsection{信息增益选点与清除判据}
问题二的算法2提供满足接收约束的检测点;
问题三的 \texttt{BayesLoop} 进一步采用网格候选集上的信息增益。
存在保证接收圆盘时,在其内部生成环形候选并补充当前接近方向上的测点;
其余情况下,在网格最小包围圆附近生成环形采样点。
候选集合同时包含当前位置与探索点,分别根据预期信息增益和移动代价评分。
对候选 $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),
+\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$ 的具体记账近似不作为外包正确性的必要依据。
凸多边形包含真源,$\rho_c$ 是其最小包围半径;
$b_c$ 与 $0.5$ m 共同提供附加数值裕量。
若负观测使网格更紧,也可使用
\begin{equation}
\rho_{\mathrm{grid}}+\epsilon_g+0.5\le20
\label{eq:cleargrid}
\end{equation}
的网格证书,其中 $\rho_{\mathrm{grid}}$ 为幸存格心的最小包围半径。
满足任一证书即可选择清除点。
若证书尚有余量,可将圆心向当前位置平移 $\Delta$,
只要 $\rho+\Delta$ 不超过证书允许半径,包含关系仍由三角不等式成立。
的网格清除判据,其中 $\rho_{\mathrm{grid}}$ 为候选格心的最小包围半径。
满足任一充分条件即可选择清除点。
利用剩余距离裕量,可将圆心向当前位置平移 $\Delta$;
只要平移后的距离上界仍满足对应不等式,三角不等式便保证清除条件成立。
\subsection{开放路径上的滚动任务排序}
统一任务表包含三类任务:覆盖站的批量扫频、已发现源的定位测量、
已有证书的清除。站内检测优先使用测向机当前频道,减少不必要的第一次换频。
满足半径条件的清除。站内检测优先使用测向机当前频道,减少换频次数。
对任务序列 $\pi$,排序代价为
\begin{equation}
C(\pi)=\frac{\norm{p-q_{\pi_1}}}{5}
@@ -171,35 +168,31 @@ C(\pi)=\frac{\norm{p-q_{\pi_1}}}{5}
从最近邻初序开始,默认最多进行 $4$ 轮开放路径 2-opt 改进;
每次只执行当前序列的首任务,得到新观测后重新生成和排序。
这样新发现的源、收缩后的清除点和已证无源的频道都能及时改变路线。
当前未启用精确任务序动态规划及路线感知探点开关,
因此不将这些可选功能写为默认策略的既有性能来源。
已停靠位置可以顺带补测:要求此前未在该位置测过、距离保证成立、
尚无清除证书,且预测半径有足够收缩。一次机会测量仍支付检测和换频费用,
收益来自避免额外移动。同地测向误差固定,反复原地测量不能当作独立样本平均。
尚处于定位阶段,且预测半径有足够收缩。追加测量的费用为检测与换频时间,
其收益来自节省额外移动。题设固定同地误差,因此优先选择新的检测位置。
\subsection{算法三与完成条件}
\begin{algorithmblock}{算法3:七点覆盖、网格更新与滚动调度(对应 algo-3)}
\textbf{输入:}题设参数、七站计划、合法观测接口。\quad
\textbf{输出:}逐频道处理状态与会话统计。
\begin{enumerate}[leftmargin=2em,itemsep=1pt,topsep=4pt]
\item 检验七点解析覆盖界,初始化频道状态、覆盖账本和网格幸存集。
\item 检验七点覆盖条件,初始化频道状态、检测状态矩阵和网格候选集。
\item 进入后同步记录位置、频道及剩余现实预算,必要时执行有信息的机会测量。
\item 构建覆盖、定位和清除任务;跳过能够证明无信息的检测。
\item 按最近邻与开放路径 2-opt 排序,执行首任务,更新候选集和频道状态。
\item 若出现清除证书,安排清除;清除失败后先补充观测,不直接宣称完成。
\item 若满足清除判据,执行清除;成功则更新状态,失败则追加观测。
\item 若已清除 $16$ 个源,或每个频道均已清除或有严格无源证据,则退出。
否则返回步骤2;预算不足或异常时退出并报告未解决频道。
\end{enumerate}
\end{algorithmblock}
“清除数达到 $16$”利用题设数量上界;
“发现并清除 $10$ 个”只达到数量下界,不能作为完成证明。
“清除数达到 $16$”利用题设数量上界。
对任意已存在的 $16$ 个不同频道,也可提前排除其余未知频道,
但已发现而未清除的源仍必须继续处理。
覆盖证明保障发现,清除证书保障单次动作的正确性,
两者均不自动保证在有限预算内完成全部定位。
覆盖条件用于判定搜索范围,清除充分条件用于确定操作位置。
当前每轮追加有效定位测量上限为 $8$;
停滞、协议异常或预算耗尽时应如实报告未完成。
停滞、协议异常或预算耗尽时,记录各频道状态并终止。
程序以接口返回的现实预算为准,并预留退出时间,
实际计时在整数微秒状态上累计,避免用实机运行秒数代替虚拟动作耗时。
虚拟动作耗时以整数微秒累计,程序运行时间由官方统计单独记录。