Recognition and Drawing of Stick Graphs
A Stick graph is an intersection graph of axis-aligned segments such that the left end-points of the horizontal segments and the bottom end-points of the vertical segments lie on a `ground line,' a line with slope -1. It is an open question to decide in polynomial time whether a given bipartite graph G with bipartition A∪ B has a Stick representation where the vertices in A and B correspond to horizontal and vertical segments, respectively. We prove that G has a Stick representation if and only if there are orderings of A and B such that G's bipartite adjacency matrix with rows A and columns B excludes three small `forbidden' submatrices. This is similar to characterizations for other classes of bipartite intersection graphs. We present an algorithm to test whether given orderings of A and B permit a Stick representation respecting those orderings, and to find such a representation if it exists. The algorithm runs in time linear in the size of the adjacency matrix. For the case when only the ordering of A is given, we present an O(|A|^3|B|^3)-time algorithm. When neither ordering is given, we present some partial results about graphs that are, or are not, Stick representable.
READ FULL TEXT