人工智能-搜索技术

简介: 人工智能-搜索技术

简介


搜索是人工智能中的一个基本问题,并与推理密切相关。搜索策略的优劣,将直接影响到智能系统的性能与推理效率。

 

什么是搜索


根据问题的实际情况不断寻找可利用的知识,构造出一条代价较少的推理路线,使问题得到圆满解决的过程称为搜索

包括两个方面:

找到从初始事实到问题最终答案的一条推理路径

找到的这条路径在时间和空间上复杂度最小

 

搜索的分类


按是否使用启发信息

(1)盲目搜索(Uninformed search)

盲目搜索按预定的控制策略进行搜索,搜索过程中获得的中间信息不用来改变搜索策略。搜索总是按预定的路线进行,不考虑问题本身的特性,这种搜索有盲目性,效率不高,不利于求解复杂问题。

 

(2)启发式搜索(Heuristic search, Informed search)

启发式搜索中利用问题领域相关的信息作为启发信息,用来指导搜索朝着最有希望的方向前进,提高搜索效率并力图找到最优解。

       启发式搜索需要利用问题领域相关的信息帮助搜索,但并不是对每一类问题都容易抽取出启发信息,所以在很多情况下仍然需要盲目搜索。

 

适用情况

不良结构或非结构化问题;难以获得求解所需的全部信息;更没有现成的算法可供求解使用。

 

问题的形式化表示

       搜索时首先要将问题进行形式化表示,常用的形式化表示方法有状态空间法、与或树(问题归约法)表示法等

     

 

搜索策略常用评价指标:


①完备性(Completeness)

如果问题有解,算法就能找到,称此搜索方法是完备的。

②最优性(Optimality)

如果解存在,总能找到最优解。

③时间复杂度(Time Complexity)

空间复杂度(Space Complexity)

 

问题的状态空间表示


1.状态(state)

事物是运动、变化的,为描述问题的运动、变化,定义一组变量描述问题的变化特征和属性。

2.形式化表示:

(s1,s2,..si,…,sn)

当对每一个分量都给以确定的值时,就得到了一个具体的状态。

 

2.操作符(Operator)

也称为算符,它是把问题从一种状态变换为另一种状态的手段。

操作可以是一个机械步骤,一个运算,一条规则或一个过程。

操作可理解为状态集合上的一个函数,它描述了状态之间的关系。

 

3.状态空间(State space)

  • 用来描述一个问题的全部状态以及这些状态之间的相互关系。常用一个三元组表示为:

            (S, F, G)    其中:

  • S为问题的所有初始状态的集合;
  • F为操作(函数、规则等)的集合;
  • G为目标状态的集合。
  • (3,3,1)è(0,0,0)

 

4.状态空间的有向图表示:

  • 结点(节点):节点表示问题的状态
  • 弧(有向边):标记操作符;可能的路径代价。

5.状态空间法求解问题的基本过程:

首先为问题选择适当的“状态”及“操作”的形式化描述方法;

然后从某个初始状态出发,每次使用一个满足前提条件的“操作”,且此操作产生了新的状态,递增地建立起操作序列,直到达到目标状态为止;

此时,由初始状态到目标状态所使用的算符(操作符)序列就是该问题的一个解。

 

状态空间搜索的基本思想


先把问题的初始状态作为当前扩展节点对其进行扩展,生成一组子节点,然后检查问题的目标状态是否出现在这些子节点中。若出现,则搜索成功,找到了问题的解;若没出现,则再按照某种搜索策略从已生成的子节点中选择一个节点作为当前扩展节点。重复上述过程,直到目标状态出现在子节点中或者没有可供操作的节点为止。所谓对一个节点进行“扩展”是指对该节点用某个可用操作进行作用,生成该节点的一组子节点。


基本概念


  • 1.扩展(Expanding)节点
  • 对某一节点(状态),选择合适的操作符作用在节点上,使产生后继状态(子节点)的操作。
  • 类似数据结构中的寻找邻接点,但这里的邻接点是选择操作后产生的。
  • 2. Open和Closed表
  • 这两个表用来存放节点,Open表存放未扩展节点,Closed表存放已扩展节点和待扩展结点。两个表的结构可以相同,大致如下表:
  • 可根据需要扩展表的结构,比如加入代价字段等。
  • 在数据结构中,常用数组visited[ ]标记结点是否已经访问。

 

 

  • 图搜索(graph search)一般过程:
  1. 建立一个只含初始状态节点S的搜索图G,建立一个OPEN表,用来存放未扩展节点,将S放入OPEN表中;
  2. 建立一个CLOSED表,用来存放已扩展和待扩展节点,初始为空;
  3. LOOP:若OPEN为空,则失败、退出;
  4. 选择OPEN表中的第一个节点,将其移到CLOSED表中,称此节点为n节点;
  5. 若n为目标节点,则成功、退出;

       扩展n节点,生成n的后继节点集合M=M1+M2+M3,其中n的后继结点分为3种情况。设M1表示图G中新结点(最新生成的);M2在图G中已经存在,处于OPEN表中;M3在图G中已经存在,且已经在CLOSED表中:

(1)对M1型结点,加入到图G中,并放入OPEN表中,设置一个指向父节点n的指针;(DS中的未访问邻接点)

(2)对M2型结点,已经在OPEN中,确定是否需要修改父节点指针;(DS中已访问邻接点,但这个顶点的邻接点未搜索)

(3)对M3型结点,已经在CLOSED表中,确定是否修改其父结点指针;是否修改其后裔节点的指针;(DS中已访问邻接点,且这个顶点的邻接点都已经搜索过)

 

启发性信息和估价函数


  • 1.启发信息
  •   关于问题领域的,用来帮助搜索的信息。
  • 2.启发信息按用途分类

1)    用于决定下一个要扩展的节点

  总是选择最有希望产生目标的节点(邻接点)优先扩展,即OPEN表按此希望值排序。这类启发信息使用最为广泛。

2)    用于决定产生哪些子节点

  扩展一个节点时,有选择的生成子节点(选择访问邻接点),有些明显无用或没有优势的子节点不让其产生出来。

3)    用于决定从搜索图中修剪或抛弃哪些节点

  减小待搜索空间。

  搜索图中,不访问这些顶点,或直接删除掉这些顶点。

 

 

A算法描述:


  (1)把初始节点S放入Open表中,f(S)=g(S)+h(S);

  (2)如果Open表为空,则问题无解 ,失败退出;

  (3)把Open表的第一个节点取出放入Closed表,并记该节点为n;

  (4)考察节点n是否为目标节点。若是,则找到了问题的解,成功退出;

  (5)若节点n不可扩展,则转第(2)步;

  (6)扩展节点n,生成其子节点ni(i=1, 2, …),计算每一个子节点的估价值f(ni)(i=1, 2, …),并为每一个子节点设置指向父节点的指针,然后将这些子节点放入Open表中;

  (7)根据各节点的估价函数值,对Open表中的全部节点按从小到大的顺序重新进行排序;

  (8)转第(2)步。

目录
相关文章
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能技术的探讨
人工智能的概念,人工智能的发展,人工智能的各种学派,人工智能的应用领域
412 4
|
10月前
|
人工智能 语音技术
推动人工智能技术和产业变革,啥是核心驱动力?生成式人工智能认证(GAI认证)揭秘答案
人工智能(AI)正以前所未有的速度重塑世界,其发展离不开领军人才与创新生态的支持。文章探讨了AI领军人才的核心特质及培养路径,强调构建产学研深度融合的创新生态,并通过教育变革与GAI认证提升全民AI素养,为技术与产业变革提供持续动力。这不仅是推动社会高质量发展的关键,也为个人与企业带来了更多机遇。
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能的价值回归:重塑技术、社会与个体的发展轨迹
生成式人工智能(Generative AI)正以前所未有的速度重塑社会面貌。它从单一决策工具转变为创造性生产力引擎,推动知识生产、艺术创作与科学研究的发展。同时,其广泛应用引发社会生产力和生产关系的深刻变革,带来就业结构变化与社会公平挑战。此外,生成式AI还面临伦理法律问题,如透明性、责任归属及知识产权等。培生公司推出的生成式AI认证项目,旨在培养专业人才,促进技术与人文融合,助力技术可持续发展。总体而言,生成式AI正从工具属性向赋能属性升华,成为推动社会进步的新引擎。
|
10月前
|
人工智能 自然语言处理 API
MCP与A2A协议比较:人工智能系统互联与协作的技术基础架构
本文深入解析了人工智能领域的两项关键基础设施协议:模型上下文协议(MCP)与代理对代理协议(A2A)。MCP由Anthropic开发,专注于标准化AI模型与外部工具和数据源的连接,降低系统集成复杂度;A2A由Google发布,旨在实现不同AI代理间的跨平台协作。两者虽有相似之处,但在设计目标与应用场景上互为补充。文章通过具体示例分析了两种协议的技术差异及适用场景,并探讨了其在企业工作流自动化、医疗信息系统和软件工程中的应用。最后,文章强调了整合MCP与A2A构建协同AI系统架构的重要性,为未来AI技术生态系统的演进提供了方向。
1505 62
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与机器学习:探索未来的技术边界
【10月更文挑战第18天】 在这篇文章中,我们将深入探讨人工智能(AI)和机器学习(ML)的基础知识、应用领域以及未来趋势。通过对比分析,我们将揭示这些技术如何改变我们的生活和工作方式,并预测它们在未来可能带来的影响。文章旨在为读者提供一个全面而深入的理解,帮助他们更好地把握这一领域的发展趋势。
|
11月前
|
人工智能 算法 搜索推荐
人工智能技术对未来就业的影响
人工智能大模型技术正在重塑全球就业市场,但其核心是"增强"而非"取代"人类工作。虽然AI在数据处理、模式识别等标准化任务上表现出色,但在创造力、情感交互和复杂决策等人类专属领域仍存在明显局限。各行业呈现差异化转型:IT领域人机协同编程成为常态,金融业基础分析岗位减少但复合型人才需求激增,医疗行业AI辅助诊断普及但治疗决策仍依赖医生,制造业工人转向技术管理,创意产业中人类聚焦高端设计。未来就业市场将形成人机协作新生态,要求个人培养创造力、情商等AI难以替代的核心能力,企业重构工作流程。AI时代将推动人类向更高价值的认知活动跃升,实现人机优势互补的协同发展。
1257 2
|
机器学习/深度学习 人工智能 自然语言处理
深入理解人工智能中的深度学习技术及其最新进展
深入理解人工智能中的深度学习技术及其最新进展
1564 33
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与未来医疗:AI技术在疾病诊断中的应用前景####
本文探讨了人工智能(AI)在现代医疗领域,尤其是疾病诊断方面的应用潜力和前景。随着技术的不断进步,AI正逐渐改变传统医疗模式,提高诊断的准确性和效率。通过分析当前的技术趋势、具体案例以及面临的挑战,本文旨在为读者提供一个全面的视角,理解AI如何塑造未来医疗的面貌。 ####
|
机器学习/深度学习 人工智能 算法
人工智能平台年度技术趋势
阿里云智能集团研究员林伟在年度技术趋势演讲中,分享了AI平台的五大方面进展。首先,他介绍了大规模语言模型(LLM)训练中的挑战与解决方案,包括高效故障诊断和快速恢复机制。其次,探讨了AI应用和服务的普及化,强调通过优化调度降低成本,使AI真正惠及大众。第三,提出了GreenAI理念,旨在提高AI工程效率,减少能源消耗。第四,讨论了企业级能力,确保数据和模型的安全性,并推出硬件到软件的全面安全方案。最后,介绍了整合多项核心技术的Pai Prime框架,展示了阿里云在自主可控AI核心框架下的整体布局和发展方向。
|
机器学习/深度学习 人工智能 自然语言处理
深入理解人工智能中的深度学习技术及其最新进展
深入理解人工智能中的深度学习技术及其最新进展
650 14

热门文章

最新文章