少量约束的几何优化核验记录
返回学习路线。本任务交付一份能够重新执行的记录:点、半平面和抽样 ID 都写明;答案附带小证书;测试程序另外检查完整输入。四页分别解决覆盖圆、抽象违反模型、边界降维和权重抽样,不能用一段“少数约束很重要”的解释代替四个接口。
下载标准库执行器与完整核验结果。直接运行脚本会在同目录生成 JSON;无需安装第三方包。输入只接受整数或 Fraction,不接受浮点 epsilon 判定。主程序含确定种子的重放,自查使用显式 check,开启 Python -O 不会删掉核验。
一、先给圆,再给不能更小的理由
输入依次为
输出应为圆心
执行器种子17的 Welzl 运行产生29个显式栈节点、16次圆内测试、12次违反分支,最大栈深7。这个数字只描述这一条轨迹;期望线性由正文递推证明,不由它推断。完整结果保留每次违反时的前缀长度、被加入的点 ID、强制边界 ID 和旧圆。
再把第三点改成
迁移时加入重复原点、全部共线点、空输入及分母为
二、把非唯一基全部找出来
令四个输入点是
完整四点集合恰有两个基:左右相对点、上下相对点。两份基的交为空,所以删除任意一点都不改变完整圆。三点集合却各有一份相对点基,含两个极端元素。不要把完整输入的极端元素数直接拿去替换随机三点子集的极端元素数。
固定抽两点时,六个等可能样本中,两份违反量为零,四份违反量为二,平均为
下一步把四个点的抽样权重改为
最后提交直径反例:
三、线性规划要有三类结论
先解最大化
最后目标为13。以
接着提交下面四个边界任务。
| 原系统与目标 | 必须返回的结论 | 可直接核验的证据 |
|---|---|---|
| 有限最优值0 | 形式解 |
|
| 目标无界 | 起点 |
|
| 不可行 | 三条原行已矛盾,任意两条仍可行 | |
| 无约束,目标恒零 | 有限最优值0 | 任意实点即可,不能因形式方向非零报无界 |
第一行尤其要保留
迁移任务:将第一行的目标改成
四、逐轮核权重,不在候选处提前停止
取128行
- 总权128,抽中最小 ID 为17,违反总权17;
,本轮拒绝倍增 - 总权仍128,最小 ID 为3,违反0、1、2,三权由1变2,总权变131
- 最小 ID 为1,只违反0,它的当前权重是2;翻倍后总权变133
- 最小 ID 为0,全部128行都满足,返回最优值0
下载结果保留每轮54个原始抽样 ID。重放时从该轮旧权重算累计票区间,验证去重后的样本、违反集合和总权增量。最后权重应为
把轮数预算设成零,返回必须是未知;把同一随机种子在每轮循环内重置,不能继续声称每轮条件成功概率至少一半。它可能一直重放第一轮的重违反样本而停不下来。
五、成本记录与独立复算
最小圆核心使用显式栈和常数大小的边界 ID;Seidel 核心顺序维护规范最优点,违反时遍历旧前缀。两者在平面精确算术模型下均为期望线性,但全前缀审计、全部一/二/三点枚举、全部形式框顶点枚举都更慢。附件将这些核验工作与算法统计分开。
有限 LP 的额外对偶证书器枚举紧约束法向量对,最坏二次;它用于证明输出最优,不应混入 Seidel 核心的线性时间宣传。加权算法的小枚举内核只处理至多54个不同约束,总循环期望为
几何数采用 Fraction,计时需要乘上相应位长下的有理运算成本。随机抽样用整数票,权重位长由有效倍增次数控制;伪随机种子用来复现实验,理论期望针对声明的独立抽样模型。
最终记录应包含原输入、三类 LP 状态、圆/LP 小证书、抽样原始 ID、普通与 -O 的一致结果,以及至少一个迁移后改变输出类型的实例。少了其中一项,就还不能区分“程序跑出了一个数”和“这个数具有声明的含义”。