Artificial intelligence 为什么要使用非复杂算法

Artificial intelligence 为什么要使用非复杂算法,artificial-intelligence,Artificial Intelligence,在我的AI入门课程中,我们一直在研究: 统一搜索(即深度优先搜索) 知情搜索(即A*搜索) 约束满足问题(即爬山) 对抗性搜索(即Minimax) 一般来说,我们为什么要使用深度优先搜索,而不是使用更复杂的算法,如*搜索?换句话说,当我们可以选择复杂的算法时,为什么还要选择简单的和有限的算法呢 主要原因是效率。有些算法比其他算法占用更多的时间/内存。 某些算法在某些情况下不起作用。例如,如果存在局部最大值,爬山就不会很有效。 如果您希望大多数路径都指向目的地,可以使用深度优先,这可能比*快得

在我的AI入门课程中,我们一直在研究:

  • 统一搜索(即深度优先搜索)
  • 知情搜索(即A*搜索)
  • 约束满足问题(即爬山)
  • 对抗性搜索(即Minimax)

一般来说,我们为什么要使用深度优先搜索,而不是使用更复杂的算法,如*搜索?换句话说,当我们可以选择复杂的算法时,为什么还要选择简单的和有限的算法呢

主要原因是效率。有些算法比其他算法占用更多的时间/内存。 某些算法在某些情况下不起作用。例如,如果存在局部最大值,爬山就不会很有效。
如果您希望大多数路径都指向目的地,可以使用深度优先,这可能比*

快得多。主要原因是效率。有些算法比其他算法占用更多的时间/内存。 某些算法在某些情况下不起作用。例如,如果存在局部最大值,爬山就不会很有效。
如果您希望大多数路径都指向目的地,可以使用深度优先,这可能比*

快得多。示例中的算法具有不同的属性。DFS具有最坏情况O(n)内存约束,而A*具有最坏情况O(2^n)。一个更好的比较是BFS和A*效率在大多数情况下可能很重要。在某些特定情况下(例如,一个非常简单的游戏,它只有几个分支树,或者一个只有50个案例的组合问题),它不存在。您的示例中的算法具有不同的属性。DFS具有最坏情况O(n)内存约束,而A*具有最坏情况O(2^n)。一个更好的比较是BFS和A*效率在大多数情况下可能很重要。在某些特定情况下(例如,一个游戏非常简单,它只有几个分支树,或者一个只有50个案例的组合问题),它不会