CN110674133B - 一种高维插值的压缩存储及计算方法 - Google Patents
一种高维插值的压缩存储及计算方法 Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 21
- 230000006835 compression Effects 0.000 title claims abstract description 8
- 238000007906 compression Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 65
- 239000013598 vector Substances 0.000 claims abstract description 60
- 230000001419 dependent effect Effects 0.000 claims description 13
- 238000012163 sequencing technique Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2264—Multidimensional index structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
- G06F16/24566—Recursive 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维插值空间进行排序,若每一维的插值坐标是唯一的,则插值维数的排序任意进行,插值结果不受该排序过程的影响;若某维插值坐标不唯一即插值维间存在依赖关系,则根据依赖关系的顺序进行排序,排序表示为{Γ1,Γ2,Γ3,…,ΓN},相应的待插值自变量表述为{η1,η2,η3,…,ηN}。
优选的,所述的依赖关系定义为:若Γκ维的每一个插值坐标对应Γκ+1维的插值坐标向量不唯一,则Γκ维和Γκ+1维呈依赖关系,定义Γκ+1维依赖于Γκ维,排序过程中,Γκ维要与Γκ+1维相邻,并且排在Γκ+1维的前面;如果Γκ维中的每一个插值坐标对应的Γκ+1维中的插值坐标向量均不相同,定义为Γκ+1维完全依赖Γκ维;如果Γκ维中的部分插值坐标对应的Γκ+1维中的插值坐标向量不相同,定义为Γκ+1维部分依赖Γκ维;如果Γκ维中的所有插值坐标对应的Γκ+1维中的插值坐标向量均相同,则定义为Γκ+1维不依赖Γκ维。
优选的,所述的步骤(1.2)中的深度存储树,包括分层结构的层、节点和带权有向边;
每一层包含若干节点,每个节点包含若干个坐标元素,对应着一个插值坐标向量表中各个坐标;
每个节点若其所在层不是最后一层,则从其中的每个坐标元素出发,分别有一条有向边指向下一层的某个节点,下一层相应的这个节点中的插值坐标向量表为本层该节点中的坐标元素对应的被依赖的下一维中的插值坐标向量表。
优选的,所述的步骤(1.2)建立插值数据的深度存储树包括步骤如下:
(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.2)建立根节点R的左右两个子节点:取第二维的待插自变量η2,在对应的Γ2维插值坐标向量中找到插值边界,表示为在对应的Γ2维插值坐标向量中找到插值边界,表示为将η2和作为根节点的左子节点的待插自变量域、插值区间上边界和插值区间下边界R1,将η2和作为根节点的右子节点的待插自变量域、插值区间上边界和插值区间下边界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层每个节点的插值区间上边界值域索引和插值区间下边界值域索引的值可以由下面的公式求出:
其中,
λm+1为m+1层插值坐标索引维数;
优选的,通过如下步骤计算插值结果:
(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维插值空间进行排序;
若每一维的插值坐标是唯一的,则插值维数的排序可以任意进行,所述方法的插值结果不受该排序过程的影响;
若有插值维间存在依赖关系,则根据依赖关系的顺序进行排序。对应的其他维的插值坐标不同,则按定义顺序进行排序。将排序表示为{Γ1,Γ2,Γ3,…,ΓN},相应的待插值自变量可以表述为{η1,η2,η3,…,ηN}。
上述依赖关系可以表述为:若Γκ的每一个插值坐标,对应这Γκ+1维的插值表示不唯一的,极端情况下,每一个Γκ维插值坐标点对应的Γκ+1维的插值坐标向量均不一样,则Γκ维和Γκ+1维呈依赖关系,定义Γκ+1维依赖于Γκ维。排序过程中,Γκ维要与Γκ+1维相邻,并且排在Γκ+1维的前面。如果Γκ维中的每一个节点对应的Γκ+1维中的插值坐标向量均不相同,定义为Γκ+1维完全依赖Γκ维;如果Γκ维中的部分节点对应的Γκ+1维中的插值坐标向量不相同,定义为Γκ+1维部分依赖Γκ维;如果Γκ维中的所有节点对应的Γκ+1维中的插值坐标向量均相同,则定义为Γκ+1维不依赖Γκ维。
(1.2)根据N维空间的排序,建立插值数据的深度存储树,用于存储插值表的各维插值坐标;
深度存储树为分层结构的层、节点和带权有向边构成;每一层包含若干节点,每个节点包含若干个坐标元素,对应着一个插值坐标向量表中各个坐标;每个节点,若其所在层不是最后一层,则从其中的每个坐标元素出发,分别有一条有向边指向下一层的某个节点,下一层相应的这个节点中的插值坐标向量表为本层该节点中的坐标元素对应的被依赖的下一维中的插值坐标向量表;
建立插值数据的深度存储树的方法包括步骤如下:
第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维的插值坐标向量中,找到η1所处的区间作为插值区间,将η1和作为根节点R0的待插自变量域、插值区间上边界、插值区间下边界的值;当η1恰好等于某个插值表值时,设则若则取以为下限的区间,若则取
第2步:建立根节点R的左右两个子节点:取第二维的待插自变量η2,在对应的Γ2维插值坐标向量中找到插值边界,表示为在对应的Γ2维插值坐标向量中找到插值边界,表示为将η2和作为根节点的左子节点的待插自变量域、插值区间上边界和插值区间下边界R1,将η2和作为根节点的右子节点的待插自变量域、插值区间上边界和插值区间下边界R2;
第3步:以由R0构建左右两个子节点的方法,采用Γ3维插值坐标向量来建立R1的两个子节点R1_1和R1_2,和R2的两个子节点R2_1和R2_2;
第4步:以前述(7.3)所采用的方法继续构建下一层的子节点,直到完成ΓN维对应的二叉树层的节点的构建,此时以ΓN维插值坐标向量构建的节点就构成了二叉树的叶子节点;
第5步:递归计算每一个节点中插值区间上边界值域索引和插值区间下边界值域索引的值,方法为:
初始化第一层的一个根节点的插值区间上边界值域索引和插值区间下边界值域索引的值分别为两个边界值作为插值坐标,在深度存储树中的出边索引权值;
假设第m层的所有节点的插值区间上边界值域索引和插值区间下边界值域索引的值都以求出,则第m+1层每个节点的插值区间上边界值域索引和插值区间下边界值域索引的值可以由下面的公式求出:
其中,
λm+1为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维有序插值表定义如下:
设待插值的插值自变量为:{a=12,b=15,c=45,d=55},求插值结果。
根据本发明所述方法,求解如下:
1.建立插值数据的深度存储树,如下附图1所示
2.建立值域数据存储表,如下表所示
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维插值空间进行排序,若每一维的插值坐标是唯一的,则插值维数的排序任意进行,插值结果不受该排序过程的影响;若某维插值坐标不唯一即插值维间存在依赖关系,则根据依赖关系的顺序进行排序,排序表示为{Γ1,Γ2,Γ3,…,ΓN},相应的待插值自变量表述为{η1,η2,η3,…,ηN}。
3.如权利要求2所述的方法,其特征在于,所述的依赖关系定义为:若Γκ维的每一个插值坐标对应Γκ+1维的插值坐标向量不唯一,则Γκ维和Γκ+1维呈依赖关系,定义Γκ+1维依赖于Γκ维,排序过程中,Γκ维要与Γκ+1维相邻,并且排在Γκ+1维的前面;如果Γκ维中的每一个插值坐标对应的Γκ+1维中的插值坐标向量均不相同,定义为Γκ+1维完全依赖Γκ维;如果Γκ维中的部分插值坐标对应的Γκ+1维中的插值坐标向量不相同,定义为Γκ+1维部分依赖Γκ维;如果Γκ维中的所有插值坐标对应的Γκ+1维中的插值坐标向量均相同,则定义为Γκ+1维不依赖Γκ维。
4.如权利要求1所述的方法,其特征在于,步骤(1.2)中的深度存储树,包括分层结构的层、节点和带权有向边;
每一层包含若干节点,每个节点包含若干个坐标元素,对应着一个插值坐标向量表中各个坐标;
每个节点若其所在层不是最后一层,则从其中的每个坐标元素出发,分别有一条有向边指向下一层的某个节点,下一层相应的这个节点中的插值坐标向量表为本层该节点中的坐标元素对应的被依赖的下一维中的插值坐标向量表。
5.如权利要求4所述的方法,其特征在于,步骤(1.2)建立插值数据的深度存储树包括步骤如下:
(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.2)建立根节点R0的左右两个子节点:取第二维的待插自变量η2,在对应的Γ2维插值坐标向量中找到插值边界,表示为在对应的Γ2维插值坐标向量中找到插值边界,表示为将η2和作为根节点的左子节点R1的待插自变量域、插值区间上边界和插值区间下边界,将η2和作为根节点的右子节点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层每个节点的插值区间上边界值域索引值和插值区间下边界值域索引值由下面的公式求出:
其中,
λm+1为m+1层插值坐标索引维数;
10.如权利要求1所述的方法,其特征在于,通过如下步骤计算插值结果:
(9.1)从动态插值二叉树叶子节点出发,对于ΓN维对应的每个叶子节点,采用待插值自变量ηN,插值区间上边界、插值区间下边界、并根据插值区间上边界值域索引、插值区间下边界值域索引在插值表中找到对应的值域值,进行插值运算,求出叶子节点对应的插值结果域;
(9.2)从叶子节点层递归向上,假设第n层的各个节点的插值结果域的值已经求出,则计算n-1层中节点的插值结果域的值:n-1层中节点对应的左右两个子节点的插值结果域作为该节点的插值因变量域的下限和上限,节点的插值区间域的值作为插值自变量域,取ηn-1作为插值自变量,进行插值运算,求出的插值结果作为该节点的插值结果域的值;
(9.3)递归向上,用(9.2)中的方法求解各层节点的插值结果域的值,直到根节点R0为止,此时根节点R0的插值结果域的值就是多维插值的最终结果。
11.如权利要求10所述的方法,其特征在于,所述的插值运算既可用于线性插值,也可用于非线性插值。
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)
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)
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)
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 |
-
2019
- 2019-09-09 CN CN201910849608.4A patent/CN110674133B/zh active Active
Patent Citations (3)
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)
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 |