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

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

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

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

严格定义

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

帮助理解

一个比喻:复活点

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

哪里有优化空间

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

前沿在哪里

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

当前第一名

0.005944552051573

平均平方距离

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

答案怎么写

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

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

当前第一名的答案

{
  "points": [
    [
      "0.087084733",
      "0.526782802"
    ],
    [
      "0.094705055",
      "0.912082687"
    ],
    [
      "0.313847209",
      "0.087011812"
    ],
    [
      "0.421210668",
      "0.541281849"
    ],
    [
      "0.918596225",
      "0.682308037"
    ],
    [
      "0.597799010",
      "0.256139245"
    ],
    [
      "0.242712868",
      "0.245538504"
    ],
    [
      "0.905294942",
      "0.087917319"
    ],
    [
      "0.740842860",
      "0.559793756"
    ],
    [
      "0.579521250",
      "0.692878694"
    ],
    [
      "0.098002875",
      "0.098807536"
    ],
    [
      "0.402200942",
      "0.743860745"
    ],
    [
      "0.249565464",
      "0.653493642"
    ],
    [
      "0.508431526",
      "0.091937631"
    ],
    [
      "0.420478700",
      "0.307121277"
    ],
    [
      "0.281967632",
      "0.896707538"
    ],
    [
      "0.259157103",
      "0.440206211"
    ],
    [
      "0.750434512",
      "0.346506325"
    ],
    [
      "0.757287085",
      "0.754461467"
    ],
    [
      "0.686152787",
      "0.912988184"
    ],
    [
      "0.578789287",
      "0.458718122"
    ],
    [
      "0.081403759",
      "0.317691964"
    ],
    [
      "0.491568470",
      "0.908062357"
    ],
    [
      "0.912915255",
      "0.473217206"
    ],
    [
      "0.907991903",
      "0.268420863"
    ],
    [
      "0.901997118",
      "0.901192456"
    ],
    [
      "0.718032362",
      "0.103292465"
    ],
    [
      "0.092008102",
      "0.731579152"
    ]
  ]
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看

子题参数

{
  "n": 28
}

当前第一名的答案

{
  "points": [
    [
      "0.087084733",
      "0.526782802"
    ],
    [
      "0.094705055",
      "0.912082687"
    ],
    [
      "0.313847209",
      "0.087011812"
    ],
    [
      "0.421210668",
      "0.541281849"
    ],
    [
      "0.918596225",
      "0.682308037"
    ],
    [
      "0.597799010",
      "0.256139245"
    ],
    [
      "0.242712868",
      "0.245538504"
    ],
    [
      "0.905294942",
      "0.087917319"
    ],
    [
      "0.740842860",
      "0.559793756"
    ],
    [
      "0.579521250",
      "0.692878694"
    ],
    [
      "0.098002875",
      "0.098807536"
    ],
    [
      "0.402200942",
      "0.743860745"
    ],
    [
      "0.249565464",
      "0.653493642"
    ],
    [
      "0.508431526",
      "0.091937631"
    ],
    [
      "0.420478700",
      "0.307121277"
    ],
    [
      "0.281967632",
      "0.896707538"
    ],
    [
      "0.259157103",
      "0.440206211"
    ],
    [
      "0.750434512",
      "0.346506325"
    ],
    [
      "0.757287085",
      "0.754461467"
    ],
    [
      "0.686152787",
      "0.912988184"
    ],
    [
      "0.578789287",
      "0.458718122"
    ],
    [
      "0.081403759",
      "0.317691964"
    ],
    [
      "0.491568470",
      "0.908062357"
    ],
    [
      "0.912915255",
      "0.473217206"
    ],
    [
      "0.907991903",
      "0.268420863"
    ],
    [
      "0.901997118",
      "0.901192456"
    ],
    [
      "0.718032362",
      "0.103292465"
    ],
    [
      "0.092008102",
      "0.731579152"
    ]
  ]
}

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