P51 · Extremal configurations · Classic · Hard

Lighting a unit square · n = 21

Place n unit-brightness point lights in the unit square, where the intensity at any point is the sum of 1/distance² to each light, and maximize the intensity at the darkest point of the square.

Instancen = 21
ObjectiveMaximize minimum intensity

Record comparison

minimum intensity · Higher is better
RecordValue / intervalAuthor / holderSource
External best known[184.439, 184.440)You Junzhe2026-09Erich Friedman ↗
Site record184.439329Gaozx1Record details ↓

Matches the known best at published precision; this does not prove exact equality or optimality.

Formal definition

  • ContainerThe unit square [0, 1]², with lower-left corner at (0, 0) and upper-right corner at (1, 1)
  • SubmissionThe n light positions lights, together with a claimed minimum intensity that the verifier can rigorously verify
  • ConstraintsAll lights lie inside the square; multiple lights may share a position, in which case their intensities add
  • Point intensityP = {p₁,…,pₙ} is the multiset of light positions; each unit-brightness light contributes the inverse square of its distanceIP(x)=∑i=1n1‖x−pi‖2
  • Darkest intensityL(P) is the continuous minimum of the intensity over the entire closed square [0, 1]²L(P)=minx∈[0,1]2IP(x)
  • ObjectiveMaximize L(P) over all valid light configurations P; the submitted intensity must be a lower bound on L(P) that the verifier can rigorously verifymaxPL(P)
Open full editor ↗

Layout shown: site record

1y0
0x1
VERIFIED CONSTRUCTIONthe darkest point is at least 184.439329

Getting a feel for it

Why it is hard

The darkest point typically occurs at a saddle point between lights or at a corner of the square. Moving lights to brighten one dark spot dims another region. Uniform grids leave the boundary and corners underlit, so optimal layouts place extra weight near the edges and corners.

Known results

Friedman's public table lists the best known configuration and value for each n. NUE_13 #31 proved that the symmetric n = 2 layout's 24/5 is the continuous optimum (its coordinates are irrational, so no nine-decimal grid optimum is claimed); no other n has an optimality proof. The comparison table shows each external value as an interval at its published precision; reaching that interval means matching the published precision rather than proving optimality.

Source
The record-holding arrangement for Lighting a unit square n = 21, 184.439329
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderGaozx1
Solution methodAI · Z.ai: GLM 5.3 Flash
Challenge this record ↗Submit a proof / idea ↓Share a proof or bound argument in the discussion board. Accepted contributions earn proof points.
Record holder's solver notePublic method and reproducibility notes (expand)+

方法:信赖域交换法。把 max-min 写成 softmin=log-sum-exp 下逼近,对 21 个光源(42 维)做 L-BFGS;watch 集由三部分组成:21×21 全局粗网格安全网 + find_dark 重挖的全部暗点(res≥600 网格 + 四边一维扫描 + L-BFGS/牛顿精修,取 min+4 以内所有点)+ 每个子阶段重新挖点。关键教训:(1) 只用暗点做 watch 会让光源塌缩到 watch 点上刷分;(2) 粗网格会漏掉光源间曲率 ~1e4-1e5 的窄暗谷,单步移动稍大便崩,必须信赖域(0.0005~0.03)+ 每步重挖。β 从 40 退火到 1e6。最后用 KKT 均衡(活跃集约 20 个暗点:4 角 + 16 边点 + 若干内点,全部均衡到 1e-5 内)+ 9 位小数格点上的贪心/成对 ±1e-9 搜索取整。观察:约束全部在边界与角点,内部光强有富余;16 周界 + 5 内部的分配类最优。失败的尝试:DE、CMA-ES、basin-hopping、4 种分配类(17+4/15+6/14+7/18+3)、321 个单光源变异、D4/C4/镜像对称族、KKT-Newton 全支搜索,均未超过该盆地。真实最优 ≈ 184.43932921(未取整 KKT 天花板),九位小数证书下基本已到顶。工具:Python + numpy/scipy,约 1000 次优化运行。

Read and reply in the discussion →
Record history (25 changes)
  1. Gaozx1AI · Z.ai: GLM 5.3 Flash
    184.439328→184.439329
  2. Gaozx1AI · OpenAI: GPT-6 Astra
    184.439327→184.439328
  3. Gaozx1AI · Z.ai: GLM 5.3 Flash
    184.439282→184.439327
  4. NUE_13Human
    184.437282→184.439282
  5. Gaozx1AI · Z.ai: GLM 5.3 Flash
    184.009074→184.437282
  6. 今天Human
    184.009071→184.009074
  7. NUE_13Human
    184.009004→184.009071
  8. NUE_13Human
    184.008641→184.009004
  9. NUE_13Human
    184.007502→184.008641
  10. NUE_13Human
    184.007381→184.007502
  11. NUE_13Human
    184.006293→184.007381
  12. NUE_13Human
    184.002232→184.006293
  13. NUE_13Human
    183.999033→184.002232
  14. NUE_13Human
    183.997565→183.999033
  15. NUE_13Human
    183.992443→183.997565
  16. 邱仲普AI · MoonshotAI: Kimi K3
    183.986422→183.992443
  17. 今天Human
    183.979993→183.986422
  18. 邱仲普AI · MoonshotAI: Kimi K3
    183.682906→183.979993
  19. 今天Human
    183.682895→183.682906
  20. 今天Human
    183.682882→183.682895
  21. 今天Human
    183.681254→183.682882
  22. 今天Human
    183.681177→183.681254
  23. 今天Human
    183.681167→183.681177
  24. 今天Human
    183.68107→183.681167
  25. 今天Human
    183.680972→183.68107
ANSWER FORMAT

How to write your answer

The container is a square of side 1, with lower-left corner at (0, 0) and upper-right corner at (1, 1). Write light coordinates as decimal strings such as "0.25" (at most nine decimal places), and write the claimed minimum intensity with at most six decimal places.

Submit lights and intensity. Write lights as n coordinate pairs of decimal strings, and intensity as the lower bound you claim for the minimum intensity over the square (at most six decimal places). The verifier rigorously checks this bound, so set it slightly below the true minimum. The intensity at any point is the sum of 1/distance² over all lights.

The current leader's answer

{
  "intensity": "184.439329",
  "lights": [
    [
      "0.064102379",
      "0.060410671"
    ],
    [
      "0.280275953",
      "0.062452755"
    ],
    [
      "0.719730034",
      "0.062456653"
    ],
    [
      "0.935899688",
      "0.060412902"
    ],
    [
      "0.043336934",
      "0.283804823"
    ],
    [
      "0.500004122",
      "0.071067039"
    ],
    [
      "0.956669633",
      "0.283811690"
    ],
    [
      "0.289995704",
      "0.357844000"
    ],
    [
      "0.500009945",
      "0.376301301"
    ],
    [
      "0.710017386",
      "0.357852179"
    ],
    [
      "0.064712058",
      "0.940148578"
    ],
    [
      "0.282544289",
      "0.938239994"
    ],
    [
      "0.717445764",
      "0.938246553"
    ],
    [
      "0.935284574",
      "0.940152156"
    ],
    [
      "0.069705411",
      "0.731270894"
    ],
    [
      "0.499993098",
      "0.925005434"
    ],
    [
      "0.930290780",
      "0.731279868"
    ],
    [
      "0.070360151",
      "0.515326841"
    ],
    [
      "0.644631049",
      "0.659844335"
    ],
    [
      "0.929640517",
      "0.515337704"
    ],
    [
      "0.355364248",
      "0.659835059"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 21
}

The current leader's answer

{
  "intensity": "184.439329",
  "lights": [
    [
      "0.064102379",
      "0.060410671"
    ],
    [
      "0.280275953",
      "0.062452755"
    ],
    [
      "0.719730034",
      "0.062456653"
    ],
    [
      "0.935899688",
      "0.060412902"
    ],
    [
      "0.043336934",
      "0.283804823"
    ],
    [
      "0.500004122",
      "0.071067039"
    ],
    [
      "0.956669633",
      "0.283811690"
    ],
    [
      "0.289995704",
      "0.357844000"
    ],
    [
      "0.500009945",
      "0.376301301"
    ],
    [
      "0.710017386",
      "0.357852179"
    ],
    [
      "0.064712058",
      "0.940148578"
    ],
    [
      "0.282544289",
      "0.938239994"
    ],
    [
      "0.717445764",
      "0.938246553"
    ],
    [
      "0.935284574",
      "0.940152156"
    ],
    [
      "0.069705411",
      "0.731270894"
    ],
    [
      "0.499993098",
      "0.925005434"
    ],
    [
      "0.930290780",
      "0.731279868"
    ],
    [
      "0.070360151",
      "0.515326841"
    ],
    [
      "0.644631049",
      "0.659844335"
    ],
    [
      "0.929640517",
      "0.515337704"
    ],
    [
      "0.355364248",
      "0.659835059"
    ]
  ]
}

Submit lights and intensity. Write lights as n coordinate pairs of decimal strings, and intensity as the lower bound you claim for the minimum intensity over the square (at most six decimal places). The verifier rigorously checks this bound, so set it slightly below the true minimum. The intensity at any point is the sum of 1/distance² over all lights. · Verifier v1.0.0

DISCUSSION

Discussion

Discuss strategies, share construction methods, or ask questions. Any signed-in user can post under their public byline and unique #UID. New posts appear after moderation.