Navigating Net 算法简介

0. Inro \textbf{0. Inro} 0. Inro

1️⃣一些要用到的符号

  1. ( U , dist ⁡ ) (U, \operatorname{dist}) (U,dist)为基础度量空间, S ⊆ U S \subseteq U SU为包含 n ≥ 2 n \geq 2 n2个对象的 Input \text{Input} Input
  2. h = ⌈ log ⁡ 2 diam ⁡ ( S ) ⌉ h=\left\lceil\log _2 \operatorname{diam}(S)\right\rceil h=log2diam(S)
  3. λ \lambda λ​为 ( S , dist ⁡ ) (S, \operatorname{dist}) (S,dist)​的倍增维数

2️⃣本节讨论的定理:存在结构可在 { 空间复杂度:  2 O ( λ ) h 时间复杂度:  2 O ( λ ) h n \small\begin{cases}空间复杂度\text{: }2^{O(\lambda)}h\\\\时间复杂度\text{: }2^{O(\lambda)}hn\end{cases} 空间复杂度2O(λ)h时间复杂度2O(λ)hn内回答 3-ANN \text{3-ANN} 3-ANN问题

1. Sample Nets \textbf{1. Sample Nets} 1. Sample Nets

1️⃣样本网定义:对于 X ⊆ S X \subseteq S XS,要求 Y Y Y X X X r r r-样本网需要满足

  1. Y ⊆ X Y \subseteq X YX
  2. ∀ y 1 , y 2 ∈ Y \forall{}y_1, y_2 \in Y y1,y2Y dist ⁡ ( y 1 , y 2 ) > r \operatorname{dist}\left(y_1, y_2\right) > r dist(y1,y2)>r
  3. X ⊆ ⋃ y ∈ Y B ( y , r ) X \subseteq \bigcup\limits_{y \in Y} B(y, r) XyYB(y,r) ∀ x ∈ X , ∃ y ∈ Y \forall{}x\in{}X,\,\exists{}y\in{}Y xX,yY使得 dist ⁡ ( x , y ) ≤ r \operatorname{dist}(x, y) \leq r dist(x,y)r

2️⃣样本网络实例:度量空间为 ( N 2 , dist=Euclidean ) \left(\mathbb{N}^2,\text{dist=Euclidean})\right. (N2,dist=Euclidean)

image-20240802224755982
  1. Y ⊆ X ⇒ { Y = { 黑点 } X = { 黑点 + 白点 } Y \subseteq X\Rightarrow\small\begin{cases}Y=\{黑点\}\\\\X=\{黑点+白点\}\end{cases} YX Y={黑点}X={黑点+白点}
  2. dist ⁡ ( y 1 , y 2 ) > r ⇒ \operatorname{dist}\left(y_1, y_2\right) > r\Rightarrow dist(y1,y2)>r​单个黑点不能出现在两个圆中
  3. X ⊆ ⋃ y ∈ Y B ( y , r ) ⇒ X \subseteq \bigcup\limits_{y \in Y} B(y, r)\Rightarrow XyYB(y,r)所有点只出现在圆的重叠平面内

2. Structure G \textbf{2. Structure G} 2. Structure G

1️⃣结构的定义

image-20240803124118507
  1. 定义每层结点: Y i Y_i Yi层的点即为 S S S 2 i 2^i 2i-样本网 ( i = 0 , 1 , . . . , h ) (i=0,1,...,h) (i=0,1,...,h)
    • Y h Y_h Yh只有一个对象,并且 2 h ≥ diam ( S ) 2^h\geq{}\text{diam}(S) 2hdiam(S)
    • 框定 ∣ Y i ∣ ≤ n |Y_i|\leq{}n Yin后,使得 G G G的空间复杂度变为了 O ( h n ) O(hn) O(hn)
  2. 定义结点的连接
    • 对于 y ∈ Y i y\in{}Y_{i} yYi z ∈ Y i − 1 z\in{}Y_{i-1} zYi1如果满足 dist ⁡ ( y , z ) ≤ 7 ⋅ 2 i \operatorname{dist}(y, z) \leq 7 \cdot 2^i dist(y,z)72i则建立有向连接 y ⟶ z y\longrightarrow{}z yz
    • N i + ( y ) N_i^{+}(y) Ni+(y)表示 y y y 的出度 (out-neighbors) \text{(out-neighbors)} (out-neighbors)

2️⃣结构的性质: ∣ N i + ( y ) ∣ = 2 O ( λ ) \left|N_i^{+}(y)\right|=2^{O(\lambda)} Ni+(y) =2O(λ) ∣ N i + ( y ) ∣ \left|N_i^{+}(y)\right| Ni+(y) 随着 λ \lambda λ​的增加指数级增加

3. Query \textbf{3. Query} 3. Query

1️⃣查询过程

image-20240731222415006
  1. 先将 S S S转化为图 G G G​的结构
  2. 对于查询对象 q ∈ U \ S q \in U \backslash S qU\S我们在图 G G G中沿某条路径下降(称之为 π \pi π)
    • 起始:访问 G G G根节点 Y h Y_h Yh
    • 下降: y ∈ Y i y\in{}Y_{i} yYi z ∈ Y i − 1 z\in{}Y_{i-1} zYi1 i ≥ 1 i\geq1 i1时,按照 dist ⁡ ( q , z ) \operatorname{dist}(q, z) dist(q,z)​ 最小化原则下降,平局时任选
  3. 查询结果即返回 π \pi π路径中离 q q q最近的一点,即 e ∗ e^{*} e

2️⃣查询性质

  1. 查询的时间复杂度: ∣ N i + ( y ) ∣ h = 2 O ( λ ) h \left|N_i^{+}(y)\right|h=2^{O(\lambda)}h Ni+(y) h=2O(λ)h​​
  2. 该查询是 q q q 3-ANN \text{3-ANN} 3-ANN,即 ∃ e ∈ { y h y h − 1 … y 0 } \exist{}e\in{}\{y_hy_{h-1}\ldots{}y_0\} e{yhyh1y0}满足 dist ( q , e ) ≤ 3 ∗ dist ( q , e ∗ ) \text{dist}(q,e)\leq{}3*\text{dist}(q,e^*) dist(q,e)3dist(q,e)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/8883.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

flutter 语法糖库 flutter_magic 发布 1.0.1

众所周知,flutter 是一款由谷歌开发的跨平台工具,一直在开发者心中久负盛名。 但是语法死亡嵌套是个诟病。 最近有 flutter 开发者 panjing,发布了 flutter 语法精简库,flutter_magic,可以让语法变成类似 swiftui 一…

【日志】392.判断子序列

2024.11.8 【力扣刷题】 392. 判断子序列 - 力扣(LeetCode)https://leetcode.cn/problems/is-subsequence/?envTypestudy-plan-v2&envIdtop-interview-150 整个题从一开始就是打算从双指针的思想往下走的。但是,我设置了四个变量sLeft…

07 Lambda和StreamAPI

目录 1.Lambda表达式 语法格式: 简单示例 2.函数式接口 常见的函数式接口 1. Supplier 2. Consumer 3. Function,> 4. Predicate 总结 3.流式编程——StreamAPI 基本概念 常见的 Stream 操作 1. 创建 Stream 2. 中间操作 3. 终端操作 简单练习 …

TMDOG的Gin学习笔记_02——Gin集成支付宝支付沙箱环境

TMDOG的Gin学习笔记_02——Gin集成支付宝支付沙箱环境 博客地址:TMDOG的博客 作者自述: 最近忙着整理自己的项目代码,终于有时间更新一下博客。这次的内容是关于如何在Gin框架下集成支付宝的支付沙箱环境,具体包括如何初始化支付…

Docker网络概述

1. Docker 网络概述 1.1 网络组件 Docker网络的核心组件包括网络驱动程序、网络、容器以及IP地址管理(IPAM)。这些组件共同工作,为容器提供网络连接和通信能力。 网络驱动程序:Docker支持多种网络驱动程序,每种驱动程…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时,需要排查蓝牙节点是否对应、固件是否加载成功,本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法,触觉智能SBC3568主板演示 修改对应节点 开发板蓝牙硬件连接为UART1,修改对应的节点,路径为…

QT 如何使QLabel的文字垂直显示

想要实现QLabel文字的垂直显示,可以通过使用“文字分割填充换行符”的方式来实现QLabel文字垂直显示的效果,下面是效果图: 具体实现代码: #include "mainwindow.h" #include "ui_mainwindow.h"MainWindow:…

数据结构选择题及答案

一、选择题 1、下列查找方法中,( )适用于查找有序单链表。 A.分块查找; B.哈希查找; C.顺序查找; D.二分查找; 2、在有n个结点的二叉树的二叉链表表示中,空指针数为( )。 A&#xf…

2024上半年上午30

CPU没有减法器的说法

php实现excel表格数据快速入库

项目场景:大概有一百来份excel表格数据需要整理入库,基础字段一样,如果按照传统的处理方法,需要先整理好数据(数据清洗、合并等),并且按照系统导入模板整理出来,费时费力。 需要解决…

【青牛科技】GC5931:工业风扇驱动芯片的卓越替代者

在工业领域,工业风扇的稳定高效运行对于维持良好的生产环境至关重要。而驱动芯片作为工业风扇控制系统的核心元件,其性能直接影响风扇的工作状态。芯麦 GC5931 作为一款新型驱动芯片,在替代 A5931/Allegro 应用于工业风扇中展现出了非凡的优势…

CST案例分析:TLM算法仿真5G毫米波手机天线和整机

5G时代,产品复杂,更新换代快,如何快速仿真不同的设计版本是影响研发效率的关键问题。本期我们用达索系统SIMULIA自己的手机模型来演示5G毫米波的仿真。 (图片仅为概念演示,未经达索系统授权不得使用) 完整的…

小猿口算炸鱼脚本

目录 写在前面: 一、关于小猿口算: 二、代码逻辑 1.数字识别 2.答题部分 三、代码分享: 补充:软件包下载 写在前面: 最近小猿口算已经被不少大学生攻占,小学生直呼有挂。原本是以为大学生都打着本…

【debug】QT 相关问题error汇总

总结一下碰到过的所有问题error以及解决方案 qt的UI更新之后构建后发现没有变化 取消项目中的Shadow build的勾选,作用是取消影子构建,此后构建目录与源码处于同一目录,每次编译更新程序使用的UI文件error: ‘class QWidget’ has no member…

滑动窗口最大值

239. 滑动窗口最大值 - 力扣(LeetCode) 题目描述 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 …

GEE 案例——利用哨兵-2 图像时间序列和谷歌地球引擎云计算自动绘制和监测香港海洋水质参数

目录 简介 结论 代码 结果 APP链接 引用 简介 对沿海水质的持续监测对于水资源管理和海洋生态系统的可持续性至关重要。 遥感数据(如哨兵-2 卫星图像)可提供用于时间序列分析的高分辨率观测数据,而基于云的谷歌地球引擎(GE…

Redis4:Redis的Java客户端

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

基于Java Web的传智播客crm企业管理系统的设计与实现

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

【Eclipse系列】eclipse安装与常规配置(含插件)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、下载与安装 二、常规设置 1.1.设置工作空间(workspace) 1.2.设置字体和字体大小 ​编辑 1.3.设置编码 1.4.去除验证(validation) 1.5.去除单词验证(spelli…

抗辐照MCU芯片工艺解析:如何保障芯片的可靠性

行星探索、轨道飞行器任务和空间研究在内的太空项目需要创新的航天器系统技术提供通信与处理功能。随着商业航天的发展,对于航天电子系统需要考虑高可靠与高性能的同时,还需要考虑降低开发成本和缩短上市时间。 以MCU芯片AS32A401为例,该芯片…