本周的小提琴手是用较小的正方形平铺正方形。
假设你有无限多的3×3厘米瓷砖和无限多的5×5厘米瓷砖。您希望使用其中一些瓷砖精确覆盖边长为整数厘米的正方形。瓷砖不能重叠,必须完全覆盖较大的正方形,而不超出其边界。这个较大的正方形的最小边长是多少,以便使用至少一个3乘3的瓷砖和至少一个5乘5的瓷砖精确覆盖?
额外学分:
这一次,对于边长大于1厘米的每一个奇数整数(以厘米为单位),你有无限多的方形瓷砖。换句话说,你有无穷多的3×3厘米瓷砖,无穷多的5×5厘米瓷砖,无限多的7×7厘米瓷砖,等等。您希望使用一个或多个这些平铺来精确覆盖边长为$N$cm的正方形,其中$N$是一个整数。同样,瓷砖不能重叠,它们必须完全覆盖更大的方形,而不超出其边界。此任务不可能执行的最大整数N是多少?
我的解决方案:
[显示解决方案]
这个问题是关于用较小的正方形平铺正方形,这是一个著名的问题,被称为“正方形的平方”。有一个漂亮的维基百科文章关于它,还有一个我找到的网站具有不同瓷砖的综合数据库。在平方正方形时,有一些有趣的特性:
- 简单平铺:它不包含子平铺
- 完美瓷砖:所有子方格大小不同
- 对称的:在最终形状中存在一定的旋转或反射对称性。
然而,这些都无济于事,因为我们不关心这些属性对于这个问题的用途!
在我们的例子中,我们可以重复瓷砖(不完美),我们可以有子瓷砖(不简单),我们不强制任何特殊的对称性。此外,我们可以使用的瓷砖种类也受到限制。为了解决这个问题,我使用列枚举方法将这个问题表述为一个混合整数程序。这是我用来解决类似过去问题的相同方法2017年的Riddler问题,所以如果你对我是如何建模感兴趣的话,一定要阅读前面的帖子!
第一个问题:最小尺寸
我重新使用了上面链接的2017年帖子中的代码,并做了两个更改:
- 将可用瓷砖限制为3×3和5×5。
- 添加了一个约束,该约束要求至少使用每种类型的平铺中的一种。
我从4×4开始循环遍历可能的总大小,并在整数程序发现平铺后停止。最小尺寸为$N=18$,下面显示了一种可能的平铺。
代码很快解决了这个问题,在几秒钟内测试了所有$N\leq 18$。
第二个问题:最大尺寸
第二个问题有点棘手,因为我们需要最大的方形不能被平铺。所以在我们开始计算之前,我们需要做一些演绎工作。如果存在仅使用奇数大小的正方形瓷砖的$N\乘以N$正方形的瓷砖,我会说$N$是“可瓷砖的”。下面是一些观察结果:
- 任何奇数$N$都可以平铺(使用大小为$N\乘以N$的单个大平铺)。
- 如果$M$是可平铺的,那么对于任何$k$,$N=k M$是可以平铺的。我们可以简单地从$M\times M$方块的平铺开始,然后以$k\times k$模式重复它,以获得$N\times N$平铺。
- 根据第1项和第2项,如果$N$不可平铺,则必须是$2$的幂。
- 根据第2项,如果$N=2^k$是可平铺的,那么$2$的任何更大的幂也都是可以平铺的。
换句话说,找到$2$的最小可平铺功率就足够了,所有较大的$N$也都可以平铺。再次使用该代码,这一次允许所有奇数大小的瓦片,我能够验证$2$、$4$、$8$和$16$是不可平铺的,但$32$是可平铺的!!!这里有一个可能的平铺,它使用大小为$3$、$5$、$7$和$11$的平铺。
因此,我们得出结论,$N=16$是最大的整数,对于该整数,$N\次N$正方形不能使用奇数边长大于$1$的较小正方形平铺。
计算说明:我使用了古罗比解算器解决了这个问题,在我的笔记本电脑上花了大约16秒。我也试过了莫塞克,但速度较慢,大约40秒。
矛盾
怎么可能最小的可平铺$N$是$18$,而最大的不可平铺$N$是16?
这些实际上是不同的问题!对于第一个问题,我们只允许使用尺寸为3×3和5×5的瓷砖。在这种情况下,18是最小的可平铺数字,但并非所有后续数字都是可平铺的!结果是19、22、23、26、28、29(以及更多……)不可平铺。在第二个问题中,我们有更多的瓦片可供使用,因此在这种情况下,不可关闭的$N$自然会更少。