数据排序方法、人工智能、图像处理、大数据库、互联网搜索、通讯、云系统与流程

文档序号:13072805阅读:139来源:国知局

本发明涉及数据分析,具体涉及数据排序方法、人工智能、图像处理、大数据库、互联网搜索、通讯、云系统。

技术背景

数据排序是指按一定规则对数据进行整理、排列,为数据的进一步处理作好准备。数据排序是数据处理的基础,能够为高效的数据查找提供支持,在人工智能、图像处理、大数据库、互联网搜索、通讯、云系统等领域也存在重要意义;现有技术的数据排序多位串行运算,且存在收敛不稳定,运算量难以预测的问题,且很多年没有基础性的方法创新,对信息业的发展形成了瓶颈。

数据排序在办公软件、数据统计、记账系统中使用也特别多,在网络商城、网络论坛、各类为手机app中都非常重要,尤其是面向用户的软件中,信息排序几乎是标配功能,研发新的排序算法对社会的贡献有巨大的推动作用。



技术实现要素:

为解决技术背景中提到的问题,本发明提出了数据排序方法、人工智能、图像处理、大数据库、互联网搜索、通讯、云系统。

技术内容1、数据排序方法,其特征在于:将待排序的数据列的各单元的需对比数据与其他单元的需对比数据进行比较;对对比结果进行线性统计,利用统计所得的结果作为排序参考。技术内容2、数据排序方法,其特征在于:包括判断矩阵、结果串;

判断矩阵是逻辑矩阵,判断矩阵具有两个维度,第一维度、第二维度;判断矩阵用于容纳对比结果;结果串是用来储存匹配结果的数据列;结果串的各个单元具有逻辑下标,结果串中各个单元的逻辑下标的是其在结果串的顺序排列位置;将第一环状数据的各个单元与第二环状数据的单元进行对比并将对比结果储存在判断矩阵中,对对比结果进行统计,并储存在结果串中,利用结果串所包含的信息进行排序。

技术内容3、如技术内容1-2中任一技术内容所述的数据排序方法,其特征在于:进行对比是当两个被对比单元的被对比数据相等时,以这两个被对比单元的逻辑下标(即序号)作为比较的参考。

技术内容4、如技术内容1-3中任一技术内容所述的数据排序方法,其特征在于:所述的对比方法是:将对比结果填充到判断矩阵对应位置中,设判断矩阵的单元g在判断矩阵中的第一维度坐标为x、第二维度坐标为y,则单元g用于容纳待排序的数据列中逻辑下标为x的单元的需对比数据与待排序的数据列中逻辑下标为y的单元所包含的需对比数据的对比结果(需对比数据是技术人员自定义的,比如在一个结构体数组中,只选择某个单元的结构体所包含的某一部分数据,比如第二环状数据的结构体数组包含类型、数值、属性等数据,但需要对比的数据可能只是类型)。

技术内容5、如技术内容1-4中任一技术内容所述的数据排序方法,其特征在于:所述的统计方法是:将判断矩阵中第二维度坐标相同的单元的值统计并储存在结果串对应位置中,方法是:设结果串的单元r的逻辑下标(即序列位置)为y,则将判断矩阵中第二维度坐标为y的单元的值统计并存储存在结果串的单元r中,所获得的结果串的数据即排列位置,结果串的单元代表待排序数据列的排列位置,下标与结果串单元的下标相等的数据列单元的新序列位置等于结果串单元的值,也就是说如果结果串的单元r的逻辑下标(即序列位置)为y值为h则数据列中下标为y的单元的在重新排序后的序列位置是h。

技术内容6、如技术内容1-4中任一技术内容所述的数据排序方法,其特征在于:所述的统计方法是:将判断矩阵中第一维度坐标相同的单元的值统计并储存在结果串对应位置中,方法是:设结果串的单元r的逻辑下标(即序列位置)为y,则将判断矩阵中第一维度坐标为y的单元的值统计并存储存在结果串的单元r中,所获得的结果串的数据即排列位置,结果串的单元代表待排序数据列的排列位置,下标与结果串的单元的下标相等的数据列单元的新序列位置等于结果串的单元的值,也就是说如果结果串的单元r的逻辑下标(即序列位置)为y值为h则数据列中下标为y的单元的在重新排序后的序列位置是h。

技术内容7、如技术内容2-6中任一技术内容所述的数据排序方法,其特征在于:判断矩阵储存的是逻辑值或整数值或浮点数值。

技术内容8、如技术内容2-7中任一技术内容所述的数据排序方法,其特征在于:待排序的数据列储存的是数值数据或矢量图形数据或代表图像轮廓形状的矢量或文本数据。

技术内容9、如技术内容1-8中任一技术内容所述的数据排序方法,其特征在于:待排序的数据列储存的是包含多重信息的数据集,比如,但不限于数据存结构体。(比如一个结构体包括序号、姓名、学历、家庭地址、手机号码、照片、人类识别特征、指纹特征、眼睛虹膜特征等数据)。

技术内容12、如技术内容2-10中任一技术内容所述的数据排序方法,其特征在于:逻辑下标采用数据直接标出。

技术内容13、如技术内容2-10中任意一条技术内容所述的环形数据对比方法,其特征在于:逻辑下标不采用数据直接标出。

技术内容14、如技术内容1-13中任意一条技术内容所述的环形数据对比方法,其特征在于:统计时将各个被统计的值进行数学运算。

技术内容15、如技术内容1-14中任意一条技术内容所述的环形数据对比方法,其特征在于:统计时将各个被统计的值进行加法运算或减法运算或乘法运算或除法运算。

技术内容16、如技术内容1-15中任意一条技术内容所述的环形数据对比方法,其特征在于:判断矩阵中储存的是逻辑值。

技术内容17、如技术内容1-16中任意一条技术内容所述的环形数据对比方法,其特征在于:统计时将对比操作和统计操作进行合并,对比的同时进行统计以节约判断矩阵的数据对储存空间的占用,由于判断矩阵与待排序的数据列的对应关系是固定不变的,而矩阵与结果串直接的对应关系也是固定不变的,所以可以依照结果串与判断矩阵之间的对应关系也是固定不变的,故而可以直接将对比结果统计到结果串里面。

技术内容18、如技术内容1-17中任意一条技术内容所述的环形数据对比方法,其特征在于:在对比操作和统计操作之间插入其他操作。

技术内容19、人工智能系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案。

技术内容20、图像处理系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案。

技术内容21、大数据库系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案。

技术内容22、互联网搜索系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案。

技术内容23、通讯系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案。

技术内容24、云系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案,用于分析分子。

技术内容25、办公系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案,用于分析处理数据。

技术内容26、智能设备应用系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案,用于分析处理数据。

技术内容27、计算机应用系统,其特征在于:具有技术内容1-18中任意一条技术内容所述的技术方案,用于分析处理数据。

说明:本发明在运算时各个单元的对比是独立的分开的数据关联性很低,相互直接没有顺序要求,可以不按顺序操作,所以本发明在能够完美支持并行运算(比如cuda技术、多线程技术)。

本发明应用于串行运算时具有运算时间不随数据内容变化,具有可以稳定预测运算时间的技术效果。本发明可以实现依靠数值运算方便,资源消耗少,收敛稳定,运算时间易预测。本发明可以用于计算相似度,可以支持模糊判断,具备一定的智能能力;

对比的具体手段是可以自定义的,比如采用减法、位与等,判定界限也可以自定义,比如将被对比的单元中的值相等的则判定为1,否则判定为0,又比如将判定界限设定为在允许的范围内则判断为1,否则判断为零,又比如矢量图形中两个被对比的角如果差值在30度以内则判断为1,否则判断为0。本发明可以实现模糊识别。

统计的具体手段是可以自定义的比如但不限于加法、减法、乘法、逻辑运算、流程运算。结果串可以是独立的数据串也可以是储存在判断矩阵中的数据串,也就是说统计是吧统计结果储存在判断矩阵中,分开写只是为了方便理解。

由于逻辑序号不存在等于的情况,所以本发明利用逻辑序号的对比巧妙地解决了被对比数据相等情况下的排序问题,使得统计出的代表重新排列后所处位置的没有重复,使得统计值都是唯一的,避免了排位冲突。

附图说明

图1是本发明的一个实施实例的示意图,所绘制内容是用于体现本发明的操作及操作结果。

实施实例

实施实例1、数据排序方法,其特征在于:包括判断矩阵、结果串;

判断矩阵是逻辑矩阵,判断矩阵具有两个维度,第一维度、第二维度;判断矩阵用于容纳对比结果;结果串是用来储存匹配结果的数据列;结果串的各个单元具有逻辑下标,结果串中各个单元的逻辑下标的是其在结果串的顺序排列位置;将第一环状数据的各个单元与第二环状数据的单元进行对比并将对比结果储存在判断矩阵中,对对比结果进行统计,并储存在结果串中,利用结果串所包含的信息进行排序;

进行对比是当两个被对比单元的被对比数据相等时,以这两个被对比单元的逻辑序号作为比较大小的参考;

所述的对比方法是:将对比结果填充到判断矩阵对应位置中,设判断矩阵的单元g在判断矩阵中的第一维度坐标为x、第二维度坐标为y,则单元g用于容纳待排序的数据列中逻辑下标为x的单元的需对比数据与待排序的数据列中逻辑下标为y的单元所包含的需对比数据的对比结果;

所述的统计方法是:将判断矩阵中第二维度坐标相同的单元的值统计并储存在结果串对应位置中,方法是:设结果串的单元r的逻辑下标(即序列位置)为y,则将判断矩阵中第二维度坐标为y的单元的值统计并存储存在结果串的单元r中,所获得的结果串的数据即环状数据对比的结果。

实施实例2、如图1的表格所示,对数据列数组a进行排序,数组a的成员数n=6,数组a的内容为{8,7,7,1,4,2};将数组a的各个单元与数组a的各个单元进行对比,并把对比结果填入判断矩阵,对比方法是:c[x][y]=f(a[x],a[y])=(a[x]<a[y])+(a[x]==a[y])*(x<y)该式中采用了计算机常用的比较运算和逻辑运算,

如果a[x]小于a[y]则(a[x]<a[y])+(a[x]==a[y])*(x<y)=1+0*n=1;

如果a[x]等于a[y]且x小于y,则(a[x]<a[y])+(a[x]==a[y])*(x<y)=0+1*1=1;

如果a[x]等于a[y]且x不小于y,则(a[x]<a[y])+(a[x]==a[y])*(x<y)=0+1*0=0;

如果a[x]大a[y]则(a[x]<a[y])+(a[x]==a[y])*(x<y)=0+0*0=0;

将判断矩阵统计到结果串k,k[y]=c[0][y]+c[1][y]+c[2][y]+c[3][y]+c[4][y]+c[5][y]

依据结果串对数组a的数据进行重新排列并移植到数组t中,t[k[y]]=a[y];图中7(a[1])代表该值7来自数组a的小标为1的单元的内容,图中7(a[2])代表该值7来自数组a的小标为2的单元的内容,由于逻辑序号不存在等于的情况,所以本发明利用逻辑序号的对比巧妙地解决了被对比数据相等情况下的排序问题,使得统计出的代表重新排列后所处位置的没有重复,避免了排位冲突。

实施实例3、为了阅读者的理解,本实施例列举了一个c语言实现环状数据手性对比的完整代码,该代码在微软公司的win10操作系统环境下使用vs2015+cuda8.0编译环境下编译运行,结果正确无误。阅读者可以将本段代码拷贝直接使用或者做出适应性修改后进行运用。vs2015+cuda8.0支持中文万国码编码,本代码中部分地方采用了中文。本实例的使用需要cuda并行运算的支持,申请人测试时使用了英伟达公司出品的gtx1080显卡作为硬件,在技术原理上,如果使用其他型号的cuda显卡或其他公司兼容cuda的并行运算环境,本实例可以通过直接的复制粘贴进行移植。

实施实例4、对实施实例3的核函数进行修改的内容如下

实施实例5、对实施实例3的核函数进行修改,内容如下

实施实例6、对实施实例3的核函数进行修改,内容如下

实施实例7、对实施实例3的核函数进行修改,内容如下

实施实例8、对实施实例3的核函数进行修改,内容如下

实施实例9、对实施实例3的核函数进行修改,

实施实例10、对实施实例3的核函数进行修改,

实施实例11、采用c语言在实现本发明的代码实例如下:

实施实例12、采用c语言在实现本发明的代码实例如下:

实施实例13、对实施实例2或3进行硬件化实现,采用逻辑门电路实现本发明的待排序数据列、判断矩阵、结果串;并利用专门的逻辑门硬件进行运算和逻辑处理。

本发明的实现方法多种多样,不再赘述。

为了阅读者的理解,实施例10、11中代码在微软公司的win10操作系统环境下使用dev-c++5.11编译运行结果正确无误。即使阅读者水平低于平均水平无法读懂代码,也可以将本段代码拷贝粘贴复制,并做出适应性修改进行使用;本代码体现了本发明的数据处理方法,是本发明的具体表达;虽然实施实例中的代码全部进行了编译运行确定了运行结果,但申请人并不能控制文本传送过程产生的错误,万一代码文本在复制粘贴或传送过程中发生缺省或变化,阅读应该结合本说明书以及本领域知识进行修正和理解;为了给阅读良好呈现操作步骤,方便阅读者的理解,本代码没有进行效率优化,但并不影响本发明作为一种新思路而具备创造性。实现本发明的方法千变万化,无需赘述。实施实例中有些将对比操作和统计操作分开了,有些将对比操作和统计操作进行了合并,申请人认为本领域技术人员是能够读懂代码的无需一一赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1