Automatic layout of large directed graphs

Pictures are a useful medium for communicating abstract information. Pictures exploit a person's natural abilities to quickly recognize and understand visual patterns. However, the differences between an effective and a confusing presentation of the same data can be subtle, and often depend on the layout. This dissertation studies algorithms that automatically produce aesthetically pleasing drawings of relational information using vertex and edge graphs. These algorithms are useful for building user-interfaces for tools that create and manipulate relational information, such as PERT chart editors. This study begins with a survey of current layout systems. A taxonomy of layout constraints is described, and a particular algorithm due to Sugiyama, Tagawa and Toda (the STT algorithm) is explored in depth. Several experiments with the STT algorithm are presented that attempt to improve both layout quality and speed. A primary problem left unsolved is the slowness of the STT algorithm. Graphs of only a hundred vertices take up to ten minutes to lay out. A new divide-and-conquer layout algorithm, called COMPOZE, is presented that produces layouts much more quickly. COMPOZE partitions an input graph into subgraphs, lays each subgraph out separately, and creates a composite layout of the original graph. Experiments are discussed that show COMPOZE to run up to 20 times faster than the STT algorithm, while simultaneously improving layout quality. The improvements are particularly prominent on larger graphs. Subjective evaluations show that users also tend to prefer COMPOZE layouts. The thesis concludes with some observations about the relationship between objective layout constraints and subjective, cognitive measures of quality, as well as suggestions for future research.