《人工智能:计算Agent基础》——3.3 图搜索

简介:

本节书摘来自华章计算机《人工智能:计算Agent基础》一书中的第3章,第3.3节,作者:(加)David L.Poole,Alan K.Mackworth 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.3 图搜索

在这一章中,我们将一般搜索机制抽象表示为在有向图中的路径搜索。要解决一个问题,首先定义潜在的搜索空间,然后将搜索算法应用于其中。74许多问题求解的任务都可以转化为在图中寻找路径的问题。图搜索提供了抽象的一个合适层次,用这种抽象,可以研究独立于特定领域的简单问题求解。
一个(有向)图包含一个节点集及一个节点间的有向弧集。其思路是找到一条沿着这些弧从起始节点到目标节点的路径。
因为将问题表示为图不止一种方式,所以抽象很重要。这一章中的例子都是有关状态空间搜索,节点代表状态,弧代表动作,以后的章节中会讨论用图表示问题的不同搜索方式。
形式化图搜索
一个有向图(graph)包括:

  • 一个节点(node)集合N;
  • 一个节点的有序对集合A,叫做弧(arc)。

在这个定义中,节点可以是任何东西。定义的实质是约束弧是节点的有序对。可以有无限多的节点和弧。我们并没有假设图完全明确地表示出来,我们仅需要有一个进程根据需要产生节点和弧。
弧〈n1,n2〉是一条从n1的出弧(outgoing arc)和一条至n2的入弧(incoming arc)。
如果有一条从节点n1到节点n2的弧线,也就是〈n1,n2〉∈A,节点n2就是节点n1的邻居(neighbor)。注意到两点是邻居不意味着对称,因为n2 是n1 的邻居并不意味着n1就必须是n2的邻居。例如,弧可能被标记(lable)为使Agent从一个状态到达另一个状态的动作。
一条从节点s到节点g的路径(path)是一个节点序列〈n0,n1,…,nk〉,节点s=n0,g=nk,〈ni-1,ni〉∈A,即对于每一个i都有从ni-1到ni的弧。有时将路径看做弧的序列很有用,〈n0,n1〉,〈n1,n2〉,…,〈nk-1,nk〉,或者是这些弧的标记序列。
一个环(cycle)是一条起点和终点相同的非空路径,即一个环是一条路径〈n0,n1,n2,…,nk〉,n0=nk且k≠0。一个有向图如果没有任何环就称作有向无环图(directed acyclic graph,DAG)。这可能应该是一个无环的有向图,因为它是有向图但是恰好无环,而不是无环图正好有向,但是有向无环图(DAG)比无环有向图(acyclic directed graph,ADG)听起来更好一些。
树(tree)就是一个有向无环图,其中有一个节点没有入弧,其他每一个节点都正好有一条入弧。没有入弧的节点叫做树的根(root)节点,没有出弧的节点叫叶(leaves)节点。
要将问题编码为图,一个节点集叫做起始节点(start node),另一个节点集叫做目标节点(goal node)。解(solution)就是从起始节点到目标节点的一条路径。
有时会有一个与弧相关的花费(cost),是一个正数,我们将弧〈ni,nj〉的花费记作cost(〈ni,nj〉),弧的花费会引起整个路径的花费。
给定一条路径p=〈n0,n1,n2,…,nk〉,路径p的花费就是路径上弧的花费之和:

cost(p)= cost (〈 n0,n1 〉)+cost(〈n1,n2〉)+…+cost(〈nk-1,nk〉)
AI 代码解读

最优解(optimal solution)是最低花费的解之一。也就是说,如果存在一条从起始节点到目标节点的路径p,而不存在其他从起始节点到目标节点的路径p′使得cost(p′)


<a href=https://yqfile.alicdn.com/95a1520e01d04c61cd0f3a07fadfd3afa8db5d55.png" >

图3-2 带有弧花费的投递机器人域的图【例3-4】 再来看图3-1中描述的投递机器人寻找从位置o103到位置r123的路径问题。在这个图中,感兴趣位置已经标注。为了简化问题,我们只考虑加粗字体指示的位置并且一开始就限定机器人移动的方向。图3-2显示了结果图,在这个图中节点代表位置,弧则表示机器人在位置间的可能做出的每一步移动,且每条弧线上标示出了从一个位置到下一个位置的花费。76
在这个图中,节点集合N={mail,ts,o103,b3,o109,…},弧集合A={〈ts,mail〉,〈o103,ts〉,〈o103,b3〉,〈o103,o109〉,…}。节点o125没有相邻节点,节点ts有一个相邻节点,即mail。节点o103有三个相邻节点,即ts、b3和o109。
这样从o103到r123就有三条路径:
〈o103,o109,o119,o123,r123〉
〈o103,b3,b4,o109,o119,o123,r123〉
〈o103,b3,b1,b2,b4,o109,o119,o123,r123〉
AI 代码解读

如果o103是起始节点,r123是目标节点,那么这三条路径都是图搜索问题的解。
很多问题中搜索图没有明确给出,要根据需要动态架构。所有搜索算法都要求遵循的原则是:从一个节点生成它的邻居(子节点),然后确定它是否是目标节点。
一个节点的前向分支系数(forward branching factor)是指离开该节点的弧(出弧)的数目,而它的后向分支系数(backward branching factor)则是指进入该节点的弧(入弧)的数目。这些系数提供了图的复杂度的测量标准。当我们讨论搜索算法的时间和空间复杂度时,假定分支系数最高值(自上而下)由一个常数来界定。
【例3-5】 在图3-2中,节点o103的前向分支系数是3,即从o103有三条出弧。节点o103的后向分支系数是0,即无入弧指向节点o103。mail前向分支系数为0,后向分支系数为1。节点b3前向分支系数为2,后向分支系数为1。
分支系数很重要,因为它是决定图大小的关键因素。如果每一个节点前向分支系数是b,且是树型图,那么该图中有bn个节点,当前节点离任意节点的弧的段数是n。

相关文章
Agent TARS:一键让AI托管电脑!字节开源PC端多模态AI助手,无缝集成浏览器与系统操作
Agent TARS 是一款开源的多模态AI助手,能够通过视觉解析网页并无缝集成命令行和文件系统,帮助用户高效完成复杂任务。
2654 13
Agent TARS:一键让AI托管电脑!字节开源PC端多模态AI助手,无缝集成浏览器与系统操作
模型即产品:万字详解RL驱动的AI Agent模型如何巨震AI行业范式
未来 AI 智能体的发展方向还得是模型本身,而不是工作流(Work Flow)。像 Manus 这样基于「预先编排好的提示词与工具路径」构成的工作流智能体,短期或许表现不错,但长期必然遇到瓶颈。这种「提示驱动」的方式无法扩展,也无法真正处理那些需要长期规划、多步骤推理的复杂任务。下一代真正的LLM智能体,则是通过「强化学习(RL)与推理(Reasoning)的结合」来实现的。
72 10
模型即产品:万字详解RL驱动的AI Agent模型如何巨震AI行业范式
一个支持阿里云百炼平台DeepSeek R1大模型(智能体)的Wordpress插件,AI Agent or Chatbot.
这是一个将阿里云DeepSeek AI服务集成到WordPress的聊天机器人插件,支持多轮对话、上下文记忆和自定义界面等功能。用户可通过短代码轻松添加到页面,并支持多种配置选项以满足不同需求。项目采用MIT协议授权,代码仓位于GitHub与Gitee。开发者Chi Leung为长期境外工作,代码注释以英文为主。适合需要在WordPress网站中快速部署AI助手的用户使用。
AI Agent:构建以数据为中心的智能体
在过去一年里大模型领域主要有两大领域的热点,一个是 LLM,几乎每月速度革新,大家关心的是效果和成本。另一个是 AI Agent,大家尝试解决各个领域应用问题,大家关心的是场景和竞争力。下面我们重点分享一下 AI Agent 的趋势和实践。
117 13
Manus:或将成为AI Agent领域的标杆
随着人工智能技术的飞速发展,AI Agent(智能体)作为人工智能领域的重要分支,正逐渐从概念走向现实,并在各行各业展现出巨大的应用潜力。在众多AI Agent产品中,Manus以其独特的技术优势和市场表现,有望成为该领域的标杆。作为资深AI工程师,本文将深入探讨Manus的背景知识、主要业务场景、底层原理、功能的优缺点,并尝试使用Java搭建一个属于自己的Manus助手,以期为AI Agent技术的发展和应用提供参考。
11546 19
27.4K Star!这个LLM应用宝库让你秒变AI全栈高手,RAG和AI Agent一网打尽!
想要快速入门LLM应用开发?想要了解最新的RAG和AI Agent技术?这个收获27.4K Star的开源项目集合了当下最热门的LLM应用案例,从简单的PDF对话到复杂的多智能体系统应该有尽有。无论你是AI开发新手还是经验丰富的工程师,这里都能找到适合你的项目!
清华、面壁提出创新AI Agent交互:能主动思考、预测需求
清华大学与面壁智能团队提出了一种创新的AI Agent交互模式,将基于大型语言模型的智能体从被动响应转变为主动协助。通过数据驱动的方法,研究团队开发了能够预测和主动发起任务的智能体,并创建了ProactiveBench数据集。实验结果显示,经过微调的模型在主动性方面取得了66.47%的F1分数,展示了该方法在人机协作中的潜力。论文链接:https://arxiv.org/abs/2410.12361
66 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等