下载本文的PDF版本 PDF

仿生软件指南

自然界可能是我们解决计算机问题的灵感来源。

Kenneth N. Lodding,美国国家航空航天局(NASA)

诚然,“地图并非疆域本身”,但大多数到异国旅行的游客都喜欢随身携带至少一本指南,以便在开始探索时确定自己的方位。这正是本文的意图。尽管没有足够的时间游览所有主要的旅游景点,但只要稍加努力,并以本文的信息作为路标,勇敢的探险家就可以轻松找到许多其他有趣的探索路径。

为了描述生物启发式软件方法,我选择使用“仿生”一词,这个词最初由英国动物学家德斯蒙德·莫里斯(Desmond Morris)创造,并由达尔文主义者理查德·道金斯(Richard Dawkins)在他的著作《盲眼钟表匠》1中普及。另一个有时会看到的术语是“仿生学”,但它通常被认为更像是模仿特定的生物行为,而不是更像是一种隐喻。

为何选择生物学?

人们首先想到的问题可能是,为什么要采用仿生模型?软件工程难道不是更像一门数学吗?不是逻辑和算法吗?不是直接的因果关系:如果A,则B?生物有机体难道不是混乱的现实世界的一部分吗?在这个世界中,行为从各部分的相互作用中涌现出来,而不是被明确地编程到个体中?一个个体遵循简单的规则似乎就能构建复杂的模式和结构的世界?一个经常缺乏领导者的去中心化世界,显然没有蓝图、配方或模板来控制模式形成?所有这些问题的答案都是响亮的“是”!正是这种混乱性——分布式、去中心化行为、模式形成以及生物模型的智能的松散性——使得仿生架构适用于许多计算问题。

考虑以下事实。在自然界中,黄蜂群在没有中心控制的情况下协同工作,构建复杂的巢穴结构。单个蚂蚁觅食,并通过留下化学信号来促进为其他蚁群成员找到通往食物来源的最佳路径。作为一种生存机制,单个粘菌细胞结合在一起,作为一个单细胞多细胞生物来度过饥荒时期。在每个例子中,自组织的简单、合作的个体群体结合在一起,以分布式、并行的方式执行复杂的操作。

此外,群体表现出的行为并非直接编码在个体成员内部,而是从成员之间的相互作用中涌现出来。考虑到成员资格不是静态的,而是一个不断变化的个体群体,成员以不可预测的方式被添加和移除。更令人感兴趣的是,没有中央控制器明确地协调各个部分的行动。尽管存在所有这些看似混乱的互动,生物体仍然形成、生长、生存、自我修复、适应和存活。如果我的计算机环境也能如此成功就好了。也许它可以。

一点历史

生物启发式计算并非一个新近的想法。艾伦·图灵(Alan Turing)在1948年的一篇论文《智能机器》2中,写到了他称之为“无组织机器”的类似神经网络的架构。这篇论文被他的经理不客气地称为“小学生作文”。在1950年的一篇论文《计算机器与智能》3中,图灵建议自然选择和进化可能是构建智能机器的机制。1975年,约翰·霍兰德(John Holland)出版了他的开创性著作《自然和人工系统中的适应》4,并描述了遗传算法的思想。

神经网络的历史曲折,大约始于1962年罗森布拉特(Rosenblatt)的感知器5,在最初的挫折之后(马文·明斯基(Marvin Minsky)和西摩·佩珀特(Seymour Papert)表明神经网络存在某些缺点6),在1982年约翰·霍普菲尔德(John Hopfield)的关联网络7的推动下,重新进入主流研究。1986年,克雷格·雷诺兹(Craig Reynolds)8对鸟群协调一致的方式产生了兴趣,并确定了三个简单的规则,独立模拟的鸟类(他称之为boids)的大群体可以自动涌现出鸟群行为。这些规则为软件开发奠定了基础,该软件用于为1992年蒂姆·伯顿(Tim Burton)的电影《蝙蝠侠归来》中的计算机模拟蝙蝠群和企鹅提供支持。马可·多里戈(Marco Dorigo)在他的1992年博士论文9中,提出了蚁群优化思想来解决离散优化问题,这是一个受到真实蚂蚁觅食行为启发的系统。

许多社会性昆虫协同工作解决问题(例如建造蜂巢或寻找食物)的观察,催生了仿生软件的群体风格。肯尼迪(Kennedy)和埃伯哈特(Eberhart)在1995年开发了粒子群优化算法10,其中大量粒子在问题空间中搜索,群集到最优解。对社会性昆虫行为的研究,如白蚁(皮埃尔-保罗·格拉斯(Pierre-Paul Grassé),1959年11)和蚂蚁(让-路易斯·德内伯格(Jean-Louis Deneubourg),1989年12)影响了许多研究人员,包括圣塔菲研究所的博纳博(Bonabeau)、多里戈和特劳拉兹(Theraulaz)。1999年,他们出版了《群体智能:从自然到人工系统》13,描述了大型简单、交互式代理(例如蚂蚁、蜜蜂、白蚁和黄蜂)的涌现式问题解决能力。

仿生软件风格的范围以及采用这些风格的应用跨度每天都在增长。示例应用包括监控环境的物理分布式传感器网络14、在分布式数据库中检测和分类信息的模式搜索代理群15,以及管理电信网络路由的移动蚂蚁16

那么,是什么使仿生设计成为“仿生”的呢?

简而言之,仿生软件只是从生物系统或过程中提炼出来的算法设计概念。它是生物启发式计算。贯穿当前所有仿生架构的共同主线是,它们描述了动态的、自组织的系统。在仿生架构中,问题解决方案是系统中众多个体元素相互作用的结果,而不是应用某种外部机制或算法的结果。仿生程序并非由一个控制性的全局计划从始至终协调。相反,控制来自于个体元素的相互作用,每个元素在任何给定时刻都只关注其局部世界。仿生程序中的控制是去中心化的。程序执行是分布式的和并行的。

话虽如此,我们必须注意到,在大多数情况下,没有容易识别的结构特征可以始终如一地将特定设计或架构定义为受到生物学启发。没有像哥特式建筑的高耸拱顶天花板、尖拱窗和扶壁那样,可以立即明确地将软件架构归类为仿生的仿生等价物。然而,除了通过计算机系统的(内部)架构或结构对其进行分类之外,还有另一种方法:检查系统的行为。

架构反映了设计者对如何最好地实现系统的看法,而系统行为则反映了设计者对软件应如何对其环境做出反应的看法。一般来说,我们无法仅通过检查系统的结构来了解系统的行为,也无法从应用程序的行为中推导出应用程序的结构。如果我们将结构分离出来,专注于系统行为——形式和功能的分离——我们可以忽略实现细节,并接受实现相同行为的多种手段的潜在存在。

人们已经确定了许多机制17,这些机制描述了似乎表明仿生系统特征的行为。这些机制包括:

• 集体互动。行为是相似的、多个独立的单元(例如群体)集体互动的结果。

• 自主行动。个体自主行动;没有一个“主”个体控制其他个体的行为。

• 涌现。行为是从成员的互动中产生(涌现)的,而不是被明确地设计到个体中的。

• 局部信息和互动。个体倾向于仅根据局部信息和互动进行操作。它们的视野范围是空间上的局部,而不是全局。

• 生老病死。个体被添加到群体中和从群体中移除(即生老病死)是预期事件。

• 适应性。个体具有适应不断变化的目标、信息或环境条件的能力。

• 进化。个体具有随着时间推移而进化的能力。

用于持久计算的多细胞生物体

当面临故障或变化时,计算环境的缺乏灵活性是出了名的。必须进行专门的设计工作(本质上是附加功能)来提供适应性强、容错的计算环境。随着计算机系统规模和复杂性的增长,它们发生故障的可能性也随之增加。如果你的计算机在远程探测器上,则极不可能进行维修。

相比之下,自然(生物)系统通常被认为具有鲁棒性、容错性和适应性,所有这些属性都使它们成为计算机系统设计的有价值的隐喻。美国国家航空航天局(NASA)兰利研究中心最近的一个项目侧重于开发一种以多细胞生物体为模型的容错、适应性计算环境。生物启发式模型的目的是定义一个硬件-软件计算环境,该环境允许系统在合理的服务水平下继续运行,尽管存在(未)预期的故障。

在我描述我们为持久计算项目原型设计的软件多细胞生物体之前,简要介绍一下定义我们模型所必需的生物学细节将有所帮助。前面我谈到了应用程序的架构结构与其行为之间的差异:形式和功能。在生物学中,基因型/表型区分中也保留了相同的划分。基因型是编码在生物体DNA中的遗传指令集——行为或功能。表型是生物体本身的物理形态——结构或形式。基因型在一个称为形态发生的过程中控制表型的发育。

细胞程序由遗传指令(基因)组成,基因是DNA的短片段。细胞执行指令,或者用生物学术语来说,在复制的同时表达基因序列。基因组由生物体的全套基因组成,描述了细胞可能做的事情。它是一个无序的指令集合,完整地描述了最终的生物体。细胞实际做什么——它的命运——取决于哪些基因被表达,而这取决于哪些基因被激活或抑制。DNA中的每个基因都受到一个称为调控区的锁定机制的保护。为了使细胞表达与特定调控区相关的基因,蛋白质密钥必须解锁该基因。一个基因序列可以有多个锁,需要一组密钥才能打开它以进行表达。基因抑制和兴奋的模式定义了一个生物网络,其状态是由复杂的化学混合物决定的,这种混合物既来自细胞内部,也来自其他细胞的信号。就人类而言,最初的亲代细胞经历了大约50次细胞分裂,在你的身体中产生了1015个细胞,其中大约有256种不同的类型,从血细胞到骨细胞,再到肌肉细胞和神经细胞。除了少数例外,每个细胞都包含成为大约256种类型中任何一种类型的信息。成为特定类型细胞的过程称为细胞分化

当细胞分化为最终命运时,有时会被其直接邻居阻止承担特定角色。在这个称为侧向抑制的过程中,承担特定功能的细胞会立即将抑制信号放入环境中,作为化学混合物的一部分,以阻止其他细胞承担相同的功能。当发出信号的细胞死亡,其抑制信号消失时,第一个检测到信号丢失的受抑制邻居细胞可以继续其先前停止的分化过程,取代死亡细胞,然后抑制剩余的邻居。

以下列表捕获的这些生物学细节构成了我们持久计算架构的概念内核:

• 基因组定义了任何细胞可以执行的所有可能的任务。

• 所有细胞都具有相同的基因组。

• 基因组内基因激活和抑制的模式决定了特定的细胞任务。

• 基因状态(激活/抑制)由环境中存在的信号决定。

• 细胞通过将信号扩散到环境中进行通信。

细胞是我们持久计算架构中的基本硬件组件。每个细胞都是一个完全自主的通用处理器,具有本地和全局通信能力。我们生物体中的细胞是固定的,放置到架构中时保持固定位置。细胞之间既不需要空间相邻,也不需要预定义的拓扑布局。然而,正如在网络架构中所预期的那样,某些配置优于其他配置,这可能会影响具有专门功能的硬件细胞在生物体中的定位。

在我们的软件模拟中,本地通信被建模为视距红外链路,而无线电则承担全局通信的角色。多细胞生物体没有全局时钟,没有共享(全局)内存,没有预先分配的细胞ID,也没有中央大脑。简而言之,它是一个高度并行、分布式的计算环境,具有自组织网络配置,能够从其基因型信息在运行时演变为最终形式(表型)。

为了编码基因型信息(生物体的行为),我们选择在最初的实验中使用简单的数据流图模型。因此,对生物体进行编程包括构建一个数据流图,该图以过程以及它们之间的信息流来表达多细胞生物体的行为。图1显示了这样一个数据流图。在本例中,生物体的期望行为是一个简单的气象站。为了实现这种行为,单个细胞必须承担风速、风向和气温传感器的功能;气象数据处理器;以及无线电发射器。

描述该生物体的数据流图被编译并转换为软件基因组,该基因组将被输入到最终生物体的每个细胞中。出于性能考虑,我们假设最小硬件配置由五个细胞组成,每个细胞对应一个可能表达的基因。为了提供足够鲁棒的计算环境,提供的细胞数量超过了最小值。在我们的模型中,未表达特定基因序列的细胞充当未分化的干细胞,执行通用的空任务,直到需要为止。图2显示了气象应用程序在由七个细胞构建的多细胞生物体上的假设映射。

我们细胞的“生命”中有四个主要阶段(见表1)。第一阶段是引导启动,发生在细胞通电后立即。在此阶段,所有细胞都执行标准的默认软件基因组,该基因组基本上包括成为一个独特的自我,找到生物体的范围,并等待分化。

第二阶段包括接种和分布,其中单个细胞被接种软件基因组,该基因组旨在由生物体执行。在我们的示例中,这是“气象站”基因组。被接种新基因组的细胞的任务是将基因组副本分发给所有其他细胞。

在新基因组分布之后,第三阶段发生,此时每个细胞解析其基因组副本,并选择要表达的基因序列:生物学上这是细胞分化,但我们将其称为任务分化。这是最复杂的阶段,可能涉及大量的模拟化学信号,因为细胞选择要表达的基因序列并尝试抑制其他细胞进行相同的选择。此时,整个多细胞生物体可能看起来会振荡或振铃,因为细胞既感知又发出化学信号来控制分化过程,并开始此阶段的执行部分。我们在软件基因组中复制了DNA锁和钥匙的概念。基因组“锁”描述了执行其保护的基因所需的硬件/软件能力。“钥匙”是特定于细胞的信息,描述了特定细胞的硬件和软件能力。任务分化过程包括解析基因组并构建要表达的候选基因的优先级列表。每个细胞根据当前环境中发现的化学信号,决定从预选列表中表达哪个或哪些基因。在没有冲突的情况下,细胞只是将其对该基因的抑制信号放入环境中。如果特定基因已被抑制,则细胞从列表中选择下一个候选基因。如果两个或多个细胞发现自己试图同时表达相同的基因,则细胞休息,等待随机时长,然后再次尝试获得该基因的所有权。

细胞可能进入的第四个也是最后一个阶段是故障和恢复。此阶段仅在细胞死亡且生物体必须有效地重新分化才能继续发挥作用时发生。细胞死亡通过化学抑制信号的丢失来检测。重新分化是通过重新解析软件基因组来完成的,并导致先前被抑制的细胞上线,或者活动细胞拾取任务并将其添加到其工作负载中。如果需要特殊能力,例如感知温度的能力,系统将围绕可以提供该能力的细胞重新配置。如果没有这样的细胞,则该基因表达将不会发生。相反,在某些失败的配置中,可能需要温度传感细胞来表达另一个基因以及温度任务——即多任务处理。生物体仍然可以发挥作用,尽管它可能会因工作负载冲突而遗漏一些数据。图3显示了此基本周期。

生存艰难

我们的软件模拟已成功地证明了多细胞生物体作为设计隐喻,为持久计算环境提供合适的架构的想法。尽管在工作的这个阶段,我们的应用程序相当幼稚,但它已经证明了这个想法,以及更合理的实现将面临的一些问题。未来工作中需要解决的一些问题包括以下内容:

1. 可扩展性。将设计向上扩展几个数量级,并非简单的程序设计练习。目前,软件基因组的大小直接反映了所执行应用程序的复杂性。在原型中,一个简单的列表结构将各个基因链接在一起,每个细胞都有一个完整的代码副本,该代码由完整的基因组引用。这不会,也不打算以任何合理的方式向上扩展。

2. 编程。原型多细胞生物体的编程是使用简单的数据流方法和手动将信息编译到软件基因组中来解决的。这对于实际应用来说是不切实际的。需要的是一种描述所需生物体的高级行为的方法,然后可以将其编译成适合包含在软件基因组中的格式。一种可能的方法是模仿为机器人实验实施的包容式架构的解决方案。这会将高级行为分解为许多子行为,这些子行为本身可能会被进一步递归分解。在这种方法中,软件基因组可能会从数据流列表更改为行为的层次树。

3. 通信。与可扩展性相关的是通信问题。随着基因组的复杂性和多细胞生物体的大小都增加,将需要更多化学信号扩散到生物体的环境中。每个抑制性化学物质使用单个连续信号充其量是铺张浪费,最坏的情况是行不通。对于由数百甚至数千个细胞组成的生物体执行复杂的软件基因组,将需要更合适的机制。

4. 同步。尽管我们的设计假设了固有的异步操作,但在某些时候,至少生物体某些部分的同步行为是提供一定程度协调所必需的。

所需的同步示例包括多个传感器细胞同时进行环境读数,或控制复杂的行为,例如行走。解决此问题的一种方法可能是在生物体内包含起搏器细胞,类似于自律细胞,这些细胞自发地生成时间标记,使心脏能够自动跳动。大自然在某些种类的萤火虫中发现的近乎完美的、自组织的、同步闪烁中,提供了一种有趣的替代方法。还存在其他化学信号机制。

解决这些问题的明显好处是能够提供既健壮又适应性强的持久计算环境。它是健壮的,因为它可以在任何顺序下处理组件部件的多次故障。它是适应性强的,因为软件基因组可以动态更改,从而改变生物体的行为和目标。

展望

控制分离、对齐和凝聚力的三个简单规则可以在一组代理中产生类似鸟群的群集行为。遗传算法会变异、杂交和进化,直到它们被选为最佳品种并被允许生存。大量蚂蚁跟随化学气味踪迹,最终由于蒸发和跟随气味的渴望而找到最短路径。细胞形成多细胞生物体,这些生物体具有鲁棒性、适应性强和高度容错能力。折断九头蛇的一条腿,它可以重新长出来。

贯穿仿生形式结构的共同主线是,行为从通常是大型的合作群体(可能是简单的、自主的个体)的互动中涌现出来。虽然可能存在群体的分层嵌套,但确实缺乏单个控制部分:没有中央大脑;没有全局共享内存;没有主时钟;也没有控制群体行为的单个代码段。相反,群体相互作用并产生集体行为,这种行为无法在任何单个个体中产生,甚至无法在其中找到。行为从各部分的相互作用中涌现出来。

生物启发式架构的理想特性是显而易见的:

• 它们是健壮的。一个或多个个体的故障通常不会导致群体故障。

• 它们是适应性强的。仿生软件可以通过多种方式适应其环境,包括进化、学习或交换DNA。

• 它们可以自组织。

• 它们是分布式的和并行的。

• 它们由简单的单元构建而成。

但是,在设计仿生架构时存在一些问题:

• 它们可能难以扩展。

• 它们可能难以工程化。

• 它们可能难以控制。

• 它们可能难以理解。诸如遗传算法之类的方法产生的解决方案可能非常复杂和晦涩,以至于我们不得不接受“它像魔法一样工作”。

基于涌现行为的仿生架构发展面临的最大问题可能是:如何为适当的涌现行为编程?什么语言结构、语义和语法支持涌现行为?这些如何与特定应用程序相关联?我们如何根据在个体上运行的程序来预测群体的行为?存在哪些技术来描述生物体的期望行为并对可接受的行为施加约束?

一种对涌现行为进行编程的方法,显然与正在使用的生物学隐喻相一致,就是“进化”程序。这种方法与更传统和更容易理解的“工程化”解决方案方法截然不同。进化程序更像是修补。工程师和修补匠应用两种截然不同的方法来获得解决方案。工程师计划和设计,而进化“作为修补匠,使用零星部件,组装互动,直到它们足够好用”18。有趣的是,进化解决方案的结果与被认为是良好工程设计原则(包括模块化、鲁棒性和重复元素的利用)的许多良好设计原则具有共同之处。也许我们可以进化出可以称为“精心修补的解决方案”。

最终用户会意识到使用了仿生设计方法吗?程序是进化而来的会很明显吗?或者程序是由大量交互实体组成的会很明显吗?用户会“看到”差异,从而标记出使用了生物启发式概念这一事实吗?答案很可能是否定的。我们希望系统能够以满足或超出用户对性能和能力的期望的方式运行,但不应泄露魔术是如何表演的。幕后人员应该不引人注目。

未来

在试图展望仿生软件架构的未来时,听取迪伯特(Dilbert)的创作者斯科特·亚当斯(Scott Adams)关于预测的名言似乎是明智之举:“有很多方法可以预测未来。例如,你可以阅读星座运势、茶叶、塔罗牌或水晶球。总的来说,这些方法被称为‘古怪的方法’。或者,你可以将经过充分研究的事实输入复杂的计算机模型,更常见的说法是‘完全浪费时间’。”19

我们仍处于仿生软件设计的学习阶段。信息技术将如何受到这种新架构风格的影响,目前尚不清楚。对该领域的兴趣日益浓厚是显而易见的。

许多会议完全专注于生物启发式计算概念。其中包括:GECCO 2004(遗传和进化计算会议)20;2004 NASA/DoD可进化硬件会议21;ANTS 2004蚁群优化和群体智能国际研讨会22;SIP’04(群体智能和模式)研讨会23;以及ESOA’04(工程自组织应用)24

在谷歌上快速搜索会返回大量关于教授生物启发式计算课程的大学课程的点击结果,例如进化计算、群体智能、可进化硬件、神经计算、遗传算法等。

仿生概念正在通过大学级别和普通读者出版物进入主流(请参阅“资源”部分)。

学习、实验和出版都是工程概念的初始开发阶段的一部分。一些勇敢的人将迅速将与仿生设计相关的基本思想转移到实际应用中。选择赢家?请参阅迪伯特的名言!

我希望这篇关于仿生架构的简要介绍将促使其他人对这项工作感到兴奋并参与其中。从简单的单细胞粘菌协同工作以求生存,到相互作用的社会性昆虫群,再到具有免疫系统和自我再生能力的高度复杂的多细胞生物体,大自然为我们提供了许多强大的模型来效仿。我们只需要观察。

资源

这份简短的阅读清单为学习生物启发式计算提供了一个合理的起点。该列表既不完整也不权威。它的主题和信息呈现方式非常多样化。稍加搜索将揭示更多标题,这些标题将增加您对这些及相关主题的理解和知识。


Camazine, S., Deneubourg, J., Franks, N., Sneyd, J., Theraulaz, G., 和 Bonabeau, E. 《生物系统中的自组织》。普林斯顿大学出版社,普林斯顿:新泽西州,2001年。

Coen, E. 《基因的艺术:生物体如何自我创造》。牛津大学出版社,纽约:纽约州,1999年。

Bonabeau, E., Dorigo, M., 和 Theraulaz, G. 《群体智能:从自然到人工系统》。牛津大学出版社,纽约:纽约州,1999年。

Kelly, K. 《失控》。珀修斯图书公司,纽约:纽约州,1994年。

Eberhart, R., Kennedy, J., 和 Shi, Y. 《群体智能》。摩根·考夫曼出版社,旧金山:加利福尼亚州,2001年。

Kauffman, S. 《宇宙家园》。牛津大学出版社,纽约:纽约州,1995年。

Kumar, S., 和 Bentley, P., 编辑。《关于生长、形式和计算机》。爱思唯尔学术出版社,圣地亚哥:加利福尼亚州,2003年。

Solé, R., 和 Goodwin, B. 《生命迹象:复杂性如何渗透生物学》。基础图书公司,纽约:纽约州,2000年。

参考文献

1. 道金斯,R. 《盲眼钟表匠》。W.W.诺顿公司,纽约:纽约州,1996年。

2. 图灵,A. 《智能机器》。载于《机器智能》。梅尔泽,B.,和米奇,D.,编辑。爱丁堡大学出版社,爱丁堡:苏格兰(1969),3–23页。

3. 图灵,A. 《计算机器与智能》。载于《认知科学读本:来自心理学和人工智能的视角》。柯林斯,A.,和史密斯,E. E.,编辑。摩根·考夫曼出版社,圣马特奥:加利福尼亚州(1988),6v19页。

4. 霍兰德,J. H. 《自然和人工系统中的适应》。麻省理工学院出版社,剑桥:马萨诸塞州,1992年。

5. 罗森布拉特,F. 《感知器:大脑中信息存储和组织的概率模型》。《心理学评论》,65,6(1958)386–408页。

6. 明斯基,M.,和佩珀特,S. 《感知器:计算几何导论》。麻省理工学院出版社,剑桥:马萨诸塞州,1969年。

7. 霍普菲尔德,J. J. 《具有涌现集体计算特性的神经网络和物理系统》。《美国国家科学院院刊》79,4(1982),2554–2588页。

8. 雷诺兹,C. W. 《鸟群、兽群和鱼群:分布式行为模型》。《计算机图形学》21,4(1987),25–34页。

9. 多里戈 M. 《优化、学习和自然算法》。博士论文,米兰理工大学,意大利,1992年(意大利语)。另见多里戈 M.,马尼佐,V.,和科洛尼,A. 《蚁群系统:通过协作代理群体进行优化》。《IEEE系统、人与控制论汇刊-B部分》26,1(1996),29–41页。

10. 埃伯哈特,R.,肯尼迪,J.,和施,Y. 《群体智能》。摩根·考夫曼出版社,旧金山:加利福尼亚州,2001年。

11. 格拉斯,P. P. 《Bellicositermes natalensis和Cubitermes sp.巢穴的重建和个体间协调。耻辱理论:建筑白蚁的解释尝试》。《昆虫社会》6(1959),41–83页。

12. 德内伯格,J. L, 戈斯,S.,弗兰克斯,N. R.,森多瓦-弗兰克斯,A.,德特兰,C.,和克雷蒂安,L. 《集体分类的动力学:类机器人蚂蚁和类蚂蚁机器人》。载于《自适应行为模拟:从动物到类动物》。迈尔斯,J. A.,和威尔逊,S.W.,编辑。麻省理工学院出版社/布拉德福德图书公司,剑桥:马萨诸塞州(1990),356–363页。

13. 博纳博,E.,多里戈,M.,和特劳拉兹,G. 《群体智能:从自然到人工系统》。牛津大学出版社,纽约:纽约州,1999年。

14. 沃科马,I.,萨克斯,L.,和马歇尔,I. 《传感器网络设计的生物启发式模型》。2002年伦敦通信研讨会;http://www.eleceng.ucl.ac.uk/lcs/papers2002/LCS119.pdf。

15. 布鲁克纳,S.,和范戴克·帕鲁纳克,H. 《用于分布式模式检测和分类的群体代理》。自主代理和多代理系统(AAMAS),2002年;http://autonomousagents.org/ubiquitousagents/papers/papers/18.pdf。

16. 怀特,T.,帕古雷克,B.,和奥帕彻,F. 《蚂蚁的连接管理:移动代理在网络管理中的应用》;http://dsp.jpl.nasa.gov/members/payman/swarm/white98-co.pdf。

17. 王,M.,和须田,T. 《生物网络架构:一种生物启发式方法,用于设计可扩展、自适应和可生存的系统》。互联网应用研讨会(2001);http://csdl.computer.org/dl/proceedings/saint/2001/0942/00/09420043.pdf。可从加州大学欧文分校信息与计算机科学系网络应用技术报告00-03获取。

18. 阿隆,U. 《生物网络:修补匠作为工程师》。《科学》301:(2003年9月),1866–1867页。

19. 亚当斯,S. 《迪伯特的未来》。哈珀商业出版社,纽约:纽约州,1997年。

20. GECCO;参见http://gal4.ge.uiuc.edu:8080/GECCO-2004/。

21. NASA/DoD可进化硬件会议;参见http://ehw.jpl.nasa.gov/events/nasaeh04/。

22. ANTS 2004;参见http://iridia.ulb.ac.be/~ants/ants2004/。

23. SIP ’04;参见http://alfa.ist.utl.pt/~cvrm/staff/vramos/SIP.html。

24. ESOA ’04;参见http://esoa.unige.ch/esoa04-cfp.html。

喜欢它,讨厌它?请告诉我们
[email protected] 或 www.acmqueue.com/forums

肯尼斯·N·洛丁(KENNETH N. LODDING)拥有29年的软件设计经验,现就职于美国国家航空航天局(NASA)兰利研究中心系统工程能力部门的数据分析与成像分部,位于弗吉尼亚州汉普顿。他在生物启发式软件设计方面的工作包括开发用于模式搜索、数据集群和容错计算的生物形态架构。他目前正在支持开发用于风力驱动远程探测车辆群体的集群算法。洛丁毕业于纽约理工学院,获得计算机科学学士学位,目前正在攻读计算机科学硕士学位。

© 2004 1542-7730/04/0600 $5.00

acmqueue

最初发表于《Queue》杂志第2卷第4期——
数字图书馆中评论这篇文章





更多相关文章

斯蒂芬·V·坎特里尔(Stephen V. Cantrill) - 患者护理中的计算机:机遇与挑战
一位来自纽约市的29岁女性凌晨3点来到加利福尼亚州的急诊科(ED),主诉突发剧烈腹痛,痛醒了她。她报告说她在加利福尼亚州参加婚礼,并且最近曾遭受过类似的腹痛,最近一次导致了阑尾切除术。急诊医生进行了腹部CAT扫描,并在她的腹腔中看到了他认为是阑尾切除术后的人工伪影。除了她告诉他的信息外,他对患者的既往病史一无所知;他无法访问阑尾切除术前或术后的任何图像,也无法获得有关手术记录或随访的任何其他重要信息。


萨曼莎·克莱因伯格(Samantha Kleinberg),巴德·米什拉(Bud Mishra) - 蜕变:转化系统生物学的未来变革
一天早上,格雷戈里娜·萨姆莎(Gregorina Samsa)从焦虑的梦中醒来时,发现自己患上了一些神秘的流感样症状,这些症状没有任何预警就出现了。同样令人恼火的是,这种反复无常的蜕变似乎无法用因果关系进行合理的解释。“我怎么了?”她想。在去看医生之前,她决定更多地了解自己可能得了什么病。她登录了一个网站,在网站上用自己记得的内容注释了一条时间线。从三月份开始,她的头痛比平时更多,然后在四月份她开始在运动后感到更加疲劳,截至七月份,她也开始偶尔出现记忆力衰退。


詹姆斯·C·菲利普斯(James C Phillips),约翰·E·斯通(John E. Stone) - 使用图形处理器探测生物分子机器
计算机模拟已成为研究生物分子结构和功能的不可或缺的一部分。多年来,并行计算机一直被用于进行这些计算量大的模拟并分析其结果。这些模拟就像“计算显微镜”一样,使科学家能够观察到分子过程中过于微小、快速或精细而无法用传统仪器捕获的细节。商用GPU(图形处理器)已经发展成为大规模并行计算设备,最近,已经可以使用流行的C/C++编程语言的方言对它们进行编程。


马修·T·多尔蒂(Matthew T. Dougherty),迈克尔·J·福克(Michael J. Folk),埃雷兹·扎多克(Erez Zadok),赫伯特·J·伯恩斯坦(Herbert J. Bernstein),弗朗西斯·C·伯恩斯坦(Frances C. Bernstein),凯文·W·埃利切里(Kevin W. Eliceiri),维尔纳·本格尔(Werner Benger),克里斯托夫·贝斯特(Christoph Best) - 使用HDF5统一生物图像格式
生物科学需要一种通用的图像格式,适用于长期存储并能够处理非常大的图像。图像在生物学中传达深刻的思想,跨越学科领域。数字图像技术起源于50年前,当时还是一种晦涩的技术现象。现在它已成为不可或缺的计算工具。它产生了各种不兼容的图像文件格式,其中大多数已经过时。





© 保留所有权利。

© . All rights reserved.