我正在研究文献中可用的自动编程技术,但仅限于那些使用人工智能的技术。我能找到的唯一这样的技术是基因编程。
是否有任何其他技术可以将程序员不需要知道如何解决的高级问题规范转换为工作程序?这些搜索技术的类别是什么?
我正在研究文献中可用的自动编程技术,但仅限于那些使用人工智能的技术。我能找到的唯一这样的技术是基因编程。
是否有任何其他技术可以将程序员不需要知道如何解决的高级问题规范转换为工作程序?这些搜索技术的类别是什么?
该类别并没有真正的具体名称,尽管术语遗传编程通常不仅用于表示使用表示为树的 lisp S 表达式的原始遗传编程,而且更广泛地指代使用进化算法的所有自动编程技术. 这当然不包括非进化方法,但它是研究文献的很大一部分。
其他倾向于属于您可能想要考虑的广泛“遗传编程”类别的技术包括语法进化、基因表达编程、线性 GP和笛卡尔 GP。
还有进化编程,它不同于(尽管在某些方面类似于)遗传编程。已经对使用 Ant Colony Optimization 进行自动编程进行了少量研究。虽然,我认为它不是很成功。您可以使用 Google Scholar 找到最好的方法。
据我所知,遗传编程是目前自动编程技术的主要方法。除此之外,你可能想看看
其他搜索技术包括禁忌搜索和模拟退火。在我参加的规划竞赛中,它们通常甚至优于遗传算法:例如,在 ITC2007 赛道 1决赛中,决赛选手 1、2、3 和 4 使用了禁忌搜索和/或模拟退火,而决赛选手 5 使用了遗传算法。
但是,我还没有看到它们应用于自动编程技术,可能是它们不适合。