这些序列都是自相似序列……

    如果说数学家是魔术师的话,无穷就是一根最强大的魔杖。在Manfred Schröder的一篇题为Fractals in Music的论文里,作者提到,把每个正整数对应的二进制数中“1”的个数依次写下来,得到的数列有一个很神奇的性质:划掉所有的奇数项,得到的序列仍然是整个序列本身。

十进制数  1   2   3    4    5    6    7     8     9    10    11    12    13    14
二进制数  1  10  11   100  101  110  111  1000  1001  1010  1011  1100  1101  1110
1的个数   1   1   2    1    2    2    3     1     2     2     3     2     3     3
取偶数项      1        1         2          1           2           2           3

    最初我是在《算法艺术与信息学竞赛》里见到这个东西的,当时硬是被震撼住了。这样的序列叫做“自相似序列”,意思是说自己的一部分等于本身。注意到,这个“自相似”可以无限制地进行下去。再次取出所得的序列中的偶数项,结果还是与最初的序列一样;再这样做下去做无数次,每一次的结果都会与原始序列相同。也就是说,无穷里面包含了无穷多个规模不同的无穷,并且所有这些无穷都和原来完全相同。不过呢,仔细一想你会发现这个一点也不奇怪,奥妙就在于,n和2n的二进制表达中唯一的差别就是末尾的那个“0”。

Read more…

World of Goo与Sierpinski三角形

    打完了World of Goo,确实是一个难得一见的好游戏。自从打完Portal后,很久没玩到这么好的游戏了。遗憾的是呢,和Portal一样,这个游戏的关卡并不难,游戏时间也太短了一些。一款好的游戏会设置一些在游戏通关后仍然具有可玩性和挑战性的环节,比如这个游戏中你的终极目标就是反复挑战关卡收集尽可能多的球球,在Tower of Goo里面建造尽可能高的塔。如何用尽可能少的球球来建造一个尽可能高的、稳定的塔呢?受到经典分形图形Sierpinski三角形的启发,我打算建这么一个塔(下图为草图),这个样子看上去蛮稳定的(大家认为呢?),并且节省了不少材料。由于球球是可以重新安放的,因此我可以在搭建好三角形后从中间挖出不要的球球来,这给我建造Sierpinski三角形提供了可能性。不过,目前这个工程只做到了2阶,因为我还差球球。大家还想到了什么其它的结构?欢迎在下面和大家分享。