eecs 203: it’s the end of the class and i feel fine. graphs

48
EECS 203: It’s the end of the class and I feel fine. Graphs

Upload: paula-mccarthy

Post on 28-Dec-2015

226 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: EECS 203: It’s the end of the class and I feel fine. Graphs

EECS 203:It’s the end of the class and I feel fine.

Graphs

Page 2: EECS 203: It’s the end of the class and I feel fine. Graphs

Admin stuffsLast homework due today

I’ll stick around after class for questions

I’ll have different office hours next week.Monday 1-2:30 (my office or as on door)Tuesday 10:30-12:00 (my office or as on door)Wed. 10:30-12:00 (classroom)Thursday 10:30-12:00 (classroom)

Aaron’s hours will be announced shortly.Discussion is still on for Friday.We’ll be posting a set of topics to know for the final on Piazza.Extra credit stuff posted tomorrow and due Wed.

Page 3: EECS 203: It’s the end of the class and I feel fine. Graphs

Today

Dijkstra’s algorithmUsing slides from http://math.ucsd.edu/~fan/teach/202/

https://en.wikipedia.org/wiki/Fan_Chung

Page 4: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 5: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 6: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 7: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 8: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 9: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 10: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 11: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 12: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 13: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 14: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 15: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 16: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 17: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 18: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 19: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 20: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 21: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 22: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 23: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 24: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 25: EECS 203: It’s the end of the class and I feel fine. Graphs
Page 26: EECS 203: It’s the end of the class and I feel fine. Graphs

Dijkstra’s Algorithm animated

Page 27: EECS 203: It’s the end of the class and I feel fine. Graphs

Let’s try an induction proof on a graph

First we’ll define what it means for a graph to be connected.

Then we’ll show that in any connected graph there are at least two vertices you can remove from the graph (along with its incident edges) that leave the graph still connected.

We’ll use strong induction.First let’s (re)define some terms

Page 28: EECS 203: It’s the end of the class and I feel fine. Graphs

GraphsA graph G = (V,E) consists of

a non-empty set V of vertices (or nodes),and a set E of edges.Each edge is associated with two vertices (possibly

equal), which are its endpoints.

A path from u to v of length n is:a sequence of edges e1, e2, . . . en in E, such that

there is a sequence of vertices u=v0, v1, . . . vn=v

such that each ei has endpoints vi-1 and vi.

A path is a circuit when u=v.A graph is connected when there exists a path

from every vertex to every other vertex.

Page 29: EECS 203: It’s the end of the class and I feel fine. Graphs

From: http://www.sfu.ca/~mdevos/notes/graph/induction.pdfThere are a few nice observations about the proof there aswell as a few nice induction examples.

Page 30: EECS 203: It’s the end of the class and I feel fine. Graphs

GraphsA graph G = (V,E) consists of

a non-empty set V of vertices (or nodes),and a set E of edges.Each edge is associated with two vertices (possibly

equal), which are its endpoints.

A path from u to v of length n is:a sequence of edges e1, e2, . . . en in E, such that

there is a sequence of vertices u=v0, v1, . . . vn=v

such that each ei has endpoints vi-1 and vi.

A path is a circuit when u=v.A graph is connected when there exists a path

from every vertex to every other vertex.

Page 31: EECS 203: It’s the end of the class and I feel fine. Graphs

Paths and Circuits

Given a graph G = (V,E):

Is there a path/circuit that crosses each edge in E exactly once?

If so, G is an Eulerian graph,and you have an Eulerian path, or an Eulerian circuit.

Is there a path/circuit that visits each vertex in V exactly once?

If so, G is a Hamiltonian graph,and you have a Hamiltonian path or circuit.

Page 32: EECS 203: It’s the end of the class and I feel fine. Graphs

Leonhard Euler lived in KönigsbergHe liked to take walks. A famous local puzzle was whether you could take a walk that would cross each bridge exactly once.

Euler solved this problem (in 1736) and thus founded graph theory.

Page 33: EECS 203: It’s the end of the class and I feel fine. Graphs

The Graph Abstraction

In the physical world:Each bridge connects exactly two land-masses.Each land-mass may have any number of bridges.

Suggests a graph abstraction:Represent a bridge by an edge in the graph.Represent a land-mass by a vertex.

Page 34: EECS 203: It’s the end of the class and I feel fine. Graphs

Is there an Euler circuit/path?

CircuitPath

Not Traversable

C

A

E

C

B

A

E

C

B

A A A

BBBCCC

D DD

E EE

Page 35: EECS 203: It’s the end of the class and I feel fine. Graphs

Does G have an Euler Path/Circuit?Theorem: A connected multigraph has an Euler path iff it has exactly zero or two vertices of odd degree.

Why?

What if it has only one?

When does it have an Euler circuit?

Page 36: EECS 203: It’s the end of the class and I feel fine. Graphs

Examples

Do these graphs have Euler paths/circuits?

(A)Yes, it has a circuit.(B)Yes, it has a path (but no circuit).(C)No, it has neither path nor circuit.

Page 37: EECS 203: It’s the end of the class and I feel fine. Graphs

Does this have an Euler path?

O

P

NM

(A) Yes (B) No

Page 38: EECS 203: It’s the end of the class and I feel fine. Graphs

Applications of Euler Paths

Planning routes through graphs that provide efficient coverage of the edges in the graph, without multiple traversals.

Postal delivery routesSnowplowing routesTesting network connections

Utility transmission networkCommunication network

Page 39: EECS 203: It’s the end of the class and I feel fine. Graphs

Hamiltonian Paths and CircuitsGiven a graph, is there a path that passes through each vertex in the graph exactly once? (aka a Hamiltonian path)

dodecahedron Isomorphic graph solution

Page 40: EECS 203: It’s the end of the class and I feel fine. Graphs

Hamilton circuit

Do these graphs have Hamilton circuits?

G H

(A) Yes, both. (C ) G doesn’t, H does.

(B) G does, H doesn’t. (D) No, neither.

1 2

3 4

5

6

Page 41: EECS 203: It’s the end of the class and I feel fine. Graphs

Computational Complexity

Deciding whether a graph is Eulerian is a simple examination of the degrees of the vertices.

Simple linear-time algorithms exist for finding the path or circuit.

Deciding whether a graph is Hamiltonian is, in general, much more difficult (“NP complete”).

Finding a Hamiltonian path or circuit is equally hard.

Page 42: EECS 203: It’s the end of the class and I feel fine. Graphs

Weighted graphs

A weighted graph has numbers (weights) assigned to each edge.

The length of a path is the sum of the weights in the path.

5 3

3 4

64

Page 43: EECS 203: It’s the end of the class and I feel fine. Graphs

Traveling Salesperson’s Problem

What is the shortest route in a given mapfor a salesperson to visit every city exactly onceand return home at the end?

Mathematically:Given an graph with weighted edges, what is the Hamiltonian circuit of least weight?

Applies to both directed and undirected graphs.

Page 44: EECS 203: It’s the end of the class and I feel fine. Graphs

The Traveling Salesman Problem

Problem: Given a graph G, find the shortest possible length for a Hamilton circuit.

What is the solution to TSP for the following graph?

(A) 16 (B) 17 (C ) 18 (D) 19 (E) 20

2

3

5

4

7

6

Page 45: EECS 203: It’s the end of the class and I feel fine. Graphs

Traveling Salesperson’s ProblemThe TSP is NP Complete: intractable in general.

Very large instances have been solved with heuristics.An instance with 13,509 cities, solved in 2003.

Page 46: EECS 203: It’s the end of the class and I feel fine. Graphs

Applications

The Traveling Salesperson’s Problem and the Hamilton Path/Circuit Problem have many applications.

Planning and logistics (of course!)Manufacture of microchipsDNA sequencing

Page 47: EECS 203: It’s the end of the class and I feel fine. Graphs

And finish up 203

We have covered a massive amount of material.

And believe it or not, it is mostly something you’ll use again if you are in CS.

Proofs in 376 (and a bit in 281, 477, 478, 492 and a few other places)Graphs in 281 and many programming tasksLogic and sets in programming Growth of functions in algorithm development (and 281)Recursion relations in 281 and 477.Etc.

Page 48: EECS 203: It’s the end of the class and I feel fine. Graphs

The language of Computer Science

But IMO the largest benefit is the language.

You hopefully can talk about sets, growth of functions and whatever else without feeling lost.That is actually the biggest difference between someone with a CS degree and a programmer without one.

You have the language to discuss topics. You know what a proof looks likeYou can reason about things in a formal way when things need it.

Monty Hall problem for example.

Honestly, the details will fade. But the ideas should stick and will be useful.