Computing a Euclidean minimum spanning tree of a set of points is a seminal problem in computational geometry and geometric graph theory. We combine it with another classical problem in graph drawing, namely computing a monotone geometric representation of a given graph. More formally, given a finite set $S$ of points in the plane and a finite set $\cal D$ of directions, a geometric spanning tree $T$ with vertex set $S$ is ${\cal D}$-monotone if, for every pair $\{u,v\}$ of vertices of $T$, there exists a direction $d \in \cal D$ for which the unique path from $u$ to $v$ in $T$ is monotone with respect to $d$. We provide a characterization of ${\cal D}$-monotone spanning trees. Based on it, we show that a ${\cal D}$-monotone spanning tree of minimum length can be computed in polynomial time if the number $k=|{\cal D}|$ of directions is fixed, both when (i) the set ${\cal D}$ of directions is prescribed and when (ii) the objective is to find a minimum-length ${\cal D}$-monotone spanning tree over all sets ${\cal D}$ of $k$ directions. For $k = 2$, we describe algorithms that are much faster than those for the general case. Furthermore, in contrast to the classical Euclidean minimum spanning tree, whose vertex degree is at most six, we show that for every even integer $k$, there exists a point set $S_k$ and a set $\cal D$ of $k$ directions such that any minimum-length $\cal D$-monotone spanning tree of $S_k$ has maximum vertex degree $2k$.
翻译:计算点集的欧几里得最小生成树是计算几何与几何图论中的一个经典问题。本文将其与图绘制领域的另一经典问题——计算给定图的单调几何表示——相结合。更形式化地,给定平面上的有限点集 $S$ 与有限方向集 $\cal D$,若几何生成树 $T$(顶点集为 $S$)满足:对于 $T$ 中任意顶点对 $\{u,v\}$,均存在方向 $d \in \cal D$,使得 $T$ 中从 $u$ 到 $v$ 的唯一路径关于 $d$ 是单调的,则称 $T$ 是 ${\cal D}$-单调的。本文给出了 ${\cal D}$-单调生成树的特征刻画。基于此特征,我们证明:当方向数量 $k=|{\cal D}|$ 固定时,最小长度的 ${\cal D}$-单调生成树可在多项式时间内计算得到,这适用于两种情况:(i)方向集 ${\cal D}$ 已预先指定;(ii)目标是在所有大小为 $k$ 的方向集 ${\cal D}$ 中寻找最小长度的 ${\cal D}$-单调生成树。针对 $k = 2$ 的情形,我们提出了比通用算法更高效的专用算法。此外,与经典欧几里得最小生成树(顶点度数至多为六)不同,我们证明:对于任意偶数 $k$,均存在点集 $S_k$ 与包含 $k$ 个方向的方向集 $\cal D$,使得 $S_k$ 的任意最小长度 $\cal D$-单调生成树的最大顶点度数达到 $2k$。