图的几类问题分析及搜索引擎的两种基本抓取策略

人工智能–搜索问题

有3个传教士和3个野人来到河边准备渡河,河岸有一条船,每次最多可坐2个人。问传教士为安全起见,应如何规划摆渡方案,使得在任何时刻,在河两岸以及船上传教士人数不能少于野人人数?
在每一次渡河后,都会有几种渡河方案供选择,究竟哪种方案最有利? 这就是搜索问题。

  • 分析:
  1. 适用情况:难以获得求解所需的全部信息;更没有现成的算法可供求解使用。
  2. 概念: 依靠经验,利用已有知识,根据问题的实际情况,不断寻找可利用知识,从而构造一条代价最小的推理路线,使问题得以解决的过程称为搜索

对这类问题,一般我们都转换为状态空间的搜索问题。
如传教士和野人问题,可用在河左岸的传教士人数、野人人数和船的情况来表示。即,初始时状态为(3,3,1),结束状态为(0,0,0),而中间状态可表示为(2,2,0)、(3,2,1)等等。

这类问题的解,就是一个合法状态的序列,其中序列中第一个状态是问题的初始状态,而最后一个状态则是问题的结束状态。
在这里插入图片描述

数码难题

  • 在一个3×3的方框内放有8个编号的小方块,紧邻空位的小方块可以移入到空位上,通过平移小方块可将某一布局变换为另一布局。请给出从初始状态到目标状态移动小方块的操作序列。
    在这里插入图片描述

搜索引擎的两种基本抓取策略

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

深度优先

在这里插入图片描述

广度优先

在这里插入图片描述
两种策略结合=先广后深 +权重优先

  • 先把这个页面所有的链接都抓取一次
    再根据这些URL的权重来判定
    URL的权重高,就采用深度优先,
    URL权重低,就采用宽度优先或者不抓取
    在这里插入图片描述

怎样避免重复访问?

  • 解决思路:设置辅助数组 visited [n ],用来标记每个被访问过的顶点。
  1. 初始状态为0
  2. i 被访问,改 visited [i]为1,防止被多次访问

猜你喜欢

转载自blog.csdn.net/younow22/article/details/112058353