找回密码
 欢迎注册
楼主: mathe

[讨论] A4正方形

  [复制链接]
 楼主| 发表于 2020-10-30 20:05:52 | 显示全部楼层
  1. min_err()={1E-14}
  2. count_num(a,t,n,s)=
  3. {
  4.     local(h,d,fc,tc,tmp);
  5.     tc=0;
  6.     h=a*s*cos(t);
  7.     d=a/sin(t);
  8.     fc=floor((h+min_err())/d);
  9.     for(u=1,fc,
  10.        tmp=floor(((h-u*d)/cos(t)+min_err())/a);
  11.        tc+=tmp
  12.     );
  13.     h=1-h;
  14.     fc=floor((h-min_err())/d);
  15.     for(u=1,fc,
  16.         tmp=floor(((1-h+(u-1)*d)/cos(t)+min_err())/a);
  17.         tc+=tmp;
  18.     );
  19.     tmp=floor(((1-h+fc*d)/cos(t)+min_err())/a);
  20.     if(tmp==n,tmp=n-1);
  21.     tc+=tmp;
  22.     h=a*s*sin(t)+(fc+1)*a/cos(t);
  23.     h=sqrt(2)-h;
  24.     tmp=floor((h+min_err())*cos(t)/a);
  25.     tc+=n*tmp;
  26.     h=1-((tmp+1)*a/cos(t)-h)/tan(t);
  27.     fc = floor((h+min_err())/d);
  28.     tmp = floor((h/cos(t)+min_err())/a);
  29.     if(tmp==n, tmp=n-1); tc+=tmp;
  30.     for(u=1,fc,
  31.         tmp= floor(((h-u*d)/cos(t)+min_err())/a);
  32.         tc+=tmp
  33.     );
  34.     tc
  35. }

  36. try_search(u,w,n,ts,te)=
  37. {
  38.     local(t,a,tc);
  39.     t=solve(x=ts,te,(u*sin(x)+w/cos(x))/(sin(x)+n*cos(x))-tan(x)-sqrt(2));
  40.     a=1.0/(sin(t)+n*cos(t));
  41.     print("t="t",a="a);
  42.     for(s=1,floor(u/2),
  43.        tc = count_num(a,t,n,s);
  44.        print("u="u",w="w",n="n",s="s",count="tc)
  45.     )
  46. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-30 20:11:55 | 显示全部楼层
try_search(6,11,8,.2,.8)
t=0.39482339945443347270739258499661618652,a=0.12871402319575734501463874723382066875
u=6,w=11,n=8,s=1,count=72
u=6,w=11,n=8,s=2,count=72
u=6,w=11,n=8,s=3,count=72
找到72个正方形时的结果略好于$\frac{\sqrt{2}}{11}$了。
s72.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-30 20:50:34 | 显示全部楼层
s72.png
71个正方形这种方案更好,角度0.26142805582838020665873588788070167068,边长0.12992672712043312879102445103070037432

try_search2(5,9,11,.2,.3)
t=0.26142805582838020665873588788070167067,a=0.12992672712043312879102445103070037432
u=5,w=9,n=11,s=1,count=71
u=5,w=9,n=11,s=2,count=71

try_search2(4,9,11,.1,.3)
t=0.19748177157215287861048401173408740284,a=0.12877087834074043983547576720206709441
u=4,w=9,n=11,s=1,count=73
u=4,w=9,n=11,s=2,count=73
s73.png
而且此方案还略好于楼上的72的情况。

点评

谢谢,一大进步!  发表于 2020-10-31 17:04
计算可能会有些误差需要处理,先算一些数据做图各自验算一下吧,我也不确定正确性  发表于 2020-10-31 16:52
我的计算和你的t a同,tc不同,可否贴出 try_search2 ?  发表于 2020-10-31 15:41
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-30 22:39:18 | 显示全部楼层
楼上方案中可以将左上角小正方形摆正,好像这个小正方形和下面部分图形略有空隙,这是否表明这种模式下还可以略微增大呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-10-31 07:52:32 | 显示全部楼层
本帖最后由 王守恩 于 2020-10-31 09:24 编辑
dlpg070 发表于 2020-10-30 15:52
在如下条件 ( 正放,1个立放,2个立放) 求解条件最优解, n


1, 26:\(\frac{\sqrt{2}/1+1/2}{\sqrt{2}+6/1+4/2}\)
2, 56:\(\frac{\sqrt{2}/2+1/1}{\sqrt{2}+9/2+6/1}\)
3,119:\(\frac{\sqrt{2}/1+1/2}{\sqrt{2}+13/1+9/2}\)
4,178:\(\frac{\sqrt{2}/2+1/1}{\sqrt{2}+16/2+11/1}\)
5,282:\(\frac{\sqrt{2}/1+1/2}{\sqrt{2}+20/1+14/2}\)
6,370:\(\frac{\sqrt{2}/1+1/2}{\sqrt{2}+23/1+16/2}\)
7,470:\(\frac{\sqrt{2}/2+1/1}{\sqrt{2}+26/2+18/1}\)
8,632:\(\frac{\sqrt{2}/1+1/2}{\sqrt{2}+30/1+21/2}\)
9,761:\(\frac{\sqrt{2}/2+1/1}{\sqrt{2}+33/2+23/1}\)
10,964:\(\frac{\sqrt{2}/1+1/2}{\sqrt{2}+37/1+26/2}\)
11,1122:\(\frac{\sqrt{2}/2+1/1}{\sqrt{2}+40/2+28/1}\)

说明,+2这样写,为的是+1也是这样写的,譬如
55:\(\frac{\sqrt{2}/1+1/1}{\sqrt{2}+6/1+9/1}=\frac{\sqrt{2}+1}{\sqrt{2}+15}\)
当然,+3也可以这样写。还有,在这里,我们是把正方形的4个角都塞进去的,
如果只是把正方形的3个角塞进去的话,看8楼,可以得到另外的算式。
解题是一个互动的过程,要在意环节中的附产品(跑题了)。

点评

计算+3,分母是1+3或2+2或3+1;计算+2,分母是1+2或2+1;计算+1,分母是1+1。  发表于 2020-10-31 16:08
这 11个+2,每个都比”平凡解“要优。  发表于 2020-10-31 13:05
你能计算斜排,试一试这11个+2,除了26 ,有哪些比斜排更优?,估计26 不是惟一的哪一个.  发表于 2020-10-31 11:53
好美的艺术品,我是计算机自动计算的结果,能计算+3的结果吗?盼望!  发表于 2020-10-31 11:41
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-31 07:52:55 | 显示全部楼层
47#的一系列图中,可以发现边缘上有很多点,有些落在矩形内部,有些落在外部,而且很难判断。
另外,有些如果刚刚落在外部的,应该会对结果带来很大的损失,这是要求我们前面计算过程中,总是要求左右是撑满的。但是实际上,如果有时上下边界上有多个小正方形顶点,即使左右边界稍微有点没有撑满,结果反而可能更好。
比如链接中第一个图。我们要求左右方向每条带状至少能够放下6个正方形,对应方程
\((\sin(\theta)+6\cos(\theta))a\le 1\)
或者可以写成\(\frac1a \ge \sin(\theta)+6\cos(\theta)\)
另外上边界两个点,下边界也两个点。
我们要求上左下左都在矩形内部,它们之间有8个平行带状,上面斜线至少两段,下面斜线至少4段,共6段
对应不等式
\((6\sin(\theta)+\frac{8}{\cos(\theta)})a-\tan(\theta) \le \sqrt{2}\)
或者写成
\(\frac1a\ge \frac{6\sin(\theta)+\frac{8}{\cos(\theta)}}{\sqrt{2}+\tan(\theta)}=\frac{6\sin(\theta)cos(\theta)+8}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
同样上左下右得出不等式
\(\frac1a\ge \frac{3\sin(\theta)cos(\theta)+9}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
上右下左得出
\(\frac1a\ge \frac{9\sin(\theta)cos(\theta)+7}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
上右下右得出
\(\frac1a\ge \frac{6\sin(\theta)cos(\theta)+8}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
去除第一个不等式约束对应\(\sin(\theta)cos(\theta)=\frac13\),即\(\theta=0.36486382811348318172739832990666034770, a=0.16773299441461392480561478264497668583\)
这种情况,上下边界各两个点,但是每条平行带状除了6个正方形会稍微有空闲。
另外一方面,我们可以要求第一个不等式变成等式,于是这时,下面上个不等式就只能有一个取等式了,而且会有部分不等式不满足。
比如在\(\frac1a = \sin(\theta)+6\cos(\theta)\)的前提下,要求
\(\frac1a=\frac{6\sin(\theta)cos(\theta)+8}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
得出\(\theta=0.36578842428183033864900504458651989100,a=0.16776446336353817278118805890977948319\),这时\(\frac1a\ge \frac{9\sin(\theta)cos(\theta)+7}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)不满足,结果只有41个正方形,这个是现在已知的41个正方形的最优解,打破了以前的记录
如果要求\(\frac1a= \frac{9\sin(\theta)cos(\theta)+7}{\sqrt{2}\cos(\theta)+\sin(\theta)}\),得出
\(\theta= 0.36545410693014515444270921536988309674, a=0.16775306684206013529595703204783519261\),这时上面的不等式都成立,所以这种方案也可以放下42个正方形,但是上下边界实际上各自只有一个小正方形顶点。另外两个点刚刚落在了矩形内部。
如果要求\(\frac1a= \frac{3\sin(\theta)cos(\theta)+9}{\sqrt{2}\cos(\theta)+\sin(\theta)}\),得出
\(\theta=0.36698528191044942735481289854653257244,a=0.16780542944809610880252621207120076552\),这时上面有三条不等式不成立,所以这种情况只能放下40个正方形,同样上下边界上各自只有一个小正方形顶点,另外两个点刚刚落在矩形外部。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-31 08:50:58 | 显示全部楼层
同样查看上面链接中最后一个图,我们看看,能否要求上面的边多添加一个正方形顶点
于是基本条件\(\frac1a\ge \sin(\theta)+7\cos(\theta)\)
先前条件\(\frac1a\ge \frac{9\cos(\theta)\sin(\theta)+9}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
追加条件\(\frac1a\ge \frac{5\cos(\theta)\sin(\theta)+10}{\sqrt{2}\cos(\theta)+\sin(\theta)}\)
后面两个条件要求\(4\cos(\theta)\sin(\theta)=1\),这时对应的我们会发现第一个基本不等式不满足,所以还是不行
如果不使用上面的第二个条件,那么就是u=6,w=10,n=7的情况,应该已经分析过了,而结果不是最优所以没有被列出。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-31 11:18:51 | 显示全部楼层
98~102的更优解
uwnatcs
6
11
9
0.125444
0.6049
75
2
7
11
9
0.122312
0.555055
79
3
8
11
9
0.119641
0.505576
83
4
9
11
9
0.117425
0.457521
88
2
10
11
9
0.115639
0.411914
91
5
11
11
9
0.114241
0.369618
95
4
12
11
9
0.113173
0.331219
96
5
13
11
9
0.112377
0.296985
99
6
14
11
9
0.111793
0.266888
101
7
4
12
9
0.124944
0.597432
76
2
5
12
9
0.121565
0.541967
80
2
6
12
9
0.118645
0.484926
85
1
7
12
9
0.116217
0.42752
90
2
8
12
9
0.114293
0.371344
94
4
9
12
9
0.112854
0.31824
98
3
10
12
9
0.111848
0.270002
100
5
11
12
9
0.111196
0.22796
102
5
6
13
9
0.112069
0.281838
99
3
5
13
9
0.114404
0.374957
93
1

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2020-10-31 16:42:59 | 显示全部楼层
本帖最后由 王守恩 于 2020-10-31 16:48 编辑

过A4纸的对角线\(\sqrt{3}\)作平行线,在平行线上裁剪正方形,这些“最优解”会超越45楼的”平凡解“吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2020-10-31 17:49:04 | 显示全部楼层
试着让计算机计算了一下,不过数数目的代码应该还有些bug,所以部分数据可能不精确,但是的确找出n=26时更好的结果,并且到目前为止所有+2的都不是最优结果。+1的第一个被否决的是41.
sqrt2.zip (7.98 KB, 下载次数: 7)
s26.png

点评

考虑混排后,+2都不是最优解,!!!,混排是继斜排后又一类优秀排列方式,太优美了  发表于 2020-11-2 08:35
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-11-21 21:24 , Processed in 0.051645 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表