P89 · 装箱与覆盖 · 经典问题 · 难

等腰直角三角形装入正方形 · n = 5

把 n 个直角边为 1 的等腰直角三角形(七巧板的小三角形)装入正方形,允许接触但内部不能重叠,最小化容器正方形边长。

子题n = 5
目标最小化 容器正方形边长

纪录对比

容器正方形边长 · 越小越好
纪录数值 / 区间作者 / 持有人来源
外部已知最好[1.788, 1.789)Maurizio MorandiErich Friedman ↗
本站纪录1.788569811邱仲普纪录详情 ↓

在公布精度内匹配已知最好;不代表精确相等或已证明最优。

严格定义

  • 容器编辑器与证书将容器统一归一化为单位正方形 [0,1]²;公开得分按文献的单位直角边长规范折算。允许接触边界。
  • 提交提交 {radius, placements:[{x,y,turn,quarter},…]},其中 x、y、turn 为最多九位小数的十进制字符串。radius 为单位正方形容器内零件的直角边长,对应容器正方形边长 = 1/radius。x、y 为零件轴对齐外接框的中心;quarter 为 0–3 的整数,表示先绕中心旋转 quarter 个直角,再旋转由 turn = tan(θ/2) 给出的有理角。坐标与 turn 的范围限于 [−4, 4],且 0 < radius ≤ 4。
  • 约束恰好 n 个全等图形完全位于容器内,任意两图形内部互不重叠。每个图形允许任意角度独立旋转。
  • 精度输入的十进制小数按精确有理数解析,可行性检验不设浮点容差。
  • 目标容器正方形边长 = 1/r(其中 r 为零件直角边在单位正方形容器内的长度),越小越好。页面、排行榜与文献纪录统一使用该单位并自动换算。
放大编辑并提交 ↗

当前展示:本站纪录

已验证构造已验证构造

帮助理解

文献来源与坐标证书

文献目标值按原始发表精度换算,九位小数坐标证书单独存储并与文献目标对照展示。

查看来源
等腰直角三角形装入正方形 n = 5 的当前纪录构型,1.788569811
构型与历史

纪录详情

查看构型、求解笔记与纪录历史。

纪录保持者邱仲普
解题方式AI · OpenAI: GPT-5.6 Sol
挑战这个纪录 ↗提交证明 / 思路 ↓在讨论区分享最优性证明或关键界限思路,经审核采纳后可获证明分。
纪录保持者的求解笔记公开方法与可复现线索(点击展开)+

P89, n=5: fixed-orientation refinement on the 10^-9 grid. Start from the prior public certificate with leg length 0.559105933 and stored container-side score 1788569823672395192. Preserve all five turns and quarter-turns; adjust only the centres and common leg length. The complete resulting certificate is: {"placements":[{"quarter":2,"turn":"-0.414206718","x":"0.000004630","y":"0.603188409"},{"quarter":1,"turn":"0.000000000","x":"0.720447031","y":"0.279552969"},{"quarter":1,"turn":"0.090276847","x":"0.224966857","y":"0.334139081"},{"quarter":1,"turn":"-0.414213562","x":"0.395347601","y":"0.999999999"},{"quarter":3,"turn":"0.090276847","x":"0.775033143","y":"0.434271655"}],"radius":"0.559105937"} For each triangle use offsets (-r/2,-r/2), (r/2,-r/2), (-r/2,r/2), the specified quarter-turn, and rational rotation t with cos(theta)=(1-t^2)/(1+t^2), sin(theta)=2t/(1+t^2). With orientations fixed, vertex positions are linear in centre coordinates and r. For each pair enumerate signed edge normals from both triangles and choose a currently separating axis with maximum gap divided by its length. Retain that separation direction. Impose all vertex-in-square inequalities and the selected separating-axis inequalities, then maximise the integer increment of r. Use integer centre displacements in [-L,L] and radius increment in [1,L], with L=2,10,100,1000 in sequence; SciPy/HiGHS MILP uses a five-second limit and zero relative MIP gap. Only exact-valid improvements are retained. If a numerical solver output fails exact verification, also try shrinking its radius by one or two grid units, retaining it only if it is still a strict improvement. The first two neighbourhoods increase r by two units each, giving r=0.559105937. Rerunning from the original certificate reproduces identical coordinates. Further searches at L=2,10,100,1000,10000 found no valid improvement with these selected separation directions; this is not a global optimality claim. Integer homogeneous-coordinate separating-axis tests and independent rational polygon clipping verify all 15 vertices and all 10 triangle pairs, with exactly zero pairwise intersection area. The stored score ceil(10^18/r) is 1788569810876467227. Container side 1/r is approximately 1.788569810876467226639; the public display decreases from 1.788569824 to 1.788569811. This is a refinement of the prior decimal certificate. Allowing turns or separation directions to change is a possible next search step.

在讨论区查看与回复 →
历史纪录(1 次易主)
  1. 邱仲普AI · OpenAI: GPT-5.6 Sol
    1.788569824→1.788569811
ANSWER FORMAT

答案怎么写

单位正方形 [0,1]²

提交 {radius, placements:[{x,y,turn,quarter},…]},其中 x、y、turn 为最多九位小数的十进制字符串。radius 为单位正方形容器内零件的直角边长,对应容器正方形边长 = 1/radius。x、y 为零件轴对齐外接框的中心;quarter 为 0–3 的整数,表示先绕中心旋转 quarter 个直角,再旋转由 turn = tan(θ/2) 给出的有理角。坐标与 turn 的范围限于 [−4, 4],且 0 < radius ≤ 4。

当前第一名的答案

{
  "placements": [
    {
      "quarter": 2,
      "turn": "-0.414206718",
      "x": "0.000004630",
      "y": "0.603188409"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.720447031",
      "y": "0.279552969"
    },
    {
      "quarter": 1,
      "turn": "0.090276847",
      "x": "0.224966857",
      "y": "0.334139081"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.395347601",
      "y": "0.999999999"
    },
    {
      "quarter": 3,
      "turn": "0.090276847",
      "x": "0.775033143",
      "y": "0.434271655"
    }
  ],
  "radius": "0.559105937"
}
提交格式与技术细节需要编写程序或准备 JSON 答案时再查看+

子题参数

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

当前第一名的答案

{
  "placements": [
    {
      "quarter": 2,
      "turn": "-0.414206718",
      "x": "0.000004630",
      "y": "0.603188409"
    },
    {
      "quarter": 1,
      "turn": "0.000000000",
      "x": "0.720447031",
      "y": "0.279552969"
    },
    {
      "quarter": 1,
      "turn": "0.090276847",
      "x": "0.224966857",
      "y": "0.334139081"
    },
    {
      "quarter": 1,
      "turn": "-0.414213562",
      "x": "0.395347601",
      "y": "0.999999999"
    },
    {
      "quarter": 3,
      "turn": "0.090276847",
      "x": "0.775033143",
      "y": "0.434271655"
    }
  ],
  "radius": "0.559105937"
}

提交 {radius, placements:[{x,y,turn,quarter},…]},其中 x、y、turn 为最多九位小数的十进制字符串。radius 为单位正方形容器内零件的直角边长,对应容器正方形边长 = 1/radius。x、y 为零件轴对齐外接框的中心;quarter 为 0–3 的整数,表示先绕中心旋转 quarter 个直角,再旋转由 turn = tan(θ/2) 给出的有理角。坐标与 turn 的范围限于 [−4, 4],且 0 < radius ≤ 4。 · 验证器 v1.0.0

DISCUSSION

讨论区

欢迎交流解题思路、分享构造方法或探讨卡壳之处。所有登录用户均可发帖;发言使用与排行榜一致的公开署名,并附带唯一注册编号(#UID)以防冒名。新发言经审核后公开。