有人能指出我用于从lgp个体中删除内含子的特定算法吗?
谢谢
答案 0 :(得分:1)
就删除内含子而言,我会看一下这篇论文:A Comparison of Linear Genetic Programming and Neural Networks in Medical Data Mining。
虽然本文的重点可能不感兴趣,但在第II-B节(我认为第20-21页)中。作者讨论了我认为是一种非常好的简单内含子检测算法。
这是一篇相当古老的论文,所以搜索引用本文的论文以寻找可以帮助你的其他方法可能是值得的。
我特别建议使用本文所述算法的更高级方法:
“线性GP中的冗余,规范转换及其利用:图像特征合成的演示”(Evolvable Machines 2011)
要获得第二篇论文,只需在Google中输入标题,第一个链接应该是Springer付费墙链接,但是如果您点击快速查看,您应该可以从Google缓存中获得该文件没问题。 (如果你不能达到目的,请告诉我,我会帮忙)
答案 1 :(得分:1)
我已经实施了一个关于遗传编程的开源项目,该项目具有此功能。请看一下我的线性遗传编程的java实现:
https://github.com/chen0040/java-genetic-programming
为了提高评估过程中线性程序的性能,该库包含了“线性遗传编程”一书第3章中描述的内含子去除程序的实现。该实现可以在Program.markStructuralIntrons()中找到。
markStructuralIntrons()的原理很简单,下面引用了本书:
资料来源:Brameier,M 2004线性遗传规划(论文)
算法3.1(结构内含子的检测)
以下是用Java实现的Program.markStructuralIntrons()的过程:
df %>%
mutate_at(vars(-gene), funs(na_if(., . < 2))) %>%
filter(rowSums(is.na(.)) < (ncol(.) - 1))