Overview of Graph Theory. Some applications of Graph Theory Models for communications and electrical networks Models for computer architectures Network.

Slides:



Advertisements
Similar presentations
Thursday, March 14 Introduction to Network Flows
Advertisements

Great Theoretical Ideas in Computer Science
Cpt S 223 – Advanced Data Structures Graph Algorithms: Introduction
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
Review Binary Search Trees Operations on Binary Search Tree
Great Theoretical Ideas in Computer Science for Some.
The minimum cost flow problem
Combinatorial Algorithms
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Great Theoretical Ideas in Computer Science.
Graphs Intro G.Kamberova, Algorithms Graphs Introduction Gerda Kamberova Department of Computer Science Hofstra University.
Centre for Wireless Communications Overview of Graph Theory Ad Hoc Networking Instructor: Carlos Pomalaza-Ráez Fall 2003 University of Oulu, Finland.
Computational Methods for Management and Economics Carla Gomes Module 9a Network Models Terminology (Slides adapted from J.Orlin’s)
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 10 Instructor: Paul Beame.
W. D. Grover TRLabs & University of Alberta © Wayne D. Grover 2002, 2003 Graph theory and routing (initial background) E E Lecture 4.
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Greed: Shortest Path s 3 t
1 Discrete Optimization. 2 The relationship between counting techniques/graph theory and discrete optimization Adding a goal (objective function) to a.
Chapter 9: Graphs Basic Concepts
Minimum Spanning Tree Algorithms. What is A Spanning Tree? u v b a c d e f Given a connected, undirected graph G=(V,E), a spanning tree of that graph.
GRAPH Learning Outcomes Students should be able to:
Graph Theory Chapter 6 from Johnsonbaugh Article(6.1, 6.2)
Maximum Flow Chapter 26.
Introduction to Operations Research
Lecture 13 Graphs. Introduction to Graphs Examples of Graphs – Airline Route Map What is the fastest way to get from Pittsburgh to St Louis? What is the.
CS 3343: Analysis of Algorithms Lecture 21: Introduction to Graphs.
Graph Dr. Bernard Chen Ph.D. University of Central Arkansas.
Discrete Structures for Computer Science Muad M. Abu-Ata Summer 2013.
Introduction to Graphs. Introduction Graphs are a generalization of trees –Nodes or verticies –Edges or arcs Two kinds of graphs –Directed –Undirected.
TCP Traffic and Congestion Control in ATM Networks
1 CS104 : Discrete Structures Chapter V Graph Theory.
. 1 Transportation and Assignment Problems. . 2 Applications Physical analog of nodes Physical analog of arcs Flow Communication systems phone exchanges,
Fundamental Data Structures and Algorithms (Spring ’05) Recitation Notes: Graphs Slides prepared by Uri Dekel, Based on recitation.
Agenda Review: –Planar Graphs Lecture Content:  Concepts of Trees  Spanning Trees  Binary Trees Exercise.
Graphs Discrete Structure CS203. Adjacency Matrix We already saw a way of representing relations on a set with a Boolean matrix: R digraph(R) M R1234.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Minimum Spanning Trees CS 146 Prof. Sin-Min Lee Regina Wang.
Graphs Edge(arc) Vertices can be even or odd or undirected (two-way) Edges can be directed (one-way) This graph is connected. Degree(order) = 3 Odd vertex.
1 Chapter 4 Minimum Spanning Trees Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
Introduction to Graph Theory
Discrete Structures CISC 2315 FALL 2010 Graphs & Trees.
Shortest Path Algorithm 2 Prof. Sin-Min Lee Department of Computer Science.
Graphs Upon completion you will be able to:
Chapter 9: Graphs.
CSCE 3110 Data Structures & Algorithm Analysis Graphs (I) Reading: Chap.9, Weiss.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graph Revisited Fei Chen CSCI2100B Data Structures Tutorial 12 1.
Graph Theory Graph Theory - History Leonhard Euler's paper on “Seven Bridges of Königsberg”, published in 1736.
CSCI-256 Data Structures & Algorithm Analysis Lecture Note: Some slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved. 11.
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,
Graphs David Kauchak cs302 Spring Admin HW 12 and 13 (and likely 14) You can submit revised solutions to any problem you missed Also submit your.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
Maximum Flow Chapter 26.
Graph theory Definitions Trees, cycles, directed graphs.
Agenda Lecture Content: Introduction to Graph Path and Cycle
Great Theoretical Ideas in Computer Science
CS 3343: Analysis of Algorithms
GRAPH-THEORY AND APPLICATIONS
Max Flow – Min Cut Problem
Autumn 2016 Lecture 11 Minimum Spanning Trees (Part II)
Modeling and Simulation NETW 707
Graphs Chapter 11 Objectives Upon completion you will be able to:
Graphs Discrete Structure CS203.
Chapter 9: Graphs Basic Concepts
Minimum Spanning Tree Section 7.3: Examples {1,2,3,4}
Winter 2019 Lecture 11 Minimum Spanning Trees (Part II)
Algorithm Course Dr. Aref Rashad
Chapter 9: Graphs Basic Concepts
Autumn 2019 Lecture 11 Minimum Spanning Trees (Part II)
Presentation transcript:

Overview of Graph Theory

Some applications of Graph Theory Models for communications and electrical networks Models for computer architectures Network optimization models for operations analysis, including scheduling and job assignment Analysis of Finite State Machines Parsing and code optimization in compilers

Application to Ad Hoc Networking Networks can be represented by graphs The mobile nodes are vertices The communication links are edges Routing protocols often use shortest path algorithms This lecture is background material to the routing algorithms Vertices Edges

Elementary Concepts A graph G(V,E) is two sets of object  Vertices (or nodes), set V  Edges, set E A graph is represented with dots or circles (vertices) joined by lines (edges) The magnitude of graph G is characterized by number of vertices |V| (called the order of G) and number of edges |E| (size of G) The running time of algorithms are measured in terms of the order and size

Graphs ↔ Networks Graph (Network) Vertexes (Nodes) Edges (Arcs) Flow Communications Telephones exchanges, computers, satellites Cables, fiber optics, microwave relays Voice, video, packets Circuits Gates, registers, processors WiresCurrent Mechanical JointsRods, beams, springsHeat, energy Hydraulic Reservoirs, pumping stations, lakes PipelinesFluid, oil Financial Stocks, currencyTransactionsMoney Transportation Airports, rail yards, street intersections Highways, railbeds, airway routes Freight, vehicles, passengers

Directed Graph An edge e  E of a directed graph is represented as an ordered pair (u,v), where u, v  V. Here u is the initial vertex and v is the terminal vertex. Also assume here that u ≠ v V = { 1, 2, 3, 4}, | V | = 4 E = {(1,2), (2,3), (2,4), (4,1), (4,2)}, | E |=5

Undirected Graph V = { 1, 2, 3, 4}, | V | = 4 E = {(1,2), (2,3), (2,4), (4,1)}, | E |=4 An edge e  E of an undirected graph is represented as an unordered pair (u,v)=(v,u), where u, v  V. Also assume that u ≠ v

Degree of a Vertex Degree of a vertex in an undirected graph is the number of edges incident on it. In a directed graph, the out degree of a vertex is the number of edges leaving it and the in degree is the number of edges entering it The degree of vertex 2 is 3 The in degree of vertex 2 is 2 and the in degree of vertex 4 is 1

Weighted Graph A weighted graph is a graph for which each edge has an associated weight, usually given by a weight function w: E  R

Walks and Paths V5V5 V4V4 V3V3 V2V2 V1V1 V6V6 4 1 A walk is an sequence of nodes (v 1, v 2,..., v L ) such that {(v 1, v 2 ), (v 1, v 2 ),..., (v 1, v 2 )} E, e.g. (V 2, V 3,V 6, V 5,V 3 ) A cycle is an walk (v 1, v 2,..., v L ) where v 1 =v L with no other nodes repeated and L>3, e.g. (V 1, V 2,V 5, V 4,V 1 ) A simple path is a walk with no repeated nodes, e.g. (V 1, V 4,V 5, V 2,V 3 ) A graph is called cyclic if it contains a cycle; otherwise it is called acyclic

Complete Graphs A D C B 4 nodes and (4*3)/2 edges V nodes and V*(V-1)/2 edges C A B 3 nodes and 3*2 edges V nodes and V*(V-1) edges A complete graph is an undirected/directed graph in which every pair of vertices is adjacent. If (u, v ) is an edge in a graph G, we say that vertex v is adjacent to vertex u.

Connected Graphs A D E F BC A B C D An undirected graph is connected if you can get from any node to any other by following a sequence of edges OR any two nodes are connected by a path A directed graph is strongly connected if there is a directed path from any node to any other node  A graph is sparse if | E |  | V |  A graph is dense if | E |  | V | 2

Bipartite Graph A bipartite graph is an undirected graph G = (V,E) in which V can be partitioned into 2 sets V1 and V2 such that ( u,v)  E implies either u  V1 and v  V2 OR v  V1 and u  V2. u1u1 u2u2 u3u3 u4u4 v1v1 v2v2 v3v3 V1V1 V2V2 An example of bipartite graph application to telecommunication problems can be found in, C.A. Pomalaza-Ráez, “A Note on Efficient SS/TDMA Assignment Algorithms,” IEEE Transactions on Communications, September 1988, pp For another example of bipartite graph applications see the slides in the Addendum section

Trees A B D F C E Let G = (V, E ) be an undirected graph. The following statements are equivalent, 1.G is a tree 2.Any two vertices in G are connected by unique simple path 3.G is connected, but if any edge is removed from E, the resulting graph is disconnected 4.G is connected, and | E | = | V | -1 5.G is acyclic, and | E | = | V | -1 6.G is acyclic, but if any edge is added to E, the resulting graph contains a cycle

Spanning Tree A tree (T ) is said to span G = (V,E) if T = (V,E’) and E’ E V5V5 V4V4 V3V3 V2V2 V1V1 V6V6 V5V5 V4V4 V3V3 V2V2 V1V1 V6V6 V5V5 V4V4 V3V3 V2V2 V1V1 V6V6 For the graph shown on the right two possible spanning trees are shown below For a given graph there are usually several possible spanning trees

Minimum Spanning Tree G = (V, E)T = (V, F) w(T) = Given connected graph G with real-valued edge weights c e, a Minimum Spanning Tree (MST) is a spanning tree of G whose sum of edge weights is minimized Cayley's Theorem (1889) There are n n-2 spanning trees of a complete graph K n  n = |V|, m = |E|  Can't solve MST by brute force (because of n n-2 )

Applications of MST Designing physical networks – telephone, electrical, hydraulic, TV cable, computer, road Cluster analysis – delete long edges leaves connected components – finding clusters of quasars and Seyfert galaxies – analyzing fungal spore spatial patterns Approximate solutions to NP-hard problems – metric TSP (Traveling Salesman Problem), Steiner tree Indirect applications. – describing arrangements of nuclei in skin cells for cancer research – learning salient features for real-time face verification – modeling locality of particle interactions in turbulent fluid flow – reducing data storage in sequencing amino acids in a protein MST is central combinatorial problem with diverse applications

Shortest Path Spanning Tree A shortest path spanning tree (SPTS), T, is a spanning tree rooted at a particular node such that the |V |-1 minimum weight paths from that node to each of the other network nodes is contained in T Graph Minimum Spanning Tree Shortest Path Spanning Tree rooted at vertex 1 Note that the SPST is not the same as the MST