【人工智能】— 深度优先搜索、代价一致搜索、深度有限搜索、迭代深度优先搜索、图搜索

这篇具有很好参考价值的文章主要介绍了【人工智能】— 深度优先搜索、代价一致搜索、深度有限搜索、迭代深度优先搜索、图搜索。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

什么是搜索

  • 搜索问题是指既不能通过数学建模解决,又没有其他算法可以套用或者非遍历所有情况才能得出正确结果。这时就需要采用搜索算法来解决问题。搜索就是一种通过穷举所有解的状态,来求得题目所要求的解或者最优解的方法。
  • 搜索的基本概念:
    1. 状态:对某一系统在某一时刻的数学描述。
    2. 动作:从当前时刻状态转移到下一时刻所处状态的操作。
    3. 状态转移:对某一时刻的状态进行动作后所达到的状态。
    4. 路径:一个状态序列,该序列被一系列动作所连接。
    5. 目标测试:评估当前状态是否是所求解的目标状态。

树搜索算法

  • 基本思想:通过扩展已探索状态的后继,离线模拟探索状态空间
    一致代价搜索,人工智能,人工智能,搜索
  • 以下图举例一致代价搜索,人工智能,人工智能,搜索
  • 根据给定的初始状态初始化搜索树一致代价搜索,人工智能,人工智能,搜索
  • 根据策略strategy决定扩展哪个叶子结点,直到达到目标状态
    一致代价搜索,人工智能,人工智能,搜索一致代价搜索,人工智能,人工智能,搜索

搜索策略

  • 通过选择节点扩展的顺序来定义搜索策略
  • 根据以下维度评估策略:
    • 完整性(完备性): 如果存在,它是否总能找到解决方案?
    • 时间复杂性(时间复杂度): 生成的节点数
    • 空间复杂性(空间复杂度) : 内存中的最大节点数
    • 最优性(最优性): 它总是找到成本最低的解决方案吗?
  • 时间和空间复杂性是根据
    • b: maximum branching factor of the search tree搜索树的最大分支因子—分支因子
    • d: depth of the least-cost solution—最浅的目标节点的深度
    • m: maximum depth of the state space状态空间的最大深度(可以是 ∞ ∞ )—最大深度

无信息搜索

不一致的搜索策略只使用问题定义中可用的信息

  • Breadth-first search 广度优先搜索
  • Uniform-cost search 代价一致搜索
  • Depth-first search 深度优先搜索
  • Depth-limited search 深度受限搜索
  • Iterative deepening search 迭代深度优先搜索

Breadth-first search

一致代价搜索,人工智能,人工智能,搜索

  • 扩展最浅的未扩展节点

  • 实施:边缘结点是一个FIFO队列,即,新来的后继放在末尾

  • 时间复杂度 :BFS算法的时间复杂度可以通过BFS中遍历的节点数来获得,直到最浅的节点。其中 d= 最浅解的深度,b是每个状态的节点。一致代价搜索,人工智能,人工智能,搜索

  • 空间复杂度: O ( b d + 1 ) O(b ^{d+1}) O(bd+1)(keeps every node in memory)

  • 完整性:BFS完成,这意味着如果最浅的目标节点处于某个有限的深度,那么BFS将找到解决方案。

  • 最优性:如果路径成本是节点深度的非递减函数,则BFS是最优的。

  • 空间是个大问题;可以轻松地以100MB/秒的速度生成节点,因此24小时=8640GB。

Uniform-cost search

  • 一致代价搜索(Uniform Cost Search),优先扩展拥有最小路径消耗函数g(n)的结点,和最佳优先搜索(Best-first Search)在代码实现上一致,即最佳优先搜索的评价函数f(n)等于g(n)时,最佳优先搜索即为一致代价搜索。
  • 一致代价搜索是用于遍历加权树或图的搜索算法。
  • 当每个边缘有不同的成本时,该算法开始起作用
  • 一致代价搜索的主要目标是找到具有最低累积成本的目标节点的路径。一致代价搜索根据路径成本从根节点扩展节点。
  • 它可用于解决需要最优成本的任何图/树。一致代价搜索算法由优先级队列实现。它最优先考虑最低累积成本。
  • 如果所有边的路径成本相同,则一致代价搜索等效于宽度优先搜索算法
  • 完整性:是,如果每一步代价 ≥ ε ≥ε ε
  • 时间复杂性: O ( b c e i l i n g ( C ∗ / ε ) O(bceiling(C*/ ε) O(bceiling(C/ε) C ∗ C* C是最佳解决方案的成本, g ≤ g≤ g最优解代价的节点数
  • 空间复杂度: O ( b c e i l i n g ( C ∗ / ε ) O(bceiling(C*/ ε) O(bceiling(C/ε) g ≤ g≤ g最优解代价的节点数
  • 最优解:节点按 g(n) 的递增顺序扩展

Depth-first search

  • DFS的核心是沿着树的深度遍历树的结点,尽可能深的探索树的分支,当结点v的所有边都已经被探索后,将回溯到发现v的那条边的起始结点。这一过程一直进行到已发现初始结点可以到达的所有结点为止,如果还有未被发现的结点,则从中选择一个作为初始结点重复上述过程,直到所有结点都被访问为止。
  • DFS的基本原则可以归纳为:按照某种条件一直往前探索,如果在过程中失败,比如死路(全部探索完但是仍没有解)则返回,另选一条道路继续,直到到达目标结点为止。
  • 深度优先搜索扩展搜索树中深度最深的结点。
  • 它既不是完备的也不是最优的,但它具有线性的空间复杂度。
  • 总是扩展在队列frontier中level最深的结点。深度优先搜索的其中一个variant是回溯搜索(Backtracking Search),可以实现更小内存开销。
  • 完整性:DFS搜索算法在有限状态空间内完成,因为它将扩展有限搜索树中的每个节点。
  • 时间复杂度:DFS的时间复杂度将等同于算法遍历的节点。它的公式如下:
    一致代价搜索,人工智能,人工智能,搜索
    其中,m = 任何节点的最大深度,这可能远大于d(Shallowest解算深度)
  • 空间复杂度:DFS算法只需要存储来自根节点的单个路径,因此DFS的空间复杂度等于边缘集的大小,即O(bm)。
  • 最优解:DFS搜索算法不是最优的,因为它可能产生大量步骤或高成本以到达目标节点。

depth-limited search

  • 深度受限搜索(Depth-limited Search),是在深度优先搜索基础上,设置搜索深度限制。因为当搜索状态空间很大的时候,深度优先搜索DFS会非常尴尬,所以可以通过设置搜索深度界限来避免。
  • 深度有限搜索算法类似于具有预定限制的深度优先搜索。深度限制搜索可以解决深度优先搜索中无限路径的缺点。在该算法中,深度限制的节点将被视为没有后继节点
  • 可以使用两个失败条件终止深度限制搜索
    • 标准故障值:表示问题没有任何解决方案。
    • 截止故障值:它在给定的深度限制内没有定义问题的解决方案。
  • 完整性:如果解决方案高于深度限制,则DLS搜索算法完成。
  • 时间复杂度:DLS算法的时间复杂度为O(bℓ)。
  • 空间复杂度:DLS算法的空间复杂度为O(b×l)。
  • 最优解:深度限制搜索可以看作是DFS的一个特例,即使ℓ> d也不是最优的。

Iterative deepening search

  • 由Depth-limited search演化而成,每轮增加深度限制
  • 迭代加深的深度优先搜索(Iterative deepening depth-first Search),逐步增大限制搜索的深度,直到返回目标结点。
  • 迭代加深的深度优先搜索是DFS和BFS算法的组合。此搜索算法找出最佳深度限制,并通过逐渐增加限制直到找到目标为止。迭代加深(Iterative deepening)搜索,实质上就是限定下界的深度优先搜索。即首先允许深度优先搜索K层搜索树,若没有发现可行解,再将K+1后重复以上步骤搜索,直到搜索到可行解。
  • 在迭代加深搜索的算法中,连续的深度优先搜索被引入,每一个深度约束逐次加1,直到搜索到目标为止。
  • 迭代加深搜索算法就是仿广度优先搜索的深度优先搜索。既能满足深度优先搜索的线性存储要求,又能保证发现一个最小深度的目标结点。
  • 从实际应用来看,迭代加深搜索的效果比较好,并不比广度优先搜索慢很多,但是空间复杂度却与深度优先搜索相同,比广度优先搜索小很多,在一些层次遍历的题目中,迭代加深不失为一种好方法!
  • 该算法执行深度优先搜索直到某个“深度限制”,并且在每次迭代之后它不断增加深度限制,直到找到目标节点。
  • 此搜索算法结合了广度优先搜索的快速搜索和深度优先搜索的内存效率的优势。当搜索空间很大并且目标节点的深度未知时,迭代搜索算法对于无知搜索是有用的。
  • 示例,以下树结构显示迭代加深深度优先搜索。IDDFS算法执行各种迭代,直到找到目标节点。算法执行的迭代如下一致代价搜索,人工智能,人工智能,搜索
  • 第1次迭代——-> A
    第2次迭代——> A,B,C
    第3次迭代———> A,B,D,E,C,F,G
    第4次迭代———> A,B,D,H,I,E,C,F,K,G
    在第四次迭代中,算法将找到目标节点。
  • 完整性:如果分支因子是有限的,则该算法是完整的。
  • 时间复杂性:假设b是分支因子,深度是d,那么最坏情况时间复杂度是O(bd)。
  • 空间复杂性:IDDFS的空间复杂度为O(bd)。
  • 最优解:如果路径成本是节点深度的非递减函数,则IDDFS算法是最佳的。

图搜索

  • 检测不到重复状态可能会将线性问题变成指数问题!一致代价搜索,人工智能,人工智能,搜索

  • 避免探索冗余路径的方法是牢记曾经走过的路。

  • 为了做到这一点,我们给TREE-SEARCH搜索树算法增加一个参数–这个数据结构称为探索集(也被称为 closed 表),用它记录每个已扩展过的结点。

  • 新生成的结点若与已经生成的某个结点相匹配的话–即是在探索集中或是边缘集中-那么它将被丢弃而不是被加入边缘集中。

  • 新算法叫 GRAPH-SEARCH,图搜索

小结

一致代价搜索,人工智能,人工智能,搜索文章来源地址https://www.toymoban.com/news/detail-721640.html

到了这里,关于【人工智能】— 深度优先搜索、代价一致搜索、深度有限搜索、迭代深度优先搜索、图搜索的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探索人工智能:深度学习、人工智能安全和人工智能编程(文末送书)

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 购书链接,限时特惠5折 这本书是美国

    2024年02月03日
    浏览(119)
  • 人工智能头歌实验(盲目搜索)

    本关任务:编写代码实现广度优先搜索一个给定的树。 相关知识 为了完成本关任务,你需要掌握广度优先搜索算法的原理与实现。 广度优先搜索步骤 广度优先搜索一般是采用先进先出( FIFO )的队列来实现的,在这里我们用到了两个表: Open :是一个 先进先出的队列 ,存

    2024年01月18日
    浏览(43)
  • 人工智能 与 搜索引擎的较量

    随着科技的不断进步,人工智能(AI)已经渗透到了我们生活的方方面面,搜索引擎也不例外。AI与传统搜索引擎之间的较量成为了科技界和互联网用户关注的热点话题。 搜索引擎是一种互联网工具,旨在帮助用户在互联网上查找相关信息。它们通过扫描互联网上的网页、文

    2024年02月08日
    浏览(51)
  • 禁忌搜索在人工智能伦理中的位置

    人工智能(Artificial Intelligence, AI)是一门研究如何让计算机模拟人类智能的科学。在过去的几十年里,人工智能研究者们已经开发出许多有趣和有用的算法,这些算法可以解决许多复杂的问题。然而,随着人工智能技术的不断发展和进步,我们面临着一系列新的挑战和道德问题

    2024年02月19日
    浏览(57)
  • 人工智能深度学习

    目录 人工智能 深度学习 机器学习 神经网络 机器学习的范围 模式识别 数据挖掘 统计学习 计算机视觉 语音识别 自然语言处理 机器学习的方法 回归算法 神经网络 SVM(支持向量机) 聚类算法 降维算法 推荐算法 其他 机器学习的分类 机器学习模型的评估 机器学习的应用 机

    2024年02月22日
    浏览(58)
  • 人工智能之深度学习

    第一章 人工智能概述 1.1人工智能的概念和历史 1.2人工智能的发展趋势和挑战 1.3人工智能的伦理和社会问题 第二章 数学基础 1.1线性代数 1.2概率与统计 1.3微积分 第三章 监督学习 1.1无监督学习 1.2半监督学习 1.3增强学习 第四章 深度学习 1.1神经网络的基本原理 1.2深度学习的

    2024年02月09日
    浏览(55)
  • 边缘智能:边缘计算和人工智能的深度融合

    随着通信技术的飞速发展和移动设备使用的激增,一种全新的计算范式——边缘计算正在迅速普及。与此同时,随着深度学习的突破和硬件架构的许多改进,人工智能(AI)应用正在蓬勃发展。在网络边缘产生数十亿字节的数据,对数据处理和结构优化提出了巨大的要求。因此,

    2024年02月11日
    浏览(64)
  • 【复习】人工智能 第六章 搜索求解策略(又多又难)

    在求解一个问题时,涉及到两个方面: (1)该问题的表示 (2)相对合适的求解方法:由于绝大多数需要人工智能方法求解的问题缺乏直接求解的方法,因此, 搜索 为一种求解问题的一般方法。 另外如果真的想拿下这一章,还是走一下ppt或书上的八数码的对应的每一种情况

    2024年01月16日
    浏览(54)
  • OpenAI Embedding:基于人工智能的搜索新篇章

    本文正在参加「金石计划」 Embedding模型在许多应用场景中都有广泛的应用。在OpenAI中,文本嵌入技术主要用于衡量文本字符串之间的相关性。 嵌入(Embeddings)是一种将离散变量表示为连续向量的方法。它在机器学习中起到了不可或缺的作用。例如,在机器翻译中的词嵌入和分

    2024年02月04日
    浏览(57)
  • 深度学习:探索人工智能的前沿

    人工智能(Artificial Intelligence,简称AI)是一门研究如何使计算机能够执行通常需要人类智能的任务的领域。从早期的符号推理到现代的深度学习,人工智能经历了漫长的发展过程。 20世纪50年代,AI的奠基性工作开始,研究者们试图通过符号推理来模拟人类思维过程。然而,

    2024年01月19日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包