EdgeSelection Heuristics for Computing Tutte Polynomials - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

EdgeSelection Heuristics for Computing Tutte Polynomials

Description:

Victoria University of Wellington. Gary Haggard. Bucknell, USA. Gordon Royle. University of Western Australia. COMP205 Software Design and Engineering ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 23
Provided by: james267
Category:

less

Transcript and Presenter's Notes

Title: EdgeSelection Heuristics for Computing Tutte Polynomials


1
Edge-Selection Heuristics for Computing Tutte
Polynomials
  • David J. Pearce
  • Victoria University of Wellington
  • Gary Haggard
  • Bucknell, USA
  • Gordon Royle
  • University of Western Australia

2
Tutte Polynomial what is it?
  • Its a 2-variable polynomial on graphs
  • T(x,y) y y2 x 2xy 2x2 x3
  • What can we do with it?
  • T(1,1) gives the number of spanning trees
  • T(2,2) gives 2e
  • T(1-x,0) gives the Chromatic polynomial P(x)
  • T(0,1-x) gives the Flow polynomial F(x)
  • T(,) gives who knows?

3
Great, but why do we care?
  • Many applications of Tutte polynomial
  • Physics (q-state Potts model), Biology and
    probably lots more
  • Knots
  • Tangled cords which cant be unravelled
  • Problem how do we know when two knots are same?

4
Computing Tutte Polynomials
  • Delete/Contract Operations
  • Tutte Definition
  • T(G) 1, if G ?
  • T(G) xT(G-e), if e is a bridge
  • T(G) yT(G-e), if e is a loop
  • T(G) T(G-e) T(G/e), otherwise

G
Ge
G/e
5
An Example
  • T(G) 1, if G ?
  • T(G) xT(G-e), if e is a bridge
  • T(G) yT(G-e), if e is a loop
  • T(G) T(G-e) T(G/e), otherwise

6
An Example
  • T(G) 1, if G ?
  • T(G) xT(G-e), if e is a bridge
  • T(G) yT(G-e), if e is a loop
  • T(G) T(G-e) T(G/e), otherwise

x
7
An Example
  • T(G) 1, if G ?
  • T(G) xT(G-e), if e is a bridge
  • T(G) yT(G-e), if e is a loop
  • T(G) T(G-e) T(G/e), otherwise

x
x
8
An Example
  • T(G) 1, if G ?
  • T(G) xT(G-e), if e is a bridge
  • T(G) yT(G-e), if e is a loop
  • T(G) T(G-e) T(G/e), otherwise

x
x
x
x
9
An Example
  • T(G) 1, if G ?
  • T(G) xT(G-e), if e is a bridge
  • T(G) yT(G-e), if e is a loop
  • T(G) T(G-e) T(G/e), otherwise

x
x
x
x
x
x
y
x2
10
Larger (but still tiny) examples
11
Efficient Computation
  • How can we make this computation fast?

12
Caching Previously Seen Graphs
  • Caching previously seen graphs

13
Biconnectivity
  • Biconnected Components
  • If G not biconnected
  • Then, there is a bridge
  • So, maintain biconnected components of G!!
  • Triconnected Components

BC2
BC1
14
Edge-Selection Heuristics
  • Vertex Order (VORDER)
  • A fixed order of vertices is used
  • Edges from 1st node first, then 2nd, then 3rd,
    etc
  • Minimise Single Degree (MINSDEG)
  • Edge selected whose end-point has smallest degree
  • Minimise Degree (MINDEG)
  • Edge selection whose degree sum is smallest of
    any
  • Maximise Single Degree (MAXSDEG)
  • Maximse Degree (MAXDEG)

15
Edge-Selection Heuristics
1
2
  • Vertex Order (VORDER)
  • A fixed order of vertices is used
  • Edges from 1st node first, then 2nd, then 3rd,
    etc
  • Minimise Single Degree (MINSDEG)
  • Edge selected whose end-point has smallest degree
  • Minimise Degree (MINDEG)
  • Edge selection whose degree sum is smallest of
    any
  • Maximise Single Degree (MAXSDEG)
  • Maximse Degree (MAXDEG)

5
3
4
16
Edge-Selection Heuristics
1
2
  • Vertex Order (VORDER)
  • A fixed order of vertices is used
  • Edges from 1st node first, then 2nd, then 3rd,
    etc
  • Minimise Single Degree (MINSDEG)
  • Edge selected whose end-point has smallest degree
  • Minimise Degree (MINDEG)
  • Edge selection whose degree sum is smallest of
    any
  • Maximise Single Degree (MAXSDEG)
  • Maximse Degree (MAXDEG)

5
3
4
17
Experimental Results
18
Experimental Results
19
Random Graph (12 vertices, 20 edges)
Minsdeg (188 graphs, 47/91 hits)
VOrder (272 Graphs, 72/170 hits)
20
Random Graph (9 vertices, 16 edges)
Minsdeg (150 graphs, 14/50 hits)
VOrder (138 Graphs, 24/86 hits)
21
Future Work
  • Decremental Graph Algorithms
  • Decremental Graph Isomorphism ?
  • Decremental Biconnected Components
  • Edge Selection Heuristics
  • Can we understand why Vorder and Minsdeg do well?
  • Can we find better heuristics?
  • Edge Addition/Contract
  • Can we implement this for Tutte?
  • Can we move towards other graph classes --- e.g.
    chordal graphs?

22
Edge Contract/Addition
  • Contract/Addition
  • T(G) T(G/e) T(G-e)
  • ? T(G-e) T(G) T(G/e)
  • ? T(G) T(Ge) T(G/e)
  • Idea
  • For dense graphs move towards complete graph
  • For sparse graphs, move towards empty graph (as
    before)
  • Problem
  • Computing Tutte polynomial for complete
    multi-graph is difficult ?
  • BUT, for chromatic polynomial computation we have
    not multigraphs
Write a Comment
User Comments (0)
About PowerShow.com