智能进化
用遗传的思想,来构建智能进化过程
1.定义:
根据遗传算法的思想,智能的构建解决某一问题的最佳程序来,即构造一个能构造算法的算法
根据目标对过程不停的迭代,通过变异、交叉(配对)的方式,找到最优解,或者变现足够好、经历了n代、经历n次迭代仍没有得到任何改善
适用场景:根据一组输入输出,找出其对应的映射或者数学函数

2.程序的设计思路:
i.以树形方式展现:

a.枝节点代表了应用于其子节点上的操作
b.而叶子节点为参数或者常量
c.一旦得出某个分支的值,就会向上传播,使计算进行下去,if节点标识如果左侧分支结果为true,返回中间的分支结果,否则返回右侧分支的结果
ii.python中表现树:


以上面的封装创建函数组,并根据函数组创建树:

树的创建:

树的展现:

iii.构造初始种群:
以随机函数的方式来构建种群:

3.模型应用:
i.根据一个已知函数生成测试数据,然后用智能进化的方式,通过测试数据求函数

ii.结果的衡量:
将输入的参数输入随机tree,然后计算结果和输出的差值,来评价结果

iii.对程序(tree)进行变异:
可以删除树的分支,或者用一棵全新的树来替换某一个子树
这里通过概率来决定是否需要变异

iv.交叉:
从众多程序中选出表现优异者,将其组合在一起构造一个新的程序,通常的方式是用一棵树的分支取代另一棵树的分支:
两棵树同时遍历,如果概率小于某一给定概率,则用一棵树的结果代替另一颗树的结果,并且替换对应位置的分支

v.随机生成总群进行交叉测试

rankfunction:种群程序优劣的排列函数
mutationate:变异的概率
mutationate:变异的概率
breedingrate:交叉的概率
popsize:初始种群的大小
probexp:交叉的筛选概率
probexp:交叉的筛选概率
probnew:引入全新程序的概率
vi.多样性的重要性:
将表现优异的题解和大量成绩尚可的题解组合在一起,往往能得到更好的结果,因为如果一直使用最优异的结果,种群也变得极端化了
4.模型的改进:
其他数值型的函数:
三角函数
其他数学函数
统计分布
距离度量
三个参数的函数:第一个参数介于第二、三间,则返回1
前两个参数的差小于1,则返回1
其他类型的变量:
字符串
列表
字典
对象

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?