我没有接菜单。“六成熟的牛排加一份炸鳕鱼,谢谢”,我说。穿着艳丽的服务员MM拿着菜单微笑着退下。下午四点起床的好处在于,在任何一家餐厅就餐都不会有太多的人;不好的就是,没有人会陪你来吃。一个人在餐厅用餐看上去多少有些滑稽。
我把视线移到桌子对面的那个人。他手中翻开的《科幻世界》正好遮住了他的脸。从封面来看这应该是最近的一期,几个非常不起眼的五环标志和与背景几乎融为一色的中国字暗示着这期《科幻世界》的封面展示的是未来某次在中国举办的奥运会的盛况。我正想说“你也喜欢《科幻世界》么”时,他先发话了:“兄弟,你点的东西和我刚才点的完全一样。”他放下手中的杂志,我俩四目相对。我惊呆了。面前的这个人体型和我别无二致,穿着和我一样的衣服,留着完全相同的发型和胡子,脸上的斑点仿佛是用一个模子印出来的。如果不是他手中比我多拿了一本杂志,我可能会真的以为我面对的是一面镜子。
我静下心来,说道:“这让我想起了Kiefer Sutherland的新电影……”
话没说完,他接了一句“Mirrors吧,镜子里的人和镜子前的人动作不一样……”
他提到国外电影时也直接用英文名,这让我很是吃惊。我说:“但这部电影绝对比不上Kiefer Sutherland的另一经典之作。”
“你说Dark City吧,经典中的经典了。”他条件反射式地回答到。这绝对不是巧合!电影Dark City的知名度远远小于Kiefer Sutherland出演的火热美剧24。我本以为他会回答24的,但他给出的答案和我预想的完全一致。
他也开始试探性地发问:“你知道吗,最近Dark City出了一个特别的……”
我就知道他要说这个。我连忙抢过话头:“……10周年导演剪切版。哈哈,我还真想再看一次!”
“对啊,因为这个导演剪切版改了很多,网上有人甚至评论说‘就像变成了另一部电影’。”
“难道……”我长大了嘴,指着他惊奇地叫到,“难道你也经常去digg上看新闻?”
“呵呵,我还经常去found四个f呢!”
我笑了,“他妈的四个f,我他妈的还去八个i呢……”
“怎么你也……”他的声音明显地变了调。然后我们沉默了。网络中的语言在日常口语交际中的频频出现给这种沉默带来一些轻微的喜剧效果。
前两篇文章中,我们提到了两个用杠杆原理解决数学问题的例子。这篇文章将从另一个物理领域出发,探索光学的一个重要原理与几何极值问题的关系。
物理学的美不仅仅表现在简洁的公式上。我们还惊奇地发现,很多物理现象都是按照使某个变量达到极值的方式发生。一个典型的例子就是Fermat原理,它指出了光的传播路径的一个重要规律:光总是沿着所花时间最短的路径传播。这里我们将简单介绍一下Fermat原理,该系列后面的文章里将会用到这一原理。
Fermat原理俗称“最快到达原理”、“最小时间原理”,意思是光线传播的路径总是满足这样一个规律:它总能使光在最短的时间内到达目的地。这个原理完美地统一了直线传播定律、反射定律和Snell定律,解释了为什么光线总是沿直线传播,为什么入射角等于反射角,以及光线在不同介质间传播为什么会发生折射现象。
在Ted Chiang的著名科幻小说The Story of Your Life里有这样一段形象的描述:
“好,这是一条光线从空气射进水中所走的路线。在碰到水面前,光线沿着直线前进;水有不同的折射率,所以光改变了前进方向。你以前听过这个,对吗?”
我点点头,“当然。”
“现在关于光所走路线有个有趣的性质。这条路线是这两点之间可能的最快的路线。”
“又来了?”
“想象一下,光线沿着这条路线前进。”他在图解中加了条虚线。
“这条假想中的路线比光实际走的路线要短。但是光在水中前进的速度比在空气中小,而这条假想的路线的很大一部分是在水中的,所以光沿着这条假想的路线所花的时间要比沿着实际路线要长。”
“好,我明白了。”
“现在想象一下,假设光沿和另一条路线前进。”他画了第二条虚线。
“这条路线减少了在水中的比例,但总长增加了。光沿着这条假想的路线所花的时间也要比沿着实际路线要长。”
Gary放下粉笔,用蘸着粉笔屑的手指指着黑板上的图解,“任何假想的路线都比实际的要花更多的时间。换一句话说,光线走的路线是最有可能走得走快的一条。这就是Fermat定理的最小时间原理。”
你发现Fermat原理有什么奇怪的地方了吗?你是不是感觉Fermat原理很诡异,但自己也说不清楚到底是为什么诡异?仔细想想你会发现,“最快到达”这种原理显然是不符合我们的行为方式的:假如我是光,我的传播规律是“最快到达”,但此时我要传播到哪里还不知道呢。Ted Chiang的小说对此也做出了详细的描述:
“然而我仍要问你关于Fermat定理的东西。它的一些东西让我感到奇怪,但我不能正确指出那是什么。它只是不像是物理法则。”
Gary的眼睛闪了一下,“我打赌我知道你想谈什么,”他用筷子把锅贴夹成两半,“你习惯于用起因和结果来思考折射:光照到水面上是起因,方向的变化是结果。但Fermat定理听上去很古怪,因为它以目的的形式来描述光的行为。它就像是光线的指挥官,‘你应该将抵达目的的时间最小化或最大化。’”
我想了一下,“继续说。”
“这是物理法则的一个老问题。人们在17世纪Fermat定理第一次成形时就一直在谈论它。Planck写了好几卷。本质是,普通的物理法则的表述是具有因果关系的,而像Fermat定理的可变法则具有目的性,几乎是目的论。”
“嗯,这样解释道挺有趣。让我想一下。”我拿起一支标签笔,在餐巾纸上画了幅图解,就是Gary在我的黑板上画的那幅,“好,”我想我很大声地说道,“那么让我们假设光的目的是要沿着最快的路线前进。这样的话,光如何走呢?”
“好吧,假若按人类行为学来说,光得检验每条可能的路线并计算每条得花多少时间。”他从盘子里戳起最后一块锅贴。
“那样做的话,”我继续道,“光线得知道目的在哪儿。假如目的地在某某其他地方,最快的路线就会不同。”
Gary再次点点头,“完全正确。‘最快的路线’的概念是无意义的,除非有特定的目的地。计算沿着一条假想的路线需多长时间也需要关于在这条路线上有什么东西的信息,比如水面在哪?”
我继续看着纸巾上的图解,“在光开始移动前,它得事先知道所有这一切,对吗?”
“这样说来,”Gary说,“光线不能沿着老路前进,然后再在后来返回。因为引起这样行为的路线不是最快的。在一开始光就已经做好了全部的计算。”
我心中暗想,在光线能够选择它移动的方向前,它已经知道它最终会在那里结束。我知道这让我想起了什么,我抬起头看着Gary,“这让我困扰。”

上面的论述似乎很抽象。我们来看一个实际的数学问题。这个问题有点怪,和其它的问题很不一样。给出一个点A,给出两个圆O1、O2,再给定O1上的一点B,问O2上是否存在一点C,使得B点的位置恰好能让AB+BC达到最小,也即对于O1上异于B的任一点B'都有AB'+B'C > AB+BC。你一时间可能找不到这个点C,这很正常,但光可以立即找到这个点C。因为从Fermat原理的角度看,光的思维方式是“逆向”的,这个别扭的题目正好顺应了它的思维方式。只要沿AB发射一条光线,在圆O1表面上发生反射后的光线与O2的交点即为点C。因为,A->B->C这条光路符合光的传播性质,这条路径是所有经过O1上一点到C的路径中最短的一条,其它所有的B'都会使光程增加。事实上,光就有这种神奇的本领:不管之前有过多少反射点,有过多少折射点,这条光线今后传播到的每一个点都满足这种无比别扭的“以它为终点则前面的定点均已达到最优”的性质。对于光来说,这是顺理成章的事;但从我们的角度来看,还没到目的地便能确保路径最优是很不可思议的。我们会习惯性地认为,光从A点出发往B走之前必须得先知道它的终点是C,然后才会知道B可以使光程最短,因此它才会往B走。这是明显有悖于我们熟知的因果关系的。或许说,这个世界本没有什么因果关系,仅仅是因为人类的思维被禁锢在了因果链式思维中?
接下来,我们举两个火星例子。两个都是经典的小学奥赛题。

问题1:给定直线l同侧的两点A和B,在直线上找一点C使得折线ACB最短。
问题2:角ABC内有一点P,请在AB上找一点M,BC上找一点N,使得三角形PMN的周长最短。
类似的问题还有很多。很多这类几何极值问题都和Fermat原理有直接关系。考虑这样一种物理解法:将问题中的所有直线想象成镜面。对于问题1,在点A处发射光线,并不断调整初始方向,直到在某个角度时光线经反射过B点;对于问题2,在点P处发射光线,并不断调整初始方向,直到在某个角度时光线经两次反射回到P点。由Fermat原理,这两条路径都满足光程最短,途中的反射点是最优解。这直接导出了下面的结论:上述两个问题达到最优,当且仅当路径中每相连的两条折线段与对应的动点所在直线具有相等的夹角。

下面考虑这两个问题的纯几何解法。对于问题1,作出点A关于直线l的对称点A',那么A'B与直线l的交点就是我们要求的C;对于问题2,分别作出点P关于AB和BC的对称点P1、P2,则P1、P2的连线与AB、BC的交点就是我们要求的M和N。几何解法的正确性也是显而易见的:把AC转移到A'C,把PM和PN分别转换为P1M和P2N,问题就变成了求两点间的最短距离,显然两点间以直线距离最短。
无论从数学方面看还是从物理方面看,这两种解法都是等价的。从几何解法的构造中我们可以轻易推出入射角与反射角相等,而这个几何构造说穿了就是作出光源的镜像,与物理解法没有本质上的区别。
在接下来的两篇文章里,我们会提到另外两个精彩的数学问题,它们既可以用Fermat原理来解决,同时也可以从力学的角度来阐述。
Matrix67原创
转贴请注明出处
今年恰逢PKU数学文化节十周年,其间开办的很多讲座我都去了。去听讲座的人好像都是数院的,我恐怕是唯一一个中文系的。考虑到我和中文系的MM没有共同话题,因此每一次听讲座时我都会顺便四处打望,看看有没有数院的美女,下来可以和她“交谈”一下。有趣的是我的做法与常人所想的恰好相反:据说数院的已经盯上中文系的MM了,而我一个中文系的竟然反过来去找数院的MM。
昨天有一个关于非欧几何的讲座,这是目前所有的讲座中最为精彩的一次。讲座里提到了Poincaré的一个双曲几何模型,感觉非常有意思,在这里和大家分享一下。
在所有的双曲几何模型中,Poincaré的圆盘模型可能是最有趣的一个。这个双曲世界存在于一个有限的平面区域里,整个世界限制在一个单位圆的范围内。这个世界中有两个最重要的物理定律:一,假如某物体X离原点O距离为d,那么该物体的温度为1-d^2;二,物体的大小与温度成正比。这样,假如某个人从这个世界的中心走向边缘,那么他的温度会从1慢慢变成0,同时整个人慢慢变小。他自身大小改变的同时周围的物体也等比例地放大或缩小,而这个世界里的人视野有限,看不见远处的东西,因此他不会觉得自己变小了或者变大了。因此,在这个世界里,物理学家们能够很轻易地发现第一定律,但要发现第二定律则非常具有挑战性,探索第二定律的过程必然很曲折,并且很可能出现哥白尼时代的故事。
对于我们来说,这个世界是有界的;但对于这个世界中的人来说,这个世界是无穷大的。因为离原点越远,人就越小,于是相对来说他们所看到的空间也就越大。当人的位置趋于边界时,物体大小趋于0,此时的空间将变得无穷大,因此这个世界中的物体永远无法到达边界。同时,离原点越远的话越接近“绝对零度”,这将非常不适宜生物的生存,因此人们大多居住在原点,离原点越远城市规模越小,更远的地方则完全没有开发过,只适合于疯狂的冒险家进行极限运动。于是这个世界中的物理学家很自然地得到这个结论:世界是无穷大的。
下面就神奇了。现在,考虑某个人想从A点走到B点。如果按照红色的线段直直地走过去,所走的路程并不是最短的,因为这条路线离原点较远。聪明的人会发现,我先往原点方向走一点,然后再到B点去,这样走的路程更短一些。我们猜想,最短路线很可能是一条偏向于原点的弧线(就好像原点把直线段“吸”过去了一样)。之所以产生这种奇怪的现象是因为,离原点越远物体就越小,人的步子也变小了,相对来说实际空间就变大了。因此,对我们来说距离相等的两点,对他们来说离原点越远其实际距离越大。因此,我们有必要重新定义这个双曲世界中“距离”的概念。由于物体大小与1-d^2成正比,因此我们可以定义,如果在离原点距离为d的位置上有一个充分小的位移,在我们看来距离为Δx,那么在这个世界中的实际距离就是Δx/(1-d^2)。这样就可以算出,从A到B的最近路线是一条垂直于边界的圆弧(蓝色的那条)。于是在这个世界中,“直线段”已经不再是我们熟悉的直线段了,而是一条条的弧线(还包括整个圆的直径)。而我们眼中的直线,在他们看来就是曲线。

这个世界中的几何满足欧式几何的前面四个公设,但不满足第五公设。比如,两点确定一条直线,因为过两点的圆弧只有一条垂直于这个世界的边界;而直线可以无限延长,因为离边界越近两点的实际距离越大,你永远走不到尽头。但是,这个世界不满足第五公设。从图2可以看到,过一点可以作无数条直线不与已知直线相交;从图3可以看到,三角形的内角和小于180度。下面这幅图片可以帮助你更好地理解这个双曲模型。这是该平面上的一个三角形剖分,里面的所有三角形都是等边三角形,而且所有这些三角形都是一样大的。你可以看到7个等边三角形共用一个顶点,这说明三角形的内角和小于180度。

另外值得一提的是,这个构想很适合写成一篇科幻小说。记得大刘的那篇科幻吗?一群电子器件诞生在某颗星球的内核,然后探索物理定律,历经重重困难,最终冲破了它们那个世界的“天然外壳”,看到了外面的世界,并相信我们整个宇宙也处于一个更大的星体内。这个双曲几何模型也很适合写出这样的小说来,比如以物理史书的方式叙述从古至今若干个传奇人物的故事,讲述他们是如何从一些奇怪的现象出发,通过各种试验证明自己的猜想,顶住社会各方面的压力,执著地探索宇宙的奥秘。小说中的人物可以带着读者一起进行探索,最后才告诉读者这个宇宙的本质是什么。
Matrix67原创
转贴请注明出处
前面那篇日志里大家的讨论都很激烈,我很高兴。axgle的发言让我想起了这样一个非常有趣的例子。这是我很喜欢的一个科幻构想,我曾经在进位制讲解中引用过它。这里再次引用,表达我的另一个比较奇异的观点。
语文和数学永远是最基础的两门学科,从小学开始我们就一直在接触它们。这两门学科教给人两种截然不同的思维方式,理性的思考和感性的思考。在众多学科中,可能只有语文是不需要逻辑思维的,大多数时候你只需要跟着你的感觉走。有时候我常常在想,如果人类文明没有发展出数学这门学科,只具有感性思维的能力,那么世界将会怎样。Robert J. Sawyer的科幻小说《Calculating God》里就构想了这样一个世界。小说中提到,人类有10根手指,因此发展出了满十进一的计数系统。10是前四个正整数的和,又是2和5的积,这样的进位制非常适合数学的发展。但小说中构想的一种外星生物却没有那么好的运气——它有23根手指。这种别扭的数字最多只能让人联想到乔丹和染色体,除此之外没有任何特性。这给这种生物的数学发展带来不可逾越的障碍。而事实上,这种生物恰好又没有发展数学的必要性。他就好像人类一样,对较小的物体个数具有直接感知的能力。人类可以直接感知的物体数量一般不超过6。也就是说,如果你眼前有3个,或者5个东西,你不需要数,看一眼就知道有多少个;但当你眼前出现的物体数目达到7个或者8个时,你就必须要数一数才知道个数了。而我们所说的生物面对的物体数目多达46个时仍然可以一眼分辨出多少来,数目超过46后就统称为“很多”了。46这个数字对于种族的生存已经完全足够了,他们在组建部落时总会保证部落里的个体数不超过这个数字。因此,这种生物不需要数数的能力,他们也就无须发展数学了。作为一种补偿,他们对事物的感知能力相当敏锐。他们甚至直接凭直觉感知到了相对论,因为他们的思维不受演绎逻辑的束缚。演绎逻辑思维正在限制我们的思想吗?或许,只具有感性思维的能力是一件好事。
Flatland是一部巨经典的科学幻想小说,小说里构造了一个全新的世界──这个世界是二维的!整个小说分成两个部分,前一部分系统地描述这个二维世界,包括自然状况、居民生活、政治历史等等。真正有趣的事情发生在后一部分里,这里不同维度的世界之间发生了碰撞——二维世界中的主人公拜访了一维世界,同时又接触到了一个全新的三维世界。当他在他的世界传播三维思想时,整个世界大乱,哥白尼时代的那段故事再次发生。
Flatland: The Movie是由此改编的一个动画短片,整个电影大约30分钟。官方网站上已经放出了电影的预告片,看起来非常有意思:
下面是一个两分多钟的片段:
原版小说:http://xahlee.org/flatland/index.html
陈忱译《神奇的二维国》:http://www.matrix67.com/data/flatland.html
官方网站:http://flatlandthemovie.com/
imdb链接:http://www.imdb.com/title/tt0814106/
现在,你可以在官方网站上订购学校教育专用的特别版DVD,价格是120美元;30美元的个人版DVD还要过几个月才能订购。
那年出事了,封面故事和高考作文题撞车,各大报纸都在登载相关消息。那是我第一次听说《科幻世界》。从那时起我迷上了科幻小说,甚至还动手写过几篇。当时我成为了忠实的传教士,向周围的朋友不断推荐科幻小说。01年到03年这三年里,《科幻世界》的作品质量达到顶峰,以后的银河奖征文再也没有超越过这三年。后来科幻世界又出版了一系列国外长篇科幻小说,加之以前买的一些零散的科幻长篇,我的科幻书放满了一排书架。我上高中后,《科幻世界》变味了,从文化领域发展到商业领域,没完没了地推出副刊和单行本。《科幻世界》本身的作品质量急剧下降,杂志中到处充斥着冒充科幻的奇幻和杂文。又由于后来我忙于OI,于是暂时离开了科幻的世界。虽然现在我已经不再看《科幻世界》,但我仍然保留了通过科学幻想来活动头脑、激发创意的习惯。在所有电影类型中Sci-Fi仍然是我的最爱。
在所有的小说中,科幻小说是最具智慧的。刘慈欣、王晋康、何夕、韩松等一代大师的创造力和想象力令人敬佩。但其中思想最机灵、最敏捷的,非柳文扬莫属。
柳文扬的“惊天大作”不多。他更擅长于短篇小说的创作。和美国著名的短篇小说家Robert Sheckley一样,他的作品极具想象力,构思机智巧妙,结局往往意想不到而又在情理之中,最后以一个令人拍案叫绝twist收尾。小说中穿插着“柳式”幽默,给向来比较黑暗的科幻小说营造了一种轻松的气氛。前面提到的很多大师都创作过不少场景壮观宏大的中篇小说以及史诗级的长篇小说,但很少有短小精悍的短篇小说出炉,而柳文扬则正好填补了这一空白。精妙的短篇小说往往更让人喜爱,中国科幻小说界还需要更多像柳文扬这样的作家。
在柳文扬的众多作品中,我最喜欢的是短篇小说《一日囚》。我至今仍记得《一日囚》的第一句话:“B先生死了。就在他搬进这座大楼不到二十四小时”。我将永远记住2008年8月18日这一天并期待着看一看这一天到底会发生什么。《一日囚》是难得一见的佳作,在我看来是柳文扬最具代表性的作品之一,它使得所有同题材的短篇小说黯然失色。还记得第一次看这篇文章后晚上竟没睡着觉,因为文章的结尾太令人激动了。在向朋友们推荐科幻小说时我总是先让他们看两篇比较软的科幻,一篇就是《一日囚》,还有一篇何夕的《伤心者》。
柳文扬的一系列封面故事也令人印象深刻。在我看《科幻世界》的那段时间里,封面故事栏目近一半都是柳文扬写的。封面故事几乎成了柳文扬的专利。很可惜我没看过《惊奇档案》上柳文扬的一系列专栏文章,据称那才真正体现出柳文扬的个性与智慧。
现在已经很久没有接触科幻小说了,因此不太关注科幻界的相关新闻。刚才才得知柳文扬去世的消息,在这里写下一些文字表示纪念。
最后我在这里引用一篇柳文扬早期的科幻小小说,还不曾接触科幻小说或对柳文扬不太熟悉的网友可以看看。这段连高考作文都不够字数的文字却可以充分体现出柳文扬的机敏才智。
托马斯叔叔的推荐信
作者:柳文扬
他最后怯生生地瞧我一眼,因为害怕保安人员,脸色还红白不定。那身打扮活像《摩登时代》里的卓别林。
“您真的连推荐信都不看吗?”他恳求道。
半小时之前他甩掉了门卫溜进办公室,就结结巴巴地对我说什么父母双亡,托马斯叔叔供他上学到十六岁等等。又说别人不相信他的发明,要送他进疯人院。全世界最聪明的托马斯叔叔也没法子,只好叫他到这儿来找“管事的”,还带了一封推荐信。
他的“发明”其实就是一块装在金属腰带上的表,不值一看。很多年轻人都象他一样,患有“发明妄想症”。不过他更象轻度弱智,话都说不连贯,自动转椅也不会用。那个什么托马斯多半是乡村学校的教师,这类“伯乐”我见多了,井底之蛙而已。
“一会儿我还有个会,”我尽量耐心地说,“你先回家好吗?”
“他们不相信我,托马斯叔叔说他们都是白痴。您不看看推荐信吗?”
“一会儿看,一定看。”我敷衍着他,端起咖啡杯。
他愤然说:“您跟他们一样。您……也是白痴!”
咖啡差点泼出来。我从高处盯者他,警卫慢慢向他逼近。
他脸色苍白,慌忙伸手拨弄了“腰带表”上什么见鬼的玩意儿,一下子就不见了。
警卫和我都惊呆了──这小子是什么人物?
我楞了片刻,赶紧扯开那封推荐信,信上是这么写的:
“先生们:我向你们推荐一位罕世天才。在我周围的世界里,骄傲与愚蠢蒙蔽着人们的眼睛,使他们看不到这个年轻人的杰出之处。我死后将无人再庇护他了,只有把他托付给你们:他的希望在二十一世纪。请让这孩子发挥出所有的才能吧,人类历史会为此改写。
托·阿·爱迪生”
人有十个手指,用手指的伸屈来计数非常方便。但一旦对象的数目超过10个了,手指头就不够用了。当然,有人会想到还有脚趾头。搬弄脚趾头是不现实的,数手指头只需要站着比划一下就可以了,数脚趾头还需要坐下来慢慢研究。一种好的方法是每次数完了十个指头后在什么地方做一个标记,比如在地上放一个木棒。人们可以把这根木棒想像成一个“大指头”,它相当于十个指头。这样,我有37个MM就被表示成了地上3个木棒加上我7个手指头。哈哈,你的MM数只有两根木棒加4个手指头,于是我的MM比你的多。久而久之,人们就只接受0到9这十个数字了,再大的数就用几个数字合起来表示。这种“满十进一”的数字系统就叫做十进位制。
如果人只有八个手指头又会怎样呢?那我们现在很可能正在使用八进制,数学发展起来后我们最终只接受八个数字,而大于8的数字就用更高一级的计量单位表示。代表这八个数字的很可能是些星际之门里的怪符号,这里为了便于叙述,我们仍然使用阿拉伯数字的0到7来表示。于是,人类数数的方式将变为:0,1,2,3,4,5,6,7,10,11,12,13,14,15,16,17,20,...。这里,数字8被记作10,数字64则用100代替。在这个数学世界里,6+5=13,因为6+1得到的数已经是一位数中最大的了,再加的话只能“进一位”了。“满八进一”将成为数学运算的基本法则。
如果人有12根手指,12进制将成为更难想像的事。在12进制中,人类会把10和11直接想成是一个“数字”。研究的进位制大于10时,大于9的数字我们习惯上用大写字母ABC来表示。这样,自然数序列里将多出两个符号A和B来,数数的方式变为...,8,9,A,B,10,11,12,...。
我们自然会想,人类生活中究竟有没有其它的进位制呢?当然有。比如,时间和角度就是60进位制,60秒=1分。还有更怪的,计算机的储存容量单位是1024进制的,1MB=1024KB。当然,这也是有原因的。我们在研究几何时常常需要用到1/2,1/3,1/4或者1/6,我们希望这些分数在角度进制下恰好都是整数以便于运算。于是,角度的进位制就变成了60。为什么时间也是60进位制呢?因为时间和角度密切相关,你看看你的手表就知道了(别告诉我你的手表是数字型的)。为什么钟和手表又要用圆形表盘的方式来表示时间呢?其实人自古以来计算时间都是用的圆形盘面,因为地球绕太阳旋转和地球的自转使得时间具有了周期性。
计算机使用二进制,因为计算机元件只有两种状态(开和关,或者说通电和断点),因此计算机只认0和1两个数字。1024是2的幂,又比较接近1000符合人的习惯,因此把1024当成了计算机容量的进位制。
前段时间有人在OIBH上问,为什么纸币的面值都是1*10^n、2*10^n、5*10^n呢。有人回答说这样的货币系统可以使得某种贪心方法正确。确实有这个结论,这样的货币系统使得解决“凑钱和找零时最少使用多少张纸币”这一问题的贪心算法(不断拿最大面额的纸币)是正确。但用这一点来解释我们的问题显然是可笑的,人们首先考虑的并不是如何方便地使用最少纸币,而是如何方便地得到总面额。一个只有1元纸币和7元纸币的货币系统同样满足贪心性质,但显然傻子才会设计出这种别扭的货币系统来。因此,我的回答是“纸币的面值取10的约数,这样的话凑钱和找零最方便”。但是,有人会问,要是我们使用的进位制不是10怎么办?换句话说,如果我们使用的是23进位制,除1和本身外没有其它约数的话,又该怎样设置货币系统呢。答案非常出人意料,如果我们使用的是23进位制的话,我们很可能根本发展不出数学这门学科来。10=1+2+3+4,是前四个正整数的和;10又是2和5的积;这样的进位制非常适合数学的发展。同样地,6=1+2+3,6=2*3,因此可能正在使用六进制的昆虫们很容易发展出数学来(六足动物的数学非常强,不是有人发现了蜜蜂蜂巢的六边形样式设计是最科学的么)。大家看过《计算机中的上帝》(Calculating God)吗?那里面构造了这样一种生物:他有23根手指。这种别扭的数字最多只能让人联想到乔丹和染色体,除此之外没有任何特性。这给这种生物的数学发展带来不可逾越的困难。而事实上,这种生物恰好又没有发展数学的必要性。他就好像人类一样,对较小的物体个数具有直接感知的能力。人类可以直接感知的物体数量一般不超过6。也就是说,如果你眼前有3个,或者5个东西,你不需要数,看一眼就知道有多少个;但当你眼前出现的物体数目达到7个或者8个时,你就必须要数一数才知道个数了。而我们所说的生物面对的物体数目多达46个时仍然可以一眼分辨出多少来,数目超过46后就统称为“很多”了。直接感知数目达到50甚至60多的生物个体就扮演着该种族中的僧侣角色。46这个数字对于种族的生存已经完全足够了,他们在组建部落时总会保证部落的个体数不超过这个数字。因此,这种生物不需要数数的能力,他们也就无须发展数学了。他们不知道30加30等于多少,从某种意义上说他们甚至不知道一加一等于几,因为他们头脑中根本没有数字这个概念。作为一种补偿,他们对事物的感知能力相当敏锐。他们甚至直接凭直觉感知到了相对论,因为他们的思维不受演绎逻辑的束缚。
下文将介绍两套进制转换的方法,然后介绍这两套方法在小数转换上的应用。更多的进位制相关应用你可以在文后的习题部分中体会到。
在讲进位制时,大多数教材会教大家二进制和十进制如何互换。今天我就偏不这样讲,我要和那些教材讲得一样了我还不如不写今天这些东西。二进制虽然常用,但比较特殊,很可能会了二进制但仍然不会其它进制;我们今天当一回蜜蜂,看看六进制和十进制怎么互相转换。学会这个后,任意进制间的转换你就应该都会了。
说起进位制时往往要回到最根本的一些计数方法上。这篇日志是我第237篇日志。数字“237”表示两个百,加上三个十,加上七个单位一。我们把它们分别叫百位、十位和个位,同一个数字在不同数位上表示的实际数量不同。用一个式子表示上面的意思就是,237=2*100+3*10+7。这就是进位制的实际意义。
现在,假如我是一只勤劳的蜜蜂。我写237篇日志是肯定不可能的了,因为我的数学世界里根本没有7这个数字。那就说我写了235篇日志吧。结合前面所说的东西,“十位”上的数表示有多少个6,“百位”上的数表示有多少个36(后面提到的十位、百位打引号表明这不是十进制中的“十”和“百”)。于是,六进制下的235就应该等于2*6^2+3*6+5。这个算式你用什么进制算出答案就相当于把六进制中的235转换为了什么进制。不过你要把这个式子当成别的进制算是不大可能的,算之前你估计得重新背一遍乘法口诀表(注意我为什么不说是“九九”乘法口诀表)。这就是我们为什么一般只研究十进制与其它进制互换的原因。我们用熟悉的十进制进行计算,得出2*6^2+3*6+5=72+18+5=95。这是按定义进行进制转换的方法。六进制的235等于十进制的95,我们记作(235)6=(95)10。那个6和10是下标,应该像H2O的2一样小小地写在下面。我就懒得排版了,反正转贴个几次就成Plain Text了。
下面的任务是,考虑怎么把(95)10变回(235)6。使用六进制计算13*10+5可以得到235(十位上的9相当于六进制中的13),但我们说过六进制计算很麻烦。下面我们给出一种把十进制转换为六进制的方法,仔细思考你会发现这种方法显然是正确的。我们把所有6的幂从小到大写出来:1,6,36,216,...。216远远超过95了,因此95的六进制不可能是四位数。95里面有两个36,因此在最高位上写个“2”。去掉两个36,95里只剩23。23里有三个6,数字3将填写在第二位上,去掉这三个6最后所剩的5留给最末位。换句话说,我们不断寻找最大的x使得6^x不超过当前数,当前数减去6^x并在右起第x+1位上加一。这事实上是前面六进制转十进制的逆过程。
上面的进制互换方法是一套方法,这是我们所介绍的第一套方法。这套方法的特点是正确性很显然,但是计算比较复杂,又费马达又费电。我们需要一个计算更方便的进制转换方法。下面介绍的就是进制转换的第二套方案。
再一次回到一个很基础的问题:在十进制中,为什么乘以10相当于在数的末尾加一个0?我们同样会联想到位运算:为什么二进制左移一位(末尾加一个0)相当于乘以2?事实上,这个结论普遍存在于所有进位制中:k进制数的末尾加个0,相当于该数乘以k。证明方法非常简单,乘以一个k就相当于进位制展开式的每个指数都加一,也就相当于所有数字左移一位。六进制235=2*6^2+3*6+5,乘以6的话式子将变为2*6^3+3*6^2+5*6,也即2350。利用这个性质,六进制235可以很快转为十进制:235相当于2后面添0,加上3,再添一个0,再加上5,写为算式即(2*6+3)*6+5=95。把(2*6+3)*6+5展开来,得到的式子和前面的那种计算方法(2*6^2+3*6+5)一模一样,但这里的计算方式更简便一些。如果写成程序,六进制字符串t转为十进制数a只需要一句话就可以完成:for i:=1 to length(t) do a:=a*6+ord(t[i])-48;
使用这种方法将十进制变回六进制是一个彻头彻尾的逆向操作:当前数不断除以6并把余数作为新的最高位。比如,95除以6等于15余5,余数5就是个位,15除以6的余数3作为“十位”,最终的商2是“百位”。这叫做短除法,是最常见的方法,网上随处可见。
下面说一下进位制中的小数。前面的东西如果理解了,小数进制的转换将顺理成章地进行下去。六进制中的0.1相当于十进制的1/6,因为六进制中的0.1、0.2、0.3、0.4、0.5五个数把区间0到1均分为了6分。同样地,(0.05)6=(5/36)10。你会发现,一个“十分位”代表1/6,一个“百分位”代表1/6^2,之前的很多结论仍然成立。六进制小数12.345就等于1*6^1+2*6^0+3*6^(-1)+4*6^(-2)+5*6^(-3),通过负指数把进制转换的整数部分和小数部分联系在了一起。(12.345)6转为十进制后居然变成了无限小数,其实这并不奇怪,这只是一个约数的问题:同样是三分之一,在我的六进制下正好分干净(0.2),但在你十进制下就总也分不完,总要剩一点留给下一位(0.333333...)。这里有一些小数进制转换的实例。可以看到,一个进制下的有限小数很可能是另一个进制下的无限循环小数。另一个有趣的例子在这里。
既然前面所说的第一套方法中六进制转十进制对于小数仍然成立,那么第一套方法的十进制转六进制也可以直接在小数上使用。如果你嫌无限小数很别扭,用分数进行操作是一种不错的选择。具体操作方法和前文叙述一模一样。针对纯小数的进制转换,我们把前文的描述换种方法再说一遍:不断寻找最小的正整数x使得1/6^x不超过当前数,当前数减去1/6^x并在小数点后第x位上加一。我就不再举例子了,下面主要讨论第二套方法在小数上的应用。
我们曾说过,在k进制末尾加0相当于该数乘以k。可惜这对小数没有用,小数后你加它八百个“0”这个数仍然不变。其实,“末尾加0”只是这种性质反映在整数上的一种现象而已,我们还需要看到更本质的东西(还记得高二哲学么)。考虑到小数的乘k和除k,不难想到这种性质的实质是小数点的移动,整数的末尾加0其实是小数点向右移动一位的结果。显然小数也有类似的结论:将k进制小数的小数点左移一位,相当于该数除以k。比如,十进制中3.14除以10就变成了0.314。结论的证明和原来完全相同:除以k后展开式中的指数全部减一,相当于所有数右移一位。有了这个结论,我们的方法就出来了。来看六进制12.345如何转换为十进制。由于这种方法对整数和小数的处理方法有一些不同,转进制时我们通常对整数部分和小数部分分别进行操作。先把12转成十进制的8,然后单独考虑小数部分。0.345可以看作是数字“5”的小数点左移,加上4后小数点再次左移,再加上3并最后一次左移小数点;写成算式即((5/6+4)/6+3)/6。展开这个式子,实质与前面的方法仍然一样。小数部分十进制转六进制依然是彻头彻尾的逆向操作:当前数不断乘以6并取出整数部分写下来。
这里有一个实例供大家参考,这个例子中的进制转换保证不涉及无限循环小数。1/4在十进制和六进制下的表示肯定都是有限小数,因为4的唯一一个因子2同样也是10和6的因子。先看0.25怎么变成六进制:0.25*6=1.5,取出1,留下0.5;0.5*6=3,没有小数部分了,因此(0.25)10就等于(0.13)6。现在我再把它变回去:(3/6+1)/6=(0.5+1)/6=1.5/6=0.25。这不是彻头彻尾的逆操作吗?
每年NOIp前总有人问负进位制。事实上,如果你搞清了上面的问题,负进位制将非常好理解。负进位制有一个非常奇特的功能:它可以表示出负数但不需要用负号。一个负进制数可能是负数,也可能是正数。比如,负六进制下的12等于十进制下的-4,而负六进制下的123等于1*(-6)^2+2*(-6)^1+3,即十进制下的27。是正是负取决于位数的奇偶:若该数有偶数位,则该数为负数;若有奇数位,则该数为正数。原因很简单,小数点每右移一位,相当于这个数乘以-6;从一位数开始,乘奇数次后该数的位数变成偶数且值为负,乘偶数次该数仍有奇数位且值仍为正。由于末尾添0的性质(小数点移位的性质)仍然成立,负六进制与十进制的转换依然是上面的方法:(123)-6=(1*(-6)+2)*(-6)+3=(27)10。十进制转负六进制?还是那句话:彻头彻尾的逆操作。找到最小的非负整数x使得当前数减x能被6整除,这个x将作为新的最高位写到结果中,然后当前数减去x再除以-6。在这里我不说“余数”这个词,因为当除数为负数时对余数的定义很模糊。不再举例子了,例子都举烦了,自己把(123)-6=...=(27)10那一行倒过去看就是例子了。
当然,还有更神奇的:-1+i进制可以表示出复数来,因为-1+i的幂有时含有虚数有时不含虚数。运算和转换依然和上面这些东西一样,我也就不多说了。
进位制的问题结束了。我们这里是以六进制为例进行的说明,但是不要忘记,最有趣的仍然是二进制。与二进制有关的趣味问题遍地都是。举个例子,你可以在这里的第三题看到一个二进制的经典应用。
文章最后还是那三句话:
Matrix67原创
转贴请注明出处
请大家帮忙校对
这次的错别字可能很多,因为我不是用的紫光,而是用的fcitx,没办法使用原来的词库了。
讲解也可能有漏洞,很多东西是我突然想到,即兴写下的。大家帮忙纠错啊!
附一:四道进位制练习题及其简略解答
下面这些题目是在我公布的那个课件里的,是我收集的一些很不错的具有代表性的题目,讲课时已经用过多次了。
1. 证明:Σ(n=1 to ∞)6^( (2-3n-n^2)/2 )是无理数。
解答:用六进制表示此数,该数显然为无理数。
2. 在哪一种进制中,35与58互质?
解答:由于出现了数字8,因此进位制至少为9。事实上,35和58在任何不小于9的进位制下都互质,因为辗转相减不会出现“不够减”的情况,任何进制下最终都得1。
3. 证明:没有一种进制使三位数aaa恰等于a^3。
解答:设此数为k进制,则ak^2+ak+a=a^3。此方程无整数解。
4. 在哪一种进制中,792可以被297整除?
解答:这道题目非常有趣。在任何一种进制下,200的四倍都已经超过792,300的两倍都还不足792。那么,792只可能是297的三倍。设进位制为k,问题转化为解方程7k^2+9k+2=3*(2k^2+9k+7)。
附二:进位制笑话不完全收集:)
1. What would the value of 190 in hexadecimal BE?
2. If only DEAD people understand hexadecimal, how many people understand hexadecimal?
3. There are only 10 types of people in the world — those who understand binary, and those who don't.
4. There are only 10 types of people in the world — those who understand trinary, those who don't, and those who mistake it for binary.
5. Why do mathematicians think Halloween and Christmas are the same? Because 31 Oct = 25 Dec.
今天没事干,去看电影去了。真是好久都没去电影院了,记得最近的一次也是初三的时候和(传说中的)ZJ看《THE MATRIX REVOLUTIONS》和《THE CORE》(忘了哪个在后面了)。高中这么忙,又想到反正网上也下得到,后来就不怎么爱出去看电影了。这次突然又想看了,是因为全球同步首映嘛,就好像看体育直播一样,很激动;还有就是不管好不好看,到时候网上出来了也要看看,倒不如现在就看了。网上等会等得很辛苦,从TS到TC再到DVDSCR最后出 DVD要走很长一段路。
引用某位代表先进生产力的老师说的话,电影《达芬奇密码》有以下两点问题。
1.昏的
我敢说,如果谁没看过书,后来的几个转折肯定看不懂。有些地方确实没讲清楚,如果不是看了书的话根本不可能知道。所以说,整个后半场都是昏的。
2.对教材不熟
电影算比较忠实原著,但还是有许多地方省略了。比如大小两个密码筒,外面那一个字母映射的“SOFIA”密码省了;还有诸如输入1123581321时 “撤消”等情节也没了。有些地方,我可以说它结果相同,也可以说它结果不同。所以说,拍这类电影应该搞教材,搞笔记,要把教材玩弄于骨掌之间。
回留言:
呵呵,我不是这个意思,在留言里败坏我形象的当然不是说的你们,是怕尚猫等留些言说“……………………(省略)”让别人看。
显然达芬奇密码不可能和THE MATRIX比,甚至可以说达芬奇密码的电影完全失败了。这么精彩的小说完全可以拍得更好,就像指环王一样可以创造一个小说改编电影的奇迹。











