mathe 发表于 2019-12-27 07:48:21

咸鱼未能翻身,没找到0~36的解

hujunhua 发表于 2019-12-27 10:28:14

数组的洞洞

连续的{0~35}填不成,我们退而求其次,自然要求填入的数组尽可能洞断之处少。
1个洞的数组,是从{0~36}中挖一个洞,∑{0~36}≡18(mod36), 故挖去的洞为18.
化为正负对称的零和数组,即{-18, -17, ..., -2, -1, 1, 2, ..., 17, 18}.
这个现在又被否决了。

2个洞的数组,是从{0~37}中挖两个洞,∑{0~37}≡19(mod36), 所以挖去的两个洞之和须为19或者55.
这有{1+18, 2+17, ...,9+10}以及{19+36, 20+35, ..., 27+28}共18种双洞组合。
由于对称性,实际上只有9种,取后9种就代表了。

3个洞的数组,要从{0~38}中挖3个洞,∑{0~38}≡21(mod36), 所以挖去的3个洞之和须为21、57或者93.
21与93的组是对称同构的,取其一即可,共是27种3洞组合:
In:= Select, DuplicateFreeQ]
Out= {{18, 2, 1}, {17, 3, 1}, {16, 4, 1}, {16, 3, 2}, {15, 5, 1}, {15, 4, 2}, {14, 6, 1}, {14, 5, 2}, {14, 4, 3},
{13, 7, 1}, {13, 6, 2}, {13, 5, 3}, {12, 8, 1}, {12, 7, 2}, {12, 6, 3}, {12, 5, 4}, {11, 9, 1}, {11, 8, 2}, {11, 7, 3},
{11, 6, 4}, {10, 9, 2}, {10, 8, 3}, {10, 7, 4}, {10, 6, 5}, {9, 8, 4}, {9, 7, 5}, {8, 7, 6}}
57的组,共162种三洞组合:
In:= Select], DuplicateFreeQ]
Out= {{37, 19, 1}, {37, 18, 2}, {37, 17, 3}, {37, 16, 4}, {37, 15,   5}, {37, 14, 6}, {37, 13, 7}, {37, 12, 8}, {37, 11, 9}, {36, 20, 1}, {36, 19, 2}, {36, 18, 3}, {36, 17, 4}, {36, 16, 5}, {36, 15, 6}, {36, 14, 7}, {36, 13, 8}, {36, 12, 9}, {36, 11, 10}, {35, 21, 1}, {35, 20, 2}, {35, 19, 3}, {35, 18, 4}, {35, 17, 5}, {35, 16, 6}, {35, 15, 7}, {35, 14, 8}, {35, 13, 9}, {35, 12, 10}, {34, 22, 1}, {34, 21, 2}, {34, 20, 3}, {34, 19, 4}, {34, 18, 5}, {34, 17, 6}, {34, 16, 7}, {34, 15, 8}, {34, 14, 9}, {34, 13, 10}, {34, 12, 11}, {33, 23, 1}, {33, 22, 2}, {33, 21, 3}, {33, 20, 4}, {33, 19, 5}, {33, 18, 6}, {33, 17, 7}, {33, 16, 8}, {33, 15, 9}, {33, 14,10}, {33, 13, 11}, {32, 24, 1}, {32, 23, 2}, {32, 22, 3}, {32, 21,4}, {32, 20, 5}, {32, 19, 6}, {32, 18, 7}, {32, 17, 8}, {32, 16, 9}, {32, 15, 10}, {32, 14, 11}, {32, 13, 12}, {31, 25, 1}, {31, 24, 2}, {31, 23, 3}, {31, 22, 4}, {31, 21, 5}, {31, 20, 6}, {31, 19, 7}, {31, 18, 8}, {31, 17, 9}, {31, 16, 10}, {31, 15, 11}, {31, 14,12}, {30, 26, 1}, {30, 25, 2}, {30, 24, 3}, {30, 23, 4}, {30, 22, 5}, {30, 21, 6}, {30, 20, 7}, {30, 19, 8}, {30, 18, 9}, {30, 17, 10}, {30, 16, 11}, {30, 15, 12}, {30, 14, 13}, {29, 27, 1}, {29, 26,2}, {29, 25, 3}, {29, 24, 4}, {29, 23, 5}, {29, 22, 6}, {29, 21, 7}, {29, 20, 8}, {29, 19, 9}, {29, 18, 10}, {29, 17, 11}, {29, 16, 12}, {29, 15, 13}, {28, 27, 2}, {28, 26, 3}, {28, 25, 4}, {28, 24, 5}, {28, 23, 6}, {28, 22, 7}, {28, 21, 8}, {28, 20, 9}, {28, 19, 10}, {28, 18, 11}, {28, 17, 12}, {28, 16, 13}, {28, 15, 14}, {27, 26, 4}, {27, 25, 5}, {27, 24, 6}, {27, 23, 7}, {27, 22, 8}, {27, 21, 9}, {27, 20, 10}, {27, 19, 11}, {27, 18, 12}, {27, 17, 13}, {27, 16, 14}, {26, 25, 6}, {26, 24, 7}, {26, 23, 8}, {26, 22, 9}, {26, 21, 10}, {26, 20, 11}, {26, 19, 12}, {26, 18, 13}, {26, 17, 14}, {26, 16, 15}, {25, 24, 8}, {25, 23, 9}, {25, 22, 10}, {25, 21, 11}, {25, 20, 12}, {25, 19, 13}, {25, 18, 14}, {25, 17, 15}, {24, 23, 10}, {24, 22, 11}, {24, 21, 12}, {24, 20, 13}, {24, 19,14}, {24, 18, 15}, {24, 17, 16}, {23, 22, 12}, {23, 21, 13}, {23,   20, 14}, {23, 19, 15}, {23, 18, 16}, {22, 21, 14}, {22, 20, 15}, {22, 19, 16}, {22, 18, 17}, {21, 20, 16}, {21, 19, 17}, {20, 19, 18}}
其中含中位数19的计18种:{37,19,1}, (36,19,2}, ..., {20,19,18};
不含19的剩144种,由于成对对称同构,折半为72种。
合计90种。

@mathe搜到的两个(1-39)幻方的3洞都是{14, 20, 26}, 化成0~38即{13, 19, 25}。有一个洞在中位,前后两洞对称。
这3个洞把数组划分成4段,长度组合为13+5+5+13,这有点出人意料,我以为应该是12+6+6+12的。

2个洞的数组,我猜想也填不成,所以mathe应该是达到最优解了。
记得有个叫苏茂挺的解过6阶泛对角幻方(比这里定义的模幻方约束少,对称度低一些),得到的最优解有十几个洞吧。
不过他是手工解的,能达到这样我还是很佩服。我编程猫到的最好结果也有25个洞呢。

mathe 发表于 2019-12-27 13:25:51

我搜索的代码把平均值设死为18了,所以hujunhua给出的2洞方案中前9种比较适合,所有数减1,变成-1~36中先去除两个数。于是搜索量应该基本等于前面1个洞情况(事先去除18)的9倍,计算机枚举还是可行的。

hujunhua 发表于 2019-12-28 13:49:00

mathe 发表于 2019-12-26 18:23
0~39:
Find:
      a_(0,0)=28            a_(0,1)=7               a_(0,2)=38            a_(0,3 ...

把这两个结果放到等距网格里,发现其实是同一个解。
把1~39挪移为-19~19,红色为负数。
移成正负对称数组后,发现它竟是一个中心对称幻方,并且有四个对称中心。
所谓对称中心,即关于它呈中心对称的两格是相反数。

找对称中心的方法:任取一对相反数,其连线的中点即为对称中心。
由于数组中不含0,所以对称中心不是格子,而是一条边的中点。(为何不是顶点?)
假定一个红色数的相反数在(0,0), 由于周期性,在更大的视野中,这个黑数也在 (0,6),(6,0), (6,6), 红数与四个黑数的连线中心是不同的, 所以正好是四个中心。
这是因为$(A+B)/2mod(6)$有四个点。(根本原因在于 2 是 6 的约数)。

显然,对称中心所在边的两邻格是一对相反数,它们是:±4, ±7, ±11, ±14。
同样,对称中心所在边的两端格是一对相反数,它们是:±1, ±5, ±15, ±19。


mathe 发表于 2019-12-30 09:03:35

已经验证1~39 (或0~38)是最优结果了。
不过1~39的结果应该很多,我现在重新运行了一会儿,找到了很多0~39的结果,其中1~39的比例好像不低

其中,所有结果中$a_{3,2}$被设定为常数2

hujunhua 发表于 2019-12-30 17:50:56

mathe 发表于 2019-12-30 09:03
已经验证1~39 (或0~38)是最优结果了。
不过1~39的结果应该很多,我现在重新运行了一会儿,找到了很多0~39 ...

给的104例都是最优解(1-39)的,我把数据平移为-19~+19后,目前已处理的60多例都是正负对称的,即都缺 0,剩下的两洞对称。
我还没有发现缺奇数的,目前只发现缺±2、±4、±6、±8、±10、±12、±14、±16的。
相反数对的分布有中心对称、旋转对称、镜像对称、分块对称和不对称的。
不对称的只发现一例,3洞为{0, ±4}.
待有空了来帖图。

mathe 发表于 2019-12-30 18:56:01

找到不缺0的了:
13 20 25 23 22 17 11 19 18 27 21 24 34 31 29 4 15 7 16 3 2 28 35 36 9 39 32 33 1 6 37 8 14 5 26 30

mathe 发表于 2020-1-2 07:47:10


搜索到的所有数据,有7356个解。其中{0~39}的516个,{0~38}的48个,{1~39}的6792个。
其中前5184解固定a_(3,2)=2, 后2172解固定a_(3,2)=3(后2172解不含2)。

hujunhua 发表于 2020-1-2 09:51:01

mathe 发表于 2020-1-2 07:47
搜索到的所有数据,有7356个解。……待我得空编个小程序,处理一下这些数据。
1、滤掉{0-39},保留最优解{1-39}和{0~38}的.
2、{1~39}都减去20,{0~38}的都减去19,统一平移为{-19~19},然后去重。
3、分类。先分为零和与非零和(还不知道有没有)两大类。
   对于零和幻方,先分为数组洞洞对称的(即含零的)和数组洞洞不对称的(即不含零的)两类,再按洞洞分组,统计各组的解数。目前已发现的洞洞组有{0, ±2}、{0, ±4}、{0, ±6}、{0, ±8}、{0, ±10}、{0, ±12}、{0, ±14}、{0, ±16}, {-8, -10, 18}(37#的),未发现奇数洞组。
   对于对称组,按相反数的位置关系进行划分,目前已知的有中心对称、旋转(平移)对称、镜像对称、分块对称(暂名)和不对称的。 其中分块对称已发现两种分布,不知道还会不会有更多的发现。
4、绘图,填入等距网。每一个细类绘一个代表。

hujunhua 发表于 2020-1-2 17:45:28

数据预处理完成(转化为M10规则表), 去重前的分类统计结果:
{0~38}的48个,化为{-19~19}后全都为非对称数组(即都不含0洞)。
{洞组, 频数}如下:
{{-18, -12, -6}, 24},
{{-16, -14, -6}, 12}
{{-14, -12, -10},12}。
可见皆为非零和幻方,总和为36。化为零和幻方,每格-1,成为{-20~18},倒是全部为奇数洞了。

{1~39}的6792个,化为{-19~19}后,全部为零和幻方,其中6624个为对称数组,其余168个为非对称数组(含0)。
{洞组, 频数}
{{-2, 0, 2}, 180},
{{-4, 0, 4}, 240},
{{-6, 0, 6}, 972},
{{-8, 0, 8}, 540},
{{-10, 0, 10}, 768},
{{-12, 0, 12}, 888},
{{-14, 0, 14},312},
{{-16, 0, 16}, 780},
{{-18, 0, 18}, 1944},(*这个洞组的最多,先前104例中居然没碰到*)。
{{-10, -8, 18}, 36},(*非对称洞组*)
{{-18, 8, 10}, 36},(*与上行对称,重合情况有待分析*)
{{-10, -6, 16}, 12},
{{-16, 6, 10}, 12}, (*与上行对称,重合情况有待分析*)
{{-14, -4, 18},36},
{{-18, 4, 14}, 36}}(*与上行对称,重合情况有待分析*)

按洞组分离后,就有利于去重了。(免于在不同洞组间进行比较)
页: 1 2 3 [4] 5 6
查看完整版本: 6 阶模幻方的搜索