文档介绍:0引言演化硬件( Evolvable Hardware ) ,简称 EHW 或 E-Hard 。它是一种硬件电路(现在是一种大规模集成电路) ,其能够像生物一样根据环境的变化而改变自身的结构以适应其生存环境, 具有自组织、自适应、自修复功能。演化硬件这一概念是在 1992 年由日本 Hugo de Gari s 和瑞士联邦工学院同时正式提出【1】,从而初步实现了早在 20 世纪 50 年代计算机之父 John Von Neumann 所提出的关于研制具有自繁殖与自修复能力的机器的设想【2】。经过十几年的发展, 随着对演化硬件的研究的不断深入, 人们愈发地认识到演化硬件在未来科技发展中的重要性。演化硬件的实现, 建立在演化算法和可编程逻辑器件发展的基础之上。可编程逻辑器件和演化算法的快速发展极大地推动和促进了演化硬件的实现进程。演化算法为演化硬件提供了理论和方法学基础;可编程逻辑器件( Programmable Logic Device )为演化硬件提供了物质基础。由于演化过程具有随机性, 进化次数较多, 从而要求相应的器件也要能够被反复配置,因此可以无穷次重复配置的现场可编程门阵列( Field Programmable Gate Array ) 也就成为当前比较理想的实现器件,目前 FPGA 器件为大多数的演化硬件所采用。 1 主流演化算法( Evolvable Algorithm ) 在演化硬件中所使用的算法主要分为以下三类: 遗传算法( GA), 遗传规划( GP) 和演化策略( ES )。当前使用较多的演化算法主要有 CGP 【3】( Cartesian ic Programming )、*CGA 【4】(A family ofC ompact G enetic A lgorithms )、 CoCGA 【5】( Cooperative C ompact G enetic A lgorithms )GA 【6】( pact G enetic A lgorithms )。 CGP 算法使用一个 m行n 列的细胞阵列来表示染色体,阵列中每一个细胞都是一个功能单元,如非门、或门等。每个细胞的输入限于前一个细胞的输出。该阵列有三个参数:输入数目,输出数目和 L-back ,其中 L-back 参数决定了细胞单元的最左列。*CGA 是对 CGA 的一系列改良, 使用较为广泛。 CGA 使用概率变量( probability vectors ) 描述种群, 与传统的 GA 不同。传统的 GA 采用一系列位串来描述候选解决方法种群, 以致于在硬件实现时, 需要消耗大量的资源, 且实现过程相对较为复杂。而 CGA 减少了种群所需的存储资源,在硬件实现时不需要使用 RAM ,仅仅使用 D 触发器实现的寄存器即可。但是 CGA 的标准形式只能用来解决一阶简单问题,其搜索能力不足,不适合现实 EHW 的应用实现, 同时 CGA 在准确度和处理速度上也存在不足。*CGA 是通过对 CGA 在精英策略、染色体突变、优胜再采样几方面的改良而实现,更加适合于现实 EHW 的应用实现。 CoCGA 由一组 CGA 构成,各 CGA 之间进行协同运算。 CoCGA 具有更强大的搜索能力,收敛速度更快,计算更精确,同时更适合于 FPGA 实现。 CCGA 基于并行遗传算法, 为