Presentation is loading. Please wait.

Presentation is loading. Please wait.

Using Graph Parsing for Automatic Graph Drawing Carolyn. McCreary, Richard O. Chapman, and F.-S. Shieh IEEE transactions on systems, man, and cybernetics-part.

Similar presentations


Presentation on theme: "Using Graph Parsing for Automatic Graph Drawing Carolyn. McCreary, Richard O. Chapman, and F.-S. Shieh IEEE transactions on systems, man, and cybernetics-part."— Presentation transcript:

1 Using Graph Parsing for Automatic Graph Drawing Carolyn. McCreary, Richard O. Chapman, and F.-S. Shieh IEEE transactions on systems, man, and cybernetics-part A: systems and humans, 1998. 元智資工所 系統實驗室 楊錫謦 2000/9/29

2 Outline Introduction Algorithm Overview Graph Parsing Node Layout Conclusion

3 Introduction Drawing digraphs by hand can be tedious and time consuming. The standard approach has 3 steps: assign node to layers reorder the nodes in each layer adjust the position of the nodes Clan-based Graph Drawing Tool (CG) uses unique clan-based graph decomposition to produce a parse tree.

4 Algorithm Overview The algorithm consists of several steps: create a parse tree compute the dimensions of a bounding box determine long edges and add dummy nodes recompute bounding box dimensions determine actual node locations draw the graph What is clan? 

5 Graph Parsing Nodes with the same parents may be the sources of the clans(Siblings) and nodes with the same children may be the sinks of clans(Mates). The algorithm consists of three parts: the preprocessing section the clan recognition section (decomposion) the parse tree construction section

6 Preprocessing section to carry out a transitive reduction of the input dag - minimal graph precompute P(x) – sets of parents C(x) – sets of children A(x) – sets of ancestors D(x) – sets of descendants S – sets of siblings M – sets of mates

7 Clan Recognition section They pairs each sibling set with each mate set to determine if the pair forms the sources and sinks of a clan. define F*(S) = F(S) ∪ S potential clan: F = D*(S i ) ∩ A*(M j )

8 Clan Recognition section(Cont.) If F contains more than one element then 1. For each connected component F k of F with source S k and sink M k check for illegal entry or illegal exit 2. Place each connected component with more than one element on candidate list 3. If F has more than one legal connected component then Label the union as Independent and place on candidate list 4. For each candidate F do a. Remove F from candidate list

9 Clan Recognition section(Cont.) b. For each F i on clan list If F=F i then if F is labeled then F i is given the label of F exit Else if F ∩ F i ≠ 空集合 and 互不為子集合 then delete F i from clan list; F=F ∪ F i ; label F as linear c. Place F on clan list d. If F is not labeled, label F as primitive

10 Clan Recognition section(Cont.) Primitive clans are augmented with edges until series or parallel subgraphs can be identified.

11 Clan Recognition section(Cont.)

12

13 Parse Tree Construction section The parse tree is built by comparing clan size and using set inclusion.

14 Node Layout A bounding box, associated with each node of the parse tree, specifies the allotted area for a subgraph.

15 Node Layout(Cont.) Before parsing, a long transitive edge (x, y) is replaced by a dummy node z and edge (x, z) and (z, y).

16 Node Layout(Cont.) Reducing lengths of unnecessarily long edges Routing long edges

17 Node Layout(Cont.)

18 Conclusion CG ’ s drawings are unique in several ways: attribute grammar The layout is balanced both vertically and horizontally. Nodes within a clan are placed close to each other. Nodes are grouped according to a 2D affinity. The users can contract a clan into a single node and later expand it.

19 Pictures of constraction

20 Pictures of comparison


Download ppt "Using Graph Parsing for Automatic Graph Drawing Carolyn. McCreary, Richard O. Chapman, and F.-S. Shieh IEEE transactions on systems, man, and cybernetics-part."

Similar presentations


Ads by Google