精华内容
下载资源
问答
  • 有信息搜索与无信息搜索

    千次阅读 2019-04-17 13:29:47
    人工智能中的搜索策略大体分为两种:无信息搜索和有信息搜索。无信息搜索是指我们不知道接下来要搜索的状态哪一个更加接近目标的搜索策略,因此也常被成为盲目搜索;而有信息搜索则是用启发函数f(n)来衡量哪一个...

    人工智能中的搜索策略大体分为两种:无信息搜索和有信息搜索。无信息搜索是指我们不知道接下来要搜索的状态哪一个更加接近目标的搜索策略,因此也常被成为盲目搜索;而有信息搜索则是用启发函数f(n)来衡量哪一个状态更加接近目标状态,并优先对该状态进行搜索,因此与无信息搜索相比往往能够更加高效得解决问题。
      要衡量一个搜索策略的好坏,我们需要从四个方面对其进行判断:完备性、时间复杂度、空间复杂度和最优性。因此以下通过这四个方面来比较常见搜索策略之间的优劣。

    无信息搜索策略
    宽度优先搜索(BFS)
      首先扩展根节点,然后扩展根节点的所有后继,接着再扩展它们的后继,从而一层一层的对节点进行扩展。BFS是一个简单的搜索策略,在搜索过程中会对所有状态进行遍历,因此它是完备的;假设搜索树每个节点有b个后继,深度为d,则时间复杂度和空间复杂度均为O(bd);最后考虑最优性,因为我们总会在最浅那一层找到目标状态,因此当且仅当每一步的代价都一致的时候,BFS可以得到最优解。

    一致代价搜索
      在BFS的基础上,一致代价搜索不在扩展深度最浅的节点,而是通过比较路径消耗g(n),并选择当前代价最小的节点进行扩展,因此可以保证无论每一步代价是否一致,都能够找到最优解。

    深度优先搜索(DFS)
      DFS扩展根节点的一个后继,然后扩展它的一个后继,直到到达搜索树的最深层,那里的节点没有后继,于是DFS回溯到上一层,扩展另外一个未被扩展的节点。在有限状态空间中,DFS是完备的,因为它可以把所有空间遍历一遍;而在无限空间中,DFS则有可能会进入深度无限的分支,因此是不完备的。DFS的时间复杂度为为O(bd),而空间复杂度仅为O(d),因为我们只需要保存当前分支的状态,因此空间复杂度远远好于BFS。然而DFS并不能保证找到最优解。

    深度受限搜索
      深度受限搜索设定一个最大深度dmax,当搜索深度大于dmax的时候立即回溯,从而避免了在无穷状态空间中陷入深度无限的分支。

    迭代加深的深度有限搜索
      迭代加深的深度有限搜索也设定一个最大深度dmax,开始我们把dmax设为1,然后进行深度受限搜索,如果么有找到答案,则让dmax加一,并再次进行深度有限搜索,以此类推直到找到目标。这样既可以避免陷入深度无限的分支,同时还可以找到深度最浅的目标解,从而在每一步代价一致的时候找到最优解,再加上其优越的空间复杂度,因此常常作为首选的无信息搜索策略。

    有信息搜索
    贪婪最佳优先搜索
    贪婪最佳优先搜索总是扩展距离目标最近的节点,其启发函数f(n)=h(n)其中:

    f(n)=节点n到目标节点的最小代价路径的估计值

    贪婪最佳优先搜索的最大问题是它往往不能找到最优解。

    A*
    为了找到最优解,A*算法对一个节点的评估结合了h(n)和g(n)从开始节点到节点n的路径代价,即f(n)=g(n)+h(n)

    f(n)=经过节点n的最小代价解的估计代价

    因为A*搜索总是搜索f(n)最小的点,因此它总能找到最优解。

    展开全文
  • 机器智能-高频问题-有信息搜索算法

    千次阅读 2020-03-08 21:49:03
    无信息搜索是只有信息的一些真实的条件,那么有信息搜索就是除了真实的条件还有一些估计的条件,以让我们能够定义评价函数。 简单地将,就是我们现在知道了,目标距离我们大概有多远,注意,是大概!大概!大概!!...

    无信息搜索是只有信息的一些真实的条件,那么有信息搜索就是除了真实的条件还有一些估计的条件,以让我们能够定义评价函数。
    简单地将,就是我们现在知道了,目标距离我们大概有多远,注意,是大概!大概!大概!!估计值是有信息搜索的重点之一,好的估计函数可以大大提高算法的性能。

    最佳优先搜索

    基本思路:通过对每一个节点计算评价函数f(n)值,找到一个f(n)最低的未扩散的节点。和一致代价搜索很像。但是这里的评价函数是估计值,而一致搜索中的代价是计算真实值
    大多数评价函数由启发函数h构成:h(n)节点n到目标节点的最小代价估计值

    贪婪最佳优先搜索

    首先扩展与目标节点估计距离最近的节点。
    和上面的最佳优先搜索有什么区别呢?首先,他们的评价函数都是计算的估计值,而没有真实值的参与,但是,最佳优先搜索计算的是距离当前点最近的点,而贪婪最佳优先搜索计算的是距离目标点最近的点

    a※树搜索

    就是对贪婪的改进,引进了当前节点与下一节点的距离。这个时候,他的评价函数就变成了:

    f(n)=g(n)+h(n):f(n)通过节点n到达目标节点的总评估代价(距离);g(n)到达节点n已花费的代价;h(n)节点n到目标节点的评估代价(距离)
    

    也就是说,评价函数=当前节点与下一节点的实际距离+下一节点与目标节点的估计距离
    很好理解是不是?类似于画了一条从当前点到目标点的折线,从而选择下一个点。
    但这里,有个问题:为什么这样的算法找到的路径会是最优的呢
    首先,这个问题要分为两种情况:

    第一种:路径上的任何一点与目标节点的估计距离小于直线距离,即可采纳性。

    简单地讲,可以理解为“有弯路,且这个弯路在目标点与最后一层点之间
    这样有什么效果呢?这样的话,路径上的任何一个点出来,去找目标点的时候,只能先找到最优路径上的下一个点,而其他的所有的点,计算到目标节点的估计距离,均会比最优路径上的下一个点大。

    证明:假设start为开始节点,G为目标节点,n在最短路径上,G2是局部最优。
    那么只要证明f(G2)>f(n)<证明路径是最优的>和f(G2)>f(G)<没到达G之前,
    G2不会出队>即可。
    

    在这里插入图片描述

    第二种:路径上的任何两点的估计距离小于直线距离,即一致性

    简单地将,就是路径上所有的路都是弯曲的,没有直路
    这种情况下,我们只要找到距离目标点估计距离最小的点,那么必定是最优路径上的点。

    证明:A*根据f值从小到大扩展结点;A*选择扩散结点n时,就已经找到了达到
    结点n的最优路径。如若不是,假设存在另一个边缘结点n’在到达n的最优路径
    上,因为由一致性可得到f(n’)<f(n),所以n’会被优先选择
    

    由此可以看到,在这两种情况下,a※树搜索算法可以得到最优结果。
    一致性是可采纳性的特例,类比于图搜索是树搜索的特例
    当启发式算法只能满足可采纳性而不能满足一致性,那么此时树搜索是最优的,但图搜索不是最优的;若满足一致性,那么搜索结果应该相同。

    展开全文
  • 一、无信息与有信息搜索 无信息搜索又名盲目搜索: •在搜索时,只有问题定义信息可用。 •盲目搜索策略仅利用了问题定义中的信息。 有信息搜索: • 在搜索时,当有策略可以确定一个非目标...



    一、无信息与有信息搜索

    • 无信息搜索又名盲目搜索:

    •在搜索时,只有问题定义信息可用。

    •盲目搜索策略仅利用了问题定义中的信息。


    • 有信息搜索:

    • 在搜索时,当有策略可以确定一个非目标状态比另一种更好的搜索,称为有信息的搜索。



    二、最佳优先搜索

    •思想: 使用一个评估函数 f(n)给每个结点估计他们的希望值。 优先扩展最有希望的未扩展结点。

    •实现: fringe表中根据希望评估值从大到小排序

    •最佳优先搜索策略有:

    • 贪婪最佳优先搜索
    • A* 搜索



    (一)贪婪最佳优先搜索

    •评估函数: f(n) = h(n) (heuristic,启发函数) = 估计从结点n到目标的代价

     例如:hSLD(n) = 从结点 n 到 Bucharest的 直线距离

    •贪婪最佳优先搜索优先扩展看上去更接近目标的结点(启发式函数评估出来的)



    • 完备性? No – 可能陷于死循环当中

    • 比如, Iasi  Neamt  Iasi  Neamt 

    时间? O(bm), 但一个好的启发式函数能带来巨大改善

    • 空间? O(bm)

    • 最优性? No


    (二)A* 搜索

    • 思想: 避免扩展代价已经很高的结点。

    • 评估函数 f(n) = g(n) + h(n)• g(n) = 到达结点n已经发生的实际代价

    •  h(n) = 从结点n到目标的代价估计值
    • f(n) =评估函数,估计从初始结点出发,经过结点n,到目标的路径代价的估计


    1.可采纳的启发式函数

    • 如果启发式函数h(n)对于任意的结点n都满足 h(n) ≤ h*(n),这里 h*(n)是指从结点n到达目标的真正代价,则称h(n)是可采纳的。

    • 定理: 如果h(n)是可采纳的,则 A* 树搜索算法是具有最优性。


    • 完备性? Yes

    • 时间? 指数级

    • 空间? 将所有产生的结点存储在内存中

    • 最优性? Yes


    (三)A*的改进方法

    存储受限制的启发式搜索: 

    思想:迭代加深的A*算法,用一个f-cost代替有限制的深度优先中的d作为截断值,进行剪枝。


    递归最佳优先搜索(RBFS)

    • 尝试模拟标准的最佳优先搜索而只需线性空间。

    1. 记录当前节点的祖先可得到的最佳可替换路径的f值。

    2. 如果当前的f值超过了这个限制,则递归将转回到替换路径。

    3. 向上回溯改变f值到它的孩子的最佳f 值

    4. 重复扩展这个上个节点,因为仍有可能存在较优解。


    (简单)存储限制的A*

    • 当内存满了的时候删除最坏的节点




    展开全文
  • Informed Search 有信息搜索 有信息搜索亦被称为启发式搜索。这类策略采用超出问题本身定义的、问题特有的知识,因此能够找到比无信息搜索更有效的解。 ① Evaluation function 评价函数,记作f(n),用于选择一个...

    Informed Search 有信息搜索

    1. 有信息搜索亦被称为启发式搜索。这类策略采用超出问题本身定义的、问题特有的知识,因此能够找到比无信息搜索更有效的解。
      ① Evaluation function 评价函数,记作f(n),用于选择一个节点进行扩展。
      ② Heuristic function 启发式函数,记作h(n),作为 f 的一个组成成分。

    2. Best-first Search (最佳优先搜索)

    Search Strategy (搜索策略):一个节点被选择进行扩展是基于一个评价函数,f(n)。
    大多数的最佳优先算法还包含一个启发式函数,h(n)。
    Implementation(实现方法):队列,按路径代价排序,最低优先。
    然而,最佳优先搜索使用f(n)代替g(n)来整理优先队列。
    Heuristic function (启发式函数):h(n) = 从节点 n 到目标状态的最低路径估计代价。
    Special cases (特例):贪婪搜索、A*搜索。

    3.Greedy Search (贪婪搜索)

    Search Strategy:试图扩展最接近目标的节点。
    Evaluation function : f(n) = h(n)
    它仅使用启发式函数对节点进行评价。
    h(n) – 从 n 到最接近目标的估计代价。

    1
    2
    3

    特性:
    特性

    4. A*Search (A星搜索)

    Search Strategy:避免扩展代价高的路径,使总的估计求解代价最小化。
    Evaluation function : f(n) = g(n) + h(n)
    g(n) – 到达该节点的代价
    h(n) – 从该节点到目标的估计代价

    Theorem:A* search is optimal !(最优)

    01
    02
    03

    5. Iterative Deepening A* Search (迭代加深A*搜索)

    它是迭代加深深度优先搜索的变种。从A*搜索算法借鉴了这一思想,即使用启发式函数来评价到达目标的剩余代价。
    因为它是一种深度优先搜索算法,内存使用率低于A*算法。但是,不同于标准的迭代加深搜索,它集中于探索最有希望的节点,因此不会去搜索树任何处的同样深度。

    Comparing Iterative Deepening Search (对比):
    迭代加深深度优先搜索:使用搜索深度作为每次迭代的截止值。
    迭代加深A*搜索:使用信息更丰富的评价函数,即 f(n) = g(n) + h(n) 。

    Heuristics for 8*puzzle (8数码难题的启发式):
    8-puzzle
    搜索代价

    展开全文
  • 深度优先,广度优先,等代价,迭代加深,有信息搜索,A*算法,贪婪算法
  • 2)介绍贪婪最佳优先搜索和A*搜索 3)可采纳性,一致性,准确性,松弛问题。以及如何设计可采纳的启发函数。 前言 我认为自己不能再简单的罗列一些知识点,虽然有用,但是不好理解,而且对我来说还能做得更好,...
  • 那么搜索引擎和信息检索之间又什么关联呢?今天,小编网为大家带来的是搜索引擎和信息检索的关系。希望对您有所帮助。一、什么是搜索引擎优化?搜索引擎优化,英文SEO,全称Search Engine Optimization。...
  • 百度搜索和百度信息什么区别? 用户在选择推广方式的时候,总是不知道百度搜索推广好,还是百度信息流广告适合自己,下面我们介绍下百度搜索推广和百度信息流广告的区别。 微信公众号:广告推广渠道 百度竞价是...
  • 【技巧】我是如何 "搜索" 到想要的信息

    万次阅读 多人点赞 2019-08-29 17:34:35
    信息搜索 一提到搜索,很多人都笑了笑, 这什么好说的呀。实际上在“搜索”方面要说的东西很多。不知道大家听说过Google hacking语法没有。 接触过CTF的人肯定不陌生,Google Hacking语法是黑客利用Google 提供...
  • Linux 搜索日志信息

    千次阅读 2018-06-06 11:32:00
    Linux 搜索日志信息 在工作中我们经常要通过日志来查找问题,但时候日志太多又不知道日志什么时候打印的,这时我们可以通过一下方法来查找: 1、进入到日志文件存放的目录下 2、grep 关键字 * 例如...
  • 搜索引擎是个爬虫,爬各种站点的内容然后将页面存入数据库,所以才检索服务。有时可以利用搜索引擎可以搜索到目标系统的历史数据信息搜索引擎的 hacking,可以是文档,后台,软件版本信息、硬件服务器或者未公开...
  • 了解4种无信息搜索策略和2种有信息搜索策略的算法思想; 能够运用计算机语言实现搜索算法; 应用搜索算法解决实际问题(如罗马尼亚问题); 学会对算法性能的分析和比较 实验的硬件、软件平台: 硬件:计算机 软件:...
  • 有信息搜索算法:A*搜索。 一、需求分析 分别用深度优先搜索、迭代加深的深度优先搜索、广度优先搜索以及代价一致搜索得到从Arad到Bucharest的一条路径,即为罗马尼亚问题的一个解,然后输出每个解的单源路径,并...
  • 1 选择关键词 2 使用精准搜索 3 学会使用以下的高级搜索语句 ...把搜索范围限定在网页标题中 <br /> ...把搜索范围限定在特定的站...注意,冒号前后不能空格
  • 信息收集之Github搜索语法

    千次阅读 2019-09-03 23:20:30
    在渗透测试的信息收集阶段,可以去Github和码云上搜索与目标有关的信息,或者就意想不到的收获。(有些开发人员将代码上传到代码库的时候,可能连一些重要的配置信息也上传了) Github的搜素语法: in:name ...
  • GoogleHacking:利用搜索引擎(例如Goog、baidu)针对的搜索信息进行网络入侵的技术和行为。搜索引擎对于搜索的关键字提供了多中语法,构造出特殊的关键字,GoogleHacking技术能够快速全面的让攻击者挖掘到价值...
  • 搜索引擎是什么? 是指根据一定的策略,运用特定的...搜索器:是在互联网中漫游,发现和搜索信息 索引器:理解索引器搜索信息,从中抽取索引表,生成文档库。 检索器:是根据用户的查询在索引库中快速检出文档...
  • 人工智能-搜索----启发式搜索

    千次阅读 2019-08-19 18:39:34
    一、启发式搜索(有信息搜索)(Heuristic Search) 代表算法:贪婪最佳优先搜索(Greedy best-first search)、A*搜索 启发式搜索需要有: 1、辅助信息,也就是与求解问题相关的额外信息,就跟...
  •   搜索是人工智能里面研究的一个核心问题,像强化学习其本质我也是理解为一种搜索算法,不过其用了一些值函数近似的方法,并做了进一步改良,使其功能...  启发式搜索(Heuristically Search)又称为有信息搜索(I...
  • GOOGLE外贸买家信息搜索技巧

    千次阅读 2017-02-17 12:30:49
    对于做外贸来说,用搜索引擎来搜索买家资料是很重要的工作,二其中也是很多的技巧,以下介绍google搜索的小技巧:  1》很多国家的买家都用一些公共邮箱系统,如印度的rediff.com  那这时我们就可以连同”@“标志...
  • 搜索引擎基本构成哪些

    千次阅读 2019-10-12 20:19:26
    由于Web信息的大容量、分布性和动态性,搜索器主要两个方面的工作重点:第一是采用较好的搜索策略;第二是设计高性能系统结构以支持每秒下载大量网页,同时确保系统具有较好的稳定性,能够应付各种服务器的突发...
  • 摘要 本文讨论的是人工智能里面的局部搜索策略,本文会讲明白: ...在之前章节中讨论的无信息搜索和有信息搜索都是在可观察、确定的、已知的环境之下的搜索。 本章将不受这些环境性质的约束。讨论局部搜...
  • 这里基本上最主要的内容是数学+信息学,基本上是我这几年的工作。因此基本上以理论知识为主,当然也会一些实用的例子,如果您问“如何提高网站的排名?”或者“如何提高被搜索到的次数?”,抱歉,这些问题不在我...
  • 这样搜索的结果就是会很多无关的信息,跟本原因是文本信息关键字所表达的信息太少了,所以我想能不能不通过文本信息而是使用图片进行搜索,图片所包含的信息比文本多,更容易更直观.要实现这样的搜索引擎关键技术我想...
  • 如果提供的信息不够多,比如搜索词是常用的关键词,诸如“中国”、“经济”之类的,那么会好多相关的结果,用户可能还是无从选择。  这时正确的做法是挖掘新的隐含信息,比如网页本身的质量信息。如果这些信息...
  • 铁路共享信息搜索引擎的设计

    千次阅读 2007-04-23 13:07:00
    文章编号:1000-1506(2 00 3)02-0 033-0 5铁路共享信息搜索引擎的设计鲁 威,黄厚宽(北方交通大学计算机与信息技术学院,北京100 04 4)摘 要:讨论了搜索引擎的基本组成模块,以及各模块的作用和相互关系.并根据铁路信息...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,734
精华内容 11,893
关键字:

有信息搜索