曼哈顿最小生成树

以某个点为原点,建平面直角坐标系。用从原点发出的射线将平面等分成八个无限的扇形区域 \(R_1, R_2, \dots, R_8\)

角度区间采用左闭右开的形式。
\(R_2\colon [0, \pi/4)\)\(R_1 \colon [\pi/4, \pi/2)\)\(R_3 \colon [-\pi/4, 0)\)\(R_4 \colon [-\pi/2, -\pi/4)\)……

考虑平面点集 \(P\subseteq \mathbb{R}^2\),对于 \(P\) 中任意两点 \(a, b\)\(a \ne b\))有 \(b \in R_1(a) \iff a \in R_5(b)\)

\(a\)\(R_5(b)\) 中离 \(b\) 最近的点,则 \(b\)\(R_1(a)\) 中离 \(a\) 最近的点。

参考文献 1 中提到

上面的图中,一条边的两个端点都被计数了一次,所以最终的边数是不超过 \(4n\) 的。

参考文献 3 中提到

以任意一个点为端点,将平面分为八块,每块占45度角,那么在生成树的最优解中,每个块与这个点至多有一条边,即一个点最多分别向八个方向最近的点连接一条边,一条边两个点共用,同时,有四个方向是两两对称的,所以只需要求出四块(一般求第一象限和第四象限)所以最后边数为 \(4n\)

我搞不懂为什么边数不超过 \(4n\)

\(R_5(a)\) 非空,令 \(P_5(a)\)\(R_5(a)\) 中距离 \(a\) 最近的点的集合。能否证明:
存在 \(b \in P_5(a)\) 满足 \(R_1(b) = \\{ a \\}\)

证明:

我构思了一个构造性证明:

考虑所有有向边 \((a, b)\) 满足 $ b \in R_1(a) $

Minimum spanning tree algorithms usually use two properties to infer the inclusion and exclusion of edges in a minimum spanning tree. The first property is known as the cut property. It states that an edge of smallest weight crossing any partition of the vertex set into two parts belongs to a minimum spanning tree. The second property is known as the cycle property. It says that an edge with the largest weight in any cycle in the graph can be safely deleted.


边数为何不超过 \(4n\) 这个问题我想通了。设 \(a,b\) 两点满足 \(b \in R_1(a)\),按照原先的选边策略,边 \((a, b)\) 能入选若且唯若「\(b\)\(R_1(a)\) 中离 \(a\) 最近的点」且「\(a\)\(R_5(b)\) 中离 \(b\) 最近的点」。如今我们可以证明若只以「\(b\)\(R_1(a)\) 中离 \(a\) 最近的点」这个条件来判断边 \((a, b)\) 是否入选(其他三组对称的区域也一样),则最多可以选出 \(4n\) 条边;原来的条件比之更为严苛,自然也最多可以选出 \(4n\) 条边。


上述讨论是基于最小生成树的环切性质(cycle property):

在图 \(G=(V,E)\) 中,如果存在一个环,把环中权最大的边 \(e\) 删除得到图 \(G’=(V,E \setminus \\{e\\})\)(如果有多条最大边,则删除任意一条),则 \(G\)\(G’\) 的最小生成树权和相同。

上述选边的过程实际上是从完全图中删边的过程。如何证明每次删的边都是当时某个环中的最大边呢?

这个地方还是没弄懂。

又有新进展

The algorithm can be considered as deleting edges from the complete graph. As described, all edges that we delete are redundant based on the cycle property.

删边策略:

对于任意两点 \(p, q \in R_i(s), \quad 1\le i \le 4\), 将边 $ (s,p) $ 和 \((s,q)\) 中较长者删除。

引理 1

\(G = (V, E)\)\(L1\) 度量下的 \(n\) 个点的完全图,在图 \(G\) 上进行上述删边过程,则始终有,对于任意 \(p, q \in R_i(s)\)\(1\le i\le 4, |sp| \ge |sq|\)),若 \((s, p) \in E\)\((s, q) \in E\),则 $s, p, q $ 三点存在于某个环中,且 \((s, p)\) 是此环中的最大边。

证明:用归纳法证明。由归纳假设可以推出对于任意 \(p, q \in V\),存在一条从 \(p\)\(q\) 的路径 \(P\) 满足:\(P\) 上的边长度都不超过 \(|pq|\) 。又 \(|sp| > |pq|\),所以边 \((s,p)\) 不在路径 \(P\) 上,于是 \((s,p), P, (p,s)\) 构成一个满足条件的环。

后记

对称性真神奇。

在上述讨论,我们都假设平面上的 \(n\) 个点没有重合的,这个假设是合理的;但是如果所考虑的 \(n\) 个点中有重合的点,会不会出现什么问题?(corner case 真烦人)

Reference

  1. https://riteme.github.io/blog/2017-1-17/manhattan-mst.html

  2. https://wenku.baidu.com/view/977fab114431b90d6c85c760.html

  3. https://www.jianshu.com/p/f669701933a0

  4. http://www.ece.northwestern.edu/~haizhou/publications/zhou02ipl.pdf

posted @ 2018-07-25 16:01  Pat  阅读(530)  评论(0编辑  收藏  举报