Renascence架构原理——遗传规划算法

遗传规划算法

遗传规划算法

请先看一下遗传算法:
http://blog.csdn.net/v_JULY_v/article/details/6132775

遗传规划/遗传编程(Genetic Programming)是遗传算法的一个分支,与遗传算法中每个个体是一段染色体编码不同,它的个体是一个计算机程序。
维基上说它在70年代就已经有人实践,不过正式提出应该还是在John R. Koza教授于1990年发表的博士论文中。

遗传规划最早的应用是符号回归,比如为了拟合 z=f(x,y),它生成一个初始函数 g(x,y),然后以g(x,y)与z的相关系数为适应度,进行选择交叉变异,最终得到最优的一个函数g’,再做一次线性回归即可。

如下是GP表示的一个例子,自然,还有其他的表达方式:
线型:GEP(Gene Expression Programming),
图型:CGP(Cartesian Genetic Programming)。

以树型为例:

这棵树表示一个函数,就是上面所述的g(x,y),至于怎么用就见仁见智了,确定好用法之后设定一个计算适应度的方案,就可以跑遗传规划了。

在遗传规划中,选择算子与遗传算法的相同,交叉变异需要根据表达方式来。
树形的交叉实现是这样:

变异实现是这样:

时间: 2025-01-31 01:46:29

Renascence架构原理——遗传规划算法的相关文章

Renascence架构原理——最优化算法

最优化算法 背景 通过公式生成ADF之后,根据下层函数库的配置,在结构不变的情形下,ADF是可以通过一系列值在0-1之间的参数进行调节的.也即ADF可表示为固定维数n的实数集,因此需要解决的问题就是在给定的目标下,求一组使目标值最大的参数. max(f(x0,x1,x2,x3,...,xn)),xi∈[0,1] 由于架构本身并不知道ADF运行的函数实现,因此目标函数是完全未知的,无法用梯度下降/牛顿迭代法等处理,更不用说线性规划的那些解法了. 这时候可选择的,就是穷举法或启发式算法. 最优化算法

Renascence架构简介

Renascence架构 Renascence架构是 A-GP-B 式的桥梁架构,它要求下层库不直接对外提供接口,而是往GP库注册函数,上层库用GP公式间接调用下层库的代码. GP库位于应用与lib库之间,作为应用调用lib库的桥梁而存在,它本身不依赖任何基础库. 上层调用 通过引入训练这一过程,应用跨平台的问题有了最好的解决方案,即在安装过程中,应用提供一个模板供平台训练,得到适合的实际运行的程序,然后应用在运行时用该程序就可以. 应用本身无须考虑平台问题,在任一平台下功能自动兼容.性能自动达

基于Renascence架构的SQL查询引擎设计

基于Renascence架构的sqlite查询优化 sqlite查询优化方案是一开始是在Hw时设计的,但当时只实现一些简单case,并未完成sql的普遍支持.后面考虑到这可以做为 Renascence 架构的一个实验场景,因此将其方案做了一番修改,代码也重写了一遍,现在做成一个能支持普通sql查询的demo. sqlite架构 参考:http://wiki.dzsc.com/info/7440.html sqlite是移动设备广泛使用的轻量级数据库引擎.它主要由前端--虚拟机--后端三部分组成,

【阿里云大学课程】机器学习入门:概念原理及常用算法

AlaphaGo与围棋界的较量,吸引了全世界的目光,也让大家见识到了机器学习与人工智能技术的强大之处.你是不是也想学机器学习了? 机器学习是人工智能的一个分支.人工智能的研究是从以"推理"为重点到以"知识"为重点,再到以"学习"为重点,一条自然.清晰的脉络.显然,机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题. 在维基百科中,机器学习有下面几种定义: 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如

MongoDB Sharded cluster架构原理

为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性. 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sharded cluster 存储容量需求超出单机磁盘容量 活跃的数据集超出单机内存容量,导致很多请求都要从磁盘读取数据,影响性能 写IOPS超出单个MongoDB节点的写服务能力 如上图所示,Shardi

遗传算法 c++/c-求一遗传优化算法C/C++代码

问题描述 求一遗传优化算法C/C++代码 求一个多变量(大于20个变量)求解的遗传优化算法C/C++代码,有的发我邮箱,632577343@qq.com谢谢大神. 解决方案 http://www.pudn.com/downloads308/sourcecode/math/detail1370328.html 解决方案二: http://wenku.baidu.com/link?url=uFwaQnD4wagzktPR2pGqWsw3kBkv1SGF20sa_qVqItGKAJwTA8wThB0t

MongoDB · 特性分析 · Sharded cluster架构原理

为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性. 当MongoDB复制集遇到下面的业务场景时,你就需要考虑使用Sharded cluster 存储容量需求超出单机磁盘容量 活跃的数据集超出单机内存容量,导致很多请求都要从磁盘读取数据,影响性能 写IOPS超出单个MongoDB节点的写服务能力 如上图所示,Shardi

浅谈搜索引擎的工作原理及未来算法调整方向

在A5站长网上摸爬滚打了多年了,期间也写了好几篇的文章,其中有一篇<浅谈地方汽车门户网站运营的四个问题>还被推荐到了首页,我发给我们的朋友看的时候,大家对我这个曾经的菜鸟也开始刮目相看了,这让我本人在这段时间身心都愉悦的很,现在又忍不住在A5上发表一下我对搜索引擎工作原理及算法上的认识,可能比较的浅陋,但是有了想法,不吐还是不快的! 做网站SEO是一个非常枯燥的过程,很多人估计除了吃饭睡觉剩下来的时间就奉献给了电脑了,这样怎么能够把身体搞好呢?这不现在每天爬六楼都累得不行,这对于一个大小伙子实

联想高级架构师分享:架构之道-规划、简化和演化

架构这个概念,和计算机科学(包括近几年才成为一级学科的软件工程)的其他术语类似,都是从传统学科借用来的.这是因为计算机科学太年轻.发展太快,来不及形成自己特有的术语和名词.因此,在学习和思考方法上,常常推荐类比法,尝试用一些耳熟能详的事物去理解和解释计算机科学领域的概念,以求"老妪能懂"的效果. 这里介绍的一些内容,大多是个人在学习和实践过程中的一些思考和体会,以及平时的一些学习笔记整理而成,还很不成体系,还有很多需要继续推敲的地方.我会在未来的工作实践中更加深入思考,广泛参考领域内的