Selected Topics in Data Networking Graph Representation.

Slides:



Advertisements
Similar presentations
CSE 211 Discrete Mathematics
Advertisements

1 Slides based on those of Kenneth H. Rosen Slides by Sylvia Sorkin, Community College of Baltimore County - Essex Campus Graphs.
Discrete Mathematics and Its Applications
1 Section 8.2 Graph Terminology. 2 Terms related to undirected graphs Adjacent: 2 vertices u & v in an undirected graph G are adjacent (neighbors) in.
SE561 Math Foundations Week 11 Graphs I
Graph Theory in CS Route Search in Online Map Services
Discrete Structures Chapter 7A Graphs Nurul Amelina Nasharuddin Multimedia Department.
Copyright © Zeph Grunschlag, Paths and Connectivity Zeph Grunschlag.
Applied Discrete Mathematics Week 12: Trees
Graphs.
KNURE, Software department, Ph , N.V. Bilous Faculty of computer sciences Software department, KNURE Discrete.
Let us switch to a new topic:
9.2 Graph Terminology and Special Types Graphs
GRAPH Learning Outcomes Students should be able to:
Intro to Graphs CSIT 402 Data Structures II. CSIT 402 Graph Introduction2 Graphs Graphs are composed of ›Nodes (vertices) Can be labeled ›Edges (arcs)
Graphs Chapter 10.
Graph Theoretic Concepts. What is a graph? A set of vertices (or nodes) linked by edges Mathematically, we often write G = (V,E)  V: set of vertices,
1 Graphs Chapters 9.1 and 9.2 University of Maryland Chapters 9.1 and 9.2 Based on slides by Y. Peng University of Maryland.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Lecture 5.2: Special Graphs and Matrix Representation CS 250, Discrete Structures, Fall 2013 Nitesh Saxena Adopted from previous lectures by Zeph Grunschlag.
Module #19: Graph Theory: part I Rosen 5 th ed., chs. 8-9 내년 3 월 ? 교환 학생 프로그램 영어 점수 미리미리 준비하세요.
Fall 2015 COMP 2300 Discrete Structures for Computation Donghyun (David) Kim Department of Mathematics and Physics North Carolina Central University 1.
Lecture 10: Graphs Graph Terminology Special Types of Graphs
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 2): Graphs  Graph Terminology (9.2)
9.2: Graph Terminology. Special Simple Graphs Complete GraphsK 1,… CyclesC 3,… WheelsW 3,… N-cubesQ 1,… Complete bipartiteK 2,2,…
Copyright © Zeph Grunschlag, More on Graphs.
Advanced Computer Networks: Part 1 Complex Networks, P2P Networks and Swarm Intelligence on Graphs.
1 CS104 : Discrete Structures Chapter V Graph Theory.
9.1 Introduction to Graphs
GRAPHS THEROY. 2 –Graphs Graph basics and definitions Vertices/nodes, edges, adjacency, incidence Degree, in-degree, out-degree Subgraphs, unions, isomorphism.
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
Graphs What are Graphs? General meaning in everyday math: A plot or chart of numerical data using a coordinate system. Technical meaning in discrete.
9 Graphs. A graph G = (V, E) consists of V, a nonempty set of vertices (or nodes) and E, a set of edges. Each edge has either one or two vertices associated.
COSC 2007 Data Structures II Chapter 14 Graphs I.
September1999 CMSC 203 / 0201 Fall 2002 Week #13 – 18/20/22 November 2002 Prof. Marie desJardins.
Chapter 5 Graphs  the puzzle of the seven bridge in the Königsberg,  on the Pregel.
Introduction to Graph Theory
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 1): Graphs  Introduction to Graphs (9.1)
Graphs 9.1 Graphs and Graph Models أ. زينب آل كاظم 1.
Homework #5 Due: October 31, 2000 Christine Kang Graph Concepts and Algorithms.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Basic properties Continuation
Graphs Basic properties.
1 Graphs Terminology By: Sandeep Tuli Astt. Prof. CSE.
Lecture 5.1: Graphs Basics
Chapter 9: Graphs.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Lecture 5.3: Graph Isomorphism and Connectivity CS 250, Discrete Structures, Fall 2011 Nitesh Saxena *Adopted from previous lectures by Zeph Grunschlag.
Chap 7 Graph Def 1: Simple graph G=(V,E) V : nonempty set of vertices E : set of unordered pairs of distinct elements of V called edges Def 2: Multigraph.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
رياضيات متقطعة لعلوم الحاسب MATH 226. Chapter 10.
1 Graphs Chapters 10.1 and 10.2 University of Maryland Chapters 10.1 and 10.2 Based on slides by Y. Peng University of Maryland.
Chapter Chapter Summary Graphs and Graph Models Graph Terminology and Special Types of Graphs Representing Graphs and Graph Isomorphism Connectivity.
Chapter 9 (Part 2): Graphs
Lecture 5.2: Special Graphs and Matrix Representation
Lecture 19: CONNECTIVITY Sections
Applied Discrete Mathematics Week 13: Graphs
Basic Concepts Graphs For more notes and topics visit:
Copyright © Zeph Grunschlag,
Graph Graphs and graph theory can be used to model:
Chapters 8.1 and 8.2 Based on slides by Y. Peng University of Maryland
CS 250, Discrete Structures, Fall 2015
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 10 Graphs Slides are adopted from “Discrete.
Graphs Chapters 10.1 and 10.2 Based on slides by Y. Peng University of Maryland.
Graphs.
Chapters 8.1 and 8.2 Based on slides by Y. Peng University of Maryland
CS100: Discrete structures
Let us switch to a new topic:
Paths and Connectivity
Applied Discrete Mathematics Week 13: Graphs
Presentation transcript:

Selected Topics in Data Networking Graph Representation

Copyright © Zeph Grunschlag, Graphs Zeph Grunschlag

L233 Graphs –Intuitive Notion A graph is a bunch of vertices (or nodes) represented by circles which are connected by edges, represented by line segments. Mathematically, graphs are binary-relations on their vertex set (except for multigraphs).

L234 Simple Graphs Different purposes require different types of graphs. EG: Suppose a local computer network  Is bidirectional (undirected)  Has no loops (no “self-communication”)  Has unique connections between computers

L235 Simple Graphs Vertices are labeled to associate with particular computers Each edge can be viewed as the set of its two endpoints {1,2} {3,4} {2,4}{1,3} {2,3} {1,4}

L236 Simple Graphs DEF: A simple graph G = (V,E ) consists of a non-empty set V of vertices (or nodes) and a set E (possibly empty) of edges where each edge is a subset of V with cardinality 2 (an unordered pair). Q: For a set V with n elements, how many possible edges there? A: The number of pairs in V = C (n,2) = n · (n -1) / 2

L237 Simple Graphs Q: How many possible graphs are there for the same set of vertices V ? A: The number of subsets in the set of possible edges. There are n · (n -1) / 2 possible edges, therefore the number of graphs on V is 2 n(n -1)/2

L238 Multigraphs If computers are connected via internet instead of directly, there may be several routes to choose from for each connection.  Depending on traffic, one route could be better than another.  Makes sense to allow multiple edges, but still no self-loops:

L239 Multigraphs Edge-labels distinguish between edges sharing same endpoints. Labeling can be thought of as function: e 1  {1,2}, e 2  {1,2}, e 3  {1,3}, e 4  {2,3}, e 5  {2,3}, e 6  {1,2} e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2310 Pseudographs If self-loops are allowed we get a pseudograph: Now edges may be associated with a single vertex, when the edge is a loop e 1  {1,2}, e 2  {1,2}, e 3  {1,3}, e 4  {2,3}, e 5  {2}, e 6  {2}, e 7  {4} e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7

L2311 Undirected Graphs Terminology Vertices are adjacent if they are the endpoints of the same edge. Q: Which vertices are adjacent to 1? How about adjacent to 2, 3, and 4? e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2312 Undirected Graphs Terminology A:1 is adjacent to 2 and 3 2 is adjacent to 1 and 3 3 is adjacent to 1 and 2 4 is not adjacent to any vertex e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2313 Undirected Graphs Terminology A vertex is incident with an edge (and the edge is incident with the vertex) if it is the endpoint of the edge. Q: Which edges are incident to 1? How about incident to 2, 3, and 4? e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2314 Undirected Graphs Terminology A:e 1, e 2, e 3, e 6 are incident with 1 2 is incident with e 1, e 2, e 4, e 5, e 6 3 is incident with e 3, e 4, e 5 4 is not incident with any edge e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2315 Digraphs Last time introduced digraphs as a way of representing relations: Q: What type of pair should each edge be (multiple edges not allowed)?

L2316 Digraphs A: Each edge is directed so an ordered pair (or tuple) rather than unordered pair. Thus the set of edges E is just the represented relation on V (1,2) (1,1) (2,2) (2,4) (1,3) (2,3) (3,4) (3,3) (4,4)

L2317 Digraphs DEF: A directed graph (or digraph) G = (V,E ) consists of a non-empty set V of vertices (or nodes) and a set E of edges with E  V  V. The edge (a,b) is also denoted by a  b and a is called the source of the edge while b is called the target of the edge.

L2318 Digraphs Q: For a set V with n elements, how many possible digraphs are there? A: The same as the number of relations on V, which is the number of subsets of V  V so 2 n·n.

L2319 Directed Multigraphs If also want to allow multiple edges in a digraph, get a directed multigraph (or multi-digraph). Q: How to use sets and functions to deal with multiple directed edges, loops? 1 2 3

L2320 Directed Multigraphs A: Have function with domain the edge set and codomain V  V. e 1  (1,2), e 2  (1,2), e 3  (2,2), e 4  (2,3), e 5  (2,3), e 6  (3,3), e 7  (3,3) e1e1 e3e3 e2e2 e4e4 e5e5 e7e7 e6e6

Graphs with Values a b ce d Undirected, binary Directed, binary a b ce d a b ce d Undirected, Valued Directed, Valued a b ce d

L2322 Degree The degree of a vertex counts the number of edges that seem to be sticking out if you looked under a magnifying glass: Thus deg(2) = 7 even though 2 only incident with 5 edges e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 magnify

L2323 Degree Q: How to define this formally? A: Add 1 for every regular edge incident with vertex and 2 for every loop. Thus deg(2) = = e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 magnify

L2324 Oriented Degree when Edges Directed The in-degree of a vertex (deg - ) counts the number of edges that stick in to the vertex. The out-degree (deg + ) counts the number sticking out

L2325 Oriented Degree when Edges Directed Q: What are in-degrees and out-degrees of all the vertices? A: deg - (1) = 0 deg - (2) = 3 deg - (3) = 4 deg + (1) = 2 deg + (2) = 3 deg + (3) =

L2326 Handshaking Theorem There are two ways to count the number of edges in the above graph: Just count the set of edges: 7 Count seeming edges vertex by vertex and divide by 2 because double-counted edges: ( deg(1)+deg(2)+deg(3)+deg(4) )/2 = ( )/2 = 14/2 = e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7

L2327 Handshaking Theorem THM: In an undirected graph In a directed graph

L2328 Graph Patterns Complete Graphs - K n A simple graph is complete if every pair of distinct vertices share an edge. The notation K n denotes the complete graph on n vertices. K 1 K 2 K 3 K 4 K 5

L2329 Graph Patterns Cycles - C n The cycle graph C n is a circular graph. They look like polygons: C 1 C 2 C 3 C 4 C 5 Q: What type of graph are C 1 and C 2 ?

L2330 Graph Patterns Wheels - W n A: Pseudographs The wheel graph W n is just a cycle graph with an extra vertex in the middle: W 1 W 2 W 3 W 4 W 5

L2331 Graph Patterns Cubes - Q n The n-cube Q n is defined recursively. Q 0 is just a vertex. Q n+1 is gotten by taking 2 copies of Q n and joining each vertex v of Q n with its copy v’ : Q 0 Q 1 Q 2 Q 3 Q 4 (hypercube)

L2332 Bipartite Graphs A simple graph is bipartite if V can be partitioned into V = V 1  V 2 so that any two adjacent vertices are in different parts of the partition. Another way of expressing the same idea is bichromatic : vertices can be colored using two colors so that no two vertices of the same color are adjacent.

L2333 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2334 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2335 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2336 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2337 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2338 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2339 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2340 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2341 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2342 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2343 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2344 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2345 Bipartite Graphs Q: For which n is C n bipartite? A: C n is bipartite when n is even.

L2346 Subgraphs Notice that the 2-cube occurs inside the 3-cube. In other words, Q 2 is a subgraph of Q 3 : DEF: Let G = (V,E ) and H = (W,F ) be graphs. H is said to be a subgraph of G, if W  V and F  E. Q: How many Q 2 subgraphs does Q 3 have?

L2347 Subgraphs A: Each face of Q 3 is a Q 2 subgraph so the answer is 6, as this is the number of faces on a 3-cube:

L2348 Unions In previous example can actually reconstruct the 3-cube from its 6 2-cube faces:

L2349 Unions If we assign the 2-cube faces (aka Squares) the names S 1, S 2, S 3, S 4, S 5, S 6 then Q 3 is the union of its faces: Q 3 = S 1  S 2  S 3  S 4  S 5  S 6

L2350 Unions DEF: Let G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) be two simple graphs (and V 1,V 2 may or may not be disjoint). The union of G 1, G 2 is formed by taking the union of the vertices and edges. I.E: G 1  G 2 = (V 1  V 2, E 1  E 2 ). A similar definitions can be created for unions of digraphs, multigraphs, pseudographs, etc.

L2351 Adjacency Matrix We already saw a way of representing relations on a set with a Boolean matrix: R digraph(R) M R

L2352 Adjacency Matrix Since digraphs are relations on their vertex sets, can adopt the concept to represent digraphs. In the context of graphs, we call the representation an adjacency matrix : For a digraph G = (V,E ) define matrix A G by: Rows, Columns –one for each vertex in V Value at i th row and j th column is  1 if i th vertex connects to j th vertex (i  j )  0 otherwise

L2353 Adjacency Matrix-Directed Multigraphs Can easily generalize to directed multigraphs by putting in the number of edges between vertices, instead of only allowing 0 and 1: For a directed multigraph G = (V,E ) define the matrix A G by: Rows, Columns –one for each vertex in V Value at i th row and j th column is  The number of edges with source the i th vertex and target the j th vertex

L2354 Adjacency Matrix-Directed Multigraphs Q: What is the adjacency matrix?

L2355 Adjacency Matrix-Directed Multigraphs A:

L2356 Adjacency Matrix-General Undirected graphs can be viewed as directed graphs by turning each undirected edge into two oppositely oriented directed edges, except when the edge is a self-loop in which case only 1 directed edge is introduced. EG:

L2357 Adjacency Matrix-General Q: What’s the adjacency matrix? 12 34

L2358 Adjacency Matrix-General 12 34

L2359 Adjacency Matrix-General For an undirected graph G = (V,E ) define the matrix A G by: Rows, Columns –one for each element of V Value at i th row and j th column is the number of edges incident with vertices i and j.

References Graphs (ppt), Zeph Grunschlag,