在我的AI入门课程中,我们研究了以下内容:
- 无信息搜索(例如深度优先搜索)
- 有信息搜索(例如A*搜索)
- 约束满足问题(例如爬山法)
- 对抗性搜索(例如极小极大算法)
总的来说,为什么我们会选择使用例如深度优先搜索这样的算法,而不是使用更复杂的算法如A*搜索?换句话说,为什么选择简单且有限的算法而不是复杂的算法呢?
回答:
主要原因是效率。有些算法比其他算法消耗更多的时间/内存。有些算法在某些情况下表现不佳。例如,如果存在局部最大值,爬山法就不会很有效。如果你预期大多数路径都能到达目的地,你可以使用深度优先搜索,这可能比A*搜索快得多。