Presentation is loading. Please wait.

Presentation is loading. Please wait.

Efficient Generation of Minimal Graphs Using Independent Path Analysis Linda S. Humphrey 20 November 2006 Department of Computer Science and Engineering.

Similar presentations


Presentation on theme: "Efficient Generation of Minimal Graphs Using Independent Path Analysis Linda S. Humphrey 20 November 2006 Department of Computer Science and Engineering."— Presentation transcript:

1 Efficient Generation of Minimal Graphs Using Independent Path Analysis Linda S. Humphrey 20 November 2006 Department of Computer Science and Engineering

2 Thanks Thesis Advisor: Dr. Frederick C. Harris, Jr. Thesis Committee: Dr. Dwight Egbert Dr. Indira Chatterjee Mentor: Dr. Judith Fredrickson Dept. Chair: Dr. Yaakov L. Varol

3 Overview History of the Crossing Number Problem Recent Work Exhaustive Search Algorithm Optimizations Minimal Graph Creation by Star Analysis Results Obtained Using Star Analysis to Grow K n From K n-1 Conclusions and Future Directions

4 Turán’s Brick Factory Problem

5

6 12 54 3 67 Complete Bipartite Graph K 3,4

7 3 1 2 5467 Minimal Complete Bipartite Graph

8 Zarankewicz’ Conjecture The crossing number of the complete bipartite graph K m,n satisfies the equality: ν(K m,n ) = | ½ m | | ½ (m-1) | | ½ n | | ½ (n-1) |

9 A Few Definitions Graph A finite, nonempty set of vertices in a plane and a set of unordered pairs of vertices representing edges Complete graph (K n ) each of the n vertices of the graph is adjacent (i.e. connected by an edge) to every other vertex Crossing number ( ) the smallest number of edge crossings over all planar representations of a graph G Minimal graph a graph that exhibits its crossing number

10 21 34 5 Complete K 5 Graph One Crossing and Eight Regions

11 Guy’s Conjecture Crossing number of K n Given n vertices, what is the minimum number of edge crossings if every vertex has an edge to every other vertex? Problem popularized by R. Guy [Guy60] Conjectured solution [Guy 69]

12 The Path Leading to Star Analysis Introduction of exhaustive search algorithm [HH98] Parallel implementation of exhaustive search algorithm [TH97] Dynamic load balancing with a queuing system added to the parallel implementation [YMFH04] Isomorphic testing to create graph families Search space reductions [FYH04, F06] Region restriction Radical region restriction

13 3 4 2 1 3 1 4 2 42 1 3 (a)(b) (c) Isomorphic Family Designation Separating graphs into isomorphic families allows us to take one representative of each family for the next graph iteration.

14 Isomorphic Families n5678910 Minimal graphs generated 12476204,59056,618 Isomorphic families11531,4535,679

15 Remaining Issues High overhead parallel algorithm Elaborate setup Extensive message passing Enqueuing and dequeuing of jobs More processors increases the number of jobs All graphs created (edges laid down) until minimum regions to be crossed is exceeded Many partial graphs thrown out

16 What if……. Rather than drawing graphs, we simply find the shortest distances to each existing vertex from a newly placed one The shortest paths across regions are saved as path lists rather than as graphs We eliminate the parallel system along with all of its time-consuming overhead

17 Star Analysis - Overview Representative graphs from K n-1 isofamilies are converted to lists of regions A new vertex, n, is placed into each of the existing regions Shortest paths from n to each of the n-1 original vertices are independently determined and saved as path lists Graphs are subsequently constructed from desired path lists; minimal, locally minimal, etc.

18 K 6 and Star K 1,6 with Center 7 7 K 1,6

19 Star Analysis K 1,6 Placement to Grow K 7

20 Star Analysis Data Structures Region List K n Graph Distance Tree Path List Edges-to-Add List Restricted Regions List Look-up Tables Region Edge

21 Region List Based on the Region List class developed by Yuan Updated to function in the Star Analysis environment Used to represent a K n graph Each sublist defines one region Extensive housekeeping tools Adding and deleting regions Adding and deleting vertices within regions Examining regions for specific vertices Adding edges to a graph and updating the surrounding regions Searching for regions based on various parameters

22 R1 : 1 2 7 R2 : 1 7 4 R3 : 7 2 5 R4 : 4 7 5 R5 : 1 4 3 R6 : 4 5 3 R7 : 5 2 3 R8 : 3 2 1 1 5 2 4 3 7 6 R1 R2 R3 R4 R5 R6 R7 R8 Region List K 5 Graph and its Region List

23 Distance Tree Constructed of TreeNode class objects Vertex pair representing an edge Region End vertex number Parent pointer Array-of-pointers pointer Root represents newly placed vertex Created breadth-first; each level is complete Each level further down in the tree represents a crossing

24 Edge = {3.2} Region = 8 Vertex num = 1 Parent ptr List of pointers ptr Ø 2 Edge = {5,2} Region = 3 Vertex num = 0 Parent ptr List of pointers ptr Ø Edge = {3,5} Region = 6 Vertex num = 4 Parent ptr List of pointers ptr Ø Edge = {0,0} Region = 7 Vertex num = 0 Parent ptr Ø List of pointers ptr 54 3 7 6 R1 R2 R3 R4 R5 R6 R7 R8 Root Level 1 Level 0 1 Distance Tree Snapshot, K 6

25 2 54 3 7 6 R1 R2 R3 R4 R5 R6 R7 R8 1 Edge = {3,5} Region = 6 Vertex = 4 Path List Edge = {0,0} Region = 7 Vertex = 5 Edge = {0,0} Region = 7 Vertex = 2 Edge = {0,0} Region = 7 Vertex = 3 Edge = {0,0} Region = 7 Vertex = 0 Edge = {0,0} Region = 7 Vertex = 0 Edge = {3,2} Region = 8 Vertex = 1 Path List for K 6

26 Drawing Graphs: Two Valid Combinations 12 3 45 6 n R1 R2 R3 R4 R5 R6 8 9 P2 P4 12 3 45 6 n R1 R2 R3 R4 R5 R6 8 9 P3 P1

27 12 3 45 6 7R1 R2 R3 R4 R5 R6 8 9 conflict Potential Graph Drawing Problem Two edges make an illegal crossing midregion

28 6 Look-up Tables 12 3 45 7 R1 R7 R3 R4 R5 R6 8 9 Edge Legal Alternatives {1,8}{1,10}, {10,8} {8,6}{8,11}, {11,6} {9,3}{9,12}, {12,3} Region Legal Alternatives R2 R7 R4 R8 R6 R9 (after first new path laid down) 10 11 12 R2 R8 R9 Conflict Resolution Conflict is prevented by look-up tables

29 R1R6 R5 R14R4 R7 R3 R11 R12R2 R8R13 R9 42 3 8 109 15 6 7 R10 Edges to Add {7,1} {7,2} {7,3} {7,4} {7,5} {7,6} Restricted Regions Root Edge = {0,0} Region = 9 Vertex num = 0 Parent ptr Ø List of pointers ptr Level 0 Ø Growing K 7 From K 6

30 Path List Edge = {0,0} Region = 9 Vertex = 6 Edge = {0,0} Region = 9 Vertex = 3 Path List After Level 0

31 Edge = {6,9} Region = 11 Vertex num = 5 Parent ptr List of pointers ptr Ø Edges to Add {7,1} {7,2} {7,4} {7,5} Restricted Regions R9 Edge = {6,3} Region = 13 Vertex num = 0 Parent ptr List of pointers ptr Ø Edge = {9,3} Region = 12 Vertex num = 2 Parent ptr List of pointers ptr Ø Edge = {0,0} Region = 9 Vertex num = 0 Parent ptr Ø List of pointers ptr Root Level 1 Level 0 R1R6 R5 R14R4 R7 R3 R11 R12R2 R8R13 R9 42 3 8 109 15 6 7 R10 Growing K 7 From K 6, cont.

32 Path List Edge = {0,0} Region = 9 Vertex = 3 Edge = {0,0} Region = 9 Vertex = 0 Edge = {9,3} Region = 12 Vertex = 2 Edge = {0,0} Region = 9 Vertex = 6 Edge = {0,0} Region = 9 Vertex = 0 Edge = {6,9} Region = 11 Vertex = 5 Path List After Level 1

33 Edge = {6,9} Region = 11 Vertex num = 5 Parent ptr List of pointers ptr Edge = {5,6} Region = 10 Vertex num = 1 Parent ptr List of pointers ptr Ø Growing K7, cont.

34 Edge = {0,0} Region = 9 Vertex = 6 Edge = {6,3} Region = 13 Vertex = 0 Path List Edge = {0,0} Region = 9 Vertex = 0 Edge = {6,10} Region = 8 Vertex = 1 Edge = {6,9} Region = 11 Vertex = 0 Edge = {5,6} Region = 10 Vertex = 1 Edge = {3,10} Region = 2 Vertex = 4 Edge = {3,2} Region = 3 Vertex = 4 Edge = {0,0} Region = 9 Vertex = 0 Edge = {9,3} Region = 12 Vertex = 2 Edge = {0,0} Region = 9 Vertex = 0 Edge = {0,0} Region = 9 Vertex = 0 Edge = {0,0} Region = 9 Vertex = 0 Edge = {0,0} Region = 9 Vertex = 0 Edge = {0,0} Region = 9 Vertex = 3 Edge = {9,3} Region = 12 Vertex = 0 Edge = {6,9} Region = 11 Vertex = 5 Edge = {6,3} Region = 13 Vertex = 0 Path List After Level 2

35 Results – K n Complete Graphs n567891011 Total Graphs Region Rest. 12476204,59056,618* Star 12476204,59056,658~ 7.1B Isofamilies Region Rest. 11531,4535,679* Star 11531,4535,679* Number of Regions Region Rest. 81425406597* Star 81425406597140 Crossing Number Region Rest. 139183660* Star 139183660100

36 Comparative Results from Minimal K n-1 to Minimal K n KnKn K8K8 K9K9 K 10 K 11 Region restriction* 156 min>> 1wk-- Radical restriction* 5 min8 min1 wk-- Star analysis** < 1 sec27 sec110 min63 hr Approximate Timing Comparisons * 16 processors ** 1 processor

37 One Interesting Observation One interesting and not previously reported finding: when growing from n-even to n-odd, minimal graphs could be found with vertex placement in every region of every isomorphic family. This was never the case growing from n- odd to n-even. n5678910 Isomorphic families11531,4535,679 Regions81425406397 Regions growing minimal K n+1 <814<2540<6397

38 Complete Bipartite Graph Results Tested on the K 3,n family of bipartite graphs, 3 ≤ n ≤ 10 All crossing numbers confirm those previously reported All crossing numbers confirm Zarankiewicz’ conjecture All regions of n-odd produce minimal graphs, but not n-even n345678910 12469121620 ynynynyn Crossing Number All regions grow min graphs when vertex placed

39 Future Work Creating minimal graphs n > 11 remains a formidable challenge Further optimizations will be required Use clusters and distribute the work Scrutinize graph substructure to eliminate some graph/region placements from participating in evolution to next generation Investigate the possibility of nonminimal K n-1 graphs generating minimal K n

40 Thank You


Download ppt "Efficient Generation of Minimal Graphs Using Independent Path Analysis Linda S. Humphrey 20 November 2006 Department of Computer Science and Engineering."

Similar presentations


Ads by Google