efficient generation of minimal graphs using independent path analysis linda s. humphrey 20 november...

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

Post on 19-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

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

Efficient Generation of Minimal Graphs

Using Independent Path Analysis

Linda S. Humphrey

20 November 2006

Department of Computer Science and Engineering

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

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

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

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 Kn From Kn-1

Conclusions and Future Directions

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

Turán’s Brick Factory Problem

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

Turán’s Brick Factory Problem

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

1 2

54

3

6 7

Complete Bipartite Graph K3,4

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

3

1

2

54 6 7

Minimal Complete Bipartite Graph

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

Zarankewicz’ Conjecture

The crossing number of the complete bipartite graph Km,n satisfies the equality:

ν(Km,n) = | ½ m | | ½ (m-1) | | ½ n | | ½ (n-1) |

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

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 (Kn) 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

)(G

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

21

3 4

5

Complete K5 Graph One Crossing and Eight Regions

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

Guy’s Conjecture Crossing number of Kn

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]

42

32

22

12

)(

nnnn

Kn

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

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

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

3

4

21

3

1

42

4 2

13

(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.

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

Isomorphic Families

n 5 6 7 8 9 10

Minimal graphs generated

12 4 76 20 4,590 56,618

Isomorphic families 1 1 5 3 1,453 5,679

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

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

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

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

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

Star Analysis - Overview

Representative graphs from Kn-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.

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

K6 and Star K1,6 with Center 7

7

K1,6

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

Star AnalysisK1,6 Placement to Grow K7

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

Star Analysis Data Structures

Region List Kn Graph

Distance Tree Path List Edges-to-Add List Restricted Regions List Look-up Tables

Region Edge

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

Region List

Based on the Region List class developed by Yuan Updated to function in the Star Analysis environment Used to represent a Kn 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

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

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

R4R5

R6

R7

R8

Region List

K5 Graph and its Region List

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

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

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

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

R4R5

R6

R7

R8

Root

Level 1

Level 0

1

Distance Tree Snapshot, K6

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

2

54

3

7

6

R1 R2 R3

R4R5

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 K6

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

Drawing Graphs:Two Valid Combinations

1 2

3

45

6

n R1

R2

R3

R4

R5 R6

8

9

P2

P4

1 2

3

45

6

n R1

R2

R3

R4

R5 R6

8

9

P3 P1

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

1 2

3

45

6

7 R1

R2R3

R4

R5R6

8

9

conflict

Potential Graph Drawing Problem

Two edges make an illegal crossing midregion

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

6

Look-up Tables

1 2

3

45

7 R1

R7R3

R4

R5R6

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

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

R1 R6R5

R14 R4R7

R3

R11

R12R2

R8 R13R9

4 2

3

8

10 9

1 5

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 K7 From K6

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

Path List

Edge = {0,0}

Region = 9

Vertex = 6

Edge = {0,0}

Region = 9

Vertex = 3

Path List After Level 0

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

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

R9Edge = {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

R1 R6R5

R14 R4R7

R3

R11

R12R2

R8 R13R9

4 2

3

8

10 9

1 5

6

7

R10

Growing K7 From K6, cont.

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

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

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

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 Ø

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

R1 R6R5

R14 R4R7

R3

R11

R12R2

R8 R13R9

4 2

3

8

10 9

1 5

6

7

R10

Edges to Add

{7,1}

{7,4}

Restricted Regions

R9

R11

R12

R13

Edge = {3,2}

Region = 3

Vertex num = 4

Parent ptr

List of pointers ptr Ø

Edge = {6,10}

Region = 8

Vertex num = 1

Parent ptr

List of pointers ptr Ø

Edge = {10,3}

Region = 2

Vertex num = 4

Parent ptr

List of pointers ptr Ø

Level 2

Growing K7, cont.

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

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

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

Results – Kn Complete Graphs n 5 6 7 8 9 10 11

Total Graphs

Region Rest. 12 4 76 20 4,590 56,618 * Star 12 4 76 20 4,590 56,658 ~ 7.1B

Isofamilies

Region Rest.

1 1 5 3 1,453 5,679 *

Star 1 1 5 3 1,453 5,679 *Number of Regions

Region Rest.

8 14 25 40 65 97 *

Star 8 14 25 40 65 97 140Crossing Number

Region Rest. 1 3 9 18 36 60 *

Star 1 3 9 18 36 60 100

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

Comparative Results from Minimal Kn-1 to Minimal Kn

Kn K8 K9 K10 K11

Region restriction*

156 min >> 1wk -- --

Radical restriction*

5 min 8 min 1 wk --

Star analysis**

< 1 sec 27 sec 110 min 63 hr

Approximate Timing Comparisons

* 16 processors ** 1 processor

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

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.

n 5 6 7 8 9 10

Isomorphic families 1 1 5 3 1,453 5,679

Regions 8 14 25 40 63 97

Regions growing minimal Kn+1

<8 14 <25 40 <63 97

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

Complete Bipartite Graph Results

Tested on the K3,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

n 3 4 5 6 7 8 9 10

1 2 4 6 9 12 16 20

y n y n y n y n

Crossing Number

All regions grow

min graphs when

vertex placed

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

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 Kn-1 graphs generating minimal Kn

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

Thank You