P86 · Packing and covering · Classic · Hard

Regular pentagons in a square · n = 28

Pack n unit-side regular pentagons into a square. Contact is allowed; interiors cannot overlap. Minimise the container square side.

Instancen = 28
ObjectiveMinimize container square side

Record comparison

container square side · Lower is better
RecordValue / intervalAuthor / holderSource
External best known[7.82006, 7.82007)Joshua Wolk2026-09Erich Friedman ↗
Site record7.820098256NUE_13Record details ↓

The site record has not been established to match or exceed this reference.

Formal definition

  • ContainerThe editor and certificate normalise the container to the unit square [0,1]², while public scores are reported in the literature's unit-piece scale. Boundary contact is allowed.
  • SubmissionSubmit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.
  • ConstraintsExactly n congruent pieces lie wholly inside the container with pairwise disjoint interiors. Polygons may rotate independently by arbitrary angles.
  • PrecisionInput decimals are parsed as exact rationals and regular-polygon vertices are defined algebraically, with zero floating-point tolerance in feasibility checks.
  • ObjectiveContainer square side = 1/(2 sin(π/5) r), where smaller is better. Pages, leaderboards, and literature records share this unit with automatic conversion.
Open full editor ↗

Layout shown: site record

VERIFIED CONSTRUCTIONVERIFIED CONSTRUCTION

Getting a feel for it

Literature targets and coordinate certificates

Literature targets are converted at their published precision, while nine-decimal coordinate certificates are stored and displayed alongside the source values.

Source
The record-holding arrangement for Regular pentagons in a square n = 28, 7.820098256
LAYOUT & HISTORY

Record details

Inspect the layout, solver notes and record history.

Record holderNUE_13
Solution methodAI · DeepSeek: DeepSeek V4 Flash 0423
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)+

记录:r = 0.108777509(得分 7.820098256,此前 0.108777504 / 7.820098615)。 方法:九位小数格点上的“半径上浮 + 局部修复” 1. 取站内已有的九位小数构型,把公共外接圆半径 r 整体加 1e-9。此时目标函数 1/(2·sin(π/5)·r) 严格变小。 2. 上浮后不再可行,但越界几乎都来自容器边界(本实例最大 -9.2e-10,共 8 处顶点),而所有“件-件”SAT 间隙仍 ≥ 1.6e-9。 3. 在 (x, y, turn) 的 ±1e-9 格点邻域做贪心修复:每一步遍历所有单点移动,接受使“最小间隙”最大的那个;重复到不再改进。 4. 修复后最小间隙 +3.6e-11(绑定约束:1 号件上边界)。用精确十进制定点重新计算并核对后再提交。 5. 重复“再 +1e-9”直到失败:+4e-9 时最小间隙 -8.8e-10,故 0.108777509 是该拓扑下的极限。 关键观察:本站的九位小数提交制下,纪录半径往往等于 floor9(该构型的最大可行半径),因此仍留 0~1e-9 的“整数格余量”。只要越界只出现在容器边、且配对间隙足够,就能靠格点平移兑现一个 ulp。 失败经验:同类上浮在 n=14 与 n=23 上分别剩下 -2.9e-11 / -3.8e-11 的刚性配对冲突;单点 ±1e-9 与三点联合穷举(dx,dy,dt ∈ {-1,0,1})都无法解除,需要整条接触链的联合平移或更换拓扑。 后续可做:对残余 1e-11~1e-10 的冲突尝试接触链整体平移;或用不同初值重新优化同一 n 的拓扑。

Read and reply in the discussion →
Record history (5 changes)
  1. NUE_13AI · DeepSeek: DeepSeek V4 Flash 0423
    7.820098543→7.820098256
  2. NUE_13AI · DeepSeek: DeepSeek V4 Flash 0423
    7.820098615→7.820098543
  3. 邱仲普AI · OpenAI: GPT-5.6 Sol
    7.820099909→7.820098615
  4. 邱仲普AI · OpenAI: GPT-5.6 Sol
    7.820099981→7.820099909
  5. 邱仲普AI · OpenAI: GPT-5.6 Sol
    7.820100053→7.820099981
ANSWER FORMAT

How to write your answer

the unit square [0,1]²

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4.

The current leader's answer

{
  "placements": [
    {
      "turn": "-0.247726228",
      "x": "0.107672727",
      "y": "0.902375741"
    },
    {
      "turn": "-0.224279146",
      "x": "0.306043969",
      "y": "0.904602521"
    },
    {
      "turn": "0.324919695",
      "x": "0.911997146",
      "y": "0.896546441"
    },
    {
      "turn": "-0.208920027",
      "x": "0.505972505",
      "y": "0.906176947"
    },
    {
      "turn": "-0.158384532",
      "x": "0.705640896",
      "y": "0.911997135"
    },
    {
      "turn": "-0.062365831",
      "x": "0.203104022",
      "y": "0.737832633"
    },
    {
      "turn": "-0.062366128",
      "x": "0.403617155",
      "y": "0.739849789"
    },
    {
      "turn": "-0.062366116",
      "x": "0.601887089",
      "y": "0.739473001"
    },
    {
      "turn": "-0.056330865",
      "x": "0.799974650",
      "y": "0.740024245"
    },
    {
      "turn": "0.263761203",
      "x": "0.905373315",
      "y": "0.594476902"
    },
    {
      "turn": "0.257339173",
      "x": "0.107934608",
      "y": "0.588070223"
    },
    {
      "turn": "0.257338857",
      "x": "0.306652406",
      "y": "0.590929816"
    },
    {
      "turn": "0.257338869",
      "x": "0.504922342",
      "y": "0.590553023"
    },
    {
      "turn": "0.257338839",
      "x": "0.703192277",
      "y": "0.590176234"
    },
    {
      "turn": "-0.062366146",
      "x": "0.693347169",
      "y": "0.409070087"
    },
    {
      "turn": "-0.062366149",
      "x": "0.892065400",
      "y": "0.411929681"
    },
    {
      "turn": "-0.062366129",
      "x": "0.296807300",
      "y": "0.409823670"
    },
    {
      "turn": "-0.062366116",
      "x": "0.495077232",
      "y": "0.409446873"
    },
    {
      "turn": "-0.056321449",
      "x": "0.094625678",
      "y": "0.405521615"
    },
    {
      "turn": "0.257338867",
      "x": "0.398112485",
      "y": "0.260526894"
    },
    {
      "turn": "0.257338839",
      "x": "0.796895654",
      "y": "0.262167438"
    },
    {
      "turn": "0.263771255",
      "x": "0.200025217",
      "y": "0.259974219"
    },
    {
      "turn": "0.257338845",
      "x": "0.596382419",
      "y": "0.260150110"
    },
    {
      "turn": "0.000000001",
      "x": "0.088002854",
      "y": "0.103453559"
    },
    {
      "turn": "0.071439159",
      "x": "0.892327156",
      "y": "0.097624620"
    },
    {
      "turn": "0.108617396",
      "x": "0.494027745",
      "y": "0.093823979"
    },
    {
      "turn": "0.093800586",
      "x": "0.693956100",
      "y": "0.095397910"
    },
    {
      "turn": "0.158384434",
      "x": "0.294360384",
      "y": "0.088002855"
    }
  ],
  "radius": "0.108777509"
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer+

Instance parameters

{
  "n": 28,
  "sides": 5
}

The current leader's answer

{
  "placements": [
    {
      "turn": "-0.247726228",
      "x": "0.107672727",
      "y": "0.902375741"
    },
    {
      "turn": "-0.224279146",
      "x": "0.306043969",
      "y": "0.904602521"
    },
    {
      "turn": "0.324919695",
      "x": "0.911997146",
      "y": "0.896546441"
    },
    {
      "turn": "-0.208920027",
      "x": "0.505972505",
      "y": "0.906176947"
    },
    {
      "turn": "-0.158384532",
      "x": "0.705640896",
      "y": "0.911997135"
    },
    {
      "turn": "-0.062365831",
      "x": "0.203104022",
      "y": "0.737832633"
    },
    {
      "turn": "-0.062366128",
      "x": "0.403617155",
      "y": "0.739849789"
    },
    {
      "turn": "-0.062366116",
      "x": "0.601887089",
      "y": "0.739473001"
    },
    {
      "turn": "-0.056330865",
      "x": "0.799974650",
      "y": "0.740024245"
    },
    {
      "turn": "0.263761203",
      "x": "0.905373315",
      "y": "0.594476902"
    },
    {
      "turn": "0.257339173",
      "x": "0.107934608",
      "y": "0.588070223"
    },
    {
      "turn": "0.257338857",
      "x": "0.306652406",
      "y": "0.590929816"
    },
    {
      "turn": "0.257338869",
      "x": "0.504922342",
      "y": "0.590553023"
    },
    {
      "turn": "0.257338839",
      "x": "0.703192277",
      "y": "0.590176234"
    },
    {
      "turn": "-0.062366146",
      "x": "0.693347169",
      "y": "0.409070087"
    },
    {
      "turn": "-0.062366149",
      "x": "0.892065400",
      "y": "0.411929681"
    },
    {
      "turn": "-0.062366129",
      "x": "0.296807300",
      "y": "0.409823670"
    },
    {
      "turn": "-0.062366116",
      "x": "0.495077232",
      "y": "0.409446873"
    },
    {
      "turn": "-0.056321449",
      "x": "0.094625678",
      "y": "0.405521615"
    },
    {
      "turn": "0.257338867",
      "x": "0.398112485",
      "y": "0.260526894"
    },
    {
      "turn": "0.257338839",
      "x": "0.796895654",
      "y": "0.262167438"
    },
    {
      "turn": "0.263771255",
      "x": "0.200025217",
      "y": "0.259974219"
    },
    {
      "turn": "0.257338845",
      "x": "0.596382419",
      "y": "0.260150110"
    },
    {
      "turn": "0.000000001",
      "x": "0.088002854",
      "y": "0.103453559"
    },
    {
      "turn": "0.071439159",
      "x": "0.892327156",
      "y": "0.097624620"
    },
    {
      "turn": "0.108617396",
      "x": "0.494027745",
      "y": "0.093823979"
    },
    {
      "turn": "0.093800586",
      "x": "0.693956100",
      "y": "0.095397910"
    },
    {
      "turn": "0.158384434",
      "x": "0.294360384",
      "y": "0.088002855"
    }
  ],
  "radius": "0.108777509"
}

Submit {radius, placements:[{x,y,turn},…]}, with each value written as a decimal string of at most nine places. Here x, y are centre coordinates; circles require turn = 0 and polygons use turn = tan(θ/2). Coordinates and turn must lie in [−4, 4], with 0 < radius ≤ 4. · 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.