EECS 203 Lecture 19 Graphs.

Slides:



Advertisements
Similar presentations
CSE 211 Discrete Mathematics
Advertisements

22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Graph-02.
Introduction to Graphs
4/17/2017 Section 8.5 Euler & Hamilton Paths ch8.5.
Euler and Hamilton Paths
Chapter 11 Graphs and Trees This handout: Terminology of Graphs Eulerian Cycles.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
GRAPH Learning Outcomes Students should be able to:
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
EECS 203: It’s the end of the class and I feel fine. Graphs.
Graph Theoretic Concepts. What is a graph? A set of vertices (or nodes) linked by edges Mathematically, we often write G = (V,E)  V: set of vertices,
Graph Theory Topics to be covered:
Graphs Rosen, Chapter 8. Isomorphism (Rosen 560 to 563) Are two graphs G1 and G2 of equal form? That is, could I rename the vertices of G1 such that the.
Euler and Hamilton Paths
Can you connect the dots as shown without taking your pen off the page or drawing the same line twice.
Euler and Hamilton Paths. Euler Paths and Circuits The Seven bridges of Königsberg a b c d A B C D.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
CS 200 Algorithms and Data Structures
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
Euler Paths and Circuits. The original problem A resident of Konigsberg wrote to Leonard Euler saying that a popular pastime for couples was to try.
Lecture 52 Section 11.2 Wed, Apr 26, 2006
Lecture 11: 9.4 Connectivity Paths in Undirected & Directed Graphs Graph Isomorphisms Counting Paths between Vertices 9.5 Euler and Hamilton Paths Euler.
Chapter 6: Graphs 6.1 Euler Circuits
Review Euler Graph Theory: DEFINITION: A NETWORK IS A FIGURE MADE UP OF POINTS (VERTICES) CONNECTED BY NON-INTERSECTING CURVES (ARCS). DEFINITION: A VERTEX.
Introduction to Graph Theory
Euler and Hamiltonian Graphs
Graphs Rosen, Chapter 8. NOT ONE OF THESE! One of these!
Grade 11 AP Mathematics Graph Theory Definition: A graph, G, is a set of vertices v(G) = {v 1, v 2, v 3, …, v n } and edges e(G) = {v i v j where 1 ≤ i,
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
CS Lecture 22 Graph Theory. Can I draw the above figure in one continuous trace with no line being drawn twice?
David Stotts Computer Science Department UNC Chapel Hill.
MAT 110 Workshop Created by Michael Brown, Haden McDonald & Myra Bentley for use by the Center for Academic Support.
An Introduction to Graph Theory
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
Graphs Chapter 20.
Shortest Path Problems
Euler and Hamiltonian Graphs
Graphs Hubert Chan (Chapter 9) [O1 Abstract Concepts]
Richard Anderson Lecture 26 NP-Completeness
Routing Through Networks - 1
Euler and Hamiltonian Graphs
Richard Anderson Lecture 26 NP-Completeness
Euler Paths and Circuits
Graphs Rosen, Chapter 8.
Graph theory Definitions Trees, cycles, directed graphs.
Eulerian tours Miles Jones MTThF 8:30-9:50am CSE 4140 August 15, 2016.
Agenda Lecture Content: Introduction to Graph Path and Cycle
Discrete Structures – CNS2300
Hamiltonian Graphs Graphs Hubert Chan (Chapter 9.5)
EECS 203 Lecture 20 More Graphs.
Discrete Maths 9. Graphs Objective
Introduction to Graph Theory Euler and Hamilton Paths and Circuits
Graph Theory.
Graphs Chapter 13.
Richard Anderson Lecture 25 NP-Completeness
Genome Assembly.
Foundations of Discrete Mathematics
Konigsberg- in days past.
Discrete Mathematics Lecture 13_14: Graph Theory and Tree
Euler and Hamilton Paths
Euler and Hamiltonian Graphs
CSC 380: Design and Analysis of Algorithms
Applied Combinatorics, 4th Ed. Alan Tucker
Graph Theory Relations, graphs
Warm Up – 3/19 - Wednesday Give the vertex set. Give the edge set.
Chapter 10 Graphs and Trees
Presentation transcript:

EECS 203 Lecture 19 Graphs

Admin stuffs Last homework due tomorrow Office hour changes starting Friday (also in Piazza) Friday 6/17: 2-5 Mark in his office. Sunday 6/19: 2-5 will be Jasmine in the UGLI  Monday 6/20: 10-12: Mark in his office. Monday 6/20: 5-7 Emily in the UGLI. Tuesday 6/21: 10-12: Emily in the Beyster Learning Center. Tuesday 6/21: 1-3 Mark in his office.  Wednesday 6/22: 10-12 Emily in the Beyster Learning Center. Wednesday 6/22: 1:30-3:00 Mark in his office. Thursday: 6/23: 10-12 Emily in the Beyster Learning Center. Thursday 6/23: 1:30-3:00 Jasmine in the Beyster Learning Center. Discussion is still on for Thursday and Friday.

Today Dijkstra’s algorithm Using slides from http://math.ucsd.edu/~fan/teach/202/ https://en.wikipedia.org/wiki/Fan_Chung

Dijkstra’s Algorithm animated

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

Graphs A 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.

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

Graphs A 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.

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.

Leonhard Euler lived in Königsberg He 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.

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.

Is there an Euler circuit/path? B B B D B D B D C C C C C C E E E E E Circuit Path Not Traversable

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? A vertex of odd degree must be the start or end of a path. The sum of degrees is always even, so this can’t happen. If there are zero vertices of odd degree.

Examples Do these graphs have Euler paths/circuits? Yes, it has a circuit. Yes, it has a path (but no circuit). No, it has neither path nor circuit. Three quick iClicker questions, one for each graph.

Does this have an Euler path? D has odd degree and E has odd degree So it should have an Euler Path O M N P (A) Yes (B) No

Applications of Euler Paths Planning routes through graphs that provide efficient coverage of the edges in the graph, without multiple traversals. Postal delivery routes Snowplowing routes Testing network connections Utility transmission network Communication network

Hamiltonian Paths and Circuits Given a graph, is there a path that passes through each vertex in the graph exactly once? (aka a Hamiltonian path) dodecahedron Isomorphic graph solution

Hamilton circuit Do these graphs have Hamilton circuits? G H Yes, both. (C ) G doesn’t, H does. G does, H doesn’t. (D) No, neither. 4 6 3 1 2 5 The correct answer is C. (G has no Hamilton circuit because there is no way to reach all vertices without passing through the middle vertex twice.) 1 -> 3 -> 4 -> 5 -> 6 -> 2 -> 1

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.

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 6 4 4 3

Traveling Salesperson’s Problem What is the shortest route in a given map for a salesperson to visit every city exactly once and 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.

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 3 5 2 6 4 The answer is (B) 17. (Simply exclude the top and bottom edges.) 7

Traveling Salesperson’s Problem The TSP is NP Complete: intractable in general. Very large instances have been solved with heuristics. An instance with 13,509 cities, solved in 2003. This was done at Rice University. The route visits every US city of population > 500. (I don’t know how they verified that it was correct.)

Applications The Traveling Salesperson’s Problem and the Hamilton Path/Circuit Problem have many applications. Planning and logistics (of course!) Manufacture of microchips DNA sequencing