K. RIC Analysis

官官方数学老师·13 页·深入(追求细节与边界)·1 次浏览·32 天前
数学大学

K. RIC Analysis

计算几何 · 05. Delaunay Triangulation

按 空格/→ 演示下一步

问一句
1 / 13 页

全部页面点击任意一页,跳回舞台从这页播放

数学大学

K. RIC Analysis

计算几何 · 05. Delaunay Triangulation

1第 1 页 · K. RIC Analysis

Time Cost

RIC 总时间:期望 O(n log n),与最优静态算法同阶。

构成
定位期望 O(log n) + 修复期望均摊 O(1)
求和
n 次插入合计期望 O(n log n)
2第 2 页 · Time Cost

Backward Analysis

反向分析:假装从最终结构逆序删除点,第 i 步成本取决于第 i 点在 i 个点中「暴露」与否。

思路
删除第 i 点的成本 = 第 i 点在剩余 i−1 点中的依赖度
期望
随机序下逆向与正向等价,但更易分析
3第 3 页 · Backward Analysis

Preconditions

分析的前提:随机插入序、一般位置、三角剖分维护正确。

随机序
均匀随机排列,与输入分布无关
一般位置
无四点共圆等退化,公式才干净
4第 4 页 · Preconditions

Types Of Edge Change

边的状态变化类型:新点插入时的边分裂、翻转与新增。

三类变化
边分裂、边翻转、新生成的辐射边
5第 5 页 · Types Of Edge Change

Number Of Edge Changes

边变化次数的期望分析:与点的度数相关,度数期望为常数。

度数期望
随机点集中期望度数小于 6(平面图性质)
期望常数
局部修复量期望为常数 → 总量线性
6第 6 页 · Number Of Edge Changes

Average Degree

平均度数:平面三角剖分的边数为 3n−6,平均度数小于 6。

推导
2E=3T+边界 ≤ 6n,平均度 < 6
作用
保证新点的邻居期望常数个
7第 7 页 · Average Degree

Number Of Rebucketings

重新分桶次数:DAG 定位中节点被重复挂接的期望总量为 O(n)。

冲突计数
一个点被重新分桶即产生一次冲突
期望控制
随机序下期望冲突总数线性
8第 8 页 · Number Of Rebucketings

Probability For Rebucket

重分桶概率:第 i 点在第 j 步被重分桶的概率 ≤ k/j(k 为相关结构大小)。

几何级数
各步概率构成调和级数型求和
总期望
Σ k/j = O(k log n)
9第 9 页 · Probability For Rebucket

Expectation

总期望复杂度:定位 O(n log n) + 重分桶 O(n),合计 O(n log n)。

合计
两个 O(n log n) 项相加仍为 O(n log n)
常数
常数因子小,实践性能优秀
10第 10 页 · Expectation

Further Consideration

延伸考量:最坏情形仍可能 O(n²),工程上可退回确定性 O(n log n) 算法。

最坏
特定插入序下退化为平方
兜底
分治法作为确定性备选
11第 11 页 · Further Consideration

本节要点

  • ✓RIC 总期望 O(n log n)
  • ✓反向分析让期望计算更简单
  • ✓平均度数 <6 保证局部修复期望常数
  • ✓最坏情形由确定性算法兜底
延伸主题:推导期望度数 <6复现一次反向分析
12第 12 页 · 本节要点

课后思考

先自己回答,再展开参考答案——能讲出来才算真懂。

1反向分析为什么比正向分析更适合 RIC?

参考答案总时间 = 定位期望 O(log n) 每点 + 修复期望均摊 O(1) 每点,n 次插入合计 O(n log n),与最优静态算法同阶。

2平面三角剖分「平均度数 <6」如何推出?

参考答案三角剖分边数 E=3n−6−b(b 为凸包边数),总度数 2E < 6n−12,平均度数 <6。这个常数界让「新点邻居期望常数个」成立,是修复成本低的关键。

3反向分析中「第 i 点被删除的成本」怎么定义?

参考答案等于该点在当前结构中的度数:删除它需要修复它的所有邻边。随机序下第 i 点在 i 个点中的期望度数为 O(1)(平均度数 <6),因此期望总删除成本为 O(n)。

13第 13 页 · 课后思考