# Tutorial 5 of CSCI2110 Eulerian Path & Hamiltonian Cycle Tutor: Zhou Hong ( 周宏 )

## Presentation on theme: "Tutorial 5 of CSCI2110 Eulerian Path & Hamiltonian Cycle Tutor: Zhou Hong ( 周宏 )"— Presentation transcript:

Tutorial 5 of CSCI2110 Eulerian Path & Hamiltonian Cycle Tutor: Zhou Hong ( 周宏 ) hzhou@cse.cuhk.edu.hk

About Me Name: Zhou Hong ( 周宏 ) Office: SHB117 Office Hour: Friday 10:00 am – 12:00 noon or by appointment Topics Responsibility: Graph Theory

Outline Eulerian Path Hamiltonian Cycle Stable Matching

Eulerian Path & Eulerian Cycle Eulerian Path: a path that visits every edge exactly once Eulerian Cycle: a cycle that visits every edge exactly once

Exercise: T/F Questions A Simple Path is a Path A Simple Cycle is a Cycle A Simple Cycle is a Simple Path A Path is a Cycle A Eulerian Cycle is a Eulerian Path

Euler’s theorem: A connected graph has an Eulerian cycle if and only if every vertex is of even degree. Eulerian Cycle Necessary Condition for Eulerian Cycle: If a connected graph G has an Eulerian cycle, then every vertex in G is of even degree. Example: An Eulerian Cycle: Check that every vertex is of even degree

Euler’s theorem: A connected graph has an Eulerian cycle if and only if every vertex is of even degree. Eulerian Cycle

Euler’s theorem: A connected graph has an Eulerian path (but not cycle) if and only if there are two vertices with odd degrees. Necessary Condition for Eulerian Path: If a connected graph G has an Eulerian path (but not cycle), then exactly two vertices in G are of odd degrees. Example: An Eulerian Path: Check that only are of odd degrees. Eulerian Path

Euler’s theorem: A connected graph has an Eulerian path (but not cycle) if and only if there are two vertices with odd degrees. Eulerian Path

Euler’s theorem: A connected graph has an Eulerian path (but not cycle) if and only if there are two vertices with odd degrees. Sufficient Condition for Eulerian Path: In a connected graph G, if there are exactly two vertices have odd degrees, then G has an Eulerian Path (but not cycle). Exercise: Prove the above Sufficient Condition. (Hint: reduce to Eulerian Cycle) Eulerian Path

Proof of Sufficient Condition: Let the two odd degree vertices in G be u,v. Add an edge e between u,v to form a new connected graph G’. Now, every vertex in G’ has even degree. We have reduced to Eulerian cycle problem, therefore, G’ has an Eulerian cycle. Remove e from the cycle, we get a Eulerian path of G. (u,v are starting and ending points of the path) G u v G’ Eulerian Path

Hamiltonian Path & Hamiltonian Cycle Hamiltonian Path: a path that visits every vertex exactly once. Hamiltonian Cycle: a cycle that visits every vertex exactly once (except for the vertex that is both the start and end). A Hamiltonian Cycle in a dodecahedron

Hamiltonian Path in Homework 3 Tips: the following example is similar to Q3 of HW3, but not the same.

Hamiltonian Cycle in Undirected Graph Do we need to specify that G is connected? NO Exercise: Prove that minimum degree of G is at least n/2 implies G is connected Key Observation: Any pair of vertices share at least one common neighbor.

Proof Idea Start with a longest simple path P=v 1 v 2...v k. We can find a simple cycle C among v 1 to v k in graph G. If k < n, since G is connected, there must exists a vertex adjacent to some vertex in the cycle C. – Which implies we can get a longer simple path through C. vkvk v1v1 P…P… v2v2 v3v3 v4v4 v k-1 v k-2 v

Find a Simple Cycle vkvk v1v1 P…P… v2v2 v k-1 v k-2 vivi v i+1 Now, what we need to do is just finding a cycle among v 1 to v k. But how? If there exists a pair of vertices v i and v i+1, such that v i+1 is adjacent to v 1 and v i is adjacent to v k, then we can find a cycle C = v i+1 v i+2 …v k v i v i-1 …v 2 v 1 v i+1.

Existence of Such Vertex Pair v i and v i+1 vkvk v1v1 P…P… v2v2 v3v3 v4v4 v k-1 v k-2

Stable Matching

Morning: boys propose to their favorite girl on list. If a boy has an empty list already, he stays home and does his CSC2110 homework. Afternoon: girls accept their favorite suitor and reject the rest (possibly breaking up with her current boyfriend) Evening: boys who got rejected write off the top girl from their lists The Marrying Procedure This procedure is then repeated until all boys propose to a different girl

Boys Optimal & Girls Pessimal Algorithm All boys get the best partner simultaneously! All girls get the worst partner simultaneously! Can a girl do better by lying? That is, among all possible stable matching, boys get the best possible partners simultaneously. YES!

Girls with True Preference (Day 1) Boys A:213 B:123 C:231 1:ABC 2:BAC 3:CBA Girls

Girls with True Preference (Day 2) Boys A:213 B:123 C:231 1:ABC 2:BAC 3:CBA Girls OKAY, marriage day! Girl 2 gets her second best choice

Girl 2 Tells a Lie (Day 1) Boys A:213 B:123 C:231 1:ABC 2:BCA 3:CBA Girls

Girl 2 Tells a Lie (Day 2) Boys A:213 B:123 C:231 1:ABC 2:BCA 3:CBA Girls

Girl 2 Tells a Lie (Day 3) Boys A:213 B:123 C:231 1:ABC 2:BCA 3:CBA Girls

Girl 2 Tells a Lie (Day 4) Boys A:213 B:123 C:231 1:ABC 2:BCA 3:CBA Girls OKAY, marriage day! Girl 2 gets her best choice

Thank You! Q & A ?

Download ppt "Tutorial 5 of CSCI2110 Eulerian Path & Hamiltonian Cycle Tutor: Zhou Hong ( 周宏 )"

Similar presentations