目录

1 概述

2 遗传编程与遗传算法

3 基本原理

4 特点分析

5 Matlab实现

6 Reference


1 概述

遗传编程算法是一种基于达尔文自然选择思想和适者生存理论的优化方法,Koza 于1990 年提出其基本概念,并在 1992 年详细介绍和说明了遗传编程的原理实现过程

2 遗传编程与遗传算法

遗传编程本质上是遗传算法的一种改进[53],是在遗传算法的基础上引入自动程序设计的一种算法。遗传编程与遗传算法的根本区别在于进化的单位不同,即个体的表现形式不同。遗传算法的个体是固定长度的线性字符串,遗传编程的个体则是不同大小和形状的非线性实体。一般来说,遗传编程的方法被分为三种,分别为线性遗传编程、基于树的遗传编程、基于图的遗传编程。本文只讨论基于树的遗传编程。与遗传算法相比,遗传编程提供了更大的特征空间,通过终端集和非终端函数集的非线性随机组合来生成新的特征。

遗传编程是机器学习的一个归纳形式,最初的目标是设计一个计算机程序,然后这个程序去执行一组带有训练集的任务,最后自动的构建出解决问题的最佳方案。如今,它已被广泛的应用于各个方面。遗传编程可以通过自身的学习,快速发现数据与数学表达式之间的关系,将输出与输入变量之间的关系用方程式的形式表示出来。它可以用多种编程语言来实现。

Q

(1)解的表示不同:如何表示为树的形式;

(2)基于树的遗传编程与决策树、回归树、随机森林区别在哪

(3)为什么可以自动构建出解决问题的最佳方案呢

3 基本原理

http://t.csdn.cn/RSOi7

4 特点分析

遗传编程总是被设计为产生紧急方案的有效方法之一[54]。遗传编程的实现不需要人们明确的告诉它采取什么步骤和以什么顺序来解决问题,通常人们也不知道解决方案时什么,它可以通过达尔文自然选择进化理论、随机的优化技术,选出最优的解决方案[55]。遗传编程的主要优点是,它可以应用于以下领域:

(1)对变量之间的相关性不够了解,或者变量之间的相关性有待深入认识与开发。

(2)寻找最终解较为困难。

(3)传统的数学分析不能够解决存在的问题。

(4)可以接受近似解或者是可以接受无限接近正确结果的解。

(5)微小的性能改进通常是可以衡量的(或容易衡量的),而且价值很高。

(6)大量的可以进行检查分类集成的数据,且这些数据能转换为计算机可读形式。

遗传编程的缺点是解决问题一般所需要的时间较长;当数据量巨大的时候,无法设置准确的停止准则,只能慢慢去尝试。这是因为遗传编程不能精确的描述结果,只能无限的接近,每一次都会出现不同的结果。而且在运算的过程中需要消耗大量的内存空间,当数据量大时每一代的进化都会比较慢。

5 Matlab实现

稍后上传

6 Reference

[1]李曼. 基于遗传编程的GPM卫星降水数据校准方法研究[D].南京邮电大学,2020.DOI:10.27251/d.cnki.gnjdc.2020.001292.

【遗传编程/基因规划】Genetic Programming:http://t.csdn.cn/RSOi7

【群体智能】遗传编程(Genetic Programming)及Matlab具体实现相关推荐

  1. GEAP 遗传算法/遗传编程 genetic programming + python(deap库)实现

    文章目录 前言 1.优化问题的定义 单目标优化 多目标优化 2.个体编码 实数编码 二进制编码 序列编码(Permutation encoding) 粒子(Particles) 3 初始种群建立 一般 ...

  2. 2014,TEVC,Semantic backpropagation for designing search operators in genetic programming

    Abstract 在遗传规划中,搜索算法(交叉,变异)期望产生最终计算状态的程序(期望输出).为了达到该状态,执行程序需要遍历某些中间计算状态.一个进化搜索过程被期望能够自主发现这样的状态.这对于需要 ...

  3. 2012, PPSN,Geometric Semantic Genetic Programming,GSGP

    Abstract 摘要 问题: 传统的遗传程序设计 (Genetic Programming,GP) 通过使用操纵语法表示的搜索算子来搜索函数/程序的空间,而不考虑它们的实际语义/行为.最近,语义感知 ...

  4. 2022, GECCO,Taylor Genetic Programming for Symbolic Regression

    ABSTRACT 问题: 遗传规划(GP)是求解符号回归(SR)问题的常用方法.与求解 SR 问题依赖于预定义模型和训练数据集的机器学习或深度学习方法相比,GP 更专注于在搜索空间中寻找解.虽然 GP ...

  5. 【遗传编程/基因规划】Genetic Programming

    文章目录 背景介绍 程序表示 初始化 (Initialization) Depth定义 Grow方法 Full方法 Ramped half-and-half方法 适应度(Fitness)与选择(Sel ...

  6. 遗传编程(GA,genetic programming)算法初探,以及用遗传编程自动生成符合题解的正则表达式的实践...

    1. 遗传编程简介 0x1:什么是遗传编程算法,和传统机器学习算法有什么区别 传统上,我们接触的机器学习算法,都是被设计为解决某一个某一类问题的确定性算法.对于这些机器学习算法来说,唯一的灵活性体现在 ...

  7. 遗传编程(Genetic Programming, GP)

    1. 绪言 1.1 遗传编程概述 \quad\quad 自计算机出现以来,计算机科学的一个重要目标是让计算机自动进行程序设计,即只要明确地告诉计算机要解决的问题,而不需要告诉它如何去做,遗传规划便是在 ...

  8. 遗传编程(Genetic Programming)学习笔记(三):利用DEAP框架创建一个GP表达式

    DEAP框架   Python 的 DEAP库是一个进化算法框架,可以帮助我们快速实现各种进化算法,例如遗传算法(GA).粒子群算法(PSO).遗传编程(GP).分布估计算法(EDA).多目标优化算法 ...

  9. android 揭示动画_遗传编程揭示具有相互作用的多元线性回归

    android 揭示动画 We all had some sort of experience with linear regression. It's one of the most used re ...

最新文章

  1. 企业运维之域控篇(九)--辅助域强制占用后的操作--清除数据
  2. FE.ENV-manjaro虚拟机配置和常见前端工具安装
  3. Java中的DatagramPacket与DatagramSocket的初步
  4. php 23种设计模型 - 组合模式(合成模式)
  5. Springboot使用AOP记录请求日志和返回数据
  6. php 5.4日志文件在哪里,我的错误日志文件在哪里?(Where are my error log files?)
  7. 中移4G模块-ML302-OpenCpu开发-服务器搭建
  8. mysql如何开启对外连接?
  9. 【C++笔记】字符串、向量和数组
  10. 落地即王道,锁死企业智变CP——云+AI
  11. python异常处理与导入模块与导入包
  12. 高效程序员秘籍(9):快速查找硬盘上的文件和目录
  13. Firefox 2015 最受国人欢迎的十大扩展
  14. Ubuntu配置固定IP
  15. Beamforming and Antenna Pattern 2021-11-05
  16. 矩阵连乘积问题--动态规划
  17. 怎样用360改计算机名称,360随身wifi网络名称怎么修改
  18. 什么是大数据?大数据的特点?
  19. 阿里云大数据组件选型
  20. 怎么把视频中的音频提取成mp3?

热门文章

  1. NameError: name ‘xxx’ is not defined
  2. 从零开始学习信号完整性(SIPI)--8 电平标准
  3. python开心麻花影视作品分析的程序源码加文档加说明
  4. 鸿蒙系统升级教程,鸿蒙2.0怎么升级-鸿蒙OS2.0系统更新升级教程_全球下载
  5. Android之RxJava 详解
  6. PUN-注册账号以及创建应用(1)
  7. cak数控车床是计算机控制吗,数控车床CAK3675V的性能介绍
  8. 怎样做一个html的布局,如何做好页面三大标签布局
  9. 放射性同位素定制标记实验的设计原则
  10. Android中截图(surfaceView)