FTP: CMU-CS-94-161.ps Although there is extensive research on drawing graphs, none of the published methods are satisfactory for drawing general undirected graphs. Generating drawings which are optimal with respect to several aesthetic criteria is known to be NP-hard, so all published approaches to the problem have used heuristics. These heuristics are too slow to be practical for graphs of moderate size, and they do not produce consistently good drawings for general graphs. Moreover, they rely on general optimization methods, because problem-specific methods require a deeper theoretical understanding of the graph drawing problem. This paper presents an algorithm to generate two-dimensional drawings of undirected graphs. The algorithm uses a combination of heuristics to obtain drawings which are near-optimal with respect to an aesthetic cost function. The algorithm is incremental in nature, but preprocesses the graph to determine an order for node placement. The algorithm uses a local optimization strategy that effectively manages the trade-off between speed and output quality. Finally, the algorithm uses a variety of techniques to speed up computation of the aesthetic cost function. The paper discusses this algorithm in the context of previous work and open problems. The algorithm is compared with the "force-directed" algorithm of Fruchterman and Reingold and the simulated annealing algorithm of Davidson and Harel in terms of output quality. Finally, the paper considers what work is necessary to create a truly effective algorithm for drawing undirected graphs.
[1]
Ioannis G. Tollis,et al.
Algorithms for Drawing Graphs: an Annotated Bibliography
,
1988,
Comput. Geom..
[2]
James B. Orlin,et al.
NP-Completeness for Minimizing Maximum Edge Length in Grid Embeddings
,
1985,
J. Algorithms.
[3]
Peter Eades,et al.
A Heuristic for Graph Drawing
,
1984
.
[4]
Satoru Kawai,et al.
An Algorithm for Drawing General Undirected Graphs
,
1989,
Inf. Process. Lett..
[5]
N. Quinn,et al.
A forced directed component placement procedure for printed circuit boards
,
1979
.
[6]
Xuemin Lin,et al.
How to draw a directed graph
,
1989,
[Proceedings] 1989 IEEE Workshop on Visual Languages.
[7]
David S. Johnson,et al.
Crossing Number is NP-Complete
,
1983
.
[8]
Mohan S. Kankanhalli,et al.
Geometric computing and uniform grid technique
,
1989
.
[9]
Hiroyuki Watanabe,et al.
Heuristic Graph Displayer for G-BASE
,
1989,
Int. J. Man Mach. Stud..
[10]
Brendan D. McKay,et al.
On an edge crossing problem
,
1986
.
[11]
Edward M. Reingold,et al.
Graph drawing by force‐directed placement
,
1991,
Softw. Pract. Exp..
[12]
David Harel,et al.
Drawing graphs nicely using simulated annealing
,
1996,
TOGS.