• 摘要

  已经针对各种应用提出了用于多维空间的线性映射的若干方案,诸如用于时空数据库的访问方法和图像压缩。在这些应用中,来自这种线性映射的最期望的属性之一是聚类,这意味着多维空间中的对象之间的局部性被保留在线性空间中。人们普遍认为希尔伯特空间填充曲线可以实现最佳聚类[1],[14]。在本文中,我们通过导出任意形状(例如,多边形和多面体)的给定查询区域中的聚类数的闭式公式来分析希尔伯特空间填充曲线的聚类特性。一般情况的渐近解和特殊情况的精确解都推广了以前的工作[14]。他们同意经验结果,即簇的数量取决于查询区域的超曲面区域而不是其超体积。我们还表明,希尔伯特曲线比z曲线实现更好的聚类。从实际的角度来看,本文中给出的公式提供了一个简单的度量,可用于预测所需的磁盘访问行为,从而预测总访问时间。

  • 简介

  与一维情况相比,多维访问方法的设计是困难的,因为没有保留空间局部性的总排序。 一旦找到给定空间或多维数据库的总排序,就可以使用任何一维访问方法(例如,B+ -tree),这可以为多维查询产生良好的性能。 在Orenstein [19]提出的多维索引技术中出现了有序的排序应用。 我们的想法是在多维空间中为每个点在一维空间上开发单个数字索引,这样,对于任何给定对象,从最小索引到最大索引的索引范围包括不在对象本身中的几个点。

  考虑数据库的线性遍历或典型范围查询,其中记录签名使用多属性散列[24]映射到存储在磁盘上的存储桶。线性遍历指定从磁盘获取对象的顺序,以及获取的块数。非连续磁盘访问的数量将由获取的块的顺序确定。尽管在范围查询中没有明确指定所获取的块的顺序,但是可以合理地假设所获取的块集可以由数据库服务器或磁盘控制器机制重新排列为多个连续块组[25]。由于为了减少额外的搜索时间而获取一组连续的磁盘块而不是随机分散的集合更有效,因此希望在多维属性空间中靠近在一起的对象也在一维磁盘空间中靠近在一起。在磁盘块的一维维序列上对多维数据点进行良好聚类还可以减少范围查询所需的磁盘访问次数。

  除了上述应用程序之外,其他几个应用程序也可以从保留局部性的线性映射中受益:

  1. 在传统数据库中,必须将多属性数据空间映射到一维磁盘空间,以便有效处理部分匹配查询[22]; 在数值分析中,大型多维数组[6]必须存储在磁盘上,这是一种线性结构。
  2. 在图像压缩中,一系列方法使用线性映射将图像转换为位串; 随后,可以应用任何标准压缩方法[18]。 良好的像素聚类将导致较少数量的相似像素值的长行程,从而提高压缩比。
  3. 在地理信息系统(GIS)中,运行编码形式的图像表示是排序敏感的,因为它们基于图像的表示作为运行集[1]。
  4. 计算几何问题中的启发式算法使用线性映射。 例如,对于旅行商问题,城市是线性排序并相应地访问[2]。
  5. 保持位置的映射用于数字采样信号[4]的带宽减少和图形显示生成[20]。
  6. 在科学并行处理中,局部保持线性化技术被广泛用于动态非结构化网格划分[17]。

  在文献中已经提出了复杂的映射函数。 提出了一种基于来自坐标的交错比特,称为z排序[19]。 它的改进是由Faloutsos [8]提出的,在交错比特上使用格雷编码。 第三种方法,基于希尔伯特曲线[13],被提出用于二次密钥检索[11]。 在数学上下文中,这三个映射函数分别基于不同的空间填充曲线:z曲线,格雷编码曲线和希尔伯特曲线。 图1示出了由4X4网格的空间填充曲线产生的线性排序。

  结果表明,在大多数情况下,基于希尔伯特空间填充曲线的线性映射在保持局部性方面优于其他曲线[14]。 在本文中,我们提供了希尔伯特空间填充曲线的聚类效应的分析结果,侧重于任意形状的范围查询,这需要在多维空间中检索给定超矩形或多面体内的所有对象。

  出于分析的目的,我们假设具有有限粒度的多维空间,其中每个点对应于网格单元。希尔伯特空间填充曲线对网格单元施加线性排序,为每个单元分配单个整数值。理想情况下,希望具有导致更少磁盘访问的映射。但是,磁盘访问次数取决于几个因素,例如磁盘页面的容量,拆分算法,插入顺序等。这里,我们使用网格点的平均簇数或连续运行数,表示查询区域的子空间,作为希尔伯特曲线的聚类性能的度量。如果每个网格点映射到一个磁盘块,则此度量与非连续磁盘访问的数量完全对应,这涉及额外的查找时间。该度量也与访问的磁盘块的数量高度相关,因为(在磁盘块中有许多网格点)连续点可能在同一块中,而不连续点上的点可能在不同的块中。该测量仅用于使分析易于处理,并且在[14]中讨论了该测量的一些弱点。

定义1.1   给定d维查询,群集被定义为查询内部的一组网格点,这些网格点通过映射(或曲线)连续地连接。

  例如,z曲线中有两个聚类(图2a),但对于相同的二维矩形查询Sx X Sy,在希尔伯特曲线(图2b)中只有一个聚类。 现在,我们将研究的问题如下:给定代表查询的d维直线多面体,找到希尔伯特曲线的多面体内的平均簇数

  d维直线多面体的定义见第3节。注意,在有限粒度的d维空间中,对于任何d维物体,如球体,椭球,二次锥等,都存在相应的 (直线)多面体,在给定对象内包含完全相同的网格点集。 因此,上述问题的解决方案将涵盖关于任意形状的任何简单连接对象的更一般情况。

  • 历史调查和相关工作

  佩诺在1890年发现了连续曲线的存在,该曲线穿过一个封闭的正方形的每个点[21]。 根据乔丹关于连续曲线的精确概念(1887年),Peano曲线是闭合单位区间I=[0,1]到闭合单位平方S =[0,1]2的连续映射; 这种类型的曲线被称为Peano曲线或空间填充曲线[28]。正式地

  虽然Peano发现了第一个空间填充曲线,但是1891年的Hilbert是第一个认识到允许构造整类空间填充曲线的一般几何过程的人[13]。 如果区间I可以连续映射到方形S上,那么在将I分成四个全等子区间并且将S分成四个全等子方格后,每个子区间可以连续地映射到一个子方格上。 如果这是无限期进行的,I和S被分成22n个全等复制品,n=1;2;3,...,∞。 希尔伯特证明了子方格可以被安排,以便保持包含关系,也就是说,如果一个正方形对应于一个区间,那么它的子方格对应于该区间的子区间。图3描述了如何对前三个步骤执行该过程。已经证明,希尔伯特曲线是连续的,射影的,无处可辨的映射[26]。然而,希尔伯特仅以几何形式给出了空间填充曲线,用于将I映射到S(即,二维欧几里德空间)。在[14],[26]中描述了三维希尔伯特曲线的产生。在[5]中给出了对于更高维空间的分析形式的希尔伯特曲线的推广。

  在本文中,假设具有有限粒度的d维欧几里德空间。 因此,我们使用d维希尔伯特空间填充曲线(k≥1和d≥2)的k阶近似,其映射整数集[0; 2kd-1]到d维整数空间[0; 2k-1]d

  图3中的希尔伯特曲线的第一,第二和第三步骤的图分别对应于H21,H22和H23

  

  Jagadish [14]通过仅考虑2X2范围查询来比较几个空间填充曲线的聚类属性。 在z曲线(2.625),格雷编码曲线(2.5)和希尔伯特曲线(2)中,希尔伯特曲线在最小化聚类数量方面是最佳的。 括号内的数字是2X2范围查询的平均簇数。 Rong和Faloutsos [23]推导出z曲线的平均簇数的闭式表达式,其中2X2范围查询得到2.625(与[14]中给出的结果完全相同),并且一般来说,方法查询矩形的周长的三分之一加上不受欢迎的方向上矩形边长的三分之二。 Jagadish [16]得到了二维网格中Hilbert曲线的平均簇数的精确表达式,但仅限于2X2和3X3个方形区域。 这是本文中推导出的更通用公式的特例。

  Abel和Mark [1]报告了使用各种指标探索这种映射函数的相对属性的实证研究。 他们得出结论,Hilbert顺序值得更密切关注作为z曲线排序的替代。 Bugnion等 估计了二维矩形查询的平均簇数和簇间间隔的分布。 他们根据任何特定空间填充曲线的垂直和水平边缘的分数得出估计值。

  但是,这些分数仅用于二维空间,无需任何计算或形式验证。 在本文中,我们正式证明,在d维空间中,随着希尔伯特曲线近似的阶数增长为无穷大,d个不同的边缘方向接近均匀分布。

  文献中已经提出了几个与二维四叉树节点的平均数量密切相关的分析。 Dyer [7]对2nX2n的正方形的最佳,最差和平均情况进行了分析,给出了平均情况的近似公式。 Shaffer [27]给出了一个封闭的公式,表明这个方块在锚定在给定位置(x; y)时所需的块的确切数量; 他还给出了这些方块的平均块数的公式(在所有可能位置上的平均值)。 这些公式中的一些被推广为任意的二维和d维矩形[9],[10]。

转载于:https://www.cnblogs.com/dushuxiang/p/10402252.html

Analysis of the Clustering Properties of the Hilbert Space-Filling Curve 论文笔记相关推荐

  1. 【论文笔记】Unsupervised Deep Embedding for Clustering Analysis(DEC)

    [论文笔记]Unsupervised Deep Embedding for Clustering Analysis(DEC) 文章题目:Unsupervised Deep Embedding for ...

  2. 《Catalysis Clustering with GAN by Incorporating Domain Knowledge》论文精读分析

    <Catalysis Clustering with GAN by Incorporating Domain Knowledge>论文精读分析 ABSTRACT 背景介绍:聚类是一种重要的 ...

  3. 论文笔记-DEC (Deep Embedded Clustering)

    论文笔记-DEC (Deep Embedded Clustering) 知识点1.将聚类的度量参考T-SNE中的t-分布,将聚类的度量转换成一个概率值(软分配,qij 表示将样本 i 分配给 j 簇的 ...

  4. 【论文笔记】:《Lifelong Spectral Clustering》

    论文笔记:Lifelong Spectral Clustering 论文信息 个人总结 谱聚类 论文做了什么(Abstract) 公式解读 The Proposed L2SC Model 提出模型 M ...

  5. 再生核希尔伯特空间(Reproducing Kernel Hilbert Space)

    再生核希尔伯特空间(Reproducing Kernel Hilbert Space) 一.Basic Definitions 1.The Basic Idea 2.The Reproducing K ...

  6. 论文笔记:Non-Profiled Deep Learning-based Side-Channel attacks with Sensitivity Analysis(DDLA)

    论文笔记:Non-Profiled Deep Learning-based Side-Channel attacks with Sensitivity Analysis(DDLA) Benjamin ...

  7. [论文笔记] In-Memory Fuzzing for Binary Code Similarity Analysis

    概述 In-Memory Fuzzing for Binary Code Similarity Analysis [ASE 2017] Shuai Wang and Dinghao Wu The Pe ...

  8. 机器学习笔记: 聚类 模糊聚类与模糊层次聚类(论文笔记 Fuzzy Agglomerative Clustering :ICAISC 2015)

    前言:模糊层次聚类是参考了论文"A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forec ...

  9. 论文笔记(一)《Intriguing properties of neural networks》

    对抗样本(一)<Intriguing properties of neural networks> 神经网络的有趣特性 两点: 性质1:单个的深层神经元与随机线性组合的多个深层神经元并没有 ...

最新文章

  1. 【Java】阶段性总结练习------图书管理系统实现
  2. python画函数曲线-使用Python画数学函数曲线
  3. Android中的跨进程通信方法实例及特点分析(二):ContentProvider
  4. hdu5040 不错的广搜旋转的摄像头
  5. websocket中发生数据丢失_tcp协议;websocket协议;同源策略和跨域
  6. Elasticsearch 的使用,看这一篇就够了!
  7. 【debug】json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
  8. OpenGL 法线贴图 切线空间 整理
  9. java改变线程堆栈大小,在运行时更新java线程的堆栈大小
  10. CRNN论文阅读笔记
  11. 神经网络在线和离线的区别,神经网络网站
  12. rtl8812bu网卡Linux驱动,Linux 安装 RTL8812AU 无线 USB 网卡驱动
  13. Linux设备模型分析之bus
  14. 5G核心网技术基础自学系列 | (增强型)专用核心网
  15. 润乾报表入门问题记录
  16. 遇到“服务器内部错误http500怎么办?
  17. Mall商城后台管理系统——(Vue+SSM)
  18. oracle RMAN备份
  19. CSS简单实现圣杯布局和双飞翼布局
  20. 文档编辑之markdown语法(typora)

热门文章

  1. 基于python的游戏设计与实现-基于Python的飞机大战游戏系统设计与实现开题报告...
  2. python读文件操作-python 之文件操作
  3. python入门练习题-python基础知识练习题一
  4. python 自动化-python自动化之(自动化测试报告)
  5. python图片-Python图像处理
  6. python官网地址-python官网地址
  7. 汇编和python-Python入门你要懂哪些?这篇文章总算讲清楚了
  8. python语言中文社区-python的汉语
  9. python开发工具排名-Python程序员必备的四款开发工具
  10. python爬虫入门-Python 爬虫从入门到进阶之路(一)