[发明专利]分级统计-概率计算式查找算法无效

专利信息
申请号: 200610032135.1 申请日: 2006-08-25
公开(公告)号: CN101131692A 公开(公告)日: 2008-02-27
发明(设计)人: 陈启星 申请(专利权)人: 陈启星
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 暂无信息 代理人: 暂无信息
地址: 410005湖南省长*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 分级 统计 概率 算式 查找 算法
【说明书】:

技术领域:本发明属于计算机算法和数据结构领域。

背景技术:目前的查找算法中,高效率的查找包括折半查找、斐波那契查找、插值查找,这都是全程查找;哈希查找是计算式查找,但是有所谓“冲突”现象,所以没有普适性。目前没有一种查找算法能够实现对任意有序表的可靠的计算式查找。

本发明的目的是:提出一种计算式的查找算法,叫“分级统计-概率计算式查找”算法,该算法具有3个特征:①、时间复杂度为O(1),对于非常长的光滑分布的有序表,通常只要3次以内查找即可命中;②、附加空间不大,复杂度为O(1),附加空间为一个记录类型(包含4-5个数据项)的一唯数组,约数百个数据元素;③、可以查找任意方式排序的表。

发明申请内容

算法的总思路是:对于某个分布(最好是光滑分布)进行排序后形成了有序的数组A(1)~A(n),对其查找分为预处理阶段和查找阶段,预处理阶段为将其分布总区间等分为m个子区间(有m+1个级别),每个子区间都是一个顶部为斜边的直角梯形(以下简称梯形),梯形面积的大小反映了“元素数目”的多少;然后构造一个记录数组B(0)~B(m)用于登记各级梯形的属性(包括起始值、级内元素数目、级前元素数目、级概率密度、概率斜率)。首先是计算各级的分界点即“起始值”,再用“分级映射”逐个计算A(1)~A(n)各元素所属的级别并进行统计,得到各级的“级内元素数目”,然后分别计算出“级前元素数目”、“级概率密度”、“概率斜率”,都登记到记录数组B中,完成预处理工作。查找阶段为对任一个待查找数XY,可以通过分级映射计算确定XY所在子区间“r级”,从而确定“级前元素数目”,又通过对梯形子区间进行概率预测计算和概率修正计算,确定XY在子区间的“级内精预测量”,与“级前元素数目”相加得到“精预测单元”。

附图说明:

图1——梯形分布的概率计算式查找算法示意图。X1——最小值;Xn——最大值;Xz——X1与Xn的中间值;Xa——X1与Xz的中间值;Xb——Xz与Xn的中间值;XY——待查找数;和文中保持一致,PX1、PXa、PXz、PXb、PXn、PXY分别是X1、Xa、Xz、Xb、Xn、XY所对应的概率。

图2——任意光滑分布的分级统计-概率计算式查找算法示意图。B(0)、B(1)、B(2)、B(r-1)、B(r)、B(r+1)、B(n-1)、B(n)、分别表示B(0).Xmin、B(1).Xmin、B(2).Xmin、B(r-1).Xmin、B(r).Xmin、B(r+1).Xmin、B(n-1).Xmin、B(n).Xmin、B(r+1).Xmin(这是由于图上写不下的关系);XY表示待查数。这些符号说明书、权利要求书中都通用。

实施例1:梯形分布的概率计算式查找算法

从分析一个按(图1)直角梯形概率分布的表入手,介绍“概率计算式查找”算法。

假定有一个由一唯数组A(1)~A(n)构成的有序表(升序),其各个单元所对应的数值为X1~Xn(可知X1为最小值,Xn为最大值),X1~Xn的概率分布呈线性(图1)。如果要查找XY(X1≤XY≤Xn)在(A(1)~A(n))哪个单元,就可以通过通过概率计算得到答案。

思路分析:

因为概率分布的面积对应着元素数目,求出了面积就是求出了元素数目。我们已知(图1)X1~Xn之间梯形面积Sn对应着n个数据(令Sn:=n),那么待查找数XY是处于第几个单元呢?

如果令X1~XY之间梯形面积是Sx,那么比XY小的数据有Sx个。令K:=round(Sx),从概率的角度说就可以确定,XY应该位于第K个单元,XY所对应的“粗预测单元”应该为A(K)。

当然,“粗预测单元”与“待查数XY”通常是有一定误差的,令“粗预测单元”与“待查数”的误差为dX,并计算出dX所对应的面积dS,于是dK:=round(dS)就是修正距离。

求“粗预测单元”的算法。为以下计算方便,本发明约定分布函数趋向+∞时等于n,而不是习惯的等于1,所以本文元素数目密度,就是概率密度。以下约定PX1、PXz、PXa、PXb、pxy分别为X1、Xz、Xa、Xb、XY处的概率密度,可以改写为“元素数目密度”。

1、由图1可知,要找到Sx的表达式,先要知道PX1、pxy(PX1为上底,pxy为下底,dX为高)这两个概率密度。为此,令Xz位于X1~Xn的中点。Xz的概率密度为

PXz:=n/(Xn-X1);

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陈启星,未经陈启星许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200610032135.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top