人工智能中的问题解决


2022年11月24日, Learn eTutorial
4799

人工智能中的问题解决包括各种技术,如高效算法、启发式方法和执行根本原因分析以获得理想的解决方案。对于人工智能中的给定问题,可能存在通过不同启发式方法的各种解决方案,同时也有具有独特解决方案的问题。这些都取决于待解决问题的性质。

人工智能中问题的特征

交给人工智能的每个问题都有不同的表示和解释方面。必须从几个维度分析给定的问题,以选择最可接受的解决方法。下面列出了一些问题的关键特征。

  • 问题能否分解为子问题?
  • 是否可以忽略任何解决方案步骤?
  • 给定问题是否普遍可预测?
  • 我们能否在不将给定问题与所有可能解决方案进行比较的情况下,为其选择一个好的解决方案?
  • 所需输出是世界的状态还是通往某个状态的路径?
  • 问题是否需要大量的知识才能解决?
  • 是否需要与计算机和人类进行任何交互?

上面列出的问题特征被称为7个问题特征。给定问题的解决方案必须在这些特征下进行。

人工智能中的问题基本上可以分为两类:玩具问题和实际问题。

玩具问题

它也可以称为谜题类问题,可以用作解释更一般问题解决技术的方式。玩具问题可用于测试和演示方法,或比较不同算法的性能。玩具问题通常有助于揭示复杂问题中的特定现象。大型复杂问题被分解成许多更容易详细理解的小型玩具问题。滑动方块谜题、N皇后问题、汉诺塔是一些例子。

实际问题

顾名思义,它是基于现实世界的问题。实际问题需要解决方案。它不依赖于描述,而是依赖于通用公式。在线购物、欺诈检测、医疗诊断是人工智能中实际问题的一些例子。

问题解决的步骤

Steps performed in problem-solving
  • 目标制定:问题解决的第一步是识别问题。它涉及从多个目标中选择步骤来制定完美目标,并选择行动来实现该目标。
  • 问题制定:问题解决中最重要的一步是选择要采取的行动来实现所制定的目标。
  • 初始状态:智能体迈向目标的起始状态。
  • 行动:智能体可用的可能行动列表。
  • 转换模型:描述每个行动的作用。
  • 目标测试:测试给定状态是否是目标状态。
  • 路径成本:为遵循目标的每条路径分配一个数字成本。它反映了其性能。路径成本最低的解决方案是最佳解决方案。

问题解决程序的示例

八皇后问题

Eight queens puzzle

这里的问题是在8x8的棋盘上放置八个国际象棋皇后,使得任何皇后都不会威胁到其他皇后。如果两个皇后在同一行、同一列或同一对角线上,其中一个将攻击另一个。

考虑此问题的增量公式:它从空状态开始,操作符在每一步扩展一个皇后。
此公式涉及以下步骤

  • 状态:在棋盘上放置0到8个皇后。
  • 初始状态:一个空棋盘。
  • 行动:将一个皇后添加到棋盘上的任何空方格中。
  • 转换模型:返回添加皇后后棋盘的新状态。
  • 目标测试:检查棋盘上是否放置了8个皇后,并且没有受到攻击的可能性。
  • 路径成本:路径成本被忽略,因为只计算最终状态。

人工智能中的问题解决方法

让我们讨论人工智能作为问题解决方法使用的启发式方法、算法和根本原因分析等技术,以找到给定问题的理想解决方案。

1. 算法

问题解决算法可以被描述为一个过程,如果严格遵循其步骤,则保证能够解决问题。
让我们举一个简单的例子来了解它的含义
一个人想在图书馆浩瀚的藏书中找到一本正在展示的书。他不知道这本书放在哪里。通过对图书馆每个书架上展示的每本书进行顺序检查,这个人最终会找到这本书。但是这种方法会消耗大量时间。因此,算法方法会成功,但通常很慢。

人工智能算法的类型

  • 回归算法。
  • 基于实例的算法。
  • 决策树算法。
  • 聚类算法。
  • 关联规则学习算法。
  • 人工神经网络算法。
  • 深度学习算法。
  • 搜索算法

2. 启发式方法

问题解决启发式方法可以被描述为一种非正式的、概念性的、冲动性的程序,它只在某些情况下导致期望的解决方案。事实是启发式操作的结果是不可预测的。使用启发式方法可能比使用算法更有效或更不有效。
考虑上面讨论的相同例子。如果他知道在哪里寻找这本书,可以节省大量时间。这可以称之为启发式搜索。但如果第一次尝试错了,他必须尝试另一种启发式方法。
常用的问题解决启发式方法有:

正向工作

这是一种正向的问题解决策略。在这种方法中,问题从一开始就被解决,并一直工作到结束。

反向工作

这是一种反向的问题解决策略。在这里,问题从终点或目标开始解决,并逆向追溯到导致该目标的步骤。

手段-目的分析

这是一种问题解决技术,结合了上述两种方向。这种方法适用于解决复杂和大型问题。MEA是一种控制问题解决中搜索过程的策略。它以评估当前状态和目标状态之间的差异为中心。首先,计算初始状态和最终状态之间的差异。然后为每个差异选择各种操作符。这些操作符的应用将减少当前状态和目标状态之间的差异。

生成-测试

生成-测试方法是一种问题解决启发式方法,它涉及以随机方式交替执行一系列操作。检查每种替代方法是否能解决问题。它确保所选择的最佳可能解决方案与生成的可能解决方案进行对照检查。

算法与启发式方法的区别

算法 启发式方法
  • 问题的自动化解决方案
  • 确定性的,并被证明能够提供最优结果
  • 包含有限的指令集来解决问题。

 

  • 任意选择或有根据的猜测
  • 没有正确性证明,可能无法提供最优结果。
  • 用于改进算法的运行时间。

在人工智能中,启发式方法和算法这两个术语有些重叠。启发式方法可能是一个子程序,可用于确定首先在哪里寻找最优算法。启发式算法可以归类到算法类别下。从某种意义上说,启发式方法是算法,启发式方法采用猜测的方法来解决问题,提供一个足够好的答案,而不是找到最佳可能的结果。间接级别是两者之间的主要区别。

3. 根本原因分析

顾名思义,它是识别问题根本原因的过程。分析问题的根本原因以确定适当的解决方案。使用一系列原则、技术和方法来识别问题的根本原因。RCA可以首先识别问题。

RCA的第一个目标是识别问题的根本原因。第二个目标是了解如何修复根本原因中的潜在问题。第三个目标是防止未来出现问题或重复成功。

RCA的核心原则是:

  • 专注于纠正根本原因。
  • 治疗症状以获得短期缓解。
  • 可能存在多个根本原因。
  • 关注“如何?”和“为什么?”
  • 根本原因声明以具体的因果关系为依据。
  • 提供信息以获得纠正行动方案。
  • 分析未来如何避免根本原因。