搜索技术

   www.gaoxiao88.net

问题求解过程是 搜索答案(目标) 的过程,所以问题求解技术也叫做搜索技术——通过对 状态空间 的搜索而求解问题的技术。

问题可形式化地定义成四个组成部分

在解题过程中 达到过的所有状态 的集合。不同于状态空间,搜索空间是其中一部分。状态空间和搜索空间都属于 过程性知识表示

八数码问题详解

两种搜索技术

无信息搜索策略也称 盲目搜索 :没有任何附加信息,只有生成后继和区分目标和非目标状态。
五种盲目搜索策略有:广度优先搜索,代价一直搜索,深度优先搜索,深度有限搜索,迭代深入深度优先搜索。

从四种度量来评价广度优先搜索

性能:通常使用递归函数实现,一次对当前节点的子节点调用该函数。相比广度优先,内存需求少(分支因子 * 最大深度+1)。但 不是完备的也不是最优的 *。

深度优先搜索的无边界问题可以通过提供一个 预先设定的深度限制I 来解决。深度=I的节点当作无后继节点看待;虽然解决了无边界问题,但 有可能无解 如果选择I>d则深度优先原则也不是最优解

每次改变限制深度 ,多次调用深度有限搜索,当 搜索到达最浅的目标节点深度 时就可以发现目标节点,称为迭代深入深度优先搜索。这种搜索结合了广度优先和深度优先两种搜索方式的优势。 解决了深度优先的完备性问题 。空间需求是(b * d),时间需求是(b d )。当搜索空间很大且深度未知时,迭代深入深度优先搜索 是首选的无信息搜索方式

迭代深入搜索中因为多次重复搜索上层节点,使部分状态反复生成,看起来很浪费内存空间和时间。但是因为 在分支因子比较均衡的搜索树 中, 多数节点都是叶子节点 *(叶子节点数远大于上层节点总和),所以上层节点多次生成的影响并不大,与广度优先相比,效率还是很高。

用于目标状态已知,求解过程的问题。通常通过 广度优先搜索 实现。从 起始节点和目标状态两个方向 开始扩展,当 两个OPEN表出现交集 时表明搜索到了一条从起始到结果的一条路径。 缺点 :算法编写难。但一旦实现,效率要远高于其他盲目搜索。

评价函数 :f ( n ) = h ( n ) ;评价函数等于启发函数
解释:贪婪最佳优先搜索中 无条件选择 当前离目标最近(代价最小)的结点进行扩展。但是 局部最佳不是全局最佳,即非最优。 其中h( n )称为 启发函数 ,是从节点n到目标节点的最低代价的 估计值

评价函数 :f ( n ) = g ( n ) + h ( n );评价函数等于启发函数加路径耗散函数
解释:

另,对于有向图的搜索还可以采用图搜索方式。详情: 图搜索和树搜索详解

称启发函数是可采纳的,如果h( n ) 满足 h( n ) ≤ h * ( n ) ,其中 h * ( n )是从当前节点 n到达目标的最低真实代价 ,即h( n )的估值永远小于真实耗散值;因为f ( n ) = g ( n ) + h ( n ),且g(n)为已知常数,所以 f(n)永远不会高估经过结点n的解的实际代价 ,所以是最优解。

如果采用 A* 图搜索算法,则不一定返回最优解 。因为如果最优路径不是第一个生成的,可能因为有重复状态而被丢弃了。见上个链接: 图搜索和树搜索详解

如果对于每个结点n,以及n的行为a产生的后继结点n'满足如下公式: h ( n ) ≤ c ( n, n', a) + h( n ') (c ( n, n', a)可以理解为g(n')),则称这个h ( n )启发函数是一致的。

A* 搜索由初始结点出发开始搜索,以同心带状增长f(n)耗散值的方式扩展结点。如果h(n)= 0 意味着只按g(n)值排序,即同心带为“圆形”。使用启发函数则同心带向目标节点拉伸(椭圆越来越扁)。

如果C*是最优路径的耗散值,则:

A* 搜索的关键就是 设计可采纳的或一致的(单调的)启发函数

绝不高估 到达目标的耗散值,尽可能的接近真实耗散值

子问题的解耗散是完整问题的 耗散下界

从实例中学习,每个实例包含了解路径上各状态及其到达解的耗散值。每个最优解实例提供了可学习h(n)的实例,由此产生可预测其他状态解消耗的启发函数。

联机搜索智能体需要行动和感知,然后扩展当前状态的环境地图

智能体初始位置在S,其已知信息为:

A* 搜索在不同子空间结点的跳跃式扩展, 模拟而非实际行动 ;联机搜索只扩展实际占据的结点——采用深度优先。 联机搜索必须维护一个回溯表

博弈搜索是智能体之间的对抗,每个智能体的目的是冲突的。本节需要解决两个问题:如何搜索到取胜的 路径 /如何提高搜索 效率 。相应的办法是 极大极小决策和α-β剪枝

两个智能体博弈时,可令一方为MAX,一方为MIN。MAX希望终局得分高,MIN希望终局得分低。

博弈搜索中,最优解是导致取胜的终止状态的一系列招数。MAX制定取胜策略时,必须不断考虑MIN应对条件下如何取胜。

如果博弈双方 都按照最优策略 进行,则一个结点的 极大极小值就是对应状态的效用值

简单的递归算法——按照定义计算每个后继结点的极大极小值/搜索是从目标到初始结点的 反向推导

如果博弈树最大深度为m,每个节点的合法招数为b,则

剪掉那些不可能影响最后决策的分支,返回和极大极小值相同的结果。
α-β剪枝可以应用树的任何深度。

如果在结点n的父节点或更上层有一个更好的选择m,则在搜索中永远不会到达n。

很大程度上取决于检查后继节点的次序—— 应先检查那些可能更好的后继 。如果能先检查那些最好的后继,则 时间复杂度为O(b (d/2) ) 。优于极大极小算法的O(b d )

许多问题中 路径是无关紧要的 。从当前状态出发,通常 只移动到相邻状态 ,且路径不保留。

内存消耗少,通常是一个常数。

向目标函数值增加的方向持续移动,直到相邻状态没有比它更高的值。 取到一个局部最优则终止
使新状态估计值优于当前状态值和其他所有候补结点值,则取新状态放弃其他状态。

爬山法 (停留在局部最优)和 随机行走 (下山)以某种方式结合,同时拥有 完备性和效率
技巧是,概率足够大可以弹出局部最优;但概率不能太大而弹出全局最优。

按照模拟退火的思想, T随时间逐渐减小 。如果 T下降的足够慢 ,则找到全局最优解是 完备的

随机移动,如果评价值改善则采纳; 否则以小于一的概率接受

k个随机生成的状态开始 ,每步生成k个结点的所有后继状态。如果其中之一是目标状态则停止算法;否则从全部后继状态中选择最佳的k个状态继续搜索。
有用的信息 在k个并行的 搜索线程之间传递 ,算法会很快放弃没有成果的搜索,而把资源放在取得最大进展的搜索上。

局部剪枝搜索的变种。因为局部剪枝搜索搜索是贪婪的,因而用随机剪枝搜索代替。不是选择最好的k个后代,而是按照一定概率选取k个后继状态。

类似于自然界的选择过程。状态对应个体,其 值对应适应性 ,后代就是状态。因此如果k个状态缺乏多样性,则局部搜索会受影响。

局部剪枝算法已有 群体进化 (优胜劣汰)的趋势。遗传算法是随机剪枝的变种。

包括选择,交叉和变异

又称繁殖,按照一定的概率选择两对个体生成后继状态

计算每个个体i被选中的概率: pi = f(i) / [f(1)+...+f(n)] .然后根据概率将圆盘分为n个扇形,每个扇形大小为 2Πpi

繁殖过程中,后代是父串在杂交点上进行杂交得来的。这样一来,后代子串保留了父串的优良特性又与父串不同。

首先以概率p随机在种群中选择pa和pb两个个体,再从{1,2,...,m}中(可以按一定概率,如两边概率小于中间概率)选择一个数i,作为交叉点。而后将两个个体的交叉点后面的部分交换。

在新生成的后继状态中各个位置都会按照一个 独立的很小的概率 随机变异。
变异时要做到 一致变异 ;即相同概率地变异所有个体的每一位。

结合了“上山”和随机行走,并在并行搜索线程之间交换信息。遗传算法的 最大优点在于杂交 。因为杂交可以 将独立发展的若干个砖块组合起来 ,提高搜索的粒度。

个体编码某些位置上数字仍未确定的一个状态子串。

如果 一个模式的实例的平均适应值超过均值 ,则种群内这个模式的实例数量会随时间而增长(优胜);反之则减少(劣汰)

长度较短,高于平均适应度的模式在遗传算子的作用下, 相互结合 ,能生成长度较长、适应度较高的 模式

Constraint Satisfying Problem,CSP。

由一个 变量集合{X1~Xn} 和一个 约束集合{C1~Cn} ;每个变量都有一个 非空可能的值域Di 。每个约束指定了 若干变量的一个子集内各变量的赋值范围

CSP的一个状态是,对一些或每个变量赋值

一组既是 相容赋值 又是 完全赋值 的对变量的赋值就是CSP的解。

提前考虑某些约束,以减少搜索空间

若X被赋值,检查与X相连的Y,判断是否满足约束,去掉Y中不满足约束的赋值。(进行某种检验,可以不为有问题的Y集合赋值 )



相关参考:

计算机检索技术有哪些
计算机信息检索可以概括为两个部分:信息存储和信息检索。计算机信息检索与信息的构造、分析、组织、存储和传播有关。计算机信息检索系统是信息检索所用的硬件资源、系统软件和检索软件的总合。它能存储大量的信息,并对信息条目(有特定逻辑含义的基本信息单位)进行分类、编目或编制索引。它可以根据用户要求从...

舰船专家马伟明研发出第二代阻拦索,其究竟有何先进之处?
阻拦索虽然外表就是根不起眼的“绳子”,但它是航空母舰上的重要部件,一定要能承担住舰载飞机巨大的冲击力,也就是说,它是在航空母舰上用来阻止飞机起飞的一种有力的工具。这种新一代电磁阻拦索技术,也就是大家所说的二代“阻拦索”,它能够在4秒内稳定停住80吨重的舰载机...

搜索引擎技术的索引技术
索引技术是搜索引擎的核心技术之一。搜索引擎要对所收集到的信息进行整理、分类、索引以产生索引库,而中文搜索引擎的核心是分词技术。分词技术是利用一定的规则和词库,切分出一个句子中的词,为自动索引做好准备。索引多采用Non—clustered方法,该技术和语言文字的理解有很大的关系,具体有如下几点:(1)...

索引g技术是什么意思?
索引g技术是一种利用机器学习算法构建搜索引擎的方法。它使用在大数据集中发现信息关系的技术,提高搜索结果的准确性和精度。这种技术需要的是大量的数据集,通过对数据进行分析,制定合适的搜索策略,进而提高搜索结果的相关性和相关度。索引g技术可广泛应用于各种类型的搜索引擎中,如网络搜索引擎和电子商务搜...

什么是全文索引 全文检索技术
全文检索技术,就是以数据诸如文字,声音,图像等为主要内容,以检索文献资料的内容而不是外表特征的一种检索技术·主要全文检索系统有TRS系统·天宇系统·等 与其他搜索引擎相比,全文搜索引擎的显著特点是它能够以文中任何一个有检索意义的词作为检索入口,而且取得的检索结果是原始文献,而不是文献线索·...

为什么航母上的拦阻索技术那么难以突破
这个过程拦阻索对飞机的拉力逐步增大,到最后接近停止的时候又要迅速降低。要实现这个过程不是你想象的那么简单。如果你以恒定的拉力的话,飞机一勾住拦阻索所产生的巨大冲击力会使飞机直接散架!而在飞机停下的时候会把飞机往回拽。这里面有很多问题要解决。

bitwise索引技术的定义
位图索引。位图索引技术是一类特殊的数据库索引技术,其索引使用bit数组进行存储与计算操作。索引是为了加快查找速度而设计的一种数据结构,索引技术是组织大型数据库以及磁盘文件的一种重要技术。

阻拦索是巨力制造的吗
巨力集团之所以能够成功攻克拦阻索技术,其中一个关键因素是他们的技术团队具备了杰出的创新能力。他们重新审视了拦阻索的设计和制造过程,采纳了一系列新的材料和工艺,使拦阻索更加耐久、精准。此外,他们还改进了捕获和制动机构,以确保飞机的安全起降。阻拦索的特点介绍 1、高效性 阻拦索装置可以使飞机在...

数据库索引的技术原理
例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。

检索的定义和传统工具
检索是一种汉语词汇,指从用户特定的信息需求出发,对特定的信息集合采用一定的方法、技术手段,根据一定的线索与规则从中找出相关信息。索引卡片传统文献检索经常使用到的工具是索引卡片,即将文献资料的信息记录在索引卡片上。索引卡片上一般会记载文献的题名、作者、主题词、摘要等信息。 抢首赞 评论 分享 举报 ...

相关评论

  • 臧彬1519: 搜索技术 - 搜狗百科
    15636126607: 索引技术是搜索引擎的核心技术之一.搜索引擎要对所收集到的信息进行整理、分类、索引以产生索引库,而中文搜索引擎的核心是分词技术.分词技术是利用一定的规则和词库,切分出一个句子中的词,为自动索引做好准备.索62616964757...

  • 臧彬1519: 搜索引擎技术核心技术
    15636126607: 搜索引擎起源于传统的信息全文检索理论.它包括3个主要过程: 1)搜集Web信息:发现、搜集Web上的网页信息.需要有高性能的搜集器自动的在Web中搜索 信息....

  • 臧彬1519: 搜索需要什么技术像百度,GOOGLE这样的搜索网站,它们用的是什
    15636126607: 用的是一种叫网络蜘蛛的技术 更多的资料你可以去搜索一下"网络蜘蛛" 网络蜘蛛即Web Spider,是一个很形象的名字.把互联网比喻成一个蜘蛛网,那么Spider就是在...

  • 臧彬1519: 搜索引擎技术 - 请介绍一下网络搜索引擎技术什么是网络搜索引擎技术?怎么定义?
    15636126607: 你好:关于网络搜索引擎技术,怎么定义: 搜索引擎是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务...

  • 臧彬1519: seo技术是什么? -
    15636126607: SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”.

  • 相关话题

    ap在线精英在线最新简短笑话,好笑的段子,搞笑句子,男女朋友校园冷笑话,搞笑歌词对白台词,夫妻搞笑对话,手机流行笑话,逗人笑的动物经典笑话,最新幽默搞笑图文,好笑的视频分享给朋友
    若有事情,请联系电邮
    © <搞笑吧