🤖 AI Summary
Orthogonal Compaction (OC) seeks a minimum-area grid-aligned orthogonal drawing consistent with a given orthogonal representation of a planar graph; it is NP-hard—even for representations containing cycles. This paper identifies, for the first time, the structural source of this hardness: the number $k$ of “kitty corners”—pairs of reflex angles positioned diagonally across a face. We prove that OC is fixed-parameter tractable (FPT) with respect to $k$. Our method introduces a parameterized algorithm leveraging graph-theoretic modeling, structural analysis of orthogonal representations, and efficient detection of reflex-angle pairings. The algorithm achieves significant speedups for instances with small $k$, yielding the first nontrivial FPT result for orthogonal compaction. This advances the theoretical understanding of OC’s computational complexity and provides a principled foundation for compacting orthogonal layouts in practical applications.
📝 Abstract
Orthogonal graph drawings are used in applications such as UML diagrams, VLSI layout, cable plans, and metro maps. We focus on drawing planar graphs and assume that we are given an emph{orthogonal representation} that describes the desired shape, but not the exact coordinates of a drawing. Our aim is to compute an orthogonal drawing on the grid that has minimum area among all grid drawings that adhere to the given orthogonal representation. This problem is called orthogonal compaction (OC) and is known to be NP-hard, even for orthogonal representations of cycles [Evans et al., 2022]. We investigate the complexity of OC with respect to several parameters. Among others, we show that OC is fixed-parameter tractable with respect to the most natural of these parameters, namely, the number of emph{kitty corners} of the orthogonal representation: the presence of pairs of kitty corners in an orthogonal representation makes the OC problem hard. Informally speaking, a pair of kitty corners is a pair of reflex corners of a face that point at each other. Accordingly, the number of kitty corners is the number of corners that are involved in some pair of kitty corners.