浅谈智能计算
张铃 安徽大学人工智能研究所
摘要:本文简单介绍近年来在人工智能界兴起的新的研究方向--智能计算的技术,以及介
绍作者近年来在这方面的一些研究成果
一. 引
生命在长期进化过程中,积累了很多新奇的功能,人类很早就从中得到启发而改进自己的
工具,如史书中记戴"见蓬转而做车辑",传说鲁班被茅苇划破,而发明锯子……也许早先
的发明,只是偶然的模仿和发现,后来人们已有意识地进行这方面的研究,这就是"仿生学"
。仿生学顾名思义就是
模仿生物的某些功能的学问。有名的例子很多,如模仿海豚皮而构造的"海豚皮游泳衣"、
科学家研究鲸鱼的皮肤时,发现其上有沟漕的结构,于是有个科学家就依照鲸鱼皮构造,
造成一个薄膜蒙在飞机的表面,据实验可节约能源3%,若全国的飞机都蒙上这样的表面,
每年可节约几十亿。又
如有科学家研究蜘蛛,发现蜘蛛的腿上没有肌肉,有脚的动物会走,主要是靠肌肉的收缩
,现在蜘蛛没有肌肉为什么会走路?经研究蜘蛛不是靠肌肉的收缩进行走路的,而是靠其
中的"液压"的结构进行走路,据此人们发明了液压步行机……总之,从自然界得到启迪,
模仿其结构进行发明创造.这就是仿生学. 这是我们向自然界学习的一个方面.另一方面,
我们还可以从自然的规律中得到启迪,利用其原理进行设计(包括设计算法),这就是智能计
算的思想.
二. 什么是智能算法
什么是智能计算。智能计算,也有人称之为"软计算",虽然至今没有一个统一的定义
,但我们可以这样来概括它。
智能计算就是借用自然界(生物界)规律的启迪,根据其原理,模仿设计求解问题的算法
。
目前这方面的内容很多,如:人工神经网络技术、遗传算法、进化规划、模拟退火技
术和群集智能技术等。
下面我们简单介绍这方面的一些内容和我们最近几年在这些方面研究的一些成果。
三. 群体(群集)智能(Swarm Intelligence)
什么是群集智能
群居昆虫以集体的力量,进行觅食、御敌、筑巢的能力。这种群体所表现出来的"智能",
就称之为群体智能。如蜜蜂采蜜、筑巢、蚂蚁觅食、筑巢等。
从群居昆虫互相合作进行工作中,得到启迪,研究其中的原理, 以此原理来设计新的求
解问题的算法。下面介绍人们最早研究的蚂蚁算法
3.1 蚂蚁算法
蚂蚁觅食时,在它走过的路上,留下外激素,这些外激素就象留下路标一样,留给后来"
蚁"一个路径的标志。后面的蚂蚁,就会沿着有外激素的路径行走(外激素越多引诱蚂蚁
的能力就越强)。科学家们对此进行过试验:用人造的外激素在纸上画上一条路径,对蚂
蚁进行试验。结果蚂蚁果
然都沿画有外激素的路径行走。
B
D
蚁穴
A C
食物
蚂蚁寻食时,由蚁穴出发,可沿AC,也可沿ABC(见上图),设各蚂蚁寻到食物后沿原路
回穴,并在路上留下外激素,那么因AC路径短,故当它们沿AC返回时,就在AC上留下两次
外激素。而沿ABC返回者,因其路径长,仅回到D点,于是AD一段只留过一次外激素(即其
上的外激素的浓度比AC
上的浓度淡),故这时从蚁穴出来寻食者就会沿浓度大的路径AC行走。…..最后大多数的
蚂蚁都会沿较短的路程进行寻食. 利用这个原理科学者们就设计了蚂蚁算法(进行求最短
程).
上面是个简单的原理,当然要设计出切实可行的算法,还要将模型进一步精确,如要计及外
激素的挥发(即激素的浓度将随时间而逐步降低等等).
科学家根据这个现象,设计了一个寻找最优路径的"蚂蚁算法"。
用蚂蚁算法求最短程
1.一群蚂蚁随机从出发点出发,遇到食物,衔住食物,沿原路返回
2. 蚂蚁在往返途中,在路上留下外激素标志。
3. 外激素将随时间逐渐蒸发(一般可用负指数函数来描述,即乘上因子e-at)
4. 由蚁穴出发的蚂蚁,其选择路径的概率与各路径上的外激素浓度成正比.
利用同样原理可以描述蚁群进行多食物源的寻食情况
有研究者将上述的蚂蚁算法应用于:
3.1.1 用于重建通讯路由
3.1.2. 用于求解TSP(流动货郎问题,即求一周游所有指定的城市,最后回到出发点的最
短路径)(其算法可简述如下)
o 一群蚂蚁由A点同时出发,进行漫游,倾向选较近的城市
o 把所有城市都游过后,返回, 并留下外激素,其量与路程长度成反比
o 所有蚂蚁都返回后,图上留下外激素的标志
o 进行第二轮的漫游(倾向选激素多的路径)……..
例:有人用蚂蚁算法求美国二十四个城市的TSP问题的解(蚂蚁算法的解)
3.1.3. 蚂蚁清除垃圾
蚂蚁能将巢里的垃圾或死蚂蚁,打扫成几大堆给以清除
仿照蚂蚁这种功能,设计蚂蚁的分类算法(算法的大意如下)
o 一群蚂蚁随机出发,遇到垃圾,就将其拉走(方向也是随机的)
o 拉垃圾时,若碰到某一堆垃圾时,就放下.
放下垃圾后, 再随时机进行打扫工作……
例
o 美国MCIWorld-com公司一直研究人工蚂蚁,用于管理公司的电话网;对用户记帐
收费等工作.
3.1.4. 蚂蚁搬大食物
o 一群蚂蚁同心协力搬大食物
o 可用来设计多机器人合作规划问题
o 算法:
- 一群蚂蚁随机出发找食物
- 遇到大食物, 先调整方向(使食物处在自己和目标之间)
- 推动食物
- 群体推动,计算其合力……
例
o 阿尔伯塔大学设计几个小机器人共同推盒子的实验
3.1.5. 任务分配问题
在蚁群中, 蚂蚁的职责分工明确(蚁皇、工蚁、兵蚁)各司其职. 利用蚂蚁这个功能,人
们设计了求解分配问题的蚂蚁算法,并应用于:
用于求解任务分配问题:汽车喷漆问题
- 分成各小组只喷一种颜色
- 当某小组任务特别紧时,才分配另一小组,改喷其他颜色
例
o 美国西北大学研究人工蚂蚁算法用于卡车厂中, 油漆车间负责给离开装配线的
卡车上漆。
o 使工厂各车间改变颜色的次数更少。
3.2 群体智能
上面我们介绍了,利用蚂蚁觅食和合作搬物体的功能设计出的对应的蚂蚁算法,本小节我
们将介绍,我们最近利用分形几何的理论和方法,研究蚂蚁筑巢功能的模型。据我们所知
目前国内外尚未见到对蚂蚁筑巢功能的建模研究的成果。目前研究群体智能的方法多是从
多Agent系统的观点来
进行的。
3.2.1. 多Agent观点
利用多Agent系统的观点,来研究群体智能系统。
将人类社会中的一些性能移植到群体智能中去,比如假定每个Agent都具有"意志"、"信念
"等等,各Agent之间既有合作又有竞争,还要遵守各种协议等。然后研究这种系统的性质
。
我们认为这种方法对研究象人类这样的大群体的性能也许是适合的,但用这种方法来研究
象蚂蚁这样的群体也许是用"牛刀杀鸡(蚂蚁)"也许是不适合的,若将每个蚂蚁都看成一
个Agent也具有"意志"、"信念"等,这就把本来是很简单的问题大大复杂化了,得不偿失
。
我们对群体智能的研究,别开生面,从生物进化的观点研究群体智能,提出生物进化观点
。
3.2.2 进化的观点
我们别开生面,从进化的过程来理解群体智能的现象, 我们认为1。人与蚂蚁都是从共
同的祖先进化来的,一支进化成高等动物(包括人及其大脑),一支进化成群居昆虫,如
蚁群等,故其中必有共同之处。
2. 人的智能是人的脑袋的功能的表现, 那么将群体(如蚁群)看成是离散的脑袋(
脑袋可看成是连接的群体),那么,它具有"智能"就不奇怪了。
3. 既然人的智能的某些性能(即脑袋的某些性能),能用人工神经网络来模拟;那
么"离散的脑袋"(如蚁群)也就可以用离散的人工神经网络来模拟。这就是我们的新观点
。
根据群体智能的进化的观点,我们提出:随机(连接)神经网络的群体智能模型。
具体地说,就是将每个蚂蚁看成是一个神经元,它们之间的通讯联络,看成是各神经
元之间的连接,只不过这时的连接不是固定的,而是随机的。即用一个随机连接的神经网
络来描述一个群体。这种神经网络所具有的性质,就是群体的智能。
我们用蚂蚁和蜜蜂筑巢为兰本,来建立这种模型
在数学上我们利用分形几何中的函数迭代系统的理论建立蚂蚁(蜜蜂)筑巢的数学模型,
并证明了,任给一个三维空间中的集合(可测集)S,和精度e,必能找到一个蚁群,它们
能筑成蚁穴S',且S与S'的对称差的测度
3.2.3 计算机模拟的结果
利用我们提出的新观点,对蚂蚁筑巢行为和蜜蜂筑巢进行模拟,其结果如下
没有评论:
发表评论