演化硬件适应度动态评估的方法

文档序号:6573605阅读:305来源:国知局
专利名称:演化硬件适应度动态评估的方法
技术领域
本发明涉及的是一种硬件演化方法,更明确地说涉及一种实现演化硬件适应度动态评估的方法。
背景技术
演化硬件属于仿生硬件研究的一个分支,其概念最初是由日本的Hugode Garis和瑞士联邦工学院于1992年提出的。根据地球上生命的起源,从种群发生学(phylogeny)、个体发生学(ontogeny)以及后天遗传学(epigenesis)三个层次的演化过程出发,可以建立仿生硬件体系的POE模型。以P(phylogeny)轴代表像遗传算法这类群体演化为基础的仿生硬件系统,以O(Ontogeny)轴代表像细胞分裂这类多细胞组织的生长过程的仿生硬件系统,以E(Epigenesis)轴代表像神经系统、免疫系统和内分泌系统这类能集成与外部环境相互作用的大量信息的仿生硬件系统(学习硬件)。
演化硬件主要由演化算法及可重构模拟或数字阵列组成,例如由遗传算法(GA,Genetic Algorithm)与现场可编程门阵列(FPGA,FieldProgrammable Gate Array)构成。目前,在利用FPGA和GA进行电路的演化设计这一方面,演化设计的流程与常规的遗传算法流程相似,也包括染色体编码、种群初始化、适应度评估、遗传操作(选择、交叉、变异)等步骤地迭代。
演化硬件是演化计算技术在系统内部结构的设计、调节、实时自适应等方面的应用,即以演化算法特别是遗传算法作为组合优化和全局搜索的主要工具,以可编程器件作为主要的评估手段和实现载体,寻求在不依赖先验知识和外力推动(如人工干预)的条件下,通过演化来获得满足给定要求的电路和系统结构,甚至使系统自动地、实时地调整(重新配置)其内部结构,以适应内部条件(如局部故障)和外部环境(功能要求或物理条件)的变化。对于给定的电路功能描述,演化算法将自动搜索到实现该功能的电路,有时甚至会获得比手工设计更优方案。
演化硬件技术能根据外界环境变化而自适应地改变自身硬件结构,在自主移动机器人控制器、无线传感器网络节点等领域都有重要的应用价值。在电子设计自动化领域,将模拟生物群体进化过程的演化算法与可重构硬件相结合,可以实现数字系统的综合甚至自动设计。
制约演化硬件发展的主要瓶颈是演化速度问题,解决这一问题的关键之一是加快适应度评估速度。

发明内容本发明的目的在于提供一种能使应用遗传算法进行演化硬件计算时能够快速有效地进行生成种群的适应度评估,并将评估结果反馈回PC机,以决定是否继续运算的演化硬件适应度动态评估的方法。
本发明的目的是这样实现的(1)由PC机向可重构FPGA下载演化计算生成的种群;生成的种群为硬件电路编码,在FPGA中可以还原为电路;(2)将FPGA中的资源分为三个部分种群下载部分、功能验证部分和结果反馈部分,这三个部分采用流水策略,并发执行;(3)采用黑盒测试进行功能验证;(4)向PC机反馈验证结果。
经过FPGA验证的种群,向PC机返回适应度信息,判定是否继续进行演化计算,并为生成下一代种群提供依据。
本发明是通过将个体(配置位串)实际加载到FPGA上,再按照测试集逐项实际测试得到适应度值,而演化的目标是找到一个完全符合要求的个体(适应度等于100%)。在演化成功之后,将成熟染色体作为FPGA的配置位串,下载到FPGA的配置寄存器中,即可得到具有所需功能的硬件电路。本发明将每一代种群中的每个染色体位串作为可编程电路的配置信息,通过实际测试电路的输入/输出形成个体适应度值,从而实现适应度的实时在线评估。


图1为本发明结构图;图2为FPGA逻辑单元阵列;图3为包含微处理器核的FPGA;图4为四选一数据选择器和最小项编码方式的电路结构采用最小项方式编码产生的染色体种群片断。
具体实施方式
下面结合附图举例对本发明做更详细地描述
结合图1,本发明的步骤包括(1)由PC机向可重构FPGA下载演化计算生成的种群;生成的种群为硬件电路编码,在FPGA中可以还原为电路;(2)PC机产生迭代结果输入FPGA功能实现电路1,将FPGA中的资源分为三个部分种群下载部分、功能验证部分和结果反馈部分,这三个部分采用流水策略,并发执行;(3)由功能验证电路2对功能实现电路1采用黑盒测试进行功能验证。经过FPGA验证的种群,向PC机返回适应度信息,判定是否继续进行演化计算,并为生成下一代种群提供依据。
结合图4,以四选一数据选择器和最小项编码方式为例阐述本发明,图4给出了对该器件的电路结构采用最小项方式编码产生的染色体种群片断。该种群是由初始种群经选择、交叉、变异数次迭代后产生,所使用的遗传算子为单点交叉最优个体直接进入下一代和轮盘赌选择策略相结合的方法。用软件仿真时,适应度评估是将染色体翻译成电路结构,以所有可能的输入组合作为测试向量,计算电路输出与预期目标进行比较。这种方法有两个缺点1.适应度计算速度慢,当电路规模较大时,输入向量呈指数增长,计算量大,软件仿真时间长。2.在目标函数未知的时候无从下手。在只知道器件行为级描述而不了解器件编码的情况下这一缺点将使演化硬件丧失优势。
结合图1,理想情况下,应用演化硬件技术,只需将目标器件的行为级描述输入PC机,即几位输入几位输出、输入输出的数据符合的具体规则等。然后由PC机进行编码,生成初始种群。初始种群为随机生成,种群中的个体与目标编码长度一致,没有其他要求。PC机对初始种群应用遗传算法。在遗传进入下一代时,需进行适应度评估。本发明将上一代生成的种群下载到高速FPGA中,在1中生成实时动态更新的电路,并在2中对该电路的功能进行评判。
由图4中所示,每一代种群中的个体差别并不大,通常只是1~2位的不同,所以本发明在种群下载到FPGA时采取直接变换的方式。即,首次下载为全新,以后各次下载均在FPGA现有编码基础上进行改动,按位修改。
由于本发明采用支持动态可重构技术的FPGA设备,充分利用已有的电路配置和重定位技术,采用基于位流文件差异的动态部分重构方法,可以加快系统重构速度。通过深入分析配置位流文件的结构,利用相关接口工具直接生成位流及进行位流修改。
同时结合图2,图中3为动态可重构FPGA中下载种群代码的部分。在此区域内下载种群代码,每次下载将原有内容覆盖。固定部分4为功能验证电路,采用黑盒测试的方法为3生成的电路提供测试,评判电路是否符合初始的行为级描述。再将结果真或假传递给5,触发5向PC反馈,5主要负责与PC机的通讯。若4中结果为真则反馈PC机终止计算,否则继续演化硬件的计算PC机以此为依据分析适应度并生成下一代种群向3下载覆盖原有代码。
按上述顺序反复运行直至4中结果为真,向PC机反馈信息,结束演化计算。并标记该种群为最终值。
结合图3,它是本发明的第二种具体实时方式有些芯片包含微处理器核例如,在支持动态可重构的FPGA上利用片上的微处理器硬核实现遗传算法,在同一片FPGA上演化生成电路。如图3所示6为动态部分,7、8为固化在FPGA上的电路。
6为动态可重构FPGA中下载种群代码的部分。在此区域内下载种群代码,每次下载将原有内容覆盖。固定部分7为功能验证电路,采用黑盒测试的方法为6生成的电路提供测试,评判电路是否符合初始的行为级描述。
再将结果真或假传递给8,触发8向PC反馈,8主要负责与微处理器核通讯。若7中结果为真则反馈微处理器核终止计算,否则继续演化硬件的计算微处理器核以此为依据分析适应度并生成下一代种群向6下载覆盖原有代码。
按上述顺序反复运行直至7中结果为真,向PC机反馈信息,结束演化计算。并标记该种群为最终值。
权利要求
1.一种演化硬件适应度动态评估的方法,其特征是(1)由PC机向可重构FPGA下载演化计算生成的种群;生成的种群为硬件电路编码,在FPGA中可以还原为电路;(2)将FPGA中的资源分为三个部分种群下载部分、功能验证部分和结果反馈部分,这三个部分采用流水策略,并发执行;(3)采用黑盒测试进行功能验证;(4)向PC机反馈验证结果。
2.根据权利要求1所述的演化硬件适应度动态评估的方法,其特征是经过FPGA验证的种群,向PC机返回适应度信息,判定是否继续进行演化计算,并为生成下一代种群提供依据。
全文摘要
本发明提供的是一种演化硬件适应度动态评估的方法。(1)由PC机向可重构FPGA下载演化计算生成的种群;生成的种群为硬件电路编码,在FPGA中可以还原为电路;(2)将FPGA中的资源分为三个部分种群下载部分、功能验证部分和结果反馈部分,这三个部分采用流水策略,并发执行;(3)采用黑盒测试进行功能验证。本发明将每一代种群中的每个染色体位串作为可编程电路的配置信息,通过实际测试电路的输入/输出形成个体适应度值,从而实现适应度的实时在线评估。
文档编号G06N3/00GK101082965SQ20071007249
公开日2007年12月5日 申请日期2007年7月11日 优先权日2007年7月11日
发明者张国印, 姚爱红, 关琳 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1