博客>计算湖泊数量

计算湖泊数量

2009年2月6日

在康威的《生活游戏》中是一种由对角相邻多米诺骨牌组成的简单闭环模式。事实上,湖泊总是静物画它们的细胞数量总是8的倍数,但似乎没有人计算出8n细胞上存在的不同(即在旋转或反射下不同)湖泊的数量;可能是因为这不是一个特别有趣的问题(亵渎!),也可能是因为它是一个相当困难的问题(或者很可能是两者的结合)。

事实上,计算8n个细胞上湖泊数量的明确公式似乎几乎是棘手的(尽管一些人不同意)。代替显式公式,我只是走了计算机科学的道路,编写了一个小C程序来进行计数。程序的运行时间在O(4n个)由于它基本上是通过注意到湖泊与2D晶格上的行走呈1-1的对应关系来强制解决问题,而2D晶格具有三个属性:1)它们在每一步长度1后都会旋转90度,2)它们最终会回到起始位置,3)他们从来没有穿过他们之前访问过的网格点(除了回到起点的最后一步)。

8n个单元格中湖泊数量的顺序(据我计算)n=1、2、3…1, 0, 1, 1, 4, 7, 31, 98, 446, 1894, 9049, 43151…(斯隆的A156228号).如果您感兴趣,下面提供了C源代码。

下载:

最小的两个湖泊,池塘湖泊2:

  1. 还没有评论。
  1. 还没有trackback。