SLIDE 1
An Intelligent Example-Generator for Graph Theory Michaela Heyer - - PowerPoint PPT Presentation
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 2
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
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
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
The Solution
Create an easy-to-use tool which:
SLIDE 7
The Solution
Create an easy-to-use tool which:
- takes in a combination of graph properties
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
The Approach
Two main parts:
SLIDE 10
The Approach
Two main parts:
- generate all graphs up to a given size
SLIDE 11
The Approach
Two main parts:
- generate all graphs up to a given size
- select those with the required properties
SLIDE 12
Generating the Graphs
The Challenge: There are lots of graphs!
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
Generating the Graphs
The Challenge: There are lots of graphs! But luckily...
SLIDE 15
Generating the Graphs
The Challenge: There are lots of graphs! But luckily...
- graphs can be generated very quickly
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
Selecting the Graphs
Should be fast!
SLIDE 18
Selecting the Graphs
Should be fast! Suppose that we are looking for a graph with properties P1, P2, . . . , Pr
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
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
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
Selecting the Graphs cont’d
Observation: many graphs will fail rather than pass
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
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
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
An “Intelligent” Parallel Solution
From the required properties P1, P2, . . . , Pr infer additional derived properties Pr+1, . . . , Ps
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
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
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
The Expert System
Apply theorems to the initial properties P1, . . . , Pr to infer additional properties Pr+1, . . . , Ps
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
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
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
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
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
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
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
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
Example of Intelligent Solution
Query: We are looking for a graph that is critical and Hamiltonian
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
Infer additional properties...
Some of the Derived Properties in Wish list:
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
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
Check Graphs...
SLIDE 45
Check Graphs...
P1 P13 P14 P21
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
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
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
Check Graphs...
SLIDE 50
Check Graphs...
P1 P13 P14 P21
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
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
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
Check Graphs...
SLIDE 55
Check Graphs...
P1 P13 P14 P21
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
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
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
Check Graphs...
SLIDE 60
Check Graphs...
P1 P13 P14 P21
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
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
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
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
The Current System
Expert system written in Haskell
SLIDE 66
The Current System
Expert system written in Haskell Cluster code written in C++ using MPI
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
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
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
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
Possible Extensions
Screen for inconsistent sets of required properties
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
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