使用人工智能进行自动编程的搜索技术属于哪个类别?

7
我正在研究文献中可用的自动编程技术,但仅限于使用人工智能的技术。我所能找到的唯一一种技术是遗传编程。
除了遗传编程之外,还有哪些技术可以将高级问题规范转换为可运行的程序,而程序员不需要知道如何解决这些问题呢?这些搜索技术属于哪个类别?
4个回答

2

这个类别没有一个具体的名称,尽管术语“遗传编程”通常不仅指使用Lisp S表达式表示为树的原始遗传编程,更广泛地指所有使用进化算法进行自动编程的技术。当然,这不包括非进化方法,但它占据了研究文献的很大一部分。

其他技术也被归为这个宽泛的“遗传编程”类别,您可能需要考虑的包括语法进化基因表达式编程线性遗传程序设计笛卡尔遗传程序设计

还有与遗传编程不同(尽管在某些方面相似)的进化编程。已经进行了少量关于使用蚁群优化进行自动编程的研究,尽管我认为效果并不是很好。您可以在Google学术中找到更多相关信息。


我基本上在询问除了基于进化的技术之外,是否还有其他的程序搜索方法。 - mtanti
不幸的是,自动编程方面的大部分人工智能工作都来自进化技术。虽然有一些使用其他技术的小尝试,比如我提到的ACO,但除此之外我不知道还有什么实质性的东西。 - Tom Castle

1
据我所知,遗传编程是目前自动编程技术的主流方法。除此之外,您可能还想看看以下内容:

0

一般的类别是机器学习。其他技术包括提升, 我相信你现在知道该去哪里寻找更多信息了。

你也可以研究一下神经网络


机器学习是一个比自动编程更广泛的类别,提升和神经网络略显无关。它们或许可以应用于自动编程问题,但它们本身并不是自动编程技术。 - Tom Castle

0

其他搜索技术包括禁忌搜索模拟退火。在规划竞赛我参加过的中,它们通常甚至优于遗传算法:例如在ITC2007轨道1中,前四名使用了禁忌搜索和/或模拟退火,而第五名使用了遗传算法

然而,我还没有看到它们应用于自动编程技术,可能是因为它们不适合这种情况。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接