递归和Droste Effect

递归
公认的递归(Recursion)的标准定义是非常难理解的:若一个对象部分地包含它自己,或用它自己给自己定义,则称这个对象是递归的;若一个过程直接地或间接地调用自己,则称这个过程是递归的过程。通俗地说,递归就是大鱼吃小鱼,就是一条蛇咬住自己的尾巴,一样东西自己包含了自己。

Google就有一个很形象的彩蛋:在Google.com里搜索recursion,下面的纠错会很可爱地提示”Did you mean: recursion”,然后就可以陷入永无止境勒。因此递归通常是可以无限循环下去的,然后就有这样一个很Geek的笑话:

作为一个狂热的电脑游戏迷,如果有一天你从一个完全陌生的地方醒来,你如何判断这是虚拟空间还是在现实中? 答案是,找两面镜子来,互相对着放。如果出现周围的物体运动变慢等不正常的情况,说明你是在虚拟空间中。大自然是神奇的,它能处理两面镜子相对放置时镜子里应该显示的内容;但电脑就模拟不出来,如果电脑真遇到这种情况,指定会把CPU累死。

递归是种很重要的思想,从递归出发可以联系到化归,递推,分治,回溯,DP,分形…这里就不展开了,具体的可以去膜拜Matrix67的语文暑假作业某说明文:递归(?!)…ms那时候Matrix67就很实力进中文系了
PS: Matrix67.com的递归tags下还有很多强文,超有意思Orz

Droste effect
理解了递归,就可以明白Droste Effect就是种图片的递归:图片含有一个小部份与与整张图片相同。Droste最初是荷兰一个可可的厂牌,它运用递归视觉效果设计的包装,使这厂牌名闻于世。而创作出Droste effect效果的是错觉图形大师Escher,为什么不叫Escher Effect呢,MS太多经典的错觉图片都是出自他之手,关于他又可以写篇博文。

    
记得一本很招摇的《A New Kind of Science》里,Wolfram提出计算等价性的原理(Principle of Computational Equivalence,PCE)。这个原理是说,任何一个足够复杂的物理过程都有可能是支持通用计算。Wolfram甚至怀疑自然界不存在所谓的随机行为,那些看似随机的过程很有可能也是支持通用计算的,因此也是复杂类型的。

上面段在装比耍挑,请忽略= =…其实想说Droste effect可以通过Mathmap, GIMP生成。具体的教程可以上很Xe的煎蛋,(居然2007年就有写文章了,从下面的回复看那时煎蛋还是很纯洁的= =,我是不小心挖到煎蛋的坟的)。
更多图片可以去膜拜flickr上的Droste Effect小组。最牛B轰轰就是把Droste effect用在MV里:Wild Beasts & Clap Your Brains Off,很华丽~~