This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
-
Qh
(d)
(c)
(e)
Figure 4.3.2. An example of a drawing of an undirected graph by a graph theory drawing method [Batini et al (84)].
84
Graph Drawing and Applications for Software and Knowledge
Engineers
(5) The edges e — (v,w) belonging to A' are routed out one by one, and in order to add them to the planar representation and minimize the number of crossings, the following is carried out. First, the dual graph D of the planar representation P = Pa* is computed, and the shortest path from the set of vertices of D that corresponds to the faces of Pa* that includes vertex v to those that includes vertex w is found. Edges on D mean crossings with existing edges of PG*, so these crossing points are replaced with new dummy vertices and existing edges are changed into two new edges, thus obtaining a new planar representation P. The same steps are repeated for P, until all the edges of A' have been added, giving a planarized G. [Example] In the example Figure 4.3.2, because Gwas a planar graph these steps are not necessary. Normal Orthogonalization In this phase P is changed into orthogonal representation O. Here an orthogonal representation is one in which all faces are in the shape of an orthogonal polygon. This phase is based on the characteristic that planar graphs with degree less than 4 can be drawn on a plane as orthogonal polygons. The normal orthogonalization phase consists of the two steps of normalization and creation of an orthogonal graph, as follows: (1)
Normalization: For planar representation P vertices with degree greater than 4 are changed into new multiple vertex representations (see Figure 4.3.3), thus changing P into normalized planar representation N with degree less than 4.
(2)
Creating an orthogonal graph:
From the normal planar representation N the
orthogonal representation O with the least number of bends is sought. [Example] From Figure 4.3.2(b-l), (c) is obtained. For this step, the following have been developed: (a) Crossing minimization method using an integer linear programming method (Batini, Talamo & Tamassia (84)), (b) An 0(« 2 log«) time minimization algorithm based on the concepts of kpolygon representation [Tamassia (87)], and (c) A linear time heuristic method [Tamassia & Tollis (87)]. Here (c) is discussed as follows. (2-1) Normal planar representation N is changed into a visibility representation r, as in Figure 3.3.4. It has been proven that planar graphs always have this representation [Otten & van Wijk (78)]. Tamassia & Tollis (86).
The algorithm for this is in
Details of Automatic Graph Drawing Methods 85 degree ofvertex 1-4
(«o change)
'I 5-6
£=2
3
J
I
1
7-1
Figure 4.3.3. Rules for normalization [Batini et al (84)].
H I — LU i j i
U JI
_LLLL—- L|JJ
UJ
Figure 4.3.4. Conversion rules for converting visibility representations to orthogonal representations [Tamassia et al (87)].
(2-2) Using the conversion shown in Figure 4.3.4 F is converted into an orthogonal representation.
86
Graph Drawing and Applications
for Software and Knowledge
Engineers
(2-3) Applying the transformations T\, T2, T? shown in Figure 4.3.5 to the orthogonal representation, the orthogonal representation with few bends O is obtained. The method of applying the transformations is to first apply T\ to all applicable edges, then apply T2 to all applicable edges. Lastly, for all vertices with degree less than 3, apply r 3 to all applicable vertices until there are none left. Compaction In this phase, orthogonal representation O is converted into grid representation O'. The representations O and O' have the same "shape", and in O' the minimization of total line length is attempted. For this the faces of O are all split into rectangles, and with these edge lengths as unknown variables, the integer linear programming for minimizing total line length is solved. A theoretical discussion of this can be found in Batini, Talamo & Tamassia (84). [Example] The orthogonal representation in Figure 4.3.2(c) is transformed into grid representation (d), and in the actual drawing the vertices and edges are replaced with suitable icons as in (e).
O
•
<»
1 I •
«>
•
0
—
•
—
° 1
•
<)
1
4)
• 4 1 —
•
•
<•
•
Figure 4.3.5. Rules for reducing the number of bends in orthogonal [Tamassia et al (87)J.
representations
Details of Automatic
Graph Drawing Methods
87
This is a superior method for obtaining a diagram with good readability, as all edges are drawn as grid lines, vertical or horizontal. However, without knowledge of graph theory or graph algorithms it is difficult to understand, and thus its weakness is the difficulty of implementation.
Also it can be perceived as ineffective from both the
computation time aspect and the readability aspect if the graph to be drawn is not sparse and relatively small [Rowe et al. (87)].
4.3.2
Force Directed Approach The force directed approach to drawing methods of undirected graphs originates
with the research of Eades (84) following the technology for VLSI placement and routing called force directed layout [Breuer (77)]. The basic idea of this is as follows. In order to embed an undirected graph, vertices are replaced with iron rings, and edges with springs that form a mechanical system (see Figure 3.3.7). The springs exert a force on the rings. Vertices are given an initial layout, and a layout is sought that achieves the smallest energy state of system. After Eades (84), Kamada & Kawai (89), Davidson & Harel (89), and Fruchterman & Reingold (91) have proposed other force directed approach drawing methods. The important difference between these drawing methods is how the force (both attractive and repulsive) between the rings in the mechanical system model is defined. In the force directed approach, vertices are drawn as points on a plane, and edges as straight lines (or curves) that join these points. That is, the drawing convention {freedom, straight lines, independent) is taken. The following are considered as drawing rules. (1) Adjacency vertices are placed near each other {closeness). (2) Vertices are placed so as not to be too close to each other {smallest separation). (3) Edge lengths are fixed (fixed edge length). (4) Symmetry is clearly shown (symmetry). (5) Within the given drawing frame, vertices are uniformly distributed (uniform distribution). (6) The shape of the drawing is adapted to the drawing frame (adaptation to the frame). (7) Edge crossings are minimized (edge crossing minimization). Aiming for a drawing method for undirected graphs that achieves fixed edge length and symmetry, Eades (84) modeled the undirected graph as a physical system with rings and
88
Graph Drawing and Applications for Software and Knowledge
Engineers
springs. However, his model does not fit Hooke's law (the distortion is in proportion to the stress) for the springs, and assumes a hypothetical physical system. The reason for this is that under the Hooke's law, the force becomes too strong when vertices are distantly separated. In Eades' model, two types of springs are used. There are springs that join adjacent vertices, and springs between non-adjacent vertices that only repel. Suppose that the distance between vertices is d, and c\, A, C4 are constants. According to Eades' (84) method, the force/i working between adjacent vertices is given by: fx=c^\og{dlc2)
(4.3.1)
When d > c2, f\ is attractive, when d < c2 it is repulsive, and when d = c2 there is no force between the vertices. Also, the forced working between non-adjacent vertices is given by: f2=c,/d2
(4.3.2)
By moving the vertices to decrease these forces f\ and fi as much as possible, it is expected that the distance between all adjacent vertices will settle in the neighborhood of c2.
The algorithm for the drawing is a fairly simple method of physical systems
simulation. Thus, as shown in the next algorithm, each vertex is gradually moved in the direction that will reduce the forces working between vertices. [Eades Model Drawing Algorithm] Input: Undirected graph G, the number of iterations M. Output: Drawing of the undirected graph. Method: 1. The vertices of G are placed in random positions; 2. The following is repeated M times; 2.1 The forces working at each vertex are calculated; 2.2 Each vertex is moved by C4X(the force working at that vertex); 3.
G is drawn. The calculation of the repulsive force takes time O d ^ 2 ) ; this is a weakness of this
algorithm, but the calculation of the attractive force between adjacent vertices is 0(P4|), and this reduces the time complexity. Kamada & Kawai (89) considered that overall balance is important for the drawing of undirected graphs, and proposed a force directed drawing method that aims to
Details of Automatic
achieve uniform distribution and symmetry.
Graph Drawing Methods
89
Eades only considered the closeness of
vertices to adjacent vertices to be important, but this method introduces an ideal distance even for non-adjacent vertices, and by minimizing the total energy of the whole system seeks a layout such that vertices approach this ideal distance apart.
The concept is
explained as follows. As the basis for finding the ideal geometrical distance between vertices, the graph theoretic distance r (that is, the length of the shortest path between vertices) is used. The maximum value of the length of a shortest path is rmax. The drawing is contained within a frame of a square with edge length LQ. Thus for the drawing to fit within the frame the rough value L for the length of each edge is set by L = Lo/rmax
(4.3.3)
All the vertices are joined by springs that obey the Hooke's law. The length / of a spring (when no forces are working on it) is l = Lr
(4.3.4)
Thus / is the distance between the vertices when no forces are acting on the springs, and is the ideal distance. The force acting between vertices is f=k(d-l)
(4.3.5)
Here d is the distance between the vertices, k is an elasticity constant and k - Kir (where AT is a constant), and / i s an attractive force when positive, and a repulsive force when negative. The total energy E of the whole is given by
E = Y,-h(di-h)2.
(4.3.6)
To reduce the total energy, we take the partial derivative of E with respect to the coordinates of each vertex, and the amount of movement of each vertex is found, and vertices are placed again. The re-distribution of vertices is repeated until the energy becomes smaller than an initially set threshold.
90
Graph Drawing and Applications for Software and Knowledge
Engineers
Suppose that the coordinates of the vertices are p = (x, y), Ex and Ey are the partial differentiations of E by x and y,
A =JEX2
+Ev2 , and Amax is the maximum
value of A. Then the drawing is obtained by the following algorithm. [Kamada & Kawai Model Drawing Algorithm] Input: Undirected graph G Output: Drawing of the undirected graph Method: 1.
As the initial layout, all vertices are placed at equal intervals on a circle;
2.
Whilst (Amax> £) the following is repeated; 2.1
A vertex for which A - Amax is chosen (vertex m);
2.2
For vertex m, the amounts ox and ay such that moving m by (crv, Cy) results in Ex = Ey = 0. Then the coordinates of vertex m are moved accordingly, that is, x <- x + <7X, y <- y + Oy\
3.
G is drawn. Fruchterman & Reingold (91) proposed a force-directed model that considers two
drawing rules, close layout and smallest separation. In this model, as in the Eades model, the attractive force acts only between adjacent vertices, and the repulsive force acts between all vertices. The desired closeness of the vertices is dependent on the number of vertices and the region for drawing. The ideal distance / between vertices is obtained by the following.
/ = Cjdrawing
area / the number of vertices
(4.3.7)
Here the constant C is obtained by experiment. Intuitively it can be thought that the quality of the drawing will decrease if two adjacent vertices are too far apart or too close together. When the distance between two vertices is d, the attractive force fa and the repulsive forced between them are given by fa = d2/l fb =
(4.3.8) ~l2ld
(4.3.9)
Details of Automatic
Graph Drawing Methods
91
When fa +fh = 0, d i s equal to the ideal distance /. The drawing algorithm, as described above, repeatedly calculates the attractive force and repulsive force for each vertex, decides the amount of movement, and redistributes the vertices. For speedy convergence it is better to move by large, but then it is possible to move too far and over the ideal distance, or to protrude from the drawing frame.
Thus this method introduces the concept of "temperature" with reference to
simulated annealing, and the amount of movement is adjusted to a suitable value. Also in this method there are considerations to devise means to contain the drawing with a frame of an arbitrary shape, and to speed up calculation. Davidson & Harel (89) also tried to draw graphs by reducing the energy of a system. They used the simulated annealing [Kirkpatrick, Gelatt & Vecchi (83), Otten & van Ginneken(89)], originally developed for VLSI layout and other optimization problems. Simulated annealing is powerful. Although it is a general optimization algorithm, it takes considerable computation time, so it is not practical for interactive graph drawing. As an energy function, items relating to uniform distribution,
adaptation
to the frame, fixed edge length, and edge crossing minimization are combined in a flexible function. By changing the weight on these items, the different drawing rules can be emphasized.
4.4 Generic Graph Drawing Method by the Magnetic Spring Model It is difficult to develop a generic method to draw a large class of graphs, especially when the class includes both undirected and directed graphs. This is because aesthetics and requirements for drawing these two kinds of graphs differ considerably from each other. Sugiyama & Misue (94, 95b) proposed a magnetic spring model for drawing graphs in general. This method inherits the properties of the spring model [Eades (84)] and adds an idea of controlling orientations of edges by defining magnetic fields, so it can draw not only undirected graphs but also other classes of graphs such as trees, directed graphs and mixed graphs (graphs with several types of edges) in a simple and unified manner. There already exist specific drawing algorithms for each particular class of graphs such as trees, directed graphs and undirected graphs as shown in Di Battista, Eades, Tamassia &Tollis (94). These specific algorithms are often more efficient and can draw a specific class of graphs better than this generic method. However, they are often quite
92
Graph Drawing and Applications
for Software and Knowledge
Engineers
complicated and considerable expertise and efforts are needed for understanding and implementing them. On the other hand, since the magnetic spring method is based on the idea of simplified simulations of virtual physical systems, it is conceptually intuitive and therefore easy to understand, implement, tune and modify. Consequently, this method might be useful for non-expert users who want to draw graphs easily with drawing tools developed by themselves. Aesthetic criteria generally accepted in the force-directed placement approach have been [Fruchterman & Reingold (91)]: ensuring that edge lengths are uniform (A\), minimizing edge crossings (A2), revealing symmetry (A{), and distributing vertices evenly (A4). Adding to these, Sugiyama & Misue (94, 95) introduced a new aesthetic criterion: conforming links to specified orientations (^5).
RF
ASF
nn
S
(a)
RSF
(b)
Figure 4.4.1. Spring model (a) and magnetic spring model (b). ASF=attractive spring force; RSF=repulsive spring force; RF=repulsive force; MF=magnetic force.
Details of Automatic Graph Drawing Methods 93 In this model vertices and links are replaced with rings and magnetic springs respectively, various types of magnetic fields and three kinds of forces are defined, as shown in Figure 4.4.1. A magnetic spring is a magnetized, straight object which has characteristics both springs and magnetic compasses: springs exert attractive force and repulsive force and magnetic compasses exert rotative magnetic force on rings. With this model the placement of vertices can be obtained satisfying the accepted criteria and the new criterion. The reason why this method works well is mainly that a trade-off between the former criteria and the latter criterion can be empirically controlled by varying the strength of magnetic fields independently with the other parameters. Figure 4.4.2 shows examples of diagrams appeared in the literature that imply the plausibility of introducing the forces to control edge orientations in graph drawing: (a) This is a list structure diagram in LISP drawn by a special tree drawing algorithm [Lin (93)]. It is desirable to attain strictly that car-edges are drawn vertically and cdredges horizontally. (b) This is an issue map in which four types of relationships are used: One of them is one-directional and the rest three are bi-directional [Bickerton (92)]. How to control these four types of edges is a quite interesting problem.
Interdependent Dependent
Contradictory
(a)
Figure 4.4.2.
issues
issues issues
(b)
A list structure diagram(a) and an issue map(b).
4.4.1 The Magnetic Spring Model and Algorithm Rings and Springs A graph G = (V, E) consists of a set V of vertices, a set E of pairs of vertices. An element of E is called an edge. Every vertex in V is replaced with a steel ring as shown in
94
Graph Drawing and Applications
for Software and Knowledge
Engineers
Figure 4.4.1(b). Edges in E are classified as directed edges and undirected edges. Directed edges are replaced with magnetic springs and undirected edges with springs. Magnetic springs may be uni-directional magnetic springs or bi-directional magnetic springs, as shown in Figure 4.4.3. The former magnetic spring is convenient to control the orientations of uni-directional edges, and the latter those of bi-directional or symmetrical edges. Their assignment and replacement depend upon applications and the user's intention. m
m
Figure 4.4.3. Uni-directional magnetic spring (left) and bi-directional magnetic spring (right) and magnetic forces.
Fields As shown in Figure 4.4.4, three types of standard magnetic fields are considered: the parallel field, the polar field and the concentric field. And two types of compound magnetic fields also are considered: the orthogonal field and the polar-concentric field. Compound magnetic fields are composed from standard magnetic fields. The strength of the magnetic field and the unit orientation vector that expresses the orientation of the field at (x, y) and are denoted by b(x, y) and m(x, y) respectively. Each standard magnetic field B(x, y) at (x, y) is defined by: B(x, y) = b(x, y) m(x, y).
(4.4.1)
In this section uniform fields are considered for simplicity and therefore b(x, y) is constant at any point (x, y) except the origin (0, 0); specially, B(0, 0) = 0 in the cases of polar and concentric fields. Vector m(x, y) is defined as follows:
Details of Automatic
(a)
Graph Drawing Methods
(b)
(d)
95
(c)
(e)
Figure 4.4.4. Standard and compound magnetic fields: (a) parallel; (b) polar; (c) concentric; (d) orthogonal; (e) polar-concentric. For the parallel field, m(x,y)=
(0,1): north-directed; (-1,0): west; (0,-1): south; (1,0): east.
(4.4.2)
For the polar field, m(x,y)
= (x,y)l\(x,y)\.
(4.4.3)
For the concentric field, m(x, y) = (y, -x)/|(x,y)|: clockwise; (-y, x)/|(x, y)|: anti-clockwise. Forces Three types offerees are considered (see Figure 4.4.1(b)): (1) Fs: attractive or repulsive force caused by the springs between neighbors (2) Fr: repulsive forces between every pair of non-neighboring vertices (3) Fm: rotative forces on magnetic links caused by magnetic fields.
(4.4.4)
96
Graph Drawing and Applications
for Software and Knowledge
Engineers
The ideas of the first two forces are based on Eades' model. The last is calculated as forces on the vertices connected by each magnetic spring. Strengths of these forces are given by: Fs = cs log (d/k)
(4.4.5)
Fr = cr/d2
(4.4.6) a 13
Fm = cmbd d
(4.4.7)
where d is the distance between a pair of vertices, k an ideal distance between neighbors, b the strength of a magnetic field, 9 {-n<9
<7i) the angle (radian) from the orientation
of the field to the orientation of the magnetic link, and parameters a, /?, cs, cr, cm (> 0) for tuning the model. In the case of a bi-directional magnetic link, there are two angles 9\ (negative) and 9i (positive) as shown in Figure 4.4.3. For 9, the one angle of which absolute value is smaller than the other angle is selected. Though magnetic forces Fm are exerted on each magnetic link by a magnetic field, they are calculated as two forces (with a same strength and reverse orientations) exerted on a pair of vertices connected by the link. Algorithm The algorithm is based upon that of Eades (84) in which the mechanical system is simulated. Before starting calculations we should specify the kinds of spring and repulsive forces as F, the type of magnetic field as M, and the types of links in terms of magnetic responses as R. [Magnetic Spring Algorithm] Input: Graph G, Specifications of forces F, magnetic field M, and magnetic responses R. Output: Drawing of G. Method: 1. Place vertices of G evenly around a circle of radius k\ V\I2K, in random order; 2.
Repeat n times; 2.1 Calculate the force exerted on each vertex by composing three kinds of forces according to F, M,R; 2.2 Move each vertex by Sx (the force on the vertex);
3.
Draw the graph on a screen.
Parameter 8 controls the magnitude of moving steps. Calculation of all the forces Fs, Fr and Fm has time complexity 0([E|), 0(|F| 2 -|£|) and 0(|£|), respectively.
Details of Automatic
Graph Drawing Methods
97
4.4.2 Experiments Examples of diagrams drawn with this algorithm are presented in order to show the usefulness of controlling link orientations and the capabilities of this method is tested by statistical experiments. A more detailed version can be seen in Sugiyama & Misue (94). In the experiments sample graphs are randomly generated, all of which for various classes of graphs such as: • rooted trees (RT) • directed acyclic graphs (DAG) • directed graphs with cycles (DGC) • rooted trees with two types of links (RTTL) • mixed graphs without cycles (MGNC). Then the algorithm is applied to the sample graphs in various magnetic fields shown in Figure 4.4.4 and the five measures that relate to the aesthetic criteria are calculated: • the number of crossings (which relates to aesthetic criterion Ai) • the number of error edges whose orientations do not approximately conform to the given magnetic field (As) • the distribution of angles between edge orientations and the given magnetic field (As) • the distribution of link lengths (A\) • the density of vertices distribution measured as the mean minimum distance between a vertex and its non-neighbor vertices (^4) • In investigating the performance, our interest lies in the following seven questions. • Can trees be drawn without crossings or with a few crossings? ( Q\) • Can downward (or upward) drawings of directed acyclic graphs be realized easily? (Q2) • Is our method suitable as a heuristic for the feedback arc set problem in the case of drawing directed graphs with cycles? ( Q3) • Is our method effective for h-v drawing of rooted binary trees? ( Q4) • Can mixed graphs be drawn in such a way that we can easily grasp a global structure constituted with different kinds of links and distinguish them readily? (Qs) • To which kind of problem is a polar field applicable? ( Q6) • Can directed graphs with cycles be drawn in a way that it is easy to grasp the global flow of the graphs and the existence of cycles? ( Qi)
98
Graph Drawing and Applications for Software and Knowledge Engineers
Summary of Experiments Since the magnetic spring method is substantially heuristic, exact answers cannot been given to the above questions. However, the observations of drawings indicate a practical usefulness of the method, especially in questions such as Q\, Q2, 04, Qs, and Q7: see Figures 4.4.5, 4.4.6, 4.4.7, 4.4.8, and 4.4.9 respectively.
(a)
(b)
(c)
(d)
Figure 4.4.5. A good result for drawing a tree in two phases: (a) initial placement; (b) layout in no field; (c) layout in a strong field; (d) layout after two phases [Sugiyama et al (95b)].
Details of Automatic
Graph Drawing Methods
99
The difficulty of drawing trees without edge crossings by spring algorithms is well known (see Figure 4.4.5(b)). However, if there is a strong parallel field, the crossing-free layout shown in (c) is obtained. Then, the calculation with no magnetic field is further continued as the next phase and the symmetrical layout presented (d) is obtained.
Figure 4.4.6. Layouts of a directed acyclic graph in the parallel field: no field (left), weak field (center), and strong field (right) [Sugiyama et al (95b)] .
Figure 4.4.7. Layouts of a rooted binary tree in the orthogonal field: no field (left) and strong field (right) [Sugiyama et al (95b)].
100
Graph Drawing and Applications for Software and Knowledge
(a) no
field
Engineers
(b) strong field
Figure 4.4.8. Layouts of a mixed graph without cycles in the orthogonal field [Sugiyama et al (95b)].
(c)
Figure 4.4.9. Layouts of three cyclic directed graphs in the concentric field: no field (left) and strong field (right) [Sugiyama et al (95b)].
Details of Automatic
Graph Drawing Methods
101
Table 4.4.1 shows a summary of statistical experiments where the effects of increasing the strength of a magnetic field are represented for each measure, each type of field and each class of graph: (1) O means that the corresponding measure is remarkably improved with increasing the strength of the field. (2) • means that the corresponding measure is remarkably improved at first, and then it becomes worse with increasing the strength of the field. (3) A means that the corresponding measure becomes slightly worse with increasing the strength of the field; for example. From Table 4.4.1 it can been seen that the method is remarkably effective for improving aesthetic criteria such as the number of crossings (A2) and the orientations of edges (,45) but is not effective for aesthetic criteria, such as keeping link length uniform (Al) and distributing vertices evenly (A4). Further, several drawings indicate the possibilities of our method for revealing symmetry (A3).
Measure
Parallel field
Related aesthetics -
Orthogonal field
Concent ric field
Polar field Bipartite graph
RT
DAG
DGC
RTTL
MGNC
DGC
A2
O
O
O
•
•
A,
O
O
O
O
O
A5
O
O
O
O
A
• • •
Edge length
A,
A
A
A
A
A
A
—
Vertex density
At
A
A
A
A
A
A
—
Symmetry
A,
Number of crossings Number of error edges Edge orientations
Answers for questions Drawing examples
—
Table 4.4.1.
— — —
O
—
—
—
—
O
—
good
good
good
no good
good
no good
for ft
for ft
for ft
Fig. 4.4.7
Fig. 4.4.8
Fig. 4.4.9
for ft —
for ft
for ft
no good for Q3
Fig. 4.4.5
Fig. 4.4.6
—
Summary of experiments [Sugiyama et al (95b)].
102
Graph Drawing and Applications for Software and Knowledge
Engineers
4.5 Drawing Methods for Compound Graphs As mentioned previously, many automatic graph drawing methods have been proposed, but the drawing objects have been limited to ordinary directed and undirected graphs that express adjacency relationships between vertices. However, the classes of diagrams that are used in daily work or research development are usually much wider. Here drawing methods of compound graphs, that express both adjacency and inclusion relationships, shall be discussed. Compound graphs are used as tools to foster human thought in a variety of fields. Examples include the existential graph [Roberts (73)] in logics, the KJ method [Kawakita (86)] in creativity science, the Higraph [Harel (88)] in software engineering, the associative network [Findler (79)] and the conceptual graph [Sowa (84)] in knowledge engineering.
Thus the development of drawing methods for compound graphs has
produced an effective integration of human thought and the generation of diagrams by machines, and it possesses great possibilities for use in superior visual interfaces for a variety of tools in areas such as CAD or idea processors. Sugiyama & Misue have developed a drawing method for compound graphs based on a drawing method for general directed graphs [Sugiyama & Misue (89, 91), Misue & Sugiyama (89)]. In this method, vertices are drawn as rectangles (these regions are used for text or images), the inclusion edges are represented as geometrical inclusion relationships between rectangles, and adjacency edges as polyline arrows joining the rectangles.
(a)
(b)
Figure 4.5.1. Examples of compound graphs: KJ diagram(a) and Higraph(b).
Details of Automatic
4.5.1
Graph Drawing Methods
103
Framework
Drawing Object With the inclusion relationships and adjacency relationships amongst a set V of vertices, an inclusion directed graph Gc = (V, F) and an adjacency directed graph Ga — (V, A) are defined. Here F is the set of inclusion edges and A is the set of adjacency edges. A compound directed graph is defined as the combination of these two directed graphs to give the triple G-(V,F,
A).
In this chapter the drawing objects are limited to those compound directed graphs G that fit the following two conditions: Condition 1: Gc is a tree. Gc is called an inclusion tree. In the tree, the parent, ancestors, children and descendants of vertex v are written as Pa(v), An(v), Ch(v) and De(v) respectively.
The ancestors
An(y) and descendants De(v) include vertex v. A vertex with no parent is called a root, and a vertex with no children is called a leaf. In a tree only one path (an undirected path) exists between arbitrary vertices. The depth of an arbitrary vertex v is the number of vertices on the path between v and the root, and is written as dep(v).
In particular,
depirooi) = 1. Condition 2: An adjacency relationship cannot exist between a vertex and an ancestor and a descendants of that vertex or {(u, v) eF\ vEAniii)
UDe(u)}= <j>.
(4.5.1)
Compound directed graphs limited to these two conditions appear in a wide range of fields, as mentioned above. If condition 1 is not fulfilled and there are vertices that intersect with each other, one of these vertices is replaced with a representative
vertex.
Also if adjacency edges which do not fulfill condition 2, these are first removed and then added to the diagram later. In this way the more common cases can be treated. From here onwards, unless specifically stated, compound directed graphs that meet the two conditions shall be called compound graphs for simplicity. In Figure 4.5.2, (a) shows an inclusion tree, (b) an adjacency directed graph, and (c) the compound graph combining (a) and (b).
104
Graph Drawing and Applications for Software and Knowledge
Engineers
© © © © © © © © © © ©
© (b) adjacency directed graph
(a) inclusion tree
(c) compound graph Figure 4.5.2.
Examples
of an inclusion
tree, an adjacency
graph, and a compound
graph.
Drawing Conventions and Rules C o m p o u n d graphs are drawn according to the drawing conventions and rules shown in Table 4.5.1.
rectangles geometrical inclusion nested hierarchy downward
crossings •e vertex crossings bends closeness balance
Table 4.5.1.
DRAWING CONVENTIONS Vertices are drawn as rectangles. Inclusion edges are drawn as geometrical inclusion relationships of vertices. Vertices are placed hierarchically in horizontal nested layers. Adjacency edges are drawn as downward polyline arrows as much as DRAWING RULES (in priority order) Adjacency edge crossings are reduced as much as possible. Crossings among adjacency edges and vertices are reduced as much as possible. The number of bends in adjacency edges is reduced to make lines straight as possible (and vertical if possible). Adjacent vertices are placed as close together as possible. Each vertex is placed at the barycenter of its neighbors.
Drawing
conventions
and rules for a compound
graph.
Details of Automatic
Graph Drawing Methods
105
Structure of the Algorithm The drawing algorithm for compound graphs is made up of the following four steps, similar to those for general directed graphs. Step I: Step II: Step III: Step IV:
Assignment of compound layers to the compound graph. Normalization of the assigned compound graph. Determination of vertex layout order in each compound layer. Determination of vertex layout position in each compound layer.
The concepts of the structure of the algorithm are similar to those for the general directed graph, but because the hierarchy is compound, a recursive traversal of the inclusion tree from root to leaves, or from leaves to roots, is necessary. These steps shall be explained here in greater detail, with the use of examples where possible, as the algorithm is complex. Figure 4.5.3 shows the automatic drawing of the compound graph shown in Figure 4.5.2(c) and the compound (nested) hierarchy of a compound graph. The adjacency edges drawn as black lines have downward direction, and those drawn as dotted lines have upward direction.
(D(1,1)(1,1,1)"
(1,1,2) (1,1,2,
"Z1 Zl
(1,1,2,2)
(1,2)-
0,2,0(1,2,2). (1,2,2,1)
1
(1,2,2,2)
Zl
(1,2,3) -
Figure 4.5.3. Drawing of the compound graph shown in Figure 4.5.2(c).
106
Graph Drawing and Applications for Software and Knowledge
4.5.2
Engineers
Assignment of Compound Layers to the Compound Graph (Step I)
The Compound Layer Assignment Problem The vertices in a compound graph are placed in a horizontal nested layer as in Figure 4.5.3, so that the drawing conventions "geometrical inclusion " and "downward" are satisfied.
The horizontal nested layering is expressed as a sequence of positive
integers. Expanding the layer assignment methods of directed graphs [Harary (72)], the possibility of assigning positive integer sequences called compound layers to each vertex of compound graph G = (V, F, A) is considered. It is given that Z= {1,2, 3, ...}
(4.5.2)
Z' - {the sequence of / elements of Z}
(4.5.3)
I
+
= 2;'ui;2uI3u....
(4.5.4)
Also, dictionary order is introduced for the sorting of the elements of Z . For example, (1, 1, 2) < (1, 2) < (1, 2, 1) < (1, 2, 2). Then the compound layer assignment for G is the problem of finding the map CL: V^> Z+
(4.5.5)
that fulfills the conventions of geometrical inclusion and downward. Fulfillment of Geometrical Inclusion The compound layer of the root of the inclusion tree is taken as (1). In order to fulfill geometrical inclusion, the compound layer of the child is the compound layer of the parent plus one element. Therefore, the length of the integer sequence that represents the compound layer of each vertex is equal to the depth of the vertex in the inclusion tree. That is, CL(v)sZdep{v)
,"veV
(4.5.6) v
CHyv) = append(CL(v), s), s e Z, (v, w) e F
(4.5.7)
where append is a function that append a component to a sequence. For example, in Figure 4.5.4 the compound layer (1, ... , a, b) means the 6th compound sublayer in the compound layer (1,..., a). Further in Figure 4.5.3 see that the
Details of Automatic Graph Drawing Methods 107 compound layer of vertex b is (1,1) and the compound layers of the children d, e a n d / a r e (1, 1, 1),(1, l , 2 ) , a n d ( l , 1, 2) respectively.
(l) (i,D (1,2) (\,...,a-\)
(!,..,«) (1
a, 1)
(\,...,a,b-l) (I,...,a,6)
(1,..,«+!)
Figure 4.5.4. Compound layers. Fulfillment of Downward In order to draw the arbitrary adjacency edge (v, w) of A downward, for each e e A order relationships <e and <e between vertices of which depths are identical are introduced as follows. Path P joining v and w in the inclusion tree for e— (v, w) e A is written as P : v-pm,pm.\
,...,p\,
t, q\, ..., q„.\,
qn-w,
(4.5.8)
where t is the vertex of which depth is minimum among the vertices on P. Based on the path P, order relationships for e e A are defined as Pn<e qn, pi<eqi{i=\,...,n-\) Pm<e qm, Pi<eqi(i=
ifm>n,
1, ..., m-l) if m
(4.5.9) (4.5.10)
For example, in Figure 4.5.2(c) the path for the adjacency edge (m, i) are P: m, g, c, i. Because m is included in g, and g and / have the same depth, it is necessary to derive
108
Graph Drawing and Applications
for Software and Knowledge
Engineers
the order relationship g <e i. Also for adjacency edge (J, I), order relationships j <e I and e <e f are derived. Further in Figure 4.5.5(b) there is no adjacency edge among vertices v2, v3, and V4. However from adjacency edges e\, ei, and e3 order relationships v2
v
) V
l
V
v v
5
]
3
V
6
\ % • / / -~ A v
v
7
\
^^xL Vt
8
^ 3
^ V,
(a)
(b)
Figure 4.5.5. Drawings of a compound graph: (a) considering conventions only and (b) considering both conventions and rules.
Compound Layer Assignment The compound layer assignment of compound graph G = (V, F, A) is formalized as to find the compound layer CL(v) for each vertex v in G satisfying conditions (4.5.5) (4.5.10). As the process of the compound layer assignment is rather complicated, it is better to explain it by using a simple example. In Figure 4.5.5(b) firstly the compound layer of root vo is taken as (1), that is CL(vo) = (1), then the layer assignment AL (see below) is applied to the directed graph formed from children {vi, V2, V3, V4} of the root, and layers of each vertex of the children are obtained as AL(v\) = 1, AHyi) = 2, AL(yi) — 2, AL(vn) = 3 respectively. So CL(v\) (1,1), CL(v2) = (1,2), CL(v3) = (1,2), and CL(v4) = (1,3) are assigned. Next proceeding to set W- {vi} of vertices of which compound layer is (1,1), since there is no child in them, then proceeding to set W - {vi, v3} of vertices of which compound layer is (1,2), the layer assignment is applied to the directed graph formed from children {v5, v6, v7, v8} of Wand layers of each vertex of the children are obtained as AL(vs) = 1, AL(v6) = 1, AL(y-j)
Details of Automatic
Graph Drawing Methods
109
= 2, AL(v«) - 2 respectively. As the result CL(v5) = (1,2,1), CL(v6) = (1,2,1), CL(v7) = (1,2,2), and CL(v8) = (1,2,2) are assigned.... Thus, the process of the compound layer assignment is performed from the root to leaves recursively. Algorithms for the compound layer assignment consist of procedure LLA and function LA. Procedure LLA can assign a compound layer CL(v) to each vertex v of G = (V, F, A) using function LA as a local processing recursively. The function LA can assign a layer AL(y) to each vertex v of descendents De(W) of set W of traversed vertices and return the total number of layers as the value of the function. [Compound Layer Assignment Algorithm] procedure LLA (G: compound graph; W: set of vertices); begin level := LA(G, W) ; for / := 1 to level do begin For \ v e {x e W\ AL(x) = i}, CL(w) = append(CL(Pa(w)), AL(w)); X:=Ch({x<= W\AL(x) = i}); if (X*0) then LLA(G,X) end end; function LA (G: compound graph, W: set of vertices): integer; begin For v v e W, AL(v) := 0; For v v e {xe W\ (-, (y <ex), *y eW,vee
A), AL(v) := 1};
repeat for ( v v
E
{xe W\ AL{x) > 1}) do
v
A) do begin
for ( w e W,vee
if ((v < e w) and (AL(v) > AL(w)) then AL{w):-
AL{v)+1;
if ((v < e w) and (AL(v) > AL(w)) then AL(w):-
AL(v);
end until (AL does not change any more); LA := max wew AL{w)
{=TL(W)}
end; It should be noted here that a given compound graph can not always have a compound layer assignment. This is due to the cyclical nature of the graph and the
110
Graph Drawing and Applications
for Software and Knowledge
Engineers
convention nested hierarchy. Only when a given compound graph is compound layer assignment possible
(or CLA-possible),
function LA terminates and by applying
procedure LLA for arguments G and {root}, compound layers of every vertex of G can be assigned, where CL(Pa(root)) = ( ). When a given graph is CLA-possible, the time complexity of the function LA is 0(|W|3x|,4|) because the part of repeat-until in LA takes | W\ repetitions at most. If a topological sort is applied to order relationships (
At this time the following rules are
obeyed: (i) edge => is removed before edge —>, and (ii) the derived edges are removed first. The compound graph obtained through this process from the derived graph is called the acyclic derived graph (see Figure 4.5.6(b)). In the derived graph in Figure 4.5.6, {b, c} and {g, i} are strongly connected components, so according to (ii) edge (c, b) is removed, and edge (;', g) is randomly chosen and removed. A compound graph with order relationships in an acyclic derived graph is CLApossible, so compound layers of each vertex of the compound graph is assigned easily using Compound Layer Assignment Algorithm. . For each adjacency edge (v, w) of G, it is checked that CL(v) < CL(w), and if not then the direction of that edge is reversed. These edges are called the feedback edges of a compound graph.
The compound graph obtained in this way is called the assigned
compound graph (see Figure 4.5.6(c)).
Next, steps II-IV are applied to this layered
compound graph, and in the final drawing the directions of the feedback edges are returned to their original direction, and these are drawn as upward edges.
Details of Automatic
Graph Drawing Methods
111
In the compound graph in Figure 4.5.2(c), the directions of adjacency edges (g, b) and (/, n) are CL(g) = (1,2,2) > CL(b) = (1,1) and CL(i) = (1,2,3) > CL{n) = (1,2,2,2) so these are reversed to (b, g) and (n, i). The layered compound graph thus obtained is shown in Figure 4.5.6(c). It is noted that reversed adjacency edge (g, b) is due to the cyclic nature (or compound cycles) and while reversed adjacency edge (/, n) is due to the convention nested hierarchy.
(1.1.2.1)
(c) layered compound graph (compare with Figure 4.5.2(c)) Figure 4.5.6. Derived graph, acyclic derived graph, and assigned compound graph.
112
4.5.3
Graph Drawing and Applications for Software and Knowledge
Engineers
Normalization of the Assignment Compound Graph (Step II) For assigned compound graph G = (V, F, A, CL), adjacency edges (v,w) in A are
said to be normal when CL (Pa(v)) = CL (Pa(w))
(4.5.11)
tail {CL (v)) - tail (CL(w)) - 1.
(4.5.12)
If all the adjacency edges of a layered compound graph G are normal, then G is called a normal compound graph. In Figure 4.5.3 edges (b, c), (d, e), (k, T) and (m, n) are normal, and note that (J, I) is also normal. All the other edges are not normal. The normalization algorithm takes the assigned compound graph and converts it into a normal compound graph. In the algorithm, all non-normal adjacency edges are replaced with dummy vertices, dummy inclusion edges, and dummy adjacency
edges,
making a normal compound graph. For example the adjacency edges (b, g) and (h, m) in Figure 4.5.6(c) are replaced in Figure 4.5.7 (a) and (b) with the dummy compound graph made up of dummy vertices, dummy inclusion edges, and dummy adjacency edges. The width of the dummy vertices is 0, so the actual drawing is as shown in (a') and (b').
(i) (ii) (ii i . i ) |
a b
(1.1.2)
(112.1) J (i.i.: 12~2)~|
(1.2)"
c
• 0
(1.2.2)
•
\ \p..\ \
(1.2.1)
s
g
(1.2^1)1 (1.2.2.2) J (1.2.3)
(a)
(a')
(b)
Figure 4.5.7. The process of normalization.
(b1)
Details of Automatic
Graph Drawing Methods
113
4.5.4 Determination of Vertex Order in Each Compound Layer (Step III) In a normal compound graph, local hierarchy graphs are defined for each vertex. The steps for order determination are applied recursively to the local hierarchy graphs whilst following the inclusion tree from the root to leaves. The order of vertices within each local hierarchy graph is decided by rearranging the vertices to achieve, wherever possible, the drawing rules of closeness, minimization of adjacency edge
crossings,
minimization of edge vertex crossings. The problem of minimizing edge crossings is NPcomplete [Johnson (82)], so heuristic methods have been developed.
(a)
(2,0)
(0,2) (c)
Figure 4.5.8. Ordered compound graph (a), and the local multilayer graph (b) and simple local multilayer graph (c) of vertex v.
Local Hierarchy Graphs In the normal compound graph G = (V,F,A,
CL), the child set Ch(v) of each vertex
v is split into subsets (called layers) according to their compound layers. When the
114
Graph Drawing and Applications for Software and Knowledge
Engineers
vertices belonging to each layer of the child sets of each vertex of G are arranged in the order o; this graph is called the ordered compound graph G(a) = (V, F, A, CL, d). For example Figure 4.5.8(a) shows the ordered compound graph. Here G ~ ( r ( « i ( ("2), ("3 ( ( ), ("4)) ) ), V ( (Vi, V 2 ), (V3 ( (V 6 ), (V 9 ) ), V4 ( ( ) , (Vio) ) , V5 ( (V7, Vg), (Vi l) ) ) ) , W\ ( ( w 3 ) , (VC5), (W 7 ) ) , W2 ( (W 4 ), (W 6 ), (W 8 ) ) ) ) ) .
For each vertex v of ordered compound graph G that is not a leaf, the local multilayer graph H(v) - (Ch(v), A(v), h(v), o(v)) is defined. The graph H{v) is similar to the multi-layer graph defined in 4.2.4, but differs on the following points. (1) Each vertex w has 2 attribute values X, p. Here X (or p) is the number of adjacency edges that the descendants of vertex w join with the descendents of vertices to the left (or right) of v. (2) There are also adjacency edges between vertices in a same layer and for this case a multiple degree CO is defined. For example Figure 4.5.8(b) shows the local multi-layer graph corresponding to vertex v in the ordered compound graph (a). Because adjacency edges (w2, V3) and (v6, W4) exist between the descendants of vertex v3 and the descendants of vertex u\ to the left of v, and no adjacency edges exist between the descendants of V3 and the descendants of the vertices to the right of v, the attribute values (A, p) of vertex v3 is (2, 0). Also because there are 2 adjacency edges from the descendants of V5 to the descendants of V4, the multiple degree
(4.5.13)
Details of Automatic
Graph Drawing Methods
Here K(G(ti)), C(G(o)) and Q(G((J)) are quantitative criteria for closeness,
115
minimization
of adjacency edge crossings and minimization of edge vertex crossings, and c\, c-i, and C3 are weighted constants such that c\ + c-i + c^ - 1. It is possible to split problem P into problems relating to local multilayer graph H(o(v)) as follows. P(v): min{c,K(H(a(v)) + c2C(H(a(v))
+ c3Q(H(cr(v))) |
Here V' is a set removed leaves from V. Algorithms for the Determination of the Order of Vertices In order to solve P, the procedure VOrderGlobal(G(<7), root) is invoked, and whilst following the inclusion tree from root to leaves the problem, P(v) is solved recursively. [Compound GraphVertex Order Determination Algorithm] procedure VOrderGlobal (G (o), v); begin if(C/i(v)*$then begin VOrderLocal (//(o(v)); {problem P(v) is solved here} for (each w e Ch(v)) do VOrderGlobal (G(k), w) end end; Problem P(v) is based on a problem for local 2-layer graphs, so first the procedure for local 2-layer graphs is considered, then this is expanded to local multilayer graphs. Decision of layout order of vertices in local 2-layer graphs Firstly the basic problems of minimizations of K(H(&)), C{H(d)) and Q(H(a)) are considered, using examples. (a) minimization of K(H(cr)) (achieving closeness): This is a problem related to the layout of vertices with adjacency edges with outside vertices, and its optimization is easily achieved. For the attribute values (/L, p) of each vertex v e V, let / = X (v) - p(v). If />0 (t<0), then v is placed on the left (right) margin. If there are more than 2 of these vertices, the higher \t\ the closer to the margin
116
Graph Drawing and Applications for Software and Knowledge
Engineers
they are placed. This is called the Sprit Method. For example in the local 2-layer graph in Figure 4.5.8(b), optimality has been fulfilled. (b) minimization of C(H((J)) (minimization of adjacency edge crossings): As mentioned in Section 4.2.4 this optimization problem is NP-complete, so heuristic methods, such as the barycenter method, are used. Barycenter substitution is repeated alternately in the first and second layers. For example in Figure 4.5.9(a), the upper barycenter of vertex / is connected with the first, second and third vertices of the first layer (that is, a, b, c), so it is calculated by 2.0 = (1 + 2 + 3) / 3. In (a) the upper barycenter of the vertices of the second layer are not in increasing order, so barycenter substitution is applied resulting in (b). In the same way barycenter substitution is applied to the vertices of the first layer of (b), resulting in (c). As a result the number of crossings is reduced from 5 to 0. 1.5 b
4.0
f 2.0 (a)
g 3.0 (upper barycenter)
1.0 a
1.0 c
1.0 e
f 2.0
1.5 b
g 3.0 (b)
2.5 (lower barycenter) d
e 4.0
reordered
2.5 d reordered
C=0
J
2.0
s
2.5
e 3.0
(c)
Figure 4.5.9. The reduction of edge crossings.
(c) minimization of Q(H(<7)) (achieving minimization of edge vertex crossings): For simplification the multiple degree co of edges is ignored.
This problem is
calculated for each layer. The optimization of Q(H(ti)) at each layer is equivalent to the linear arrangement problem [Even (79)], which is known to be NP-complete. This is because the number of crossings between edge and vertices for each edge in a layer is
Details of Automatic
Graph Drawing Methods
117
equal to the edge length [Even (79)] minus one. Therefore a heuristic method called the Insertion Barycenter Method is used. Figure 4.5.10 explains the insertion barycenter method. The initial layout of a layer is shown in (a). In (b) the vertices w, x, y, z are inserted into each edge, and ordered in the order (w, x, y, z) according to the barycenters. After this the barycenter ordering is applied to g, h, i,j, k and the order (i, g,j, k, h), as shown in (c), is obtained. The optimal solution is shown in (d).
The performance of the Insertion Barycenter Method is
assessed by changing the number of vertices or the density of edges (see Sugiyama & Misue (91)).
2.5 x
3 y
^T^T^?^ (a)
2.5 x
j 2 (c)
3.5 z
3 y
k 3.5
h
i•
j
k
O
O
O
O
4
1
2
3.5
,-
g
j
k
(b)
h 4
O h
(d)
Figure 4.5.10. Insertion barycenter method.
The vertex order determination algorithm for local 2-layer graphs has two characteristics. Namely, the adoption of the priority order closeness > minimization of edge crossings > minimization of edge vertex crossings, and the application of the barycenter method to simultaneously solve the crossing reduction problem and the linear arrangement problem. In procedure Vorder2Lay, BOU(0 and BOL(z') are the barycenter orderings by the upper and lower barycenters in the z'th layer respectively, IDU(z') and IDL(i') are insertions of dummy vertices in the upper layer and lower layer for the edges between the vertices of the rth layer respectively, and I is the upper limit of repetition. As preprocessing to achieve the rule of closeness, the vertices of each layer are ordered
118
Graph Drawing and Applications for Software and Knowledge Engineers
according to the Sprit Method, and the vertices for which either X or p is not 0 are fixed in position. Thus, for simplification, in procedure VOrder2Lev these vertices and edges connected to them are ignored. [Local 2-layer Graph Vertex Order Determination Algorithm] procedure VOrder2Lay (H(o(v)), I); begin for; := 1 t o / d o begin IDU(l); BOU(l); BOU(2); IDU(2); BOU(2); {downwards step} IDU(2); BOL(2); BOL(l); IDL(l); BOL(l). {upwards step} end end;
e(0.2) a rf(1.2) 4
c
a
/(1.0)
g
h
b
c d(l,2)
i
j
e(0,2)
"
b
k
(b) 1 2.5 3 3.5 3.5 4 4.5 a iv c x z v b
i ] 1.5
h 5
S 2 3.75
J 3 5.5
awe
x z y
b
k 3 6
(f»
a
f w
x
(i)
i
c
g
b
j
J
k
h
y
(j)
Figure 4.5.11. Vertex layout order decision for local 2-layer graphs.
Details of Automatic
Graph Drawing Methods
119
Figure 4.5.11 shows the application of vertex ordering to a local 2-layer graph. Here (a) and (b) are preprocesses for fulfilling closeness. The final result (j) has 0 edge crossings and 1 edge vertex crossing. Decision of layout order of vertices in local multilayer graphs The algorithm for a local /z-layer graph is an expansion of the algorithms for local 2-layer graphs. In procedure VOrderLocal, 7 is the upper limit of repetition. As the preprocess, the vertices of each layer are ordered according to the Sprit Method, and the vertices for which either A or p is not 0 are fixed in position, and in procedure VOrderLocal these vertices and edges connected to them are ignored. [Local h-Layer Graph Vertex Order Determination Algorithm] procedure VOrderLocal
(H(a),I);
begin for/:=l to/do begin IDU(l); BOU(l); {start of downwards step} for / := 2 to h do begin BOU(/); IDU(/); BOU(/); end; IDL(M); BOL(«); {start of upwards step} for j := h-\ downto ldo begin BOL(/); IDL(/'); BOL(/) end end end;
4.5.5
Determination of the Placement of Vertices (Step IV) The algorithm for the metrical layout of a given ordered compound graph is
presented here. The determination of metrical layout involves the placement of vertices and the routing of adjacency edges. The routing of adjacency edges can be done instantly from the placement of vertices as follows, so vertex layout determination is discussed here. (1) The normal adjacency edges of the initial given compound graph can be drawn as straight lines. (2) For the non-normal adjacency edges of the initial given compound graph, by setting the width of the rectangles corresponding to the dummy vertices at 0, these can be instantly computed from the vertex positions (see Figure 4.5.7).
120
Graph Drawing and Applications
for Software and Knowledge
Engineers
The problem of deciding vertex layout can be split into two independent problems. That is, the horizontal problem of calculating the horizontal position and width of the rectangle corresponding to the vertex, and the vertical problem of calculating the vertical position and height of the rectangle. The latter is easily solved, so will not be explained here, but the horizontal problem shall be discussed. Vertex Layout Coordinates Decision Algorithm The ordered compound graph G(d) - (V, E, F, CL, a) is given. In Section 4.5.4, the local multilayer graph H{v) - (Ch(v), A{v), h(v), o(v)) is defined for each vertex of G(o) that is not a leaf. When the attribute values of each vertex and the adjacency edges between vertices on the same layer are removed from H(v), this is called the simple local multi-layer graph H(v). For example Figure 4.5.8(c) shows the simple local multi-layer graph of (b). To decide the layout coordinates of the vertices of G(o), procedure MetricalLayout is used. This procedure takes G(o) and the width S(v) (a positive even number) of each leaf vertex v, and calculates the global horizontal position X(v) of each vertex v and the width 8 (v) of the non-leaf vertices v. Here d\ and dj are parameters for layout (see Figure 4.5.12). Procedure LayoutLocal calculates the local horizontal position x(v) and the width b\v) of all the vertices v of G((f), and procedure LayoutGlobal calculates the global horizontal position of these. Procedure PRMethod is explained later. [Compound Graph Metrical Layout Algorithm] procedure MetricalLayout (G(cf), X, 5); begin LayoutLocal (G(d), root, X, 8); X(root) := 5(root)/2; LayoutGlobal (G(o), root, x, X, 8) end; procedure LayoutLocal (G{d), v, x, S); begin if (Ch(v) includes nonleaf vertices) then for (each nonleaf vertex w £ Ch(v)) do LayoutLocal (G(o), w, x, S); PRMethod (H(v), x, 8)
Details of Automatic Graph Drawing Methods 121 end; procedure LayoutGlobal (G(o), v, x, X, 8); begin if (Ch(v) *
I*
b d
*0
*\
-
/
1
d\e)
d*
•
e
di
*A>
***
*—>
?X/), h
! d,
.?
*(/)
x(d), x(e)
Figure 4.5.12. Parameters for the layout coordinates decision of vertices .
Position Decision Algorithm for Simple Local Multilayer Graphs In order to solve the problem of deciding the widths and horizontal positions of the rectangles corresponding to all the vertices, the problems formulated on the simple local multilayer graph are solved recursively one by one using LayoutLocal. The Priority Method (procedure PRMethod) has been developed for solving this problem.
122
Graph Drawing and Applications
for Software and Knowledge
Engineers
Figure 4.5.13. A drawing of a compound graph.
Details of Automatic
Graph Drawing Methods
123
The basic concepts of this method are similar to those for procedure VOrderLocal. That is, the improvement of horizontal position is consecutively applied to each layer. In VOrderLocal the barycenters of vertices were used to order the vertices, but in this method the improvement of position is carried out according to the priority given to vertices and the geometrical barycenters. Procedure PRMethod takes the simple local multilayer graph H(v), and calculates the local coordinates x(w) and widths 8(w) of the vertices of H(v). This procedure is the same as the vertex layout coordinates decision algorithm for /j-layer graphs in Section 4.2.5 (except that this algorithm does not consider the widths of vertices). Figure 4.5.13 shows a drawing of a fairly large compound graph (62 vertices, 34 adjacency edges, 60 inclusion edges, no cycles). In this example, various sizes are given to the widths and heights of the rectangles corresponding to the leaves.
Also the
outermost rectangle, corresponding to the root, is drawn on the Figure, but it is common for this not to be drawn.
4.5.6 Performance and Usefulness of Drawing Method for a Compound Graph The time for layering includes the time for finding feedback edges, so is dependent on the number of feedback edges.
If there are no circuits, the machine time is
significantly small. It is mostly possible to ignore the time for normalization. The time for ordering and coordinates decision of vertices is mostly in proportion to the index k as shown in Figure 4.5.14. The total time for all cases shows that the algorithm has a satisfactory performance speed. The expansion of the class of graphs discussed in this section to compound graphs has made it possible to give a richer and stronger function for the representation and manipulation of structural information. One of the most obvious functions is the labeling of subgraphs or the grouping of vertices signified by the generalization, abstraction, aggregation, or unification of the concepts assigned to the elements or vertices of the subgraph. Another function is for the greater detailing of the concepts assigned to the vertices. This is achieved by the expansion to a more detailed structure of vertices. Figure 4.5.15 explains the possibilities of basic instructions sets for the reorganization of structure within the form of the compound graph. The meanings of the basic instructions in the Figure are as follows. (1) EXPAND: More detailed structure is drawn within a vertex (vertices C and D are expanded in drawing (a), to obtain drawing (b));
124
Graph Drawing and Applications for Software and Knowledge Engineers
(2) ABBREVIATE: All the structure included in a vertex is removed (the subgraphs included in vertices C and D are removed in drawing (b) to obtain drawing (d)); (3) RELEASE: A vertex is removed, and the structure it contained is released (In drawing (b), vertices C and D are removed, the structures they contained are released, to obtain drawing (c)); (4) GROUP: A vertex that includes the structure composed of several vertices is generated (in drawing (c), vertices 1, 2, 3, 20, 21 are grouped into the subgraph of vertex C and vertices 9, 13, 14, 15 are grouped into the subgraph of vertex B).
O order decision + metrical layout A order decision only
O O
A
A
A
O A
100
200 index
300
400
500
k=YZ\Vfv)\
Figure 4.5.14. The machine time for layout order decision and layout position decision [Sugiyama et al (91)].
Details of Automatic
Graph Drawing Methods
125
t>0
I bo
"a
K 3 O
bo c
^. -s:
53
S .bo
This page is intentionally left blank
6—O O CHAPTER 5
EXTENSIONS OF AUTOMATIC GRAPH DRAWING METHODS
The fundamentals of drawing methods have been discussed in the previous chapters.
In this chapter several extensions of drawing methods for use in actual
situations shall be discussed. The explanation shall center on the drawing methods for compound graphs, but other classes of graphs may be used in the same way. Firstly, for basic methods using straight or polylines, extensions to drawing methods using curves are discussed. Next the fisheye method, in which emphasizes a "view point" part of a graph drawings, and summarizes the non-view point parts shall be discussed, because of its significance. Also, the basic methods for static drawing, shall be extended to dynamic drawing methods such as re-drawing or incremental drawing.
127
128
5.1
Graph Drawing and Applications
for Software and Knowledge
Engineers
Drawing Methods Using Curves In the drawing conventions for compound graphs discussed in Section 4.5, vertices
are drawn as rectangles, and adjacency edges are drawn as straight or polylines. However, in actual applications it can be more useful to have vertices drawn as closed curves and adjacency edges drawn as curves. Here drawing methods using curves, based on Sugiyama and Misue (86), Misue & Sugiyama (88), and Sugiyama & Misue (91), are described. It can be said that so far automatic graph drawing methods have aimed to obtain geometrically beautiful drawings from the standpoint of functionalism, with emphasis on simplicity, regularity, symmetry, preciseness and so on. Of course this has advantages such as the exactness and clearness of criteria, and it is highly necessary and has many uses.
On the other hand, from the human interface point of view it is necessary to
emphasize human aspects, such as the familiarity or individuality of hand drawn curves. Drawing methods that actively use the features of curves, such as complexity, irregularity, diversity and activity, should be the subject of research development in the future. An experimental attempt is shown here.
Figure 5.1.1. An example of a compound graph drawing.
Extensions
5.1.1
of Automatic
Graph Drawing Methods
129
Knowledge from Observation of Hand Drawn Examples Sugiyama & Misue (86) carried out an experiment to see what kind of lines
humans draw to enclose things. The graph in Figure 5.1.1 was broken down into parts,
(1)
(2)
(5)
(8)
(3)
(6)
(9)
(4)
(7)
(10)
Figure 5.1.2. Superimposition of hand drawn closed curves.
and 15 subjects were given the task of drawing lines to enclose these. Figure 5.1.2 shows these closed curves superimposed on each other. The following knowledge was obtained through investigation of the results collected by subject and by subgraph. • Subjects held some kind of mental image (a polygon) of the subgraph to be enclosed, and a smooth line was drawn to enclose this image, keeping a suitable distance. These mental image polygons can be divided into the following four types.
130
Graph Drawing and Applications
for Software and Knowledge
Engineers
(a) Some kind of criterion (for example, rectangle, or oval) is strongly preferred a priori. Regardless of the size of the object, there is almost no influence from the shape. (b) Those that can be considered to be trying to enclose the minimum
enclosing
convex area. These take the shape of the object at its most simplified form. (c) Those in between (b) and (d). Some feature is abstracted from the original region. The "valley" parts are cut from the original area in (d). (d) Those true to the original region. The most faithful attempt to grasp the shape of the object. •
A mixture of partial types, as above, was not seen for the same closed curve.
•
The offset (the distance between the polygon and the hard-drawn line) was relatively stable for each object; from Figure 5.1.2 it can be seen that there was almost no difference of the offset due to the size of the object.
Examples of the polygons for object no. 10 (Figure 5.1.2 (10)) are shown in Figure 5.1.3. The dotted lines show the mental image polygons. The proportion of each type was: (a) 25%, (b) 65%, (c) 7% and (d) 3%.
(a)
(b)
(o)
Figure 5.1.3. Mental image polygons.
(d)
Extensions of Automatic Graph Drawing Methods 131 5.1.2
Generation of Hand Drawn-Like Curves Based on the knowledge obtained above, an algorithm to generate hand drawn-like
curves for vertices and edges of a compound graph are developed [Misue & Sugiyama (88)]. Before using this algorithm calculations for rectangle positions of vertices and polylines of edges should be performed through the algorithms described in Section 4.5. In generating closed curves for enclosing vertices it is important to satisfy the condition such that a newly generated curve can enclose completely a drawing of inside subgraph. The method described below can satisfy this condition. A hand drawn-like curve is generated using a second order Bezier curve from the control polygon composed of the subgraphs that should be enclosed for vertices, and from the control polygon composed of the intermediate points of the polylines for edges. Type (b) in Figure 5.1.3 is adopted as the control polygon of the closed curves expressing vertices, and the offset is determined such that the upper closed curve can enclose the lower one (see Figure 5.1.4). For the control n-polygon: PQ, P\,..., P„-\, the curve is given by Q(t) = Qt(l-t?
+ 2Pi+]t(\-t)
where for a open curve, i = 0,1,...,
P0 QJ =
/>„_,
If if
,- {F; + P/+l}
+ Qmt2
(0
(5.1.1)
«-3 and
y=0 j = n-2
(5.1.2)
otherwise
and for a closed curve, / = 0, 1,...,«-1 and
These open curve and closed curve generated from control polygon A is written as CA and CA and have the following characteristics. • Curves C° and CA are tangent to every side(edge) of the control polygon A. • If A is a convex polygon, CCA is inscribed in A. • If A is a convex polygon, CA is a simple closed curve.
132
Graph Drawing and Applications for Software and Knowledge
Engineers
• If A' is a convex polygon which is obtained by considerably enlarging convex polygon A, CCA, encloses/I
Figure 5.1.4. Offsets, a control polygon, and a closed curve.
Figure 5.1.5 shows variations of the uses of straight lines and curves for a compound graph with circuits (32 vertices, 20 adjacent edges, 31 inclusion edges, real lines: downwards, broken lines: upwards). In (a) the basic drawing conventions are followed, with vertices drawn as rectangles and adjacent edges as polylines. In (b)~(d) after the layout of vertices and adjacent edges has been decided using basic drawing convention, the closed curves for vertices and the curves for adjacent edges are recalculated and drawn. In (b) vertices are rectangles and adjacent edges are curves, in (c) vertices are closed curves and adjacent edges are polylines, and in (d) vertices are closed curves and adjacent edges are curves. From observations of Figure 5.1.5 (a)~(d), the following can be said. Suitable drawing types can be chosen according to application, from (a)~(d). • Overall, the mental influence of the shape is fairly great.
Extensions of Automatic Graph Drawing Methods 133 A mixture of straight lines and curves is effective in distinguishing vertices and edges (as in the cases of (b) and (c)). The shape of the closed curves representing vertices reflects the shape of the subgraphs enclosed in the closed curves. In other words, each closed curve is individual. This has a positive influence on the readability of the diagram (as in the cases of (c)and(d)). Very different impressions are given by (a) and (d). Probably most people would feel that (a) is disciplined and fixed, and (b) is familiar and free. Therefore (a) is suitable for expressing formal, static or final subject matter, whilst (d) is suitable for expressing informal, dynamic or progressive subject matter.
(c)
Figure 5.1.5. Variations of drawings using curves [Sugiyama et al (91)].
134
5.2
Graph Drawing and Applications for Software and Knowledge
Engineers
Fisheye Views When a photo is taken with a fisheye lens, compared to a normal lens, the central
view part is expanded and the peripheral part is reduced. That is, the central part of interest is expanded and emphasized such that the details can be seen, and the peripheral part of relatively little interest is abridged. The features of a fisheye lens, showing a good balance between the overall context and the local details, may be generalized. The fisheye attempts to change the view on demand, carrying out extension, reduction, emphasis and abridgement according to the importance of the elements of the original diagram or picture. That is, the fisheye was devised to fulfill the demands of those who want to see the whole even if roughly, yet want to see the details of several parts, and further want to represent this in a limited area. This problem is called "Fisheye view problem", "Whole and detail view problem", "Small screen problem" or "Focus + context problem". Furnas (86) first proposed this concept of a generalized fisheye, and illustrated the concept with a variety of application examples. He expresses the general formalism of a fisheye as the following degree of interest function: DOIf,sheye(x\.=y) = API(x)-D(x,y)
(5.2.1)
where DOI flsheyt ( x | . = y ) is the user's degree of interest in a point x when the current point (.) is focus y, API{ x ) is the global a priori importance of x, and D( x, y ) is the distance between x and y. This fisheye is extremely important for automatic graph drawing, and is very effective for such problems as expressing a complex graph on the limited screen of a workstation. For example it is useful when the whole must be seen but the detailed structure of a part must also be seen, as shown in the application in Chapter 7. Previously in such cases a reduction of the whole diagram and an expanded diagram of the part of interest were used, perhaps as several pages, making a severe cognitive burden as it was necessary to adjust between several diagrams. Spence & Apperley (83), Sarkar & Brown (92), and Leung & Apperley (93) discussed on a general framework for utilizing the concept of
fisheye view for graph layout and applied it to various
applications. Using the compound graph proposed by Misue & Sugiyama (89, 91) and Misue (90) as a drawing object, an outline of three types of fisheye mappings shall be discussed here. More details can be seen in Misue & Sugiyama(95).
Extensions
5.2.1
of Automatic
Graph Drawing Methods
135
The Importance of Diagram Elements Graphs are constructed of elements called vertices and edges. It is necessary to
distinguish between three types of importance
for diagram element e: structural
importance, semantic importance, and view importance.
In some cases these degrees of
importance are previously given and do not change. In other cases they are a function of the user's point of observation. The structural importance Is(e) can be formally calculated from the structure of the graph, and is connected to the graph theoretical concepts such as the depth of vertices in trees, the degree of vertices, or the strongly connected components. Semantic importance Im{e) is defined by the semantic context of each element and is not influenced by the movement of view point or changes in structure. View importance Iv(e ; f\, ...,/„) is defined by the graph theoretical distance from the viewpoint to element e, when n view points / i , . . . , / „ are given, so is lower as the distance becomes greater and so on. The total importance 1(e) of element e is defined by the following weighted sum of these degrees of importance. 1(e) = wsIs(e) + wmIm(e) + wvIv(e; / , , . . . , / „ )
(5.2.2)
where wv + ws + wm = 1, wv > 0, ws > 0, and wm > 0. Examples of each importance are: Is(x) = - depth(x): the depth of vertex x in a tree Im(x) - (the number of characters in the label of vertex x) Iv(x; y\, ..., y„) = - minD(x;y j ): the distance from the closest viewpoint yt to vertex x. The total importance extends Furnas' function of degree of interest into multiple viewpoints function, and distinguishes between structural importance and semantic importance. This total importance shall be utilized for the abridgement fisheye mapping later.
5.2.2
Fisheye mappings for compound graphs There are two main categories of fisheye mapping:
(1) The original diagram, which was drawn without previous consideration to degrees of importance, is redrawn by mappings that reflect the view importance. (2) Processes to change the attributes of diagram elements or the structure of the graph, to reflect each type of importance, are carried out before drawing.
138
Graph Drawing and Applications for Software and Knowledge
Engineers
The natural fisheye mapping and the retention fisheye mapping belong to the first category, and the abridgmentfisheyebelongs to the second. Natural Fisheye Mapping The natural fisheye mapping is based on an idea to display large objects distorted as if through an optical fisheye lens of which angle is very wide (e.g. 180 degrees or a hemisphere); this greatly enlarges the area around the viewpoint (see Figure 5.2.1). Simulating a fisheye lens, the natural fisheye mapping is constructed by using an inverse tan function to map an infinite domain into an area with radius r. The natural fisheye mapping has the "flavor" of an optical fisheye lens but can have two or more viewpoints.
Figure 5.2.1. An opticalfisheyelens (Courtesy of'Kazuo Misue).
Figure 5.2.2. Method of reproducing a natural fisheye.
Extensions >:#l|l<sUir5-l'79~?J
of Automatic
Graph Drawing Methods
137
t(dT*KBE}bfc%JlK*' »:»»»A»Sli£JM>ll*wmi£ 1
I*»KEJIBV<. * - J | •'-•©S8BU | "••ASM [ "ABg |.:fct
|
iS:8»»AlftHffl« a^itliV>ffllS*
h':4ttH"-*tt|
; 12:aS<0IB>OTa
EM^
|»:|M| |
?S: gft
nig
f<:iw;
|":lHt|
16:3130
P'tib
E5T7S1 13:^5®
t»'t*|
;
pt:LV(Q| t
i" **l f"^«| fS:*tt|
(a) Original diagram
(b) One viewpoint
(c) Three viewpoints
Figure 5.2.3.
Natural fisheye [Misue et al (91)].
138
Graph Drawing and Applications
for Software and Knowledge
Engineers
In Figure 5.2.2, the horizontal line is on the plane of the original diagram, and the point F on the horizontal line is the viewpoint of interest. When a circle, with radius s, that passes through F is drawn, the arbitrary point P of the original diagram is mapped at point Q in the same direction as P from view point F. However, the length of position n
vector FQ, when the length of arc FR, for example, is expressed as | FR |, is given by \FQ\ =r-\FR\l\FT\=r-al{s-n/2).
(5.2.3)
When P is infinitely distant from F, a reaches the maximum value of s-ril. In order to contain the newly generated diagram within the circle of radius r (i.e. \FQ |< r), a is divided by s-n/2 and multiplied by r. As a - sO = s tan"'( \FP\ /S), from item 5.2.3: \FQ\ = (2r/n)tm-1 (| FP | /s).
(5.2.4)
When there are multiple viewpoints (;' = 1,..., ri), the point Q on the new diagram representing the arbitrary point P is found by taking the arithmetical mean of the position vectors FQi for each view point, when all the view points F, are superimposed as point F. That is, FQ^In^FQ,
(5.2.5)
;=i
Figure 5.2.3 shows example layouts of a natural fisheye. The original diagram is shown in (a) (the graph example from Kawakita (86), p. 138-139), with one view point in (b) and with 3 view points in (c). The diagrams obtained with this fisheye give a natural impression without resistance.
However, there are characteristics which become
problems for some applications, such as the relatively long computation time, the fact that the overall shape is not retained, or the loss of orthogonality. Retention Fisheye Mapping The retention fisheye mapping is a fisheye suitable for compound graphs that retain orthogonality, and overall shape and size. It has the advantage that unlike the natural fisheye mapping the peripheral parts are not infinitely reduced. Also, because the overall shape and size is retained and computation time is short, it is a method suitable for interactive use in window systems of workstations.
Extensions
of Automatic
Graph Drawing Methods
139
1
^. . . « j .
mapping
magnify in each direction uniformly
retain orthogonality
demagniify in each direction uniformly Figure 5.2.4.
preserve overall shape and size
The retention
fisheye
mapping.
WW, St'tHtfrMBFfiWfclll^ra
(a) One viewpoint
VWPStuVtkyy-fTiiSSiiF-
• WSizmi -ewoBai:
immmz E3Bj
„ . „ , „
ef2BDHl
ElSlIsfl (b) Three viewpoints Figure 5.2.5.
Retention fisheye [Misue et al (91)].
140
Graph Drawing and Applications
for Software and Knowledge
Engineers
The basic idea of retention fisheye mapping is to use view areas, which are rectangles on the screen, instead of viewpoints. This mapping preserves the aspect ratio of the rectangular frames of display objects. The display objects are magnified uniformly in each view area, and demagnified uniformly outside the view areas. The magnification ratios for each axis are equal to magnify view areas similarly. In Figure 5.2.4 illustrates the idea of the retention fisheye mapping. Dark areas means view areas that are magnified and white areas are demagnified. Figure 5.2.5 shows the diagram obtained by retention fisheye mapping. For the original diagram in Figure 5.2.5(a), a case with one viewpoint and a case with three viewpoints are shown. Abridgment Fisheye Mapping When the diagram is too large for the retention fisheye mapping, the abridgment fisheye mapping is often used, to abridge unimportant parts at some stage, in conjunction with the retention fisheye mapping. Consider carrying out abridgments with degree of importance given only to the vertices among the diagram elements of the compound graph G = (V,F, A). When the total importance 7(v) in equation (5.2.2) is below an upper limit value U, let a vertex v be abridged. That is, {veV\I(v)
(5.2.6)
is abridged. In this case, even with the same compound graph, a number of variations of the abridged compound graph can be obtained according to methods such as: (1) giving the weighted coefficients wv, ws, wm, (2) giving viewpoints and reducing the sizes of vertices with the distances from the viewpoints, (3) reducing the sizes of vertices with their depths in the inclusion tree, (4) neglecting vertices of which total importance is below an upper limit, (5) reducing the sized of vertices of which depth is below the threshold value. Variations of the abridgment fisheye mapping for the compound are shown in Figure 5.2.6.
Extensions
of Automatic
Graph Drawing Methods
141
Original drawing:
Set weights (ws, wm wj = (1,0,0) and vertex size is reduced with depth.
Set weights (wywnrwj = (0,0,1), vertex 6 is viewpoint, And vertex size is reduced With distance from vertex 6.
Setweights (ws,wmwj=(0,l,0) and vertex size is proportional to vertex No. 9
"
S0 l"l
I
[er m
*
E|
P3Q3
e
'
B
-
liiJ L J
30
1^.
*
TEIHI
| 1 9 11 20 |
run
feBgl
a
m
cuia
1
'
| 23 | | ZA |
um
I
Vertex size is changed by threshold: depth=4.
Change weights into (ws,wm,wj = (0.5,0,0.5).
• " [26] [To] 1
1 p
1
F
mm
HD3
HE
| 13 |
J^l
w
| 19 11 20 |
oSa
Vertices beneath depth=4 ^ are neglected. Move vertices 23,24, and 25 to the outside.
"
[00 [00 00
00
00 0
Change viewpoints to vertices 10 and 22.
D3
00
Spfo] H
£1 IP3! B0[|]
| 1 9 | [ 20 |
J
Figure 5.2.6.
Variations
of the abridgement
Arranged from Misue
(97).
fisheye
mapping.
[H]
3D]
I
142
5.3
Graph Drawing and Applications
for Software and Knowledge
Engineers
Dynamic Drawing Methods The drawing methods discussed so far are static drawing methods.
That is,
drawing methods that approach the problems of drawing a one-page diagram. However, in real situations dynamic drawing methods, based on static drawing methods, are more important. That is, when a new diagram is obtained by adding redrawing operations, this drawing method ensures that the relative position of each element in the whole diagram does not change greatly from those before and after diagrams. In other words, cognitive continuity or stability is preserved. For example, when edge (A, C) is added to Figure 5.3.1(a), which of diagrams (b) and (c) should be adopted? In (b), the drawing rule of least number of crossings is satisfied, but the relative positions of the vertices have changed greatly and cognitive continuity is not fulfilled.
By comparison, (c) does not
have the least number of crossings, but the relative positions of the vertices are unchanged, and from a dynamic point of view this is preferable to (b). In order to discuss this kind of problem, first it is necessary to define models of cognitive continuity or stability, and to develop algorithms for drawings that fulfill these. Unfortunately this problem is extremely difficult, and currently although its importance has been pointed out, it is not yet well researched. Here some of the few attempts shall be discussed.
A
A
h
i
X (a)
(b)
(c)
Figure 5.3.1. An example explaining stability.
Paulisch & Tichy (90) proposed the concept of layout stability. In order to achieve this stability, the order relationships between vertices of the original diagram are expressed as constraint conditions, and the constraints related to the elements in the vicinity of the part to be changed (defined as the vicinity radius) are removed and the diagram is redrawn.
Extensions
of Automatic
Graph Drawing Methods
143
Consider, for example, Figure 5.3.2(a) as the original diagram. In this diagram the order of each vertex on the layer and the order of vertices on each layer are expressed as constraint conditions. Now a new edge (5, G) is added. In (b), stability is not considered, and not all constraints are considered. Therefore the order of vertices in each layer changes greatly. In (c), stability is strongly emphasized, and all constraints are considered, so the order on each layer is the same as in (a). In (d) the vicinity radius is set at 1, and all the constraints on the directly influenced vertices B and G and the vertices distance 1 from these are removed, and the diagram is redrawn. The change in the order relationships of vertices occurs only on the second layer, and on the second layer the order relationships of vertices other than B are preserved, so stability is significantly achieved.
(c)
Figure 5.3.2.
Stability
in a hierarchical
(d)
graph [Paulisch
et al (90)].
144
Graph Drawing and Applications for Software and Knowledge
•
Engineers
cs • (b)
(a)
Figure 5.3.3. Examples of transformations using the orthogonal order and the 8 direction order models [Eades et al (91)].
When stability is completely achieved, the number of crossings increases (as in (c)), and when the number of crossings is reduced, stability becomes worse (as in (b) in particular). In this way it can be seen that there is a competitive relationship between stability and drawing rules, but a method to solve this has not yet been found. Eades, Lai, Misue & Sugiyama (91) and Misue, Eades, Wai & Sugiyama (95) introduced the concept of a mental map, and proposed several mathematical models of mental maps. Vertices are expressed as points on a plane, and the point set of the original diagram is S. Each vertex p of S is moved to tip) by the transformation /, and the new point set is T — t(S). For a particular model M of the mental map, when transformation / preserves the mental map, T=MS.
The most basic mental map model is the orthogonal order model O. This preserves the up-down and left-right (N, S, W, E) relationships between points. That is, for all points p, q in S, when if xp < xq then xl(pj < xt(q) and if J ,
then
y,
exist, T=0S. Here xp, yp are the x and y coordinates of point p. It is easy to expand this model to a model E which preserves the relationships in 8 directions (N, NE, E, SE, S, SW, W, NW). The simplest example of model O or E is the scaling transformation. The retention fisheye discussed in the previous chapter also fulfills this model. Eades & Lai (91) give a transformation method that follows the orthogonal order model, and considers its computational complexity. An example is shown in Figure 5.3.3. In Eades, Lai, Misue & Sugiyama (91), models which preserve clusters and models which preserve topology are also discussed, but these are future problems.
Extensions
5.4
of Automatic
Graph Drawing Methods
145
Other Extensions
Platforms for graph drawing systems are very important for attain the flexibilities of manipulating diagrams. Design and implementation of the platform were studied by Lin (93) and Misue, Nitta, Sugiyama, Koshiba & Inder (98). A new information visualization technique called OFTAV (Online Force-Directed Animated Visualization) was developed by Huang (99), which includes (1) a visualization framework which departs from traditional methods, (2) several novel techniques such as the modified spring graph drawing algorithm, multiple animations to preserve the mental map, and history visualizations, and (3) architectures for implementations. OFTAV can provide effective navigational views for exploring huge graphs that are partially unknown. Some examples of very attractive applications of the methods to web navigations and textual data mining were presented and the graph drawing algorithm was extended to handle clusters of vertices.
This page is intentionally left blank
o—o
A VARIETY OF APPLICATIONS
The application area of automatic graph drawing methods is very broad, and there are a variety of application purposes.
In this chapter, after summarizing the uses of
automatic graph drawing methods, several applications shall be discussed using a variety of actual examples. As an example of a higher-level application, the author's diagrammatic creativity support application shall be discussed in Chapter 7.
6.1
The Uses of Automatic Graph Drawing Methods Graphs are widely used as data structures or basic models in a variety of fields
such as system science, information science and software science. With the spread of high performance workstations, the demand for visual expression and manipulation of graphs has become stronger. The reasons for this differ for each field, but by visualizing and making a diagram of a graph, a complex structure becomes easily understood, 147
148
Graph Drawing and Applications for Software and Knowledge
Engineers
discussion between many people becomes easier and consensus is more easily obtained, the analysis of a complex system becomes easier and progresses more easily, and so on. There have been and are many well known automatic graph drawing tools, such as the GIOTTO [Batini, Talamo & Tamassia (84)] at University of Rome, GBD [Santucci & Sottile (90)], DAG [Gansner, North & Vo (88)] and Graphviz at AT & T, DRAG [Trichey (88)], Graph Browser [Rowe et al. (87)] at the University of California at Berkeley, EDGE [Paulisch & Tichy (90)] at the University of Karlsruhe, daVinci [Frohlich & Werner (95)] at the University of Bremen, Graphlet at the University of Passau, VCG [Sander (95)] at the University of Saarlandes, D-ABDUCTOR [Misue & Sugiyama (95)] at Fujitsu Laboratories Limited, and GET at Tom Sowyer Software. Thus there are a variety of uses for automatic graph drawing methods, but these are more easily understood when divided into the following five types.
Documentation Graph drawings may appear in the final hard copy output of documentation, or as the backend use for documentation tools. In this case, only static drawing methods are needed and there is no need to consider dynamic drawing methods.
However, it is
common to seek a very high quality output diagram, even if this takes machine time. Very large and precise diagrams are sometimes required, so research into algorithms that completely achieve a wide variety of aesthetic criteria as possible is necessary. Monitoring This is the use to express the state or computational results of systems or models as diagrams, in interactive systems where the user makes decisions and controls the system.
However, the diagram is only for display, and the user does not directly
manipulate the diagram. Thus there is little need to consider the dynamic aspects of drawing. Further, as there are often constraints on the drawing area or machine time for drawing, it is convenient to have the functions as in a fisheye. However, a high quality algorithm such as the documentation above is not required as a static drawing method, Browsing This is the use as a visual user interface, when working interactively in large scale data with a complex structure, such as large scale programs, knowledge bases, or hypertext. It is common to lose one's direction or position in a jungle of large scale data, but this can be prevented by showing a map or guide of the data as a diagram. Research into speedy drawing algorithms and kinds of fisheyes is necessary.
A Variety of Applications
149
Graph Editors This is the use of automatic graph drawing methods to support simple graph editor, where the user sets the placement of vertices and the routing of edges with simple commands to add, remove and move vertices or edges. In this kind of editor, a spaghettilike diagram can occur when the user attempts to draw a complex diagram. Automatic graph drawing methods may be used to obtain an optimal layout of the diagram generated by the editor. The editor may have two modes: user mode for editing, and system mode for optimization. Somewhat fast drawing algorithms are required. Idea Support Tools This may also be called a high-level graph editor. As well as simple commands such as the addition or removal of vertices or edges, it also has complex commands such as the detailed design of vertex images, the abridgement of the whole diagram, the merging of multiple diagrams, or conversion to a different basic system. It maximizes the use of automatic graph drawing function for the manipulation of diagrams to promote thought. Automatic graph drawing methods are indispensable for the implementation of such tools. Research into direct manipulated interfaces, animation or dynamic drawing methods, all types of fisheyes, and other high level drawing methods is necessary. This will be discussed in 7 in greater detail.
6.2
Application Examples Automatic graph drawing methods were classified according to uses above.
However, in actual applications, they are not always restricted to one use, and it is common to have several uses. In this section some application examples carried out by the author using automatic graph drawing methods for directed graphs shall be simply explained using drawing examples. The application examples in this section are mainly directed graph examples carried out by the author, but it is hoped that readers will see the possibilities of a variety of applications, and apply these to their own problems.
6.2.1 Food Chains in Ecosystems When we express such a relation that A preys B by A —> B, we can use a directed graph to represent a predation relation among species in a predator-prey ecosystem.
150 Graph Drawing and Applications for Software and Knowledge Engineers Figure 6.2.1 shows the structure of a food chain between animals and plants. Figure 6.2.1(a) seems to be a hand drawn diagram with minimized number of crossings [Casti (79)]. However, the predation relation contains a hierarchical structure within it
Key: 1. Bear 2. Bird 3. Deer 4. Fox 5. Gartersnake
6. Insect 7. Plant 8. Rabbit 9. Racoon 10. Rodent
11. Salamander 12. Skunk 13. Toad 14. Wildcat 15. Wolf
Figure 6.2,1. Diagram of the structure of a food chain [Sugiyama (82)].
A Variety of Applications
151
intrinsically. Therefore it is more reasonable to represent the relation in a hierarchical form. Figure 6.2.1(b) is a hierarchical automatic drawing [Sugiyama (82)] and we can easily seen that this ecosystem has five levels of food chains, Plant and Rodent do not attack other species, and Racoon, Wildcat, Fox, Wolf and Bear are not attacked by the rest. A food chain originally has a hierarchical structure, so although (b) has more crossings than (a), it is more easily understood.
6.2.2 Macro Structural Analysis of the Japanese Economy One method of expressing the macro economic structure is an interindustry relations table. This divides the industries of a country into several sectors, and in tabular form shows the annual money flow between sectors and the final demand (consumption and exports) and imports for each sector. In this way an interindustry relations table is only a table of numbers, and it is difficult to grasp the macro economic structure (the relational structure between the parts) directly from this. Thus a method was devised [Sugiyama (82)] to express and draw this relational structure between parts as a graph. An interindustry relations table has the form shown in Table 6.2.1 where Uj: N: PyFf. I: E: Xr. D: M:
i,y'th production sector number of production transfer of rth product toy'th production sector total final demand domestic final consumption of rth product export of rth product total amount of rth product. total amount of domestic production of rth product import of rth product
and we have N
D + M= Y^Pij +I + E.
We extract a core structure embedded in the table as follows:
(6.2.1)
152
Graph Drawing and Applications for Software and Knowledge
Industries :/
Industries
^^om to ^ \ 1 £
N
Engineers
Final demand
Total
F, Pu ( = /, + £,)
( = A + M)
Table 6.2.1. Interinductry relations table.
(1) {Pg} is rearranged in the decreasing order as a, >a2>..>ak>...>am
(6.2.2)
where m = NxN and ak = Pih e {Ptj}. (2) We consider a threshold value 6 (0 < G< 100) and kg is determined by '*.-. <0andtke>e
(6.2.3)
where 4 = («i + a2 + ... + ak)/(a\ + o2 + ... + am) x 100. (3) We form an «-level hierarchy G = (V,E,n) by the following procedure. Step 1: k:=\;
V:=
Step 2:
V:=Vu{k};E:=Eu{ik,jk}}.
Step 3: If a level assignment of G - (V, E) is possible, determine it; otherwise delete (4, jk) from E, add (/'*, /*) to £" and determine a level assignment of G = (V, E). (In this step we get G = (V,E, «).) Step 4:
k:=k+l.
Step 5: If k> kg, then terminate; otherwise go to step 2. (4) We draw the obtained hierarchy where original directions of the edges that are reversed in Step 3 are used. Figure 6.2.2 shows the structure of Japan's economy in 1975 where we use an interindustry relations table with 29 sectors as follows. 1
Agriculture, forestry, and fishery
2
Mining
3
Food, drink manufacturing and tabacco
4
Spinning
A Variety of Applications
5
Fiber and textile
6
Wood and furniture
7
Pulp and paper
8
Printing and publishing
9
Rubber and leather
10
Chemicals and medicine
11
Materials for chemical textile
12
Oil and coal products
13
Products from stone and clay
14
Iron and steel and non ferrous metal
15
Metal products
16
Ordinary machinery
17
Electric machinery
18
Transportation machinery
19
Precision machinery
20
Other manufacturing
21
Construction and civil engineering
22
Electricity, gas and water services
23
Commerce
24
Bank and insurance
25
Real estate
26
Transportation and communication
27
Public services
28
Business machinery and packing
29
Others.
153
The meaning of the diagram is as follows. (a) Vertices represent sectors, and the width of each vertex represents the total supply (= total demand) for that sectors. (b) The first line in each vertex label is the name and number of the sector, the second line is the total supply (> is the imports, + is the national domestic product), and the third line is total demand (+ is the midway demand, - is the final demand, and > is the exports). (c) The edges show the central structure of the 60% level of the total flow of the Japanese economy when the money flow for each is added in the order of largest
154
Graph Drawing and Applications for Software and Knowledge
Engineers
7 I'U A
1 » a p
\ "1
Figure 6.2.2. A macro structure diagram of the Japanese economy in 1975 [Sugiyama (82)].
A Variety of Applications
155
(c)
(a)
[p
(b)
(d)
Figure 6.2.3. A citation diagram of references [Sugiyama et al (85)].
67
156
Graph Drawing and Applications
for Software and Knowledge
Engineers
to smallest. In the same way the real line edges and the dotted line edges shown the 70% level of the central structure, (d) The direction of flow of each edge is drawn as an arrow.
Upward edges,
downward edges, and edges with both directions all occur, and the octagonal vertices are strongly connected. Using this visual method, the macro structure of the Japanese economy can be compared over several years, or the macro economic structure of several countries can be compared.
6.2.3 Citation Diagram In order to grasp the direction of research within a particular field of study, a method using the citation information between related references to visually represent this as a citation diagram was proposed [Kitagawa & Sugiyama (78), Sugiyama (82, 87)]. The citation information for a particular set of references is expressed as a set of the sequence of references with citations and cited references. When a set of references is denoted as P = {p\, pi,..., p„}, citations are expressed by a set Q of ordered pairs among references, i.e. Q cP x P. Consequently the citation information can be regarded as a directed graph G - (P, Q). However, if this directed graph is drawn as is, it is often too complex, and it is necessary to find a method to extract a simple, fundamental structure from the directed graph. Figure 6.2.3 shows 4 types of citation diagrams for a particular field of study (i.e. the theory of successive process of statistical inference 1944 - 1977).
The original
diagram is (a); (b) is a skeletal diagram obtained by removing redundant edges from the original diagram; (c) is a diaphysis diagram obtained by removing edges with span greater than 1 from the skeletal diagram; and (d) is a diaphysis diagram rearranged to follow the chronology of publication.
6.2.4 Visual ^-Analysis Visual Q-Analysis (VQA) expands Q-Analysis invented by Atkin (72)[Sugiyama, Toda & Tagawa (81), Sugiyama & Toda (83), Toda & Sugiyama (83)]. This is a method to make analysis of the complex structure easier by visualization. Using this method, a higher dimensional complex structure is converted into 2 types of hierarchies and is visualized and made easy to understand as a 2 dimensional diagram. Required input data to VQA are pair wise relations of elements of the system in the form XtXYj, which denotes that element X, is related to element 1} (see Figure
A Variety of Applications
157
6.2.4(a)). The incidence matrix can be presented by a hypergraph (b) and a simplicial (c). In an application of the needs/seeds analysis, it is assumed that row / and column y of the matrix correspond to need Xt and element technology Yj respectively, and that its (7, j) component specifies whether or not need X, requires technology Yj. An application of VQA to the incidence matrix yields two kinds of hierarchical models; the F-hierarchy (d) and the Q-hierarchy (e), which illustrate combinatorial relations of needs and relevant technologies. In the F-hierarchy the vertices denoted by O represents needs and those denoted by • represent element technologies and their combinations that are commonly required for more than one need and hence are important. These vertices are located on a vertical axis according to the number of technologies they represent, which is indicated by the q level. The F-hierarchy shows an important connectivity structure among needs. Vertex
158
Graph Drawing and Applications for Software and Knowledge Engineers
hierarchy) and values of concentricity and utility indicator for each vertex. This model indicates what development strategies should be followed. Methodological details are in Sugiyama & Toda (83), Toda & Sugiyama (83).
X X, X, Xy
XA X,
x, x7
Y, Y2 1 1 0 0 0 0 0 0 0 0 0 0 0 0
Yi
14
1 0 0 1 0 0 0
1 0 0 1 0 0 0
Y, Y, Yi 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 1 0 0 0
Y« 0 0 0 0 0 1 1
^9
0 1 1 0 0 0 0
(a) incidence matrix
(b) hypergraph
(c) simplicial complex
Xi
(d) F-hierarchy
^
(e) g-hierarchy
Figure 6.2.4. An example of incidence matrix, hypergraph, simplicial complex, F-hierarchy, and Q-hierarchy.
A Variety of Applications
s,
: decision support system for planning and staff : supercomputers activities : parallel processing architecture S2 N 2 : office automation for routine office work : highly integrated microcomputers S3 N 3 : office automation for real-time clerical services S 4 : very large capacity storage technology : packaged software N 4 : very large databases for service sectors 5 : computer games Ns : intelligent machines: robots & CAM (computer 6 aided manufacturing) : computer arts 7 Ss : simulation technology N 6 : diversification of custom made products N , : IR (information retrieval) for technological : information processing services information S10 ; software development services : TSS services N 8 : design automation N , : laboratory automation S,2 : facility management systems S i 3 : VAN (value added networks) N,o : control systems for saving energy S14 : computer leasing N n : conversion to energy/resource saving industrial structure with new information industries Sis : digital networks N , j : medical electronics for medical offices Sie : picture and image processing N , 3 : education for senior citizens S17 : video technology Sis : distributed processing N , 4 : health care industries S19 : distributed databases N , 5 : personal computers for younger generations N 1 6 : robots for dirty work $ 2 0 : document databases N n : medical service systems S2 1 : engineering databases N , 8 : CAI (computer aided instruction) for personal S 2 2 : data security education S23 : associative retrieval S24 : data services N19 : disaster prevention IR systems N20 : crime prevention IR systems S 2 5 : picture processing N 2 1 : personal computers for custom products S26 : picture and image processing N22 : computer network for regional information services S27 : character and picture recognition N 2 3 - : CAI for communication among generations S28 : optical input/output processing N 2 , : machine translation of languages S 2 9 : Japanese language processing S30 : natural language processing N25 : integrated reservation systems accessible at home S 3 , : intelligent terminals N 2 6 : telemail and teletext S32 : terminals for counter services N27 : CAI for learning at home S33 : health care equipment N 2 8 . hobby computers S34 : sensor bases N29 : program-controlled electric appliances S 3 ! : built-in microcomputers N30 : home automation S36 : databases S37 : man-machine interfaces N,
s s s
s,
s,,
Table 6.2.1. Needs (Nj) and information technologies (Sj) identified.
0(N\) - <Sn, S2i, 5 29 , Sib>
a(N6) = <S2,S2{,S26> o-(N7) = <S 2 3 , S30, S26> (J(A' 8 ) = < S 2 , 5 2 1 , S 2 6 > (J(N9) =
<SUS}4>
o-(7V,o) = <S 3 4,S 3 5 >
&(N\l)
- ^ 9 , S\0, S]\, S]2, S\2, 5|4, S24> = <s22, s 2 3 , s 2 6 , s 3 i , S34, s)f> = <5 2 s. S29, S 3 5 , S 3 6 , S„> = <S 2 3 >
o-(N,5) = <S,,S5,S,5> o(Nl6) = <S34,S,5,S,6> o~(Nn) ~ ^ 2 2 , 5 2 3 , 526, 5 3 4 , 5 3 5 , 5 3 6 > o(Nis) = <S25, 5 2 9 , S 3 5 , S 37 > f7(W,9) = < 5 8 , S 3 4 > "•(^20) =
<
^ 2 2 , 527, 5 3 6 >
a(N2l)
=
<j(N22) a(N2J) a(N24) a(N25)
= <5, 5 , Sl6> = <S6,57,53S> = <S,,S4> = <S, 5 , S 19 >
<Si,S5,Si5>
a(N2t>) o-(W 2 ,) <j(Nn) a(N29)
= = = =
<515,S3i> <Sl7,S3,> <S 5 , S26, S,5> <S3s>
Table 6.2.2. Requirement relationships between the needs and seeds.
159
N 1 1 12 13
1 .
o 6.7 2 2
I 2 3
N 1 7 2 6 3 4 3 5
: Represents need N,
3 6
Represents technologies and their combinations Number around a node indicates concentricity Number around a node indicates utility indicator
N 2 3 6 7 3 5
N2 1 3 5 3 5
Nl 5 3 5 3 5
I i t Co
S e e 3 0.
NS 5 3 5
8 20.7
I Figure 6.2.5. F-hierarchy of social needs [Sugiyama et al (87)].
A Variety
RULE001 PREMISE RULE001 ACTION
of Applications
161
(CLINDEE IS KNOWN AND C O N S I S T E N T ) (FINALDEF = CLINDEF)
RULE002 PREMISE (I.ABDEF IS KNOWN AND C O N S I S T E N T ) RULE002 ACTION : (FINALDEF = LAB DEE) RULEOIB PREMISE : (CLINDEF = PLATELET-VASCULAR-DEFECT A N D LABDEE = P L A T E L E T - V A S C U A R - D E F E C T ) RULE003 ACTION : (CONSISTENT) RULE004 PREMISE
(CLINDEF = COAGULATION-DEFECT AND LABDEE = COAGULATION-DEFECT) RULE004 ACTION : (CONSISTENT) Rules. RULEOOr, to RULE018. are abbreviated. RULED 19 PREMISE RULE019 ACTION
(PT = NORMAL, P T T = HIGH. I T = NORMAL. B T = NORMAL, PC_ = NORMAL, ESF = NORMAL) (DEFPATH = INTRINSIC)
RULE020 PREMISE : (REASON = BLEEDING-HISTORY. SIGBLEED. FINALDEF = COAGULATION-DEFECT A N D D E F P A T H = MULTIPLE/FIBRIN) RULE020 ACTION : (I)X = DXMULTIPLE) RULE02I PREMISE KULEU21 ACTION RUI.E022 PREMISE RULE022 ACTION
(REASON = BLEEDING-HISTORY. SIGBLEED. FINALDEF = COAGULATION-DEFECT A N D D E F P A T H = EXTRINSIC) (DX = DXVII)
(PT = HIGH. P T T = NORMAL, PC_ = NORMAL, BT = NORMAL, T T = NORMAL, FSF = N O R M A L (DEFAPTH = EXTRINSIC)
Figure 6.2.6(a). An example of a rule base [von Melle (80)].
6.2.5 Browsing Knowledge Bases When constructing a knowledge base, it is convenient to be able to easily visualize the relational structure of fragments of knowledge whilst organising the knowledge. It is also preferable to have a visual interface for confirmation, editing or reorganizing the knowledge structure in the constructed knowledge base. Automatic graph drawing methods are very useful for these purposes.
162
Graph Drawing and Applications for Software and Knowledge
Engineers
Figure 6.2.6(a) is an example [von Melle (80)] used to explain the rule base of the medical diagnosis system EMYCIN, constructed from 22 rules. When the dependency relationships between the ACTION parameters and the PREMISE parameters of each rule are visualized using an automatic drawing method as a layered graph, the result is (b). In comparison to the difficulty of reading 22 rules as text expressions in (a), it is much easier to understand the diagnosis logic from the diagram expression in (b) [Sugiyama&Toda(85)].
[FAMILY] [ONSET] ["SIGBLEED ] [BLDTYPEJ
[
1 : Input parameter
K09
(WNLll llDEFPATHll
RIO
XXX
RU
R12 "
R13
XX
'NPT] [NPTTJ [ NTT"] [NPC] [NBT]
Figure 6.2.6(b). A knowledge structure diagram [Sugiyama et al (87)].
A Variety of Applications
163
6.2.6 Reference Structure Between Modules of a Program A tool for visualizing the reference structure between modules that compose a program was created, and applied to FORTRAN programs [Sugiyama (82)] and LISP programs [Sugiyama & Shintani (84)]. Figure 6.2.7 shows the call structure between subroutines of the program that produced this diagram made with FORTRAN.
Figure 6.2.7. The subroutine calling structure diagram of the FORTRAN program [Sugiyma (82)].
6.2.7 The Grammatical Structure of Ada Language In order to visualize the syntax of the program language Ada [Booch (83)], an attempt was made to draw it as a layered graph [Sugiyama (88b)]. Figure 6.2.8(a) shows the whole diagram, where the vertices A, B, C, D are points at which the definitions of grammar have become recursive, and so these are replaced with representative vertices. In (b), the recursive definition sections corresponding to A, B, C, D are shown in greater detail.
164
Graph Drawing and Applications for Software and Knowledge
Engineers
Figure 6.2.8(a). Global structure diagram of Ada syntax [Sugiyama (88b)].
A Variety of Applications
ICOMPOI
|tl?T
|l>IClAt*TtQW|v^ 1
—
S^^jji^^
•
•~i ^ ^ J a i m i i c
L^
*
Figure 6.2.8(b). Structural diagrams of the recursive sections of Ada syntax [Sugiyama (88b)].
165
188
Graph Drawing and Applications for Software and Knowledge
Engineers
6.2.8 Applications using D-ABDUCTQR A variety of applications such as structure analyzer, directory browser, network monitor, graphical hypertext, WWW visualizer, graphical outline processor, etc. were explored using graph drawing system D-ABDUCTOR which was developed by the author and collaborators. Figure 6.2.9 shows example snapshots of several applications. Details of D-ABDUCTOR will be described in Chapter 7.
(a) network monitor
(b) directory browser
(c) graphical hypertext Figure 6.2.9. Example snapshots of D-ABDUCTOR applications [Misue (97)].
A Variety of Applications
187
6.2.9 Integration of Text Mining and Visualization Techniques Misue & Watanabe (99) and Watanabe & Misue (99) developed an automatic technique to visualize an association obtained through mining useful information from large volume of textual data, where an association is defined as relationships among text segments and words. The association is statistically calculated by using co-occurrence of words among segments and words. Figure 6.2.10 shows an example diagram of market research. It visualizes relationships between automobile companies and image words of users extracted from articles in newspapers. Places of three companies are fixed in the diagram and the spring algorithm is applied. From Figure 6.2.10 we can easily see which image the user has about each company.
Figure 6.2.10. An example diagram of market research. (Courtesy ofKazuo Misue andlsamu Watanabe.)
This page is intentionally left blank
6—o
APPLICATIONS FOR CREATIVITY SUPPORT
As an example of a high level application of automatic graph drawing methods, applications for creativity support shall be discussed.
This is an attempt to develop
graphical user interface for creativity support with high level intelligent functions, using a famous creative problem solving method called the KJ method [Kawakita (75, 86)] as reference. Misue & Sugiyama (94) and Sugiyama & Misue (95) have
developed
diagrammatic idea organizer D-ABDUCTOR by using compound graph automatic graph drawing methods in the environment of direct manipulation and animation, and it has been able to achieve flexible and natural dynamic editing and fisheye functions. Attempts have been made to use multimedia and to create groupware such as conference support or creativity support by group in a distributed environment. Sugiyama, Misue, Watanabe, Nitta & Takada (96, 97) have integrated the DABDUCTOR and other tools (e.g. text mining and associative retrieval) as a total creativity support system called Emergent Media Environment EME where it has been intended to integrate facilities for interactively supporting the generation, collection, 169
170
Graph Drawing and Applications
for Software and Knowledge
Engineers
organization, and presentation of ideas and advising automatically by computers about the divergence and convergence of ideas (see also [Nitta, Inder, Misue & Sugiyama (96)]). There are probably many readers unfamiliar with creativity support, so first the concept of creativity support shall be discussed. Then, using the KJ method, the kinds of interface and intelligent functions necessary to support the idea creation process dynamically and diagrammatically shall be analyzed, and the importance of automatic graph drawing methods, their extension, and how they can be used, shall be discussed.
7.1 What is Creativity Support? Computers have been developed as tools to strengthen and expand human thought by substitute or support. Recently there has been a surge in the tendency to try to use computers to support the human thought activities called creativity, and this may be because researchers are turning their interests in human thought processes from the downstream area of much formal information processing to the upstream area of much more informal information processing. Behind this is the fact that as well as technological advances in such areas as high performance workstations, networks, human interfaces and artificial intelligence, in our everyday work and research activities there is an increase in high level intellectual activities which require the generation of creative ideas. Also, the importance of support for higher processes such as the planning stages of document preparation, or the knowledge acquisition phase of expert system development, is being recognized. Thus it has been well recognized that for computers to be truly useful tools, it is necessary to be able to support and substitute human thought activities in their "hazy" state, before information is formalized. Based on these ideas, here creativity support is taken to mean "idea support which emphasizes the higher processes of human intellectual activities", and as shown in Table 7.1.1, the spread of research in creativity support is taken from a very wide viewpoint [Sugiyama (91, 92)]. There are many different kinds of interactive creativity support, but for ease of understanding they can be divided into 4 types: (1) methodological approach, (2) media oriented approach, (3) collaboration oriented approach, and (4) cognition or AI approach. In actual tools a combined approach is common, but these categories compose the four important dimensions that support interactive creativity support. In the creativity
Applications
for Creativity Support
171
machine intelligence, research is being carried out into analogical reasoning or hypothetical reasoning based on neural networks or logical language. Composite creativity support aims to support and clarify human activity, and it is at the stage of conceptual research based on not only creativity technique or computer technology, but also cerebrophysiology, psychology, and cognitive science.
APPROACHES
Interactive
RESEARCH AND SYSTEMS
Methodological approach
KJ editor1, CONSIST2, Structural modeling4
D-ABDUCTOR3,
Media oriented approach
Idea processor, Hypertext, Media room
Collaboration oriented approach
CSCW, GDSS, Colab5, TWS6, Grape7,GrIPS8
Cognitive, or Al approach
Knowledge acquisition support, Intelligent CAI
Creativity machine intelligence Composite creativity support
Hypothesis inference, Neuro'°,CAC"
Analogy,
Metaphor9,
TOPICA plan", Investigation research13
See': Ohiwa et al (90), 2 : Shinohara (87), 3 : Sugiyama (92),": Warfield (76), 5 : Stefik et al (87), 6 : Ishii (90), 7 : Kunifuji et al (89), 8:Kohda et al (93). 9 : Young (87), 10: Goel (88), ": Bar (88), ,2: Kawagoe et al (89), 13: Japan Society for the Promotion of the Electronics Industry (92).
Table 7.1.1. The spread of creativity
support
research.
7.2 Creativity Support Based on Empirical Creativity Methods
7.2.1 Empirical Creativity Methods In fact, there are over 300 types of empirical creativity methods or creativity technique in use. As shown in Table 7.2.1, these can be divided into divergent methods for collecting facts or generating ideas, convergent methods for organizing facts or ideas, integration methods that combines these two, and attitude methods for acquiring a creative attitude [Takahashi (83)].
172
Graph Drawing and Applications for Software and Knowledge
Engineers
7.2.2 The Analysis of Characteristics and Research Subject for the KJ Method In order to carry out interactive support with reference to creativity methods, it is necessary to analyze the characteristics of the creativity method of interest thoroughly, and the processes (operations or commands) by which it is carried out. Through this analysis it is possible to clarify the research subject.
METHOD
CLASSIFICATION
Divergent methods
Free association method Forced association method
Space model
Analogy method
Induction method
Cause and effect method Time sequence method Integration methods Sequence model
Convergent methods
Deduction method
Attitude methods
Brainstorming, Brain-writing, Card brainstorming, etc. Characteristic enumeration method, Checklist method, Input output method, Form analysis method, etc. Equivalence conversion method, Gordon method , NM method, etc. Various classifications such as book classification, etc. KJ method, Affinity diagram method, 7 X 7 method, Cross impact method, etc. Characteristic factor diagram, Cause and effect analysis method, etc Story method, PERT, etc. Work design, Bridge method, etc. Meditation model method, Exchange model method, Deduction model method, etc.
Table 7.2.1. Classification of empirical idea creativity methods.
The KJ method [Kawakita (86)] is an excellent creativity method born of Japanese intelligence. It is well known as an effective /cr^e/-based method for organizing ideas and solving problems without computer support. The terms label, team, and chart are used in the KJ method instead of card, group, and map. The main part of the KJ method contains four basic steps as follows [Kawakita (75)]:
(1) Label Making: We start with a supply of labels on which ideas or information (text or image etc.) relevant to our problem are written. We collect and record ideas until we feel we have exhausted all information necessary to solve the problem. (2) Label Grouping and Title Making: The labels are shuffled well and spread on a large sheet. Then all the labels are read several times. If there exist such labels seemed to belong together, we make a team of the labels. This process is repeated. After about
Applieatiom for Creativity Support
173
two-thirds of all the labels are arranged in teams, making titles for the teams is started. The titles should clearly describe the essence of all labels in the team. Once a title is made for a team, we put all the labels together in a pile with the title clipped on its top. Next, we arrange the teams in larger teams in the same manner. This iterative process of grouping labels may be repeated as many times as necessary. Usually it is terminated when the number of the teams is reduced to less than ten. (See Figure 7.2.1.) (3) Spatial Arrangement and Chart Making: We find carefully the arrangement of the final groups in which a consistent understanding of all the groups can be obtained. Then we proceed to arrange all sub-teams or elements in the same manner. After completing this spatial arrangement, we draw a chart in own handwriting by showing the relationships using various symbols and signs. (4) Verbal or Written Explanation: To explain the chart clearly, we try to describe the chart verbally or in writing. As a general rule our explanation should proceed to a team adjacent to where it stated. The cumulative effect of idea generation will continue to increase as our explanation advances.
Figure 7.2.1. An example of the step of label grouping and title making. (Courtesy of Kanaka humi.)
174
Graph Drawing and Applications for Software and Knowledge
Engineers
The results of analysis of the points considered to be characteristics of the KJ method are shown in Table 7.2.2 [Sugiyama (89a), Sugiyama & Misue (90), Sugiyama (93)]. The research subjects corresponding to these characteristics are also shown. Research topics 6, 7 and 8 make up the core of the KJ method, but are extremely difficult subjects. As a research strategy it is considered appropriate to firstly carry out 2 and 3 as the basic environment for creativity support, then progress to either 5 or 9, and then consider either 10, or 6, 7 and 8. It is necessary to recognize that even the implementation of 2 and 3 involves many unsolved problems.
CHARACTERISTICS OF THE KJ METHOD Diagrams are used as an external memo of the user's ideas.
RESEARCH TOPICS
1. To analyze the process of the K.J method as a diagrammatic language. 2. To develop a diagram editor to express the movement of ideas as flexibly as possible. The global view is important. 3. To develop technology for the simultaneous view of the whole and the parts on a small screen. 4. Research on large screens. Guidelines are established for the 5. Experiment with new guidelines and the flexibility of development of thought. guidelines. The information written into the label is 6. The automatic analysis of label meanings and the essential. automatic layout of labels. 7. Automation of general title making of label information. "Ambiguity " is actively used. 8. Analysis of intelligence expressing in Japanese such as "kokorozashi (intention)", "data wo site katarasimeru (talking over data)", "johnen (emotion)" and "hataage (first performance)". The final result is a written composition. 9. Support for the process of generating a written composition from an illustration. It is a system of hand work using tools. 10. To pursue new possibilities by removing the constraints associated with hand work using tools.
Table 7.2.2. The characteristics and research subjects of the KJ method.
7.2.3 The Process Analysis and Research Subjects of the KJ Method For the process analysis of the KJ method it is convenient to express as a diagram the kinds of illustrations or conditions of layout of labels that will appear on the desk or the virtual page through the whole process. For this purpose the diagram matrix expression of the KJ method has been devised (see Figure 7.2.2). This example begins with Diagram 1 (initial label spreading) and continues through 2, 3, and 4, ending with
Applications for Creativity Support 175
^
^1
+•
./vt
V
V
3%
i
O
T
#4-0 /•
B
BB 0 u
| I n
B
a, 3 LJ
ay
0l 0 B 0 0
B
WB
B
0
Bgis; e 0 J
B
SB 8
SB
i
S
Bii 0 BBB BBBi a
J
0
B
BBB,
"BB
B 0 B 001001 0BBBBBBB 100000 BBBBB0B0 100 I BBB 0 § 0 B 0 0 I 0 •00010 BB0000B00
pi 9
0
Qff B B 3 B BBB BBB 3&IBI 0 (0
00E0B0EB ff0000 G E00BBffBU
&
Figure 7.2.2. The diagram matrix representation of the KJ method.
n
176
Graph Drawing and Applications for Software and Knowledge
Engineers
Diagram 15 (finishing the picture). After this documentation is carried out. The diagram matrix shows that 1 to 10 are bottom-up, 11 to 14 are top-down, and 15 is the process of clarifying the structure of the relationships conceptualized in one's head (shown as 11' to 13') from 11 to 14. Table 7.2.3 shows the results of classification for each step of Figure 7.2.2, according to whether it is impossible (or unsuitable), partially possible, or possible to be carried out automatically by a computer with the current state of technology.
STEPS Label generating/ collecting Label spreading
Label grouping
Title making Bundle creation Spatial layout at the top
Spatial layout
Generation of the illustration Describing as a document
CONVE R-SION
FORMS OF SUPPORT INTERACTIVE
PARTIALLY INTERACTIVE/ PARTIALLY AUTOMATIC
AUTOMATIC
Usual.
Support for diverging ideas.
Information retrieval, Internet search, Knowledge discovery.
Meaningless work.
--
Easy to randomize.
Takes time.
The adjacency relationships are given by the user, after this the computer does the layout automatically (such as spring layout).
After finding a procession of similarity using analysis such as semantic analysis, layout is done automatically (such as Hayashi method III[Hayashi(51,2)]).
Currently only this.
Some advice by computer is possible.
Extremely difficult.
Meaningless work.
--
Easy.
-•1
1 1—2 3—4 5—6 7—8
2—3 4—5 6—7 8—9 9—10
This is probably best.
Adjacency relationships are interactively given, and layout is done automatically. Expansion is done automatically, then adjacency relationships are given interactively, and the layout is done automatically.
Possible but reliability is not good.
10—11 11 — 12 12—13 13—14
Quite troublesome.
14—15
Quite troublesome.
Useful.
Possible.
15—
Usual.
Possible.
Quite difficult.
Possible but reliability is not good.
Table 7.2.3. Classification of the forms of support of each step.
Applications for Creativity Support
177
7.2.4 Desirable Functions in a Diagrammatic Creativity Support System The research topics shown in Table 7.2.2 can be broken down into desirable functions for diagrammatic creativity support systems. In the KJ method, when redrawing is carried out as shown in the diagram matrix expression, the means to easily manipulate using properties (papers, labels, clips, rubber bands, chains etc.) is given, but there are limits to manual work by properties. For ease of editing of diagrams, it is desirable to have a function of automatically generating diagrams with direct manipulation by the user and only a minimum of directions. It is also necessary to have functions to change the drawing style of the diagram when editing as once finished, or to translate the diagram into a different type or shape, or to make a fair copy of the diagram. The function to return to the beginning and reconsider the drawing, and a highly realistic drawing function that preserves cognitive continuity using animation for redrawing the diagram are necessary. In diagrammatic creativity support a fairly wide workspace is required for a global view. When the illustration becomes large, in order to continue editing with a screen of limited size, a flsheye function that allows the reduction or simultaneous view of the whole and parts is necessary.
Also, in preparation for large, dynamic, high quality
screens in future conference support and so on, a large screen adaptation function is necessary. As can be seen in Figure 7.2.2, in the KJ method constraints of the order of the thinking steps are given on the way thought progresses. With the advance of machine support, the possibility of making this kind of thought guide into something more flexible or something completely new arises. Also, for the support of the process of creating documents from illustrations, and for the search for other new possibilities, there is illustration conversion for creativity promotion, multimedia, groupware, or the analysis of the history of thought development. The above ideas can be summarized in Table 7.2.4 where those necessary for automatic graph drawing methods are marked with (*). From the large number of (*) it can be seen that the compound graph automatic drawing functions are the core of diagrammatic creativity support.
178
Graph Drawing and Applications
RESEARCH TOPICS
The development of a flexible diagram editor
for Software and Knowledge
Engineers
DESIRABLE FUNCTIONS Direct manipulation interface environment Animation function Incremental editing function (*) Fair copy function (*) Geometric diagrams (*) Hand drawing diagrams (*) (*) Shape and color of vertices and edges Transformation function for diagram(*) Presence function (screen and dynamic manipulation that preserves cognitive continuity) Automatic drawing function for compound graphs (*) Drawing style change function
Return and reconsider function (*) Simultaneous view of whole and parts function (*) Overcoming a small screen Making guidelines flexible Documentation support
Function for switching between abbreviated diagram and detailed diagram (*) Large screen function (*) Function for choice of definition of guidelines Document creation support function (*) Illustration conversion function for the promotion of creativity (*) Use of multimedia (*)
Investigation of new possibilities
Cooperative diagrammatic idea support function (*) Analysis function for thought development history Analysis of results by several people, identical material Introduction of AI technique, cognitive science technique
Table 7.2.4. Research topics and desirable functions.
Applications for Creativity Support
179
7.3 Diagrammatic Idea Organizer D-ABDUCTOR Misue & Sugiyama (94) and Sugiyama & Misue (95a) developed diagrammatic idea organizer D-ABDUCTOR. The name of the system, "D-ABDUCTOR" originated from that the originator of the KJ method called the essential part of the method, in which fragments of ideas were re-arranged and organized, "abduction" in his book [Kawakita (86), p.33]. The initial letter "D" means "diagrammatic." So far they have developed elementary techniques for diagram handling [Sugiyama & Misue (90)]: automatic drawing of diagrams [Sugiyama & Misue (91)], generating freehand-like shapes [Misue & Sugiyama (88)], fisheye mapping offering the whole and detail view of a diagram [Misue & Sugiyama(91)], and diagrammatic dressing by using importance of diagrammatic elements [Misue (90)]. They have integrated these elementary techniques with a direct manipulation and animation environment into a system D-ABDUCTOR, and have supplemented communication facilities [Misue (93)] for group works, and multi media facilities to deal with pictures to make D-ABDUCTOR more practical. In D-ABDUCTOR, the dynamic use of compound graph automatic drawing methods in direct manipulation and animation environments has led to the opening of a new phase in automatic graph drawing methods. It is difficult to explain the dynamic manipulations or changes of screen in words or in a static diagram, but the effects of incremental editing, fisheye and animation shall be briefly discussed here. Diagrammatic idea organizer D-ABDUCTOR is evaluated from an operational point of view. Results of the experiment show that tasks could be executed three times faster with D-ABDUCTOR (with only basic editing facility) and six times faster with DABDUCTOR (with automatic layout facility) than without computers.
7.3.1 Features of D-ABDUCTOR D-ABDUCTOR is available either for individual use or for group cooperative work when workstations or personal computers are in a network environment. Figure 7.3.1 represents the system architecture of D-ABDUCTOR. Features of D-ABDUCTOR is summarized as follows: Interactive Supporting of Diagrammatic Idea Creation Processes To investigate the possibilities for computer support of human thinking, it is aimed to automate the main part of the KJ method, which is the phase of organizing idea fragments as shown in Figure 7.2.2.
180
Graph Drawing and Applications for Software and Knowledge
Engineers
Advanced Facilities to Handle Diagrams In building D-ABDUCTOR it is emphasized to develop an advanced facilities for a graphic user interface (GUI) to handle diagrams. The diagrams used in the KJ method
Figure 7.3.1. The system architecture ofD-ABDUCTOR [Sugiyama et a! (95a)].
have features of Venn diagrams that represent sets and subset relationships by geometric inclusion relationships between areas, as well as network diagrams that represent semantic relationships between ideas with lines connecting card images. The logical structures for such diagrams can be modeled as compound graphs which extend the notion of a graph. The notions is closely related to that of higraph [Harel (88)]. Advanced facilities for handling such diagrams include automatic layout for compound graphs, diagram dressing, and animation. Communication Facilities for Group Works In developing D-ABDUCTOR, it has been tried to find new styles of supporting idea creation processes by exploiting advanced capabilities of computers such as communication facilities. The communication facilities enable the support of not only personal thinking processes but also group processes. Two or more users who are working with D-ABDUCTOR on different workstations can share diagrams in real time
Applications
for Creativity Support
181
3
| b Q Q
g
5 9 IN,
.5, I*,
182 Graph Drawing and Applications for Software and Knowledge Engineers
^•&«v&8888!S&&Cu&*&&$*#i
:
>:i&ij^8£^S^;::::::SsVK&::::S
(a) a tree diagram
(b) a compound graph diagram Figure 7.3.3. Examples of automatic graph drawing by D-ABDUCTOR [Sugiyama et al (85)].
Applications
for Creativity Support
183
for cooperative work. D-ABDUCTOR operates in an environment in which users see the face and hear the voice of remote colleagues, using cameras and microphones. A snapshot of cooperative work session is in Figure 7.3.2. Examples of automatic graph drawing by D-ABDUCTOR are shown in Figure 7.3.3.
7.3.2 Facilities of D-ABDUCTOR The facilities are classified according to their purpose, to make it easier to understand why D-ABDUCTOR provides them. There are four classes: • To simulate manual operations of the KJ method on computers. • To relieve users of tedious tasks that are not essential in thinking processes. • To overcome disadvantages of using a computer as a working environment for the KJ method. • To exploit advanced capabilities of computers to find new styles of supporting thinking processes. Simulate Manual Operations Interaction
mechanism:
D-ABDUCTOR provides simple and easy to understand
operations such as direct manipulations by mouse, choosing facilities from menus, and interaction with the system through dialog boxes. Editing operations of diagrams such as moving vertices, creating edges, changing members of group vertices (vertices which include other vertices) are purely mouse driven. Visual feedback:
D-ABDUCTOR provides a great deal of visual feedback for its
operations. Modification to a diagram cause immediate visual feedback. The objects (vertices and edges ) of an operation are visual indicated by handles which dynamically appear and disappear on the objects. For example a candidate for new group vertex is indicated by eight handles appearing as soon as the cursor enters the new group when nodes are being moved from one group to another. Substitute for the Users Automatic layout facility: Diagrams used in the KJ method need good layout to be effective - a good layout can enhance the idea creation process, a poor layout can
184
Graph Drawing and Applications
for Software and Knowledge
Engineers
confuse and inhibit idea organizing. The automatic layout facility is fast enough. The speed is important for the following reason. When we have two or more proposals to organize ideas, and when we have opposing suggestions in a group work, it is helpful to make tentative charts to consider each proposal and each opinion. The speed of this facility means that tentative modification diagrams is very easy and can be considered quickly. Incremental editing: Editing can be carried out with clicks and drags by pull down menus and the mouse. This allows the simple and natural manipulation of such operations as the generation and removal of vertices, movement of vertices (for example, from one group to another), choice of shape of vertices or line type of edges, and choice of colour of vertices and edges. The user need only carry out choice of manipulation or choice of menu by mouse, and the system will carry out all the distribution of edges and placement decision of vertices. Thus the user needs concentrate only on the structure or meaning of the diagram whilst editing. Overcome Disadvantages of Computers Diagrammatic
dressing: Ordinary workstation screens are considerably smaller than
desks or tables, on which users usually perform the KJ method. A scrolling facility is the major existing technique to cope with this disadvantage. However in a scrolling facility, users lose the critical aspect of diagrams: users cannot grasp whole structures at a glance. D-ABDUCTOR dresses diagrams by adjusting visual attributes such as visibility and size of each element according to its importance. The importance of each element is calculated by using logical structure of the diagram, semantics of elements and focuses of the users. Users activate "diagrammatic dressing" to obtain various appearances of a diagram according to their viewpoint of the diagram. The total diagram is displayed, while highly important vertices are magnified and detailed and less important nodes are demagnified and abridged. Diagrammatic dressing is useful in tackling the disadvantage of small screens. D-ABDUCTOR can effectively display large diagrams even on small screens. Examples using up to 377 idea fragments have been organized with DABDUCTOR. Animation facility: When diagrams are redrawn in incremental editing or fisheyes, the changes from the original diagram to the new diagram are all shown as animation. That is, each vertex can be seen to move gradually from its original position to its new
Applications
for Creativity Support
185
position. When this animation is used, the users* "mental maps"[Misue, Eades, Wai & Sugiyama (95)] of the diagrams is preserved, and no cognitive difficulty is experienced even if there is a great difference between the positions of vertices in the original diagram and in the new diagram (see Figure 7.3.4). Using animation the possibility of avoiding the very difficult problems of dynamic drawing, mentioned in Section 5.3, is high.
fii« -
1.
cr ***
Figure 7,3.4. Animation for preserving the mental map. (Courtesy o/Kazuo Misue.)
Exploit Advanced Computer Capabilities Communication with other workstations: Providing facilities to share information among two or more workstations or PCs enables cooperative idea organization activity by groups even if they are separated in remote sites. D-ABDUCTOR can send statements describing the users activities in the language Simple [Misue (93)] to other processes of D-ABDUCTOR on other workstations connected in a network. The D-ABDUCTOR processes that have received the statements immediately interpret and execute them.
186
Graph Drawing and Applications
for Software and Knowledge
Engineers
1 to n&t soso n
w
1 II!
v-flffSlM-
$firȣ*%W,.
Ms* 1
*^l
(a)
(b) Figure 7.3.5. Screen shots of the diagrammatic creativity support system D-ABDUCTOR.
Applications for Creativity Support 187
''IK
\v
**f^
i*u3:
H •&
\uhr-
"^v*K
* *»<&;«*
t,jtV
(c) WsAtO^fc » A
•*
V-'
)
V
i<W *<
If 1 Xiii}%,
it
v
-.rfM&^jSMW!^
*5>K
(d) Figure 7.3.5. Screen shots of the diagrammatic creativity support system D-ABDUCTOR.
188
Graph Drawing and Applications for Software and Knowledge
Engineers
With this facility two or more users of different workstations can share operations on the same diagrams. Communication with other tools: D-ABDUCTOR provides the facility to communicate with other tools. This facility enables cooperation or integration aiming at a total support of idea creation support. As an example a card database Card Base [Misue (93)], which works with D-ABDUCTOR is developed. This is a kind of database management system which allows us to retrieve text and pictures from logical expression of keywords, and sends statements in the language Simple to a D-ABDUCTOR process to create vertices with the retrieved data as labels. Another example is total support oriented systems such as GrIPS [Kohda, Watanabe, Misue, Hiraiwa & Masui (93)] and Emergent Media Environment [Sugiyama, Misue, Watanabe, Nitta & Takada (97)]. Multi media facilities: Humans use various media for thought and thus D-ABDUCTOR is expected to provide various kinds of media. By exploiting multi-media technologies, not only text but also pictures are available as labels. Moreover, movies and sounds, which are not available on paper cards, will be also available.
7.3.3 How to Use D-ABDUCTOR Figure 7.3.5 shows a screen example of D-ABDUCTOR. Regarding the problem of "how to eliminate office paper", D-ABDUCTOR was used to carry out the KJ method. In (a), the labels are spread out, in (b) these are grouped and relationships are attached, and (c) shows a fair copy automatically generated using automatic drawing functions. Then (d) shows the abbreviation fisheye of (c). In this example the number of letters displayed differs according to the size of the label, but it is possible to expand and reduce it without changing the image of the original label.
7.4 Evaluation of D-ABDUCTOR It is very difficult to evaluate the efficiency or effectiveness of a creativity support tool such as D-ABDUCTOR since there exists no quantitative measure for qualifying ideas at moment. Therefore a step-by-step approach is taken towards the evaluation of DABDUCTOR whose levels are as the followings:
Applications
•
for Creativity Support
189
Algorithm level: theoretical evaluation (such as computational complexity) of each component algorithm and performance evaluation (such as CPU time) of programs of the algorithm,
•
Operational level: evaluation of the total efficiency on a thinking process for operations such as editing, reforming, re-drawing, etc., and
•
Thought level: evaluation of the effectiveness of thought on a thinking process.
7.4.1 Algorithm Level Algorithm level evaluations of D-ABDUCTOR have been shown in Misue & Sugiyama (89) and Sugiyama & Misue (91), where computational complexities of component algorithms have been evaluated.
7.4.2 Operational Level D-ABDUCTOR has been evaluated in terms of operability with two kinds of methods: experiments based on "Labeled Construction-Rule Method (LCRM)" and "user's reports through questionnaires" [Misue & Sugiyama (95, 96)]. Experimental Evaluation by LCRM A novel, well-designed and rigorous method, called "Labeled Construction-Rule Method (LCRM)" is developed to design tasks for evaluation experiments of DABDUCTOR. A task described by LCRM has the following features: (1) depending on neither who executes nor when executed, (2) based on a whole thinking process, (3) executable without interruption, and (4) its "information level" is controllable. In the experiment, 245 tasks in total are executed by five subjects in five different modes. Results of the experiment show [Misue & Sugiyama (95, 96)]: •
A task could be executed three times faster with D-ABDUCTOR (with only basic editing facility) and six times faster with D-ABDUCTOR (with automatic layout facility) than without computers.
•
The more facilities available, the less task time of subjects is vary and correlative to tasks without computers.
•
D-ABDUCTOR is guessed to be considerably efficient as comparison with other systems"
190
Graph Drawing and Applications
The labeled construction-rule
for Software and Knowledge
Engineers
method
LCRM is a kind of language to describe similar tasks as KJ method. It consists of a grammar and three rules: •
Label grammar. Each label consists of one or more lines. One line begins with a letter of the Japanese hiragana such as " & ' \ " V»" and " 0 " followed by digits put in brackets and zero or more letters of the English alphabet, or begins with a number symbol (#) followed by zero or more alphabet letters.
•
Group rule; If there are some vertices whose labels begin with the same hiragana letters, then they are made a group. Digits in brackets show the number of the members. Any group does not include vertices whose labels begin with a number symbol.
•
Edge rule: If there are two vertices whose labels have the same alphabet letters (e.g., A and a), then an edge is drawn from the vertex with uppercase letter (A) to the other vertex with lowercase letter (a).
•
Label rule: The label of a group vertex contains all lines of the labels of each member vertex except first line. "Simple LCRM" describes the task illustrated in Figure 7.4.1: (a) a diagram
initially given to a subject, and (b) a final diagram the subject should construct. In (a), all vertices have labels with two or more lines although only the first one line of each label is visible. For instance, the vertex labeled "V>[2]d" in (a) have label "V^[2]d/^ [3]c/#e" (each slash represents a line break.) as shown in (c). It is easy, however, to guess the hidden lines from (b), the group rule, and the label rule. Designing tasks Designing a task using LCRM has the following features: • •
A whole (thinking) process similar to the KJ method can be designed. Subjects can execute tasks without interruption since they don't need to refer anything except diagrams.
•
The "information level" of tasks is controllable by modifying the grammar and the rules.
Modifying the grammar and the rules makes many variations of LCRM to change the information level of tasks. For example, replacing some hiragana in vertex labels in Figure 7.4.1 with more meaningful letters (e.g., Japanese kanji - "Kanji LCRM"), words, and sentences can change the tasks somewhat intellectual. This means that we can apply the tasks to evaluation in the though level not only in the operation level.
Applications for Creativity Support
191
(a) an initial diagram
^ w •* " " ""
_"r„""».^ 1 ^sss.* 5 "*^ ^ (b) a final diagram
(c) whole labels of all vertices shown in (a) and (b) Figure 7.4.1. A simple example of a task designed by using LCRM [Misue et al (96)].
192
Graph Drawing and Applications for Software and Knowledge
Engineers
Experiment design Tasks are described by Simple LCRM are executed in five different modes shown in Table 7.4.1. Avoiding user's experience, enough considerations are set for the experiment such that several classes of diagrams are prepared, five different diagrams in each class are used at random, and the order of tasks are carefully changed. Subjects are five people. All subjects are familiar with the X window system or PC, and experienced in using a keyboard and a mouse. A subject executes tasks three days (two units a da) and therefore each subject executes 48 tasks. In total 245 tasks are executed Mode 0 Mode 1 Mode 2 Mode 3 Mode 4
Computers aren't available. Tasks are executed with paper cards. D-ABDUCTOR is available, but the automatic layout facility isn't available. Similar to Mode 1, but the automatic layout facility is available. Similar to Mode 2, but the automatic incremental layout facility is available. Similar to Mode 3, but the animation facility is available.
Table 7.4.1. Fivet modes for the experiment.
Results of the experiment Mean values of task time in each case and each mode are summarized in Table 7.4.2, where task time is time required to complete a diagram, but do not include time to write labels in Mode 0. A task when D-ABDUCTOR is available (Mode 1) can be executed about three times faster than when D-ABDUCTOR isn't available (Mode 0). Moreover, a task when the automatic facility is available (Mode 2) can be executed about two times faster than when the facility isn't available and can be executed about six times faster than when DABDUCTOR isn't available. We see no remarkable differences among Mode 2, 3 and 4. Mode # Mean task time
Mode 0
Mode 1
Mode 2
Mode 3
Mode 4
1327.60-
468.30
218.60
198.59
206.88
Table 7.4.2. Mean task time for each mode. By using log information, it can be possible to divide task time into several sorts: (1) Processing - computer processing time except time for screen drawing and direct manipulations, (2) Drawing - screen drawing time, (3) DM- time for direct manipulation, (4) Text editing - time for editing text, and (5) Others (see Table 7.4.3).
Applications
for Creativity Support
193
In Mode 1, the DM time is about four times longer than in the other modes. Moreover the Processing time in Mode 1 is also longer than in the other modes. From these we can say that the automatic layout facility is useful to considerably decrease time to edit diagram. It is certified that this result stands avoiding the influence of experience.
Mode 1 Mode 2 Mode 3 Mode 4
Processing 14.87 3.93 4.59 4.66
Drawing 5.23 8.27 11.92 17.51
DM 175.54 48.92 46.12 46.05
Others 272.65 157.48 135.97 138.67
Total 468.30 218.60 198.59 206.88
Table 7.4.3. Details of task time for each mode.
User's Reports through Questionnaires D-ABDUCTOR was distributed to various users for conducting their various own work (16 works). After using D-ABDUCTOR, users' reports were collected, where users gave scores from 1 (worst) to 5 (best) to ten different functions in terms of usability. Results of user' scores are summarized in Table 7.4.4. Mean scores of usability in (a), (d), and (f) relating to automatic drawing are relatively high (more than 4.0) while mean scores of other usability relatively low. The mean score in total is 3.75.
Kind of Usability (a) The capability of a compound digraph to express users' work (b) The operational easiness of direct-manipulation environment, menu, and dialog box (c) The visual response of handles dynamically attached to vertices and edges for operations (d) The effectiveness of automatic drawing functions (e) The effectiveness of incremental editing functions which re-draw diagrams for operations (f) The effectiveness of automatic abridgement functions (g) The effectiveness of animation functions (h) The ability of language "Simple" (i) The ability of functions of recording operational logs and replaying the operations (j) The ability of communication functions Total evaluation
Table 7.4.4. User's mean scores for the usability ofD0ABDUCTOR.
Mean Score 4.29 3.19 3.94 4.25 3.75 4.33 4.81 3.00 3.50 5.00 3.75
194
Graph Drawing and Applications for Software and Knowledge Engineers
7.4.3 Thought Level Evaluations in the third level is most essential but most difficult due to the luchi of quantitative measures for idea creation or problem solving. Two kinds of evaluations were conducted in the thought level: • Log analysis of thinking processes [Nitta, Misue & Sugiyama (95)] • Student essay writing [Inder & Misue (97)] To evaluate D-ABDUCTOR and investigate thinking processes, logs of all operations were recorded automatically and intentions also were recorded by hand afterwards for conducting practical KJ tasks in real situations. A lot of interesting results were obtained as follows: • It is difficult to identify "on" or "off states of human brain for thought even if computers are "on". • The time needed for generating a card is 6.32 min. in average. • The time interval for an operation is approximately 8 sec. in average. • The number of operations needed for completing a map is 20.1 per a card in average. Student essay writing is a pilot experiment designed to measure the effects of a thinking support method (the KJ method). This experiment was carried out at the University of Edinburgh. Introducing subjects to the KJ method (either using traditional cards or an on-line support tool D-ABDUCTOR) produced a statistically significant improvement in the scores they achieved on their term essays (see Table 7.4.5). This indicated that student essay writing (with normal assessment procedures) is a suitable task for measuring the effects of thinking support tools.
Overall mark
Using KJ method
Traditional
Significance
72.5
65.5
0.026
Table 7.4.5. Mean scores in essay writing and significance.
o—o
o CHAPTER 8
CONCLUSION
I would like to conclude with a number of future problems considered to be important for automatic graph drawing methods research. For automatic graph drawing methods to be available to a greater number of users, development of easy imprint algorithms that are more easily understood is necessary. For example both the implementation and the understanding of the famous planarity testing algorithms (with linear computational complexity) are difficult. This is a serious barrier to using this algorithm in practical systems. A simple and efficient algorithm for testing graph planarity or generating planar representations would be an important contribution. It is also necessary to increase the performance of the most basic planarization algorithm in automatic graph drawing methods. For example, the minimization of the number of crossings is a fundamental problem, but bounds on the performance of the current heuristic methods are unknown. The development of a guaranteed heuristic 195
196
Graph Drawing and Applications for Software and Knowledge
Engineers
method is very important. Also, a performance guaranteed algorithm for finding large planar sub-graphs is anticipated. Of course there is a large gap between the theory and practice of current automatic graph drawing methods. The theory is limited to methods concerned with planar graphs or simple graphs, but in reality in the broad range of applications where automatic graph drawing methods are necessary, a wider class of graphs, such as the compound graphs discussed in this book, or Higraph [Harel (88)], are used. Needs from rapidly progressing fields such as bioinformatics, the Internet, etc. are providing the possibility for new classes of diagrams and the necessity of developing new algorithms. Thus in the current situation rather than rely on theoretical results, actual users (including the author) are independently using heuristics to develop drawing methods. In the future it will be necessary to widen the framework of theoretical research and consider approaches to a wider class of graphs. For the development of automatic graph drawing methods, it is necessary to investigate more thoroughly the needs that exist in real-world problems. This book has used the KJ method to analyze the requirements of automatic graph drawing methods, and more analysis in the context of applications is surely necessary. This is because even excellent automatic graph drawing methods are difficult to apply.
Through
analysis of these kinds of requirements will lead to workstation and personal computer environments and interface environments that make better use of automatic graph drawing methods. It is necessary to conduct simultaneous research in automatic graph drawing methods and these types of environments. This book has given a rough idea of this, with the expansions of automatic graph drawing methods, direct manipulation interfaces and animation, and it is expected that this will become more and more important in the future.
0—o
o BIBLIOGRAPHY Aho, A. V., Hopcroft, J. E. and Ullman, J. D.: The design and analysis of computer algorithms, Addison-Wesley Series in Computer Science and
Information
Processing, Addison-Wesley, 1974. Atkin, R. H.: Mathematical studies in human affairs, Crane, Russak & Company, 1972. Bar, J.: Computer-aided creativity: A systematic technique for new product ideas: Generation, Creativity & Innovation Yearbook, vol.1, 20/29, 1988. Batini, C , Furlani, L. and Nardelli, E.: What is a good diagram? - A pragmatic approach, Proc. 4 l Int. Conf. on the Entity Relationship Approach, Chicago, 312/319, 1985. Batini, C , Nardelli, E. and Tamassia, R.: A layout algorithm for data-glow diagrams, IEEE Trans. Software Engineering, vol.SE-12, no.4, 538/546, 1986. Batini, C , Talamo, M. and Tamassia, R.: Computer aided layout of entity-relationship Diagrams, J. Systems and Software, vol.4, 163/173, 1984. Becker, B. and Hotz, G.: On the optimal layout of planar graphs with fixed boundary, SIAM J. of Computing, vol.16, no.5, 946/972, 1987. Becker, B. and Osthof, H. G.: Layout with wire of balanced length, Information and Computation, vol.73, 45/58, 1987.
197
198
Bibliography
Becker, M. Y. and Rojas, I.: A graph layout algorithm for drawing metabolic pathways, Bioinformatics, vol.17, no.5, 461/467, 2001. Bernard, M. A.: On the automated drawing of graphs, Proc. of the Third Caribbean Conf. on Combinatorics and Computing, 43/55, 1981. Bertolazzi, P., Di Battista, G., Liotta, G. and Mannino, C : Upward drawings of triconnected diagraphs, Algorithmica, vol.12, no.6, 476/497, 1994. Bhasker, J. and Sahni, S.: A linear algorithm to find a rectangular dual of a planar triangulated graph, Algorithmica, vol.3, no.2, 247/278, 1988. Bhatt, S. and Cosmadakis, S.: The complexity of minimizing wire lengths in VLSI layouts, Information Processing Letters, vol.25, 263/267, 1987. Booch, G.: Software engineering with Ada, Benjamine/Cummings Pub. Corp., 1983. Booth, K. and Lueker, G.: Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms, J. of Computer and System Sciences, vol.13, 335/379, 1976. Breuer, M. A.: Min-cut placement, J. of Design Automation and Fault Tolerant Computing, vol.1, no.4, 343/382, 1977. Card, S. K. and Henderson, Jr. D. A.: A multiple, virtual workspace interface to support user task switching, Proc. of CHI+GI, ACM, 1987. Carpano, M.-J.: Automatic display of hierarchized graphs for computer-aided decision analysis, IEEE Trans. Systems, Man, and Cybernetics, vol.SMC-10, n o . l l , 705/715, 1980. Casti, J.:
Connectivity,
complexity
and
catastrophe
in
large-scale
systems,
International Series on Applied Systems Analysis, Wiley, 1979. Catarci, T.: The assignment heuristic for crossing reduction in bipartite graphs, Proc. 26 th Annual Allerton Conf, 1988. Chen, C : Information visualization and virtual environments, Springer, 223p., 1999. Chen, C. and Paul, R. J.: Visualizing a knowledge domain's intellectual structure, IEEE Computer, vol.34, no.3, 65/71, 2001. Chiba, N., Nishizeki, T., Abe, S. and Ozawa, T.: A linear algorithm for embedding planar graphs using PQ-trees, J. of Computer and Systems, vol.30, no.l, 54/76, 1985. Chiba, N., Nishioka, I. and Shirakawa, I.: An algorithm of maximal planarization of graphs, Proc. IEEE Int. Symp. Circuits and Systems, 649/652, 1979. Chiba, N., Onoguchi, K. and Nishizeki, T.: Drawing planar graphs nicely, Acta Informatica, vol.22, 187/201, 1985.
Bibliography 199 Coffman, E. and Graham, R.: Optimal scheduling for two-processor systems, Acta Informatica, vol.1, 200/213, 1972. Davidson, R. and Harel, D.: Drawing graphs nicely using simulated annealing, ACM Trans, on Graphics, vol.15, no.4, 301/331, 1996. De Fraysseix, H., Pach, J., and Pollack, R.: Small sets supporting Fary embeddings of planar graphs, Proc. 20th ACM Symp. on Theory of Computing, 426/433, 1988. De Fraysseix, H. and Rosenstiehl, P.: A depth-first-search characterization of planarity, Annals of Discrete Mathematics, vol.13, 75/80, 1982. Di Battista, G. and Nardelli, E.: An algorithm for testing planality of hierarchical graphs, Lecture Notes in Computer Science, 246, Springer-Verlag, 277/289, 1986. Di Battista, G. and Nardelli, E.: Hierarchies and planarity theory, IEEE Trans, on Systems, Man, and Cybernetics, vol.SMC-18, no.6, 1035/1046, 1989. Di Battista, G. and Tamassia, R.: Algorithms for plane representations of acryclic diagraphs, Theoretical Computer Science, vol.61, 175/198, 1988. Di Battista, G., Tamassia, R. and Tollis, I. G.: Area requirement and symmetry display in drawing graphs, Proc. ACM Symp. On Computational Geometry, 51/60, 1989. Di Battista, G., Eades, P., Tamassia, R. and Tollis, I. G.: Algorithms for drawing graphs: An annotated bibliography, June 1994. Di Battista, G., Eades, P., Tamassia, R. and Tollis, I. G.: Graph drawing - Algorithms for the visualization of graphs, Prentice Hall, 397p, 1999. Dolev, D., Leighton, F. T. and Trickey, H.: Planar embedding of planar graphs, in Advances in Computing Research, vol.2, F. P. Preparata (Ed), JAI Press Inc., 147/161, 1984. Eades, P.: A heuristic for graph drawing, Congressus Numerantium, vol.42, 149/160, 1984. Eades, P.: Drawing Free trees, Res. Rep. IIAS-RR-91-17E, Intern. Inst, for Advanced Study of Social Information Science, Fujitsu Lab. Ltd., 1/29, 1991. Eades, P. and Lai, W.: Automatic display of network structures with disjoint node images, Manuscript, 1991. Eades, P., Lai, W., Misue, K. and Sugiyama, K.: Preserving the mental map of a diagram, Res. Rep. IIAS-RR-91-16E, Int. Inst, for Advanced Study of Social Information Science, Fujitsu Lab. Ltd., 1/10, 1991. Eades, P. and Kelly, D.: Heuristics for drawing 2-layered networks, Ars Combinatoria, vol.21A, 89/98, 1986. Eades, P., McKay, B. D. and Wormald, N. C : On an edge crossing problem, Proc. 9th Australian Computer Science Conference, 327/334, 1986.
200 Bibliography Eades, P. and Sugiyama, K.: How to draw a directed graph, J. of Information Processing, vol.13, no.4, 424/437, 1990. Eades, P. and Wormald, N. C : The meridian heuristic for drawing 2-layered networks, Tech. Rep. 69, Dept. of Computer Science, Univ. of Queensland, 1/13, 1986. Eades, P. and Wormald, N. C : Fixed edge length graph drawing is NP-hard, Discrete Applied Mathematics, 1989. Esposito, C : Graph graphics: Theory and practice, Computers and Mathematics with Applications, vol.15, no.4, 247/253, 1988. Even, S.: Graph algorithms, Computer Science Press, 1979. Fary, L: On straight lines representation of planar graphs, Acta Sci. Math. Szeged, vol.11, 229/233, 1948. Findler, N. V. (Ed): Associative networks, Academic Press, 1979. Frohlich, M. and Werner, M.: Demonstration of the interactive graph visualization system daVinci, Proc. of DIMACS Workshop on Graph Drawing'94, Princeton, 1994; LNCS Bo.894, Springer Verlag, 1995. Fruchterman, T. and Reingold, E.: Graph drawing by force-directed placement, Software - Practice and Experience, vol.21, no. 11, 1129/116, 1991. Furnas, G. W.: Generalized fisheye views, Proc. CHI '86, 16/23, 1986. Gansner, E. R., North, S. C. and Vo, K. P.: DAG - a program that draws directed graphs; Software - Practice and Experience, vol.18, no.l 1, 1047/1062, 1988. Garey, M. R. and Johnson, D. S.: Crossing number is NP-complete, SIAM J. of Algebraic and Discrete Methods, vol.4, no.3, 312/316, 1983. Goel, A. J., Ramanujam, J., and Sadayappan, P.: Towards a "neural" architecture for abductive reasoning, IEEE Int. Conf. on Neural Networks, San Diego, vol.1, 681/688, 1988. Hara, Y. and Kaya, Y.: Automatic graph construction techniques for systems with strongly connected components, Proc. of Conf. of the Society of Instruments and Control Engineers, vol.20, no.6, 506/513, 1984. (in Japanese) Harel, D.: On visual formalisms, Coram, of ACM, vol.31, no.5, 514/530, 1988. Harary, F.: Graph theory, Addison-Wesley, 1972. Hopcroft, J. and Tarjan, R. E.: Efficient planarity testing, J. of ACM, vol.21, no.4, 549/568, 1974. Hayashi, C : On the prediction of phenomena from qualitative data and the quantification of qualitative data from the mathematico-statistical point of view, Ann. Inst. Stat. Math., vol.3, no.2, 69/98, 1951-2.
Bibliography 201 Herman, I., Melancon, G. and Marshall, M. S.: Graph visualization and navigation in information visualization: a survey, IEEE Trans, on Visualization and Computer Graphics, vol.6, no.l, 24/43, 2000. Hopcroft, J. and Tarjan, R. E.: Efficient planarity testing, J. ACM, vol.21, no.4, 549/568, 1974. Huang, M. L.: Online Information Visualization of Huge Data Spaces, PhD Thesis, University of Newcastle, 1999. Inder, R. and Misue, K.: Towards establishing an empirical method for evaluating thinking support tools, Proc. of the 19th System Engineering Workshop, 57/64, 1997. (in Japanese) Ishii, H.: TeamWorkStation: The design of real time co-work space, Proc. of the 6th Human Interface Symposium, 271/278, 1990. (in Japanese) Itumi, K. and Kogure, K.: Graph structure visualization techniques, Proc. of the 14' System Symposium of the Society of Instruments and Control Engineers, 197/202, 1988. (in Japanese) Izuhara, E., Yoshida, T. and Atsumi, H.: Diagram systems - diagrammatic thought and expression, Japan Science Technology Association, 1986. (in Japanese) Japan Society for the Promotion of the Electronics Industry: Survey of creativity and idea support, and examples of creativity cultivation, 1992. (in Japanese). Johnson, D. S.: The NP-completeness column: An ongoing guide, J. of Algorithms, vol.3, 89/99, 1982. Kamada, T.: On visualization of abstract objects and relations, A Dissertation Submitted to the Graduate School of the University of Tokyo, 1988. Kamada, T. and Kawai, S.: An algorithm for drawing general undirected graphs, Information Processing Letters, vol.31, no.l, 7/15, 1989. Kant, G.: Algorithms for drawing planar graphs, Ph.D Thesis in Univ. of Utrecht, 1993. Kawagoe, M., Yamaguchi, T. and Aoyama, H.: Topika plan: towards a creativity support system, Report of the Human Interface Meeting of the Information Processing Society of Japan, 98-HI-25, 1989. (in Japanese) Kawakita, J.: The KJ method: A scientific approach to problem solving, Kawakita Research Institute, 1975. Kawakita, J.: The KJ method, Chuo-koron-sha, 1986. (in Japanese) Kernighan, B. W. and Lin, S.: An efficient heuristic procedure for partitioning graphs Bell System Technical Journal, 291/307, 1970.
202
Bibliography
Kirkpatrick, S., Gelatt, C. D. and Vecchi, M. P.: Optimization by simulated annealing, Science, vol.220, no.4598, 671/680(1983). Kitagawa, T. and Sugiyama, K.: A method for the information science approach to grasping research trends, Proc. of the 1978 Information Processing Society of Japan, 19th National Conference, 31-10, 863/864, 1978. (in Japanese) Kohda, Y., Watanabe, I., Misue, K., Hiraiwa, S. and Masui, M.: Group idea processing system: GrIPS, J. of Japanese Society for Artificial Intelligence, vol.8, no.5, 65/74, 1993. (in Japanese) Kunifuji, S., Ueda, H., Sunaga, T., Ibuka, k. and Iwanai, M.: The conception of the group knowledge acquisition support system GRAPE, Proc. of the 10th Knowledge Engineering Symp. of the Society of Instruments and Control Engineers, 47/52, 1989. (in Japanese) Leung, Y. K. and Apperley, M. D.: A review and taxonomy of distortion-oriented presentation techniques, ACM Trans, on Computer Human Interaction, vol.1, no.l, 126/160, 1994. Lin, T.: A General schema for diagrammatic user interfaces, PhD Theist, The University of Newcastle, May 1993. Lipton, R., North, S. and Sandberg, J.: A method for drawing graphs, Proc. ACM Symp. on Computational Geometry, 153/160, 1985. Makinen, E.: A note on the median heuristic for drawing bipartite graphs, Tech. Rep. A-1988-4, Dept. of Computer Science, Univ. of Tampere, 1988a. Makinen, E.: Experiments on drawing 2-level hierarchical graphs, Tech. Rep. A-19881, Dept. of Computer Science, Univ. of Tampere, 1988b. Makinen, E.: On circular layouts, Int. J. of Computer Mathematics, vol.24, 29/37, 1988c. Manning, J. and Atallah, M. J.: Fast detection and display of symmetry in outer planar graphs, Tech. Rep. CSD-TR-606, Dept. of Computer Sciences, Purdue Univ., 1986. Manning, J. and Atallah, M. J.: Fast detection and display of symmetry in trees, Congressus Numerantium, 1989. Messinger, E. B.: Automatic layout of large directed graphs; Tech. Rep. 87-07-08, Dept. of Computer Science, Univ. of Washington, 1/198, 1988. Misue, K.: Summaries of diagrams and applications of creativity support, Proc. of Human Interface Conference, Information Processing Society of Japan, H1-31-1, 1990. (in Japanese) Misue, K.: D-ABDUCTOR 2.0 user manual, Res, Rep. IIAS-RR-93-3E, FUJITSU LABORATORIES, HAS, 1993.
Bibliography
203
Misue, K.: Development of diagram processor, PhD Thesis, The University of Tokyo, May 1997. (in Japanese) Misue, K., Eades, P., Wai, L., and Sugiyama, K.: Layout adjustment and the mental map, J. of Visual Languages and Computing, vol.6, no.2, 195/209, 1995. Misue, K., Nitta, K, Sugiyama, K., Koshiba, T. and Inder, R.: Enhancing DABDUCTOR towards a diagrammatic user interface platform, Proc. of the 1998 Second Int. Conf. on Knowledge-Based Intelligent Electronic Systems, April 1998, Adelaide, Australia, 359/368,1998. Misue, K. and Sugiyama, K.: The use of hand drawn curves in the automatic drawing of compound layered graphs, Proc. of 38* National Conference of the Information Processing Society of Japan, 4H-7, 1304/1305, 1988. (in Japanese) Misue, K. and Sugiyama, K.: On automatic drawing of compound graphs for computer aided diagrammatical thinkmg, J. of Information Processing Society of Japan, vol.30, no.10, 1324/1334, 1989. (in Japanese) Misue, K. and Sugiyama, K.: On multi-focus perspective display method of figures for computer aided diagrammatical thinking, J. of Information Processing Society of Japan, vol.32, no.8, 997/1005, 1991. (in Japanese) Misue, K. and Sugiyama, K.: On development of diagram based idea organizer DABDUCTOR, J. of Information Processing Society of Japan, vol.35, no.9, 1739/1749, 1994. (in Japanese) Misue, K. and Sugiyama, K.: Evaluation of a thinking support system from operational points of view, Proc. of HCI'95 International, July 1995, Yokohama, 679/702, 1995. Misue, K. and Sugiyama, K.: Evaluation of a thinking support system D-ABDUCTOR from an operational pints of view, J. of Information Processing Society of Japan, vol.37, no.l, 133/143, 1996. (in Japanese) Misue, K. and Watanabe, I.: Wisualization of keyword association for text mining, Proc. of Fundamental Informatics 55-8, The Information Processing Society of Japan, 65/72. 1999. (in Japanese) Nakamori, Y. and Murasaki, Y.: Heuristic algorithms for optimal vertex placement for layered graphs, J. of the Society of Instruments and Control Engineers, vol.25, no.3, 369/376, 1989. (in Japanese) Nitta, K., Inder, R., Misue, K. and Sugiyama, K.: GOL: Graphical outline processor Simultaneously using a text view and a graph view, Proc. of the First Asia Pacific Conference on Computer Human Interaction (APCHI'96), Singapore, June 25-28, 469/478, 1996.
204 Bibliography Nitta, K., Misue, K. and Sugiyama, K.: Recording and analyzing logs of thinking processes using D-ABDUCTOR, Proc. of the 17' System Engineering Workshop, 1995,69/76,1995. Ohiwa, H., Kawai, K. and Koyama, M : Idea processor and the KJ method, J. of Information Processing, vol.13, no.l, 44/48, 1990. Otten, R. and van Ginneken, L.: The annealing algorithm, Kluwer Academic Publishers, 1989. Otten, R. and van Wijk, J. G.: Graph representations in interactive layout design, Proc. IEEE Int. Symp. Circuits and Systems, New York, 914/918, 1978. Ozawa, T.: Planarity testing for IC layout with constraints for pin order and congestion between pins, IEEE Conf. Record of the 14th Asilomar Conf. on Circuits, Systems and Computers, 188/192, 1980. Paulisch, F. N. and Ticky, W. F.: EDGE: An extendible graphic editor, Software Practice and Experience, vol.20, no.Sl, 63/88, 1990. Read, R. C : Methods for computer display and manipulation of graphs and the corresponding algorithms, Tech. Rep. CORR 86-12, Faculty of Mathematics, Univ. of Waterloo, 1986. Read, R. C : New methods for drawing a planar graph given the cyclic order of the edges at each vertex, Congressus Numerantium, vol.56, 31/44, 1987. Reggiani, M. G. and Marchetti, F. E.: A proposed method for representing hierarchies; IEEE Trans, on Systems, Man, and Cybernetics, vol.18, no.l, 2/8, 1988. Reingold, R. and Tilford, J.: Tidier drawing of trees, IEEE Trans, on Software Engineering, vol.SE7, no.2, 223/228, 1981. Rinsma, I.: Nonexistence of certain rectangular floorplan with specified areas and adjacency, Environment and Planning B: Planning and Design, vol.14, 163/166, 1987. Roberts, D. D.: The existential graphs of Charles S. Peirce, Mouton, 1973. Rosenstiehl, P. and Tarjan, R. E.: Rectilinear planar layouts of planar graphs and bipolar orientations, Discrete & Computational Geometry, vol.1, no.4, 343/353, 1986. Rowe, L. A., Davis, M., Messinger, E., Meyer, C , Spirakis, C.
and Tuan, A.: A
browser for directed graphs, Software - Practice and Experience, vol.17, no.l, 61/76, 1987. Sander, G.: Graph layout through the VCG tool, Proc. of DIMACS Int. Workshop GD'94; Lecture Notes in Computer Science 894, 194/205, Springer Verlag, 1995. Sander, G.: Fast heuristic for hierarchical Manhattan layout, Proc. of GD'95; Lecture Notes in Computer Science 1027, 447/458, Springer Verlag, 1996.
Bibliography 205 Santucci, G. and Sottile, P. A.: Query by diagram: A visual environment for querying databases, Tech. Rep. RAP. 15.90, Dept. Informatics & Systematics, Univ. of Rome, 1990. Sarkar, M. and Brown, M. H.: Graphical fisheye views of graphs, Proc. of the ACM Conference on Human Factors in Computing Systems (CHI'92), ACM Press, 83/91, 1992. Schnyder, W.: Embedding planar graphs on the grid, Proc. ACM-SIAM Symp. on Discrete Algorithms, 1990. Schwikowski, B., Uetz, P. and Fields, s.: A network of protein-protein interactions in yeast, Nature Biotechnology, vol.18, 1257/1261, 2000. Shinohara, Y.: The construction of a knowledge base from unclassified information, Information
Processing Society of Japan, 34'
National Conference, 2K-4,
1465/1466, 1987. (in Japanese) Shoman, T.: The reduction of the number of edge crossings in multi-level graphs by the maximization of correlation coefficients, Res. Rep., Faculty of Engineering, Tokushima University, 45/57, 1980. (in Japanese) Sowa, J. F.: Conceptual structures, Addison-Wesley, 1984. Spence, R. and Apperley, M.: Data base navigation: an office environment for the professional, Behavior and Information Technology, vol.1, no.l, 43/54, 1982. Steadman, J. P.: Architectural morphology, Pion, London, 1983. Stefik, M., Foster, G., Bobrow, D. G., Kahn, K., Lanning, S. and Suchman, L.: Beyond the chalkboard: Computer support for collaboration and problem solving in meetings, C. ACM, vol.30, no.l, 32/47, 1987. Stein, S. K.: Convex maps, Proc. Amer. Math. Soc, vol.2, 464/466, 1951. Storer, J. A.: On minimal note - Cost planar embeddings, Networks, vol.14, 181/212, 1984. Sugiyama, K.: Drawing and understanding systems structures: An introduction to the SKETCH system, Working Paper WP-82-97, Int. Inst, for Applied Systems Analysis Luxemburg, Austria, 1/52, 1982. Sugiyama, K.: Drawing methods for layered graphs with emphasis on placement improvements of the SKETCH system, Japan Simulation Society 4 th Research Presentations, 79/84, 1983. (in Japanese) Sugiyama, K.: A cognitive approach for graph drawing, Cybernetics and Systems, vol.18, no.6, 447/488, 1987. Sugiyama, K.: Basic research in diagrammatic idea support - Toward the construction of a science of creative information systems (I), Tech. Rep., no.24, Int. Inst, for
206
Bibliography
Advanced Study of Social Information Science, Fujitsu Limited, 64p, 1988a. (in Japanese) Sugiyama, K.: Basic research in diagrammatic idea support - Toward the construction of a science of creative information systems (II), Tech. Rep., no.25, Int. Inst, for Advanced Study of Social Information Science, Fujitsu Limited, 115p, 1988b. (in Japanese) Sugiyama, K.: Analysis of the KJ method from the viewpoint of diagrammatic idea development support, Proc. of the 5' Human Interface Symposium, 325/330, 1989a. (in Japanese) Sugiyama, K.: How to generate "good" diagrams - Automatic graph drawing methods based on cognitive criteria, J. System Control Information, vol.33, no.11, 559/567, 1989b. (in Japanese) Sugiyama, K.: Idea support tools, J. of the Society for Electronic Information Communications, vol.74, no.2, 159/163, 1991. (in Japanese) Sugiyama, K.: Toward the construction of diagrammatic creativity support systems, Japan Society for the Promotion of the Electronics Industry: Survey of creativity and idea support, and examples of creativity cultivation, 18/26, 1992. (in Japanese) Sugiyama, K.: R & D trends of tools for convergent thinking: Computer support based on KJ method, J. of Japanese Society for Artificial Intelligence, vol.8, no.5, 32/38, 1993. (in Japanese) Sugiyama, K. and Misue, K.: Diagram languages as human interfaces II: Regions, network diagram systems, and hand drawn diagrams, Proc. of the 2 n
Human
Interface Symposium of the Society of Instruments and Control Engineers, 2412, 479/484, 1986. (in Japanese) Sugiyama, K. and Misue, K.: Visualizing structural information: Hierarchical drawing of a compound digraph, Res. Rep. 86. Int. Inst, for Advanced Study of Social Information Science, Fujitsu Ltd., 1989. Sugiyama, K. and Misue, K.: Good graphic interfaces for good idea organizers, Proc. of
the
3 rd
IFIP
International
Conf.
on
Human-Computer
Interaction
(INTERACT '90), Cambridge, U.K., 521/526,1990. Sugiyama, K. and Misue, K.: Visualization of structural information: Automatic drawing of compound digraphs, IEEE Trans, on Systems, Man, and Cybernetics, vol.SMC-21, no.4, 876/892, 1991. Sugiyama, K. and Misue, K.: A simple and unified method for drawing graphs: Magnetic-spring algorithm, Proc. of DIMACS Int. Workshop on Graph Drawing
Bibliography 207 (GD'94), Oct. 1994, Princeton, Lecture Notes in Computer Science 894, SpringerVerlag, 364/375, 1994. Sugiyama, K. and Misue, K: A generic compound graph visualizer/manipulator: DABDUCTOR, Proc. of Graph Drawing '95, Sept. 20-22, Passau, Germany, 25/27, 1995a. Sugiyama, K. and Misue, K.: Graph drawing by the magnetic spring model, J. of Visual Languages and Computing, vol.6, 217/231, 1995b. Sugiyama, K., Misue, K., Watanabe, I., and Nitta, K.: Development and evaluation of human thinking support tools, Proc. of the 1999 Third Int. Conf. on KnowledgeBased Intelligent Electronic Systems, Aug 31-Sept 1, 1999, Adelaide, Australia, 50/53, 1999. Sugiyama, K., Misue, K., Watanabe, I., Nitta, K. and Takada, Y.: Integration of idea creation tools: Emergent Media Environment, FUJITSU Scientific and Technical Journal, vol.32, no.2, 154/170, 1996. Sugiyama, K., Misue, K., Watanabe, I., Nitta, K. and Takada, Y.: Emergent media environment for idea creation support, Knowledge-Based Systems, vol.10, no.l, 51/58, 1997. Sugiyama, K. and Shintani, T.: Diagram representations in knowledge information processing - The application of the SKETCH method, Proc. of the 28 th National Conference of the Information processing Society of Japan, vol.5G, no. 10, 1103/1104, 1984. (in Japanese) Sugiyama, K., Tagawa, S. and Toda, M.: Effective representations of ISM hierarchies, Proc. of Int. Conf. on Cybernetics and Society, Denver, 413/418, 1979. Sugiyama, K., Tagawa, S. and Toda, M.: Method for visual understanding of hierarchical system structures, IEEE Trans, on Systems, Man, and Cybernetics, vol.SMC-ll,no.2, 109/125, 1981a. Sugiyama, K., Tagawa, S. and Toda, M.: Research in the visual representation of structural information - layered structure models and automatic planar drawing algorithms and applications, Fujitsu International Research Center for Social Information Science, 2 nd Research Report, 1/41, 1981b. (in Japanese) Sugiyama, K. and Toda, M.: Visual Q-analysis(I): A case study of future computer systems development in Japan, Cybernetics and Systems, vol.14, nos.2-4, 185/228, 1983. Sugiyama, K. and Toda, M.: Structuring information for understanding complex systems: A basis for decision making, FUJITSU Sci. Tech. J., vol.21, no.2, 144/164, 1985.
208 Bibliography Sugiyama, K., Toda, M. and Tagawa, S.: Visual Q-analysis and its application to a structural study of technology innovations, Res. Rep. 19, Int. Inst, for Advanced Study of Social Information Science, Fujitsu Ltd., 1981. Supowit, K. J. and Reingold, E. M: The complexity of drawing trees nicely, Acta Informatica, vol.18, no.4, 377/392, 1983. Sweet, R. E.: Empirical estimates of program entropy, Rep. STAN-CS-78-698, Dept. of Computer Science, Stanford Univ., 1978. Takahashi, M.: Creativity development in business, Japanese Creativity Society: The theory and methods of creativity, Kyoritsu Shuppan, 112/125, 1983. (in Japanese) Tamassia, R.: On embedding a graph in the grid with the minimum number of bends SIAM J. Computing, vol.16, no.3, 412/444, 1987. Tamassia, R., Di Battista, G. and Batini, C : Automatic graph drawing and readability of diagrams; IEEE Trans. Systems, Man, and Cybernetics, vol.SMC-18, no.l, 61/79, 1988. Tamassia, R. and Tollis, I. G.: A unified approach to visibility representations of planar graphs, Discrete Computational Geometry, vol.1, no.4, 321/341, 1986. Tamassia, R. and Tollis, I. G.: Efficient embedding of planar graphs in linear time, Proc. IEEE Int. Symp. Circuits and Systems, Philadelphia, 495/498, 1987. Tamassia, R. and Tollis, I. G.: Planar grid embedding in linear time, IEEE Trans, on Circuits and Systems, vol.CAS-36, no.9, 1230/1234, 1989. Tarjan, R.: Depth first search and linear graph algorithms, SIAM J. Computing, vol.1, no.2 146/159, 1982. Thomassen, C :
Planarity and duality of finite and infinite planar graphs, J.
Combinatorial Theory, Series B, vol.29, 244/271, 1980. Tilford, J. S.: Tree drawing algorithms, Rep. UIUCSDS-R-81-1055, Dept. of Computer Science, Univ. Illinois, 1981. Toda, M. and Sugiyama, K.: Visual Q-analysis (II): Strategy analysis for future computer systems development in Japan, Cybernetics and Systems, vol.14, nos.2-4, 229/251, 1983. Trichey, H.: DRAG: A graph drawing system, Proc. of the Int. Conf. on Electronic Publishing, Document Manipulation, and Typography, Nice, 171/182, 1988. Tutte, W. T.: Convex representations of graph, Proc. London Math. Soc, vol.10, 304/320, 1960. Tutte, W. T.: How to draw a graph, Proc. London Math. Soc, vol.3, no. 13, 743/768, 1963.
Bibliography 209 Van Melle, W. J.: System aids in constructing consultation programs, UMI Research Press, 1980. Vaucher, J.: Pretty printing of trees, Software - Practice and Experience, vol.10, no.7, 553/561, 1980. Wagner, K.: Bemerkungen zum Vierfarbenproblem, Jber, Deutsch. Math.-Verein, vol.46, 26/32, 1936. Walker II, J. Q.: A node-positioning algorithm for general trees, Software - Practice and Experience, vol.20, no.7, 685/705, 1990. Warfield, J. N.: Societal systems: Planning, policy and complexity, John Wiley, 1976. Warfield, J. N.: Crossing theory and hierarchy mapping, IEEE Trans. Systems, Man. And Cybernetics, vol.SMC-7, no.7, 505/523, 1977. Watanabe, I. and Misue, K.: Text mining based on keyword association, Proc. of Fundamental Informatics 55-8, The Information Processing Society of Japan, 57/64. 1999. (in Japanese) Wetherell, C. and Shannon, A.: Tidy drawing of trees, IEEE Trans. Software Engineering, vol.SE-5, no.5, 514/520, 1979. Wirth, N.: Algorithms + data structures = programs, Prentice-Hall, Inc., 1976. Woods, D.: Drawing planar graphs, Technical Report STAN-CS-82-943, Computer Science Dept., Stanford Univ., 1982. Young, L. F.: The metaphor machine: A database method for creativity support, Decision Support Systems, vol.3, 309/317, 1987.
This page is intentionally left blank
0—o
6 INDEX
2-connected component 2-layer graph 3-layer crossing problem 3-connected directed graph 3-connected planar graph a priori importance abridgment fisheye mapping acyclic derived graph acyclic directed graph Ada Ada language grammatical structure adaptation to frame adjacency direct graph adjacency edge aesthetic criteria aesthetics
AI algorithm analysis of thought development history ancestors animation application examples applications of automatic graph drawing methods assigned compound graph assignment of compound layers assignment of layers associative network attitude method attractive force automatic graph drawing methods automatic graph drawin problem
23, 81 70 73 29 38 134 140,141 110 8,27,61 163 . , . . ,„ 87 103 8,103 7 4
211
17 178 103 185 149 147 110 106 63 102 171 24,95 3 4
212
Index
automatic graph drawing methods at a glance automorphism B-spline bad drawing
46, 47 43 30 3
balance barycenter
50,75 70
barycenter method basic types of diagram language bends Bezier curve bi-directional magnetic spring binary tree
30,70
bioinformatics bioinformatics model block browsing center chart making children circuit layout citation diagram classical convention classification of graphs classification of idea support methods closeness
2 40 131 94 21 3 17 81 149 23 172 103 4 155,156 23 8 170 60,75
cognitive criteria column barycenter column barycenter ordering
4 71 71
combinatorial problems compaction
68 43
complete binary tree
26
composite creativity support composite type diagram language compound coordinate system compound cycle compound directed graph
171 2 9,10 45,111 103
compound graph compound graph drawing method compound graph metrical layout algorithm compound graph vertex order determination algorithm compound layer compound layer assignment compound layer assignment algorithm compound layer assignment possible compound magnetic field concentric circle drawing of hierarchical graphs concentric circle layout
3,45, 102 102 120 115 106 106, 108 109 110 94 34 23
concentric circle placement concentric field conceptual graph
10 95 102
constraint continuity of cognition control polygon controlling orientations of edges convergent method convex drawing convex polygon coordinate type diagram language correlation coefficient maximization method creativity machine intelligence creativity research
11 12 131
creativity support crossing among outlines crossing minimization problem curve routing cut-point cycles D-ABDUCTOR da Vinci
91 171 38 38 2 71 171 171 169 34 68 10 82 27 148, 169,179 148
Index
213
dense graph
44
drawing methods using curves drawing object drawing rules drawing style change function dual graph
depth first search
62
dummy adjacency edge
112 112 112
DAG
148
DRAG
148
data flow diagram decision of layout position degree of interest
43 74 134
derived edge
110
dummy compound graphs
derived graph divide and conquer method (approach) descendants details of automatic graph drawing methods diagram
110
dummy inclusion edge dummy vertex dynamic drawing method
diagram editor diagram matrix expression of the KJ method diagram language diagram language interface diagrammatic creativity support diagrammatic idea organizer diagrammatic thought (creativity) support diapophysis diagram direct manipulation interface directed edge directed graph drawing methods directed graphs directory browser divergent method divide and conquer approach divide and conquer method documentation documentation support downward (upward) drawings downward (upward) pass drawing algorithm drawing convention
32,63 103 49 1 5 174.175 2 1 147 169, 179 5,45 156 149 94 27 8 166 171 63 32,33 148 148 28 73 16 7, 9, 11
dynamical model dynamic rule EDGE edge edge crossings edge crossing minimization problem edge length minimization edge rule edge span edge vertex crossings elasticity constant element of diagram emergent Media Environment empirical creativity methods energy entity relationship diagram evaluation of D-ABDUCTOR existential graph extension of automatic graph drawing methods expert system F-hierarchy face facilities of DO ABDUCTOR features of D-ABDUCTOR features of drawing algorithms
127 7 7, 11 178 84
64,66, 112 142 5 11 148 9 8 30 59 190 59 104 89 1 169 171 87,89 43 188 102 127 5 157,158 38 183 179 7
214
Index
feedback edge fisheye fisheye for Compound graphs fixed edge length flexible diagram editor force-directed method (layout) frameworks for automatic graph drawing free placement free tree gap dispersion GBD GIOTTO garden drawing general directed graphs general directed graph drawing general priority relationship general trees general tree drawing method general undirected graphs general undirected graph drawing method generalized fisheye generation of curves generic graph drawing method genetic algorithm geometrical barycenter geometrical inclusion GET good drawing graph
28 134 138 87 178 24, 42, 87
10 8,23 51 148 148 25,27 8,35 59 15, 16 21 49 37,42 81 134 131 91 5,17 123 104, 106 148 3 3 148
graph editor
149 89
graphical hypertext Graphlet
166 148
Graphviz gravitational forces
148 43
86 190
Mayer graph
5 68,73
H-tree drawing land drawn closed curves
25,26 129
land drawn-like curves 7
graph Browser graph theoretic distance
grid representation jroup rule jroupware
Taase diagram leight minimization leight of hierarchical graphs leuristic method leuristics lierarchical drawing lierarchical graph lierarchy Higraph
131 27 63 63 5 5 29 29,63 8
iooke's law
102 88
lorizontal format lorizontal nested layer
23 106
mman interface mman layout criteria lybrid algorithm lypergraph nternet
4
dea support tool
4, 11 17 156 3 149
deal distance dentical drawing
89 21
mproved priority method ncidence matrix nclusion directed graph nclusion convention nclusion edge
80 69, 156 103 23 8, 103
nclusion directed graph
103
nclusion tree
103
ncremental editing ndegree
184 68
nner face nsertion barycenter method
38 117
Index 215 integer linear programming integration method
84 171
interactive creativity support
170
interindustry relation table
151
ISA hierarchy
27
issue map
93
longest path layering macro structure diagram of the Japanese economy magnetic field magnetic springs
64, 65 .„ . 93 94
knowledge base
159
knowledge structure diagram
162
label grammar
190
magnetic spring algorithm magnetic spring drawing method magnetic spring model mathematical model of mental map matrix type diagram language
label grouping
172
matrix realization
68
label making
172
maximal planar subgraph
82
label rule
190
median
70
189
median method medical diagnosis system EMYCIN mental map
Kanji LCRM KJ method
Labeled Construction-Rule Method (LCRM) language Simple layer assignment
190 45, 102
188 108
layer by layer strategy
73
metric rules
layering layering to minimize the number of dummy vertices layout by example layout stability
30
minimization of drawing area minimization of adjacency edge crossings minimization of edge crossing minimization of edge vertex crossings minimization of total line length minimization of bends minimum feedback arc set problem minimum width
67 17 142
leaf
23
least separation
75
left child
53
liner arrangement problem
116
linear programming
30
linearity
60
linearity of long edge
76
list structure diagram local 2-layer graph local 2-layer graph vertex order determination local h-layer graph vertex order determination local hierarchy graph local multiplayer graph long edge
93 115 118
mixed graph model that preserves the relationship of 8 directions model that preserves topology model that preserve cluster
93, 96 q. 93 , .. 144 .
30,70 160 11, 144 16 40 116 42, 59, 68 113 38, 40, 86 40,42 30, 37, 61 20,50 91 144 144 144
119
monitoring
113
monotone drawing
27
multi-layer graph
73
113, 114 66
multimedia
148
169
216
Index
multiple edges natural fisheye mapping nested hierarchy net type diagram language network flow technique network monitor non-planar graph normal normal compound graph normal orthogolization normalization normalization of assigned compound graph number of crossings offset Online Force-Directed Animated Visualization (OFTAV) optimum embedding ordered compound graph ordered binary tree organization chart original edge orthogonal grid drawing orthogonal grid placement orthogonal order model orthogonal representation orthogonal representation with few bends orthogonalization
8 136 104,110 2 40 166 38 112 112 84 30,84 112 69 131 145 4 113, 114 21 3 110 39,43 10,25 144 84 86 43
outdegree
63,68
outer face PERT graph
38,82 27
parallel field parallel line placement
95 10
parent placement of vertices
103
placement convention
10 27
planar drawing planar graph
9
8,37
planar monotone drawing planar representation planar straight line orthogonal grid drawing planar orthogonal grid drawing planarity planarity testing algorithm planarization platform for graph drawing polar field polar grid placement polyline routing postorder search predator-prey ecosystem preorder search proper hierarchical graph priority priority layout method priority relationship Q-Analysis Q-hierarchy Quadratic Programming (QP) method quasi-Manhattan layout method radial line placement readability rectangle recurrent drawing recursive traversal reference structure between modules region type diagram language regular polygon representative vertex repulsive force retention fisheye mapping right child rings root
27 81,82 39 40
38 38 43,81 145 95 10 10 50,53 150 50,58 68 77 30,77 7 156 157,158 75 80
10 4 104 36,37 105 163 2 38 103 25,95 138 53 87,93
Index
rooted tree rotative force
8,20 95
straight line convex drawing straight line drawing
217
39 38,42
12 41
10 straight line routing strongly (strictly) connected 35,62, 110 component structural diagram of a food 150 chain structural diagrams of Ada 164,165 syntax 135 structural importance 12 structural rules 166 structure analyzer subtree separation 51 subroutine call graph 27, 163
shape rules shortest path sibling separation
16 89 51
switching method symmetrical drawing symmetry
sibling vertices simple directed graph
51
syntactic grammar text mining
routing convention routing of edges row (column) barycenter row (column) barycenter ordering rules for normalization STT method self loop semantic importance semantic rules semicircle drawing
simple graph simple LCRM simple local multiplayer graph simplicial complex simulated annealing skeletal diagram smallest energy state of system sources space complexity span of edge spatial arrangement spread of creativity support research spring embedder springs sprit method standard coordinate system standard magnetic field static drawing method static rules
10 9 71 71 85 30 7 135
59 7 190 113,114 156 5, 17,91 156 87 64 38 63 172 171 43 88,93 116 10 94 142 11
71 21 21 , 42, 50, 87 1 167
thermodynamics model thought guide tip-over convention
17 177 23
title making
172 16
topological rules topological sort total energy total importance transitive edge tree tree drawing methods tree search underlying undirected graph undirected edge undirected graph undirected graph drawing methods unidirectional magnetic spring uniform distribution uniform distribution of vertices
64, 110 89 135 64 8 19 50 27 94 8 37 95 63 42,59
218
Index
uniform edge length uniform width layering
42
vertical format
23
65,66
vicinity radius
142 135
unique vertex labeling
61
view importance
upward (downward) drawing
28
virtual physical system
92
upward (downward) edge
61
visibility
40
upward (downward) pass
73
visibility representation
user-friendly interface
1
visual interface
1,40,41 1 156
VCG
148
visual Q-Analysis
verbal or written explanation
173
VLSI layout
91
width minimization
50
width of hierarchical graphs
63
vertex
9
vertex location determination
30
vertex order determination
30
Series on Software Engineering and Knowledge Engineering - Vol. 11 GRAPH DRAWING AND APPLICATIONS FOR SOFTWARE AND KNOWLEDGE ENGINEERS
by Kozo Sugiyama (Japan Advanced institute of Science and Technology) This book is useful for readers who want to visualize graphs as representing structural knowledge in a variety of fields. It gives an outline of the whole field, describes in detail the representative methods for drawing graphs, explains extensions such as fisheye and dynamic drawing, presents many practical applications, and discusses ways of evaluation. It makes the intuitive understanding of these easier by using examples and diagrams, and provides a wealth of references for those readers who wish to know more.
www. worldscientific. com 4902 he