近似算法

近似算法
近似算法

近似算法

12.1 简介

到目前为止,我们已经学习了很多可以在多项式时间内高效解决的问题,我们可以很快速的解决这些问题。然而,在下面几讲,我们将考虑一些不知道如何高效解决的问题。

12.1.1 NP-完全性问题

在学习这些问题的时候,我们会遇到这个概念NP-完全性。NP-完全性问题是由很多组合和最优化问题组成,这些问题都有两个共同点:

z没有很高效的算法;然而,我们可以在指数时间内解决这些问题。

z有高效的缩影存在于所有其他的NP-完全性问题中;因此,如果我们有一个黑盒,它能解决其中的一个问题,那么我们就能够高效的解决所有的问题。

下面就列举了一些NP-完全性问题的例子。除了SAT的每一个问题都可以被阐明为最优化问题,尽管严格来说,它取决于每一个问题的NP-完全性。另一方面讲,存在一个与SAT相关的最优化问题,称为MAXSAT。在这个问题中,我们给出一个布尔公式,我们必须找到一些变量的赋值来最大化的满足子句。

可满足性问题(SAT):给定一个布尔公式,是否存在一个变量的赋值使得它满足此公式(即使公式的值为真)?

装箱问题:给定一些箱子和物品,这些物品有着特定的大小,这些箱子有着一定的容积,求出能容纳这些物品的所需的最小箱子数。

最大独立子集问题:给定一个图,找出节点的最大子集,使得在这个子集中没有两个节点是相互连接的。

背包问题:给定一个能容纳一定大小的背包和一些物品,这些物品有着特定的大小和价值,求出此背包能容纳的最大价值量。

并行机器调度问题:给定一组相同的机器和一组任务,这些任务都有特定的所需时间,求如何分配任务给这些机器,使得所有的机器完成分配给它们的任务所需的时间最小。

旅行商问题:找出一个最短路径使得旅行商从一个城市出发,最后又回到该城市,并且要求每一个城市只能经过一次。

所有的这些问题不能依赖于这个假定P≠NP高效的解决。尽管这个推测还没有被证明,但是我们可以相信它是正确的,所以我们可以简单的假定P≠NP。

12.1.2 解决NP-完全性问题

如果我们不知道如何高效的解决NP-完全性问题,那我们应该怎么做呢?

启发式:一种可能性就是放弃寻求多项式算法,取而代之的是集中开发启发式的算法,它在实践中接近于多项式的时间复杂度。但是一般来说,很难找到低于指数级的算法,达到这样的目标是有分歧的(关于P和NP问题是否相同)。

一般情况分析:与其分析这些算法的最坏情况下的性能,我们不如分析某一类特定输入

下的算法行为。这取决于某些特定输入实例的分布情况。但是,使用不同的分布又会有很大的差别。

近似算法:我们试图找到多项式时间的近似算法,它们被证明是近似正确的。

12.2 最优化问题

在我们讨论近似算法之前,我们必须为最优化问题定义一些术语。

定义1 一个最优化问题有一组问题实例(problem instances)。

定义2 每一个实例I 都有一个解集。

()S I 定义3 最大/最小化问题就是找到一个解()s S I ∈,能达到最大/最小化的目标值()f s 。我们假定f 的输入和输出都是整数(由多项式级的位数组成)。

定义4 实例I 得到的最优解值()f s ,用表示。

()OPT I 12.1.1给出的每一个最优化问题的例子都符合这个最优化的结构。例如,最大独立子集

问题。每一个问题实例都是一个图;图的解集都是由节点的所有子集组成,在每个子集中,没有两个顶点是互相连接的。解的值就是在这个子集中的节点的个数。

尽管我们喜欢把这些最优化问题归于NP-完全性问题,但是这个术语经常为决策(判定

问题)问题所保留。所以,我们用NP-难这个概念来代替。

定义5 如果一些其他的NP-难问题能够在多项式的时间内解决,那这样的最优化问题称为NP-hard 。

一般情况下,NP-hard 问题对应于决策问题,它的最优解至少(或至多)是某个值

的问题。

()OPT I K

12.3 绝对近似算法

定义 6 近似算法就是在多项式时间内的算法,当给定一个实例I 时,返回解空间中的一个解。

()S I s 例如:在装箱问题中,一种可能的近似算法就是简单的把每一个物品放入一个箱子里。

但是这样做质量不高。为了提高质量,我们考虑绝对近似算法。

定义7 给定一个实例I ,一个α-绝对近似算法就是找到一个解值至多是()OPT I α+。

我们需要指出的是这个定义只有针对最小化问题行得通,一个最大化问题的α-绝对近

似算法将返回的解值至少是()OPT I α?。我们注意到当我们设计一个绝对近似算法的时候,我们希望α值越小越好。

12.3.1 图着色算法

考虑这样一个平面图的着色问题,在这个问题中,我们给定一个平面图,我们必须找出

一个顶点的着色方式,使得没有两个相邻的顶点着同样的颜色。就像下面的定理所陈述的那样,这个问题就有一个绝对近似算法。

定理1 平面图着色问题都存在一个2-绝对近似算法。

证明:根据5色定理,每一个平面图都可以用5种颜色满足条件。更进一步,空图(即没有边的图)可以用一种颜色,二分图可以用2种颜色满足条件,然而所有其他的图都需要至少3种颜色。这种观察,可以让我们得出下面的一种算法:

1. 如果这个图是空图或者二分图,可以用最优的方式着色。

2. 其他情况下,用5种颜色着色。

因为这个算法只需要5种颜色,最优情况下,颜色的数量是3种,那么它就是2-绝对

近似算法。

我们可以再考虑边着色的问题。不像平面图着色那样,边着色问题所需的颜色数量没有

固定的上界,因为的最优值的下界是由顶点的最大度数 决定的。不过,我们有下面的定理:

()OPT I

定理2 任一个图的边着色至多使用 +1种颜色。

因为这个定理证明是具有建设性的,它能为我们提供一种算法:能找到比最优情况下至

多用一种颜色的方法给边着色。

推论1 边着色问题存在一个1-绝对近似算法。

12.3.2 通过缩放证明负面的例子

尽管这些着色问题都存在绝对近似算法,但是大部分的NP-难问题都不存在。事实上,

对于这些问题的大部分,我们可以证明,绝对近似算法是不存在的,除非P 等同于NP 。这个证明使用一种称为scaling(缩放)。在缩放中,我们首先增加实例的某些参数值,然后我们就可以看出,如果一个绝对近似算法存在的话,它能够为一个修改过的实例得到解,那么这个解再回缩就能够为原来的实例产生一个最优的算法。但是这就暗示着NP-难问题存在一种高效的算法,那么P 就等同于NP 。

下面的两个例子就证明了这种scaling 技术。

引理 1 背包问题不存在绝对近似算法。

证明:

考虑一个背包问题的实例I ,每一个物品i 都有其价值i p ,我们假定有一个α-绝对近似

算法A 。如果我们把每一个物品的价值增大到2i p 来形成一个新的实例2I ,那么产生的最优算法就是原来最优算法的2倍,因为原来物品的设置能产生而现在产生的价值为2。如果我们在实例(2)OPT I ()OPT I ()OPT I ()OPT I 2I 上运行这个绝对近似算法A ,那么我们就能得到一个解法至少是ε(2)2()OPT I OPT I αα?=?。最后,我们可以用2除,那

么我们就能得到原来实例的一个解()/2OPT I α?,因此,我们可以提高α的值为/2α。

一般来说,缩放原实例I ,缩放因子为,然后再用除解值,那么我们就把r r α降低为

/r α。因此,如果我们选择为r ??α2,那么我们就把α降低为α/??α2≤1/2,那就意味着对实例I 的解的值至少是s ()1/2OPT I ?。假定实例I 的大小和价值是整型,能达到的最优解也是整型,所以一定等于。因此, 我们解决背包问题的整型实例有高效的算法,那么就与我们的假定P≠NP 相矛盾。

()OPT I s ()OPT I

引理 2 最大独立子集也不存在绝对近似算法。

证明:

假定我们有个α-绝对近似算法A 。如果我们修改实例I (通过复制该图),新实例称为

2I ,2I 中的最优独立子集的元素个数是I 中的2倍。因此,等于,那么意味着在实例(2)OPT I 2(OPT I )2I 上运行算法A 产生的独立子集的大小至少是(2)2()OPT I OPT I αα?=?。为了转换这个解来适合原来的实例I ,我们必须记住2I 中独立子集的顶点个数。其中一个图必须包含至少一半的这些顶点,因此,那么这个图的独立子集的大小至少是(2())/2()/2OPT I OPT I αα?=?,意味着我们减小α为/2α。为了使结论一般化,如果做??α2个的图的副本,我们能够利用算法A 来找到I 实例的独立子集的大小至少为。但是这个必须等于,因为顶点的个数是整型。那么,我们就有解决最大独立子集的高效算法,那么就与之相矛盾。

()1/2OPT I ?()OPT I

12.4 相对近似算法

因为绝对近似算法存在于太少的优化问题当中,所以我们有一种更好的近似算法就是相

对近似算法。因为它们应用如此普遍,我们简单的把它们称为近似算法。

定义8 一个α-近似算法就是能找到一个解值最多是*(OPT I )α。

需要指出,虽然α的值能随着输入的大小而改变,那我们只考虑常量的情况。为了阐

明α-近似算法的设计与分析,让我们考虑并行机器调度问题,负载平衡的普遍形式。

并行机器调度:给定台机器和个作业,每个作业的处理时间是m i m n j p ,给每个机器分配作业,使得负载 (所有机器完成分配的作业所需的时间)最小。在调度符号中,

∑∈i

j j p max

这个问题可以被描述为。

max ||P C 解决这个问题的最自然的方法就是利用贪心算法,称为list scheduling(列表调度)。

定义9 一个列表调度算法就是分配作业给机器,分配每一个作业给具有最小负载的机器。

需要指出,处理作业的顺序并没有指定。为了分析列表调度的性能,我们必须将每一个

实例I 的解(称这个解为()A I )与最优解相比较。但是我们并不知道如何得到的分析表达式。然而,如果我们能找到的下界,并能证明对于某个()OPT I ()OPT I ()OPT I ()LB I α,有()()A I LB I α≤i ,那么我们就能得到

()()A I LB I α≤i

()OPT I α≤i

利用的下界的方法,我们现在就可以得出列表调度的性能。

()OPT I 引理3 列表调度是为并行机器调度提出的一个2-近似算法。

证明:

考虑下面的最优负载的两个下界

()OPT I z 最大的处理时间max j j p p =

z 平均负载是=。

L ∑j j m p /最大处理时间p 很明显是一个下界,该机器完成所分配给它的任务所需要的时间至少

是p 。平均负载也是一个下界,需要指出,如果所有的机器都能在少于的时间内完成它的任务,那么最大负载就小于平均值,这个是相互矛盾的。现在假定机器有最大的运行时间,作业L i m max C j 是分配给该机器的最后一个作业。当分配该作业j 时,必须有最小的负载量(),因为列表调度会分配每个作业给具有最低负载的机器。因此,≤average load when i m i L i L j assigned≤final average load ,因为平均负载只能增加。把L j 分配给,至多增加i L i L p ,那就意味着

max j C L ≤+p OPT I ≤L

L p ≤+

2()( and p Are lower bounds for )

()OPT I

解返回最大值,因此列表调度是并行机器调度的一个2-近似算法。

max C 我们也许通过修改列表调度,使任务按照处理时间的降序排列,那我们有可能得到4/3-

近似算法。更进一步,需要指出,列表调度是一个在线算法,更新的在线算法能够达到1.8。

12.5 多项式近似方案

一个很明显的问题就是我们能达到的α最好是多少?

定义10 一个多项式方案(PAS)是一个算法{A ε}的集合,其中每一个A ε都是多项式时间的1+ε-近似算法。

因此,给定任何一个ε>0,PAS 就能找到一个算法使其达到1+ε-近似。那么我们如何

设计PAS 呢?最通用的方法就是用-列举法。

K 定义11 使用k -enumeration (-列举法)的近似算法能够为这个问题的个最重要的元素找到最优解,然后用近似多项式时间的方法来解决其余的问题。

K k 例如,用-列举法来解并行机器调度问题,如下:

k 1. 为个最大的作业找出所有的分配方案。

k 2. 列表调度其余的作业。

3. 返回具有最小负载的分配方案。

需要指出,为个最大作业找出所有的分配方案时,

这个算法总能为这些作业找到最优的分配方案。下面的例子就证明了这个算法能够为我们提供PAS 。

k 引理4 对于任一个固定的,k -列举法能够为并行机器调度产生一个多项式近似方案。

、 m 证明:

就像在引理3中证明的那样,让我们考虑机器,最大运行时间是,i m max C j 是分配给的最后一个作业。如果这个作业不属于个最大的作业,那它应采用列表调度,在这个时候,至少有最大的作业已经分配完毕。因此,当作业i

m k j 被分配的时候,平均负载()至少是,那就意味着

assigned L */j k p m j P ≤k mLassigned ≤k mL

因为是max C j p 和在j 之前的上已经分配的作业的总和(Claim3中已经证明了,至多

是),则我们有

i m L max j C L ≤+p

(1m L k

≤+ (1()m OPT I k

≤+ 给定一个ε>0,如果我们让等于k /m ε,则 max (1)()C OPT I ε≤+

如果j 属于k 个最大的作业,那么这个条件也是成立的。在这种情况下,j 是最优分配。

因此才等于。最后,为了决定算法的运行时间,需要指出,因为每一个最大的作业都可以分配给m 台机器中的任何一个,则有max C ()OPT I k /k m m m ε=可能的分配方式。因为列

表调度每一次分配作业需要的时间,所以总的运行时间为()O n /(m O nm )ε,它是一个多项

式的时间,因为是固定的。因此,如果给定m ε>0,那么算法是1+ε-近似,因此我们有一个多项式近似方案。

很明显,我们想执行一个近似算法,其中不是固定的。为了达到这个目标,我们第

一步,让我们考虑并行机器调度,其中问题中只有(类型)大小的作业,k 约定是一个常量。在这种情况下,有可能利用动态规划的方法找到一个多项式时间的解决方案。需要指出,每一个作业集合都可以用“轮廓”来描述,即每一个种类型作业的数量,并且可能的”轮廓”的数量至多是,输入的个数是多项式。动态规划来计算这个函数m k k n 12(,...,)k M a a a ,在某个固定的时间T ,最少数量的机器需要完成个类型为i 的作业。用i a X 来表示一个机器在

时间T 内完成的作业个数,并且用X 来初始化表中的项,剩下的项用下列公式来计算 121122(,...,1min (,,...,)k k )k M a a a M a x a x a x =+???,,...,)k 12(x x x X ∈,

因此,来完成一个轮廓 所需要的最小数目的机器可以这样来得到,通过不停的去除

掉所有可能的单个机器轮廓,并查看完成剩余的所需要的最小数目的机器。最后,为了得

到完成所有的作业所需要的最优时间,动态规划可以用来在时间T 内完成二分查找的

“子程序”。

y y

定积分的近似计算

数学实验报告 实验序号:4 日期:2012 年12 月13 日 实验名称定积分的近似计算 问题背景描述: 利用牛顿—莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原函数能用初等函数表达出来的情形.如果这点办不到或者不容易办到,这就有必要考虑近似计算的方法.在定积分的很多应用问题中,被积函数甚至没有解析表达式,可能只是一条实验记录曲线,或者是一组离散的采样值,这时只能应用近似方法去计算相应的定积分. 实验目的: 本实验将主要研究定积分的三种近似计算算法:矩形法、梯形法、抛物线法。对于定积分的近似数值计算,Matlab有专门函数可用。

实验原理与数学模型: 1.矩形法 根据定积分的定义,每一个积分和都可以看作是定积分的一个近似值,即 在几何意义上,这是用一系列小矩形面积近似小曲边梯形的结果,所以把这个近似计算方法称为矩形法.不过,只有当积分区间被分割得很细时,矩形法才有一定的精确度. 针对不同的取法,计算结果会有不同。 (1)左点法:对等分区间 , 在区间上取左端点,即取。 (2)右点法:同(1)中划分区间,在区间上取右端点,即取。 (3)中点法:同(1)中划分区间,在区间上取中点,即取。2.梯形法 等分区间 , 相应函数值为().

曲线上相应的点为() 将曲线的每一段弧用过点,的弦(线性函数)来代替,这使得每个 上的曲边梯形成为真正的梯形,其面积为 ,. 于是各个小梯形面积之和就是曲边梯形面积的近似值, , 即, 称此式为梯形公式。 3.抛物线法 将积分区间作等分,分点依次为 ,, 对应函数值为 (), 曲线上相应点为 (). 现把区间上的曲线段用通过三点,,的抛物线

计算机推理算法

贝叶斯网络推理算法综述 贝叶斯网络是一种有效的不确定性知识表达和推理工具,概率推理是其重要研究内容之一。经过二 十年的发展,贝叶斯网络已经有一些比较有效的精确和近似推理算法。对迄今为止的贝叶斯网络推理算法研究进行综述,从复杂度、适用性、精度等方面对它们进行比较分析,指出每种算法的关键环节,为实际应用中算法选择和研究提供参考。 0 引言 贝叶斯网络(Bayesian network) [ 1 ] 是由Pearl 于1986 年提出的一种不确定知识表示模型,它以坚实的理论基础、 自然的表达方式、灵活的推理能力和方便的决策机制,成为 人工智能、专家系统、模式识别、数据挖掘和软件测试等领 域的研究热点。 具有N 个节点的贝叶斯网络可用B N N= n V , E m , P >表示,其中: 是一个具有N 个节点的有向无环 图( directed acyclic grap h ,DA G ) ,节点V i ∈V 是部件状态、 观测值、人员操作等的抽象, 有向边( V i , V j ) ∈E 表示节点 V i 与V j 之间存在直接影响或因果关系,V i 称为V j 的父节 点,V j 称为V i 的子节点。P 表示与每个节点相关的条件 概率分布( conditional probability distribution , CPD) , 它表 达了节点与其父节点的关联关系。根据网络的连通特性, 可将贝叶斯网络分为单连通网络和多连通网络。单连通网 络是指任意两个节点之间最多有一条有向路径的贝叶斯网 络;多连通网络是指存在两个节点之间有不止一条有向路 径的贝叶斯网络。 贝叶斯网络推理是指利用贝叶斯网络的结构及其条件 概率表,在给定证据后计算某些节点取值的概率。概率推 理(probabilistic inference) 和最大验后概率解释( MAP ex2 planation) 是贝叶斯网络推理的两个基本任务。Cooper 证 明了贝叶斯网络推理是NP2困难问题 [ 2 ] ,但是针对特定类 型的贝叶斯网络,近年来研究人员在精确的和近似的推理 算法研究中取得了很大进展。下文从关键环节、复杂性、适 用性、精度等方面对目前贝叶斯网络推理算法及其发展状 况进行综述。 1 精确推理算法 1. 1 消息传递算法 消息传递算法,是Pearl 为解决单连通网络的推理问题于1986年提出的。算法主要思想是给每个节点分配一个处机每个处理机利用相邻节点传递来的消息和存储于该处理机内部的条件概率进行计算,求得自身的后验概率,并将计算结果向相邻节点传播。消息传递算法计算简单,复杂度正比于证据传播过程中经历的路径长度,但只适用于单连通网络。对多连通网络,由于消息可能在环路中循环传递而不能进入稳态,无法 推理。 1. 2 条件算法 条件算法是Pearl 于1986 年提出,算法基本思想是通过实例化一些条件节点,使多连通网络结构满足单连通 特性,然后消息传递算法进行计算,最后对所有实例化计算结果求数学期望,得到后验概率。1992 年,Diez对条件算法进行了改进,提出局部条件算法,当网络中有些节点通过与或门连接时,该算法非常有效。Shachter等随后提出的

近似算法

近似算法 12.1 简介 到目前为止,我们已经学习了很多可以在多项式时间内高效解决的问题,我们可以很快速的解决这些问题。然而,在下面几讲,我们将考虑一些不知道如何高效解决的问题。 12.1.1 NP-完全性问题 在学习这些问题的时候,我们会遇到这个概念NP-完全性。NP-完全性问题是由很多组合和最优化问题组成,这些问题都有两个共同点: z没有很高效的算法;然而,我们可以在指数时间内解决这些问题。 z有高效的缩影存在于所有其他的NP-完全性问题中;因此,如果我们有一个黑盒,它能解决其中的一个问题,那么我们就能够高效的解决所有的问题。 下面就列举了一些NP-完全性问题的例子。除了SAT的每一个问题都可以被阐明为最优化问题,尽管严格来说,它取决于每一个问题的NP-完全性。另一方面讲,存在一个与SAT相关的最优化问题,称为MAXSAT。在这个问题中,我们给出一个布尔公式,我们必须找到一些变量的赋值来最大化的满足子句。 可满足性问题(SAT):给定一个布尔公式,是否存在一个变量的赋值使得它满足此公式(即使公式的值为真)? 装箱问题:给定一些箱子和物品,这些物品有着特定的大小,这些箱子有着一定的容积,求出能容纳这些物品的所需的最小箱子数。 最大独立子集问题:给定一个图,找出节点的最大子集,使得在这个子集中没有两个节点是相互连接的。 背包问题:给定一个能容纳一定大小的背包和一些物品,这些物品有着特定的大小和价值,求出此背包能容纳的最大价值量。 并行机器调度问题:给定一组相同的机器和一组任务,这些任务都有特定的所需时间,求如何分配任务给这些机器,使得所有的机器完成分配给它们的任务所需的时间最小。 旅行商问题:找出一个最短路径使得旅行商从一个城市出发,最后又回到该城市,并且要求每一个城市只能经过一次。 所有的这些问题不能依赖于这个假定P≠NP高效的解决。尽管这个推测还没有被证明,但是我们可以相信它是正确的,所以我们可以简单的假定P≠NP。 12.1.2 解决NP-完全性问题 如果我们不知道如何高效的解决NP-完全性问题,那我们应该怎么做呢? 启发式:一种可能性就是放弃寻求多项式算法,取而代之的是集中开发启发式的算法,它在实践中接近于多项式的时间复杂度。但是一般来说,很难找到低于指数级的算法,达到这样的目标是有分歧的(关于P和NP问题是否相同)。

一个基于概念语义近似度的Web服务匹配算法

一个基于概念语义近似度的Web 服务匹配算法 邱 田1,2,李鹏飞1,2,林品1,2 (1.中国科学院软件研究所,北京100190;2.中国科学院研究生院,北京100190) 摘 要: :随着web 服务的迅速发展和广泛应用,高效的服务发现逐渐成为一个关键问题.目前的web 服务发现标准UDDI(Universal Description,Discovery,and Integration),存在不支持语义推理的局限性,而且无法根据服务的能力和属性进行搜索,限制了服务发现的效能.针对这个问题可以采用在服务发现中引入OWL S 的方法.本文提出了一个基于概念语义近似度的web 服务语义匹配算法,通过对服务的不同属性进行语义匹配计算,从而提高服务发现的查准率和查全率.算法基于一个关键的语义近似度度量函数,用以计算本体实体概念的语义近似度值.测试算法的实验结果显示了算法的有效性. 关键词: web 服务发现;UDDI;OWL S;语义匹配算法;近似度度量函数中图分类号: TP393 文献标识码: A 文章编号: 0372 2112(2009)02 0429 04 A Web Service Match ing Algorithm Based on Semantic Similarity of Concepts QIU Tian 1,2,LI Peng fei 1,2,LI N Pin 1,2 (1.Institute o f So ftware,Chine se Academy o f Sc ienc es,Be ijing 100190,China ;2.Graduate U ni versity o f Chinese Ac ademy o f Scie nce s ,Be ijing 100190,China) Abstract: Web service discovery has been a key problem with the development of web services.The current service discov ery standard,UDDI,has the limi tation of lack of semantic inference support,and the mechanism which cannot search bas ed on ser vice capabilities and properties leads to a limited performance.The problem can be addressed by adopting OWL S in web s ervice discovery.In this paper a matching algorithm for s ervice discovery is proposed based on semantic similarity of concepts,aiming at enhancing both recall and precision of web service search.The algorithm is based on a key function of semantic similarity measure that produces numeric similarity degree of ontology entity concepts.Experimental results are presented to show the effectiveness of the algorithm. Key words: web service discovery;UDDI;web ontolo gy language for services(OWL S);semantic matching algorithm;si m ilarity measure function 1 引言 Web 服务为web 平台的整合与互操作问题提供了解决方案.目前的web 服务发现机制建立在统一描述、 发现和集成(Universal De scription,Discove ry,and Integra tion,UDDI)[1] 的标准之上.UDDI 是基于可扩展置标语言(EXtensible Ma rkup Langua ge,X ML)[2]的web 注册机制,而UDDI 对于服务搜索请求是通过关键字和分类信息来处理的.虽然UDDI 作为一个web 服务基础架构标准已被广泛接受,但在作为服务发现机制方面仍存在缺陷.首先,X ML 数据不包含语义信息,因而不是机器可理解的.句法不同的请求关键字可能在语义上是等同的.因此UDDI 基于句法的搜索导致了较低的查全率(recall),这是UDDI 性能受限制的一个方面.其次,根据关键字 和分类信息的搜索并不适合web 服务发现,因为某个特定的关键字可能出现在完全不相关的服务描述中.另 外,UDDI 的关键字匹配过程并不提供对服务能力(capa bility)或其它属性的支持,这也使UDDI 搜索的查准率(precision)受到限制. 针对UDDI 存在的局限性,本文采用了OWL S(Web Ontology Langua ge for Service s)[3].OWL S 是基于Web 本体语言(Web Ontology Langua ge,OWL)[4]的用以描述web 服务的高层本体语言.OWL S 为服务描述定义了一套完整的用以描述服务的语义概念,提供了一个搜索服务的语义途径,能在查全率和查准率两个方面提高服务搜索的性能.而且,OWL S 根据服务能力和其他属性进行推理和语义匹配,因而这种途径能够产生比基于关键字的搜索方法更准确的结果. 收稿日期:2008 02 09;修回日期:2008 06 18 基金项目:国家863高技术研究发展计划(No.2006AA701416);中国科学院支撑技术项目(No.61501030) 第2期2009年2月电 子 学 报ACTA ELECTRO NICA SINICA Vol.37 No.2 Feb. 2009

解物理题时的近似处理

解物理题时的近似处理 (近似法) 在处理物理问题时,往往突出实际问题的主要方面,忽略某些次要因素,进行近似处理的手段简化求解过程。近似法是研究物理的基本思想方法之一。善于对实际问题进行合理的近似处理,是从事创造性研究的重要能力之一。纵观近几年的高考和竞赛试题,越来越注重这种能力的考查。 今天我们就来看看这种近似法在实际解题中的应用。 下面我们先来看一道这种类型的题: 体验一:猎犬追兔 如图所示,一只兔子以不变的速度1v 沿着直线AB 逃跑,一只猎犬以不变的速率2v 追击,其运动方向始终对准兔子,某时刻兔子在F 处,猎犬在D 处,FD ⊥AB ,且FD =L ,求猎犬的加速度大小。 体验思路: 猎犬的运动方向始终对准兔子且速度大小不变,故猎犬做匀速率曲线运动,根据向 心加速度2 2v a r = ,r 为猎犬所在处的曲率半径,因为r 不断变化,故猎犬的加速 度的大小、方向都在不断变化,题目要求猎犬在D 处的加速度大小,由于2v 大小不变,如果求出D 点的曲率半径,此时猎犬的加速度大小也就求得了。 体验过程: 猎犬做匀速率曲线运动,其加速 度的大小和方向都在不断改变。在所求时刻开始的一段很短的时间t ?内,猎犬运动的轨迹可近似看做是一段圆弧,设其半径

为R ,则加速度2 2v a R = 的方向与速度垂直,如右图所示。在t ?时间内,设兔子 和猎犬分别到达F ′和D ′,猎犬的速度方向转过的角度为 2/v t R α=? 而兔子跑过的距离是:1v t L α?≈ 因而2121//,/v t R v t L R Lv v ?=?= 所以猎犬的加速度大小为: 2 212/v a v v L R = = 经过体验一,相信同学们已经对近似法有所体会了,下面为了进一步掌握,我们再看一道题: 体验二:船的速率多大? 如图所示,岸高为h ,人用绳经滑轮拉船靠岸,若当绳与水平方向为a 时,收绳速率为v ,则该位置船的速率为多大? 体验思路: 要求船在该位置的速率即为瞬时速率,需从该时刻起取一小段时间求它的平均速 率,当这一小段时间趋于0时,该平均速率就为所求速率。 体验过程: 该船在a 角位置时,经t ?时间向 左行驶x ?距离,滑轮右侧的绳长 缩短L ?,如右图所示,当绳与水平方向的角度变化很小时, A B C ?可近似看做是一个直角三角形,因而有: cos L x α?=?

近似算法的特点与计算方法、分类及概率算法的计算过程与应用

近似算法和概率算法的特点与计算方法、分类及概率算法的计算过程 与应用 一.近似算法 1近似算法的计算方法 设D是一个最优化问题,A是一个算法,若把A用于D的任何一个实例I,都能在|I|的多项式时间内得到I的可行解,则称算法A为问题D的一个近似算法,其中|I|表示实例I的规模或输入长度,进而,设实例I的最优值为OP(I),而算法A所得到实例I的可行解之值为A(I),则称算法A解实例I的性能比为R A(I)的性能比为R A(D),同时称D有R A—近似解.其中 A ( I) OP(I) ,若D为最小化问题. R A ( I) = OP(I) ,若D为最大化问题. A ( I) R A(D)=inf{r≥|R A(I)≤r,I∈D} 2近似算法的特点 (1)解同一个问题的近似算法可能有多个 (2)算法的时间复杂性:近似算法的时间复杂性必须是多项式阶的,这是设计近似算法的基本目标。 (3)解的近似程度:近似最优解的近似程度也是设计近似算法的重要目标。近似程度可能与近似算法本身、问题规模,乃至不同的输入实例都有关。 3近似算法的分类 (1)基于线性规划的近似算法 (2)基于动态规划的近似算法 (3)绝对近似类 (4)相对近似类 (5)P TAS类和FPTAS类 (6)随机近似算法 二.概率算法 1概率算法的计算方法 概率算法允许算法在执行的过程中随机选择下一个计算步骤。许多情况下,当算法在执行过程中面临一个选择时,随机性选择常比最优选择省时。

2概率算法的特点 (1)不可再现性。概率算法的一个特点是对所求解问题的同一实例用同一概率算法求解两次可能得到完全不同的效果。 (2)分析困难。要求有概率论、统计学和数论的知识。 3概率算法的分类 (1)数值概率算法。数值概率算法常用于数值问题的求解。这类算法所得到的往往是近似解。而且近似解的精度随计算时间的增加不断提高。在许多情况下,要计算出问题的精确解是不可能或没有必要的,因此用数值概率算法可得到相当满意的解。 (2)蒙特卡罗(Monte Carlo)算法。蒙特卡罗算法用于求问题的准确解。对于许多问题来说,近似解毫无意义。例如,一个判定问题其解为“是”或“否”,二者必居其一,不存在任何近似解答。又如,我们要求一个整数的因子时所给出的解答必须是准确的,一个整数的近似因子没有任何意义。用蒙特卡罗算法能求得问题的一个解,但这个解未必是正确的。求得正确解的概率依赖于算法所用的时间。算法所用的时间越多,得到正确解的概率就越高。蒙特卡罗算法的主要缺点就在于此。一般情况下,无法有效判断得到的解是否肯定正确。Monte Carlo 算法偶然会犯错,但它无论对何实例均能以高概率找到正确解。当算法出错时,没有警告信息。偏真偏假的概念只在Monte Carlo 算法里出现。 Def1:设p 是一个实数,且1/2

基于近似消息传递的结构化信号处理算法及应用研究

基于近似消息传递的结构化信号处理算法及应用研究 大数据时代的到来为高阶高维信号采集和处理带来了大量新的需求和挑战。解决这些需求的一个有希望的研究方向是,通过利用数据间的稀疏或低秩表达以及其他结构化约束,许多高阶高维数据集可以在不丢失数据显著特征的同时,极大地减少其内在维数。进而针对不同的信号处理问题,在使用经典技术推理不可行的条件下,仍能进行可靠的理论推断和算法推导。长时间以来,大部分的研究工作利用了数据集所固有存在的简洁数据表达(即稀疏和低秩),力求使用少量“重要”元素来表示数据。 尽管这在一定程度上具有优异的表现,却忽略了数据集中可能存在的更为精细(也可能更为复杂)的重要结构或约束。本论文基于贝叶斯的近似消息传递(Approximate Message Passing,AMP)理论,分别针对仿射秩最小化(Affine Rank Minimization,ARM)以及张量 CANDECOMP/PARAFAC(CP)分解这两类典型问题,研究广义的求解算法,以及如何将具体问题模型中多样的结构化约束有效地纳入到广义算法求解中,从而获得更为优越的性能提升。另外,针对使用经典AMP方法求解困难的某些结构化信号处理问题,提出基于Turbo AMP算法框架的模块化AMP 算法进行有效地求解。本文主要创新点包括三个部分:1.通过将经典Turbo AMP 框架一般化,提出了广义的Turbo AMP算法框架,基于该框架提出了分别针对同时低秩和联合稀疏(simultaneously Low-rank and joint-Sparse,L & S )压缩感知问题和基于并行矩阵分解(Parallel Matrix Factorization,PMF)的张量完成(Tensor Completion,TC)问题的模块化AMP算法,分析了相应的算法复杂度,并分别应用于压缩超频谱成像和地质数据插值问题。 2.推导并提出了基于AMP的广义仿射秩最小化算法ARM-AMP,并分析了算法的计算复杂度。该算法的推导思路是通过利用因子图对仿射秩最小化问题中的线性仿射变换和双线性矩阵分解两部分进行统一表达,并通过引入"Onsager"修正对基于该因子图的置信传播迭代进行AMP近似。然后,以L&S压缩感知问题和压缩鲁棒主成分分析问题为例,通过实例化广义ARM-AMP算法分别对其进行求解,并分别应用于实际压缩超频谱成像和压缩视频监控。 3.推导并提出了基于AMP 的广义张量CP分解算法CP-AMP,并分析算法复杂度。 该算法的推导思路是通过利用因子图对基于CP的概率分解模型进行精确表

高一年级物理必修二第六章三大定律的近似处理

高一年级物理必修二第六章第一单元 第二节行星运动定律的近似处理 编写者吴居海使用者使用时间第7周 一. 教学目标 1. 知道太阳系八大行星的运行图。 2. 学习开普勒三大定律,能用三大定律解决问题。 3. 了解人类对行星的认识过程是漫长复杂的,真是来之不易的。 二. 教学重点 1. 掌握开普勒的行星运动的三大定律 2. 了解人类认识自然界的漫长过程,学习科学家们的不畏艰难,勇于探索的精神 3. 掌握开普勒三定律的近似处理方法。并能用三大定律解决一些抽象的问题。 三.教学难点 掌握开普勒的行星运动的定律近似处理方法 2. 应用开普勒定律解决实际问题。 四.课时安排:1课时 五.教学过程 A、太阳系 师:我们现在来了解一下太阳系的各行星及其运行情况。 师:自从冥王星于2006年8月24日被国际天文联会取消其行星地位,降为“矮行星”后,从此太阳系由“九大行星”变为“八大行星。我们先来看一些图片。

观看动画:九大行星运行图;九大行星 B、开普勒三大定律的近似处理 师:从刚才的研究我们发现,太阳系行星的轨道与圆十分接近,所以在中学阶段的研究中我们按圆轨道处理。这样,开普勒三大定律就可以说成 【牢记】: ①行星绕太阳运动轨道是圆,太阳处在圆心上。 ②对某一行星来说,它绕太阳做圆周运动的角速度(或线速度)不 变,即行星做匀速圆周运动。 ③所有行星的轨道半径的三次方跟它的公转周期的平方的比值都 相等。若用R代表轨道半径,T代表公转周期,开普勒第三定

k 水=3.36×1018 K 金=3.35×1018 K 地=3.31×1018 K 火=3.36×1018 律可以用公式表示为:,k 与太阳有关。 【参考资料】:给出太阳系九大行星平均轨道半径和周期的数值,供课后验证。 扩展及注意: 1. 开普勒定律不仅适用于行星绕太阳运动,同时它适用于所有 的天体运动。只不过对于不同的中心天体,中的k 值不 一样。如金星绕太阳的与地球绕太阳的是一样的,因为 它们的中心天体一样,均是太阳。但月球绕地球运动的与地 球绕太阳的是不一样的,因为它们的足以天体不一样。 2. 开普勒定律是根据行星运动的现察结果而总结归纳出来的规律.它们每一条都是经验定律,都是从行星运动所取得的资料中总结出来的规律.开普勒定律只涉及运动学、几何学方面的内容,不涉及力学原因。 3. 开普勒关于行星运动的确切描述,不仅使人们在解决行星的 k T R =23 k T R =23 23T R 23 T R 23 T R 23 T R

一种近似的K最近邻图算法

第31卷第4期 江苏科技大学学报(自然科学版)V d.31N〇.4 2017 年 8 月Journal of Jiangsu University of Science and Technology (Natural Science Edition)Aug.2017 DOI:10.3969/j.issn. 1673 -4807.2017.04.019 一种近似的K最近邻图算法 邹蕾 (吉林警察学院信息工程系,长春130000) 摘要:针对K最近邻(KNN)图方法在数据挖掘和机器学习方面的问题,文中提出一种高效的基于K最近邻图的近似算 法.首先随机生成一个KNN图近似值;对空间进行随意层次划分,构建一个近似近邻图,然后与KNN图近似值合并生成一 个更准确的图;最后对生成的更准确的图进行近邻传播,进一步提高准确度.通过采用各种真实数据集和高维度合成数据 进行实验研究,证实文中提出的算法性能优于先进的KNN图构造方法. 关键词:K最近邻图;多重随机划分;近似算法;近邻传播方法 中图分类号:TP393 文献标志码:A 文章编号= 1673 -4807(2017)04 -0513 -06 Approximate algorithm based on k-nearest neighbor graph ZHOU Lei (D e p a r t m e n t of Information Engineering,JiLin Police Coll e g e,C h a n g c h u n 130000, C h i n a) Abstract:In view of the k-nearest neighbor ( KNN) graph problems in data mining and machine learning, an ef-ficient approximate algorithm is proposed based on the k-nearest neighbor graph. First, a random graph KNN ap-proximation is generated; the space is divided at random level to construct an approximate nearest neighbor graph, and then approximate KNN value map they are combined to build a more accurate map; finally, neighbor propagation of the more accurate nearest neighbor graph further improves the accuracy. Experiments are per-formed by using real data sets and high-dimensional synthetic data, and the result shows that the proposed algo-rithm has better performance than the advanced KNN method. Key words:k-nearest neighbor graph, multiple random division, approximate algorithm, neighbor propagation method 能否有效构建大数据集的K最近邻图(一个 节点连接到其K个最近邻居)是协同过滤、网络搜 索引擎方面近似最近邻搜索以及查询有关应用领 域的关键[14.KNN图是一个关键的完成多降维 聚类以及其他机器学习任务的数据结构[44]. KNN图最初级方法是通过时间成本0(如2) 构建,其中…是数据集点数^是维数.但是这种方 法对大规模数据集的应用显得不实际.大量研究工 作已经投入到开发构建KNN图的有效算法的工作 中.但是,目前已有的方法不能处理高复杂的计算,也不能处理好高固有维数的数据集,即无法测得相似性. 构建近似KN N图的方法之一就是应用近似最 近邻搜索方法.数据集的每个点被当成是一个查询 点,采用最近邻搜索算法可以检索到它的K个最 近邻居.但是,现有方法大体都无法在搜索结构复 杂性和查询检索准确性之间实现平衡. 一种简单有效的方法就是近邻传播,它基于这 样的直觉意识,邻居的邻居也可能就是邻居,这一 思想已出现在诸多文献中.文献[7]中提出近邻传 播算法,已证实该算法通常表现良好,其方法的经 验复杂度是〇(。14),表明算法效率非常高.不过, 收稿日期:2016 -04 -18 作者简介:邹蕾(1975—),女,讲师,研究方向为计算机应用技术.E-m a i l:290578678@ q q.c o m 引文格式:邹蕾.一种近似的K最近邻图算法[J].江苏科技大学学报(自然科学版),2017,31(4) :513 -518. D O I:10.3969/j.issn.1673 -4807.2017.04.019.

估算题近似处理技巧

第23卷总第244期物 理 教 学 探 讨Vol.23 No.244 2005年第5期(下半月)Journal of Physics Teaching(X) 05.2005 .33. 估算题近似处理技巧 赵仕文 广元广元中学,四川省广元市628017 估算题,在新编的高中物理教材中占有一定 数量,在近几年的高考试题中也频频出现。由于 这类题目文字简洁,已知条件少,待求量与已知 量之间联系不明显,往往使学生束手无策,因此, 在教学过程中,培养学生的估算能力,使他们掌 握一定的估算技巧,就显得尤为重要。 1 物理模型的近似处理 例1 已知水的密度ρ=1.0×103kg/m3,水 的摩尔质量M=1.8×10-2kg/mo l,试估算一个水 分子的线度有多大? 解析 V 0= M ρ= 1.8×10-2 1.0×103 m3/mol =1.8×10-5m3/mol (1)建立水分子的球体模型,则有 1 6πd3= V0 N A 水分子直径: d=3 6V0 πN A = 6×1.8×10-5 3.14×6.0×1023 m =3.9×10-10m (2)建立水分子的立方体模型,则有 a3=V0 N A 水分子直径: a=3 V0 N A = 3 1.8×10-5 6.0×1023 =3.1×10-10m 小结 不论把分子看作球体,还是立方体,都只是一种简化的模型,是一种近似处理的方法,由于建立的模型不同,得出的结果稍有不同,但数量级都是10-10m。一般在估算固体或液体分子线度或分子距离时采用球体模型,在估算气体分子间的距离是采用立方体模型。 2 物理过程的近似处理 例2 一质量为60kg的短跑运动员,起跑时在1 6 s的时间内冲出1m远到达A点,试估算他在A点的动能为多少? 解析 起跑时在1 6s的时间内可近似认为是 匀加速运动,则有:s=1 2 v A t 运动员到达A点的速度v A = 2s t =12m/s 运动员到达A点的功能: E k= 1 2 ×60×122J=4.32×103J 小结 有些物体的运动过程比较复杂,往往 使我们不容易找到求解问题的办法和规律,如果 对这样的物理过程进行大胆又不失合理的近似 处理,使物体的运动过程变为我们熟知而又简单 的物理过程,这对我们快速的估算十分有利。 3 物理量的近似处理 例3 估算常温、常压下教室内空气分子的 平均间距是多少?(结果保留一位有效数字) 解析 设教室的容积为V,在标准状况下占 有的体积为V ,则有PV/T=P0V0/T0 ① 其中取T =273K T=T0+t=273+27=300K 将每个分子占据的空间视为正方体,则有 V= V0 22.4×10-3 N A d3 ② 其中取N A =6.0×1023mol-1 由①②得d= 3 22.4×10-3V V0N A = 3 22.4×10-3×300 273×6.0×1023 =3.5×10-9m 小结 题目中给出了“常温常压”这一模糊 性概念,“常温”一般指20℃左右的温度,在估算 时为了便于计算,可取27℃。由于只要求保留一 位有效数字,取N A =6.0×1023mo l-1已足够。正 因为对这些物理量作了近似而合理的取值,使我 们的估算大为简化。 4 计算过程中数字的近似处理 例4 已知地球半径为R=6.4×106m,又知 月球绕地球看作匀速圆周运动,则可估算出月球 到地心的距离约为m。(结果保留一位 数字) 解析 设月球到地心的距离为r,地球和月

§10.2复合反应近似处理方法前节讨论的典型复合反应是几种最简单的

§10.2 复合反应近似处理方法 前节讨论的典型复合反应是几种最简单的复合反应类型。对峙反应中除正、逆向都是一级反应的1-1级外,还有1-2级、2-1级、2-2级等,平行反应和连串反应中也有多级数的反应,此外,很多复合反应往往同时包含对峙反应、平行反应或连串反应等。对于这些复杂的复合反应,如果试图通过严格求解微分方程从而找出各物质的浓度随时间的变化关系,往往十分困难,有时甚至是难以办到的。为此,化学动力学中经常采用一些近似方法来处理这些复杂的复合反应。前节提到的“速率控制步骤”就是一种近似处理方法。此外,常用的近似方法还有稳态近似法和平衡态近似法。 (1) 稳态近似法 以最简单的连串反应为例: A C k 1 k 2 所谓稳态,严格而论,应该是A 、B 、C 的浓度均不随时间而变化的状态。显然,这只有在不断引入A 移走C 的开放流动系统中方可能实现。对于封闭的反应系统,A 和C 都不可能达到稳态,除非反应实际上没有进行。但是,反应进行一段时间后,中间产物B 有可能达到近似的稳态,即物质B 的生成速率和消耗速率相差甚微,[B]随时间的变化几乎可以忽略不计。即 12[B] [A][B]0d k k dt =-≈ 由此可以比较方便地求出物质B 达到稳态时的浓度: 1ss 2[B][A]k k = (10.17) [B]ss 表示物质B 的稳态浓度。将1[A]e k t a -=,即(10.15a)式代入上式,则 11ss 2[B]e k t k a k -= (10.18) 前节通过严格求解微分方程,得到[B]的表示式即(10.15b)式为 121()1 21 [B]e [1e ]k t k k t k a k k ---=-- 不难看出,当k 2>>k 1时,该式即可化简为(10.18)式的形式。 假设中间产物的生成速率和消耗速率近似相等的处理方法称为“稳态近似法”。对于不同的反应机理,稳态近似法的适用条件是不同的。通常,当中间产物非常活泼并因而以极小浓度存在时,运用稳态近似法是适宜的。稳态近似法的应用可以使复合反应的动力学分析大为简化。 例题2 某复合反应,其机理如下 A +k C (1)(2)B +C k 2 P 其中C 是非常活泼的中间产物。试用稳态近似法导出总反应的速率公式。 解 一般说来,可用最终产物P 的生成速率表示总反应的速率,由反应机理知 2[P] [B][C]d k dt = 该表达式中含有中间产物C 的浓度,由于C 非常活泼,很难直接测定其浓度,因此需要换算成以反应物浓度及产物浓度来表示的形式。根据稳态近似法

相关文档
最新文档