干细胞之家 - 中国干细胞行业门户第一站

 

 

搜索
朗日生物

免疫细胞治疗专区

欢迎关注干细胞微信公众号

  
查看: 21896|回复: 4
go

沃尔夫勒姆和他的“新科学” [复制链接]

Rank: 7Rank: 7Rank: 7

积分
13286 
威望
13286  
包包
34831  

论坛元老 精华勋章 金话筒 专家 优秀会员 优秀版主

楼主
发表于 2014-8-5 12:33 |只看该作者 |倒序浏览 |打印

载《文景》20033月号

 

沃尔夫勒姆和他的“新科学”

钮卫星

 

1

在传媒发达、信息通畅的今天,科学家成为大众瞩目的焦点已不是什么新鲜事。在刚刚过去的2002年里,人们对理论物理学家斯蒂芬·霍金到访中国而掀起的“霍金热”还记忆犹新。同样是2002年,在大洋彼岸的北美大陆,另一位同名的斯蒂芬因一本《一种新科学》(A New Kind of Science
1 `* t1 h6 S& I6 o4 ^以下简称《新科学》)而成为“科学界的小甜甜”。[1]
* k! t3 P. d* Q2 ^# L. g7 v' a2002514日发行之后的一个星期里,《新科学》初版五万册就全部销售一空。在网上书店“亚马逊”的排行榜上,其销量直逼惊栗小说作家约翰·格雷斯姆(John Grisham)和浪漫小说作家丹妮尔·斯蒂尔(Danielle Steel)的作品,一度高居榜首,成为2002年夏天最畅销的书。
9 S  Y# v; u6 V0 Z6 L  《新科学》这书名,看上去是一幅要惹事的样子。而作者在这里确实没有使用修辞手法,在书中作者实实在在地声称创造了“一种新科学”。因此该书引起了媒体和读者――尤其是读者中的专家们――的广泛注意。在出版后的六个月内,就有近200篇关于该书和该书作者的评述文章发表在包括《新闻周刊》(Newsweek)、《商业周刊》(Business Week)、《卫报》(The Guardian)、《每日电信》(The Telegraph)、《纽约时报》(The New York Times)、《连线》(Wired)等各大媒体上。前沿科学杂志《自然》(Nature)也发表了一篇与该书有关的文章和一篇书评。
. S- G, W/ K7 d4 n7 V
  那么《新科学》究竟是怎样一本书?声称创造了“一种新科学”的该书作者又是怎样一个人呢?
( W0 g# I3 s) w$ N
  虽然作出类似声称的人往往会被视为“民间科学家”或“伪科学”、“反科学”狂人,但是《新科学》的作者斯蒂芬·沃尔夫勒姆(Stephen Wolfram)却绝非泛泛之辈。沃尔夫勒姆1959年出生于伦敦,父亲是相当成功的作家,母亲是牛津大学的哲学教授。他幼年聪慧,13岁入伊顿(Eton)公学,15岁发表首篇粒子物理方面的学术论文,到17岁,他的科学论文发到了《核物理》(The Nuclear Physics)杂志上。在获得牛津大学的奖学金并在牛津学习一年之后,即到了美国阿格纳国家实验室(Argonne National Laboratory)的理论高能物理小组(Theoretical High-Energy Physics Groups)工作。197819岁的沃尔夫勒姆受著名物理学家穆雷·盖尔曼(Murray Gell-Mann)之邀去到加州理工学院(the California Institute of Technology),从事基本粒子物理学方面的研究,取得显著成就,一年内获得理论物理学博士学位。1980年沃尔夫勒姆成为加州理工学院一员,与费曼(Richard Feynman)共事。1981年被授予麦克阿瑟“天才人物”奖(MacArthur "Genius" Fellowship),并成为该奖最年轻的获得者。之后他又到了爱因斯坦度过后半生的普林斯顿高级研究所(the Institute for Advanced Study)工作,再后来又成为伊利诺斯大学(the University of Illinois)的物理学、数学和计算机科学教授。
; E! E- x$ ]* z, x) W% E7 y  198627岁的沃尔夫勒姆创立了以他的姓氏命名的沃尔夫勒姆研究公司(Wolfram Research, Inc)后,离开了学术界,成为一位企业家。1988623日他的公司发布了一种著名的数学软件――“数学”(Mathematica),该软件使得人们可以随心所欲地进行各种复杂的数学运算,解方程、求导数、求积分、求矩阵的逆、画三维图形等等不再是一件烦人的苦差事。温伯格说他学会使用“数学”软件的那一天是个快乐的日子,因为那样他可以摆脱叫研究生助手解算微分方程而产生的窘迫感。[2]! s& Q6 F' N: `: k. b/ p1 ^
加州大学圣迪亚哥分校通讯和信息技术研究所主任拉雷·斯马尔(Larry Smarr)把该软件称作有史以来最重要的科学软件。[3]) e- |) ?5 a% W3 d2 b
沃尔夫勒姆本人则因发明该软件被认为是“人类的伟大赞助者”。[4]8 B" V; V( S$ w# \
目前该软件在科学家、工程师以及其他各种职业中有大量的使用者,其数目超过一百万,沃尔夫勒姆因此也成为千万富翁。; a, C4 c8 V5 y, V8 q; `
  在学术和商业上都取得了如此的成功,沃尔夫勒姆无疑是一个绝顶聪明的人,但是他怎么会写出《新科学》“这样一部愚蠢的书”呢?[5]# @! R. a. w2 C8 T1 Z
& b! h9 {; h' U1 H  E9 A4 J% f+ Q
  早在1981年,沃尔夫勒姆的研究兴趣从基本粒子转向了自然界中复杂性的起源问题,试图通过电脑运算来解释各种复杂现象,并取得了一定的成果。由于研制和改进“数学”软件,以及监管公司的运营,他的这一研究兴趣被一度压制。1991年“数学”软件第二版发行之后,沃尔夫勒姆开始抽出一部分时间来继续先前的研究。他一般在晚上10点整坐到他的电脑前开始他的科学工作,直到天亮,再睡到中午,然后与他的前数学家妻子和三个孩子度过下午。沃尔夫勒姆就这样在几乎隐居的状态下进行他的科学研究,按照他的说法,牛顿和达尔文在发表他们的惊人之作前,都是单打独斗了好几年的。[6]' A" S  ^( F( [& S0 N8 T3 |/ h7 L

6 P' Q7 ?( X- {  在总共4000多个漆黑的夜晚里,沃尔夫勒姆敲击了一亿次键盘,移动了一百多英里的鼠标,作了上万页的笔记,产生的研究结果占了10G的硬盘空间,编制了近一百万行的“数学”软件命令,运行了一千万亿次的电脑运算。[7]
! h: J+ E5 r6 I3 `3 p2 M5 N: H最后形成了一本1200多页、5磅重的大部头。  }5 Z% I7 R$ ?4 s8 f
  沃尔夫勒姆声称此书是科学史上最为重要的一部著作,而他所做的一切不亚于牛顿的贡献。[8], _* `) f0 V, b2 `5 o
早在该书面世以前,沃尔夫勒姆在接受《福布斯》杂志记者采访时就夸耀了他将在书中给出的几个主要发现,譬如,向自然选择学说作出挑战;时间为什么单向流逝;怎样制造人造生物;解释股市涨落;诸如从雷电到星系的复杂系统如何蕴藏着智能;树叶、树木、贝壳、雪花和几乎所有其他东西的形状为什么是那个样子的,等等等等。[9]+ {  ?4 z: J4 {3 M7 c- t2 D# ^

" |3 f% m7 U1 K3 b' k0 D/ W+ H  这些属于绝然不同的研究领域、看起来似乎风马牛不相及的问题,如何在沃尔夫勒姆所谓的“新科学”下得到统一的解释呢?

2

上个世纪50年代乌尔姆(Stanislaw M. Ulam)和冯·诺伊曼(John von Neumann)为了研究机器人自我复制的可能性,提出一种叫做元胞自动机(Cellular Automaton)的离散型动力系统(Discrete Dynamical Systems)。元胞自动机是研究复杂系统行为的最初理论框架,也是人工智能的雏形。
4 T" a0 }2 @* o$ E  设想一个平面上纵横相交的许多直线构成了许多网格(这里以平面为例,但不限于二维平面),每一个网格就是一个细胞。这些细胞可以具有一些特征状态,譬如被染成黑、白、红、绿等颜色。在每个特定的时刻每个细胞只能处于一种特征状态中。随着时间的增加,或者叫做叠代过程的进行,每个细胞根据周围细胞的状态,按照相同的规则自动地改变它的状态。这就构成了一台元胞自动机。7 h% |+ p: n6 s' J" o& {
  决定一个元胞自动机的先决条件有四个:1、决定细胞活动的空间维度,譬如一维的、二维的或三维的,等等;2、定义细胞可能具有的状态;3、定义细胞改变状态的规则;4、设定元胞自动机中各细胞的初始状态。* d/ E* Q* N4 I/ O$ @  r
  1982年沃尔夫勒姆发表了第一篇关于元胞自动机的学术论文,从此开始了对元胞自动机的系统研究。沃尔夫勒姆着重研究空间维度为二维的元胞自动机,细胞可能具有的状态只有两种,用颜色表示成黑色或白色,一个细胞只根据上一行中与该细胞紧相邻的三个细胞的状态来改变自己的状态。被这样设定的元胞自动机叫做一维元胞自动机。
# J  V5 i* N( \1 \7 I4 t) a  考虑并排的三个格子,它们分别被赋予黑白两种状态,通过简单的排列后,我们不难得到共有8种组合状态。这8种组合状态的每一种都各自决定下一个细胞是黑色或白色,这样总共有256种可能性。因此在沃尔夫勒姆考虑的元胞自动机种类中,细胞改变状态的规则有256种。沃尔夫勒姆把这256种规则一一编号,譬如第110号规则是这样的:

用文字来叙述就是:当某细胞的上一行相邻三个细胞为全黑、全白或者左侧一个细胞为黑时,该细胞为白色,1 S$ @6 A, ?; P5 x3 Z
否则为黑色。设定一个简单的细胞初始状态,譬如在第一行只有一个黑色细胞,根据规则
110,元胞自动机就可以
- |0 ^' K4 P5 W& Y0 ]
1 M; \% x3 c! e' L' Z; R5 M
自动把其余的细胞变成黑色或保留白色。上左图就是根据规则110运行了前20步的情况,在这里似乎看不出什么有趣的东西。但运行到几百步后,就出现了一些有趣的特征,一些结构开始既不是周期性地也不是完全随机地出现在画面上。上右图就是按规则110运行到700步的情况。1984年沃尔夫勒姆把256种规则分成了四类:第一类只生成简单重复的图案,比如全黑、全白、或黑白相间如国际象棋棋盘等等;第二类规则产生一些自相似的分形图案,形成稳定的嵌套结构;第三类规则产生的图案具有明显的随机性;第四类规则产生复杂的图案,但不简单重复。这些图案既不是规则的也不是完全随机的。它们呈现出某种有序性,但却不能被预言。

沃尔夫勒姆所青睐的正是这第四类规则。规则110是第四类规则中的精粹(被认为几乎与规则110同样有趣的还有规则30)。通过规则110元胞自动机可以实现从简单的规则和简单的初始条件产生出复杂的图形模式。发现规则110和规则30元胞自动机是沃尔夫勒姆对元胞自动机理论所作出的巨大贡献。

3

《新科学》以如下惊人之言开始它的鸿篇巨制:“三个世纪以前,人们发现建立在数学方程基础上的规律能够用于对自然界的描述,伴随着这种新观念,科学发生了转变。在此书中我的目的是将要用简单的电脑程序来表达更为一般类型的规律,并在此种规律基础上建立一种新的科学,从而启动另一场科学变革。[10]
& X5 w5 M) Y# j& B9 {& o$ e  [7 o8 n/ N# M: Z' P
  作者沃尔夫勒姆在这里所指的三个世纪前那场发生在科学上的转变就是我们常说的“科学革命”,那场革命以哥白尼发表《天体运行论》为开端,经过伽利略和开普勒等人的推进,到牛顿出版《自然哲学的数学原理》达到高潮。沃尔夫勒姆认为“传统科学”未能建立起解释宇宙复杂性的理论,靠数学方程做不到这一点。所以他要发动一场新的“科学革命”,革命的内容就是要用简单的电脑程序取代数学方程。  e- g; s4 C  E* D( T: G2 g$ y
  沃尔夫勒姆所钟情的这种简单的电脑程序就是上文介绍的元胞自动机。
% G# G% ?, @. y% B; M
  《新科学》首先用元胞自动机完成了乘法、除法运算,和求素数、求平方根、求π值,甚至解偏微分方程。并把一维元胞自动机扩展到多维元胞自动机,产生更高的复杂程度,模拟了雪花、生物细胞等等。; ~9 |* X/ g/ e# `9 p
  沃尔夫勒姆在书中进一步把元胞自动机与周围的真实世界联系起来,弹子球、纸牌游戏、布朗运动、三体问题等等问题中的随机性都可以用元胞自动机来解释;流体的湍流、晶体生长的规律、华尔街股票的涨落也都可用元胞自动机来模拟;还有自然界中的树叶、贝壳、生物色素沉着等,元胞自动机能生成与它们一模一样的图案和形态。- j( V& j4 V+ D: z  m! W5 c
  沃尔夫勒姆是从物理学开始步入学术殿堂的,他却在物理学领域吹响了最嘹亮的“革命”号角。他很聪明地构建了一种“保守的”的元胞自动机,这种元胞自动机产生的无序性是可逆的。这种保守的、可逆的元胞自动机与热力学第二定律发生冲突。沃尔夫勒姆进一步认为宇宙也是一台元胞自动机,空间、时间、引力、相对论和量子力学也是这台宇宙元胞自动机所呈现出来的各种表象。他还深信,宇宙元胞自动机的初始规则,用他的“数学”软件来表达,也许只有几行命令。
; C5 u/ {) K/ i8 l) D: E* `( @5 M
  沃尔夫勒姆最后对他的元胞自动机理论作了进一步阐述和提高。他指出规则110元胞自动机是普适的,等价于一台普适图灵机(Universal Turing Machine[11]――这一点由沃尔夫勒姆在1985年左右作出猜测,由他的公司雇员库克(Matthew Cook)在上个世纪90年代中期给出证明。在书的最后一章给出了几乎可以被称作为“沃尔夫勒姆原理”的“计算等价原理”(the Principle of Computational Equivalence):几乎所有达到一定复杂程度的系统都等价于规则110元胞自动机,也即等价于一台普适图灵机。
! [8 X' G4 Y) N) Q2 i; q" w  《新科学》的写作似乎就是实践了沃尔夫勒姆钟爱的信条:从简单可以产生复杂。全书巨大的篇幅归根结底只围绕了一个单一的主题――规则110元胞自动机。沃尔夫勒姆从元胞自动机出发招惹了各个学科的各种问题,试图给出宇宙间所有问题的答案。

4

沃尔夫勒姆的“新科学革命”波及了如此广泛的专业领域,他的一些“过激”言论自然遭到一些领域内专家的反驳。对生物学,他写道:“生物系统常被当成自然界中复杂系统的极好例证,人们设想它们的复杂性必定从根本上要比其他系统的要高,这是毫不稀奇的……而我相信,生物系统中许多最为明显的复杂性例子事实上与适应环境或自然选择几乎没有关系。相反,它们主要只是我所发现的基本现象的一个结果。”[12]0 d  Y4 T0 Z! q. g( k* E/ k
沃尔夫勒姆以某些软体动物的壳为例,指出这些壳上的图案与一些元胞自动机生成的图案非常类似。而这种类似绝非巧合:壳的图案由一层层的色素分泌细胞(生物细胞)沉淀而成,这些色素分泌细胞与相邻的细胞交换化学信号,其行为与元胞自动机非常相似。这种类似性虽然不是由沃尔夫勒姆首次提出来,但是他进一步指出了某种元胞自动机规则类型中所有可能的规则都可以在不同的软体动物的壳上找到。; F) V! F8 [8 x! E" |' ^
  事实上沃尔夫勒姆所举的只是一些有限的简单的生物学例子,就得出结论说许多生物体上的差异最终几乎都与自然选择无关,这未免过于草率。评论者认为对进化生物学的论述是《新科学》中最站不住脚的部分,[13]
! f: {3 i0 e/ b: e$ I9 v: N6 h也有人批评作者缺乏必要的生物学知识,而元胞自动机也从来没有产生出一种比一条蚯蚓更复杂的生物来,所以沃尔夫勒姆作为一个研究复杂系统方面的专家,就这样冒冒失失地闯入生物学领域,只是愚弄他自己而已。[14]
# B: o7 l3 n3 B; a5 D, Z1 _" w+ g7 B+ d! U2 O
  或许应该肯定沃尔夫勒姆在《新科学》里给出了一些好的事例,它们说明自然选择学说还不能解释某一种生物体上的复杂特征。这属于科学,但不是新的。生物学家们知道得很清楚,自然选择学说不能预言某一匹斑马身上的特殊条纹,就好比物理学家们知道通过解算微分方程不能预测一年之后的天气。
' c; j& D/ ^$ C0 N. }2 V: \  复杂性和随机性可谓此书的中心论题,但是沃尔夫勒姆一直不对它们作出严格的定义,直到第550页才稍稍正面论及它们。沃尔夫勒姆是从观察者对复杂系统的感觉如何,而不是从复杂系统本身如何产生,来定义复杂性和随机性。也就是说,它看上去是复杂的,它就是复杂的。在处理混沌这个概念时,沃尔夫勒姆也有意把混沌等价于“对初始条件敏感的现象”。对初始条件敏感而产生混沌,只是混沌产生的一个方面。人们早就认识到一些简单的系统也能产生混沌效应。议者猜测,沃尔夫勒姆避免提到这点,是为了好让读者以为是他发现了简单的规则能产生复杂、随机的效应。全书有超过30处作出了这样的暗示。[15], f: c  ~2 ~$ M8 m3 V1 v! }
  《新科学》中有关数学方面的论述也让一些数学家们感到疑虑。关于哥德尔定律,沃尔夫勒姆写道:“此处的构造可以被视为提供了哥德尔定律――算术体系中存在无法证明的陈述――的一个简单证明”。[16]4 G1 }0 S: U1 b% i/ L
但评论者指出,这个说法是不对的。书中提供的证明依赖规则110的不可判定性(undecidability),因此相比其他哥德尔定律的证明,书中的证明要复杂得多。[17]
  q) |* Z4 t( V( Z; X+ Y  沃尔夫勒姆的“计算等价原理”是一条让人褒贬不一的大胆设想。他认为,所有过程,无论是由人力产生的还是自然界中自发的,都可以视作一种计算过程。在他看来,从山顶滚下的岩石也是计算机,因为这个系统每一步都有输入,按照固定的规则更新系统,就如PC机一样。沃尔夫勒姆之所以产生这样的观点,是因为按照他的定义,宇宙就是一台电脑。在接受《纽约时报》的一次采访中,沃尔夫勒姆承认在角落里静静地生锈的一桶铁钉也是一台普适计算机,其相关特征与人的智能是可有一比的。[18]
+ o0 Y3 N' z( c8 D5 c  总而言之,来自各专业领域的评论者对《新科学》的评价往往不高。譬如,一位来自人工智能领域的专家评论第十章“知觉和分析的过程”中有关于人工智能的论述时说,这一章的论述让他很失望。[19]/ J) p1 a& k- a1 [5 t; X6 K! B
另一位评论者则说,“每当他(沃尔夫勒姆)写到我很了解的东西时,他往往是错的。”[20]+ s6 B  g) p8 x6 W( Z" l3 L( \/ p
一位研究相变的评论者则指出了书中第981页和983页上关于相变的两处论述是错误的。[21]

5

正如书名所强调的,沃尔夫勒姆要展示给读者的是一种“新科学”。而正是这个“新”字召来了更多批评。对于书中反复宣称的“复杂的行为和现象源于简单的规则”,议者指出这完全不是什么新知识,在过去15年里有1000多篇专业论文和好几十本通俗著作介绍过这个主题。[22]; }& o( Z+ J" v7 v9 x5 l6 ]& x8 c
就是在作者自己的研究领域里,也是数十年前的老新闻了。“计算等价原理”也只是作者上个世纪八十年代一些工作的复述。书中很多内容只是对于那些不熟悉元胞自动机领域的读者才是新的。作者所谓的新发现其实大多是相关领域内的专家所熟知的事实,而所谓的新科学“只是我们称之为‘复杂性科学’或‘复杂系统科学’的那种科学”。[23]
' m4 y$ e1 [; a+ F7 X沃尔夫勒姆往往站到他称之为“传统科学”的对立面,命令“传统科学家”们对他们不感到惊奇的东西感到惊奇。[24]
. [$ Q2 S# n: `) H# E! D4 n1 U! R  “本书的诸多发现暗示了一种新的完全不同的机制,我相信这种机制确实对很多复杂系统譬如我们在生物学中看到的例子发生作用。”[25]
6 V6 j6 T$ G- s' C; \  ~$ s《新科学》中充满类似的声称,然而书中有关进化论的观点与古尔德(Stephen Jay Gould)的一些观点如出一辙,但没有对后者的著作进行引用。[26]" k& q( {' a6 Q! Z! `- Q" W
至于发现了“新科学”这样的声称也不再是新鲜事了。盖雷克(James Gleick)在1988年出版的《混沌:制造一种新科学》(Chaos, Making a New Science)中就已经这样声称过,书中也介绍了复杂源于简单的道理。% e7 V3 a8 M/ |$ Q% n! `
  似乎是要与发布一种“新科学”的创举相称,沃尔夫勒姆还实践了一种全新的科学写作和出版发行模式。评论者戏称,沃尔夫勒姆不仅发明了一种“新科学”,还发明了一种新的科学写作法。[27]
7 k3 k2 S% L3 M: u  ^《新科学》全书可以分成前后两大部分:850多页的正文和350多页小字号排印的注释,各25万字左右。全书无致谢,无参考文献,所作注释也不遵守公认的学术规范。有人认为后半部分的注释似乎比正文更值得一读,因为在注释中作者解释了他的观点是如何得来的,并与其他观点作了比较。而在正文中他表现得他的观点似乎是从石头缝里蹦出来的,与别人毫无关系。[28]  m+ v1 J8 t! X1 g4 c2 a$ S2 N# D
沃尔夫勒姆在书中还大量使用他自己发明的术语而不使用已有的、通用的科学语言;他坚持使用“数学”软件中的数学符号而不用标准的数学符号,这大概只能方便感兴趣的“数学”软件使用者就书中的某些问题进行数学实验。
  i/ d* i  ]- l) v  《新科学》没有经过传统的出版发行渠道,而是由作者自己拥有的沃尔夫勒姆媒体公司(Wolfram Media, Inc.)出版发行,因此被人称作“私人出版物”。沃尔夫勒姆10多年来闭门造车,1990年以后不再在学术刊物上发表文章,远离了学术圈子的监督和评价。或许沃尔夫勒姆认为这是发布与“传统科学”不同的“新科学”所必需的举动吧。但是学术同行的评阅可以迫使作者把他证明了的、用实验演示了的、和仅仅是一种推测这三种情况明确区别开来,但沃尔夫勒姆在书中显然没有很好区分这三种情况,以致出现了上文所提及的很多错误。一位评论者说,“《新科学》赢得了我的兴趣,甚至赢得了我的钦慕,但不能赢得我的信任。”[29]看来通过编辑审稿、同行评阅的传统出版方式即使对“新科学”来说也是一种需要坚持的学术规范。
4 J! Y9 |& A9 Y' G" X  在一则题为“简明和谦虚”的注释中,沃尔夫勒姆解释说,他不得不牺牲后者来达到前者。他在夸大自己的成就方面确实毫不谦虚,在书中他称他的发现“比整个理论科学史上许多单个发现更为重要”。[30]
& x4 G) h# ]0 R, j8 o书中到处弥漫的这种傲慢与自负让很多人感到很不舒服。一位评论者写道:“沃尔夫勒姆极端狂妄自大地把他的关于元胞自动机的书取名为《一种新科学》,但这不是新的,这也不是科学。”[31]
/ [5 ~2 V( i4 m- E. ^  《卫报》的一篇文章说“沃尔夫勒姆的《新科学》在许多方面都是不一般的,它显然是我迄今所见的最为傲慢自大的科学著述。”[32]
9 h2 Z; {; e# E' Q6 b另一篇《卫报》上的文章则奉劝沃尔夫勒姆“应该收起他的傲慢,重新开始与他的同行们交流。他们至少能让他保持诚实。”[33]- C; ^6 z; V% ^, P" {" u
还有人不无惋惜地说:“假如沃尔夫勒姆少一点自我吹嘘,多一点谦虚,假如他更好地引用了而不是忽视了前人的工作,假如他进行了更多独立的同行评议,那么《新科学》将会是迄今最权威的关于元胞自动机的著作,人们也将更乐意阅读它。”[34]
2 N/ [2 D' N; T' o1 B  在对待前人的工作方面,沃尔夫勒姆的做法也被人指责不合乎学术规范。在《新科学》正文中没有引用一次他人的相关成果。譬如在讲到软体动物的贝壳图案时,他完全没有提到赫尔曼(G. T. Herman)和合作者在1973年提出一个用来模拟贝壳图案的元胞自动机。[35]
  ^1 g) z$ U8 `2 K在论述流体的湍流时他也没有提到斯威夫特(Jack Swift)和卡达诺夫(Leo P. Kadanoff)发表在1968年《物理评论》(Phys. Rev. 165 310)和弗里希(Frisch)等人发表在1986年《物理评论通信》(Phys. Rev. Lett. 56 1595)上的模拟水流的元胞自动机。[36]
! i/ v& k% A+ ^+ p当然他在正文中很小心地避免了把别人的成果说成是他自己的,但他善于作出这样的暗示。在书的注释中沃尔夫勒姆虽然介绍了一些概念的发展历史和前人的成果,但也巧妙地使用被动语态,从而隐去了成果的主语。
! O; d( D5 N! K" J& |  沃尔夫勒姆在《新科学》前言中宣称这种“新科学”是从1991年以来的这段时间里发现的。但是书中的成果和思想与前人的工作有千丝万缕的联系,有些思想直接得之于前人。譬如沃尔夫勒姆在书中鼓吹的“宇宙就是一台电脑”的思想最先由元胞自动机界的前辈、麻省理工学院计算机实验室前主任弗雷德金(Edward Fredkin)提出。弗雷德金回忆起在大约20年前的一次学术会议上,他向沃尔夫勒姆提出宇宙就象一台元胞自动机,沃尔夫勒姆不接受他的观点,并在后来的讨论中说他的观点是疯狂的。《新科学》出版之后,面对媒体沃尔夫勒姆反复强调他已经给予了包括弗雷德金在内的发展和完善元胞自动机理论的前辈们合适的评价。在一次电话采访中,他说“我已尽我所能把过去的事情讲清楚。这是一个涉及很多人的复杂故事。”[37]
1 P/ C! {% x4 l' w% o$ x# v  沃尔夫勒姆的“新科学”很大程度上是建立在规则110元胞自动机等价于普适图灵机这一条重要定理之上的。这条定理的证明由沃尔夫勒姆研究公司前雇员库克(Matthew Cook)在1994年给出。但是沃尔夫勒姆用公司与雇员之间的合同约束库克在《新科学》出版之前不得发表他的证明。[38]: h0 v) m" [% n/ D; G" k/ `5 ]
在这里沃尔夫勒姆简直把学术当做商业来运营了。2 b5 l; L5 z& y
  科学知识的增长是一个积累过程,任何科学研究都是在前人的工作基础上继续。所以在学术论文和专著中引述前人和同行的工作不单单是一个学术道德和学术规范问题,也是证明自己工作的正确性和取信于读者的重要手段。成就著卓如牛顿者,虽然在为人处世上多为后人诟病,但是在科学上他是谦虚的,诸如“巨人的肩膀”和“海滨嬉戏的孩子”之类的名言,后世传诵不绝。

6

  被尊为古希腊科学鼻祖的泰勒斯说:万物的本原是水;他的学生毕达哥拉斯说:万物的本原是数;到了如今这个计算机时代,终于有人站出来说:万物的本原是计算。
. G/ R$ D: |2 z" z' c; Q! K" T  控制论鼻祖韦纳(Norbert Weiner)在1948年的《控制论》(
Cybernetics)中提出宇宙的基本构件是信息的传递,而不是能量。弗雷德金将这一思想发扬光大,在20世纪80年代早期提出了他的“新物理学理论”,认为宇宙由最基本的计算软件构成。终极的实在不是粒子或力,而是根据计算规则变化的数据比特(bit)。[39]
7 y* ], X2 [( O: B. `弗雷德金热情地宣称:“在这世界中,没有什么是象比特这样具体的构件,它比光子或电子更具体,它不是实在的模仿,它不是假扮实在的东西,它就是实在。”[40]# |) S- w1 ?, ?

7 {  G3 t% a. G: l, m  西方人的一句谚语也许有点道理:“在木匠眼里,月亮是木头做的。”在整天与比特打交道的计算机专家眼里,世界也就是由一份一份的信息构成,在他们眼里宇宙是离散的而不是连续的。费曼在1981的一篇论文里也表达过这样的观点,而沃尔夫勒姆沿着这条路走得更远。在他的“新科学”里,基本粒子只是一种偶发现象,物体的运动、几何学之类仅仅是幻象。时间和空间由离散的最小单元构成,就如元胞自动机的细胞。宇宙间的一切变化只是细胞之间的信号传递。按照他的“计算等价原理”,宇宙就是一台普适元胞自动机。) C9 {( j1 F# w7 j3 y
  认识到宇宙是一台元胞自动机对我们人类自身有什么意义吗?它有助于我们回答一些最基本的问题吗?譬如弗雷德金曾经思考过的三个哲学问题:生命是什么?意识、思想和记忆是什么?宇宙怎么运转?
+ U0 l- \) ^' A; `  一些科学家,如牛津大学著名的进化论学者道金斯(Richard Dawkins),主张用元胞自动机模仿生物的进化。他们构造出模仿昆虫进化的元胞自动机,在电脑屏幕上观察昆虫的变异、繁殖和互相吞噬。弗雷德金对他的三个问题深思熟虑之后,竟也得出:有一个更高级的智慧生物在观察我们人类的进化、繁殖、相互残杀,人类只是存在于高级生命设定的一种元胞自动机中,人类所相信的实在只是宇宙幻觉,只是高级生命的电脑实验。我们人类的存在或许是被高级生命用于解决某个难题的。对弗雷德金的这种近乎科幻的思想,有人开玩笑说,“好消息是我们的生命有了目的了;坏消息是这个目的是为了帮助某个遥远的黑客来算π值小数点后第亿万万万位是个什么数。”[41]
3 _6 E5 n* [; w" n6 R电影《楚门事件》(Truman Show)和《十三度凶间》(The Thirteenth Floor)里的主角们最后都觉醒了,弗雷德金沃尔夫勒姆们难道是我们人类当中最早觉醒的几个?" }3 R6 v4 t0 C9 y
  抛开哲学层面上的意义不谈,作为一种“新科学”,人们期望它有更为具体的含义和更为实在的用途。但是沃尔夫勒姆在《新科学》正文最后一章最后一个段落里表达的意思把人们的期望变成了失望:“最后,‘计算等价原理’真正浓缩了科学的极端威力和科学的根本缺点。因为它意味着,所有宇宙间的奇迹都成了几条简单规则的俘虏,然而它也表明,除了实实在在地注视、观看这些规则会如何呈现其结果之外,没有任何办法去预先知道这些结果。”0 r* e5 r- l( C+ [
  第四类规则元胞自动机的一个属性就是它们即将生成的图案是不可预测的。既然属于第四类规则的规则110元胞自动机是普适的,任何相当复杂的系统又都等价于规则110元胞自动机。因此,大到宇宙,小到一桶生锈的铁钉,所有这些复杂系统的行为都不可能被预测。“新科学”家们所能做的就是象植物学家一样瞪大眼睛观察。想知道规则110元胞自动机第30000步会是什么结果?那么等它运行到第30000步自然就知道了(当然沃尔夫勒姆帮着算好的不算)。想知道明天的宇宙是什么样子的?那么耐心地等到明天吧。因为没有比实际运行宇宙这台元胞自动机更快的方法来让你知道明天的宇宙是什么样子的。* ]+ A) T: f1 @6 U' \( a' _
  沃尔夫勒姆的“新科学”就这样把人类置于不能预测、只能被动观察的境地,它除了在可能会兴起的“观测数学”这样一种学科中有所作用外,对于譬如象笔者本人这样的一个已初窥“传统科学”门径、并享受着“传统科学”带来的种种便利的人来说,实在看不出“新科学”相对于“传统科学”有什么优势。
- ]% {5 a5 g7 m$ n; f
  伽利略说过:“大自然这本书是用数学这种语言写成的。”伽利略首创把从实验中观察到的规律用数学公式表达出来,被尊为现代科学――也即沃尔夫勒姆笔下的“传统科学”――的奠基人。1638年伽利略出版《关于两种新科学的谈话》,那里的科学才是真正意义上的新科学。此后,从牛顿到爱因斯坦,“传统科学”极大地满足了人类探索宇宙的好奇心,极大地改善了人类的生活。沃尔夫勒姆说数学方程式从来不是人类深入理解宇宙运行的基础。但是从行星的运动,到恒星的演化,到宇宙的膨胀,人类靠数学方程式一步一个脚印地推进了对宇宙本质的认识,而沃尔夫勒姆的元胞自动机除了告诉人们“等着瞧”之外,还能做什么呢?
* f2 {+ _5 x7 d: p/ }- \/ y  “真正的科学应该是有预测能力的,而不只是描述性的。……‘新科学’应该给出可证实的或可证伪的预言。”[42]7 }' a0 m% D7 \! D- e; `; }
对于有些人用波普尔“猜测-预言-证伪”的科学进步模式来评价沃尔夫勒姆的“新科学”,也许让沃尔夫勒姆觉得有些委屈,因为波普尔的理论是从“传统科学”中得来,或许它不适用于“新科学”?但是“传统科学”已经在很多方面让人类摆脱了摸着石头过河走着瞧的境地,“新科学”为什么要带着大家走回头路呢?  J3 Q) j$ i: X
  沃尔夫勒姆是从研究复杂性的起源起步的。《新科学》中有近1000幅由元胞自动机生成的展示各种复杂现象的高清晰度插图,但是书中始终没有对什么是复杂的作出明确的定义,只是让读者“看图理解”什么是复杂的。“传统科学”也研究复杂现象,但目的是要从复杂现象中找出简单性。温伯格说:“人类对其自身之外事物的研究,包括对复杂性的研究,只有其中的简单性才能引起人们的兴趣”。[43]) z. f: p& q+ K8 l* h' A# F
而数学是描述自然界中隐藏的简单性的有力手段。开普勒发现只要用一种圆锥曲线――椭圆――就能解释所有行星的运动;牛顿用平方反比的万有引力定律解释了海潮的涨落、月亮的运行和彗星的出没。这种对一致性和简单性的追求,还让人类登上了月球,也让我们大致能预测明天的天气。
  L) y$ N0 b% l4 U  沃尔夫勒姆要用元胞自动机作为“新科学”的语言来取代“传统科学”的语言――数学公式,并把这当作“新科学革命”的标志,这种取代显然是不成功的。而且这里沃尔夫勒姆革命的对象还稍稍发生了错位。用数学公式来描述规律固然是“传统科学”的一个重要方面,但不是全部。作为“传统科学”精髓的科学精神和科学方法在上一次科学革命时期由几位大师如笛卡尔、培根、牛顿等给出了精辟的论述。沃尔夫勒姆或许还该多了解点有关“传统科学”的科学史和科学哲学知识再发动革命。  

  在接受《福布斯》记者采访时沃尔夫勒姆倒是作出了他的大胆预言:“50年内,更多的技术,将基于我的科学而不是传统科学,被创造出来。人们在学习代数之前将先学元胞自动机理论”。[44] 沃尔夫勒姆的一位朋友建议《新科学》应该仿照牛顿的《自然哲学的数学原理》(Principia Mathematica)改名为《自然哲学的计算原理》(Principia Computatus)。[45] 我们这个时代真的有幸产生一位可以与牛顿比肩的划时代科学伟人?一场新的科学革命真的已悄然发生?好在50年不长,我们走着瞧。


+ R" y7 V" H( W* b

[1] Keay Davidson, Cosmic Computer -- New Philosophy to Explain the UniverseSan Francisco Chronicle, July 1, 2002. 美国流行女歌手Britney Spears人称“小甜甜”。
( N/ `5 R$ h: w2 ^2 i[2]
Steven Weinberg, Is the Universe a Computer? The New York Review of Books, October 24, 2002.
: C/ y7 F/ u( i- k1 ?- w+ n) K, f9 N[3]
Michael Arndt, Stephen Wolfram's Simple Science, BusinessWeekOnline, May 17, 2002" e2 X- i' w& ~9 s
[4]
John Derbyshire, Not Quite Copernicus, National Review, September 16, 2002
8 v7 W4 R# L! t3 L[5]
John Derbyshire, Not Quite Copernicus, National Review, September 16, 2002
- z; H( Y. u6 ~# r[6]
Michael Arndt, Stephen Wolfram's Simple Science, BusinessWeekOnline, May 17, 2002- e% o  h/ b2 x6 I, {$ n! ]0 V0 o$ P
[7]
Margaret Werthheim, The Big Rewrite--Stephen Wolfram explains everything but the perfect cappuccino, LA Weekly, June 7-13, 2002.  v( e' K+ l3 _! V/ ?/ h  {- c* M6 t
[8]
Ben Goertzel, Stephen Wolfram's A New Kind of Science -- A Complexity Scientist's Reaction, Dynamical Psychology, 2002+ O# X# M+ S1 n
[9]
Michael S. Malone, God, Stephen Wolfram, and Everything Else, Michael S. Malone, Forbes ASAP, November 27, 2000
1 _. V3 x! l0 D[10]
Stephen Wolfram, A New Kind of Science, Wolfram Media, Inc. May 2002, 1页。5 v, m. Q1 l% _( r
[11]
  k8 N. u3 X* E/ B0 _& G( C
普适图灵机是阿兰·图灵(Alan Turing)在1950年设想的理想化普适计算机,只用7条最基本的命令,可以进行所有可能的计算。  S  m5 X4 i) I4 |2 C
[12]
Stephen Wolfram, A New Kind of Science, Wolfram Media, Inc. May 2002, 383页。: Q& p, O$ I' A1 \5 w
[13]
Brian Hayes, The World According to Wolfram, American Scientist, July-August, 2002
  }' p- h4 |7 u; b" h[14]
Chris Lavers, How the cheetah got his spots, The Guardian, August 2, 20027 f4 x( S, @$ w) h
[15]
David Drysdale, Critical Review of "A New Kind of Science", 12 July 2002, http://freespace.virgin.net/david.drysdale/wolfram/review.html3 ?. ?+ @2 p" b% E; A  e' U
[16]
Stephen Wolfram, A New Kind of Science, Wolfram Media, Inc. May 2002, 786页。
5 X! A4 a. L$ E9 V[17]
Henry Cohn, A New Kind of Science by Stephen WolframThe Mathematical Association of America Online book review column, http://www.maa.org/reviews/wolfram.html
! Y- z/ m$ D3 V, w[18]
Michael J. Behe, The Science of Everything, First Things 127 (November 2002). |% Y% ]# c3 j
[19]
Ben Goertzel, Stephen Wolfram's A New Kind of Science -- A Complexity Scientist's Reaction, Dynamical Psychology, 2002
0 e3 Y3 P; c. m' V1 p; A7 B[20]
John Derbyshire, Not Quite Copernicus, National Review, September 16, 2002
3 \* M, J3 U; B7 R. g$ J[21]
Leo P. Kadanoff, Wolfram on Cellular Automata; A Clear and Very Personal Exposition, Physics Today, July 2002
! q! c8 I* D! {1 [# T9 r( ~3 q[22]
Ben Goertzel, Stephen Wolfram's A New Kind of Science -- A Complexity Scientist's Reaction, Dynamical Psychology, 20027 A9 C. J' A* G/ e
[23]
Ben Goertzel, Stephen Wolfram's A New Kind of Science -- A Complexity Scientist's Reaction, Dynamical Psychology, 20021 I& r9 T' ]; L3 w
[24]
Jordan Ellenberg, Blinded by Science: Explaining the media's obsession with Stephen Wolfram's A New Kind of Science, SlateTuesday, July 2, 2002
6 ^4 @% J: w0 X4 G' P7 }" R[25]
Stephen Wolfram, A New Kind of Science, Wolfram Media, Inc. May 2002, 14页。
/ P: {2 ]' O/ G( q6 @7 }- V/ h[26]
Ray Girvan, Book Review: "A New Kind of Science", Scientific Computing World, August 2002.
6 i9 G' R, j' X: F0 ^[27]
John Derbyshire, Not Quite Copernicus, National Review, September 16, 2002
: Y  {' a$ c* P[28]
Ben Goertzel, Stephen Wolfram's A New Kind of Science -- A Complexity Scientist's Reaction, Dynamical Psychology, 20022 y' i- s; P4 R
[29]
Jordan Ellenberg, Blinded by Science: Explaining the media's obsession with Stephen Wolfram's A New Kind of Science, SlateTuesday, July 2, 2002
7 `+ E+ B4 w4 B: B( Y7 b[30]
Stephen Wolfram, A New Kind of Science, Wolfram Media, Inc. May 2002, 2页。/ x- ?# g' O7 c, c
[31]
David Drysdale, Critical Review of "A New Kind of Science", 12 July 2002, http://freespace.virgin.net/david.drysdale/wolfram/review.html  l: B" n. O7 e% @* K* X& j
[32]
Chris Lavers, How the cheetah got his spots, The Guardian, August 2, 2002; E9 L! S* s+ ]6 Z: l) r9 p0 C
[33]
Philip Ball, Life, the Universe and a Game of Chequers, The Guardian, July 13 20020 C" v! k+ s6 a6 ^
[34]
Tom Georgoulias, http://www.frontwheeldrive.com/reviews_new_science.html" `' A/ u+ _1 w
[35]
Brian Hayes, The World According to Wolfram, American Scientist, July-August, 2002/ V7 \* X  h5 {- x4 H1 X
[36]
: |; q1 P2 @" ~" S) j- D
Leo P. Kadanoff, Wolfram on Cellular Automata; A Clear and Very Personal Exposition, Physics Today, July 2002
3 Y. b! m* [# J8 C! u% \[37]
Keay Davidson, Cosmic Computer---New Philosophy to Explain the Universe, San Francisco Chronicle, July 1, 2002.& w- A7 X! j- l# f/ u+ m
[38]
Lawrence Gray, A Mathematician Looks at Wolfram's New Kind of Science, Notices of the American Mathematical Society, February 2003.2 H, \0 b$ _3 F, v7 F/ g
[39]
Ray Kurzweil, Reflections on Stephen Wolfram's "A New Kind of Science", KurzweilAI.net
+ f8 [% O2 a/ O! V/ ^6 {( m[40]
Keay Davidson, Cosmic Computer---New Philosophy to Explain the UniverseSan Francisco Chronicle, July 1, 2002.
1 i: F# C; F, L4 [9 y; f7 Y[41]
Robert Wright, Did the Universe Just Happen? The Atlantic Monthly, April 1988, 29-44.1 t5 C5 m1 e9 u; j
[42]
David Drysdale, Critical Review of "A New Kind of Science", 12 July 2002, http://freespace.virgin.net/david.drysdale/wolfram/review.html
9 `: }! g$ _4 I; t- X/ f" ?[43]
Steven Weinberg, Is the Universe a Computer? The New York Review of Books, October 24, 2002.& Y+ g4 g% P2 \3 i2 D
[44]
Michael S. Malone, God, Stephen Wolfram, and Everything Else, Michael S. Malone, Forbes ASAP, November 27, 2000
# {( [. \% A. w" I+ i- c[45]
Steven Levy, The Man Who Cracked The Code to Everything ..., Steven Levy, Wired, June 10, 2002


% }. {. l; W+ P  K6 y, b3 D& ^0 y' Z8 r. L& M& k
 
% O4 R  t# l9 @. A) N9 O1 r# q+ i0 ^ 4 K7 I+ H$ j- L* Y$ \+ k% n2 K

2003年3月2日加入

已有 1 人评分威望 包包 收起 理由
细胞海洋 + 10 + 20 极好资料

总评分: 威望 + 10  包包 + 20   查看全部评分

Rank: 7Rank: 7Rank: 7

积分
13286 
威望
13286  
包包
34831  

论坛元老 精华勋章 金话筒 专家 优秀会员 优秀版主

沙发
发表于 2014-8-5 13:33 |只看该作者
除去招摇的书名剩下的东西0 Y0 a/ g# n! D/ a- A! D6 `! F7 S
2008-01-22 09:34:01   来自: jake   http://book.douban.com/review/1287160/
( y7 C) D9 ~" G5 {$ S1 f9 EA New Kind of Science的评论     
1 a* H0 A& a2 S  前些日子在网上看到了N多关于这本书的介绍,但似乎很多的评论都有一定的偏见,认为作者过分的宣扬了“新科学”这个字眼,有些哗众取宠,而实际内容则太过简单。而且据说这本书刚出来就一版再版,马上成为畅销书。于是我走到了图书馆开始自己来读,出乎意料的是,我找到了一些有价值的东西。至少值得肯定的是,作者论述科学思想几乎全部运用图形,没有枯燥的定理证明,这不能不让普通读者感到亲切。时间紧迫,我也仅仅是大致浏览了一下这本书,但把其中每一章的主要内容简单写出来,以便让更多的人了解它。
1 i- f  x8 n$ H4 h, H" w   , [. y2 R* B: A) ?" R4 r6 n
  1 The Need for a New Kind of Science / f/ {, K, d- b
   这一章讲述wolfram写作这本书的动机,以及作者发现自己的新科学的简单历史。原来wolfram在12岁的时候看到了一本物理书上的随机分子碰撞的图形就想到了要用计算机模拟这一切,于是开始了他的科学生涯。在之后的日子里,作者不断的产生新想法,又不断自己试图找到了答案,于是写成了这本书。这一章还介绍了与该书内容相关的N多领域,包括复杂系统、人工智能、人工生命、系统科学等等。
" P& V9 Z2 v' }4 P( b' ?5 {  
) \6 l6 n9 [6 ], K  ~; ]  2 The Crucial Experiment
; K' y; P' f( g9 h   大致介绍书中的研究方法,用细胞自动机做实验,然后找到该自动机的涌现规律。其中很多内容是关于一维细胞自动机的基本知识,包括如何对规则编码等等细节。 & O+ u8 l1 S7 ?5 d; h) M! }1 d! p
   " c+ t& y- I5 z  t
  3 The World of Simple Programs 5 ^5 w" |5 X% C& F0 |* `" ?2 E! k
   这章开始介绍各种各样的计算模型,不仅仅是细胞自动机,还有移动自动机、图灵机、L系统、tag系统、寄存器计算机、符号系统等等模型。也许计算的类型多种多样,但是所有的计算系统的行为都可以大致分为wolfram的四类。这些模型提醒我们,虽然自然界的现象千奇百怪,但我们可能仅仅用一些简单模型就可以模拟。 ( N9 x8 d* s$ \' S- J; J
   1 M+ R' v/ Z! G* ~$ y2 |
  4 Systems Based on Numbers " ~' N" a6 H4 g9 Z1 ]. g  K' M1 E
   这章用丰富的图形展示给大家细胞自动机是怎样模拟数字运算系统,包括数论的运算,+—*/等,还包括微积分、微分方程等等。本章传达了这样一个信息:凡是基本数学能做的事情,简单的细胞自动机也都能做。 ) o+ D# }8 I6 Q  l
  
/ H- X3 l; J4 ]5 L1 W  z  5 Two Dimensions and Beyond : G, B* x4 a, W
   主要介绍二维的计算系统的行为,以及更多的计算模型,包括动态网络和约束生成系统。其中网络模型则可以直接应用于后面的物理系统,它有望最终解释究竟什么是时空。约束生成系统则直接跟复杂适应系统有关,作者认为复杂系统的适应性行为直接源于简单计算的满足约束行为。   g! C/ c# B' q, T% T) S
  
# S6 `- E5 z9 O$ H& I- c7 A( h  6 Starting from Randomness : d9 p7 f. P4 i0 `+ A  T$ ~7 L
   详细的讨论了四类细胞自动机的行为,也就是我们熟知的单一状态、周期、混沌、复杂类型。其中作者对后两种类型进行了比较详细的介绍。
" j" C( m% r6 m) b   1 z3 i7 U# q% [! ^/ v9 S
  7 Mechanisms in Programs and Nature 9 r) p  {! n0 p# |1 s+ ~
   介绍了什么是通用计算的概念,并讨论了随机性和复杂性。作者把随机性归为了三类,也就是全是由外部操作生成的随机、初始化微小扰动造成的随机,和系统内生的随机。对最后一种也就是说初始状态可能完全确定,最后行为也可能是随机的。本章还讨论了离散与连续、混沌于秩序、简单行为与复杂行为等问题。
; A; M% r( Q/ q7 x' d* X5 B0 M6 n  
+ T. z) P5 ~  w  8 Implications for Everyday Systems
% M% ~  h; a$ ^  d4 r   主要讲述细胞自动机在物理系统中的应用,包括晶体问题、流体问题等等,另外,还有对生物世界多彩多样的花纹的解释。
2 V' P7 p! i% ?$ ~+ T# X; a   ( e3 _5 y* {$ j
  9 Fundamental Physics + M. g* [6 x4 A+ B+ A. w
   我认为这章的内容很重要,首先,我们要有一个信念:这个世界就是一个计算机,每一件事情都是计算。在这个前提下,我们来看世界,怎样的宇宙才是从程序上最可行的呢?作者探讨了空间网络、因果网络等模型。究竟宇宙是不是一太计算机,我们实际上不能证伪,但是如果从程序的角度出发,却发现我们可以从一个完全不同的角度得到很多疑难问题的解答。在因果网络模型下,相对论、量子论等等都是系统涌现出来的一种结果。如果这一切正确的话,我们自然能得到一个统一量子论和相对论的工具。另外,本章提出来的时空观是非常关键的,因果网络是最本质的东西,时间和空间甚至都是涌现出来的现象。
1 X$ D& S7 V& H   ) d! p$ d8 I' g, G; C( u- ^# l. G7 J
  10 Processes of Perception and Analysis * p0 Z& o$ K2 a6 y2 V
   讲述把细胞自动机应用到计算机科学、人工智能、信息处理等领域的具体方法。视觉感知、加密解密、思维过程等等都有涉猎。 1 @' o( C% z9 B- n' z) c
   7 g  U, n: D) M
  11 The Notion of Computation
& X% J( X( X. v+ \   究竟什么是计算?在很早,丘奇图灵论题就指出,一切与图灵机等价的过程就是计算。那么细胞自动机与图灵机那个更强呢?通过作者特别的证明(运用图形和说明,而不是数学推导),我们看到一类特制的细胞自动机可以模拟任何一台其他的细胞自动机,而且还能模拟图灵机以及其他的计算系统。翻过来,图灵机和其他计算模型也都能模拟细胞自动机。实际上能够执行通用计算的机器仅仅需要简单的规则,也就是101号细胞自动机。作者认为101细胞自动机非常重要,因为它规则简单,而且能够模拟任意的复杂计算过程。 2 W( [! O+ W. J5 r- o; S
  
; ?2 i- c" m$ p6 M& l3 R# ^  12 The Principle of Computational Equivalence & s5 ~3 ?: {: A, d
   本章提出了一个猜想:The Principle of Computational Equivalence,也就是计算等价性原理,作者认为宇宙的一却活动都是一种计算,而且能够完成复杂计算的过程都是等价于通用计算的,所以,原则上讲,细胞自动机110能够模拟任何一个复杂的计算过程。作者当然也讨论了哥德尔定理、不可判定问题,认为对于第四类细胞自动机,我们除了运行它以外,根本无法判定它在未来的行为,即使在原则上,因为它是不可判定的问题。 8 J, h5 U3 q  `* y: G, v
  
2 b5 D/ Z: Y0 i2 i  
) c  k% `+ S$ X" a" j& ]* f+ A+ F4 B, i  
' q) n( \: `, w; J" j  全本书大量的使用细胞自动机生成的图形来说明、叙述。其中字里行间,作者都表达了一个强烈的观点:宇宙的一切过程都仅仅遵循非常简单的运算,而且这个运算很可能就是101号细胞自动机,所以一切的奥秘也许就起源于这一种简单的规则。我认为比较有价值的是9章和后面两章。我们可以看到,之所以作者称其为新科学,是因为也许复杂系统中的所有问题都仅仅是一条规律制约着,这至少是作者的一个信念。 4 y4 y$ Z' S: _% \# W
  
5 n* C3 i' e4 t1 Z* B+ `( Z  更多介绍,请看: 0 Q/ K( y$ n1 e; ^
  http://www.swarmagents.com/vm/articles/freebits.htm

Rank: 7Rank: 7Rank: 7

积分
13286 
威望
13286  
包包
34831  

论坛元老 精华勋章 金话筒 专家 优秀会员 优秀版主

藤椅
发表于 2014-8-5 13:40 |只看该作者

[size=+2]Cornell University7 V# i8 w) d1 ?- ^" f
BioNB 441
9 B' o# {9 x0 h% M" V! S4 q6 CCellular Automata in Matlab

Introduction

Cellular Automata (CA) are a scheme for computing using local rules and local communication. Typcally a CA is defined on a grid, with each point on the grid representing a cell with a finite number of states. A transition rule is applied to each cell simultaneously. Typical transition rules depend on the state of the cell and its (4 or 8) nearest neighbors, although other neighborhoods are used. CAs have applications in parallel computing research, physical simulations, and biological simulations. This page will consider how to write efficient matlab code to implememt CAs and look at some interesting rules.


Matlab code considerations, e8 _1 j3 ~  A' H3 x9 `
The following considerations will be illustrated using a Matlab program which computes Conway's life. Parts of the code are explained below.. v  _/ X8 F( U+ {
  • Matrixes and images can be converted to one-another, so display is straighforward. If the array cells contains the binary state of each cell and the array z contains zeros, then the cat command builds an RGB image, which is displayed by the image command. The image command also returns a handle. imh = image(cat(3,cells,z,z));set(imh, 'erasemode', 'none')axis equalaxis tight  
  • Matrixes and images can be converted to one-another, so initial conditions may be computed by matrix or graphics commands. The following code generates an array of zeros, initializes the cell state to zero, then makes a cross of cells in state=1 in the center of the array. One of the examples below (percolation cluster) uses graphics commands to initialize the CA array. z = zeros(n,n);cells = z;cells(n/2,.25*n:.75*n) = 1;cells(.25*n:.75*n,n/2) = 1;       
  • The Matlab code should be vectorized to minimize overhead. The following two statements compute the sum of nearest neighbors and compute the CA rule. The code makes use of Matlab's very flexible indexing to specify the nearest neighbors. x = 2:n-1;y = 2:n-1;sum(x,y) = cells(x,y-1) + cells(x,y+1) + ...            cells(x-1, y) + cells(x+1,y) + ...            cells(x-1,y-1) + cells(x-1,y+1) + ...            cells(x+1,y-1) + cells(x+1,y+1);cells = (sum==3) | (sum==2 & cells);   
  • Adding a simple GUI is easy. In this example three buttons and a text field were implmented. The three buttons allow a user to Run, Stop, or Quit. The text field displays the number of simulation steps executed. %build the GUI%define the plot buttonplotbutton=uicontrol('style','pushbutton',...   'string','Run', ...   'fontsize',12, ...   'position',[100,400,50,20], ...   'callback', 'run=1;');%define the stop buttonerasebutton=uicontrol('style','pushbutton',...   'string','Stop', ...   'fontsize',12, ...   'position',[200,400,50,20], ...   'callback','freeze=1;');%define the Quit buttonquitbutton=uicontrol('style','pushbutton',...   'string','Quit', ...   'fontsize',12, ...   'position',[300,400,50,20], ...   'callback','stop=1;close;');number = uicontrol('style','text', ...    'string','1', ...   'fontsize',12, ...   'position',[20,400,50,20]);        After the controls (and CA) are initialized, the program drops into a loop which tests the state of the variables which are set in the callback functions of each button. For the moment, just look at the nested structure of the while loop and if statements. The program loops until the Quit button is pushed. The other two buttons cause an if statement to execute when pushed. stop= 0; %wait for a quit button pushrun = 0; %wait for a draw freeze = 0; %wait for a freezewhile (stop==0)        if (run==1)              %nearest neighbor sum              sum(x,y) = cells(x,y-1) + cells(x,y+1) + ...                            cells(x-1, y) + cells(x+1,y) + ...                            cells(x-1,y-1) + cells(x-1,y+1) + ...                           cells(3:n,y-1) + cells(x+1,y+1);              % The CA rule              cells = (sum==3) | (sum==2 & cells);                     %draw the new image              set(imh, 'cdata', cat(3,cells,z,z) )              %update the step number diaplay              stepnumber = 1 + str2num(get(number,'string'));              set(number,'string',num2str(stepnumber))      end      if (freeze==1)             run = 0;             freeze = 0;      end      drawnow  %need this in the loop for controls to work  end          B6 d2 H2 @" H

Examples
5 S( s8 m, G$ h1 A3 I
  • Conway's life.
    0 X% R9 `5 `2 v, }The rule is:
    + B0 u: f7 Z1 n7 q) B
    • Sum the 8 nearest neighbors
    • If the sum=2 then the state does not change
    • If the sum=3 then the state=1
    • Otherwise the state=0+ u& ~0 ?* h% D+ w
    The code: x = 2:n-1;y = 2:n-1;  %nearest neighbor sumsum(x,y) = cells(x,y-1) + cells(x,y+1) + ...                   cells(x-1, y) + cells(x+1,y) + ...                   cells(x-1,y-1) + cells(x-1,y+1) + ...                   cells(3:n,y-1) + cells(x+1,y+1);% The CA rulecells = (sum==3) | (sum==2 & cells);   
  • Surface Tension / V/ N# v* D6 V1 i+ H1 B) X
    The rule is:/ m1 K# b6 T& n% [& B2 o! @, n; R
    • Sum the 8 nearest neighbors and the cell itself
    • If the sum< 4 or sum=5 then the state=0
    • Otherwise the state=15 H! ]: X/ o1 \/ k8 f2 k
    The code: x = 2:n-1;y = 2:n-1;  sum(x,y) = cells(x,y-1) + cells(x,y+1) + ...            cells(x-1, y) + cells(x+1,y) + ...            cells(x-1,y-1) + cells(x-1,y+1) + ...            cells(3:n,y-1) + cells(x+1,y+1)+...            cells(x,y);        % The CA rule        cells = ~((sum< 4) | (sum==5));   
  • Percolation Cluster 9 ]- ?% a( k/ \2 t
    The rule:
    " S9 d% i5 H; r  E$ L
    • Sum the 8 nearest neighbors of each cell (cells are binary valued, 0/1). Cells also have a separate state variable (called 'visited') which records if they have ever had a nonzero neighbor before.
    • Compute a random number r between 0 and 1.
    • If the sum> 0 (at least one neighbor) and the r>threshold, and the cell has never had a neighbor then cell=1.
    • If the sum> 0 set the "visited" flag for the cell to record that the cell has a nonzero neighbor.
      6 p. m( g6 P6 o3 O; u% C) A1 x
    The update code:# u8 e& O( i, {1 C1 z% d
            sum(2:a-1,2:b-1) = cells(2:a-1,1:b-2) + cells(2:a-1,3:b) + ...                        cells(1:a-2, 2:b-1) + cells(3:a,2:b-1) + ...                        cells(1:a-2,1:b-2) + cells(1:a-2,3:b) + ...                        cells(3:a,1:b-2) + cells(3:a,3:b);        pick =  rand(a,b);     cells = cells  | ((sum>=1) & (pick>=threshold) & (visit==0))  ;    visit = (sum>=1) ;        The variables a and b are the size of the image. The inital image is determined by graphics operations. The following statements set up axes of a fixed size, write text into the axes, then grab the contents of the axes and put them back into an array using the getframe function.. ax = axes('units','pixels','position',[1 1 500 400],'color','k');text('units', 'pixels', 'position', [50,255,0],...    'string','BioNB','color','w','fontname','helvetica','fontsize',100)text('units', 'pixels', 'position', [120,120,0],...    'string','441','color','w','fontname','helvetica','fontsize',100)initial = getframe(gca);[a,b,c]=size(initial.cdata);z=zeros(a,b);cells = double(initial.cdata(:,:,1)==255);visit = z ;sum = z;        After a few dozen time steps (starting with the BioNB 441 image) we get the following image. Click on it to see a full size image.4 A/ x" A1 `3 Q2 \7 K/ z$ C/ y
  • Excitable media (BZ reaction or heart) : d/ _, ^/ k  w: ?0 q1 d
    The rule:6 x2 i# m- C- J; O, o
    • Cells can be in 10 different states. State 0 is resting. States 1-5 are active, and states 6-9 are refractory.
    • Count the 8 nearest neighbors of each cell which are in one of the active states.
    • If the sum is greater or equal to 3 (at least three active neighbors) then cell=1.
    • States 1 to 9 occur stepwise with no more input. If state=1 then the next state=2. If state=2 then the next state=3, and similarly of all the states up to 9. If state=9 then the next state=0 and the cell is back at rest.
      9 H/ M6 {7 S; g" I) z
    The update code: x = [2:n-1];y = [2:n-1];    sum(x,y) = ((cells(x,y-1)> 0)&(cells(x,y-1)< t)) + ((cells(x,y+1)> 0)&(cells(x,y+1)< t)) + ...        ((cells(x-1, y)> 0)&(cells(x-1, y)< t)) + ((cells(x+1,y)> 0)&(cells(x+1,y)< t)) + ...        ((cells(x-1,y-1)> 0)&(cells(x-1,y-1)< t)) + ((cells(x-1,y+1)> 0)&(cells(x-1,y+1)< t)) + ...        ((cells(x+1,y-1)> 0)&(cells(x+1,y-1)< t)) + ((cells(x+1,y+1)> 0)&(cells(x+1,y+1)< t));           cells = ((cells==0) & (sum>=t1)) + ...            2*(cells==1) + ...            3*(cells==2) + ...            4*(cells==3) + ...            5*(cells==4) + ...            6*(cells==5) +...            7*(cells==6) +...            8*(cells==7) +...            9*(cells==8) +...            0*(cells==9);        An image from this CA after spiral waves develop is shown below.
    ; K' [, C$ F9 Y+ R; X+ j% x
  • Forest Fire
    & m. w4 k) I% |2 Y: [  q* {5 pThe rule:
    " N1 Z: R1 O2 p) M/ O
    • Cells can be in 3 different states. State=0 is empty, state=1 is burning and state=2 is forest.
    • If one or more of the 4 neighbors if a cell is burning and it is forest (state=2) then the new state is burning (state=1).
    • There is a low probablity (say 0.000005) of a forest cell (state=2) starting to burn on its own (from lightning).
    • A cell which is burning (state=1) becomes empty (state=0).
    • There is a low probability (say, 0.01) of an empty cell becoming forest to simulate growth.
    • The array is considered to be toroidly connected, so that fire which burns to left side will start fires on the right. The top and bottom are similarly connected.
      ! q/ }/ P, {2 R
    The update code:   h% S+ d4 x2 ~1 J. P+ s  h( r
            sum = (veg(1:n,[n 1:n-1])==1) + (veg(1:n,[2:n 1])==1) + ...           (veg([n 1:n-1], 1:n)==1) + (veg([2:n 1],1:n)==1) ;     veg = ...         2*(veg==2) - ((veg==2) & (sum> 0 | (rand(n,n)< Plightning))) + ...         2*((veg==0) & rand(n,n)< Pgrowth) ;        Note that the toroidal connection is implemented by the ordering of subscripts.
  • Gas dynamics. w* x6 Z: X* p/ I, {0 x
    This CA (and the next two) are used to compute motion of particles. This application requires a different kind of neighborhood. The neighborhood of a cell varys on each time step so that motion in a certain direction will continue in the same direction. In other words, the rule conserves momentum, which is the basis of dynamical calculations. The neighborhood used is called a Margolis neighborhood and consists of overlapping 2x2 blocks of cells. In the following diagram, the upper-left 4 cells are the neighborhood during an even time-step, the bottom-right 4 cells are the neighborhood during an odd time-step. A given cell has 3 neighbors at each time-step, but the specific cells which constitute the neighbors flips back and forth.
    even even
    evencellodd
    oddodd
    The rule:
    / }& Y- J# [1 W+ E
    • This is called a HPP-GAS rule. See reference [1] Chapter 12..
    • Cells have 2 states. State=0 is empty, state=1 represents a particle in motion.
    • On any step, a particle is assumed to have just entered the 2x2 block on a diagonal path. It must therefore cross the block through its center. So on any time-step, swap the contents of each cell with that of the cell diagonally across from it. Pairs of blocks are shown below. The left one is before and the right after a time-step. Six cases are shown, but all rotational versions of each of them are treated the same way. Two special cases, particle-particle collision and particle-wall are considered below.% P; G7 K$ O* f; {6 O4 D) R
      00goes00
      00to00
      10goes00
      00to01
      10goes10
      01to01
      10goes01
      10to01
      11goes01
      10to11
      11goes11
      11to11
      " v0 a: ^7 `3 M' `9 w/ V
    • To make a particle collision (which conserves momentum and energy), treat the case of exactly two particles on a diagonal as if they hit and deflected each other 90 degrees. This is done by converting one diagonal to the other on the time-step. You can implement this by rotating the 4 cells counterclockwise by one cell. The third rule above becomes:
      10goes01
      01to10

        ]5 b& C) H1 P( o, v% o
    • To make a particle collide with a wall, simply leave its state unchanged. This causes a reflection.
      $ k9 Y8 e/ Z: y& D. L9 e/ [" L, d5 F, {- v5 \; p- ]* P) `; Y
    The update code: - d, E0 Z$ |: Q
            p=mod(i,2); %margolis neighborhood, where i is the time step    %upper left cell update    xind = [1+p:2:nx-2+p];    yind = [1+p:2:ny-2+p];        %See if exactly one diagonal is ones    %only (at most) one of the following can be true!    diag1(xind,yind) = (sand(xind,yind)==1) & (sand(xind+1,yind+1)==1) & ...        (sand(xind+1,yind)==0) & (sand(xind,yind+1)==0);        diag2(xind,yind) = (sand(xind+1,yind)==1) & (sand(xind,yind+1)==1) & ...        (sand(xind,yind)==0) & (sand(xind+1,yind+1)==0);        %The diagonals both not occupied by two particles    and12(xind,yind) = (diag1(xind,yind)==0) & (diag2(xind,yind)==0);        %One diagonal is occupied by two particles    or12(xind,yind)  = diag1(xind,yind) | diag2(xind,yind);        %for every gas particle see if it near the boundary    sums(xind,yind) = gnd(xind,yind) | gnd(xind+1,yind) | ...                        gnd(xind,yind+1) | gnd(xind+1,yind+1) ;        % cell layout:    % x,y    x+1,y    % x,y+1  x+1,y+1    %If (no walls) and (diagonals are both not occupied)      %then there is no collision, so move opposite cell to current cell    %If (no walls) and (only one diagonal is occupied)     %then there is a collision so move ccw cell to the current cell    %If (a wall)     %then don't change the cell (causes a reflection)    sandNew(xind,yind) = ...        (and12(xind,yind)  & ~sums(xind,yind) & sand(xind+1,yind+1)) + ...         (or12(xind,yind) & ~sums(xind,yind) & sand(xind,yind+1)) + ...        (sums(xind,yind) & sand(xind,yind));             sandNew(xind+1,yind) = ...        (and12(xind,yind)  & ~sums(xind,yind) & sand(xind,yind+1)) + ...         (or12(xind,yind) & ~sums(xind,yind) & sand(xind,yind))+ ...        (sums(xind,yind) & sand(xind+1,yind));              sandNew(xind,yind+1) = ...            (and12(xind,yind)  & ~sums(xind,yind) & sand(xind+1,yind)) + ...         (or12(xind,yind) & ~sums(xind,yind) & sand(xind+1,yind+1))+ ...        (sums(xind,yind) & sand(xind,yind+1));              sandNew(xind+1,yind+1) = ...            (and12(xind,yind)  & ~sums(xind,yind) & sand(xind,yind)) + ...         (or12(xind,yind) & ~sums(xind,yind) & sand(xind+1,yind))+ ...        (sums(xind,yind) & sand(xind+1,yind+1));         sand = sandNew;       
  • Diffusion limited aggregation 8 h2 w$ y2 U! o8 r( ^, \
    This system simulates sticky particles aggregating to form a fractal structure. particle motion takes place with a rule similar to the HPP-GAS rule in example 6. The difference is that particles are assumed to be bouncing around in some dense (but invisible) liquid. The effect is to randomize the direction of motion of every particle at every time step. Put differently, every time-step is a collision step. The simulation is also seeded with one fixed particle in the center of the array. Any diffusing particle which touches it sticks to it, and itself becomes a non-moving, sticky particle.
    " s* P7 D6 t( V- W' J$ D; ?; cThe rule:3 P5 m7 @4 I% ^5 S! J( o" Y1 w  ^1 p
    • Use a Margolus neighborhood. At every time step, rotate the 4 cells either clockwise or counterclockwise by one cell with equal probability. The rotation randomizes the velocities.
    • After the move, if one or more of the eight nearest neighboors is a fixed, sticky particle, then freeze the particle and make it sticky.: y% T% r" ]2 l7 I* P
    The update code:
    , j/ j# Y- c# Y2 n. ^; k0 ?' |        p=mod(i,2); %margolis neighborhood       %upper left cell update    xind = [1+p:2:nx-2+p];    yind = [1+p:2:ny-2+p];    %random velocity choice    vary = rand(nx,ny)< .5 ;    vary1 = 1-vary;        %diffusion rule -- margolus neighborhood    %rotate the 4 cells to randomize velocity    sandNew(xind,yind) = ...        vary(xind,yind).*sand(xind+1,yind) + ... %cw        vary1(xind,yind).*sand(xind,yind+1) ;    %ccw            sandNew(xind+1,yind) = ...        vary(xind,yind).*sand(xind+1,yind+1) + ...        vary1(xind,yind).*sand(xind,yind) ;            sandNew(xind,yind+1) = ...            vary(xind,yind).*sand(xind,yind) + ...        vary1(xind,yind).*sand(xind+1,yind+1) ;             sandNew(xind+1,yind+1) = ...            vary(xind,yind).*sand(xind,yind+1) + ...        vary1(xind,yind).*sand(xind+1,yind) ;        sand = sandNew;        %for every sand grain see if it near the fixed, sticky cluster    sum(2:nx-1,2:ny-1) = gnd(2:nx-1,1:ny-2) + gnd(2:nx-1,3:ny) + ...                        gnd(1:nx-2, 2:ny-1) + gnd(3:nx,2:ny-1) + ...                        gnd(1:nx-2,1:ny-2) + gnd(1:nx-2,3:ny) + ...                        gnd(3:nx,1:ny-2) + gnd(3:nx,3:ny);        %add to the cluster    gnd = ((sum> 0) & (sand==1)) | gnd ;    %and eliminate the moving particle    sand(find(gnd==1)) = 0;        The following image shows the fixed cluster after many time steps.
  • Sand pile
    7 r2 B( ?: a( ?$ f( u1 P- o- YThe cross-section of a pile of sand can be modeled using a Margolus neighborhood to propagate cells, but with a different motion rule+ c3 s& h1 U6 v
    The rule:4 k4 U7 P; @; e4 V: K! x
    • See reference [2] Chapter 2.2.6..
    • Cells have 2 states. State=0 is empty, state=1 represents agrain of sand.
    • On any step, a particle can fall toward the bottom of the the 2x2 block. The possible transitions are shown below. Walls and floors stop motion.
    • To make the motion slightly random, I added a rule which sometimes reverses the state of the two lower cells after all the moves are complete." _; V6 K5 X8 [% ]1 o0 f
      00goes00
      00to00
      10goes00
      00to10
      01goes00
      00to01
      10goes00
      10to11
      10goes00
      01to11
      01goes00
      10to11
      01goes00
      01to11
      11goes10
      10to11
      11goes01
      01to11
      The update code:
      ) O' x; A$ Y9 l4 h7 o: F        p=mod(i,2); %margolis neighborhood    sand(nx/2,ny/2) = 1; %add a grain at the top       %upper left cell update    xind = [1+p:2:nx-2+p];    yind = [1+p:2:ny-2+p];    %randomize the flow -- 10% of the time     vary = rand(nx,ny)< .9 ;    vary1 = 1-vary;        sandNew(xind,yind) = ...        gnd(xind,yind).*sand(xind,yind) + ...        (1-gnd(xind,yind)).*sand(xind,yind).*sand(xind,yind+1) .* ...            (sand(xind+1,yind+1)+(1-sand(xind+1,yind+1)).*sand(xind+1,yind));        sandNew(xind+1,yind) = ...        gnd(xind+1,yind).*sand(xind+1,yind) + ...        (1-gnd(xind+1,yind)).*sand(xind+1,yind).*sand(xind+1,yind+1) .* ...            (sand(xind,yind+1)+(1-sand(xind,yind+1)).*sand(xind,yind));            sandNew(xind,yind+1) = ...            sand(xind,yind+1) + ...        (1-sand(xind,yind+1)) .* ...        (  sand(xind,yind).*(1-gnd(xind,yind)) + ...           (1-sand(xind,yind)).*sand(xind+1,yind).*(1-gnd(xind+1,yind)).*sand(xind+1,yind+1));             sandNew(xind+1,yind+1) = ...            sand(xind+1,yind+1) + ...        (1-sand(xind+1,yind+1)) .* ...        (  sand(xind+1,yind).*(1-gnd(xind+1,yind)) + ...           (1-sand(xind+1,yind)).*sand(xind,yind).*(1-gnd(xind,yind)).*sand(xind,yind+1));        %scramble the sites to make it look better    temp1 = sandNew(xind,yind+1).*vary(xind,yind+1) + ...        sandNew(xind+1,yind+1).*vary1(xind,yind+1);        temp2 = sandNew(xind+1,yind+1).*vary(xind,yind+1) + ...        sandNew(xind,yind+1).*vary1(xind,yind+1);    sandNew(xind,yind+1) = temp1;    sandNew(xind+1,yind+1) = temp2;        sand = sandNew;        & y3 D* t! X3 I* @, e4 F$ \6 T/ W3 z

References
8 E$ M0 G# l; k7 W* v[1] Cellular Automata Machines by Tommaso Toffoli and Norman Margolus, MIT Press, 1987.
5 M0 S( {" b& b) p: d[2] Cellular Automata Modeling of Physical Systems by Bastien Chopard and Michel Droz, Cambridge University Press, 1998." |; c5 [2 x) [# I# u: z
$ g; Z8 p+ d* `3 Q, o& S- j
https://courses.cit.cornell.edu/bionb441/CA/+ Y9 H: Y8 ]1 @7 n9 }$ I

Rank: 7Rank: 7Rank: 7

积分
13286 
威望
13286  
包包
34831  

论坛元老 精华勋章 金话筒 专家 优秀会员 优秀版主

板凳
发表于 2014-8-5 14:10 |只看该作者
干细胞之家微信公众号

元胞自动机简介及应用

" T1 J+ @- m% w; V" V, k

6 k; @. ?2 K9 N, ~作者: 巫浩7 r1 c) @$ T. \

; z3 Z$ V) V1 m. G; _6 v   元胞自动机可用来研究很多一般现象。其中包括通信、信息传递(Communicahon)、计算(Compulation)、构造 (ConsTruction)、生长 (Growth)、复制 (Reproductionj、竞争(Competition)与进化(Evolutio,])等(Smith A.,1969errier,J.Y.,1996)。同时。它为动力学系统理论中有关秩序 (Ordering)、紊动 (Turbulence)、混沌 (Chaos)、非对称(Symmetry-Breaking)、分形(Fractality)等系统整体行为与复杂现象的研究提供了一个有效的模型工具 (Vichhac。G,1984; Bennett,C,1985)。
+ p3 |9 {  o( _! \, C1 w: {3 P: D
. B; _, H' P" X7 p( Z7 N0 Y. c
    元胞自动机自产生以来,被广泛地应用到社会、经济、军事和科学研究的各个领域。应用领域涉及社会学、生物学、生态学、信息科学、计算机科学、数学、物理学、化学、地理、歹境、军事学等。 ; @2 T, D0 N+ H

4 v7 B; `( K. L3 F5 J9 N9 y6 T1 F: X0 X) h- E; x& e
    在社会学中,元胞自动机用于研究经济危机的形成与爆发过程、个人行为的社会性,流行现象,如服装流行色的形成等。在生物学中,元胞自动机的设计思想本身就来源于生物学自繁殖的思想,因而它在生物学上的应用更为自然而广泛。例如元胞自动机朋于肿瘤细胞的增长机理和过程模拟、人类大脑的机理探索(Victor.Jonathan.D.,1990)、爱滋病病毒HIV的感染过程(Sieburg,H.B.. 1990)、自组织、自繁殖等生命现象的研究以及最新流行的克隆 (Clone)技术的研究等 (ErmentroutG。B。,1993)。
3 X5 O4 `3 {% g( J2 l3 v# v' n! e; L
4 Y8 F( z4 Z# A  v; H
    在生态学中。元胞自动机用于兔子-草,鲨鱼-小鱼等生态动态变化过程的模拟,展示出令人满意的动态效果;元胞自动机还成功地应用于蚂蚁、大雁、鱼类洄游等动物的群体行为的模拟;另外,基于元胞自动机模型的生物群落的扩散模拟也是当前的一个应用热点。在信息学中。元胞自动机冉于研究信息的保存、传递、扩散的过程。另外。Deutsch(1972)、Sternberg(1980)和Rosenfeld(1979)等人还将二维元胞自动机应用到图像处理和模式识别中 (WoIfram.S.,1983)。 9 t9 R( p* f' W" `+ _: E1 D6 b

8 J) v9 ?  O* i: S# f) r  y- L/ ~8 n6 k' t$ h, e
    在计算机科学中。元胞自动机可以被看作是并行计算机而用于并行计算的研究(Wolfram.S.1983)。另外。元胞自动机还应用于计算机图形学的研究中。
$ P$ Q& ~& v+ J8 Y  n- I" e* t" l+ y4 U0 f6 j3 j
+ R, k" e/ E3 Q8 W/ ?  I' K
    在数学中,元胞自动机可用来研究数论和并行计算。例如Fischer(1965)设计的素数过滤器(Prime Number Sieves)(Wolfram,S.1983)。
' p, q- O3 q" p$ n# }6 c4 Y% v
( P# T8 c3 T: h. D4 l
; y: i: }, G" V" L7 Y    在物理学中。除了格子气元胞自动机在流体力学上的成功应用。元胞自动机还应用于磁场、电场等场的模拟,以及热扩散、热传导和机械波的模拟。另外。元胞自动机还用来模拟雪花等枝晶的形成。
9 y! Q0 c+ z& ~9 i! e# `6 X7 g& M3 s7 K0 w$ k" c) d: B3 f
( B# V# D/ [8 S! O1 \' E, b. c
    在化学中,元胞自动机可用来通过模拟原子、分子等各种微观粒子在化学反应中的相互作用,而研究化学反应的过程。例如李才伟 (1997)应用元胞自动机模型成功模拟了由耗散结构创始人I·Prgogine所领导的Brussel学派提出的自催化模型---Brusselator模型,又称为三分子模型。Y·BarYam等人利用元胞自动机模型构造了高分子的聚合过程模拟模型,在环境科学上,有人应用元胞自动机来模拟海上石油泄露后的油污扩散、工厂周围废水、废气的扩散等过程的模拟。 ! o) j8 c) u# r& n0 m

1 h9 [9 q" K# k8 y
0 k/ a' E/ q; X' w$ J, {    在军事科学中,元胞自动机模型可用来进行战场的军事作战模拟"提供对战争过程的aq理解(谭跃进等,1996)。
! S" K, e5 [4 q( p3 N5 {6 N. A" n/ f8 O) |, q; j
' y7 ?9 B  c" W: t( R7 a
    元胞自动机作为一种动态模型,更多的是作为一种通用性建模的方法,其应用几乎涉  2 [5 q6 V$ y. q
及社会和自然科学的各个领域,在此我们不在一一介绍。 & g2 a9 D) b' r6 d

8 _1 b4 j; B" W9 l! s: O
+ Q7 b3 V; @/ Z/ ]5 \% U# p( _) o
+ r8 D, W" _, l- ^2 E3 E! z元胞自动机研究的相关理论方法   
" u8 y" R9 l8 v   ) b3 H  }% W( x0 O' r, D; q% w
元胞自动机与相关理论和方法的发展有着千丝万缕的联系,一方面,元胞自动机的发展得益于相关理论的研究,如逻辑数学、离散数学、计算机中的自动机理论,图灵机思想;另一方面,元胞自动机的发展也促进了一些相关学科和理论(如人工智能、非线性科学、复杂性科学)的发展,甚至还直接导致了人工生命科学的产生。另外,在表现上,元胞自动机模型还与一些理论方法存在着较大的相似性,或者相对性。下面,我们对元胞自动机的一些相关理论方法,以及它们与元胞自动机模型的关系进行简要讨论。  " q+ q& v6 R6 y% F9 @! A
; h# h3 V( f9 d1 S; r$ t
1.元胞自动机与人工生命研究  
) l& J2 I6 C* @. k, x8 y, l) u+ ?
人工生命是90年代才刚刚诞生的新生科学,是复杂性科学研究的支柱学科之一。人工生命是研究能够展示自然界生命系统行为特征的人工系统的一间科学,它试图在计算机、机器人等人工媒体上仿真、合成和生物有机体相关联的一些基本现象,如自我复制、寄生、竞争、进化、协作等,并研究和观察"可能的生命现象"(Life-as-it-could-be),从而使人们能够加深理解"已知的生命现象"(Life-as-we-know-it)(Longton,C·G·,1987;吴建兵,1998)。   
$ p( }9 ]5 v5 d5 h: t) O% } 元胞自动机是人工生命的重要研究工具和理论方法分支,兰顿(Christopher Langton)等人正是基于对元胞自动机的深入研究提出和发展了人工生命。同时,人工生命的发展又为元胞自动机赋予了新的涵义,元胞自动机模型得到科学家们的重新认识和认可,并在90年代又一次成为科学研究的前沿课题,其理论和方法得到进一步的提高。另外,元胞自动机与其他的人工生命研究方法有着很大的相似性。元胞自动机模型与神经网络、遗传算法等其他人工生命方法一样,都是基于局部的相互作用,来研究系统的整体行为。另外,元胞自动机、神经网络、L—系统都可以归为非线性动力学中的网络动力学模型,它们相互联系,关系密切。目前,一种被称为元胞神经网络(Cellular Neural Network,简称CNN)的模型就是元胞自动机与神经网络结合的产物。  
/ U/ p# h5 p5 @: |+ w. }$ C& q. y# Z" w$ ?
2.元胞自动机与"混沌的边缘"  5 I& U7 ]* p8 T; N+ G
) [( M% {4 u' |8 L- q4 {
"混沌的边缘 (On the Edge of Chaos)(Langton C. G.,1992;M. Waldrop,1997)"是当前复杂性科学研究的一个重要成果和标志性口号,为圣塔菲(Santa Fee)学派的旗帜。所谓的"混沌"并非科学意义上的"混沌",而是Chaos本身的原有涵义,即与有序相对的"混乱"、"无序"的概念。因此,"混沌的边缘"应当被理解为"混乱的边缘"。或"无序的边缘",而与混沌动力学的"混沌"没有直接联系。其实,"混沌的边缘"完整的含义是指:生命等复杂现象和复杂系统存在和产生于"混沌的边缘"。有序不是复杂,无序同样也不是复杂,复杂存在于无序的边缘。  - i  }, Z, u8 o# `7 f
"混沌的边缘"这个概念是Norman Packard和Chhstopher Langton在对元胞自动机深入研究的基础上提出的,在此我们予以简要介绍。  / B+ Q) x, `5 @5 F+ h2 x5 A; F
Langton在对S. Wolfram动力学行为分类的分析和研究基础上,提出"混沌的边缘"这个响亮的名词,认为元胞自动机,尤其是第四类元胞自动机是最具创造性动态系统--复杂状态,它恰恰界于秩序和混沌之间,在大多数的非线性系统中,往往存在一个相应于从系统由秩序到混沌变化的转换参数。例如,我们日常生活中的水龙头的滴水现象,随着水流速度的变化而呈现不同的稳定的一点周期、两点或多点周期乃至混沌、极度紊乱的复杂动态行为,显然,这里的水流速度。或者说水压就是这个非线性系统的状态参数。Langton则相应地定义了一个关于转换函数的参数,从而将元胞自动机的函数空间参数比。该参数变化时,元胞自动机可展现不同的动态行为,得到与连续动力学系统中相图相类似的参数空间,Langton的方法加下 (谭跃进,1996):  
/ ]5 h. z2 v: d9 d  G 首先定义元胞的静态(Quiescent State)。元胞的静态具有这样的特征,如果元胞所有领域都处于静态。则该元胞在下一时刻将仍处于这种静态(类似于映射中的不动点)。现考虑一元胞自动机,每个元胞具有k种状态(状态集为∑),每个元胞与n个相邻元胞相连。则共存在kn种邻域状态。选择k种状态中任意一种s∈∑并称之为静态sq。假设对转换函数而言,共有nq种变换将邻域映射为该静态,剩下的kn-nq种状态被随机地、均匀地映射为∑-{sq} 中的每一个状态。7 t& A$ j* t" n/ f* y* L
5 x; P" ~$ T0 a% K1 Y/ H- D
这样,对任意一个转换函数。定义了一个对应的参数值λ。随着参数λ由0到1地变化,元胞自动机的行为可从点状态吸引子变化到周期吸引子,并通过第四类复杂模式达到混沌吸引子 因此,第四类具有局部结构的复杂模式处于。秩序"与"混沌"之间,被称之为"混沌的边缘",在上述的参数空间中。元胞自动机的动态行为(定性1具有点吸引于十周期吸引子->"复杂模式"->混沌吸引子这样的演化模式。同时,它又给元胞自动机的动力学行为的分类赋予了新的意义:即λ低于一定值(这里约为0.6),那么系统将过于简单。换句话说,太多的有序而使得系统缺乏创造性;另外一个极端情况,λ接近1时。系统变的过于紊乱,无法找出结构特征;那么,λ只有在某个值附近,所谓"混沌的边缘",系统使得极为复杂。也只有在此时,"生命现象"才可能存在。在这个基础上,兰顿提出和发展了人工生命科学。在现代系统科学中。耗散结构学指出"生命"以负墒为生,而Langton则创造性的提出生命存在于"混沌的边缘"。从另外一个角度对生命的复杂现象进行了更深层次  
2 c0 E6 d$ d8 Z/ [" `探讨的。  
  I4 R. ?( ^% u, P% c3 B
+ t" l7 Q! o) u, o; I! a, J# z3.元胞自动机与微分方程  
% z0 E3 c1 W( r7 t: a* v0 W, x8 q4 k3 ~
微分方程有着三百多年的发展历史。一批伟大的科学家,如Euler、Caus。Langrange、Laplace、Poisson都作出了卓越的贡献。而且,后来发展的偏微分万程对量子力学等现代物理学的产生相发展有着重要的意义,一大批的物理规律就是利用偏微分方程来惟理和表达的,如麦克斯维方程等。恩格斯还指出“自然界的统一性,显示在关于各种现象领域的微分方程的 '惊人类似'之中"。总之,微分方程是现代科学的语言,也是科学研究中最为重要的研究工具之一。: n& ~+ q; \& J$ ]% e3 ~
3 K% O: i/ J1 F1 x  R* p' J. f4 [

& j8 I; D: p+ j& G& T  f* C( ? 微分方程的主要特点是时间、空间均连续(如果方程中有空间因子的话),这是建立在时空连续的哲学认识基础上的。而元胞自动机则是完全的空间离散、时间离散,在这个意义上,微分方程和元胞自动机一对相对的计算方法 (Toffoli.T.,1987)。 ' r, O" X3 g. c) B4 ~3 @  E4 ^

* u+ Z; k; h- J0 `: N2 s$ s1 k" T* a
在人工计算的情况下。由符号组成的(偏)微分方程可以灵活地进行约简等符号运算,而得到精确的定量解。这是其优势。但在现代计算机日益发展,已成为我们科学研究的重要工具时,微分方程却遇到了一个尴尬的问题。即计算机是建立在离散的基础上的,微分方程在计算时不得不对自身进行时空离散化,建立差分方程等;或者展开成幂系列方程,截取部分展开式;或者采用某种转换用离散结构来表示连续变量。这个改造过程不仅是繁杂的,甚至是不可能解决的,但最重要的是在这个过程中,微分方程也失去了它的自身最重要的特性----精确性、连续性。 而对于元胞自动机来讲,脱离计算机环境来进行运算几乎是不可能的,但是借助计算机进行计算,则非常自然而合理,甚至它还是下一代并行计算机的原型。因此,在现代计算机的计算环境下,以元胞自动机为代表的离散计算方式在求解方面,尤其是动态系统模拟方面有着更大的优势。元胞自动机虽然在理论上具备计算的完备性,但满足特定目的构模尚无完备的理论支持,其构造往往是一个直觉过程。用元胞自动机得到一个定量的结果非常困难,即便是可能的话,元胞自动机也将陷入一个尴尬,元胞自动机的状态、规则等构成必然会复杂化,从而不可避免地失去其简单、生动的特性。 - X, H1 {+ v8 n3 C4 l  r/ _( \$ j
& b2 y+ l2 m- L# K. Q$ C; C

; J% x7 M( v: H 然而,证如物理学家玻尔所说,"相对的并不一定是矛盾的,有可能是相互补充和相互完善的"。二者互有优缺点,相互补充,都有其存在的理由。但在现代计算机环境下,对于元胞自动机这一类相对来讲还处于幼年阶段的离散计算方式,需要予以更多的关注和支持。在地理学中,Lowry、Wilson、张新生(张新生,1997)等人的空间动力学模型都是基于微分方程的模型,由于这些模型大多是复杂的非线性微分方程,无法求得其解析解,需要按Euler方法或Runge-Kutta方法对微分方程进行一步或多步差分,完成相应的计算机模型或在GIS支持下的空间分析模型。对于这些模型,我们都可以构建相应的元胞自动机模型。: }- \0 z1 C5 o5 V; q* @7 H

8 O( Y1 ~6 v% v; K4 ~, _/ d  N4.元胞自动机与分形分维  . o8 u* b2 ?% l' L& K

0 L  @; q! z# K& J+ q 元胞自动机与分形分维理论有着密切的联系。元胞自动机的自复制、混沌等特征,往往导致元胞自动机模型在空间构形上表现出自相似的分形特征,即元胞自动机的模拟结果通常可以用分形理论来进行定量的描述。同时,在分形分维的经典范例中,有些模型本身就是,或者很接近元胞自动机模型,例如下面我们提到的凝聚扩散模型,因此,某些元胞自动机模型本身就是分形动力学模型。但是,究其本质,元胞自动机与分形理论有着巨大的差别。 1 C5 }$ ~5 y8 K1 m: n
# B0 H" Y1 x# c
& z! R" _4 {' i; B! y$ m) a
元胞自动机重在对想象机理的模拟与分析;分形分维重在对现象的表现形式的表达研究。元胞自动机建模时,从现象的规律入手,构建具有特定涵义的元胞自动机模型;而分形分维多是从物理或数学规律、规则构建模型,而后应用于某种特定复杂现象,其应用方式多为描述现象的自相似性和分形分维特征。然而,这些分数维究竟能够给我们提供多少更有价值的信息?分形理论的进一步应用问题尚末得到解决 (仪垂祥,1995)。 " u; z# }: ?3 Y) [5 l

4 S0 L1 d8 V9 r* u+ k- L% n" A/ Q9 l1 g4 p7 \" u: Z3 |* K
此外,两者都强调一个从局部到整体的过程,但在这个过程的实质上,二者却存在巨大的差异。分形论的精髓是自相似性。这种自相似性不局限于几何形态而具有更广泛更深刻的含义;它是局部 (部分)与整体在形态、功能、信息和结构特性等方面而具有统计意义上的相似性。因此,分形理论提供给我们分析问题的方法论就是从局部结构推断整体特征(陈述彭,1998)。相反,元胞自动机的精华在于局部的简单结构在一定的局部规则作用下,所产生的整体上的"突现"性复杂行为;即系统 (整体)在宏观层次上,其部分或部分的加和所不具有的性质(谭跃进等,1996)。因此,分形理论强调局部与整体的相似性和相关性,但元胞自动机重在表现"突现"特征,即局部行为结构与整体行为的不确定性、非线性关系。  - M& t% }4 _+ R  Q+ t0 g

7 a$ S0 T8 h$ }; g( u5.元胞自动机与马尔科夫(链)过程  + H& x% C/ M6 l* o: u& r

0 ^  |6 b4 L6 i2 Q* ]3 v; G6 U8 K 马尔科夫过程(MarKov Process)是一个典型的随机过程。设X(t)是一随机过程,当过程在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,这个特性成为无后效性。无后效的随机过程称为马尔科夫过程。马尔科夫过程中的时同和状态既可以是连续的,又可以是离散的。我们称时间离散、状态离散的马尔科夫过程为马尔科夫链。马尔科夫链中,各个时刻的状态的转变由一个状态转移的概率矩阵控制。 # ~( L  ^. a: s3 E. N7 v: S

2 U  N* D" S8 l( {& M/ j8 s6 f: {! D6 a0 T. \* ^
马尔科夫链与元胞自动机都是时间离散、状态离散的动力学模型,二者在概念上有一定的相通性。尤其是对于随机型的元胞自动机来讲,每个元胞的行为可以视为一个不仅时间上无后效,而且在空间上无外效的马尔科夫链。 & w" w2 p& h& ~5 s' Q" S( ?7 q
但是,即使是随机型的元胞自动机也与马尔科夫链存在相当大的差别。首先,马尔科夫链没有空间概念,只有一个状态变量;而元胞自动机的状态量则是与空间位置概念紧密相关的;其次,马尔科夫链中的状态转移概率往往是预先设定好的,而随机型元胞自动机中的元胞状态转移概率则是由当前元胞的邻居构型所决定的。  
- {7 T1 v0 I' U  [! n3 S( v. S8 g4 _! ~8 V1 W
6.元胞自动机、随机行走模型和凝聚扩散模型  
9 I5 F3 _: s: w7 ^9 Y  ?2 ~; g+ u0 e1 T+ R5 y
随机行走模型(Random Walk Model)模拟的是统计数学中提供"最可能状态"常用的数学模型。它的基本思想为:给定空间中的一个粒子:它在空间中的移动矢量 (包括方向和距离)是由跃迁概率的随机量所控制,由此可以模拟诸如自然界中的分子布朗运动、电子在金属中的随机运动等复杂过程。其理论研究主要集中在对单个粒子的运动规律的研究。但是,随机行走模型中粒子可以是很多个,但是它们遵循的规则都是一个统一的随机规程,而且它们之间的运动是相互独立的,互不影响。如果考虑它们之间的相互作用,就可能构  
* I6 g8 I( }! p3 b6 x造出其他基于随机行走的模型,例如凝聚扩散模型。
; Y* z3 A6 w4 {8 I7 }- o8 U) b! j3 q) Z1 o! x

  M& K/ w/ m' X 凝聚扩散(Diffusion-Limited Aggregation)模型,简称DLA,可以看作是一个多粒子的随机行走模型,而且它的计算空间也往往是一个离散的格网。它是由A·Written和Sander于1981年首先提出的。其基本思想如下:给定初始点作为凝聚点,以它作为圆心做一个大圆,在圆周上的一个随机点释放一个粒子,为简单起见,它的运动通常规定为一个随机行走过程,直到它运动至与已有的凝聚点相邻,改变它的状态为凝聚点,不再运动;再随机释放一个粒子;直至凝聚。重复上述过程,就可以得到一个凝聚点的连通集,形似冬日里玻璃上的冰花。凝聚扩散模型还可以有不同的形式,如释放点可以在一个四边形中的顶部,从而在下面省长出形似荆棘的灌丛。而1984年,R·F·Voss提出的多粒子凝聚扩散(Multi-Particle Diffusion Aggregation)模型是对凝聚扩散模型的改进和发展。其基本思想是:在给定的离散空间中,依照一定的密度随机散布自由粒子,在中心设置一个凝聚点作为种子点,也可以随机布设若干个凝聚点作为种子,然后各自由粒子随机行走,一旦与凝聚点相邻,则变为新的凝聚点,直至所有的自由粒子"凝聚"。* f" k" X$ C, H( h: M& Y

( }9 V7 x2 O( d5 Q, K
' R) B1 p$ o' }0 m2 q4 r# c" j  w6 Z+ M% I% P5 s: a
元胞自动机、随机行走模型、凝聚扩散模型都是典型的分形图形的生成方法,在很多情况下,它们都可以生成相似的复杂图案。但它们之间仍存在着一定的差别。
, @) k1 Y. b5 U* b/ h9 \# n+ q& Y: |, |, ^$ s. Q; @1 T% z- e/ A; I
+ X- }, n0 F; V. F
随机行走模型与元胞自动自动机的差别在于以下几个方面:第一、随机行走模型通常只是考虑单个粒子的运动,而元胞自动机模型中则通常存在众多的元胞;第二、即使模型中,存在多个粒子,随机行走模型通常并不考虑粒子间的相互作用,粒子的运动是相互独立的;第三、随机行走中的粒子是运动的概念,而元胞自动机的元胞通常是一个状态变化的过程;第四、随机行走中的粒子的运动空间可以是离散的,也可以是连续的,但在元胞自动机中,元胞都分布在离散的空间网格上。
1 }6 c! L6 ^3 H) l4 N' Q# t" ]5 L5 W: R2 S; F; L1 r
8 v& E; C. ^0 R3 E  `3 a+ B
凝聚扩散模型。尤其是多粒子凝聚扩散模型与元胞自动机则非常相似:时间空间离散;模型中存在粒子的相互作用,且这种作用具有局部特征,即自由粒子在有凝聚点为邻居时,状态转变为凝聚点。特殊的是这种转变只是一个单向的转变,凝聚扩散模型在最终达到一种定态吸引子;粒子的运动遵循相通的规律,可以进行同步计算。因此。在广义上,凝聚扩散模型可以归为元胞自动机的一个特例。但是,它们之间仍存在以下几个不同点:一、元胞自动机模型面向的是整个网格空间,而凝聚扩散模型面向的是特定粒子的运动;二、元胞自动机的元胞通常只有状态的改变,其空间位置是固定的,而凝聚扩散模型中的粒子不仅有状态的变化,更是一个运动的粒子。三、凝聚扩散中,多个粒子通常可以同时占据一个格网空间点,而元胞自动机模型中,每个格网点只能有一个元胞。因此,在某种意义上讲,凝聚扩散模型与下面提到的多主体模型更相似,可以看作是粒子间不存在目的性、竞争、协作等智能特征的"无头脑"的主体模型。  % t# c% {" T) j4 S
7 u' i; s$ p8 J& {
7.元胞自动机与多主体系统  
+ q- W1 ~2 l# T- U0 C4 m# \
: C: L' G4 D! s' _ 多主体系统(Multi-Agent System,简称MAS)是分布式人工智能的热点课题 (史忠植.1998),主要研究为了共同的、或各自的不同目标,自主的智能主体之间智能行为的协作、竞争等相互作用。基于主体的模型(Agent Based Model,简记为ABM),简称主体模型,又称基于实体的模型(Entity Based Model,简记为EBM),或基于个体的模型(lndividual Based Model,简记为IBM),是多主体系统的一个子集,其主要特征是每个主体代表了现实世界中一个智能性、自治的实体或个体,如人群中的个人,生态系统中的植物个体、动物个体,交通流中的汽车,计算网络中的计算机,经济系统中的经营者等。而在多主体系统中,组成系统的个体可以是任何系统部件,如组成专家系统的是一条条意见。, e; a: J2 S8 r2 W1 q7 M0 i9 e

% R6 F# B* E) ~5 u4 Q8 J& I一些基于主体的模型中的主体是具有空间概念的,交通流中的汽车,生态系统中的动植物个体等;但有些并不具有空间概念,如计算网络中的计算机。对于那些有空间概念的主体,其空间表示即可以是连续的,如一组实数坐标对;也可以是离散的,即格网空间中的行列值。而元胞自动机与这种具有离散空间概念的主体模型非常相近,二者均研究在离散空间上个体间的相互作用而形成整体上的复杂行为。但仍然存在很大的区别; 7 N/ M1 g9 V; C$ I' Z( A" u  h

! z% M+ }( |/ N7 [2 s! z6 N% ]; v% k7 P9 Z) j( L
(l)主体模型中的主体可能是可以移动的,如动物个体;但也有可能是不可以移动的;而元胞自动机模型中的元胞个体通常是不可以移动的,元胞自动机在整体上的运动是通过元胞个体的状态变化来实现的。  ! n- c! m. S9 s3 ^* G+ O5 N/ Q
(2)在基于格网空间的主体模型中,格网只是作为主体的空间定位,多个主体可以占据一个格网点;而在元胞自动机模型中,每个格网点只能拥有一个特定状态的元胞。  
& b. v/ v$ u4 r; b5 a  V (3)在本质上讲,可以说,主体模型是面向(通常是稀疏,分布在网格空间上的个体的,而元胞自动机则是面向整个网格空间的。在模型运行时,主体模型将只考虑个体的行为,而元胞自动机将考虑整个元胞空间上的每个格网 (元胞)的状态。  
7 f& K! X% ?" J/ q+ R0 a) r% C4 q, U2 O8 y( Z8 E0 t
8.元胞自动机与系统动态学模型  
5 k, k6 |( q4 i& C' ?, e4 G- O
- p' ^/ R6 ^- v 系统动力学 (SystemDynamics,简称SD)是一间分析研究反馈系统的学科,也是一门认识系统问题和解决系统问题交叉的综合性学科。它最初由美国麻省理工学院的Jay W·Forrestr教授于1956年开发提出,其特点是引入了系统分析的概念,强调信息反馈控制,是系统论、信息论、控制论和决策论的综合产物,非常适于研究复杂系统的结构、功能与动态行为之间的关系。通过分析系统结构,选取适当因素,建立它们之间的反馈关系,并在此基础上建立一系列微分方程,构建系统动态学方程,进一步考察系统在不同参数和不同策略因素输入时的系统动态变化行为和趋势,为决策者提供决策支持。由于它能够对实际系统进行动态仿真,因而系统动力学模型可作为实际系统,特别是社会、经济、生态复杂大系统的"实验室"(Forrester。J·W·,1969;裴相斌,1999;李一智等,1987)。 : D5 }& H, J& E; R, }. [  r2 a

+ {! R3 {: k+ p, o# Z8 A4 F
, A, d( q- x. e9 W 系统动态学模型在地球科学研究中具有比较广泛的实用性。因为它着眼于系统的整体最佳目标,不是单纯追求个别子系统的最佳目标,有助于实现人口、资源、环境与社会、经济各子系统之间的协调,采用无量纲的综合研究。同时,该模型仍采用的一阶微分方程组,带有延迟函数和表函数,又能引入投入一产出反馈回路的概念,能比较直观、形象地处理某些比较复杂的非线性问题 (陈述彭,1991)。但是,系统动态学也有"先天不足",而限制了它在地球科学中的应用。 5 N7 H1 a4 m! k# ^) s
' \% Y6 M3 p: |* b" r5 T
) e6 [: B. _; ?
(1)首先,SD对系统的描述带有主观性。建模者对系统结构的认识,主要包括因素的选取及其相关关系的描述,就直接反映在模型中。而复杂系统的不确定性、非线性等复杂性特征决定了它的系统结构具有混沌性,不同人对它的描述可能有很大的差别,因而,系统动态学在地学建模中,难免会受到个人主观性的干扰,而影响模型的模拟结果。 ) E' W' i5 r. z& y9 f8 h

$ \4 v: X+ P+ ^& C3 [* N$ X: w# C, Y# s) F( D
(2)其次,SD缺乏全面的协调指标体系。复杂系统中有许多因素是定性的,需要一个量化的过程。那么,多个相关因子的分类、分级定量标准就需要从系统的高度进行协调,这往往是系统动态学模型的一个难题。
$ f; R4 p- g$ v2 Z: C& x# }: h! H( V& R

$ j( Z5 C4 ~: Z2 v4 B (3)最后,缺乏空间因素的处理功能,难以刻画空间系统中各要素在空间上的相互作用和相互反馈关系(张新生,1997;裴相斌,1999)。这对其应用于空间复杂系统研究是个致命的限制。 9 J2 F) X( A/ s: T( h+ F
5 d. F; B1 `  G3 K' E0 k' a
; s" b  j& ?3 m4 s  F: [" D) K. O% u
系统动态学模型与元胞自动机都是采用 "自下而上"的研究思路,利用系统要素间的反馈等相互作用,来模拟和预测系统的整体的动态行为,它们都是研究复杂系统动态变化约有力工具。但是,二者又有所不同:首先,在模型机制上,CA模型基于系统要素间的空间相互作用,而SD则更多的考虑要素间指标属性的关联关系;其次,在模型表现形式上,CA是时间、空间、状态全离散的,转换规则也往往表现为参照表形式,而SD则表现为系列的微分方程组,时间、属性及要素间反馈关系的表达都是连续性质的i第三,在结果表现上,CA模型表现为系统空间结构的时空动态演化,而SD模型的结果是系统某个社会经济指标的动态变化;最后,在应用上,CA模型多用于复杂系统的时空演化模拟,而SD模型缺乏空间概念,更适于社会经济系统的模拟预测。- m( x- g8 G7 [, d
/ p2 e( D; `) n+ W4 s5 |
来源:巫浩 源地址: http://blog.renren.com/GetEntry. ... &owner=34306605

Rank: 7Rank: 7Rank: 7

积分
13286 
威望
13286  
包包
34831  

论坛元老 精华勋章 金话筒 专家 优秀会员 优秀版主

报纸
发表于 2014-8-5 14:13 |只看该作者

元胞自动机与相关理论和方法


+ G+ b! i9 R; O7 q分类: 机器学习 2010-03-11 $ C3 B8 t' w: E$ J4 A& e9 z$ w
5 |: u/ p) G) x. e# B3 d
网络网格工具交通randomnetwork
& E, I% m1 ?2 \. r% W元胞自动机与相关理论和方法的发展有着千丝万缕的联系,一方面,元胞自动机的发展得益于相关理论的研究,如逻辑数学、离散数学、计算机中的自动机理论,图灵机思想;另一方面,元胞自动机的发展也促进了一些相关学科和理论(如人工智能、非线性科学、复杂性科学)的发展,甚至还直接导致了人工生命科学的产生。另外,在表现上,元胞自动机模型还与一些理论方法存在着较大的相似性,或者相对性。下面,我们对元胞自动机的一些相关理论方法,以及它们与元胞自动机模型的关系进行简要讨论。
  j# P7 Y2 g# [% p) A- E
. |9 m% d# C2 l' t/ n- u' Y0 O% N; C1.元胞自动机与人工生命研究 & x" |" `; c8 e  a* x1 q
4 i' x8 q$ w; ?
     人工生命是90年代才刚刚诞生的新生科学,是复杂性科学研究的支柱学科之一。人工生命是研究能够展示自然界生命系统行为特征的人工系统的一间科学,它试图在计算机、机器人等人工媒体上仿真、合成和生物有机体相关联的一些基本现象,如自我复制、寄生、竞争、进化、协作等,并研究和观察"可能的生命现象"(Life-as-it-could-be),从而使人们能够加深理解"已知的生命现象"(Life-as-we-know-it)(Longton,C·G·,1987;吴建兵,1998)。 2 T. G# K* d1 J
     元胞自动机是人工生命的重要研究工具和理论方法分支,兰顿(Christopher Langton)等人正是基于对元胞自动机的深入研究提出和发展了人工生命。同时,人工生命的发展又为元胞自动机赋予了新的涵义,元胞自动机模型得到科学家们的重新认识和认可,并在90年代又一次成为科学研究的前沿课题,其理论和方法得到进一步的提高。另外,元胞自动机与其他的人工生命研究方法有着很大的相似性。元胞自动机模型与神经网络、遗传算法等其他人工生命方法一样,都是基于局部的相互作用,来研究系统的整体行为。另外,元胞自动机、神经网络、L—系统都可以归为非线性动力学中的网络动力学模型,它们相互联系,关系密切。目前,一种被称为元胞神经网络(Cellular Neural Network,简称CNN)的模型就是元胞自动机与神经网络结合的产物。
: h) n' T) n) }) }  i% q& k: |2 A1 L
2.元胞自动机与"混沌的边缘" / K& q1 @; E0 D$ j% R5 r* _
; x1 |3 L# [4 s2 o. _/ ~. d: `
     "混沌的边缘 (On the Edge of Chaos)(Langton C. G.,1992;M. Waldrop,1997)"是当前复杂性科学研究的一个重要成果和标志性口号,为圣塔菲(Santa Fee)学派的旗帜。所谓的"混沌"并非科学意义上的"混沌",而是Chaos本身的原有涵义,即与有序相对的"混乱"、"无序"的概念。因此,"混沌的边缘"应当被理解为"混乱的边缘"。或"无序的边缘",而与混沌动力学的"混沌"没有直接联系。其实,"混沌的边缘"完整的含义是指:生命等复杂现象和复杂系统存在和产生于"混沌的边缘"。有序不是复杂,无序同样也不是复杂,复杂存在于无序的边缘。 ! \: `4 S! M; I6 w# c) l" v/ R
     "混沌的边缘"这个概念是Norman Packard和Chhstopher Langton在对元胞自动机深入研究的基础上提出的,在此我们予以简要介绍。
9 U  v1 C' S) R& t     Langton在对S. Wolfram动力学行为分类的分析和研究基础上,提出"混沌的边缘"这个响亮的名词,认为元胞自动机,尤其是第四类元胞自动机是最具创造性动态系统--复杂状态,它恰恰界于秩序和混沌之间,在大多数的非线性系统中,往往存在一个相应于从系统由秩序到混沌变化的转换参数。例如,我们日常生活中的水龙头的滴水现象,随着水流速度的变化而呈现不同的稳定的一点周期、两点或多点周期乃至混沌、极度紊乱的复杂动态行为,显然,这里的水流速度。或者说水压就是这个非线性系统的状态参数。Langton则相应地定义了一个关于转换函数的参数,从而将元胞自动机的函数空间参数比。该参数变化时,元胞自动机可展现不同的动态行为,得到与连续动力学系统中相图相类似的参数空间,Langton的方法加下 (谭跃进,1996):
1 {3 N. J5 a9 I! e6 T     首先定义元胞的静态(Quiescent State)。元胞的静态具有这样的特征,如果元胞所有领域都处于静态。则该元胞在下一时刻将仍处于这种静态(类似于映射中的不动点)。现考虑一元胞自动机,每个元胞具有k种状态(状态集为Σ),每个元胞与n个相邻元胞相连。则共存在kn种邻域状态。选择k种状态中任意一种s∈Σ并称之为静态sq。假设对转换函数而言,共有nq种变换将邻域映射为该静态,剩下的kn-nq种状态被随机地、均匀地映射为Σ-{sq} 中的每一个状态。则可定义:
* O& T2 [( I6 f8 o" C/ o5 t* Y8 y& ]
  }9 h. ?! E* U+ y8 z, F2 qλ=(k^n-nq)/k^n
$ h: G9 W% Q# p# Q* H这样,对任意一个转换函数。定义了一个对应的参数值λ。随着参数λ由0到1地变化,元胞自动机的行为可从点状态吸引子变化到周期吸引子,并通过第四类复杂模式达到混沌吸引子 因此,第四类具有局部结构的复杂模式处于。秩序"与"混沌"之间,被称之为"混沌的边缘",在上述的参数空间中。元胞自动机的动态行为(定性1具有点吸引于十周期吸引子->"复杂模式"->混沌吸引子这样的演化模式。同时,它又给元胞自动机的动力学行为的分类赋予了新的意义:即λ低于一定值(这里约为0.6),那么系统将过于简单。换句话说,太多的有序而使得系统缺乏创造性;另外一个极端情况,λ接近1时。系统变的过于紊乱,无法找出结构特征;那么,λ只有在某个值附近,所谓"混沌的边缘",系统使得极为复杂。也只有在此时,"生命现象"才可能存在。在这个基础上,兰顿提出和发展了人工生命科学。在现代系统科学中。耗散结构学指出"生命"以负墒为生,而Langton则创造性的提出生命存在于"混沌的边缘"。从另外一个角度对生命的复杂现象进行了更深层次探讨的。
! ?% t& l! G% M% ^3.元胞自动机与微分方程 / Q8 U) `6 U2 }0 [: w$ e( K- C
* @) c: ~& ~7 @6 P
     微分方程有着三百多年的发展历史。一批伟大的科学家,如Euler、Caus。Langrange、Laplace、Poisson都作出了卓越的贡献。而且,后来发展的偏微分万程对量子力学等现代物理学的产生相发展有着重要的意义,一大批的物理规律就是利用偏微分方程来惟理和表达的,如麦克斯维方程等。恩格斯还指出“自然界的统一性,显示在关于各种现象领域的微分方程的 '惊人类似'之中"。总之,微分方程是现代科学的语言,也是科学研究中最为重要的研究工具之一。
0 E) F3 x- o& H" L& k  _7 F     微分方程的主要特点是时间、空间均连续(如果方程中有空间因子的话),这是建立在时空连续的哲学认识基础上的。而元胞自动机则是完全的空间离散、时间离散,在这个意义上,微分方程和元胞自动机一对相对的计算方法 (Toffoli.T.,1987)。
; m+ k7 z4 V5 C% B2 q. u/ ?     在人工计算的情况下。由符号组成的(偏)微分方程可以灵活地进行约简等符号运算,而得到精确的定量解。这是其优势。但在现代计算机日益发展,已成为我们科学研究的重要工具时,微分方程却遇到了一个尴尬的问题。即计算机是建立在离散的基础上的,微分方程在计算时不得不对自身进行时空离散化,建立差分方程等;或者展开成幂系列方程,截取部分展开式;或者采用某种转换用离散结构来表示连续变量。这个改造过程不仅是繁杂的,甚至是不可能解决的,但最重要的是在这个过程中,微分方程也失去了它的自身最重要的特性----精确性、连续性。 4 s% l0 r( u% \3 ^& F! x
     而对于元胞自动机来讲,脱离计算机环境来进行运算几乎是不可能的,但是借助计算机进行计算,则非常自然而合理,甚至它还是下一代并行计算机的原型。因此,在现代计算机的计算环境下,以元胞自动机为代表的离散计算方式在求解方面,尤其是动态系统模拟方面有着更大的优势。元胞自动机虽然在理论上具备计算的完备性,但满足特定目的构模尚无完备的理论支持,其构造往往是一个直觉过程。用元胞自动机得到一个定量的结果非常困难,即便是可能的话,元胞自动机也将陷入一个尴尬,元胞自动机的状态、规则等构成必然会复杂化,从而不可避免地失去其简单、生动的特性。 8 D9 G" r7 {2 R) L9 Y8 a
     然而,证如物理学家玻尔所说,"相对的并不一定是矛盾的,有可能是相互补充和相互完善的"。二者互有优缺点,相互补充,都有其存在的理由。但在现代计算机环境下,对于元胞自动机这一类相对来讲还处于幼年阶段的离散计算方式,需要予以更多的关注和支持。在地理学中,Lowry、Wilson、张新生(张新生,1997)等人的空间动力学模型都是基于微分方程的模型,由于这些模型大多是复杂的非线性微分方程,无法求得其解析解,需要按Euler方法或Runge-Kutta方法对微分方程进行一步或多步差分,完成相应的计算机模型或在GIS支持下的空间分析模型。对于这些模型,我们都可以构建相应的元胞自动机模型。 + u/ w1 \, q* K6 R

$ p5 ?: C6 \" D1 R4.元胞自动机与分形分维
7 U$ w, z) c2 [' M  c: z- Y5 K! N) {9 m& a5 T
     元胞自动机与分形分维理论有着密切的联系。元胞自动机的自复制、混沌等特征,往往导致元胞自动机模型在空间构形上表现出自相似的分形特征,即元胞自动机的模拟结果通常可以用分形理论来进行定量的描述。同时,在分形分维的经典范例中,有些模型本身就是,或者很接近元胞自动机模型,例如下面我们提到的凝聚扩散模型,因此,某些元胞自动机模型本身就是分形动力学模型。但是,究其本质,元胞自动机与分形理论有着巨大的差别。 7 B  e. u1 J! w
     元胞自动机重在对想象机理的模拟与分析;分形分维重在对现象的表现形式的表达研究。元胞自动机建模时,从现象的规律入手,构建具有特定涵义的元胞自动机模型;而分形分维多是从物理或数学规律、规则构建模型,而后应用于某种特定复杂现象,其应用方式多为描述现象的自相似性和分形分维特征。然而,这些分数维究竟能够给我们提供多少更有价值的信息?分形理论的进一步应用问题尚末得到解决 (仪垂祥,1995)。 1 L* z4 C' U+ r4 M" Z
     此外,两者都强调一个从局部到整体的过程,但在这个过程的实质上,二者却存在巨大的差异。分形论的精髓是自相似性。这种自相似性不局限于几何形态而具有更广泛更深刻的含义;它是局部 (部分)与整体在形态、功能、信息和结构特性等方面而具有统计意义上的相似性。因此,分形理论提供给我们分析问题的方法论就是从局部结构推断整体特征(陈述彭,1998)。相反,元胞自动机的精华在于局部的简单结构在一定的局部规则作用下,所产生的整体上的"突现"性复杂行为;即系统 (整体)在宏观层次上,其部分或部分的加和所不具有的性质(谭跃进等,1996)。因此,分形理论强调局部与整体的相似性和相关性,但元胞自动机重在表现"突现"特征,即局部行为结构与整体行为的不确定性、非线性关系。
$ }: l9 d+ H/ `; D- i+ W3 \  h, n2 H7 E3 T# R2 `
5.元胞自动机与马尔科夫(链)过程
( S4 o' r# D  j% g; U( G! z0 e" e$ H0 x; t& Q$ S8 p5 g' }+ {
     马尔科夫过程(MarKov Process)是一个典型的随机过程。设X(t)是一随机过程,当过程在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,这个特性成为无后效性。无后效的随机过程称为马尔科夫过程。马尔科夫过程中的时同和状态既可以是连续的,又可以是离散的。我们称时间离散、状态离散的马尔科夫过程为马尔科夫链。马尔科夫链中,各个时刻的状态的转变由一个状态转移的概率矩阵控制。 0 J9 S1 T7 `# i* B- G
     马尔科夫链与元胞自动机都是时间离散、状态离散的动力学模型,二者在概念上有一定的相通性。尤其是对于随机型的元胞自动机来讲,每个元胞的行为可以视为一个不仅时间上无后效,而且在空间上无外效的马尔科夫链。 ) g, u0 R" q1 T- c+ U( ?0 @4 }4 N
     但是,即使是随机型的元胞自动机也与马尔科夫链存在相当大的差别。首先,马尔科夫链没有空间概念,只有一个状态变量;而元胞自动机的状态量则是与空间位置概念紧密相关的;其次,马尔科夫链中的状态转移概率往往是预先设定好的,而随机型元胞自动机中的元胞状态转移概率则是由当前元胞的邻居构型所决定的。 * M, P5 B7 n$ p& i

" A+ [9 P" Y  ~" j3 Y2 Y6.元胞自动机、随机行走模型和凝聚扩散模型 + s. i( \9 u0 @# W

5 ]$ i/ B9 W: j7 y/ u* `     随机行走模型(Random Walk Model)模拟的是统计数学中提供"最可能状态"常用的数学模型。它的基本思想为:给定空间中的一个粒子:它在空间中的移动矢量 (包括方向和距离)是由跃迁概率的随机量所控制,由此可以模拟诸如自然界中的分子布朗运动、电子在金属中的随机运动等复杂过程。其理论研究主要集中在对单个粒子的运动规律的研究。但是,随机行走模型中粒子可以是很多个,但是它们遵循的规则都是一个统一的随机规程,而且它们之间的运动是相互独立的,互不影响。如果考虑它们之间的相互作用,就可能构造出其他基于随机行走的模型,例如凝聚扩散模型。 6 j9 @  K, L* O. I, ]
     凝聚扩散(Diffusion-Limited Aggregation)模型,简称DLA,可以看作是一个多粒子的随机行走模型,而且它的计算空间也往往是一个离散的格网。它是由A·Written和Sander于1981年首先提出的。其基本思想如下:给定初始点作为凝聚点,以它作为圆心做一个大圆,在圆周上的一个随机点释放一个粒子,为简单起见,它的运动通常规定为一个随机行走过程,直到它运动至与已有的凝聚点相邻,改变它的状态为凝聚点,不再运动;再随机释放一个粒子;直至凝聚。重复上述过程,就可以得到一个凝聚点的连通集,形似冬日里玻璃上的冰花。凝聚扩散模型还可以有不同的形式,如释放点可以在一个四边形中的顶部,从而在下面省长出形似荆棘的灌丛。而1984年,R·F·Voss提出的多粒子凝聚扩散(Multi-Particle Diffusion Aggregation)模型是对凝聚扩散模型的改进和发展。其基本思想是:在给定的离散空间中,依照一定的密度随机散布自由粒子,在中心设置一个凝聚点作为种子点,也可以随机布设若干个凝聚点作为种子,然后各自由粒子随机行走,一旦与凝聚点相邻,则变为新的凝聚点,直至所有的自由粒子"凝聚"。 1 s( g4 `* i4 ~. S- u* f

- r# i: a2 L' F" k5 _2 _7 I元胞自动机、随机行走模型、凝聚扩散模型都是典型的分形图形的生成方法,在很多情况下,它们都可以生成相似的复杂图案。但它们之间仍存在着一定的差别。
8 b- q2 S& p$ l, W% h( k9 H随机行走模型与元胞自动自动机的差别在于以下几个方面:第一、随机行走模型通常只是考虑单个粒子的运动,而元胞自动机模型中则通常存在众多的元胞;第二、即使模型中,存在多个粒子,随机行走模型通常并不考虑粒子间的相互作用,粒子的运动是相互独立的;第三、随机行走中的粒子是运动的概念,而元胞自动机的元胞通常是一个状态变化的过程;第四、随机行走中的粒子的运动空间可以是离散的,也可以是连续的,但在元胞自动机中,元胞都分布在离散的空间网格上。 / X  C8 [" y# R" q$ z0 Z  l3 T
凝聚扩散模型。尤其是多粒子凝聚扩散模型与元胞自动机则非常相似:时间空间离散;模型中存在粒子的相互作用,且这种作用具有局部特征,即自由粒子在有凝聚点为邻居时,状态转变为凝聚点。特殊的是这种转变只是一个单向的转变,凝聚扩散模型在最终达到一种定态吸引子;粒子的运动遵循相通的规律,可以进行同步计算。因此。在广义上,凝聚扩散模型可以归为元胞自动机的一个特例。但是,它们之间仍存在以下几个不同点:一、元胞自动机模型面向的是整个网格空间,而凝聚扩散模型面向的是特定粒子的运动;二、元胞自动机的元胞通常只有状态的改变,其空间位置是固定的,而凝聚扩散模型中的粒子不仅有状态的变化,更是一个运动的粒子。三、凝聚扩散中,多个粒子通常可以同时占据一个格网空间点,而元胞自动机模型中,每个格网点只能有一个元胞。因此,在某种意义上讲,凝聚扩散模型与下面提到的多主体模型更相似,可以看作是粒子间不存在目的性、竞争、协作等智能特征的"无头脑"的主体模型。 $ \0 Y* G# W: w4 ~  {  \
2 W7 S: O4 O- {; H( n4 E3 X
7.元胞自动机与多主体系统 8 i0 C; M$ c) _$ p! ^3 Z

) x+ T' {' E* d1 o9 D* H4 A7 l多主体系统(Multi-Agent System,简称MAS)是分布式人工智能的热点课题 (史忠植.1998),主要研究为了共同的、或各自的不同目标,自主的智能主体之间智能行为的协作、竞争等相互作用。基于主体的模型(Agent Based Model,简记为ABM),简称主体模型,又称基于实体的模型(Entity Based Model,简记为EBM),或基于个体的模型(lndividual Based Model,简记为IBM),是多主体系统的一个子集,其主要特征是每个主体代表了现实世界中一个智能性、自治的实体或个体,如人群中的个人,生态系统中的植物个体、动物个体,交通流中的汽车,计算网络中的计算机,经济系统中的经营者等。而在多主体系 " c. V. V0 Z" B. j
统中,组成系统的个体可以是任何系统部件,如组成专家系统的是一条条意见。
7 K7 n0 L+ a, x4 J8 [$ S6 p8 N( E3 [6 A8 b% {, H0 _
$ ?2 f: ^, u6 X" n
一些基于主体的模型中的主体是具有空间概念的,交通流中的汽车,生态系统中的动植物个体等;但有些并不具有空间概念,如计算网络中的计算机。对于那些有空间概念的主体,其空间表示即可以是连续的,如一组实数坐标对;也可以是离散的,即格网空间中的行列值。而元胞自动机与这种具有离散空间概念的主体模型非常相近,二者均研究在离散空间上个体间的相互作用而形成整体上的复杂行为。但仍然存在很大的区别;
9 n5 M) Z9 K9 R: z2 R: i' x1 i(l)主体模型中的主体可能是可以移动的,如动物个体;但也有可能是不可以移动的;而元胞自动机模型中的元胞个体通常是不可以移动的,元胞自动机在整体上的运动是通过元胞个体的状态变化来实现的。
( u+ j# R) G1 [; A. t(2)在基于格网空间的主体模型中,格网只是作为主体的空间定位,多个主体可以占据一个格网点;而在元胞自动机模型中,每个格网点只能拥有一个特定状态的元胞。
7 f# r6 |) e5 c$ x" N- s0 m* U2 l(3)在本质上讲,可以说,主体模型是面向(通常是稀疏,分布在网格空间上的个体的,而元胞自动机则是面向整个网格空间的。在模型运行时,主体模型将只考虑个体的行为,而元胞自动机将考虑整个元胞空间上的每个格网 (元胞)的状态。 * p6 A+ i" k* [, R

7 G4 Q4 o4 H) t% P% b) a8.元胞自动机与系统动态学模型 / F2 e6 @9 R! j, T3 D
8 e$ f  H. G  U' \+ m3 R# `' F
系统动力学 (SystemDynamics,简称SD)是一间分析研究反馈系统的学科,也是一门认识系统问题和解决系统问题交叉的综合性学科。它最初由美国麻省理工学院的Jay W·Forrestr教授于1956年开发提出,其特点是引入了系统分析的概念,强调信息反馈控制,是系统论、信息论、控制论和决策论的综合产物,非常适于研究复杂系统的结构、功能与动态行为之间的关系。通过分析系统结构,选取适当因素,建立它们之间的反馈关系,并在此基础上建立一系列微分方程,构建系统动态学方程,进一步考察系统在不同参数和不同
( X$ |+ ?% e# E$ _* V/ ^$ \/ K策略因素输入时的系统动态变化行为和趋势,为决策者提供决策支持。由于它能够对实际系统进行动态仿真,因而系统动力学模型可作为实际系统,特别是社会、经济、生态复杂大系统的"实验室"(Forrester。J·W·,1969;裴相斌,1999;李一智等,1987)。 ( N& k4 `' L3 {$ N
系统动态学模型在地球科学研究中具有比较广泛的实用性。因为它着眼于系统的整体最佳目标,不是单纯追求个别子系统的最佳目标,有助于实现人口、资源、环境与社会、经济各子系统之间的协调,采用无量纲的综合研究。同时,该模型仍采用的一阶微分方程组,带有延迟函数和表函数,又能引入投入一产出反馈回路的概念,能比较直观、形象地处理某些比较复杂的非线性问题 (陈述彭,1991)。但是,系统动态学也有"先天不足",而限制了它在地球科学中的应用。 / L, @+ V6 o: R& [
(1)首先,SD对系统的描述带有主观性。建模者对系统结构的认识,主要包括因素的选取及其相关关系的描述,就直接反映在模型中。而复杂系统的不确定性、非线性等复杂性特征决定了它的系统结构具有混沌性,不同人对它的描述可能有很大的差别,因而,系统动态学在地学建模中,难免会受到个人主观性的干扰,而影响模型的模拟结果。
8 K0 a& p. _+ d: T: o; b  d5 P(2)其次,SD缺乏全面的协调指标体系。复杂系统中有许多因素是定性的,需要一个量化的过程。那么,多个相关因子的分类、分级定量标准就需要从系统的高度进行协调,这往往是系统动态学模型的一个难题。 5 `$ g& ?1 v$ }6 {- n; b
(3)最后,缺乏空间因素的处理功能,难以刻画空间系统中各要素在空间上的相互作用和相互反馈关系(张新生,1997;裴相斌,1999)。这对其应用于空间复杂系统研究是个致命的限制。
/ j" a# R5 M, j  h系统动态学模型与元胞自动机都是采用 "自下而上"的研究思路,利用系统要素间的反馈等相互作用,来模拟和预测系统的整体的动态行为,它们都是研究复杂系统动态变化约有力工具。但是,二者又有所不同:首先,在模型机制上,CA模型基于系统要素间的空间相互作用,而SD则更多的考虑要素间指标属性的关联关系;其次,在模型表现形式上,CA是时间、空间、状态全离散的,转换规则也往往表现为参照表形式,而SD则表现为系列的微分方程组,时间、属性及要素间反馈关系的表达都是连续性质的i第三,在结果表
! C. V6 ~* o& R* E4 b1 x现上,CA模型表现为系统空间结构的时空动态演化,而SD模型的结果是系统某个社会经济指标的动态变化;最后,在应用上,CA模型多用于复杂系统的时空演化模拟,而SD模型缺乏空间概念,更适于社会经济系统的模拟预测。 ( ?8 `: n1 ?; M4 z5 a! c
  from     http://www.blog.edu.cn/user1/10235/archives/2005/203989.shtml
‹ 上一主题|下一主题
你需要登录后才可以回帖 登录 | 注册
验证问答 换一个

Archiver|干细胞之家 ( 吉ICP备2021004615号-3 )

GMT+8, 2024-5-6 20:30

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.