
这个图形有一个异常牛B的性质,你能看出来吗?
在集合论中,一个重要的概念就是集合的可数性。我们说一个集合是可数的,如果这个集合内的元素能够与自然数集N建立一一对应的关系。换句话说,我们能够给这个集合里的所有元素按次序排好,能够以某种顺序为所有元素进行编号。在这里,我们看到了两个重要的结论:全体有理数集合是可数的,以及全体实数集合是不可数的。在证明全体有理数可数时,我们用到的方法通常是当年Cantor所用的对角线方法。不过,事实上我们还有一个更简便的方法。在证明一个集合可数时,我们只需要建立一个映射到自然数集N的函数,使得每个自然数的原像都只有有限个即可。这样的话,我们便可以从小到大考虑自然数集中的每个元素,列举出它所对应的原像,从而得到原集合的一种编号次序。
例如,欲证明全体整数是可数的,只需要考虑函数f(x)=|x|,这是一个从全体整数到自然数的函数,并且每个自然数最多只有两个原像。这样的话,我们便可以立即说明全体整数是可数的。类似地,为了说明全体有理数也是可数的,只需要令函数f(p/q)=|p|+|q|。显然分子分母的绝对值和为某一指定自然数的只有有限多种情况。
假设我们俩各自独立地随机选取一个有无穷多个顶点的图(两点之间1/2的概率有边1/2的概率没有边)。那么,我们俩选到相同的图的概率是多少?
令人难以置信、但想通了之后又异常显然的是,两个图相同的概率为1。并且,我可以精确地告诉你,这个相同的图是什么样子的。考虑这样一个无穷大的图,我们用自然数1, 2, 3, ...给所有顶点标号,然后如果y的二进制表达中的右起第x位为1,就在顶点x和顶点y之间连一条线。比如,顶点5就和顶点1、顶点3相连。我可以证明,我们俩都100%地会选取到上述这个图。

我一直在思考,利用物理性质和数学算法之间的一些联系,能否设计出某种物理系统可以直接产生出诸如Sierpinski三角形甚至Mandelbrot集一类的分形图形。事实证明,大自然的力量是无穷的。reddit上的一位网友发现一个上面长着Sierpinski三角形模样的贝壳。这到底是为什么呢?难道有什么自然规律正好与Sierpinski三角形的某种生成方法相吻合?
勾股定理有上百种证明,但其实它们都大同小异——无非是构造一组三角形和正方形并进行一系列变换。今天我看到了一个用圆面积来解释勾股定理的办法,颇有一些新意。

考虑直角三角形OAB绕着一个锐角顶点O旋转一周。顶点A的轨迹是一个半径为a的圆,顶点B的轨迹是一个半径为c的圆。那么,线段AB扫过的区域(一个圆环)的面积就应该是大圆面积减去小圆面积,即π(c^2-a^2)。如果我们能够有一种办法说明,线段AB扫过的面积正好是πb^2,我们就相当于得到了勾股定理的另一个证明。
大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家,或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在设计策略时,你必需考虑到这一点。

相信很多人有过这样的经历:玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果游戏机给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。

不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。
刚MSN聊天时,小猫给我发了个异常牛B的ppt,作品出自Eyeful Presentations。Eyeful Presentations是英国的一家设计公司,专门帮助客户完成ppt设计。这是它们用来宣传的一个ppt,一句话,简直是太强大了。
