Elemental Design Patterns

Elemental Design Patterns

Data Structures and Analysis (COMP 410) David Stotts Computer Science Department UNC Chapel Hill Graph Theory and Algorithms (part 4) 7 Bridges of Konigsberg

Popular 1600s 1700s pastime can you walk through the city and cross each bridge exactly once (either direction)? Present day Kaliningra d, Russia

red bridges are no longer there Leonard Euler in 1735 Created an abstraction of this problem and laid the groundwork for graph theory (and also topology) Represented land masses as vertices

Represented bridges as connecting lines (edges) Eulers original description Eulers Graph Model We model the city with an undirected graph,

because we can walk across the bridge in either direction The problem Can a person execute a walk that crosses each bridge once and only once? You can start anywhere and end up anywhere Informal:

Put a pen on a vertex. Can you trace the diagram without picking up the pen, or redrawing an edge? Euler Path, Circuit Euler Path (EP): A path in the graph that passes through every edge once Euler Circuit (EC): An EP that begins and ends on the same vertex Degree of a vertex v: #edges involving v

The question: does G have any EP or EC ? To answer: first compute the degree of every vertex in G Euler Theorems Given connected undirected G=(V,E) Theorem 1: EC If G has any odd vertices then it has no EC. If G has all even vertices then there is at least one EC. Theorem 2: EP If G has more than 2 odd vertices, then it has no EP.

If G has exactly 2 odd vertices, then it has at least one EP, which must start at one odd vertex and end at the other. Theorem 3: General The sum of the degrees of all vertices in G is even ( exactly twice |E| ). The number of odd vertices is even. Euler Theorems #odd v implication -------------------------------------0 >=1 EC (no EP that is not EC)

1 impossible (th.3) 2 no EC, >=1 EP every EP must start on one odd and end on the other >2

no EC, no EP Examples 2 odd no EC at least 1 EP 2 3 3

4 4 3 3 4 4 3 3

4 odd no EP (so no EC) 2 4 4 they start, end here 4 4

2 4 0 odd at least 1 EC Euler Path, Circuit Memory aid: G has an EC iff #odd vertices = 0 G has an EP iff #odd vertices = 2 (EP means that is not EC)

There is an algorithm to find EC in a graph that is worst case O( |E|+|V| ) Algorithm for EP/EC Given undirected unweighted G=(V,E) 1) Start with empty tmp stack, empty EC stack If 0 odd nodes pick any as cn, the curr node else if 2 odd nodes pick one odd as cn, the curr node else no EP/EC: end 2) If cn has no neighbors: push cn to EC stack

cn = pop tmp stack Else // cn has neighbors push cn to tmp stack pick any neighbor nb of cn remove edge (cn,nb) make nb the new cn 3) Repeat step 2 until cn has no neighbors and tmp stack is empty Euler and Topology Inventing graphs allowed Euler to

begin defining what we now know as topology This is a cube (3D) stretched flattened to 2D The graph allows us to study some properties of the cube Every convex polyhedron can be projected into 2D as a connected planar graph

Euler and Topology Can a bug crawl along all edges of the cube without crossing any twice? No, tough luck for the bug ! 3 3 Sounds like EP in 3-space 3 3 3

So maybe we can do EP on the flattened graph 3 compute degree of all vertices #odd vertices = 8 3 3 no EC (needs 0 odds)

no EP (needs exactly 2 odds) Hamiltonian Path, Cycle Given undirected connected graph G=(V,E) Hamiltonian Path (HP): path in G that contains each vertex once Hamiltonian Circuit (HC): a HP with endpoints that are adjacent HC: 1, 2, 3, 4, 5, 1 1 2

HP: 1, 2, 3, 4, 5 3 5 4 HC: 2, 3, 4, 5, 1, 2 HC: 2, 3, 4, 1, 5, 2 HP: 1, 5, 2, 4, 3

HP: 2, 5, 1, 4, 3 Another Example 1 5 3 2 4

HC: none HP: 5 HP: 5 HP: 3 HP: etc. 1, 2, 3, 4, 1, 4, 3, 2, 1, 4, 5, 2,

3, 2, 5, 4, 1 Hamiltonian vs. Eulerian Memory aid: To remember which does edges, and which does vertices Euler Edge The Icosian Game Invented by Sir William Rowan Hamilton in 1857 Sold as a physical board game

Put pegs in the holes in number order to define a path that uses each peg exactly once, and ends where it starts From Icosian Game Planar graph,

a flattened dodecahedron There is a HC for this graph From Wordplay, the NYT crossword blog By Christoph Sommer - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1724516 Platonic Solids We said earlier that

any convex polyhedron will project down to a connected planar graph The 5 platonic solids produce graphs that are Hamiltonian, i.e. have an HC From http://www.korthalsaltes.com/ No Nice Theorems like Euler We saw an O(|V|+|E|) algorithm for EP/EC HP/HC is not nearly so easy for some strange

reason Dirac 1952 (sufficient condition) A simple graph G (no loops, no multi-edges) with N vertices is Hamiltonian if degree of each vertex is >= N/2. does NOT say if G is Hamiltonian, then the vertex degrees are >= N/ 2 Ore 1960 (sufficient condition) A graph G with N vertices is Hamiltonian if for every pair of non-adjacent vertices the

sum of their Existence proofs, not degrees is >=N. constructive Same for Eulers Theorems Efficiency: P vs. NP No known efficient algorithm for finding HP/HC So EP/EC is linear O(|V|+|E|) worst case But HP/HC is exponential on some data Efficient means polynomial

Bubble Sort? O(N^2) we said its horrible, but its polynomial HP/HC exponential is way worse Note: We have not proven that HP/HC is not polynomial We have not yet found a polynomial time algorithm All known algorithms are exponential time worst case Efficiency: P vs. NP Note: If we are given a path/circuit, we can easily (in polynomial time) check if it is a HP/HC for

a graph See the difference: 1) 2) 3) Y/N decision Does this G have an HC? procedure Checking, verify Given this path P in G, is it a HC? Constructive Find a HC for G Travelling Salesman Problem

https:// en.wikipedia.org/wiki/Travelling_salesman_p roblem Computes a Hamiltonian Path (or circuit) on a graph

No known efficient (polynomial time) algorithm for solving this Known algorithms are exponential (nonpolynomial) in the size of the graph (#nodes + #edges) END

Recently Viewed Presentations

  • Sedimentary Rocks

    Sedimentary Rocks

    The igneous rock texture that is characterized by two distinctly different crystal sizes is called ____. a. porphyritic texture c. fine-grained texture b. glassy texture d. coarse-grained texture Igneous rocks that crystallize from magma and are composed almost entirely of...
  • Autotuning Sparse Matrix and Lattice-Boltzmann Kernels

    Autotuning Sparse Matrix and Lattice-Boltzmann Kernels

    Autotuning Sparse Matrix and Structured Grid Kernels Samuel Williams1,2, Richard Vuduc3, Leonid Oliker1,2, John Shalf2, Katherine Yelick1,2, James Demmel1,2, Jonathan Carter2, David Patterson1,2 1University of California Berkeley 2Lawrence Berkeley National Laboratory 3Georgia Institute of Technology [email protected]
  • Transformational Leadership By Alex Walker Definition A leadership

    Transformational Leadership By Alex Walker Definition A leadership

    Definition "A leadership approach that causes change in individuals and social systems. In its ideal form, it creates valuable and positive change in the followers with the end goal of developing followers into leaders…transformational leadership enhances the motivation, morale and...
  • CPR Training A guide for CPR training at

    CPR Training A guide for CPR training at

    Without help, the person will die within minutes but effective and immediate cardiopulmonary resuscitation (CPR) can help double the chance of survival in some cases. In the UK, less than one in ten people survive an out of hospital cardiac...
  • Internet Security Protocols: Specification and Modeling

    Internet Security Protocols: Specification and Modeling

    Verdana SIEMENS-Firmenmarke Arial Times New Roman Symbol 굴림 Arial Narrow MS Mincho Marlett Lucida Console ExtraS 4 Wingdings template-avispa Microsoft Draw 98 Drawing Microsoft Clip Gallery Microsoft Word Picture Internet Security Protocols: Specification and Modeling Contents Conclusions Verification is starting...
  • Invocation to The Odyssey 1 // 2. 3.

    Invocation to The Odyssey 1 // 2. 3.

    Sing in me, Muse, and through me tell the story . of that man skilled in all ways of contending,° the wanderer, harried for years on end, after he plundered the stronghold . on the proud height of Troy. He...
  • DASA-CE Training COST MANAGEMENT 101 Mission #2: CM

    DASA-CE Training COST MANAGEMENT 101 Mission #2: CM

    APC codes often did not go to the lowest level of the organization however within GFEBS there will be a code. Some organizations are generating DTS LOA's per cost centers (For TDA Orgs) Many APC typically map to a single...
  • Chapter 12

    Chapter 12

    Democrats knew that they could not win with Johnson- so they nominated NY Gov. Horatio Seymour. Republicans ran U. S. Grant- Gran wins in a landslide in electoral college, but close in popular vote. After Grant's election_ Radicals feared Southerners...