edge-selection heuristics for computing tutte polynomials david j. pearce victoria university of...

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

Upload: stephen-barber

Post on 17-Dec-2015

224 views

Category:

Documents


0 download

TRANSCRIPT

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

Edge-Selection Heuristics for Computing Tutte Polynomials

David J. PearceVictoria University of Wellington

Gary HaggardBucknell, USA

Gordon RoyleUniversity of Western Australia

Page 2: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Tutte Polynomial – what is it?

• It’s a 2-variable polynomial on graphs:

– T(x,y) = y + y2 + x + 2xy + 2x2 + x^3

• What can we do with it?– T(1,1) gives the number of spanning trees– T(2,2) gives 2|e|

– T(1-x,0) gives the Chromatic polynomial P(x)– T(0,1-x) gives the Flow polynomial F(x)

– T(…,…) gives … who knows?

Page 3: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

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 can’t be unravelled

– Problem: how do we know when two knots are same?

-- N.R. Cozzarelli and A. Stasiak

Page 4: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Computing Tutte Polynomials

• Delete/Contract Operations:

• Tutte Definition:

T(G) = 1, if G = T(G) = xT(G-e), if e is a bridgeT(G) = yT(G-e), if e is a loopT(G) = T(G-e) + T(G/e), otherwise

G = G–e = G/e =

Page 5: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

An Example 1. T(G) = 1, if G = 2. T(G) = xT(G-e), if e is a

bridge3. T(G) = yT(G-e), if e is a loop4. T(G) = T(G-e) + T(G/e),

otherwise

Page 6: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

An Example 1. T(G) = 1, if G = 2. T(G) = xT(G-e), if e is a

bridge3. T(G) = yT(G-e), if e is a loop4. T(G) = T(G-e) + T(G/e),

otherwise

x

2

Page 7: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

An Example 1. T(G) = 1, if G = 2. T(G) = xT(G-e), if e is a

bridge3. T(G) = yT(G-e), if e is a loop4. T(G) = T(G-e) + T(G/e),

otherwise

x

x

2

4

Page 8: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

An Example 1. T(G) = 1, if G = 2. T(G) = xT(G-e), if e is a

bridge3. T(G) = yT(G-e), if e is a loop4. T(G) = T(G-e) + T(G/e),

otherwise

x

x

x

x

2

24

4

Page 9: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

An Example 1. T(G) = 1, if G = 2. T(G) = xT(G-e), if e is a

bridge3. T(G) = yT(G-e), if e is a loop4. T(G) = T(G-e) + T(G/e),

otherwise

x

x

x

x

x x y x2

2

2

22 3

4

4

Page 10: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Larger (but still tiny) examples

Page 11: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Efficient Computation

How can we make this computation fast?

Page 12: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Caching Previously Seen Graphs

• Caching previously seen graphs:

Page 13: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Biconnectivity

• Biconnected Components:– If G not biconnected– Then, there is a bridge– So, maintain biconnected

components of G!!

• Triconnected Components– …

BC1

BC2

Page 14: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

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)

12

34

5

Page 15: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

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)

12

34

5

Page 16: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

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)

12

34

5

Page 17: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Experimental Results

Page 18: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Experimental Results

Page 19: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

Random Graph (12 vertices, 20 edges)

VOrder (272 Graphs, 72/170 hits)

Minsdeg (188 graphs, 47/91 hits)

Page 20: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

Random Graph (9 vertices, 16 edges)

VOrder (138 Graphs, 24/86 hits)

Minsdeg (150 graphs, 14/50 hits)

Page 21: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

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?

Page 22: Edge-Selection Heuristics for Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University

COMP205 Software Design and Engineering

Edge Contract/Addition

• Contract/Addition– T(G) = T(G/e) + T(G-e) T(G-e) = T(G) – T(G/e) T(G) = T(G+e) – 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 …