群体编程技术发展研究
2012-09-17赵冰阳
赵冰阳
0 引言
群体智能这个概念来自对自然界中昆虫群体的观察,群体通过协作表现出的宏观智能行为特征被称为群体智能(swarm intelligence)。在计算机领域中,把一群具有计算和通信能力,在复杂物理环境中,完成特定任务的设备集合为群体(swarm)。对设备群体的行为预测和控制称为群体智能。群体智能的概念自1989年提出以来,各方面都出现了进展。
在算法方面, Dorigo在2004 年提出了由对受蚁群行为启 ACO(Ant colony optimization)算法, Karaboga 在 2005年提出了受蜂群行为启发的 ABC(Artificial bee colony algorithm)算法。PSO(particle swam optimization)算法由Eberhart博士和Kennedy博士基于鸟群觅食行为而提出,该算法概念简明、实现方便、收敛速度快、参数设置少,是 一种高效的搜索算法,近年来受到学术界的广泛重视。
在硬件平台方面,MEMS技术发展迅速。伯克利在99年就已经制造出毫米级别的机器人,这种机器人自我供电,拥有计算和通信能力,非常适合作为群体中的节点设备。
在编程方面,面对群体计算中的种种问题,人们的解决方式与1950解决传统编程中问题的方法相似。针对某种特定设备和特定环境,研究者都需要费力的去开发相关的程序,并且花大量的时间和经历反复测试以保证其性能。然而设备和需求一旦改变,就需要花大量经历重新进行开发和测试。这样的开发方式越来越无法跟上设备更新的速度。随着设备的价格越来越低而性能愈发强大,开发程序的开销开始代替设备开销,成了开发大规模群体程序的主要开销。开发者需要一套规范化的语言,开发方法和开发工具来应对群体程序开发的需求。……
