P07 · Extremal configurations · Classic

Spreading points in a circle · n = 20

Place n points inside a circle of radius 1, maximizing the smallest distance between any two of them.

Instancen = 20
ObjectiveMaximize the smallest distance between two points

Formal definition

  • ContainerA circle of radius 1 centred at (1, 1), so both coordinates run from 0 to 2
  • SubmissionExactly n points, no two coinciding
  • ConstraintsEvery point lies inside the circle or on it
  • ObjectiveMake the smallest pairwise distance as large as possible; compared internally by its square, exactly
Open the full editor
2y0
0x2
VERIFIED CONSTRUCTIONthe closest pair

Getting a feel for it

Where the room for improvement is

Spreading points IS packing equal circles: discs of half the minimum distance around each point must not overlap. Optima are jammed contact structures, and the container shape decides everything.

Where the frontier is

Spreading points in a disc is dual to packing equal circles in it: a point set with spacing d is a packing of radius d/2. Proofs in the cci table transfer; n = 4 is proven here, and the rest open or close as cci does.

Source
Current leader

0.421738225

the smallest distance between two points

Record holderNUE_13
Solution methodHuman
Challenge this record
Record history (1 changes)
  1. NUE_13Human
    0.1564344640.421738225
ANSWER FORMAT

How to write your answer

The container is a circle of radius 1 centred at (1, 1), so coordinates run from 0 to 2. Coordinates are written as plain decimals such as "1.5", to at most nine decimal places.

Submit points, each coordinate written as a decimal string such as "1.5".

The current leader's answer

{
  "points": [
    [
      "1.833912990",
      "0.495652174"
    ],
    [
      "1.684223909",
      "0.924943332"
    ],
    [
      "1.926247627",
      "1.290414285"
    ],
    [
      "1.624327143",
      "1.613204150"
    ],
    [
      "1.258856323",
      "1.885963014"
    ],
    [
      "0.770434571",
      "1.896521792"
    ],
    [
      "0.372448078",
      "1.677267362"
    ],
    [
      "0.104368402",
      "1.307117219"
    ],
    [
      "0.080708788",
      "0.869544773"
    ],
    [
      "0.235776249",
      "0.469290947"
    ],
    [
      "0.555652386",
      "0.144347879"
    ],
    [
      "1.000993375",
      "0.048969579"
    ],
    [
      "1.506796010",
      "0.173933620"
    ],
    [
      "1.363498732",
      "0.637230660"
    ],
    [
      "1.388100411",
      "1.234037146"
    ],
    [
      "1.027825928",
      "1.501739236"
    ],
    [
      "0.650160671",
      "1.314037119"
    ],
    [
      "0.532153177",
      "0.866795824"
    ],
    [
      "0.889725781",
      "0.518281498"
    ],
    [
      "1.026832553",
      "0.995056959"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 20
}

The current leader's answer

{
  "points": [
    [
      "1.833912990",
      "0.495652174"
    ],
    [
      "1.684223909",
      "0.924943332"
    ],
    [
      "1.926247627",
      "1.290414285"
    ],
    [
      "1.624327143",
      "1.613204150"
    ],
    [
      "1.258856323",
      "1.885963014"
    ],
    [
      "0.770434571",
      "1.896521792"
    ],
    [
      "0.372448078",
      "1.677267362"
    ],
    [
      "0.104368402",
      "1.307117219"
    ],
    [
      "0.080708788",
      "0.869544773"
    ],
    [
      "0.235776249",
      "0.469290947"
    ],
    [
      "0.555652386",
      "0.144347879"
    ],
    [
      "1.000993375",
      "0.048969579"
    ],
    [
      "1.506796010",
      "0.173933620"
    ],
    [
      "1.363498732",
      "0.637230660"
    ],
    [
      "1.388100411",
      "1.234037146"
    ],
    [
      "1.027825928",
      "1.501739236"
    ],
    [
      "0.650160671",
      "1.314037119"
    ],
    [
      "0.532153177",
      "0.866795824"
    ],
    [
      "0.889725781",
      "0.518281498"
    ],
    [
      "1.026832553",
      "0.995056959"
    ]
  ]
}

Submit points, each coordinate written as a decimal string such as "1.5". · Verifier v1.0.0