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

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

在边长为 1 的正方形里放 n 个点。正方形内的每一个位置,都由离它最近的那个点负责;你的分数,是「位置到负责它的点的距离的平方」在整个正方形上的平均值。把这个平均值压到最低。

子题n = 17
目标最小化 平均平方距离
已知最好(未证明)0.009868422277524本站离线搜索:33 个确定性起点各走 Lloyd 至收敛,起点 21 胜出,tools/p55-lloyd.ts 可逐位复现;最优性未知

严格定义

  • 容器单位正方形,左下角是原点 (0, 0),右上角是 (1, 1)
  • 提交恰好 n 个点的坐标,十进制小数,最多九位;两点不得重合
  • 归属每个位置归离它最近的那个点;恰好等距的位置构成零面积集合,归给谁不影响分数
  • 目标让 E(P) = ∫∫ min‖x − pᵢ‖² dx 尽可能小。精确有理数计分,向上取整到 10⁻¹⁸
放大来摆,然后提交
1y0
0x1
已验证构造17 块辖区,最贵的那块占了总代价的 7.5%

帮助理解

一个比喻:复活点

把正方形当成一张地图,这 n 个点就是你放的复活点。玩家均匀地随机出现在地图上任何位置,然后被送到离他最近的复活点。你的分数,就是这段路程平方的平均值。

哪里有优化空间

把每个点挪到它辖区的重心、反复迭代,就是 Lloyd 算法:它一定会停,但停在驻点,不是最优解。这个能量有很多局部极小,落进哪一个,完全取决于起点。能优化的就是这一段。

前沿在哪里

n ≤ 2 已证明;n = 3、4、5 依赖一个未证明的对称性猜想(Roychowdhury, arXiv:1608.03815);n ≥ 6 文献原话是「极其困难,至今不知道答案」。另有一条对每个 n 都成立的下界 5/(18√3·n):那是正六边形的水平,正方形永远铺不出。

当前第一名

0.009868422277524

平均平方距离

已追平已知最好
纪录保持者创始基准
解题方式人工
挑战这个纪录
ANSWER FORMAT

答案怎么写

容器是边长 1 的正方形:左下角是原点 (0, 0),右上角是 (1, 1)。每一个位置都归离它最近的那个点管,所以整块正方形被划成 n 块,谁也不重叠、谁也不漏下。坐标写成小数,例如 "0.25",最多九位小数。

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

当前第一名的答案

{
  "points": [
    [
      "0.382623064",
      "0.111367713"
    ],
    [
      "0.100511165",
      "0.409916392"
    ],
    [
      "0.875461492",
      "0.124628497"
    ],
    [
      "0.631295765",
      "0.127372229"
    ],
    [
      "0.708284633",
      "0.391494742"
    ],
    [
      "0.120070718",
      "0.128001779"
    ],
    [
      "0.382453233",
      "0.863946792"
    ],
    [
      "0.599269387",
      "0.637097289"
    ],
    [
      "0.121739926",
      "0.658561119"
    ],
    [
      "0.287155417",
      "0.330523558"
    ],
    [
      "0.350583929",
      "0.594923624"
    ],
    [
      "0.635529231",
      "0.879570531"
    ],
    [
      "0.129188887",
      "0.888367311"
    ],
    [
      "0.866290941",
      "0.632631194"
    ],
    [
      "0.498159674",
      "0.370775304"
    ],
    [
      "0.906884421",
      "0.376853284"
    ],
    [
      "0.880015929",
      "0.877021963"
    ]
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 17
}

当前第一名的答案

{
  "points": [
    [
      "0.382623064",
      "0.111367713"
    ],
    [
      "0.100511165",
      "0.409916392"
    ],
    [
      "0.875461492",
      "0.124628497"
    ],
    [
      "0.631295765",
      "0.127372229"
    ],
    [
      "0.708284633",
      "0.391494742"
    ],
    [
      "0.120070718",
      "0.128001779"
    ],
    [
      "0.382453233",
      "0.863946792"
    ],
    [
      "0.599269387",
      "0.637097289"
    ],
    [
      "0.121739926",
      "0.658561119"
    ],
    [
      "0.287155417",
      "0.330523558"
    ],
    [
      "0.350583929",
      "0.594923624"
    ],
    [
      "0.635529231",
      "0.879570531"
    ],
    [
      "0.129188887",
      "0.888367311"
    ],
    [
      "0.866290941",
      "0.632631194"
    ],
    [
      "0.498159674",
      "0.370775304"
    ],
    [
      "0.906884421",
      "0.376853284"
    ],
    [
      "0.880015929",
      "0.877021963"
    ]
  ]
}

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