python数字组合算法_组合29个简单Python代码块,自动发现新算法

英特尔的研究人员提出一种新的自动算法生成器

AAD

利用演化算法框架,

Python

语言的基本子集作为语法架构,能够对

29

个数组

/

向量问题的代码块进行组合,

通过学习,自动生成更复杂问题的解决方案。

本文介绍一种自动算法发现器(

AAD

,这是一种用于合成高复杂度计算程序的演化算法

框架。此前的演化算法依赖于客观的适应函数,这在给算法设计上增加了难度。

本文提出的

AAD

采用问题式引导演化过程(

PGE

,这需要将一组问题一起引入,针对更

简单问题发现解决方案,用于解决同一组问题中的更复杂的问题。

PGE

还支持几种新的

进化策略,并自然地应用于高性能计算(

HPC

)技术。

AAD

可以为

29

个数组

/

向量问题生成

Python

代码,

范围从

min

max

reverse

到更具挑战

性的问题,

如排序和矩阵向量乘法。

此外,

AAD

显示出对受限环境

/

受限输入的强适应性,

以及针对“开箱即用”的问题的解决能力。

AAD

是将相对简单的问题解决组件自动组合程序,可以实现搜索由这些组件的所有可能

排列所组成的整个空间,

然后寻找满足给定要求的解决方案。

目前已经提出了许多这样的

搜索策略(例如枚举,基于演绎,约束求解,随机)来应对这类挑战。

使用

AAD

的分类算法代码块示例

本文提出了一种基于演化算法的搜索策略,将其

AAD

中实现。

AAD

可以基于

Python

子集作为语法结构,组合成复杂度相对较高的程序(循环,嵌套块,嵌套函数调用等)

并生成可执行的

Python

代码。在本文中使用

AAD

来发现数组

/

向量问题的算法解决方案。

总的来说,

AAD

实现了以下目标:

使用问题导向型的演化策略来消除算法中的目标函数。

使用多样化的演化策略(多环境解决方案,异花授粉和联合演化)

,并通过广泛的实验评

估其有效性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值