摘要
作为遗传算法的一个分支,遗传规划算法(Genetic Programming)由于和计算机程序的直接紧密结合,可以用来实现问题求解程序的优化设计和代码自动生成,被越来越被研究者所重视并应用于许多领域。但由于软硬件配置环境的限制,较难在PC机上用传统的LISP语言来实现算法,有必要采用一种通用的高级语言来实现算法。本文选用C++语言,用二叉树的树型结构和节点结构来表示GP个体和个体的节点,实现了GP算法,给出的算法实现的具体步骤。结合自主移动机器人沿墙走行为的设计,给出了本文算法在机器人适应性行为设计中的具体应用实例。
As a branch of Genetic Algorithms, Genetic Programming (GP) has direct and close connection with computer programming, especially, GP is effective in general problem solving programming optimization and automatic code generation. Therefore, in recent years, it has attracted more and more attention in the scientific circles and has been applied to lots of fields. But since the limitation of hardware and software configuration, it is difficult to implement GP algorithm in PC using traditional LISP language and it is necessary to implement this algorithm with a common advanced language. This paper describes an implementation of GP with C++ language, providing the details of programming procedure. In GP algorithm, the binary tree date structure is used to represent the node structure in the individual programs of every generation. In case study, this method is adopted to evolve a wall-following behavior of autonomous mobile robot, illustrating the application of GP algorithm in the evolution of robot adaptive behaviors. The simulation results show the validity of this method.
出处
《系统仿真学报》
CAS
CSCD
2002年第8期998-1002,共5页
Journal of System Simulation
基金
国家863计划机器人技术主题(2001AA422140)
国家自然科学基金(69889501
60105005)资助项目