Polygon decomposition and perfect graphs

In this thesis, several problems in polygon decomposition are considered, and their algorithmic and combinatorial properties are studied in terms of perfect graphs. For an unrestricted polygon, the problems of covering such a polygon with a minimum number of convex or star polygons are both NP-hard. These NP-hardness results motivate the study of covering orthogonal, or rectilinear, polygons with a minimum number of orthogonally convex and star polygons. In general, orthogonal polygons have concavities, or dents, of four different orientations. Reckhow and Culberson classify an orthogonal polygon as a class $k$ polygon it it has dents of $k$ different orientations. A class 0 polygon has no dents and is an orthogonally convex polygon (OCP). A star polygon has a point $p$ such that for every other point $q$ in the polygon, $p$ and $q$ are contained together in an OCP. In order to study the problem of covering orthogonal polygons with OCP's, a visibility graph, called the OCP graph, is defined for regions inside an orthogonal polygon $P$. It is shown that a minimum clique cover of this graph corresponds exactly to a minimum cover of $P$ by OCP's. In a similar fashion, another kind of visibility graph, called the star graph, is defined, and it is shown that a minimum clique cover of the star graph corresponds exactly to a minimum cover of $P$ by stars. The OCP graph of a vertically convex polygon, a kind of class 2 polygon, is shown to be a permutation graph. Permutation graphs are known to belong to the class of perfect graphs. The OCP graph of a class 3 polygon is then shown to be weakly triangulated. Weakly triangulated graphs are perfect, thus establishing an interesting duality theorem for this polygon covering problem. The star graph of a class 4 polygon is shown to be weakly triangulated. This establishes a similar duality theorem for covering class 4 polygons with star polygons and gives an $O$($n\sp8$) algorithm for this problem. The star graph of a class 3 polygon is a triangulated (or chordal) graph. From this, an $O$($n\sp3$) algorithm is obtained. (Abstract shortened with permission of author.)