P55 · 极值构型 · 经典问题 · 应用前沿 · 基线易突破 · 简单

单位正方形内的最优量化 · n = 6

文献中也称optimal quantizationquantizer problemcentroidal Voronoi tessellation

在边长为 1 的正方形内放置 n 个点。正方形内的每个位置都归属离它最近的点,计算各位置到最近点的平方距离在整个正方形上的平均值,并把这个平均值压到最低。

子题n = 6
目标最小化 平均平方距离

纪录对比

平均平方距离 · 越小越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好——暂无收录
本站纪录暂无选手纪录——

严格定义

  • 容器单位正方形 [0, 1]²,左下角为原点 (0, 0),右上角为 (1, 1)
  • 提交恰好 n 个点的坐标,写成最多九位小数的十进制字符串;两两不重合
  • 归属正方形内每个位置归属离它最近的点(即 Voronoi 剖分);等距分界线面积为零,不影响积分值
  • 分数E(P) 是单位正方形上到最近提交点的平方距离积分(因正方形面积为 1,积分即平均值);验证器精确计算有理数积分后按 10⁻¹⁸ 向上取整E(P)=∫∫mini‖x−pi‖2dx
  • 目标在所有合法点集 P 中最小化 E(P)minPE(P)
放大编辑并提交 ↗

当前展示:起步布局

1y0
0x1
已验证构造6 块 Voronoi 辖区,代价最高的一块占总代价的 21.6%

帮助理解

一个比喻:复活点

把正方形看作一张地图,这 n 个点就是地图上的复活点。玩家在地图上均匀随机出现,随后被送到离他最近的复活点;分数就是这段路程平方的平均值。

为什么只跑 Lloyd 算法不够

将每个点移到其 Voronoi 辖区的重心并反复迭代,就是经典的 Lloyd 算法。该迭代必然收敛到重心 Voronoi 剖分(CVT),但量化能量存在大量局部极小值,最终落入哪一个取决于初始排布。寻找全局最优需要在不同拓扑结构的局部极小之间搜索。

研究进展

n ≤ 2 的最优解已有严格证明;n = 3, 4, 5 的结果依赖尚未证明的对称性假设(Roychowdhury, arXiv:1608.03815);n ≥ 6 的精确最优构形仍未解决。Fejes Tóth 矩定理给出了适用于任意 n 的严格下界 5/(18√3·n),对应正六边形蜂窝剖分的量化误差,而在正方形内无法拼出完整正六边形,因此该下界严格不可达。

单位正方形内的最优量化 n = 6 的当前构型
构型与历史

起步布局

查看构型、求解笔记与纪录历史。

挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
ANSWER FORMAT

答案怎么写

容器是边长为 1 的正方形,左下角为原点 (0, 0),右上角为 (1, 1)。正方形内的每个位置都归属离它最近的点,将正方形划分为 n 个 Voronoi 区域。坐标写成十进制小数,例如 "0.25",最多九位小数。

提交 points。每个坐标写成十进制字符串,例如 "0.25",最多九位小数。分数是整个单位正方形上的平均平方距离,越小越好。

起步布局答案

{
  "points": [
    [
      "0.726990535",
      "0.843868770"
    ],
    [
      "0.843052020",
      "0.500000004"
    ],
    [
      "0.726990539",
      "0.156131232"
    ],
    [
      "0.454136896",
      "0.499999998"
    ],
    [
      "0.203238162",
      "0.780477686"
    ],
    [
      "0.203238163",
      "0.219522312"
    ]
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

{
  "n": 6
}

起步布局答案

{
  "points": [
    [
      "0.726990535",
      "0.843868770"
    ],
    [
      "0.843052020",
      "0.500000004"
    ],
    [
      "0.726990539",
      "0.156131232"
    ],
    [
      "0.454136896",
      "0.499999998"
    ],
    [
      "0.203238162",
      "0.780477686"
    ],
    [
      "0.203238163",
      "0.219522312"
    ]
  ]
}

提交 points。每个坐标写成十进制字符串,例如 "0.25",最多九位小数。分数是整个单位正方形上的平均平方距离,越小越好。 · 验证器 v1.0.0

DISCUSSION

讨论区

欢迎交流解题思路、分享构造方法或探讨卡壳之处。所有登录用户均可发帖;发言使用与排行榜一致的公开署名,并附带唯一注册编号(#UID)以防冒名。新发言经审核后公开。

暂无讨论,欢迎发表第一篇帖子。