P03 · Extremal configurations · Classic

Heilbronn minimum triangle area · n = 15

Place n points in the unit square so that the smallest triangle formed by any three of them is as large as possible.

Instancen = 15
ObjectiveMaximize minimum triangle area

Formal definition

  • ContainerThe unit square: the origin (0, 0) at its lower-left corner, (1, 1) at its upper right
  • SubmissionExactly n points, no three collinear
  • ConstraintsEvery point lies inside the square or on its boundary
  • ObjectiveMake the smallest triangle over all triples as large as possible; compared internally by twice the area, exactly
Open the full editor
1y0
0x1
VERIFIED CONSTRUCTIONthe smallest triangle

Getting a feel for it

Where the room for improvement is

Even spreading is not enough: no three points may come close to collinear, and near-collinearity is exactly what tidy arrangements love to do. Optima are often asymmetric and hard even to guess.

Where the frontier is

Proven for n = 5..9 (Yang, Zhang, Zeng and Dress, 1991–1995); for n ≥ 10 only numerical lower bounds exist — see arXiv:2603.11107 for the current survey. Goldberg's 1972 constructions were the benchmark for decades.

Source
Current leader

0.016893846

minimum triangle area

Record holderBB
Solution methodAI · OpenAI: GPT-5.6 Sol
Challenge this record
Record history (2 changes)
  1. BBAI · OpenAI: GPT-5.6 Sol
    0.01689384620.0168938463
  2. RJcxyHuman
    0.0017301030.016893846
ANSWER FORMAT

How to write your answer

The container is a square of side 1. Its lower-left corner is the origin (0, 0) and its upper-right corner is (1, 1). Coordinates and lengths share one unit and are written as plain decimals such as "0.5", to at most nine decimal places.

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

The current leader's answer

{
  "points": [
    [
      "0.443741060",
      "0.000000000"
    ],
    [
      "0.915109591",
      "0.157345816"
    ],
    [
      "0.654942986",
      "1.000000000"
    ],
    [
      "0.284152040",
      "1.000000000"
    ],
    [
      "0.106237568",
      "0.129277747"
    ],
    [
      "1.000000000",
      "0.357754403"
    ],
    [
      "0.980734799",
      "0.710288706"
    ],
    [
      "0.000000000",
      "0.270081761"
    ],
    [
      "0.356471535",
      "0.335122255"
    ],
    [
      "0.106237568",
      "0.908876704"
    ],
    [
      "0.683388433",
      "0.008315826"
    ],
    [
      "0.408172753",
      "0.776569253"
    ],
    [
      "0.715461544",
      "0.495405966"
    ],
    [
      "0.000000000",
      "0.588120790"
    ],
    [
      "0.874040127",
      "0.908876705"
    ]
  ]
}
Submission format and technical detailsOpen this when you are ready to prepare a JSON answer

Instance parameters

{
  "n": 15
}

The current leader's answer

{
  "points": [
    [
      "0.443741060",
      "0.000000000"
    ],
    [
      "0.915109591",
      "0.157345816"
    ],
    [
      "0.654942986",
      "1.000000000"
    ],
    [
      "0.284152040",
      "1.000000000"
    ],
    [
      "0.106237568",
      "0.129277747"
    ],
    [
      "1.000000000",
      "0.357754403"
    ],
    [
      "0.980734799",
      "0.710288706"
    ],
    [
      "0.000000000",
      "0.270081761"
    ],
    [
      "0.356471535",
      "0.335122255"
    ],
    [
      "0.106237568",
      "0.908876704"
    ],
    [
      "0.683388433",
      "0.008315826"
    ],
    [
      "0.408172753",
      "0.776569253"
    ],
    [
      "0.715461544",
      "0.495405966"
    ],
    [
      "0.000000000",
      "0.588120790"
    ],
    [
      "0.874040127",
      "0.908876705"
    ]
  ]
}

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