Kolmogorov复杂性简介(转)

转自http://blog.163.com/bit_runner/blog/static/532422182010112011555242/

旋转的骰子

  谁掌握了随机概率,谁就会赢得诺贝尔奖,或者可以在赌场中消磨时间。对于正在解决随机概率问题的数学家而言,赌博的回报非常高。

  如果有一天你在赌场消磨时光,你会注意到一种很奇怪的现象,如果连续掷一百次骰子,赌博机更多地给出奇数。于是你的脑海里会闪现出获取巨额回报的念头:是否应该赌奇数呢,或许这只是迷信在作怪?
你的困惑是一直困扰着赌徒和数学家的难题:如何分辨一个独立的事件是随机的还是有规律可言的。我们身边充满了随机事件,从股票的价格到原子的运动,然而它们无从捉摸,如果能搞明白的话,我们也就不称其为随机事件了。
形象地说,科学家永远生活在随机事件的汪洋大海中少数几个有序事件的海岛上,这是因为他们只能够研究可以描述的事物。一个真正的随机事件本身无规律可言,因此是不可描述的。
按照经典的随机理论当然是这样,但是一个称为Kolmogorov复杂性的新观点开始彻底推翻了传统概念。数学家使用这个新理论发现了一件奇妙的事:在数学世界的某一个地方,角色发生了转换,在那里随机事件被有序事件包围着,就像湖被陆地包围着一样。
这一发现对数学家而言是一个巨大的突破。计算机科学家甚至将这一发现与导致产生量子物理学的突破相提并论,它意味着即使随机的“湖”不是有限的,也有 可能勾画出湖水的边缘。有了这样一张图,数学家将能够更好地研究随机事件的本质,解决迄今未能解决的难题。计算机科学家、金融分析家甚至赌徒都能从中受 益。
使这一切成为可能的数学概念可以追溯到六十年代中期前苏联数学家AndreiKolmogorov和美国数学家RoySolomonoff及 GregoryChaitin对随机事件定义的研究。他们认为大部分数值或位数续列都无规律可言,属于随机事件。但最大的问题是如何发现它们,如何区分这 些本质上缺乏明显特征的数值。
Kolmogorov、Chaitin和Solomonoff定义了一个数值的复杂性的概念。概括来说,一个位数序列的复杂性是指可以打印出这个序列 然后停止运行的最短的计算机程序的长度。使用“PRINT”命令,后面跟上位数续列的数字,可以写出任何位数序列的计算机打印程序。一个序列的 Kolmogorov复杂性永远不会超过数字序列本身与用于编码计算机命令“PRINT”的代码位数的长度之和。
当然,有些非随机序列可以用更短的程序打印。圆周率的前10亿位不是随机的,因为其可由一个很短的程序产生。而由100个1组成的序列由于有规律可 言,可用简短的程序如“PRINT1100Times”完成。事实上,任何可用简短的程序打印的数值不可能是随机的,随机数值是不可压缩的。
虽然这一概念看似简单而且令人瞩目,但是决定Kolmogorov复杂性却极其困难。假如一个数值有很长的位数,产生它的程序也差不多一样长,是否就 能证明这个数值是随机的呢?当然不能,因为也许还存在一个你不知道的更简短的程序可以达到同样的目的,即这个数值可以用某种隐含的方法进行压缩。事实上你 可能永远不会知道是否有一个最短的程序,不仅实际上不可能发现计算这个数值的最短程序,而且在理论上也行不通。
这一难题使数学家束手无策,因为他们只能研究很小一部分有规律的数字,剩下的随机数字由于不可能证明其是否真正是随机的,所以永远不能进行研究。
因此,Kolmogorov复杂性更像是一个新奇的理论而不是一个实用的数学工具。但在最近几年中,荷兰阿姆斯特丹大学数学与计算机科学中心的信息理 论专家PaulVitanyi及其长期的合作伙伴、加拿大滑铁卢大学的MingLi在应用Kolmogorov复杂性方面取得了巨大的进展。
他们惊人的研究成果与二十世纪初德国数学家HansHeilbronn提出的著名的几何学问题有关。这一问题讨论的是如果在一个正方形中放置n个石子 并在其间连接出一系列的三角形,石子如何分布才能使产生的最小三角形的面积最大。数学家将最小三角形的最大可能面积称为第n个Heilbronn数。
即使石子的数量很小,解决这个问题也极具挑战性。有五个石子时,Heilbronn数约为0.1924,即最小三角形面积是正方形面积的0.1924 倍。第六个Heilbronn数是正方形面积的1/8。但是在有7个石子时,Heilbronn数就很难计算了。Heilbronn怀疑在石子数量很大 时,Heilbronn数约为1/n2,即1000个石子时,最小的三角形的面积不会大于正方形面积的一百万分之一。但是1982年,几何学家证明Heilbronn的猜测是错误的,n的实际指数可能在8/7和2之间。但到目前为止,还没有人知道如何计算出正确的数值。
这个难题的另一个版本更加难以解决,即Vitanyi及其同事选择攻克的难题。他们不是寻找n个石子的最佳分布,而是设想如果石子随机地落到正方形 中,将会出现什么样的情况,在这种情况下形成的最小三角形的面积大小又如何。这里要涉及随机事件的问题。在研究石子的某一种分布时如何能够确定其是随机的 呢?
Li、Vitanyi和加拿大安大略省汉密尔顿McMaster大学的TaoJiang推测,尽管答案本身必须涉及随机概念,但是对答案的任何细微的 偏离都会包括一些有序事件,并可以使用Kolmogorov复杂性理论将其识别和排除。这样,他们可以通过消除所有的非随机概率,只留下随机事件,从而逼 近答案。
这一方法的核心是使用正方形内的座标为石子定位,也就是说任何石子的分布都可由一个数字序列表示。如果可以写出一段较短的能产生同样序列的计算机程序,对序列进行压缩,则石子的分布不可能是随机的。
就像很多数学证明一样,第一步是猜测答案,然后证明它的正确性。Vitanyi及其同事猜测了一个答案,并证明如果石子的间距大于猜测距离,则在往正 方形上添加石子时,石子的分布将是有规律可循的。同样,他们也证明了如果石子的间距小于这个猜测距离,至少会有三个石子位于同一直线上,这样就可以对座标 序列进行压缩,它不是随机的。通过证明石子间距不能大于或小于猜测距离,即描绘出了随机事件的界限,剩下的唯一可能就是该猜想是正确的。
研究小组使用这种方法证明了最小三角形的面积与正方形面积的比为1/n3。因此,如果一个正方形中分布有1000个石子,则最小三角形的面积约为正方形面积的十亿分之一。1999年2月他们在因特网上发表了这个研究成果。
这是一项极为出色的成就。数学家现在有了一个强有力的方法可以准确地陈述随机事件而不仅仅是给出一个随机数。Vitanyi说:“随机事件是可互换的,这是因为它们没有可用来有效地选择子集的特性。它们就像海洋中的水分子一样不可区分。”
对每一个有可能发生的随机事件的分布而言,上述答案都是正确的。最巨大的进步是数学家已经由完全忽略每一个随机序列飞跃到能够对所有的随机事件进行一 些描述。由于绝大部分的数值是随机的,因此,这是一个令人瞩目的成就。所以,美国斯坦福大学计算机复杂性方面的首任专家、Sun公司的创始人之一 VaughanPratt称Kolomogorov复杂性理论是一项可以与物理学的波粒二象性的发现相比拟的伟大理论。当物理学家不再认为亚原子粒子是位 于空间中的某一点,而是一个分布在空间中的波后,他们就能够更好地预测粒子的特性。同样,通过将随机数当作不能确定的对象处理,数学家们有了一个崭新、强 大的解决问题的方法。VaughanPratt说:“这使你可以集中精力于所有可能性的计算。”
这一发现的意义超出了纯数学的范畴。Vitanyi的研究小组及其它数学家正在寻找将这一新发现应用于计算机科学的方法。其中的一个重要应用是确定某 一计算机程序的平均运行时间。通常这一问题的解决都被简化为找到一个用于测试程序的平均数,而平均数不具有代表程序运行特别快或特别慢的数值序列或分布, 虽然从数学上说平均数应该与一个随机数基本相等。计算机科学家深刻地认识到找到一个真正随机的数值是极为困难的,他们只能去寻找最佳和最差的情况,也就是 去寻找一组特殊的数值序列来表示程序运行的最长和最短时间。在平均条件下最糟的情况可能与程序运行的速度无关,因此这一方法并不成功。
但现在也许有了新的解决方法。最近Vitanyi和同事将测定随机事件的概念应用于确定一个被称为Shell的目录分类程序的平均运行时间,这是四十 年来一直未解决的一个问题。现在测定随机事件的概念正在普及,美国新泽西州的数学家和计算机科学家XiaoWang称这一方法为更好地解决华尔街最复杂的 问题之一,即如何确定衍生金融工具的公平市价问题,指明了方向。这些衍生金融工具的价值取决于股票根据规定的总量跌涨的可能性,因而也取决于对市场随机波 动的预测。
由于股票市场极其复杂,像Wang这样的分析家不会使用一个数学公式为衍生金融工具定价(虽然经济学家FisherBlack和 MyronScholes最近因发明了这样一个公式而赢得诺贝尔奖,但许多分析家认为他们对投资者如何做出反应的预测太简单化了),而是在强大的计算机上 对股市进行多次模拟后,作出平均预测,这一方法称为蒙特卡罗法。Wang说:“这对很多问题都有效而且非常简单。不足之处是其达到可靠预测所需的时间极 长。”
Wang认为,要谈蒙特卡罗法的低效率还需回到Heilbronn问题,当计算机模拟诸如正方形中点的随机分布等问题时,会产生过多的点“簇”, Wang说:“如果在某一给定的区域中有一个点簇,就会过份强调那个区域。”Wang成立了一家名为高级分析(AdvancedAnalytics)的财 务咨询公司,推销一种专利方法,这种方法能够给出虽然不是随机的、但分布更平均的序列。因此Vitancy、Li和Jiang的成果成了Wang的专利方 法的数学保证。他们的成果通过精确描述随机模拟中簇聚的程度,使Wang可以确定在使用更多的相同模拟后可以达到什么结果。
爱玩计算机动画掷骰子游戏的赌徒现在也有了希望,在本文开头的例子中,赌奇数是一个好主意,一行中出现100个奇数不是侥幸,而是一个很容易压缩的有规律的结果,因此不可能是随机过程的结果。趁管理人员还未发现,赶紧用这种方法赌博吧。

(周奇编译自《NewScientist》99-11月号)

发布了18 篇原创文章 · 获赞 26 · 访问量 12万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章