Math/Stat 2300 Modeling using Graph Theory (March 23/25) from text A First Course in Mathematical Modeling, Giordano, Fox, Horton, Weir, 2009.

Similar documents
1. a graph G = (V (G), E(G)) consists of a set V (G) of vertices, and a set E(G) of edges (edges are pairs of elements of V (G))

Basics of Graph Theory

Varying Applications (examples)

Graph Theory. Part of Texas Counties.

How can we lay cable at minimum cost to make every telephone reachable from every other? What is the fastest route between two given cities?

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7

Graph Theory: Applications and Algorithms

Some Graph Theory for Network Analysis. CS 249B: Science of Networks Week 01: Thursday, 01/31/08 Daniel Bilar Wellesley College Spring 2008

Chapter 3: Paths and Cycles

Ma/CS 6a Class 8: Eulerian Cycles

Network Topology and Graph

Mathematics of Networks II

Chapter 14 Section 3 - Slide 1

8. The Postman Problems

Introduction to Graphs

THE KNOWLEDGE MANAGEMENT STRATEGY IN ORGANIZATIONS. Summer semester, 2016/2017

Elements of Graph Theory

Graph Theory II. Po-Shen Loh. June edges each. Solution: Spread the n vertices around a circle. Take parallel classes.

More NP-complete Problems. CS255 Chris Pollett May 3, 2006.

An Interactive Introduction to Graph Theory

Introduction to Engineering Systems, ESD.00. Networks. Lecturers: Professor Joseph Sussman Dr. Afreen Siddiqi TA: Regina Clewlow

Classic Graph Theory Problems

Discrete mathematics II. - Graphs

CS 311 Discrete Math for Computer Science Dr. William C. Bulko. Graphs

Paths, Circuits, and Connected Graphs

Fundamentals of Graph Theory MATH Fundamentals of Graph Theory. Benjamin V.C. Collins, James A. Swenson MATH 2730

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Brief History. Graph Theory. What is a graph? Types of graphs Directed graph: a graph that has edges with specific directions

Chapter 9 Graph Algorithms

Graphs: A graph is a data structure that has two types of elements, vertices and edges.

L Modelling and Simulating Social Systems with MATLAB

Logic: The Big Picture. Axiomatizing Arithmetic. Tautologies and Valid Arguments. Graphs and Trees

Chapter 9 Graph Algorithms

Graph (1A) Young Won Lim 4/19/18

Introduction III. Graphs. Motivations I. Introduction IV

1. The Highway Inspector s Problem

Grades 7 & 8, Math Circles 31 October/1/2 November, Graph Theory

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8

Instructor: Paul Zeitz, University of San Francisco

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

OPERATIONS RESEARCH. Transportation and Assignment Problems

Biological Networks Analysis

Math 776 Graph Theory Lecture Note 1 Basic concepts

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Lecture 10 Graph Algorithms

Goals! CSE 417: Algorithms and Computational Complexity!

PBW 654 Applied Statistics - I Urban Operations Research. Unit 3. Network Modelling

Chapter 11: Graphs and Trees. March 23, 2008

Graph Overview (1A) Young Won Lim 5/9/18

Instant Insanity Instructor s Guide Make-it and Take-it Kit for AMTNYS 2006

Breadth-First. Graphs in Python

Discrete Mathematics (2009 Spring) Graphs (Chapter 9, 5 hours)

Math 215 Project (25 pts) : Using Linear Algebra to solve Graph Problems

.. Spring 2009 CSC 466: Knowledge Discovery from Data Alexander Dekhtyar..

Chapter 9 Graph Algorithms

All 13,509 cities in US with a population of at least 500 Reference:

SEVENTH EDITION and EXPANDED SEVENTH EDITION

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

Simple graph Complete graph K 7. Non- connected graph

Algorithms. Graphs. Algorithms

A quick review. The clustering problem: Hierarchical clustering algorithm: Many possible distance metrics K-mean clustering algorithm:

6.2. Paths and Cycles

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/z

Discrete mathematics

IE 102 Spring Routing Through Networks - 1

Chapter 1 Graph Theory

Discrete Mathematics, Spring 2004 Homework 8 Sample Solutions

Directed Graph and Binary Trees

Party hard! The maths of connections. Colva Roney-Dougal. March 23rd, University of St Andrews

Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015

MEI Further Mathematics Support Programme

Ordinary Differential Equation (ODE)

Algorithms: Graphs. Amotz Bar-Noy. Spring 2012 CUNY. Amotz Bar-Noy (CUNY) Graphs Spring / 95

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009

EECS 1028 M: Discrete Mathematics for Engineers

2. CONNECTIVITY Connectivity

Eulerian Cycle (2A) Walk : vertices may repeat, edges may repeat (closed or open) Trail: vertices may repeat, edges cannot repeat (open)

A quick review. Which molecular processes/functions are involved in a certain phenotype (e.g., disease, stress response, etc.)

Lecture 22 Tuesday, April 10

Graph theory. Po-Shen Loh. June We begin by collecting some basic facts which can be proved via bare-hands techniques.

GRAPH THEORY AND LOGISTICS

Introduction To Graphs and Networks. Fall 2013 Carola Wenk

5 Matchings in Bipartite Graphs and Their Applications

Unit 2: Graphs and Matrices. ICPSR University of Michigan, Ann Arbor Summer 2015 Instructor: Ann McCranie

Elementary maths for GMT. Algorithm analysis Part II

Math for Liberal Arts MAT 110: Chapter 13 Notes

Network Basics. CMSC 498J: Social Media Computing. Department of Computer Science University of Maryland Spring Hadi Amiri

14.2 Euler Paths and Circuits filled in.notebook November 18, Euler Paths and Euler Circuits

Directed acyclic graphs

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Study Guide Mods: Date:

Professor: Padraic Bartlett. Lecture 9: Trees and Art Galleries. Week 10 UCSB 2015

Discrete Mathematics

CSC 8301 Design and Analysis of Algorithms: Exhaustive Search

of optimization problems. In this chapter, it is explained that what network design

PATH FINDING AND GRAPH TRAVERSAL

Section 3.4 Basic Results of Graph Theory

Junior Circle Meeting 3 Circuits and Paths. April 18, 2010

Launch problem: Lining streets

Reading: 10.1, (opt.), 10.4 (opt.), 10.5 (mostly opt.), , 10.6 (mostly opt.)

Transcription:

Math/Stat 2300 Modeling using Graph Theory (March 23/25) from text A First Course in Mathematical Modeling, Giordano, Fox, Horton, Weir, 2009. Describing Graphs (8.2) A graph is a mathematical way of describing relationships between things. A graph consists of vertices and edges. A graph G consists of two sets: a vertex set V (G) and an edge set E(G). Each element of E(G) is a pair of elements from V (G). When an edge ij has a vertex j as one of its endpoints, we say edge ij is incident with vertex j. When there is an edge ij between two vertices, we say vertices i and j are adjacent. The degree of a vertex is the number of edges incident to that vertex. A directed graph is a graph where the edges have direction, that is, instead of edges we have arrows. The indegree of a vertex of a directed graph is the number of arrows pointing to a vertex. The outdegree of a vertex of a directed graph is the number of arrows pointing out of a vertex.

Graph Models (8.3) The Seven Bridges of Königsberg Problem: Can the seven bridges be traversed exactly once starting and ending at the same place? Graph Coloring Problem: Given a geographic map, is it possible to colour it with four colours so that any two regions that share a common border are assigned different colours? This problem can alternatively be framed as: Problem: Using only four colours, can you colour the vertices of a planar graph so that no vertex gets the same colour as an adjacent vertex?

Traveling Salesman Problem Problem: A salesman must visit every location in a list and return to the starting location. In what order should the salesman visit the locations in the list to minimize the distance traveled? This problem can be modeled using a graph, where the locations on the list are the vertices and the edges are the paths between each location. Here each edge has a cost c ij which can be distance or cost of travel. A tour is a list of all locations, in any order. Restated in graph theory terms: Traveling Salesman Problem Given a complete graph G(V (G), E(G)) and a cost c ij for each edge in E(G), find a tour of minimum cost. Policing a City (Vertex Cover Problem) Suppose we want to organize a company of soldiers to police all the roads in a section of a city. The section of the city can be modeled with a graph where the road intersections in the city are vertices and the roads between the intersections are edges. Suppose the roads in the city are straight enough and short enough so that a soldier stationed at an intersection can effectively police all roads immediately incident with that intersection. Problem: What is the smallest number of soldiers needed to police all the roads?

Vertex Cover Problem: Given a graph G = (V (G), E(G)), the vertex cover problem seeks a subset S V (G) of the smallest number of elements such that every edge in the graph is incident with at least one elements in S. Fitting a Piecewise Linear Function to Data Suppose we have some set of data that we want to fit using straight line segments, but that we don t necessarily need as many line segments as we have data points. One way of solving this is to consider a simple graph problem. Web graph The World-Wide Web can be represented as a graph where the nodes are webpages and the links are directed edges. Search engines treat the world-wide web as a graph and index the websites based on the indegree. Social Networks A social network consists of a set of individuals, groups, or organizations with relationships between them. These can be modeled with a graph.

Some examples: Bacon number graph A popular game is the Six Degrees of Kevin Bacon where you connect a particular actor to the actor Kevin Bacon by using a small number of connections. Two actors are connected if they both appeared in the same movie. For example, Val Kilmer was in the movie Top Gun with Tom Cruise who was in A Few Good Men with Kevin Bacon. The Bacon number graph would be the graph with the vertices are actors and the edges are movie connections. The Bacon number for an actor would be the shortest number of connections between the particular actor and Kevin Bacon. Collaboration graph A collaboration graph is a graph with vertices are authors of papers and the edges are papers written together. Erdös number graph A particular example of a collaboration graph is the Erdös number graph. Paul Erdös is a prolific mathematician. A person s Erdös number is the collaborative distance between that person and Paul Erdös, that is, the shortest number of connections between the author and Erdös. For example, Richard Nowakowski wrote a paper with Richard Guy who wrote a paper with Paul Erdös. So Richard Nowakowski has Erdös number of 2. friendship network A friendship network is a graph where the vertices are the people and an edge represents friendship between two people.

Adjacency Matrix An adjacency matrix of a graph is a matrix where the entries represents edges between vertices, that is, a 1 represents that vertices are adjacent to each other. The matrix for the above example is: 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 Using Graph Models to Solve Problems (8.4) We have examined real-world problems that can be expressed as problems on graphs. Now, we talk about methods for solving some of these graph theory problems. Solving Shortest-Path Problems Given a graph G, edge lengths c ij for each edge ij E(G), and two specific vertices u and v, the shortest path problem is compute the length of a shortest path from u to v.

Dijkstra s Shortest Path Algorithm Input A graph G = (V (G), E(G)) with a source vertex s and a sink vertex t and nonnegative edge lengths c ij for each edge ij E(G). Output The length of a shortest path from s to t in G. Step 0 Start with temporary labels L on each vertex as follows: L(s) = 0 and L(i) = for all vertices except s. Step 1 Find the vertex with the smallest temporary label (if there s a tie, pick one at random). Make that label permanent meaning it will never change. Step 2 For every vertex j without a permanent label that is adjacent to a vertex with a permanent label, compute a new temporary label as follows: L(j) = min{l(i) + c ij } where we minimize over all vertices i with a permanent label. Repeat steps 1 and 2 until all vertices have permanent labels. Example. Consider the following graph: We will use Dijkstra s algorithm to find the shortest distance from vertex u to every other vertex. We will use the notation for the labels L(V ) = (L(u), L(v), L(w), L(x), L(y), L(z)). We will use an asterisk to not that a label we have made permanent. Step 0 We initialize the labels as L(V ) = (L(u), L(v), L(w), L(x), L(y), L(z)) = (0,,,,, ).