Jenetics:Java的遗传/进化算法库

2021-03-28 14:49:45

Jenetics的设计旨在清楚地分离算法的几种概念,例如,基因,染色体,基因型,表型,群体和健身功能。 Jenetics允许您最小化并最大限度地提高给定的健身功能而不调整它。与其他GA实现相比,库使用演化流(EvolutionStream)的概念来执行演进步骤。由于evolutionStream实现了Java流接口,因此它与Java Stream API的其余部分顺利工作。

无需调整健身功能以实现最小化问题。只需更改进化引擎的配置。

易于改变的PRNG(随机性)。没有特殊的prng界面;标准Java随机引擎允许使用现有的随机发生器。

没有运行时依赖于第三方库!没有不匹配和类加载其他库。

Baeldung在这个博客条目中给出了一个很好的介绍。关于(德国)javaspektrum杂志,问题01和03/2018的Jenetics,还有一个介绍性文章系列(第1部分,第2部分)。最小进化引擎设置需要基因型工厂,工厂<>,和健身功能。基因型实现了工厂界面,因此可以用作创建初始群体和创建新的随机基因型的原型。

导入io.jenetics.bitchromosome;导入io.jenetics.bitgene;导入io.jenetics.genotype;导入io.jenetics.engine.engine; inemport io.jenetics.engine.evinutionResult; Inveme Io.jenetics.util.factory;公共课程HelloWorld {// 2.)适合函数的定义。私人静态int评估(基因型< bitgene> gt){return gt.chromosome().as(bitchromosome.class).bitcount();公共静态void main(String [] args){// 1.)定义基因型(工厂)合适//的问题。工厂<基因型< bitgene>> gtf = genotype.of(Bitchromosome.of(10,0.5)); // 3.)创建执行环境。发动机<贝格涅,整数>引擎=引擎.Builder(HelloWorld :: eval,GTF).build(); // 4.)启动执行(Evolution)和//收集结果。基因型< Bitgene>结果= Engine.Stream().limit(100).collect(EvolutionResult.tobestgenotype()); system.out.println("你好世界:\ n" +结果); }}

与其他GA实现相比,库使用演化流(EvolutionStream)的概念来执行演进步骤。由于evolutionStream实现了Java流接口,因此它与Java Streaming API的其余部分顺利工作。现在让' S仔细看看上面的清单,并逐步讨论这个简单的程序:当建立新的进变引擎时,可能最具挑战性的部分是将问题域转换为适当的基因型(工厂)表示。在我们的示例中,我们希望计算击球数的数量。由于我们只计算一个染色体中的一条染色体,因此我们只能为我们的基因型添加一个击球体。通常,基因型可以用1至N染色体产生。

一旦完成这一点,可以定义应最大化的健身功能。利用Java 8中引入的新语言功能,我们只需编写私有静态方法,该方法采用我们定义的基因型和计算它' s健身值。如果我们想使用优化的位计数方法,BitCount(),我们必须施放染色体< bitgene>课程到实际使用的Bitchromosome类。由于我们知道我们用击球体创建了基因型,这可以安全地完成。然后将对emp方法的引用用作健身功能并传递到发动机.Build方法。

在第三步中,我们正在创建进化引擎,这负责分别改变,分别不断发展,给定的人口。发动机高度可配置,并采用用于控制进化和计算环境的参数。为了改变进化行为,您可以设置不同的默特驱动器和选择器。通过更改常用的executor服务,控制线程数,允许引擎使用。只能通过其构建器创建新的引擎实例,该构建器是通过调用引擎而创建的.Builder方法。

在最后一步中,我们可以从我们的发动机创建一个新的进化流程。进化流是进化过程的模型或视图。它用作»过程手柄«,也允许您在其他方面控制进化的终止。在我们的示例中,我们只在100代后截断流。如果您不限制流,则进化流不会终止并永久运行。由于EvolutionStream扩展了java.util.stream.stream接口,因此它与Java Stream API的其余部分顺利集成。然后将最终结果是我们示例中最佳基因型,然后用进化论的预定义的收集器之一收集。

该示例尝试通过半透明多边形近似于给定的图像。它配备了摇摆UI,您可以立即开始自己的实验。

有关如何执行此示例的详细说明,请查看GitHub项目页面。

符号回归涉及以符号形式找到数学表达式,该表达式提供良好,最佳或完美的拟合在给定的独立变量的值和相关变量的关联值之间提供了良好的,最佳或完美的拟合。 --- John R. Koza

符号回归是遗传编程中的经典示例,并尝试找到给定的一组值的数学表达式。该示例显示了如何用Jenetics解决GP问题。我们正在尝试找到多项式,4倍的4倍3×2 + x,它适合给定的数据集。使用我们正在搜索的多项式创建的示例数据。这使得可以轻松检查GP中找到的近似的质量。

io.jenetics.ext(javadoc):其他,非标准,遗传算子和染色体。包含Weasel程序和树数据结构的类。

IO.jenetics.prog(javadoc):模块包含允许进行遗传编程(GP)的类。它无缝地与现有的进化流和进化引擎合作。

这个库并没有对Jenetics有任何依赖性,并且可以像它们一样使用。

IO.JENetics.PRNGINE:用于顺序和平行蒙特卡罗模拟的伪随机数发生器库。它旨在与Jenetics库顺利工作,但它没有依赖它。此库的所有PRNG实现扩展了Java随机类,这使得可以在其他项目中轻松使用。

IO.jenetics.jpx:用于以GPX格式创建,读取和编写GPS数据的Java库。它是GPX格式的1.1版本的完整实现。数据类完全不变,允许功能性编程风格。它们也与Java 8流API很好地工作。由于还可以计算点点之间的距离,因此对于TSP是良好的拟合。

Spear:Spear(带分配资源的能量的智能预后)为生产系统的能源和效率优化创造了一个可扩展的平台。

文艺复生套房:文艺复兴是JVM的现代化,开放,多样化的基准套件,旨在测试JIT编译器,垃圾收集器,分析器,分析仪和其他工具。

一世基因jenetics的遗传遗传法编程程法,电脑设计,电影知识知识技术2018年11月22日,2018年11月26日

Yiming Tang,Raffi Khatchadourian,Mehdi Bagherzadeh,Rhia Singh,Ajani Stewart和Anita Raja。机械学习系统重构与技术债务的实证研究。 ICSE'21的软件工程国际会议中。 5月2021年。

Michela Lorandi,Leonardo Lucio Custode和Giovanni IacoCA。 Delaytolerant网络路由协议的遗传改进。 arxiv:2103.07428v1 3月2021年3月。

Amine Aziz-Alaoui,Carola Doer,Johann Dreo。朝大规模自动化算法设计,集成模块化基准框架。 e arxiv:2102.06435 2月2021日。

Dominik Bork和Antonio Garmendia和Manuel Wimmer。朝着实体关系模型的多目标模块化方法。呃2020,39国际概念建模国际会议。 11月2020年。

Sarfarazi,S。 deissenroth-uhrig,m ;; Bertsch,V.社区能源系统中家庭的聚合:参与者和市场观点分析。 Energies 2020,13,5154。10月20日。

M.Šipek,D.Muharemagić,B.Mihaljević和A. Radovan。增强GRAALVM和Quarkus基于云的软件应用程序的性能。 2020 43国际信息,通信和电子技术公约(MIPRO),OPATIJA,克罗地亚,2020,PP。1746-1751。 10月20日。

VATS P.,Mandot M.验证Avisar面向对象测试工具的综合分析。 Joshi A.,Khosravy M.,Gupta N.(EDS)机器学习预测分析。网络和系统的讲义笔记,第141卷。斯普林斯,新加坡。 10月20日。

Nur Hidayah Mat Yasin,Abdul Sahli Fakhrudin,Abdul Wafie Afnan Abdi,Muhammad Harith Mohd Khairuddin,Noor Raihana Abu Sepian,Farhan Mohd表示,Norazwina Zainol说。响应面方法与人工神经网络对鱼类废物脂肪酸甲酯溶剂提取的比较。国际现代农业杂志,第9卷,3,220,ISSN:2305-7246。 9月2020年。

Thakur,K.,Kumar,G.自然启发了入侵检测系统的技术和应用:最近进展和更新的视角。工程中的计算方法档案(2020)。 2020年8月。

李,媛媛; Carabelli,Stefano; Fadda,Edoardo;曼艾勒Tadei,Roberto; Terzo,Olivier。工业生产中的生产重新安排机器学习与优化。国际先进制造技术杂志。 - ISSN 1433-3015。 2020年8月。

Dolly Sapra和Andy D. Pimentel。一种逐渐饱和目标函数的进化优化算法。 Gecco'20,Cancún,墨西哥。七月。 2020。

Dolly Sapra和Andy D. Pimentel。约束进化的零碎训练来设计卷积神经网络。 IEA / AIE 2020 - 日本Kitakyushu。七月。 2020。

Femi Emmanuel Ayo,Sakinat Oluwabukonla Folorunso,Adebayo A. Abayomi-Alli,Adebola Olayinka Adekunle,Joseph Bamidele Awotunde。基于基于规则的混合特征选择优化的网络入侵检测。信息安全期刊:全球视角。 5月2020年。

Zainol N.,Fakharudin A.S.,Zulaidi N.I.S.用人工智能算法进行生物食品废弃物降解的模型优化。 YASER A.(EDS)废物加工技术的进步。 Springer,新加坡。 5月2020年。

Sonya Voneva,Manar Mazkatli,Johannes Grohmann和Anne Koziolek。优化参数依赖性forIncremental性能模型提取。 Karlsruhe理工学院,德国卡尔斯鲁厄。四月。 2020。

raúllara-cabrera,ÁngelGonzález-Prieto,费尔南多奥尔蒂加和杰苏斯·鲍巴迪拉。基于遗传编程的基于矩阵分解的协同滤波。 MDPI,应用科学。 2月2020年。

Humm B.G.,Hutter M.在机器人传感器数据中复杂事件检测的学习模式。优化和学习。 OLA 2020.计算机和信息科学的通信,第1173卷。2月20日星期六。

ERICH C. TEPPAN,GIACOMO DA COL.创建大型作业商店调度规则的遗传算法。智能方法集成的进步。智能创新,系统和技术,170卷。斯普林克,新加坡。 1月20日。

RicardoPérez-Castillo,Francisco Ruiz,Mario Piattini。企业架构建模决策支持系统。决策支持系统。 1月20日。

Sabrina Appel,Wolfgang Geithner,Stephan Reimann,Mariusz Sapinski,Rahul Singh和Dominik Vilsmeier。自然启发优化算法应用及机械学习对重离子同步调节。国际现代物理学杂志A. 2019年12月。

O. M. elzeki,M.F.Arrahmawy,Samir Elmogy。一种新的混合遗传学和信息增益算法,用于抵御癌症基因数据集中缺失值。国际智能系统与应用杂志(IJISA),Vol.11,No.12,PP.20-33,Doi:10.5815 / Ijisa.2019.12.03。 2019年12月。

OliverStrauß,Ahmad Almheidat和Holger Kett。将启发式和机器学习策略应用于ProductResolution。第15届Web信息系统和技术国际会议的载体(Webist 2019),第242-249页。 2019年11月。

Yuanyuan Li,Stefano Carabelli,Edoardo Fadda,Daniele Manerba,Roberto Tadei1和Olivier Terzo。集成机器学习与优化技术,为灵活的工作店重新安排在InIndustry 4.0中。 PoliteCnico diorino,运营研究和优化组。 2019年10月。

HöttgerR.,IGEL B.,Spinczyk O.汽车系统的受限软件分布。 2019年10月1078年10月的计算机和信息科学的通信。

金羊膜,光王康,霍希坤·贡,吉尔·李,Uichin Lee。通过优化任务分配,最大化MapReduce作业速度和可靠性。普遍存在和移动计算。 2019年10月。

Krawczyk,Lukas,Mahmoud Bazzal,Ram Prasath Govindarajan和Carsten Wolff。基于模型的使用Eclipse App4MC的异构多核系统的定时分析与部署优化。 2019年ACM / IEEE 22型号驱动工程语言和系统伴侣国际会议:44-53。 2019年9月。

Junio Cezar Ribeiro Da Silva,LorenaLeão,Vinicius Petrucci,AbdoulayeGamatié,Fernando Magnoquintao Pereira。通过多变量线性回归在异构架构上调度功能输入。 LIRMM-02281112。 2019年9月。

Eric O. Scott,Sean Luke。 ECJ为20:迈向一般的Metaheuristics Toolkit。 Gecco' 19:遗传和进化计算会议伴侣的诉讼程序,第1391-1398页。 2019年7月。

Francisco G. Montoya和RaúlBañosNavarro(EDS)。优化方法应用于电力系统,第2. MDPI书籍,ISBN 978-3-03921-156-2。 2019年7月。

Höttger,Robert& ki,junhyung& Bui,Bao& Igel,Burkhard& Spinczyk,Olaf。高性能汽车系统的CPU-GPU响应时间和映射分析。第10次国际讲习班关于嵌入式和实时系统(Waters)的分析工具和方法(Waters)与实时系统(eCRTS' 19)共同定位。 2019年7月。

Maxime Cordy,Steve Muller,Mike Papadakis和Yves Le Tron。基于搜索的机器学习的异常检测系统的测试和改进。第28届ACM Sigsoft国际软件测试和分析研讨会(ISSTA 2019)的诉讼程序。 ACM,纽约,纽约,美国,158-168。 2019年7月。

Michael Vistein,Jan Faber,Clemens Schmidt-Eisenlohr,Daniel Reiter。使用多型运动夹持系统自动处理辅助材料。程序制造第38,2019页,第1276-1283页。 2019年6月。

Nikolaos Nikolakis,Ioannis Stathakis,SoTirios Makris。关于植物运营商个性化支持的进化信息系统。第52届CIRP会议制造系统(CMS),卢布尔雅那,斯洛文尼亚。 2019年6月。

迈克尔托特特,蒂莫西伍德和金鹤湖。预测风暴:使用遗传算法和监督学习将最佳配置分开。 13 IEEE自适应和自组织系统国际会议(SASO 2019)。 2019年6月。

Krawczyk,Lukas& Bazzal,Mahmoud& Prasath Govindarajan,Ram& Wolff,Carsten。自主驾驶应用中计算端到端响应时间的分析方法。第10届嵌入式和实时系统分析工具和方法的国际研讨会(Waters 2019)。 2019年6月。

Rodolfo Ayala Lopes,Thiago Macedo Gomes和Alan Robert Resende de Freitas。一个符号进化算法软件平台。遗传和进化计算会议伴侣的诉讼程序(Gecco' 19)。 2019年7月。

Aleksandar Prokopec,AndreaRosà,David Leopoldseder,Gilles Duboshq,PetrTěma,Martin Studener,LubomírBulej,Yudi Zheng,AlexVillazón,Doug Simon,ThomasWünrthinger,Walter Binder。文艺复兴:基准套件,用于JVM上的并行应用程序。 Pldi'19,凤凰城,AZ,美国。 2019年6月。

RobertHöttger,Lukas Krawczyk,Burkhard Igel,Olaf Spinczyk。汽车系统的内存映射分析。简要介绍程序(RTAS 2019)。 2019年4月。

Al Akkad,M. A.,& Gazimzyanov,F. F.F.自动化系统,用于评估2D-IMAGE成分特征:配置数学模型。 intellekt。秀丽。 Proizv。,17(1),26-33。 DOI:10.22213 / 2410-9304-2019-1-26-33。 2019年4月。

Alcayde,一个。 baños,r。 arrabal-campos,f.m .;蒙蒂亚,F.G。遗传算法优化合同电力。 Energies,第12卷,第7期,2019年4月。

Abdul Sahli Fakharudin,Norazwina Zainol,Zulsyazwan Ahmad Khushairi。基于神经网络和遗传算法的油掌芯核心生物信息化建模与优化。 IEEA' 19:第八届信息学,环境,能源和申请会议的诉讼程序;第155-158页,2019年3月。

Aleksandar Prokopec,AndreaRosà,David Leopoldseder,Gilles Duboshq,PetrTěma,Martin Studener,LubomírBulej,Yudi Zheng,AlexVillazón,Doug Simon,Thomas Wuerthinger,Walter Binder。论评估文艺复兴时期基准套件:品种,性能和复杂性。康奈尔大学:2019年3月的编程语言。

S. Appel,W.Geithner,S.Reimann,M Sapinski,R. Singh,D. M.M.Vilsmeier vilsmeier优化重离子同步使用Nature-Inspired算法和机器学习。 13th int。计算加速器物理肠。,2019年2月。

Saad,Christian,Bernhard Bauer,Ulrich R Mansmann和Jian Li。在系统生物学中自动分析。生物信息学与生物洞察力,2019年1月。

Gandeva Bayu Satya,Soo Young Shin。进化计算方法优化工业无线传感器网络超帧调度。康奈尔大学,2018年12月。

H.R. Maier,S. Razavi,Z. Kapelan,L.S. Matott,J. Kasprzyk,B.A. ottson。介绍性概述:使用进化算法和其他美容的优化。环境建模&软件,2018年12月。

ERICH C. TEPPAN和GIACOMO DA COL.通过遗传算法自动生成大型职位商店的调度规则。 2018年11月的CIMA 2018年国际讲习班,智能方法和应用组合。

Pasquale Salzaa,Filomena Ferrucci。使用软件容器加快云中的遗传算法。未来一代计算机系统,2018年10月。

Ghulam Mubashar Hassan和Mark Reynolds。 矿区列车网络调度与优化的遗传算法。 GCAI-2018。 第四届全球人工智能大会,2018年9月。 Drezewski,rafal& Kruk,Sylwia& Makowka,Maciej。 公司股权因素返回的进化优化:朝向基于代理的生物启发系统支持企业融资决策。 IEEE访问。 6. 10.1109 / Access.2018.2870201,2018年9月。 W.Geithner,Z.Andelkovic,S. Appel,O.Geithner,F. Herfurth,S. Reimann,G.Vorobjev,F.Wilhelmstötter。 公平控制系统环境中机器优化的遗传算法。 2018年5月,第9次国际粒子加速器会议(IPAC' 18)。 Alexander Felfernig,Rouven Walter,JoséA.Galindo,David Benavides,Seda Polat E ......