目录

  • 1. 基因表达式编程 GEP-ADF
  • 2. 多基因染色体
  • 3. 自动定义函数(ADF)
    • 3.1 同源异型基因
    • 3.2 多细胞系统

1. 基因表达式编程 GEP-ADF

今天将对GEP-ADF进行一个简单介绍,该内容在前七天的代码实现部分已经实现,目的是补充一些概念
【PS:注意结合前边内容,需要对GEP的基本知识内容认识。今天内容对前7天的补充。】

基因表达式编程(GEP)自学 第【1】天 Python 实现
基因表达式编程(GEP)自学 第【2】天 Python 实现
基因表达式编程(GEP)自学 第【3】天 Python 实现
基因表达式编程(GEP)自学 第【4】天 Python 实现(代码)
基因表达式编程(GEP)自学 第【5】天 Python 实现(代码)
基因表达式编程(GEP)自学 第【6】天 Python 实现(代码)
基因表达式编程(GEP)自学 第【7】天 Python 实现

2. 多基因染色体


在之前的几天的学习中,也曾提及到连接函数的作用。若是,将上面3个Sub-ET通过连接符“+”进行连接,从而形成一个更加复杂的表达式树。如图5所示:

通过函数符”+“的连接,其最终的表达的复杂程度上升,这样也提高GEP在解决复杂问题的工作效率。

3. 自动定义函数(ADF)

自动定义函数是Koza在遗传编程中作为重用代码的一种方式首次引入的。

3.1 同源异型基因

同型异型基因与传统基因有着完全相同的结构,其构建过程也完全相同。包含头部和尾部。
【PS:具体头部和尾部不清楚的可看之前的相关内容】
如下图,该染色体包含了三个传统基因和一个同源异型基因。传统基因与之前的相同可以编码成三个不同的子表达式树。但不同的是,这些子树将被看作为ADF,并且通过同源异型基因控制发生相互作用。

ADF0在同源异型基因的控制下在主程序中被使用两次。而ADF1和ADF2只被调用了一次。同时值得注意的,传统基因头部长度和同源异型基因的长度不一定相同,图中传统基因头部长度h = 3,而同源异型基因头部长度h = 4,并且同源异型基因可以拥有不同与传统基因的函数集,在传统基因的函数集由{+,-,,/,Q}组成,而同源异型基因的函数集由{+,-,,/}组成。

3.2 多细胞系统

同时多细胞系统不仅可以用于单个输出的问题,也可以用于多个输出的问题:

如上图可知,该染色体由三个传统基因和两个同源异型基因组成,该染色的表达结果表达在两个不同的细胞中。这些多细胞系统的应用是多种多样的,和多基因系统一样,它们既可以用于只有一个输出的问题,也可以用于有多个输出的问题。在前一种情况下,最佳程序或细胞占个体的适配性;在后一种情况下,每个细胞负责多输出任务中的一个特定方面,如具有多个类别的分类任务。

更多推荐

基因表达式编程(GEP)自学 第【8】天 GEP-ADF