An Intelligent Example-Generator for Graph Theory Michaela Heyer - - PowerPoint PPT Presentation

an intelligent example generator for graph theory
SMART_READER_LITE
LIVE PREVIEW

An Intelligent Example-Generator for Graph Theory Michaela Heyer - - PowerPoint PPT Presentation

An Intelligent Example-Generator for Graph Theory Michaela Heyer Boole Centre for Research in Informatics University College Cork Ireland The Problems Graph Theory relies heavily on the use of examples to help prove or disprove new


slide-1
SLIDE 1

An Intelligent Example-Generator for Graph Theory

Michaela Heyer Boole Centre for Research in Informatics University College Cork Ireland

slide-2
SLIDE 2

The Problems

Graph Theory relies heavily on the use of examples to help prove or disprove new conjectures

slide-3
SLIDE 3

The Problems

Graph Theory relies heavily on the use of examples to help prove or disprove new conjectures

  • but graphs can be quite large, so examples are

hard to find

slide-4
SLIDE 4

The Problems

Graph Theory relies heavily on the use of examples to help prove or disprove new conjectures

  • but graphs can be quite large, so examples are

hard to find Many areas outside Mathematics use graphs

slide-5
SLIDE 5

The Problems

Graph Theory relies heavily on the use of examples to help prove or disprove new conjectures

  • but graphs can be quite large, so examples are

hard to find Many areas outside Mathematics use graphs

  • but people in those areas might not have sufficient

mathematical knowledge to perform proofs of ex- istence

slide-6
SLIDE 6

The Solution

Create an easy-to-use tool which:

slide-7
SLIDE 7

The Solution

Create an easy-to-use tool which:

  • takes in a combination of graph properties
slide-8
SLIDE 8

The Solution

Create an easy-to-use tool which:

  • takes in a combination of graph properties
  • returns one or more examples of the desired graph
  • r outputs that the desired graph has not been

found

slide-9
SLIDE 9

The Approach

Two main parts:

slide-10
SLIDE 10

The Approach

Two main parts:

  • generate all graphs up to a given size
slide-11
SLIDE 11

The Approach

Two main parts:

  • generate all graphs up to a given size
  • select those with the required properties
slide-12
SLIDE 12

Generating the Graphs

The Challenge: There are lots of graphs!

slide-13
SLIDE 13

Generating the Graphs

The Challenge: There are lots of graphs! n n-node graphs 5 34 6 156 7 1,044 8 12,346 9 274,668 10 12,005,168 11 1,018,997,864 12 165,091,172,592

slide-14
SLIDE 14

Generating the Graphs

The Challenge: There are lots of graphs! But luckily...

slide-15
SLIDE 15

Generating the Graphs

The Challenge: There are lots of graphs! But luckily...

  • graphs can be generated very quickly
slide-16
SLIDE 16

Generating the Graphs

The Challenge: There are lots of graphs! But luckily...

  • graphs can be generated very quickly
  • a program for this already exists

(’nauty’ by Brendan McKay)

slide-17
SLIDE 17

Selecting the Graphs

Should be fast!

slide-18
SLIDE 18

Selecting the Graphs

Should be fast! Suppose that we are looking for a graph with properties P1, P2, . . . , Pr

slide-19
SLIDE 19

Selecting the Graphs

Should be fast! Suppose that we are looking for a graph with properties P1, P2, . . . , Pr Idea: Check P1, P2, . . . , Pr simultaneously using parallel processors

slide-20
SLIDE 20

Selecting the Graphs

Should be fast! Suppose that we are looking for a graph with properties P1, P2, . . . , Pr Idea: Check P1, P2, . . . , Pr simultaneously using parallel processors For each given graph, let ti denote the time to test for property Pi

slide-21
SLIDE 21

Selecting the Graphs

Should be fast! Suppose that we are looking for a graph with properties P1, P2, . . . , Pr Idea: Check P1, P2, . . . , Pr simultaneously using parallel processors For each given graph, let ti denote the time to test for property Pi TIME:

  • successful

test : max { ti | 1 ≤ i ≤ r }

  • unsuccessful test : min { ti | 1 ≤ i ≤ r & Pi FAILS }
slide-22
SLIDE 22

Selecting the Graphs cont’d

Observation: many graphs will fail rather than pass

slide-23
SLIDE 23

Selecting the Graphs cont’d

Observation: many graphs will fail rather than pass ⇒ the quicker we fail, the quicker we can move on

slide-24
SLIDE 24

Selecting the Graphs cont’d

Observation: many graphs will fail rather than pass ⇒ the quicker we fail, the quicker we can move on ⇒ the more properties we have, the higher the chance of a quick fail

slide-25
SLIDE 25

Selecting the Graphs cont’d

Observation: many graphs will fail rather than pass ⇒ the quicker we fail, the quicker we can move on ⇒ the more properties we have, the higher the chance of a quick fail Idea: Use an expert system to infer additional properties from the initial list

slide-26
SLIDE 26

An “Intelligent” Parallel Solution

From the required properties P1, P2, . . . , Pr infer additional derived properties Pr+1, . . . , Ps

slide-27
SLIDE 27

An “Intelligent” Parallel Solution

From the required properties P1, P2, . . . , Pr infer additional derived properties Pr+1, . . . , Ps Assume that s processors are available

slide-28
SLIDE 28

An “Intelligent” Parallel Solution

From the required properties P1, P2, . . . , Pr infer additional derived properties Pr+1, . . . , Ps Assume that s processors are available For each newly-generated graph, test properties P1, P2, . . . , Pr, Pr+1, . . . , Ps in parallel

slide-29
SLIDE 29

An “Intelligent” Parallel Solution

From the required properties P1, P2, . . . , Pr infer additional derived properties Pr+1, . . . , Ps Assume that s processors are available For each newly-generated graph, test properties P1, P2, . . . , Pr, Pr+1, . . . , Ps in parallel TIME:

  • successful

test : max { tj | Pj is the fastest test for Pi & 1 ≤ i ≤ r }

  • unsuccessful test : min { ti | 1 ≤ i ≤ s & Pi FAILS }
slide-30
SLIDE 30

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps

slide-31
SLIDE 31

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A

slide-32
SLIDE 32

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A A ⇒ B :

slide-33
SLIDE 33

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A A ⇒ B : Add ¬ B as a fail property

slide-34
SLIDE 34

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A A ⇒ B : Add ¬ B as a fail property B ⇒ A :

slide-35
SLIDE 35

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A A ⇒ B : Add ¬ B as a fail property B ⇒ A : Add B as a pass property for A

slide-36
SLIDE 36

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A A ⇒ B : Add ¬ B as a fail property B ⇒ A : Add B as a pass property for A A ⇔ B :

slide-37
SLIDE 37

The Expert System

Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps Suppose we are looking for a graph with property A A ⇒ B : Add ¬ B as a fail property B ⇒ A : Add B as a pass property for A A ⇔ B : Add B as a pass property for A and ¬ B as a fail property

slide-38
SLIDE 38

Overview of the System

List of Theorems Expert System Properties to Test Query: Required Properties Cluster: Run Property-Testing Algorithms in Parallel Output: Graph with the Required Props OR Fail Graph-Generating S/W Generated Graphs

slide-39
SLIDE 39

Example of Intelligent Solution

Query: We are looking for a graph that is critical and Hamiltonian

slide-40
SLIDE 40

Example of Intelligent Solution

Query: We are looking for a graph that is critical and Hamiltonian Required Properties: P1 : G is critical P2 : G is Hamiltonian

slide-41
SLIDE 41

Infer additional properties...

Some of the Derived Properties in Wish list:

slide-42
SLIDE 42

Infer additional properties...

Some of the Derived Properties in Wish list: P3 : α < connectivity P4 : G is a hyper cube P5 : δ ≥ v/2

slide-43
SLIDE 43

Infer additional properties...

Some of the Derived Properties in Wish list: P3 : α < connectivity P4 : G is a hyper cube P5 : δ ≥ v/2 Some of the Derived Properties in Disprove list: P6 : G is not a block P7 : G is not connected P8 : G is not biconnected P9 : G is bipartite & has bipartition(XY),|X| != |Y|

slide-44
SLIDE 44

Check Graphs...

slide-45
SLIDE 45

Check Graphs...

P1 P13 P14 P21

slide-46
SLIDE 46

Check Graphs...

P1 P13 P14 P21 is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-47
SLIDE 47

Check Graphs...

P1 P13 P14 P21 True is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-48
SLIDE 48

Check Graphs...

P1 P13 P14 P21 True Not critical Discard graph! is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-49
SLIDE 49

Check Graphs...

slide-50
SLIDE 50

Check Graphs...

P1 P13 P14 P21

slide-51
SLIDE 51

Check Graphs...

P1 P13 P14 P21 is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-52
SLIDE 52

Check Graphs...

P1 P13 P14 P21 True is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-53
SLIDE 53

Check Graphs...

P1 P13 P14 P21 True Not critical Discard graph! is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-54
SLIDE 54

Check Graphs...

slide-55
SLIDE 55

Check Graphs...

P1 P13 P14 P21

slide-56
SLIDE 56

Check Graphs...

P1 P13 P14 P21 is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-57
SLIDE 57

Check Graphs...

P1 P13 P14 P21 True is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-58
SLIDE 58

Check Graphs...

P1 P13 P14 P21 True Discard graph! is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected Not Hamiltonian

slide-59
SLIDE 59

Check Graphs...

slide-60
SLIDE 60

Check Graphs...

P1 P13 P14 P21

slide-61
SLIDE 61

Check Graphs...

P1 P13 P14 P21 is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-62
SLIDE 62

Check Graphs...

P1 P13 P14 P21 True...Wait... is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-63
SLIDE 63

Check Graphs...

P1 P13 P14 P21 True True...Wait... is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-64
SLIDE 64

Check Graphs...

Critical and Hamiltonian: Keep graph! P1 P13 P14 P21 True True...Wait... is critical alpha < connectivity is hyper cube is not a block is not connected is not biconnected

slide-65
SLIDE 65

The Current System

Expert system written in Haskell

slide-66
SLIDE 66

The Current System

Expert system written in Haskell Cluster code written in C++ using MPI

slide-67
SLIDE 67

The Current System

Expert system written in Haskell Cluster code written in C++ using MPI Runs on the BCRI Compute Cluster

slide-68
SLIDE 68

The Current System

Expert system written in Haskell Cluster code written in C++ using MPI Runs on the BCRI Compute Cluster Collection of approx. 200 theorems

slide-69
SLIDE 69

The Current System

Expert system written in Haskell Cluster code written in C++ using MPI Runs on the BCRI Compute Cluster Collection of approx. 200 theorems

  • Approx. 180 algorithms implemented in C++ using

LEDA

slide-70
SLIDE 70

The Current System

Expert system written in Haskell Cluster code written in C++ using MPI Runs on the BCRI Compute Cluster Collection of approx. 200 theorems

  • Approx. 180 algorithms implemented in C++ using

LEDA Some debugging still needs to be done...

slide-71
SLIDE 71

Possible Extensions

Screen for inconsistent sets of required properties

slide-72
SLIDE 72

Possible Extensions

Screen for inconsistent sets of required properties Allow for numeric comparisons: Looking for graph with e ≤ 4 Have theorem: A ⇒ e = 2 System should infer property A into wish list

slide-73
SLIDE 73

Possible Extensions

Screen for inconsistent sets of required properties Allow for numeric comparisons: Looking for graph with e ≤ 4 Have theorem: A ⇒ e = 2 System should infer property A into wish list Extend to deal with directed graphs

slide-74
SLIDE 74

Possible Extensions

Screen for inconsistent sets of required properties Allow for numeric comparisons: Looking for graph with e ≤ 4 Have theorem: A ⇒ e = 2 System should infer property A into wish list Extend to deal with directed graphs Extend to other areas of discrete mathematics