Nic*_*ill 8 x86 genetic-programming genetic-algorithm evolutionary-algorithm
这是一个普遍感兴趣的问题,因为我并不想解决具体问题.我环顾四周试图找到一些涵盖这个领域的文章,但我甚至在努力拼凑一些好的搜索词.
让我们从我所知道的开始:我在人工智能方面接受了大学水平的教育,包括遗传编程和更广泛的进化算法,尽管自从我十年前毕业以来,我还没有玩过很多.我想知道这些方法是否可用于创建机器代码来解决问题(可能是x86,或者某些'任意'指令集).我们可以自己进化算法,例如可以计算平方根,还是在屏幕上绘制令人愉悦的图像?是否可以使用进化算法来创建可以创建优化代码的整个编译器(用于大小,速度等)?
此外,我经常认为遗传编程或进化算法本身并不是物种进化的良好证据.涉及进化算法的问题解决方法似乎总是需要将智能写入其中.一个人如何以真正发生真正有趣和令人惊讶的结果的方式创建一个真正的进化算法?
TLDR:可以使用的进化算法永远是在创造一种机器代码有用,以及是否有进化算法前面的例子中,一般生产真正有趣和令人惊讶的结果?
缺口
使自然界中的进化发挥作用的一件事是,它是非常开放的; 你必须找到一种方法,以任何方式传递你的基因,并且存在各种不同的成功率.
相反,程序预计会做一些非常具体的事情,通常是工作或不工作.对于遗传算法,小的变化需要能够贡献小的(或大的)改进,以便在健身领域攀登.但是节目的健身景观是可怕的.
换一种方式:有节目,"几乎"排序是一个列表中的无限数量完全不同的一个程序,不排序列表,因此不能由一个小的突变可以做成一个.大多数对列表进行排序的程序也只会突然破坏一个突变,而不是产生几乎正确的结果,无论这意味着什么.这些组合意味着很难通过小渐进度的演化来产生这样的算法(或任何算法).
至少,当我尝试做类似的事情时,这就是我想的.我希望被证明是错的.