首页 > 其他分享 >人工智能 第三版 第三章 知情搜索

人工智能 第三版 第三章 知情搜索

时间:2024-02-02 21:36:29浏览次数:27  
标签:状态 开销 第三章 人工智能 路径 第三版 搜索 启发式 节点

人工智能 第三版 第三章 知情搜索

知情搜索(informed search,也称有信息搜索):利用启发式方法,通过限定搜索的深度或宽度来缩小问题空间。

启发式方法

启发式方法的目的是大幅度减少到达目标状态所要考虑的节点数目,它们非常适合解决那些组合复杂度(combinatorial complexity)快速增长的问题。通过知识、信息、规则、见解、类比和简化,再加上一系列其他的技术,启发式方法旨在减少必须检查的对象数目。好的启发式方法不能保证一定获得解,但是它们经常有助于人们找到到达解的路径。

找到任一解

爬山法

找到一个比当前节点更好的节点就前进

最陡爬山法

从更好的节点中选择最好的节点前进

最佳优先搜索

最佳优先搜索(best-first search)是一个为到达目标而考虑探索哪些节点以及探索多少个节点的智能搜索算法。

它维护着与深度优先搜索及广度优先搜索一样的开放节点及封闭节点列表。开放节点是搜索边缘(fringe)上的节点,后面可能会进一步探索到。而封闭节点是那些不再探索的节点,它们将构成解的基础。在开放列表中,节点按照它们接近目标状态的启发式估计值大小进行排列。因此,每次迭代搜索时,都会考虑开放列表中最有希望的节点,从而将最佳状态放在开放列表的前端。重复状态(例如,可以通过多条路径到达的状态,但是具有不同的开销)不会被保留。相反,开销最低、最有希望以及在启发式方法下最接近重复节点的目标状态的节点则被保留。

注意,最佳优先搜索的效率取决于所使用的启发式度量方法的有效性。

集束搜索

在搜索树中的每一层只扩展最好的W个节点,如同形成一种薄的、聚焦的“光束”

  • 在集束搜索中,探索通过搜索树逐层扩展,但是每层只有最好的W个节点才会得到扩展。W被称为集束宽度(beam width)。

  • 通过将搜索树深度的指数级内存开销降低到线性开销,集束搜索是对广度优先搜索的一种尝试改进方法

  • 过程:每一层切片(宽度为W)的数目被限制为1。当集束搜索扩展一层时,生成当前层状态的所有后继节点,将它们按照启发值递增的顺序(从左到右)排序,并将它们切分为多个切片(每个切片最多包含W个状态),然后只存储第一个切片,并扩展节点。当生成目标状态或内存不足(如前所述)时,集束搜索终止

搜索算法的其他指标

经过节点n到G的路径的精确开销f (n)= g(n) + h*(n)

对于所有的节点n,必须有估计值h(n)≤精确值h*(n)。在这种情况下,h(n)被称为可接受的启发值(admissible heuristic)

找到最优解

分支定界法

这种算法在文献中通常被称为统一开销搜索或统一代价搜索(uniform-cost search)。该算法会按照递增的开销—更精确地说,是按照非递减的开销来寻找路径。

这里用的路径开销估计方法很简单:f (n) = g(n),并不采用基于剩余距离的启发式搜索。

也可以采用一种等价的说法,即h(n)的估计值处处为0。这种方法与广度优先搜索的相似性显而易见,即首先访问最靠近起始节点的节点。

BFS与分支定界法之间的区别是,BFS努力找到通往目标的某条路径,而分支定界法努力找到一条最优路径。

高级搜索算法

约束满足搜素

在对更大或更复杂的问题进行求解时,可以识别出其中更小的可处理的子问题,这些子问题通过较少的步骤就可以解决。

与或树

这里的目标是,通过应用以下规则,在给定的树中找到解的路径。如果满足以下条件,那么节点是可解的。(1)它是一个终止节点(一个基元问题)。

(2)它是一个非终止节点,并且其后继节点都是可解的与(AND)节点。或者

(3)它是一个非终止节点,后继节点是或(OR)节点,在这些或节点中,至少有一个可解。

类似地,在下列条件下,节点是不可解的。

(1)它是一个没有后继节点的非终止节点(没有运算符可应用的非基元问题)。

(2)它是一个非终止节点,后继节点是与(AND)节点,在这些与节点中,至少有一个不可解。或者

(3)它是一个非终止节点,后继节点是或(OR)节点,并且这些或节点都是不可解的。

双向搜索

双向搜索(bidirectional search)的想法是在向前搜索目标状态的同时,从已知的目标状态向后搜索到起始状态,以找到解的路径。

标签:状态,开销,第三章,人工智能,路径,第三版,搜索,启发式,节点
From: https://www.cnblogs.com/Melnis/p/18004022

相关文章

  • 【译】算法 vs 人工智能 vs 通用人工智能:为初学者消除误区
    原作:普利瑟姆在计算机科学和人工智能领域,理解从传统算法(Algorithms)到人工智能(AI:ArtificialIntelligence)再到通用人工智能(AGI:ArtificialGeneralIntelligence)的演变至关重要。在这篇综合指南中,我深入研究这些技术的复杂性,通过识别猫的任务来说明每个阶段的关键差异和进步。我......
  • 【译】人工智能对作家和艺术家构成的真正威胁
    原作:大卫·B·克利尔引言:它会贬低你的品牌价值图片由作者提供(真人)生成式人工智能向公众开放后的头几个月,它非常酷且令人印象深刻——足以让人刮目相看。在此之前,大众还没有看到计算机能够输出只有人类才能生成的文本和图像。所以我们的下巴都惊掉了。生成式人工智能向公众......
  • 《程序是怎样跑起来的》第三章读后感
    计应232朱思嘉,《程序是怎样跑起来的》第三章读后感作为一个大学生,我已经接触过不少编程语言和开发工具,但很多时候,对于底层原理的了解仍然是浅尝辄止。而这一章则为我揭示了那些隐藏在高级编程语言背后的奥秘。它用蹲马桶的比喻来形容CPU的工作方式,让我感受到了编程的趣味性。也能......
  • AIGC、AGI、ChatGPT:揭秘人工智能大模型的变革与创新
    随着科技的不断发展,人工智能(AI)已经深入到我们生活的方方面面,从语音助手到自动驾驶汽车,再到智能家居,AI的影子无处不在。而在近年来,AIGC、AGI和ChatGPT等人工智能大模型的出现,更是引领了一场前所未有的技术革命。接下来,我们将一起探索这些人工智能大模型的奥秘。一、AIGC:开启全新的......
  • 《系统科学》第三章读后感
    在阅读了《系统科学》第三章之后,我对于系统科学这一领域有了更加深入的了解。本章主要关注了系统科学的基本概念、方法和应用,使我意识到系统科学在现代科学和技术发展中扮演着至关重要的角色。首先,我理解了系统科学的核心概念。系统科学是一门跨科学的学科,旨在研究复杂系统中......
  • 几个人工智能的学习建议
    近几年人工智能的发展势头很猛,很多人都想入行学习人工智能,却苦于不知如何正确学习。给大家整理总结了六条同行的经验和避坑指南,供大家参考,少走弯路,快速进入学习状态。1.熟悉至少一种编程语言编程语言是实现源码功能的基础,也是调试、理解代码的必要条件,人工智能相对依赖的语言是Pyth......
  • 软件测试|人工智能:测试开发的新宠儿
    测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供1v1私教指导,BAT级别的测试管理大咖量身打造职业规划。测试是发现问题的艺......
  • 如何进行人工智能应用的测试
    人工智能应用的测试是保证其性能和质量的重要环节。随着人工智能技术的快速发展和广泛应用,对于如何进行人工智能应用的测试也变得尤为重要。一、测试策略和方法1、功能测试 功能测试是人工智能应用测试中最基础且最重要的测试环节。它旨在验证人工智能应用是否能够按照预期功能正......
  • 人工智能在缺陷检测领域的发展与挑战
    人工智能在缺陷检测领域的发展主要得益于机器学习和深度学习等技术的不断进步。这些技术使得机器能够自动地从大量数据中学习并提取出有用的特征,进而对缺陷进行准确、高效的检测。在发展过程中,人工智能已经应用于多个领域的缺陷检测,如工业制造、医疗诊断、航空航天等。在工业制造......
  • 人工智能的三个层次
    人工智能的三个层次1.弱人工智能AlphaGo运用深度学习和增强学习技术的人工智能依然只是属于“弱人工智能”。实际上,目前所有的人工智能领域取得进展的都是在弱人工智能领域上。从服务机器人、车载与电视助手、智能客服以及图像处理等应用,又或是iPhone的语音助理Siri、百度的度秘、......