为什么在一门简短的AI入门课程中只教授搜索算法?


11

我了解到搜索的概念在AI中很重要。有一个问题,这个网站关于这个话题,但人们还可以直观地理解为什么。我有一门关于AI的入门课程,为期半个学期,所以当然没有足够的时间来涵盖AI的所有主题,但是我希望学习一些AI理论(我听说过“代理” ”),但实际上我基本上学到了几种搜索算法,例如:

  • BFS
  • 统一成本搜索
  • DFS
  • 迭代深化搜索
  • 双向搜寻

这些搜索算法通常归类为“盲目”(或“无知”),因为它们不考虑有关目标的剩余路径的任何信息。

或类似的算法:

  • 启发式搜索
  • 最佳优先搜索
  • 一个
  • 一个*
  • IDA *

这类搜索通常属于“知情”搜索算法的类别,因为它们使用有关目标剩余路径的某些信息(例如“启发式”或“估计”)。

然后,我们还学习了“高级”搜索算法(专门应用于TSP问题)。这些算法是建设性的(例如,最近邻算法),局部搜索(例如,2-opt)算法或元启发式算法(例如,蚁群系统或模拟退火算法)。

我们还简要研究了适用于游戏的最小-最大算法和最小-最大的“改进”版本,即alpha-beta修剪。

学习完本课程后,我感到AI只是在“愚蠢地”或“更聪明地”进行搜索。

我的问题是:

  • 为什么一位教授只在AI课程中教授搜索算法?优点/缺点是什么?下一个问题与此有关。

  • 除了可以在入门课程中教授的AI“搜索”之外,还有什么?这个问题可能会导致主观答案,但实际上我是在试图了解AI的真正含义以及它真正涵盖的主题的背景下问的。显然,不幸的是,在阅读之后,看来这仍然是主观的。

  • 是否有可以通过此类课程教授的AI理论?


您可能应该更改您的命题,将列出的搜索算法称为“盲法”-因为它是错误的。“盲人”通常用作“不知情”的同义词。但是,A *,IDA *和启发式搜索在定义上是“知情的”搜索算法(因为它们基于启发式”,因此它们不是盲目的。此外,您确定“ A算法”存在吗?我只知道A *而且我在网络上找不到任何提及此算法的方法。如果它确实存在,则链接会很不错(也许在评论中)
Chaos教授

@ Prof.Chaos如果您不知道启发式算法是最优的,则A算法为A *。确实,A *中的*应该引起我们的注意。关于“盲目”论点,认为A *与BFS或DFS一样盲目是不公平的,所以我同意你的观点。
nbro

Answers:


8

人们对人工智能有很多误解,特别是关于使计算机像人类一样“思考”,模拟大脑,控制世界的科幻机器人,围绕大脑作为机器的所有哲学讨论等想法。 AI的概念是关于“使用计算来解决问题”,这基本上意味着您要解决任何问题,将其表示为计算问题,然后设计算法来解决计算问题,从而解决原始问题。这些搜索算法是用于通用计算问题的通用算法,即,任何现实世界的问题都可以由这些通用计算问题来表示,然后可以使用这些算法来解决它们。

请记住,它与问题解决有关,并且与可以代表任何现实问题的通用计算问题有关。


6

归结为,大多数AI问题都可以归类为搜索问题。让我们来看一些示例:

  • 对象识别和场景构建(例如,获取周围环境的视听输入并以3D和上下文的方式理解它的过程)可以视为在输入中搜索已知对象。
  • 解决数学问题可以看作是寻找解决方案。
  • 玩视频游戏可被视为搜索对给定游戏状态的正确响应。

即使是最基本的聊天机器人,其特征也可以是找到对给定输入短语的“正确”响应以模仿人类语言!

由于搜索的这种普遍性,搜索算法是最早被认为是“ AI”的算法之一,并且经常构成许多AI教学课程的基础。在此搜索算法之上是直观且非数学的,这使AI领域有些可怕。这听起来像夸张,但我保证,如果您的讲师使用流形学习技术开课,那么当他们提到“协方差矩阵的本征值”时,您班上的一半就已经被淘汰。

现在,搜索算法并不是解决这些问题的唯一方法。我建议每位AI从业者都熟悉数据科学和机器学习算法的概念。ML通常与搜索算法相关,但是它们使用的技术可能与以下各项有很大不同:分类器/回归的迭代构建(例如C4.5构建决策树),如您所述的元启发式算法和从中静态生成的分类器/回归训练数据的分析(例如,朴素贝叶斯(Naive Bayesian)实际上是基于贝叶斯对给定数据进行分析的分类器,假设输入字段是独立的-这就是它的名字的“天真”)。ML算法通常是在AI研究小组中开发的,有时可以针对特定问题而设计,而不是一般形式的算法。


4

为什么一位教授只在AI课程中教授搜索算法?优点/缺点是什么?

我对这个问题的回答是,有很多问题可以通过搜索找到解决方案。以井字游戏为例。如果您正在为此设计一个智能的计算机播放器,那么您将要做的是形成一个搜索空间,然后搜索可以做出结论的最佳动作。在这些情况下,您必须了解最佳搜索策略。让我们再举一个例子,假设您正在开车,并且想去一个陌生人的房子。它离您的地方很远,您决定使用GPS。您的GPS将使用搜索算法找到您可以到达目的地的最佳路线(当然,要考虑交通等诸多因素,但这是基本思路)。

缺点仅在于处理和存储方面。对于慢速算法,您也将浪费大量CPU时间和存储空间,但对于高效高效的算法,则可以保留大量空间,并且可以非常快速地执行任务。当然,仅学习搜索不是AI。还有更多的东西。

除了可以在入门课程中教授的AI“搜索”之外,还有什么?

AI中除了搜索外还有很多东西。例如,学习技术(有监督,无监督,加强),计划何时要设计一个系统,该系统将独立智能地执行某些操作,知识(已知和未知)的表示以及代理中的推论(包括命题逻辑和一阶逻辑)逻辑等

AI背后是否有可以通过此类课程教授的理论?

可以教授一些主题,例如关于不同类型的代理(简单反射,基于模型,基于目标,基于效用和学习代理),代理在其中工作的不同类型的环境,代理的评估。可能还有一些其他介绍性主题,例如自然语言处理,专家系统等。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.