140 likes | 170 Vues
Introduction to Graph Theory. Lecture 10: Eulerian and Hamiltonian Graphs. Introduction. In graph theory, we often need to traverse a graph in a particular way. For example, we might want a trail/circuit passing through each edge exactly once. e.g?
E N D
Introduction to Graph Theory Lecture 10: Eulerian and Hamiltonian Graphs
Introduction • In graph theory, we often need to traverse a graph in a particular way. • For example, we might want a trail/circuit passing through each edge exactly once. • e.g? • Or we might want a path/cycle that includes each vertex exactly once. • e.g? • The concept has been introduced in discrete math.
Eulerian Graphs • Goal: traversing each edge of a graph exactly once and returning to the starting vertex. • A graph with this characteristic is called Eulerian. • We start with the concept of multigraph.
Multigraphs • To save space, it is convenient to draw the multigraph as a weighted graph or a network. 2 2 1 2 1
The History of Eulerian Circuit • This problem started in 1730. The goal was to traverse each of the seven bridges of Kaliningrad in Russia exactly once and ended where it began. D B A C
Sufficient Condition for Eulerian Circuit • Can the previous graph be a Eulerian Circuit? • If not, can you build or take down bridges to make it eulerian? • Theorem: a graph G is eulerian if and only if G is connected and every vertex has even degree. • Proof: The forward direction is obvious, since we have to enter and leave a vertex, and G is connected that we can have a circuit.
Proof (Backward Direction) • This technique is called constructive proof. • Suppose G is connected and every vertex has even degree. • We want to construct a eulerian circuit. • Let’s construct a circuit C1 starting at vertex u1 and taking one of his incident edge u1v1. • Since the degree is even, we can always leave v1 using an unused edge. • Keep doing this until we reach u1 again.
(cont) • If C1 contains all edegs. We’re done with a eulerian. • If not, we can pick another vertex, say u2, which is incident with unused edges, and repeat the same process to construct C2. • We construct as many circuit as needed to cover the entire graph. • To make a eulerian circuit out of the circuits, begin at u1 and travel along C1 until we hit u2. Insert C2 at the point. • In general, find the starting point of Ck in the circuit generated from C1, C2, …Ck-1and insert Ck at that point. • The resulting circuit is a eulerian circuit.
Example 5.1 • Using the technique in the proof, find an eulerian circuit for the graph. f d h b a c j e g i
Semi-Eulerian • If there are exactly two vertices of odd degree, there is no eulerian circuit, but eulerian trail. • Such a trail is called semi-eulerian. • Corollary: a connected graph G is semi-eularian if and only if G has exactly two vertices of odd degree. • Proof: • Let x and y be the odd vertices. • Temporarily construct an xy edge. The resulting graph is eulerian. • Remove the xy edge and we get an eulerian trail
Application: Postman Problem • Since we cannot always meet the criterion of eulerian circuit, we relax our requirement such that each edge is traversed at least once, but the minimum number of edges should be traversed. • For Chinese postman problem, we consider such a network as weighted graph.
Chinese Postman Problem • Step1: Identify a set S of vertices of odd degree (should be even number of them). • Step2: For each pair u,v of vertices in S, find the length of a shortest path joining u and v. • Step3: Pair up the vertices. • Step4: The pairs minimizing the sum must be traversed more than once, i.e. inserting additional edges to the pairs.
Example 5.5 • Let’s solve the Chinese postman problem with the weighted graph. b e 2 1 1 4 2 1 a f 3 3 2 d c
Discussion Homework2, Q4 • Show that given a positive integer n, there exists a self-complementary graph G with |V(G)|=4n. • Proof: This is also a constructive proof.