当前位置: 首页 > news >正文

“计算理论之美”课程笔记四:高维空间组合优化

高维空间的问题

高维空间点集直径

一维直径

在一位空间上的直径是很好求得的,因为我们只要找到所有点中的 \(\min\)\(\max\),就可以 \(O(n)\) 的求得精确解。并且空间复杂度是 \(O(1)\) 的(我们只要存储历史最大值和最小值)。

二维直径

第一种算法是暴力算法,我们可以 \(O(n^2)\) 的枚举点对,然后选出其中最大的距离。这个算法可以在 \(O(n^2)\) 的时间内求得精确解。

第二种算法是近似方法。我们任意选择一个点,然后找到距离它最远的点。假设我们选到的是 \((u,u')\),而真正的直径是 \((v,v')\),那么,连接 \((u,v)\)\((u,v')\),由三角形三边关系得 \((v,v')\le(u,v)+(u,v')\)(可以共线,故可以取等),而又因为 \(u'\) 是离 \(u\) 最远的点,所以 \((u,v)\le (u,u'),(u,v')\le (u,u')\)。则 \((v,v')\le 2(u,u')\)。所以,这个算法可以在 \(O(n)\) 的时间内做到 \(2-\) 近似。

我们可以类比树上直径计算得到第三种算法,两次 \(dfs\),每次找到离当前点最远的点。这样的做法也是 \(O(n)\) 的,但是很遗憾,这依然不是精确解。因为如图中的情况,我们从 \(A\) 开始,找到 \(B\),然后找到 \(BB'\)。但很明显不如 \(AB'\)。树上的情况不能套用到这里来。 不过,这个算法依旧是 \(\sqrt 3-\) 近似的。因为“在相等的两个中任选一个”已经是最极限的情况了。

image

第四种算法,我们可以先 \(O(n\log n)\) 的算法求出凸包,然后观察到,对于每个点,和它距离最远的点是顺时针单调移动的(这个算法又称旋转卡壳),用双指针维护即可,复杂度 \(O(n)\),不过有求凸包的瓶颈在,所以 \(O(n\log n)\) 是最终的复杂度。

\(d\) 维直径

我们观察二维的几种算法。首先,第一种算法依旧可以给出精确解,但是因为 \(d\) 变成了变量,所以计算距离的复杂度就要算进去,是 \(O(n^2d)\) 的。

第二种也类似,变成 \(O(nd)\)\(2-\) 近似。

第三种也没变,还是 \(\sqrt 3-\) 近似。

唯独在二维中最优的第四种算法,不仅求凸包变成了困难的(仅三维就要 \(n^2\) 的,单调移动的性质更是不复存在了。

那么,既然优秀的做法不复存在,我们就来重新介绍一种线性时间的 \((1+\epsilon)-\) 近似算法。

首先,我们通过算法二估计出直径 \(l\),然后按照 \(\ell=\dfrac{\epsilon l}{\sqrt{d}}\) 将所有的点划分成 \(\ell^d\) 的 hyper cube。接着,我们将所有的点近似到其所在格子的中心,这一步,因为是 \(\ell^d\) 的小方格,所以最多移动 \(\ell\sqrt{d}\)

然后,我们对所有的小方格暴力求答案,因为直径大约是 \(l\),所以格子一共有 \((\dfrac{\sqrt d}{\epsilon})^d\) 个。

而总的方格数量是 \(16\),所以总的复杂度就是 \(O(\ell^2+n\log d)\) 的。而求出的直径误差不超过 \(2\sqrt d\ell=2\epsilon l\),所以答案是 \((1+\epsilon)-\) 近似的。

反直觉现象

亚线性算法

降维

JL定理

JL定理的局限性

线性回归

子空间 JL

内蕴维度

Metric Enbedding

Tree Enbedding

哈希

http://www.gsyq.cn/news/12599.html

相关文章:

  • 4gl
  • 926
  • 免费领夸克盘1tb
  • sql优化个人总结
  • Powershell 入门
  • US$100 Free Activation VVDI2 Copy 48 Transponder by OBDII Function Authorization Service
  • 题解:P13523 [KOI 2025 #2] 序列与查询
  • 实用指南:(14)ASP.NET Core2.2 中的日志记录
  • 论文笔记:How Can Recommender Systems Benefit from Large Language Models: A Survey - 详解
  • newDay04
  • day005
  • 软工9.26
  • 告别照相馆!这些小软件让你轻松搞定证件照!
  • Ext-js-即时入门-全-
  • 基于大数据的水产品安全信息可视化分析框架【Hadoop、spark、可视化大屏、课程毕设、毕业选题、数据分析、资料爬取、数据可视化】
  • 什么?就是算法面试(5)------NMS(非极大值抑制)原理 Soft-NMS、DIoU-NMS
  • CSS值
  • 2025_Polar秋季赛_web全解
  • 本地调试接口时遇到的跨域问题,十分钟解决
  • CF1995D Cases
  • 《etcd库——键值存储系统》 - 教程
  • 深度学习周报(9.15~9.21) - 实践
  • 2025.9.26总结 - A
  • 深入解析:盟接之桥EDI软件:中国制造全球化进程中的连接挑战与路径探索
  • 搜维尔科技:Force Dimension Omega力反馈设备遥操作工业机器人
  • C++程序练习(部分未完全完成)
  • C#性能优化基础:垃圾回收机制
  • 安装python解释器 - Jun
  • 深入解析MySQL InnoDB锁机制 - 教程
  • 【A】杂题选将