Abstract

We study algorithms that generate layouts of graphs with $n$ vertices in a square grid with $\nu$ points, where adjacent vertices in the graph are also close in the grid. The problem is motivated by graph drawing and factory layout planning. In the latter application, vertices represent machines, and edges join machines that should be placed next to each other. Graphs admitting a grid layout where all edges have unit length are known as partial grid graphs. Their recognition is NP-hard already in very restricted cases. However, the moderate number of machines in practical instances suggests the use of exact algorithms that may even enumerate the possible layouts to choose from. We start with an elementary $n^{O(\sqrt{n})}$ time algorithm, but then we argue that even simpler exponential branching algorithms are more usable for practical sizes $n$, although being asymptotically worse. One algorithm interpolates between obvious $O^*(3^n)$ time and $O^*(4^{\nu})$ time for graphs with many small connected components. It can be modified in order to accommodate also a limited number of edges that can exceed unit length. Next we show that connected graphs have at most $2.9241^n$ grid layouts that can also be efficiently enumerated. An $O^*(2.6458^n)$ time branching algorithm solves the recognition problem, or yields a succinct enumeration of layouts with some surcharge on the time bound. In terms of the grid size we get a slightly better $O^*(2.6208^{\nu})$ time bound. Moreover, if we can identify a subgraph that is rigid, i.e., admits only one layout up to congruence, then all possible layouts of the entire graph are extensions of this unique layout, such that the combinatorial explosion is then confined to the rest of the graph. Therefore we also propose heuristic methods for finding certain types of large rigid subgraphs. The formulations of these results is more technical, however, the proposed method iteratively generates certain rigid subgraphs from smaller ones.

Highlights

  • Throughout this paper, a grid means any set of grid points, that is, points with integer Cartesian coordinates in the 2-dimensional plane

  • Since grid graphs are planar graphs, the problem of finding an ideal layout in a grid is a special case of the Planar Subgraph Isomorphism problem

  • All tight pairs of vertices of U and the lengths of their unique shortest paths in GU can be computed in O(hn) time using Theorem 8 again, since GU has O(n) vertices and edges, or G is not a partial grid graph

Read more

Summary

Introduction

Throughout this paper, a grid means any set of grid points, that is, points with integer Cartesian coordinates in the 2-dimensional plane. Every grid defines a grid graph where any two points with Euclidean distance 1 are joined by an arc. We speak of vertices and edges of G, but of points and arcs of a grid graph. A graph G and a finite grid may be given, and the problem is to construct an ideal layout of G that fits in this grid, if possible. We may represent machines as vertices of a graph and the floor plan of the factory hall as a grid. It is natural to discretize the floor, with an appropriately chosen unit length, and place machines only on grid points. The edge set of the graph is user-defined, in that an expert decides which pairs of machines are most important to be neighbors on the floor. If an algorithm enumerates all suitable layouts, one can afterwards choose one that maximizes the lengths of such edges

Related Work and Overview of Contributions
A Subexponential Algorithm
Enumerating Layouts of Disconnected Graphs
Inserting Long Edges
Improved Branching for Connected Graphs
Connected Graphs Filling a Grid
Rigid Partial Grid Graphs
Unique Shortest Path Extensions
10 Iterated Extensions of Rigid Graphs
11 Combining Extensions and Unions
12 Conclusions

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.