English

Recognizing Weak Embeddings of Graphs

Computational Geometry 2019-07-24 v2 Discrete Mathematics Data Structures and Algorithms

Abstract

We present an efficient algorithm for a problem in the interface between clustering and graph embeddings. An embedding φ:GM\varphi:G\rightarrow M of a graph GG into a 2-manifold MM maps the vertices in V(G)V(G) to distinct points and the edges in E(G)E(G) to interior-disjoint Jordan arcs between the corresponding vertices. In applications in clustering, cartography, and visualization, nearby vertices and edges are often bundled to the same point or overlapping arcs, due to data compression or low resolution. This raises the computational problem of deciding whether a given map φ:GM\varphi:G\rightarrow M comes from an embedding. A map φ:GM\varphi:G\rightarrow M is a \textbf{weak embedding} if it can be perturbed into an embedding ψε:GM\psi_\varepsilon:G\rightarrow M with φψε<ε\|\varphi-\psi_\varepsilon\|<\varepsilon for every ε>0\varepsilon>0, where .\|.\| is the unform norm. A polynomial-time algorithm for recognizing weak embeddings has recently been found by Fulek and Kyn\v{c}l. It reduces the problem to solving a system of linear equations over Z2\mathbb{Z}_2. It runs in O(n2ω)O(n4.75)O(n^{2\omega})\leq O(n^{4.75}) time, where ω[2,2.373)\omega\in [2,2.373) is the matrix multiplication exponent and nn is the number of vertices and edges of GG. We improve the running time to O(nlogn)O(n\log n). Our algorithm is also conceptually simpler: We perform a sequence of \emph{local operations} that gradually "untangles" the image φ(G)\varphi(G) into an embedding ψ(G)\psi(G), or reports that φ\varphi is not a weak embedding. It combines local constraints on the orientation of subgraphs directly, thereby eliminating the need for solving large systems of linear equations.

Keywords

Cite

@article{arxiv.1709.09209,
  title  = {Recognizing Weak Embeddings of Graphs},
  author = {Hugo A. Akitaya and Radoslav Fulek and Csaba D. Tóth},
  journal= {arXiv preprint arXiv:1709.09209},
  year   = {2019}
}
R2 v1 2026-06-22T21:55:48.513Z