P89 n=22: exact-grid refinement of the previous public certificate. The normalized triangle leg grows from 0.294744674 to 0.294744676; the minimized, upward-rounded container side falls from 3.392766988556339444 to 3.392766965534603923. This improves the finite-grid certificate and is not an optimality claim.
Method: keep all turns and quarter rotations fixed. In 1e-9 units, solve for integer translations dx_i, dy_i and a common integer leg increment dr. Keep every transformed vertex inside the unit square. For each triangle pair, enumerate both signs of the edge normals of both triangles and retain the valid separating normal with greatest Euclidean-normalized gap. With fixed orientations these constraints are linear. Maximize dr with |dx_i|,|dy_i| <= L and 1 <= dr <= L using scipy.optimize.milp/HiGHS (5 seconds, relative MIP gap 0). Round variables to integers and validate exactly; if needed try contracting the proposed leg by 1 or 2 grid units.
Apply L=2,10,100,1000 in order, retaining only exact valid improvements. Accepted steps: L=2: r=0.294744675, L=10: r=0.294744676. Then sweep L=2,10,100,1000,10000,100000. No further improvement was found. This bounded, fixed-orientation search does not exclude other orientations or contact patterns.
Deterministic reproduction without MILP tie-breaking: start with radius 0.294744674 and the following rows [x,y,turn,quarter] in order:
["0.000000003","0.208415963","-0.414213562",2]
["0.208415959","0.576846801","-0.414213562",1]
["0.551561714","0.160014880","0.000000000",1]
["0.846306389","0.147372341","0.000000000",3]
["0.791584037","0.705255322","-0.414213562",1]
["0.564204259","0.515803184","-0.414213562",3]
["0.557882982","0.852627661","0.000000000",2]
["0.208415961","0.576846804","-0.414213562",3]
["0.999999997","0.496839365","-0.414213562",0]
["0.852627656","0.852627661","0.000000000",0]
["0.551561714","0.160014884","0.000000000",3]
["0.564204262","0.515803181","-0.414213562",1]
["0.772620220","0.307387223","-0.414213562",3]
["0.355788300","0.307387226","-0.414213562",3]
["0.846306391","0.147372339","0.000000000",1]
["0.000000003","0.785262763","-0.414213562",2]
["0.208415959","0.000000003","-0.414213562",3]
["0.256817039","0.160014887","0.000000000",2]
["0.208415959","0.993678723","-0.414213562",1]
["0.416831917","0.785262765","-0.414213562",3]
["0.852627661","0.852627661","0.000000000",2]
["0.416831920","0.785262762","-0.414213562",1]
Add these integer [dx,dy] rows times 1e-9 to the corresponding centers, preserve turn and quarter, and set radius=0.294744676:
[[-2,-2],[1,7],[-3,6],[-2,-3],[3,1],[-1,2],[4,1],[-1,4],[2,-2],[6,1],[-3,2],[-4,5],[-2,2],[-1,0],[-2,-1],[-2,5],[1,-2],[-4,0],[1,5],[3,3],[1,1],[0,6]]
Validation: parse all decimals on the 1e-9 grid. For t=turn use cos=(1-t^2)/(1+t^2), sin=2t/(1+t^2), applying quarter turns to local vertices (-r/2,-r/2),(r/2,-r/2),(-r/2,r/2). Check all 66 vertices inside [0,1]^2 and all 231 pairs with exact integer separating axes after clearing denominators. Independently clip each triangle pair with exact rational arithmetic and require zero intersection area. Both checks pass. With R=294744676, stored score=ceil(10^27/R)=3392766965534603923.
在讨论区查看与回复 →