亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Equipment >> 工业机器人

遗传编程入门:机器如何学会自己写代码

计算机科学的“圣杯”或许是:机器自主编写程序。遗传编程(GP)作为新兴机器学习范式,朝此目标迈出关键一步。GP在控制工程极具潜力,本文揭示其原理、表达形式与实例(系列首篇)。

遗传编程与遗传算法的异同

GP源于John Holland的遗传算法(GA),同属进化算法,依靠适应度比例选择、交叉、变异驱动种群代际进化。核心差异:GA用定长位串编码,GP用变长树结构直接表达可执行程序。GP成功运行的产出是:给定输入执行后,输出期望结果的计算机程序。

Nichael Cramer与John Koza奠基GP(Koza持GP专利,著作《遗传编程》为经典)。研究显示GP在机器人导航、博弈策略、符号回归、控制系统等领域成果斐然。

树结构程序表达:GP的核心语言

几乎任何程序均可映射为树。函数式语言(如LISP)天然契合:S表达式即树(图1)。

三种等价表达:

简单程序片段:
BEGIN
IF a < b THEN a := a + 1 ELSE b := b * b
c := a * b * 2;
END

LISP等价形式:
(progn (if (a < b)
           (setq a (+ a 1))
           (setq b (* b b))
      )
      (setq c (* (* a b) 2))
)
遗传编程入门:机器如何学会自己写代码
图1. 程序树结构表示。(progn arg1 arg2...)顺序求值各参数

问题建模即:选定函数集(如AND/OR/NOT)与终结符集(如X1/X2布尔输入),并定义适应度函数衡量程序优劣。XOR问题:4种输入组合各跑一次,正确响应计数为适应度,满分4分即最优解(见代码清单1)。

下一站:遗传算子

下文将详解交叉/变异/选择如何驱动进化,并演示更复杂算法实例。

推荐阅读

工业机器人

  1. 赋能精益制造成功的五大核心工具
  2. 微处理器编程基础
  3. 低成本无电被动冷却系统实现环境温度以下40°C
  4. 启动高成效制造业学徒制项目:实操指南
  5. 加工基础:掌握工件坐标系 (WCS)
  6. Arduino 入门指南:硬件架构、编程核心与首个 LED 实战
  7. 电力系统谐波详解:危害分析、THD计算与治理滤波技术
  8. Heidenhain 推出 HIT 3.0:面向 TNC 用户的进阶在线 CNC 培训
  9. 液压设备故障四大预警信号:识别、诊断与应对指南
  10. 嵌入式系统编程:语言、架构与应用全景
  11. C 语言核心指南:基础、历史与应用领域全解析
  12. C 语言函数精通:递归与内联函数实战案例详解