CN110674133B - 一种高维插值的压缩存储及计算方法 - Google Patents

一种高维插值的压缩存储及计算方法 Download PDF

Info

Publication number
CN110674133B
CN110674133B CN201910849608.4A CN201910849608A CN110674133B CN 110674133 B CN110674133 B CN 110674133B CN 201910849608 A CN201910849608 A CN 201910849608A CN 110674133 B CN110674133 B CN 110674133B
Authority
CN
China
Prior art keywords
interpolation
dimension
node
layer
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910849608.4A
Other languages
English (en)
Other versions
CN110674133A (zh
Inventor
高飞
苏平
吴浩
孙建祥
薛玥
曹芳芳
梁中兴
彭汉章
王�琦
徐自衡
王冲
杨威
钱景
周韶楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Aerospace Automatic Control Research Institute
Original Assignee
Beijing Aerospace Automatic Control Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Aerospace Automatic Control Research Institute filed Critical Beijing Aerospace Automatic Control Research Institute
Priority to CN201910849608.4A priority Critical patent/CN110674133B/zh
Publication of CN110674133A publication Critical patent/CN110674133A/zh
Application granted granted Critical
Publication of CN110674133B publication Critical patent/CN110674133B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • G06F16/24566Recursive queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种高维插值的压缩存储及计算方法,它首先根据插值表的各维插值自变量递归地构建一棵插值自变量的深度存储树,用于对各维插值区间的查找,然后根据插值自变量构建动态插值二叉树,将插值计算过程转换为对树的图操作,最终求得结果。多维插值表的存储树结构大大压缩了重复数据的存储开销;动态插值二叉树的建立将线性插值空间和非线性插值空间的插值过程统一化,简化了计算,有助于芯片级实现以大幅提高高维插值计算的效率;结合树型和二分查找的方法,避免了传统方法对插值坐标向量进行线性式顺序查找的时间开销,将查找效率由线性级提高到了指数级。随着问题维数的数量级的增加,这种优势会表现得更加明显。

Description

一种高维插值的压缩存储及计算方法
技术领域
本发明涉及一种高维插值的压缩存储及计算方法,它是一个统一的高维插值计算技术框架,主要解决高维插值运算过程中带来的存储量大和耗时长等问题。
背景技术
在对数学或物理空间进行描述的时候,函数是一种常见的工具。但很多时候,函数描述的形式无法进行函数值求解,甚至更多的时候,无法通过初等函数来对空间进行描述,因此只能通过采样等方式,通过点模型的方法来数值化表达空间。在这样的情况下,插值就很常用了。
目前用的最多的插值是一维线性插值、二维双线性插值等,其可以根据固定的公式,得到插值结果。更高维的插值缺乏通用的高效求解方法。
发明内容
本发明解决的技术问题是:提供一种高维插值的压缩存储及计算方法,可以高效地求解各种形式的插值计算问题。
本发明解决技术的方案是:一种高维插值的压缩存储及计算方法,插值维数为任意维,维数表示为N,每一维插值表中的值定义为该维的插值坐标,包括如下步骤:
(1.1)将N维插值空间进行排序;
(1.2)根据N维空间的排序,建立插值数据的深度存储树,用于存储插值表的各维插值坐标;
(1.3)根据深度存储树查找各维插值自变量的插值边界,递归地构建动态插值二叉树,用于存储各维插值结果;
(1.4)根据动态插值二叉树,采用递归的方式计算插值结果。
优选的,所述的步骤(1.1)将N维插值空间进行排序,若每一维的插值坐标是唯一的,则插值维数的排序任意进行,插值结果不受该排序过程的影响;若某维插值坐标不唯一即插值维间存在依赖关系,则根据依赖关系的顺序进行排序,排序表示为{Γ123,…,ΓN},相应的待插值自变量表述为{η123,…,ηN}。
优选的,所述的依赖关系定义为:若Γκ维的每一个插值坐标对应Γκ+1维的插值坐标向量不唯一,则Γκ维和Γκ+1维呈依赖关系,定义Γκ+1维依赖于Γκ维,排序过程中,Γκ维要与Γκ+1维相邻,并且排在Γκ+1维的前面;如果Γκ维中的每一个插值坐标对应的Γκ+1维中的插值坐标向量均不相同,定义为Γκ+1维完全依赖Γκ维;如果Γκ维中的部分插值坐标对应的Γκ+1维中的插值坐标向量不相同,定义为Γκ+1维部分依赖Γκ维;如果Γκ维中的所有插值坐标对应的Γκ+1维中的插值坐标向量均相同,则定义为Γκ+1维不依赖Γκ维。
优选的,所述的步骤(1.2)中的深度存储树,包括分层结构的层、节点和带权有向边;
每一层包含若干节点,每个节点包含若干个坐标元素,对应着一个插值坐标向量表中各个坐标;
每个节点若其所在层不是最后一层,则从其中的每个坐标元素出发,分别有一条有向边指向下一层的某个节点,下一层相应的这个节点中的插值坐标向量表为本层该节点中的坐标元素对应的被依赖的下一维中的插值坐标向量表。
优选的,所述的步骤(1.2)建立插值数据的深度存储树包括步骤如下:
(5.1)构造深度存储树的第一层节点:设Γ1维插值表的插值坐标共λ1个,将Γ1维的一个坐标向量表示为
Figure BDA0002196444800000021
用于建立第一层树,则第一层树包含节点1个,节点中包含的元素共λ1个;
(5.2)假设第m层深度存储树的节点已经全部构建好,则构建第m+1层节点的方法为:
情况1,假设存在Γm+1维插值表对Γm维完全依赖,则Γm+1维所在的m+1共有λm+1=2λm个节点,每个节点由一个Γm+1维插值坐标向量的元素构成其节点元素;构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中其对应的节点;有向边的权值为m层节点元素在其节点中的坐标序号;
情况2,假设存在Γm+1维插值表对Γm维部分依赖,Γm+1维所在的m+1层的节点个数λm+1为其相异的插值坐标向量的数量,每个节点由一个Γm+1维插值坐标向量的元素构成其节点元素;构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中其对应的插值坐标向量所在的节点;有向边的权值为m层节点元素在其节点中的坐标序号;
情况3,假设没有一个维度的插值表对Γm维存在依赖,Γm+1与Γm相互独立,则Γm+1维所在的m+1层的节点个数为1,该节点的节点元素由Γm+1维的插值坐标向量的元素构成;构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中的同一个节点;有向边的权值为m层节点元素在其节点中的坐标序号;
上述三种情况下的坐标序号均从0开始计数;
(5.3)采用(5.2)中的方法,递归地构建从Γ2维对应的第2层深度存储树到ΓN对应的第N层深度存储树。
优选的,所述动态插值二叉树中每一个节点由6个域构成:待插自变量域、插值区间上边界、插值区间下边界、插值区间上边界值域索引、插值区间下边界值域索引和插值结果域。
优选的,动态插值二叉树的建树过程包括如下步骤:
(7.1)建立根节点R0:取第一维对应的待插自变量η1的值,将Γ1维的插值坐标向量
Figure BDA0002196444800000031
中,找到η1所处的区间
Figure BDA0002196444800000032
作为插值区间,将η1和
Figure BDA0002196444800000033
作为根节点R0的待插自变量域、插值区间上边界、插值区间下边界的值;
(7.2)建立根节点R的左右两个子节点:取第二维的待插自变量η2,在
Figure BDA0002196444800000034
对应的Γ2维插值坐标向量中找到插值边界,表示为
Figure BDA0002196444800000035
Figure BDA0002196444800000036
对应的Γ2维插值坐标向量中找到插值边界,表示为
Figure BDA0002196444800000041
将η2和
Figure BDA0002196444800000042
作为根节点的左子节点的待插自变量域、插值区间上边界和插值区间下边界R1,将η2
Figure BDA0002196444800000043
作为根节点的右子节点的待插自变量域、插值区间上边界和插值区间下边界R2;
(7.3)以由R0构建左右两个子节点的方法,采用Γ3维插值坐标向量来建立R1的两个子节点R1_1和R1_2,和R2的两个子节点R2_1和R2_2;
(7.4)以前述(7.3)所采用的方法继续构建下一层的子节点,直到完成ΓN维对应的二叉树层的节点的构建,此时以ΓN维插值坐标向量构建的节点就构成了二叉树的叶子节点;
(7.5)递归计算每一个节点中插值区间上边界值域索引和插值区间下边界值域索引值。
优选的,所述步骤(7.5)通过下述方式确定索引值:
(7.5.1)初始化第一层的一个根节点的插值区间上边界值域索引和插值区间下边界值域索引的值分别为两个边界值作为插值坐标,在深度存储树中的出边索引权值;
(7.5.2)假设第m层的所有节点的插值区间上边界值域索引和插值区间下边界值域索引的值都以求出,则第m+1层每个节点的插值区间上边界值域索引和插值区间下边界值域索引的值可以由下面的公式求出:
Figure BDA0002196444800000044
其中,
Figure BDA0002196444800000045
为待求解的m+1层插值区间上/下边界值域索引;
Figure BDA0002196444800000046
为m层连接待求的m+1层节点的边界所对应的插值区间上边界值域索引或插值区间下边界值域索引的值;
λm+1为m+1层插值坐标索引维数;
Figure BDA0002196444800000047
为待求的m+1层节点的对应边界作为插值坐标在深度存储树中的出边索引权值。
优选的,所述(7.1)插值区间的确定过程中当η1恰好等于某个插值坐标时,设
Figure BDA0002196444800000051
则若
Figure BDA0002196444800000052
则取以
Figure BDA0002196444800000053
为下限的区间,若
Figure BDA0002196444800000054
则取
Figure BDA0002196444800000055
Figure BDA0002196444800000056
优选的,通过如下步骤计算插值结果:
(9.1)从动态插值二叉树叶子节点出发,对于ΓN维对应的每个叶子节点,采用待插值自变量ηN,插值区间上边界、插值区间下边界、并根据插值区间上边界值域索引、插值区间下边界值域索引在插值表中找到对应的值域值,进行插值运算,求出叶子节点对应的插值结果域;
(9.2)从叶子节点层向上一层,计算N-1层中节点的插值结果域的值:N-1层中节点对应的左右两个子节点的插值结果域作为该节点的插值值域的上边界和上边界,节点中的插值区间上边界、插值区间下边界构成插值自变量域,用ηN-1作为插值自变量,进行插值运算,求出的插值结果作为该节点的插值结果域的值;
(9.3)递归向上,假设第n层的各个节点的插值结果域的值已经求出,则计算n-1层中节点的插值结果域的值:n-1层中节点对应的左右两个子节点的插值结果域作为该节点的插值因变量域的下限和上限,节点的插值区间域的值作为插值自变量域,取ηn-1作为插值自变量,进行插值运算,求出的插值结果作为该节点的插值结果域的值;
(9.4)递归向上,用(9.3)中的方法求解各层节点的插值结果域的值,直到根节点R0为止,此时根节点R0的插值结果域的值就是多维插值的最终结果。
优选的,所述的插值运算既可用于线性插值,也可用于非线性插值。
本发明与现有技术相比的有益效果是:
(1)本发明的;多维插值表的存储树结构大大压缩了重复数据的存储开销;动态插值二叉树的建立将线性插值空间和非线性插值空间的插值过程统一化,简化了计算,有助于芯片级实现以大幅提高高维插值计算的效率;结合树型和二分查找的方法,避免了传统方法对插值坐标向量进行线性式顺序查找的时间开销,将查找效率由线性级提高到了指数级,在计算和插值查找的时间复杂度均达到了对数级,相对于传统的线性查找,大大提高计算的效率,随着问题维数的数量级的增加,这种优势会表现得更加明显
(2)本发明所述方法的数据存储开销几乎达到了最小化,多维插值表的存储树结构大大压缩了重复数据的存储开销,尤其是在解决大规模成千上万维插值运算的问题时,能够大大节约存储开销;
(3)本发明所述方法抛开了二维、三维等定义的单独的插值公式,提供了一套通用的计算框架,可以统一解决不同维数的插值问题、线性插值空间和非线性插值问题、还可以解决同一维度的插值坐标不同的问题,且求解过程不受任何影响,具有更好的普适性。在简化了计算的同时,有助于芯片级实现以大幅提高高维插值计算的效率。
附图说明
图1是实施例中插值数据的深度存储树;
图2是实施例中动态插值二叉树;
图3是实施例中求解动态插值二叉树中的插值结果后的动态插值二叉树。
具体实施方式
下面结合实施例对本发明作进一步阐述。
一种高维插值的压缩存储及计算方法,插值维数为任意维,维数表示为N,每一维插值表中的值定义为该维的插值坐标,包括如下步骤:
(1.1)将N维插值空间进行排序;
若每一维的插值坐标是唯一的,则插值维数的排序可以任意进行,所述方法的插值结果不受该排序过程的影响;
若有插值维间存在依赖关系,则根据依赖关系的顺序进行排序。对应的其他维的插值坐标不同,则按定义顺序进行排序。将排序表示为{Γ123,…,ΓN},相应的待插值自变量可以表述为{η123,…,ηN}。
上述依赖关系可以表述为:若Γκ的每一个插值坐标,对应这Γκ+1维的插值表示不唯一的,极端情况下,每一个Γκ维插值坐标点对应的Γκ+1维的插值坐标向量均不一样,则Γκ维和Γκ+1维呈依赖关系,定义Γκ+1维依赖于Γκ维。排序过程中,Γκ维要与Γκ+1维相邻,并且排在Γκ+1维的前面。如果Γκ维中的每一个节点对应的Γκ+1维中的插值坐标向量均不相同,定义为Γκ+1维完全依赖Γκ维;如果Γκ维中的部分节点对应的Γκ+1维中的插值坐标向量不相同,定义为Γκ+1维部分依赖Γκ维;如果Γκ维中的所有节点对应的Γκ+1维中的插值坐标向量均相同,则定义为Γκ+1维不依赖Γκ维。
(1.2)根据N维空间的排序,建立插值数据的深度存储树,用于存储插值表的各维插值坐标;
深度存储树为分层结构的层、节点和带权有向边构成;每一层包含若干节点,每个节点包含若干个坐标元素,对应着一个插值坐标向量表中各个坐标;每个节点,若其所在层不是最后一层,则从其中的每个坐标元素出发,分别有一条有向边指向下一层的某个节点,下一层相应的这个节点中的插值坐标向量表为本层该节点中的坐标元素对应的被依赖的下一维中的插值坐标向量表;
建立插值数据的深度存储树的方法包括步骤如下:
第1步:构造深度存储树的第一层节点:设Γ1维插值表的插值共λ1个,将Γ1维的一个坐标向量表示为
Figure BDA0002196444800000071
用于建立第一层树,则第一层树包含节点1个,节点中包含的元素共λ1个;
第2步:假设第m层深度存储树的节点已经全部构建好,则构建第m+1层节点的方法为:
情况1,假设存在Γm+1维插值表对Γm维完全依赖,则Γm+1维所在的m+1共有λm+1=2λm个节点,每个节点由一个Γm+1维插值坐标向量的元素构成其节点元素。构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中其对应的节点。有向边的权值为m层节点元素在其节点中的坐标序号(坐标序号从0开始计数);
情况2,假设存在Γm+1维插值表对Γm维部分依赖,Γm+1维所在的m+1层的节点个数λm+1为其相异的插值坐标向量的数量,每个节点由一个Γm+1维插值坐标向量的元素构成其节点元素。构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中其对应的插值坐标向量所在的节点。有向边的权值为m层节点元素在其节点中的坐标序号(坐标序号从0开始计数);
情况3,假设没有一个维度的插值表对Γm维存在依赖,Γm+1与Γm相互独立,则Γm+1维所在的m+1层的节点个数为1,该节点的节点元素由Γm+1维的插值坐标向量的元素构成。构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中的同一个节点。有向边的权值为m层节点元素在其节点中的坐标序号(坐标序号从0开始计数);
第3步:采用第2步:中的方法,递归地构建从Γ2维对应的第2层深度存储树到ΓN对应的第N层深度存储树。
(1.3)根据深度存储树查找各维插值自变量的插值边界,递归地构建动态插值二叉树,用于存储各维插值结果;该树是一棵标准的二叉树结构,树中每一个节点由6个域构成:待插自变量域、插值区间上边界、插值区间下边界、插值区间上边界值域索引、插值区间下边界值域索引和插值结果域。其构建步骤如下:
第1步:建立根节点R0:取第一维对应的待插自变量η1的值,将Γ1维的插值坐标向量
Figure BDA0002196444800000081
中,找到η1所处的区间
Figure BDA0002196444800000082
作为插值区间,将η1
Figure BDA0002196444800000083
作为根节点R0的待插自变量域、插值区间上边界、插值区间下边界的值;当η1恰好等于某个插值表值时,设
Figure BDA0002196444800000084
则若
Figure BDA0002196444800000085
则取以
Figure BDA0002196444800000086
为下限的区间,若
Figure BDA0002196444800000087
则取
Figure BDA0002196444800000088
第2步:建立根节点R的左右两个子节点:取第二维的待插自变量η2,在
Figure BDA0002196444800000091
对应的Γ2维插值坐标向量中找到插值边界,表示为
Figure BDA0002196444800000092
Figure BDA0002196444800000093
对应的Γ2维插值坐标向量中找到插值边界,表示为
Figure BDA0002196444800000094
将η2
Figure BDA0002196444800000095
作为根节点的左子节点的待插自变量域、插值区间上边界和插值区间下边界R1,将η2
Figure BDA0002196444800000096
作为根节点的右子节点的待插自变量域、插值区间上边界和插值区间下边界R2;
第3步:以由R0构建左右两个子节点的方法,采用Γ3维插值坐标向量来建立R1的两个子节点R1_1和R1_2,和R2的两个子节点R2_1和R2_2;
第4步:以前述(7.3)所采用的方法继续构建下一层的子节点,直到完成ΓN维对应的二叉树层的节点的构建,此时以ΓN维插值坐标向量构建的节点就构成了二叉树的叶子节点;
第5步:递归计算每一个节点中插值区间上边界值域索引和插值区间下边界值域索引的值,方法为:
初始化第一层的一个根节点的插值区间上边界值域索引和插值区间下边界值域索引的值分别为两个边界值作为插值坐标,在深度存储树中的出边索引权值;
假设第m层的所有节点的插值区间上边界值域索引和插值区间下边界值域索引的值都以求出,则第m+1层每个节点的插值区间上边界值域索引和插值区间下边界值域索引的值可以由下面的公式求出:
Figure BDA0002196444800000097
其中,
Figure BDA0002196444800000098
为待求解的m+1层插值区间(上/下)边界值域索引;
Figure BDA0002196444800000099
为m层连接待求的m+1层节点的边界所对应的插值区间上边界值域索引或插值区间下边界值域索引的值;
λm+1为m+1层插值坐标索引维数;
Figure BDA0002196444800000101
为待求的m+1层节点的对应边界作为插值坐标在深度存储树中的出边索引权值。
(1.4)根据动态插值二叉树,采用递归的方式计算插值结果。
计算过程包括如下步骤:
第1步:从动态插值二叉树叶子节点出发,对于ΓN维对应的每个叶子节点,采用待插值自变量ηN,插值区间上边界、插值区间下边界、并根据插值区间上边界值域索引、插值区间下边界值域索引在插值表中找到对应的值域值,进行插值运算(可根据需要选用线性插值或非线性插值方法),求出叶子节点对应的插值结果域;
第2步:从叶子节点层向上一层,计算N-1层中节点的插值结果域的值:N-1层中节点对应的左右两个子节点的插值结果域作为该节点的插值值域的上边界和上边界,节点中的插值区间上边界、插值区间下边界构成插值自变量域,用ηN-1作为插值自变量,进行插值运算(可根据需要选用线性插值或非线性插值方法),求出的插值结果作为该节点的插值结果域的值;
第3步:递归向上,假设第n层的各个节点的插值结果域的值已经求出,则计算n-1层中节点的插值结果域的值:n-1层中节点对应的左右两个子节点的插值结果域作为该节点的插值因变量域的下限和上限,节点的插值区间域的值作为插值自变量域,取ηn-1作为插值自变量,进行插值运算(可根据需要选用线性插值或非线性插值方法),求出的插值结果作为该节点的插值结果域的值;
第4步:递归向上,用第3步中的方法求解各层节点的插值结果域的值,知道根节点R0为止,此时根节点R0的插值结果域的值就是多维插值的最终结果。
实施例1:以一个4维插值作为实例进行说明
问题定义:
定义4维有序插值表定义如下:
Figure BDA0002196444800000111
Figure BDA0002196444800000121
设待插值的插值自变量为:{a=12,b=15,c=45,d=55},求插值结果。
根据本发明所述方法,求解如下:
1.建立插值数据的深度存储树,如下附图1所示
2.建立值域数据存储表,如下表所示
Figure BDA0002196444800000122
Figure BDA0002196444800000131
Figure BDA0002196444800000141
3.从树根到树叶建立动态插值二叉树,如附图2所示。
4.从树叶到树根,求解动态插值二叉树中的插值结果后,如附图3所示。
5.将树根的插值结果域值作为最终4维插值的结果,即插值自变量{a=12,b=15,c=45,d=55}对应的插值结果为225。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (11)

1.一种高维插值的压缩存储及计算方法,其特征在于,插值维数为任意维,维数表示为N,每一维插值表中的值定义为该维的插值坐标,包括如下步骤:
(1.1)将N维插值空间进行排序;
(1.2)根据N维插值空间的排序,建立插值数据的深度存储树,用于存储插值表的各维插值坐标;
(1.3)根据深度存储树查找各维插值自变量的插值边界,递归地构建动态插值二叉树,用于存储各维插值结果;
(1.4)根据动态插值二叉树,采用递归的方式计算插值结果。
2.如权利要求1所述的方法,其特征在于,步骤(1.1)将N维插值空间进行排序,若每一维的插值坐标是唯一的,则插值维数的排序任意进行,插值结果不受该排序过程的影响;若某维插值坐标不唯一即插值维间存在依赖关系,则根据依赖关系的顺序进行排序,排序表示为{Γ123,…,ΓN},相应的待插值自变量表述为{η123,…,ηN}。
3.如权利要求2所述的方法,其特征在于,所述的依赖关系定义为:若Γκ维的每一个插值坐标对应Γκ+1维的插值坐标向量不唯一,则Γκ维和Γκ+1维呈依赖关系,定义Γκ+1维依赖于Γκ维,排序过程中,Γκ维要与Γκ+1维相邻,并且排在Γκ+1维的前面;如果Γκ维中的每一个插值坐标对应的Γκ+1维中的插值坐标向量均不相同,定义为Γκ+1维完全依赖Γκ维;如果Γκ维中的部分插值坐标对应的Γκ+1维中的插值坐标向量不相同,定义为Γκ+1维部分依赖Γκ维;如果Γκ维中的所有插值坐标对应的Γκ+1维中的插值坐标向量均相同,则定义为Γκ+1维不依赖Γκ维。
4.如权利要求1所述的方法,其特征在于,步骤(1.2)中的深度存储树,包括分层结构的层、节点和带权有向边;
每一层包含若干节点,每个节点包含若干个坐标元素,对应着一个插值坐标向量表中各个坐标;
每个节点若其所在层不是最后一层,则从其中的每个坐标元素出发,分别有一条有向边指向下一层的某个节点,下一层相应的这个节点中的插值坐标向量表为本层该节点中的坐标元素对应的被依赖的下一维中的插值坐标向量表。
5.如权利要求4所述的方法,其特征在于,步骤(1.2)建立插值数据的深度存储树包括步骤如下:
(5.1)构造深度存储树的第一层节点:设Γ1维插值表的插值坐标共λ1个,将Γ1维的一个坐标向量表示为
Figure FDA0003549794310000021
用于建立第一层树,则第一层树包含节点1个,节点中包含的元素共λ1个;
(5.2)第m层深度存储树的节点已经全部构建好,则构建第m+1层节点的方法为:
情况1,假设存在Γm+1维插值表对Γm维完全依赖,则Γm+1维所在的m+1共有λm+1=2λm个节点,每个节点由一个Γm+1维插值坐标向量的元素构成其节点元素;构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中其对应的节点;有向边的权值为m层节点元素在其节点中的坐标序号;
情况2,假设存在Γm+1维插值表对Γm维部分依赖,Γm+1维所在的m+1层的节点个数λm+1为其相异的插值坐标向量的数量,每个节点由一个Γm+1维插值坐标向量的元素构成其节点元素;构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中其对应的插值坐标向量所在的节点;有向边的权值为m层节点元素在其节点中的坐标序号;
情况3,假设Γm+1维插值表对Γm维不存在依赖,Γm+1与Γm相互独立,则Γm+1维所在的m+1层的节点个数为1,该节点的节点元素由Γm+1维的插值坐标向量的元素构成;构造从第m层到第m+1层的有向边,由第m层中节点元素域指向第m+1层中的同一个节点;有向边的权值为m层节点元素在其节点中的坐标序号;
上述三种情况下的坐标序号均从0开始计数;
(5.3)采用(5.2)中的方法,递归地构建从Γ2维对应的第2层深度存储树到ΓN对应的第N层深度存储树。
6.如权利要求1所述的方法,其特征在于,所述动态插值二叉树中每一个节点由6个域构成:待插自变量域、插值区间上边界、插值区间下边界、插值区间上边界值域索引、插值区间下边界值域索引和插值结果域。
7.如权利要求6所述的方法,其特征在于,动态插值二叉树的建树过程包括如下步骤:
(7.1)建立根节点R0:取第一维对应的待插自变量η1的值,将Γ1维的插值坐标向量
Figure FDA0003549794310000031
中,找到η1所处的区间
Figure FDA0003549794310000032
作为插值区间,将η1
Figure FDA0003549794310000033
作为根节点R0的待插自变量域、插值区间上边界、插值区间下边界的值;
(7.2)建立根节点R0的左右两个子节点:取第二维的待插自变量η2,在
Figure FDA0003549794310000034
对应的Γ2维插值坐标向量中找到插值边界,表示为
Figure FDA0003549794310000035
Figure FDA0003549794310000036
对应的Γ2维插值坐标向量中找到插值边界,表示为
Figure FDA0003549794310000037
将η2
Figure FDA0003549794310000038
作为根节点的左子节点R1的待插自变量域、插值区间上边界和插值区间下边界,将η2
Figure FDA0003549794310000039
作为根节点的右子节点R2的待插自变量域、插值区间上边界和插值区间下边界;
(7.3)以由R0构建左右两个子节点的方法,采用Γ3维插值坐标向量来建立R1的两个子节点R1_1和R1_2,和R2的两个子节点R2_1和R2_2;
(7.4)以前述(7.3)所采用的方法继续构建下一层的子节点,直到完成ΓN维对应的二叉树层的节点的构建,此时以ΓN维插值坐标向量构建的节点就构成了二叉树的叶子节点;
(7.5)递归计算每一个节点中插值区间上边界值域索引值和插值区间下边界值域索引值。
8.如权利要求7所述的方法,其特征在于,步骤(7.5)通过下述方式确定索引值:
(7.5.1)初始化第一层的一个根节点的插值区间上边界值域索引值和插值区间下边界值域索引值分别为两个边界值作为插值坐标,在深度存储树中的出边索引权值;
(7.5.2)第m层的所有节点的插值区间上边界值域索引值和插值区间下边界值域索引值都已求出,则第m+1层每个节点的插值区间上边界值域索引值和插值区间下边界值域索引值由下面的公式求出:
Figure FDA0003549794310000041
其中,
Figure FDA0003549794310000042
为待求解的m+1层插值区间上/下边界值域索引值;
Figure FDA0003549794310000043
为m层连接待求的m+1层节点的边界所对应的插值区间上边界值域索引值或插值区间下边界值域索引值;
λm+1为m+1层插值坐标索引维数;
Figure FDA0003549794310000044
为待求的m+1层节点的对应边界作为插值坐标在深度存储树中的出边索引权值。
9.如权利要求7所述的方法,其特征在于:步骤(7.1)插值区间的确定过程中当η1恰好等于某个插值坐标时,设
Figure FDA0003549794310000045
则若
Figure FDA0003549794310000046
则取以
Figure FDA0003549794310000047
为下限的区间,若
Figure FDA0003549794310000048
则取
Figure FDA0003549794310000049
10.如权利要求1所述的方法,其特征在于,通过如下步骤计算插值结果:
(9.1)从动态插值二叉树叶子节点出发,对于ΓN维对应的每个叶子节点,采用待插值自变量ηN,插值区间上边界、插值区间下边界、并根据插值区间上边界值域索引、插值区间下边界值域索引在插值表中找到对应的值域值,进行插值运算,求出叶子节点对应的插值结果域;
(9.2)从叶子节点层递归向上,假设第n层的各个节点的插值结果域的值已经求出,则计算n-1层中节点的插值结果域的值:n-1层中节点对应的左右两个子节点的插值结果域作为该节点的插值因变量域的下限和上限,节点的插值区间域的值作为插值自变量域,取ηn-1作为插值自变量,进行插值运算,求出的插值结果作为该节点的插值结果域的值;
(9.3)递归向上,用(9.2)中的方法求解各层节点的插值结果域的值,直到根节点R0为止,此时根节点R0的插值结果域的值就是多维插值的最终结果。
11.如权利要求10所述的方法,其特征在于,所述的插值运算既可用于线性插值,也可用于非线性插值。
CN201910849608.4A 2019-09-09 2019-09-09 一种高维插值的压缩存储及计算方法 Active CN110674133B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910849608.4A CN110674133B (zh) 2019-09-09 2019-09-09 一种高维插值的压缩存储及计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910849608.4A CN110674133B (zh) 2019-09-09 2019-09-09 一种高维插值的压缩存储及计算方法

Publications (2)

Publication Number Publication Date
CN110674133A CN110674133A (zh) 2020-01-10
CN110674133B true CN110674133B (zh) 2022-05-24

Family

ID=69076740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910849608.4A Active CN110674133B (zh) 2019-09-09 2019-09-09 一种高维插值的压缩存储及计算方法

Country Status (1)

Country Link
CN (1) CN110674133B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114254056B (zh) * 2021-12-23 2023-08-08 北京世冠金洋科技发展有限公司 一种多维插值表的处理方法和装置
CN114969029B (zh) * 2022-04-22 2024-07-23 南京航空航天大学 一种基于泰勒展开的多维插值及其维间点取值方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307911A (ja) * 1997-05-08 1998-11-17 Matsushita Giken Kk 多次元補間方法及びその装置
CN104714967A (zh) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 一种基于降维的二维插值方法
CN107330094A (zh) * 2017-07-05 2017-11-07 湖南大学 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010088465A1 (en) * 2009-02-02 2010-08-05 Gentex Corporation Improved digital image processing and systems incorporating the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10307911A (ja) * 1997-05-08 1998-11-17 Matsushita Giken Kk 多次元補間方法及びその装置
CN104714967A (zh) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 一种基于降维的二维插值方法
CN107330094A (zh) * 2017-07-05 2017-11-07 湖南大学 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Efficiently Searching In-Memory Sorted Arrays:Revenge of the Interpolation Search?;Van Sandt P,Chronis Y,Patel J M;《ACM》;20190705;第1-18页 *
二值图像的二叉树法压缩及其改进算法;杨薇薇,赵俭辉;《华中理工大学学报》;19991031;第59-60页 *

Also Published As

Publication number Publication date
CN110674133A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
Snoeyink Point location
Löhner Some useful data structures for the generation of unstructured grids
CN105787126B (zh) k-d树生成方法和k-d树生成装置
CN110674133B (zh) 一种高维插值的压缩存储及计算方法
JP2001522495A (ja) 動的に増加しているデータベース・データ・セットの増加集計方法
CN111177410B (zh) 基于进化R-tree的知识图谱存储和相似性检索方法
Wong et al. Hierarchical fuzzy signature structure for complex structured data
Fang et al. LASSO isotone for high-dimensional additive isotonic regression
Przykucki et al. Shotgun reconstruction in the hypercube
CN111177578A (zh) 一种用户周边最具影响力社区的搜索方法
CN106570196A (zh) 视频节目的搜索方法和装置
CN111507430B (zh) 基于矩阵乘法的特征编码方法、装置、设备及介质
Chen et al. Graph-based evolutionary design of arithmetic circuits
Holzmüller Efficient neighbor-finding on space-filling curves
CN107077481B (zh) 信息处理装置、信息处理方法和计算机可读存储介质
CN109359224B (zh) 一种材质的数据处理方法、装置、电子设备及存储介质
Iliopoulos The Quicksort algorithm and related topics
CN116301899A (zh) 编码方法、装置、计算机设备和存储介质
Schröter Matroidal subdivisions, Dressians and tropical Grassmannians
Maubach The efficient location of neighbors for locally refined n-simplicial grids
Ganapathy et al. On contract-and-refine transformations between phylogenetic trees
Stankovic Some remarks on terminology in spectral techniques for logic design: Walsh transform and Hadamard matrices
Vu et al. On the initial value problem for random fuzzy differential equations with Riemann-Liouville fractional derivative: Existence theory and analytical solution
Yaku et al. Row manipulation in the heterogenous tabular forms with an octal grid model.
Harper et al. The symmetric group, ordered by refinement of cycles, is strongly Sperner

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant