Department of Mathematics Topics to be covered Directed Graphs Connectivity in digraphs Shortest paths in digraphs Dijkstras Algorithm Floyd-Warshall Algorithm.
15-04-2017 BITS, PILANI K. K. BIRLA GOA 2
CAMPUS Directed Graphs Definition: A directed graph (or digraph in short) D consists of a nonempty finite set V of objects called vertices and a set A of ordered pair of distinct vertices called directed edges or arcs of D. A digraph is also referred as oriented graph, which is obtained from G by orienting the edges of G. A digraph D in which at most one of the arc (u, v) and (v, u) arcs is present is called an oriented graph. If (u,v) is an arc then u is called the initial vertex and v is called terminal vertex. 15-04-2017 BITS, PILANI K. K. BIRLA GOA CAMPUS 3 Digraphs Contd. Degree: There are two different types of degree in a digraph D. In-degree: The in-degree of a vertex v is the number of arcs incoming to v and is denoted by d-(v). Out-degree: The out-degree of a vertex v is the number of arcs going out from v and is denoted by d+(v).
15-04-2017 BITS, PILANI K. K. BIRLA GOA 4
CAMPUS Digraphs Contd. Adjacency matrix of a (p, q)-digraph G is a square matrix A(D) = [ai,j ] of order p p, where ai,j = 1 if uiuj E and 0 otherwise. The adjacency matrix occurs in many different disciplines and therefore it is known as transition matrix(sequential machine), relation or connection matrix(networks), performance matrix(social networks) etc.
15-04-2017 BITS, PILANI K. K. BIRLA GOA 5
CAMPUS Digraphs contd.
Theorem: If D is a digraph of order n and size m
with vertex set V(D) = {v1,v2,,vn} the sum of in- degree = sum of out-degree = # arcs in D. Connectedness: There are two types of connected digraph. Weakly connected: A digraph D is said to be weakly connected if its underlying graph is connected.
15-04-2017 BITS, PILANI K. K. BIRLA GOA 6
CAMPUS Digraphs Contd. Strongly connected: A digraph D is said to be strongly connected if every vertex reachable from any other vertices. Diwalk: A sequence of vertices and arcs W = u = u0,u1,,uk = v such that uiui+1 A(D), where 1 i k-1. Ditrail: A diwalk without repetition of arcs. Dicircuit: A closed ditrail 2. 15-04-2017 BITS, PILANI K. K. BIRLA GOA 7 CAMPUS Digraphs Contd. Dipath: A diwalk without repetition of vertices. Dicycle: A closed dipath 2. Theorem: If there is a (u,v)-diwalk of length l in a digraph D then there is a dipath of length at most l. Theorem: A digraph is strong if and only if D has a closed spanning dicircuit. 15-04-2017 BITS, PILANI K. K. BIRLA GOA 8 CAMPUS Digraphs Contd. Shortest Path: A di-path of a digraph D which contains leas number of arcs of D between any pair of vertices. The number of arcs in a shortest path is known as shortest distance.
15-04-2017 BITS, PILANI K. K. BIRLA GOA 9
CAMPUS Dijkstras Algorithm Input: A weighted digraph D = (V, A, w) and a source vertex as s = 1 V. Output: A shortest path from 1 to all vertices. Initialize: V = {1,2,, n}. Step-1: U = {2,3,n}; For i = 2 to n Path-cost array[i] = w1i For i = 1 to n-2 15-04-2017 BITS, PILANI K. K. BIRLA GOA 10 CAMPUS Digraphs Contd. Umin = {x | x U and path-cost[x] is minimum}; v = an element from Umin; U = U \{v} Step-2: for every u U Do the path-cost[u] = min{path-cost[u], path- cost[v]+wvu} Stop whenever implementation is not possible. 15-04-2017 BITS, PILANI K. K. BIRLA GOA 11 CAMPUS Floyd-Warshall Algorithm Let distance be a |V| |V| array of minimum distances initialized to (infinity). for each vertex v; dist[v][v] 0 for each edge (u, v); dist[u][v] w(u,v) the weight of the edge (u,v) for k from 1 to |V| for i from 1 to |V| for j from 1 to |V| if dist[i][j] > dist[i][k] + dist[k][j] dist[i][j] dist[i][k] + dist[k][j] end if 15-04-2017 BITS, PILANI K. K. BIRLA GOA 12 CAMPUS Thanks