Top Banner
Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia
28

Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Jan 03, 2016

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Computing Tutte Polynomials

David J. PearceVictoria University of Wellington

Gary HaggardBucknell, USA

Gordon RoyleUniversity of Western Australia

Page 2: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Larger (but still tiny) examples

Page 11: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Efficient Computation

How can we make this computation fast?

Page 12: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Caching Previously Seen Graphs

• Caching previously seen graphs:

Page 13: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Caching via Graph Isomorphism

• Are these two the same graph?

• Graph Isomorphism– Best known algorithm takes exponential

time– Nauty – implementation by Brendon McKay– What is complexity of graph isomorphism ?

3 4

5

21 4

51

32

Page 14: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Experimental Data (V=16, random)

Page 15: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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 18: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Experimental Results

Page 19: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Random Graph (12 vertices, 20 edges)

VOrder (272 Graphs, 72/170 hits)

Minsdeg (188 graphs, 47/91 hits)

Page 20: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Random Graph (9 vertices, 16 edges)

VOrder (138 Graphs, 24/86 hits)

Minsdeg (150 graphs, 14/50 hits)

Page 21: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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 …

Page 23: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

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 24: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Minsdeg

Page 25: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Vorder

Page 26: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Minsdeg

Page 27: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.

Vorder

Page 28: Computing Tutte Polynomials David J. Pearce Victoria University of Wellington Gary Haggard Bucknell, USA Gordon Royle University of Western Australia.