problem solving with networks

Post on 04-Jan-2016

30 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

Problem Solving with Networks. 21/09/2011 Jamie Sneddon j.sneddon@auckland.ac.nz. Networks, graphs. A graph is collection of points with lines between them A network is a graph with positive numbers assigned to its edges as weights. Distances in miles between some US cities. - PowerPoint PPT Presentation

TRANSCRIPT

Problem Solving with Networks

21/09/2011Jamie Sneddon

j.sneddon@auckland.ac.nz

Networks, graphs

A graph is collection of points with lines between them

A network is a graph with positive numbers assigned to its edges as weights

point linevertex (vertices) edge

node arc

Distances in miles between some US cities

Detroit MI

Columbus OH

Washington DC

PittsburghPA

Philadelphia PA

New YorkNY

Rochester NYBuffalo NY

Cleveland OH

ToledoOH

Scranton PA

Harrisburg PA

Distances in miles between some US cities

Detroit MI

Columbus OH

Washington DC

PittsburghPA

Philadelphia PA

New YorkNY

Rochester NYBuffalo NY

Cleveland OH

ToledoOH

Scranton PA

Harrisburg PA

Distances in miles between NE state US cities

Detroit MI

Columbus OH

Washington DC

PittsburghPA

Philadelphia PA

New YorkNY

Rochester NYBuffalo NY

Cleveland OH

ToledoOH

Scranton PA

Harrisburg PA

Distances in miles between NE state US cities

61

144

117

25573

190

134142

185

246141

204

112

217

121

95125

121

Distances in miles between NE state US cities

107

Detroit MI

Columbus OH

Washington DC

PittsburghPA

Philadelphia PA

New YorkNY

Rochester NYBuffalo NY

Cleveland OH

ToledoOH

Scranton PA

61

144

117

25573

190

134142

185

246141

Harrisburg PA204

112

217

121

95125

121

Distances in miles between NE state US cities

107

61

144

117

25573

190

134142

185

246141

204

112

217

121

95125

121

Distances in miles between NE state US cities

107

T

DB R

H

S

N

Ph

W

Pi

Cl

Co

61

144

117

25573

190

134142

185

246141

204

112

217

121

95125

121

Spanning Tree with edge deletion

107

T

DB R

H

S

N

Ph

W

Pi

Cl

Co

61

144

117

25573

190

134142

185

246141

204

112

217

121

95125

121

Spanning Tree with edge inclusion (1)

107

T

DB R

H

S

N

Ph

W

Pi

Cl

Co

61

144

117

25573

190

134142

185

246141

204

112

217

121

95125

121

Spanning Tree with edge inclusion (2)

107

T

DB R

H

S

N

Ph

W

Pi

Cl

Co

Total weight = 1356 miles

Problems in networks

(0) Are all the nodes connected? (1) What is the lowest weight

(smallest) tree which connects all the nodes?

(2) What is the shortest distance from A to B?

(3) Can every edge be used exactly once?

(4) Can every node be visited exactly once?

(5) What is the shortest way to visit every node exactly once?

(0) Connectedness

It’s usually easy to tell if a real-world network is connected or not. Starting at an arbitrary node, if we list that node’s neighbours, then their neighbours, then theirs, we might eventually visit all the nodes.

[ACTIVITY] If we don’t, it’s not c0nnected.

(1) Spanning Tree

A minimum weight spanning tree is a sub-graph without cycles which connects all the nodes.

A tree with n nodes has n-1 edges.

Sometimes it’s easier to add edges, sometimes remove them.

(2) Shortest Path

Starting at a particular node A, what is the shortest path to another vertex B (or to all other vertices).

[ACTIVITY 2]

(3) Traversability

Is it possible to start at a node A and follow a route through the network which uses every edge exactly once?

If so, does the path return to A, or end elsewhere?

Easily characterised with node parity (even/odd)

(4) Visiting nodes

Is it possible to start at a node A and follow a route through the network visits every NODE exactly once?

If so, does the path return to A, or end elsewhere?

Called Hamiltonian: no characterisation, and hard to find

(5) Travelling Salesman

What is the shortest Hamiltonian cycle/path?

This is harder still!TSP (Travelling Salesman Problem) is the definitive “hard” problem of computational mathematics

Real World / Mathematical World

Networks don’t always model the real world perfectly – what could go wrong?

One way edges Different weight directions on edges Variable data (time of day, day of

week) Roads branching outside towns

Questions beyond the procedural

Why did you use this algorithm? Compare two algorithms

edge inclusion vs edge deletion How could the network be changed

to give (or remove) a property What does this mean in relation to

the given problem

How does

adding / deletingnodes / edgeschange the

shortest paths / spanning trees?

Where to add connections?

Where in the network should edges be added/removed so that it is traversable?

Optional nodes

What if we want to allow the possibility of a node outside a town?

Construct two spanning trees: with/without

4

5

5

32.5

2.5

2

1

5

3

For more: Wikipedia!

Prim’s Algorithm (connected sub-tree)

Kruskal’s Algorithm (partial trees) Reverse-Delete Algorithm (remove

edges) Dijkstra’s Algorithm Euler Path – Fleury’s Algorithm

Jamie Sneddon j.sneddon@auckland.ac.nz

top related