Centrality Measures. Computing Closeness and Betweennes. Andrea Marino. Pisa, February PhD Course on Graph Mining Algorithms, Università di Pisa

Size: px
Start display at page:

Download "Centrality Measures. Computing Closeness and Betweennes. Andrea Marino. Pisa, February PhD Course on Graph Mining Algorithms, Università di Pisa"

Transcription

1 Computing Closeness and Betweennes PhD Course on Graph Mining Algorithms, Università di Pisa Pisa, February 2018

2 Centrality measures The problem of identifying the most central nodes in a network is a fundamental question that has been asked many times in a plethora of research areas, such as biology, computer science, sociology, and psychology... Because of the importance of this question, dozens of centrality measures have been introduced in the literature. Paolo Boldi, Sebastiano Vigna: Axioms for Centrality. Internet Mathematics 10(3-4): (2014)

3 Some of them Local indices (In)degree Number of triangles Spectral indices, based on some linear-algebra construction Recursive definition: node is important if connected to important vertices (PageRank, Katz, Seeley) Path-based indices, based on the number of paths or shortest paths passing through a vertex! Shortest paths passing through a vertex (Betwenness) Paths ending in a vertex (different point of view for Katz Index) Geometric indices, based on distances from a vertex to other vertices Average distance of one vertex to all the others (Closeness or Harmonic)

4 Closeness and Betweenness Closeness and betweenness centrality are certainly two of the oldest and of the most widely used: almost all books dealing with network analysis discuss them, almost all existing network analysis libraries implement algorithms to compute them. We will examine algorithms for computing these two centrality measures, by restricting ourselves to unweighted graphs.

5 Part I Closeness Centrality

6 Closeness Main Idea A central node should be very efficient in spreading information to all other nodes A node is central if the average number of links needed to reach another node is small. Definition In a connected graph, the closeness centrality of a node v is defined as c(v) = n 1 f (v), where f (v) = w V d(v, w) is the farness of v, and d(v, w) is the distance between the two vertices v and w (that is, the number of edges in a shortest path from v to w).

7 If the graph is not (strongly) connected Researchers have proposed various ways to extend this definition: here, we focus on Lin s index. Definition Let R(v) be the set of vertices reachable from v, and let r(v) denote its cardinality (note that v R(v) by definition). Then, the closeness centrality of a node v is equal to c(v) = r(v) 1 r(v) 1 = f (v) n 1 where f (v) = w R(v) d(v, w). (r(v) 1)2 (n 1)f (v) N. Lin. Foundations of social research. McGraw-Hill, 1976.

8 Exact Closeness Computation Computing the closeness value for each node v can be easily done by executing a breadth-first search starting from v. If we want to compute the closeness value of all nodes of the graph, then the time complexity would be O(nm) O(nm) time complexity is not affordable whenever we deal with very large graphs.

9 Approximating Closeness Centrality Consider a simple algorithm for computing the closeness centrality in undirected unweighted graphs, which is based on random sampling. This algorithm performs k breadth-first searches from k random nodes v 1,..., v k and, for any node u, return ĉ(u) = k i=1 1 nd(v i,u) k(n 1). Theorem If k = Θ ( log n ɛ 2 ), with high probability 1 ĉ(u) 1 c(u) < ɛ. David Eppstein, Joseph Wang: Fast approximation of centrality. SODA 2001:

10 Top-k central nodes We focus on the problem of computing only the k most important nodes with respect to the closeness centrality computing an approximation of the closeness values does not guarantee that we can determine the top-k nodes. Theorem On directed sparse graphs, in the worst case, an algorithm computing the most closeness central vertex in time O(m 2 ɛ ) for some ɛ > 0 would falsify SETH. Elisabetta Bergamini, Michele Borassi, Pierluigi Crescenzi,, Henning Meyerhenke: Computing top-k Closeness Centrality Faster in Unweighted Graphs. CoRR abs/ (2017). To appear.

11 Exact Computation The simplest algorithm for computing the k vertices with largest closeness 1 It performs a breadth-first search from each vertex v, 2 it computes its closeness c(v), and, 3 finally, it returns the k vertices with biggest c(v) values.

12 Speeding up the Algorithm: General Schema 1 It sets c(v) equal to the result of a pruned breadth-first search, this pruned BFS receives in input the starting node v and a value x k, which is the k-th biggest closeness value found until now (x k = 0 if we have not processed at least k vertices). 2 If this pruned BFS returns the value 0, it means that v is not one of k most central vertices, otherwise c(v) is the actual closeness of v. 3 At the end, the k vertices with biggest closeness values are again the k most central vertices. The order of the nodes To speed-up the pruned BFS, we want x k to be as big as possible, and consequently we need to process central vertices as soon as possible. To this purpose, we process vertices in decreasing order of degree.

13 Time cost analysis This algorithm needs a pre-processing, which requires linear time. It requires time O(n log n) to sort vertices, and it needs a priority queue containing at each step the k most central vertices. Since all other operations need time O(1), the total running time is O(m + n log n + n log k + T ) = O(m + n log n + T )), where log k is the time necessary to execute extraction and update operations in a priority queue and T is the time needed to perform the pruned breadth-first search n times. We can easily parallelise this algorithm, by giving each vertex to a different thread: there could be some race condition on x k but it does not affect correctness and performance.

14 The pruned breadth-first search Reminder A pruned BFS receives in input the starting node v and a value x k, which is the k-th biggest closeness value found until now (x k = 0 if we have not processed at least k vertices). The pruning of a BFS started from node v makes use of an upper bound c v () on the closeness of v, which has to be updated whenever, for any d 0, the exploration of the d-th level of the breadth-first search tree is finished. This upper bound c v () is obtained by proving a lower bound on the farness of v, i.e. f (v), since: c(v) = (r(v) 1)2 (n 1)f (v) where recall that f (v) = w R(v) d(v, w).

15 A lower bound on the farness If Γ d (v) denotes the nodes at level d of the BFS tree started from v and if γ d (v) = Γ d (v), then where f (v) f d (v) + (d + 1)γ d+1 (v) + (d + 2)(r(v) n d+1 (v)), f d (v) = d i Γ i (v) and n d (v) = i=1 d Γ i (v). i=1 Since n d+1 (v) = γ d+1 (v) + n d (v), we have that f (v) f d (v) γ d+1 (v) + (d + 2)(r(v) n d (v)).

16 f (v) f d (v) γ d+1 (v) + (d + 2)(r(v) n d (v)). At the end of the exploration of the d-th level of the breadth-first search tree, we don t know yet the value of γ d+1 (v). However, we can certainly say that this value is not greater than the sum of the degrees of all nodes at level d, that is, γ d+1 (v) deg(v) := γ d+1 (v). Hence, u Γ d (v) f (v) f d (v) γ d+1 (v) + (d + 2)(r(v) n d (v)) := f d (v, r(v)). This lower bound on the farness implies the following upper bound on the closeness: c(v) (r(v) 1)2 (n 1) 1 f d (v, r(v)) := c d(v).

17 Summary After the exploration of the first d levels of the breadth-first search started from node v, an upper bound on the closeness value of v can be computed.

18 Using the upper bound to prune the BFS Reminder A pruned BFS receives in input the starting node v and a value x k, which is the k-th biggest closeness value found until now (x k = 0 if we have not processed at least k vertices). At the end of the exploration of the d-th level of the breadth-first search tree, the upper bound c d (v) is computed and compared to x k. If x k > c d (v) c(v), the BFS is interrupted, since for sure the node v is not among the top-k vertices. Otherwise, the BFS continues with the exploration of the next level of the search tree.

19 Computing the upper bound We have said: c(v) (r(v) 1)2 (n 1) 1 f d (v, r(v)) := c d(v). Everything is known after the exploration of the d-th level of the BFS tree apart from the value r(v). If the graph is undirected, r(v) can be easily pre-computed (connected components). If the graph is directed and strongly connected, then r(v) = n. It remains to deal with the case in which the graph is directed but not strongly connected.

20 The directed but not strongly connected case Let us assume, for now, that we know a lower (respectively, upper) bound α(v) (respectively, ω(v)) on r(v) without loss of generality we can assume that α(v) > 1. We now show that, instead of examining all possible values of r(v) between α(v) and ω(v), it is sufficient to examine only the two extremes of this interval. We prove the following lower bound λ d (v) on 1 c(v) : Lemma ( 1 f c(v) λ d (v, α(v)) d(v) = (n 1) min (α(v) 1) 2, f ) d (v, ω(v)) (ω(v) 1) 2.

21 If we denote a = d + 2 and b = γ d+1 (v) + a(n d (v) 1) f d (v), we have that f (v) f d (v) γ d+1 (v) + a(r(v) n d (v)) = a(r(v) 1) + f d (v) γ d+1 (v) a(n d (v) 1) = a(r(v) 1) b. Note that a > 0 because d > 0, and b > 0 because f d (v) = d(v, w) d(n d (v) 1) < a(n d (v) 1) w N d (v) where N d (v) = d i=1 Γ i(v) and the first inequality holds because, if w = v, then d(v, w) = 0, and if w N d (v), then d(v, w) d. Hence, 1 1) b (n 1)a(r(v) c(v) (r(v) 1) 2.

22 Let us consider the function g(x) = ax b x 2. The derivative g (x) = ax+2b is positive for 0 < x < 2b x 3 a x > 2b : a and negative for this means that 2b a is a local maximum, and there are no local minima for x > 0. Consequently, in each closed interval [x 1, x 2 ] where x 1 and x 2 are positive, the minimum of g(x) is reached in x 1 or x 2. Since 0 < α(v) 1 r(v) 1 ω(v) 1, g(r(v) 1) min(g(α(v) 1), g(ω(v) 1)) The plot of function g(x) = ax b with x 2 a = b = 1. There is a local maximum but no local minimum: hence, in each closed interval the minimum is reached in the extremes of the interval.

23 It now remains to compute α(v) and ω(v) (in the case of a directed graph which is not strongly connected). This can be done during the pre-processing phase of the algorithm as follows. Let G scc be the component graph of G and, for any SCC D, let w(d) denote the number of nodes in D. If v and w are in the same SCC, then r(v) = r(w) = D r(c) w(d), where r(c) denotes the set of SCCs that are reachable from C in G scc. Hence, we simply need to compute a lower (respectively, upper) bound α(c) (respectively, ω(c)) on D r(c) w(d), for every SCC C.

24 To compute a lower (respectively, upper) bound α(c) (respectively, ω(c)) on w(d), for every SCC C. D r(c) We first compute a topological sort {C 1,..., C l } of V scc (that is, if (C i, C j ) E scc, then i < j). Successively, we use a dynamic programming approach, and, by starting from C l, we process the SCCs in reverse topological order, and we set α(c) = w(c) + max α(d) ω(c) = w(c) + ω(d). (C,D) E scc (C,D) E scc Processing the SCCs in reverse topological ordering ensures that the values α(d) and ω(d) on the right hand side of these equalities are available when we process the SCC C. Clearly, the complexity of computing α(c) and ω(c), for each SCC C, is linear in the size of G, which is smaller than G.

25 Observe that the bounds obtained through this simple approach can be improved by using some tricks. When the biggest SCC C is processed, we do not use the dynamic programming approach and we can exactly compute C) w(d) by simply performing a BFS starting from any D r( node in C. We get exact α( C) and ω( C) Also α(c) and ω(c) are improved for each SCC C from which it is possible to reach C. In order to compute the upper bounds for the SCCs that are able to reach C, we can run the dynamic programming algorithm on the graph obtained from G scc by removing all components reachable from C, and we can then add D r( C) w(d).

26 IMDB Analyzing the Internet Movie DataBase (in short, IMDB) graph, where nodes are actors, and two actors are connected if they played together in a movie (TV-series are ignored). The data can be collected from the website (some genres can be excluded such as awards-shows, documentaries, game-shows, news, realities and talk-shows). We can then analyze snapshots of the actor graph, taken every 5 years from 1940 to 2010, and 2014.

27 The most central actors in the IMDB graph with respect to the closeness centrality measure. The total time needed to perform the computation with 30 threads is less than 40 minutes!

28 Part II Betweenness centrality

29 Another popular centrality measure is betweenness centrality, which ranks the nodes according to their participation in the shortest paths between other node pairs. Intuitively, betweenness measures a node s influence on the information flow circulating through the social network, under the assumption that the flow follows shortest paths.

30 Definition Let σ s,t be the number of shortest paths going from node s to node t, and let σ s,t (v) be the number of shortest paths going from node s to node t and passing through node v. Then, the betweenness centrality value of node v is equal to b(v) = s v,t v σ s,t (v) σ s,t. In order to compute b(v), we can compute the contribution of a node s v to b(v), that is, the value b s (v) = t v σ s,t (v) σ s,t.

31 To this aim, we make use of the so-called Brandes algorithm, which performs two basic steps (in the following, we will restrict ourselves to undirected unweighted connected graphs). 1 An augmented breadth-first search starting from s, which allows us to compute, for every node t, the value σ s,t. 2 An accumulation phase which uses the breadth-first search DAG constructed during the previous phase, in order to compute, for every node v, the value b s (v). U.Brandes. A faster algorithm for betweenness centrality. The Journal of Mathematical Sociology, 25: , 2001.

32 Augmented breadth-first search During the augmented BFS, each node v maintains a list A(v) of its predecessors in a shortest path from the starting node s, and the number σ s,v of shortest path from s to v. Each time a node v is inserted into the queue, the node u which inserted it is also memorized along with its distance from s and its value σ s,u. Once the node v is extracted from the queue, if d(s, v) = d(s, u) + 1, then the node u is added to the list A(v), and σ s,v is increased of σ s,u. At the end of the augmented breadth-first search each node v has computed its value σ s,v and the set of all predecessors.

33 An Example

34 After the augmented phase, each node v has computed its value σ s,v and the set of all predecessors.

35 Accumulation phase During the accumulation phase, each node v distributes its value σ s,v to its predecessors u 1,..., u h, proportionally to their values σ s,ui. Each node v receives from its successors w 1,..., w k in the breadth-first search DAG a value x 1,..., x k. It then computes the sum X (v) = 1 + x x k, and it sends to each u i the value X (v) σs,u i σ s,v. By using the dynamic programming technique, this process can be done in linear time starting from the nodes in the DAG which have no outgoing edges. All the information necessary to execute the process are available at the right time. Finally, for each node v, we can set σ s,v = X (v) 1 (remember that we do not want to count the paths arriving at X ).

36 After the accumulation phase each node v has computed its value σ s,v.

37 The whole algorithm By executing the augmented BFS starting from each node s and by executing the corresponding accumulation phase, we can compute for each v the value σ s,v. Hence, the last step is to compute the betweenness centrality value of v by summing up all these values, that is, b(v) = s v σ s,v. For the time complexity of the Brandes algorithm, the time complexity if O(nm), since we are visiting twice the breadth-first search DAG starting from each node s. Since this time complexity is not affordable whenever the graph is very large, several approximation algorithms has been proposed.

38 Thanks Part of these slides are based on a chapter written by Pierluigi Crescenzi for his course Algorithms for Graph Mining.

Theory of Computing. Lecture 4/5 MAS 714 Hartmut Klauck

Theory of Computing. Lecture 4/5 MAS 714 Hartmut Klauck Theory of Computing Lecture 4/5 MAS 714 Hartmut Klauck How fast can we sort? There are deterministic algorithms that sort in worst case time O(n log n) Do better algorithms exist? Example [Andersson et

More information

Graph Algorithms. Chapter 22. CPTR 430 Algorithms Graph Algorithms 1

Graph Algorithms. Chapter 22. CPTR 430 Algorithms Graph Algorithms 1 Graph Algorithms Chapter 22 CPTR 430 Algorithms Graph Algorithms Why Study Graph Algorithms? Mathematical graphs seem to be relatively specialized and abstract Why spend so much time and effort on algorithms

More information

Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu

Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu CS 267 Lecture 3 Shortest paths, graph diameter Scribe from 2014/2015: Jessica Su, Hieu Pham Date: October 6, 2016 Editor: Jimmy Wu Today we will talk about algorithms for finding shortest paths in a graph.

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Strongly connected: A directed graph is strongly connected if every pair of vertices are reachable from each other.

Strongly connected: A directed graph is strongly connected if every pair of vertices are reachable from each other. Directed Graph In a directed graph, each edge (u, v) has a direction u v. Thus (u, v) (v, u). Directed graph is useful to model many practical problems (such as one-way road in traffic network, and asymmetric

More information

Graph Representations and Traversal

Graph Representations and Traversal COMPSCI 330: Design and Analysis of Algorithms 02/08/2017-02/20/2017 Graph Representations and Traversal Lecturer: Debmalya Panigrahi Scribe: Tianqi Song, Fred Zhang, Tianyu Wang 1 Overview This lecture

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 04 Elementary Graph Algorithms (Chapter 22) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu Introduction

More information

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019 CS 341: Algorithms Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo February 26, 2019 D.R. Stinson (SCS) CS 341 February 26, 2019 1 / 296 1 Course Information 2 Introduction

More information

Lecture 22 Tuesday, April 10

Lecture 22 Tuesday, April 10 CIS 160 - Spring 2018 (instructor Val Tannen) Lecture 22 Tuesday, April 10 GRAPH THEORY Directed Graphs Directed graphs (a.k.a. digraphs) are an important mathematical modeling tool in Computer Science,

More information

Shortest Path Problem

Shortest Path Problem Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Graph Representation

Graph Representation Graph Representation Adjacency list representation of G = (V, E) An array of V lists, one for each vertex in V Each list Adj[u] contains all the vertices v such that there is an edge between u and v Adj[u]

More information

Lecture 7: Asymmetric K-Center

Lecture 7: Asymmetric K-Center Advanced Approximation Algorithms (CMU 18-854B, Spring 008) Lecture 7: Asymmetric K-Center February 5, 007 Lecturer: Anupam Gupta Scribe: Jeremiah Blocki In this lecture, we will consider the K-center

More information

CSI 604 Elementary Graph Algorithms

CSI 604 Elementary Graph Algorithms CSI 604 Elementary Graph Algorithms Ref: Chapter 22 of the text by Cormen et al. (Second edition) 1 / 25 Graphs: Basic Definitions Undirected Graph G(V, E): V is set of nodes (or vertices) and E is the

More information

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M.

Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M. Lecture 9 Graphs Scribes: Romil Verma, Juliana Cook (2015), Virginia Williams, Date: May 1, 2017 and Seth Hildick-Smith (2016), G. Valiant (2017), M. Wootters (2017) 1 Graphs A graph is a set of vertices

More information

4/8/11. Single-Source Shortest Path. Shortest Paths. Shortest Paths. Chapter 24

4/8/11. Single-Source Shortest Path. Shortest Paths. Shortest Paths. Chapter 24 /8/11 Single-Source Shortest Path Chapter 1 Shortest Paths Finding the shortest path between two nodes comes up in many applications o Transportation problems o Motion planning o Communication problems

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Centrality in Large Networks

Centrality in Large Networks Centrality in Large Networks Mostafa H. Chehreghani May 14, 2017 Table of contents Centrality notions Exact algorithm Approximate algorithms Conclusion Centrality notions Exact algorithm Approximate algorithms

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Graph representation

Graph representation Graph Algorithms 1 Graph representation Given graph G = (V, E). May be either directed or undirected. Two common ways to represent for algorithms: 1. Adjacency lists. 2. Adjacency matrix. When expressing

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. Directed

More information

Graphs. Terminology. Graphs & Breadth First Search (BFS) Extremely useful tool in modeling problems. Consist of: Vertices Edges

Graphs. Terminology. Graphs & Breadth First Search (BFS) Extremely useful tool in modeling problems. Consist of: Vertices Edges COMP Spring Graphs & BS / Slide Graphs Graphs & Breadth irst Search (BS) Extremely useful tool in modeling problems. Consist of: Vertices Edges Vertex A B D C E Edge Vertices can be considered sites or

More information

CSE 417: Algorithms and Computational Complexity. 3.1 Basic Definitions and Applications. Goals. Chapter 3. Winter 2012 Graphs and Graph Algorithms

CSE 417: Algorithms and Computational Complexity. 3.1 Basic Definitions and Applications. Goals. Chapter 3. Winter 2012 Graphs and Graph Algorithms Chapter 3 CSE 417: Algorithms and Computational Complexity Graphs Reading: 3.1-3.6 Winter 2012 Graphs and Graph Algorithms Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

More information

Sergei Silvestrov, Christopher Engström. January 29, 2013

Sergei Silvestrov, Christopher Engström. January 29, 2013 Sergei Silvestrov, January 29, 2013 L2: t Todays lecture:. L2: t Todays lecture:. measurements. L2: t Todays lecture:. measurements. s. L2: t Todays lecture:. measurements. s.. First we would like to define

More information

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review

CS 161 Lecture 11 BFS, Dijkstra s algorithm Jessica Su (some parts copied from CLRS) 1 Review 1 Review 1 Something I did not emphasize enough last time is that during the execution of depth-firstsearch, we construct depth-first-search trees. One graph may have multiple depth-firstsearch trees,

More information

CSE 331: Introduction to Algorithm Analysis and Design Graphs

CSE 331: Introduction to Algorithm Analysis and Design Graphs CSE 331: Introduction to Algorithm Analysis and Design Graphs 1 Graph Definitions Graph: A graph consists of a set of verticies V and a set of edges E such that: G = (V, E) V = {v 0, v 1,..., v n 1 } E

More information

CS 270 Algorithms. Oliver Kullmann. Breadth-first search. Analysing BFS. Depth-first. search. Analysing DFS. Dags and topological sorting.

CS 270 Algorithms. Oliver Kullmann. Breadth-first search. Analysing BFS. Depth-first. search. Analysing DFS. Dags and topological sorting. Week 5 General remarks and 2 We consider the simplest graph- algorithm, breadth-first (). We apply to compute shortest paths. Then we consider the second main graph- algorithm, depth-first (). And we consider

More information

Chapter 22. Elementary Graph Algorithms

Chapter 22. Elementary Graph Algorithms Graph Algorithms - Spring 2011 Set 7. Lecturer: Huilan Chang Reference: (1) Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, 2nd Edition, The MIT Press. (2) Lecture notes from C. Y. Chen

More information

Fundamental Graph Algorithms Part Three

Fundamental Graph Algorithms Part Three Fundamental Graph Algorithms Part Three Outline for Today Topological Sorting, Part II How can we quickly compute a topological ordering on a DAG? Connected Components How do we find the pieces of an undirected

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis K Shortest Path Implementation by RadhaKrishna Nagubadi LIU-IDA/LITH-EX-A--13/41--SE 213-6-27 Linköpings universitet

More information

Algorithms Activity 6: Applications of BFS

Algorithms Activity 6: Applications of BFS Algorithms Activity 6: Applications of BFS Suppose we have a graph G = (V, E). A given graph could have zero edges, or it could have lots of edges, or anything in between. Let s think about the range of

More information

Graph Algorithms. Andreas Klappenecker. [based on slides by Prof. Welch]

Graph Algorithms. Andreas Klappenecker. [based on slides by Prof. Welch] Graph Algorithms Andreas Klappenecker [based on slides by Prof. Welch] 1 Directed Graphs Let V be a finite set and E a binary relation on V, that is, E VxV. Then the pair G=(V,E) is called a directed graph.

More information

Shortest path problems

Shortest path problems Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths

More information

Graph Algorithms: Chapters Part 1: Introductory graph concepts

Graph Algorithms: Chapters Part 1: Introductory graph concepts UMass Lowell Computer Science 91.503 Algorithms Dr. Haim Levkowitz Fall, 2007 Graph Algorithms: Chapters 22-25 Part 1: Introductory graph concepts 1 91.404 Graph Review Elementary Graph Algorithms Minimum

More information

Graph Algorithms. Definition

Graph Algorithms. Definition Graph Algorithms Many problems in CS can be modeled as graph problems. Algorithms for solving graph problems are fundamental to the field of algorithm design. Definition A graph G = (V, E) consists of

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 07 Single-Source Shortest Paths (Chapter 24) Stephen Scott and Vinodchandran N. Variyam sscott@cse.unl.edu 1/36 Introduction

More information

Computer Science & Engineering 423/823 Design and Analysis of Algorithms

Computer Science & Engineering 423/823 Design and Analysis of Algorithms s of s Computer Science & Engineering 423/823 Design and Analysis of Lecture 03 (Chapter 22) Stephen Scott (Adapted from Vinodchandran N. Variyam) 1 / 29 s of s s are abstract data types that are applicable

More information

Introduction. I Given a weighted, directed graph G =(V, E) with weight function

Introduction. I Given a weighted, directed graph G =(V, E) with weight function ntroduction Computer Science & Engineering 2/82 Design and Analysis of Algorithms Lecture 06 Single-Source Shortest Paths (Chapter 2) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu

More information

Outline. Graphs. Divide and Conquer.

Outline. Graphs. Divide and Conquer. GRAPHS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Outline Graphs.

More information

Practical Session No. 12 Graphs, BFS, DFS, Topological sort

Practical Session No. 12 Graphs, BFS, DFS, Topological sort Practical Session No. 12 Graphs, BFS, DFS, Topological sort Graphs and BFS Graph G = (V, E) Graph Representations (V G ) v1 v n V(G) = V - Set of all vertices in G E(G) = E - Set of all edges (u,v) in

More information

LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS

LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS Department of Computer Science University of Babylon LECTURE NOTES OF ALGORITHMS: DESIGN TECHNIQUES AND ANALYSIS By Faculty of Science for Women( SCIW), University of Babylon, Iraq Samaher@uobabylon.edu.iq

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

CS 270 Algorithms. Oliver Kullmann. Analysing BFS. Depth-first search. Analysing DFS. Dags and topological sorting.

CS 270 Algorithms. Oliver Kullmann. Analysing BFS. Depth-first search. Analysing DFS. Dags and topological sorting. General remarks Week 5 2 We finish, by analysing it. Then we consider the second main graph- algorithm, depth-first (). And we consider one application of, of graphs. Reading from CLRS for week 5 Chapter

More information

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 20. Example. Shortest Paths Definitions

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 20. Example. Shortest Paths Definitions Taking Stock IE170: Algorithms in Systems Engineering: Lecture 20 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University March 19, 2007 Last Time Minimum Spanning Trees Strongly

More information

Graph Data Processing with MapReduce

Graph Data Processing with MapReduce Distributed data processing on the Cloud Lecture 5 Graph Data Processing with MapReduce Satish Srirama Some material adapted from slides by Jimmy Lin, 2015 (licensed under Creation Commons Attribution

More information

Jessica Su (some parts copied from CLRS / last quarter s notes)

Jessica Su (some parts copied from CLRS / last quarter s notes) 1 Max flow Consider a directed graph G with positive edge weights c that define the capacity of each edge. We can identify two special nodes in G: the source node s and the sink node t. We want to find

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11 Chapter 3 - Graphs Undirected Graphs Undirected graph. G = (V, E) V = nodes. E = edges between pairs of nodes. Captures pairwise relationship between objects. Graph size parameters: n = V, m = E. V = {

More information

Centralities (4) By: Ralucca Gera, NPS. Excellence Through Knowledge

Centralities (4) By: Ralucca Gera, NPS. Excellence Through Knowledge Centralities (4) By: Ralucca Gera, NPS Excellence Through Knowledge Some slide from last week that we didn t talk about in class: 2 PageRank algorithm Eigenvector centrality: i s Rank score is the sum

More information

Elementary Graph Algorithms. Ref: Chapter 22 of the text by Cormen et al. Representing a graph:

Elementary Graph Algorithms. Ref: Chapter 22 of the text by Cormen et al. Representing a graph: Elementary Graph Algorithms Ref: Chapter 22 of the text by Cormen et al. Representing a graph: Graph G(V, E): V set of nodes (vertices); E set of edges. Notation: n = V and m = E. (Vertices are numbered

More information

Chapter 3. Graphs. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Chapter 3. Graphs. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. Chapter 3 Graphs Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 3.1 Basic Definitions and Applications Undirected Graphs Undirected graph. G = (V, E) V = nodes. E

More information

Week 12: Minimum Spanning trees and Shortest Paths

Week 12: Minimum Spanning trees and Shortest Paths Agenda: Week 12: Minimum Spanning trees and Shortest Paths Kruskal s Algorithm Single-source shortest paths Dijkstra s algorithm for non-negatively weighted case Reading: Textbook : 61-7, 80-87, 9-601

More information

CSci 231 Final Review

CSci 231 Final Review CSci 231 Final Review Here is a list of topics for the final. Generally you are responsible for anything discussed in class (except topics that appear italicized), and anything appearing on the homeworks.

More information

Lecture 10: Strongly Connected Components, Biconnected Graphs

Lecture 10: Strongly Connected Components, Biconnected Graphs 15-750: Graduate Algorithms February 8, 2016 Lecture 10: Strongly Connected Components, Biconnected Graphs Lecturer: David Witmer Scribe: Zhong Zhou 1 DFS Continued We have introduced Depth-First Search

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Fully dynamic all-pairs shortest paths with worst-case update-time revisited

Fully dynamic all-pairs shortest paths with worst-case update-time revisited Fully dynamic all-pairs shortest paths with worst-case update-time reisited Ittai Abraham 1 Shiri Chechik 2 Sebastian Krinninger 3 1 Hebrew Uniersity of Jerusalem 2 Tel-Ai Uniersity 3 Max Planck Institute

More information

(Re)Introduction to Graphs and Some Algorithms

(Re)Introduction to Graphs and Some Algorithms (Re)Introduction to Graphs and Some Algorithms Graph Terminology (I) A graph is defined by a set of vertices V and a set of edges E. The edge set must work over the defined vertices in the vertex set.

More information

Lecture 11: Clustering and the Spectral Partitioning Algorithm A note on randomized algorithm, Unbiased estimates

Lecture 11: Clustering and the Spectral Partitioning Algorithm A note on randomized algorithm, Unbiased estimates CSE 51: Design and Analysis of Algorithms I Spring 016 Lecture 11: Clustering and the Spectral Partitioning Algorithm Lecturer: Shayan Oveis Gharan May nd Scribe: Yueqi Sheng Disclaimer: These notes have

More information

Dijkstra s Shortest Path Algorithm

Dijkstra s Shortest Path Algorithm Dijkstra s Shortest Path Algorithm DPV 4.4, CLRS 24.3 Revised, October 23, 2014 Outline of this Lecture Recalling the BFS solution of the shortest path problem for unweighted (di)graphs. The shortest path

More information

Highway Dimension and Provably Efficient Shortest Paths Algorithms

Highway Dimension and Provably Efficient Shortest Paths Algorithms Highway Dimension and Provably Efficient Shortest Paths Algorithms Andrew V. Goldberg Microsoft Research Silicon Valley www.research.microsoft.com/ goldberg/ Joint with Ittai Abraham, Amos Fiat, and Renato

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 4 Graphs Definitions Traversals Adam Smith 9/8/10 Exercise How can you simulate an array with two unbounded stacks and a small amount of memory? (Hint: think of a

More information

1 Bipartite maximum matching

1 Bipartite maximum matching Cornell University, Fall 2017 Lecture notes: Matchings CS 6820: Algorithms 23 Aug 1 Sep These notes analyze algorithms for optimization problems involving matchings in bipartite graphs. Matching algorithms

More information

Single Source Shortest Path

Single Source Shortest Path Single Source Shortest Path A directed graph G = (V, E) and a pair of nodes s, d is given. The edges have a real-valued weight W i. This time we are looking for the weight and the shortest path from s

More information

Week 5. 1 Analysing BFS. 2 Depth-first search. 3 Analysing DFS. 4 Dags and topological sorting. 5 Detecting cycles. CS 270 Algorithms.

Week 5. 1 Analysing BFS. 2 Depth-first search. 3 Analysing DFS. 4 Dags and topological sorting. 5 Detecting cycles. CS 270 Algorithms. 1 2 Week 5 3 4 5 General remarks We finish, by analysing it. Then we consider the second main graph- algorithm, depth-first (). And we consider one application of, of graphs. Reading from CLRS for week

More information

CS170 Discussion Section 4: 9/18

CS170 Discussion Section 4: 9/18 CS170 Discussion Section 4: 9/18 1. Alien alphabet. Suppose you have a dictionary of an alien language which lists words in some sorted lexicographical ordering. For example, given the following list of

More information

Finding Strongly Connected Components

Finding Strongly Connected Components Yufei Tao ITEE University of Queensland We just can t get enough of the beautiful algorithm of DFS! In this lecture, we will use it to solve a problem finding strongly connected components that seems to

More information

Lecture Summary CSC 263H. August 5, 2016

Lecture Summary CSC 263H. August 5, 2016 Lecture Summary CSC 263H August 5, 2016 This document is a very brief overview of what we did in each lecture, it is by no means a replacement for attending lecture or doing the readings. 1. Week 1 2.

More information

Some Extra Information on Graph Search

Some Extra Information on Graph Search Some Extra Information on Graph Search David Kempe December 5, 203 We have given basic definitions of graphs earlier in class, and talked about how to implement them. We had also already mentioned paths,

More information

GRAPHS Lecture 19 CS2110 Spring 2013

GRAPHS Lecture 19 CS2110 Spring 2013 GRAPHS Lecture 19 CS2110 Spring 2013 Announcements 2 Prelim 2: Two and a half weeks from now Tuesday, April16, 7:30-9pm, Statler Exam conflicts? We need to hear about them and can arrange a makeup It would

More information

Algorithms and Data Structures 2014 Exercises and Solutions Week 9

Algorithms and Data Structures 2014 Exercises and Solutions Week 9 Algorithms and Data Structures 2014 Exercises and Solutions Week 9 November 26, 2014 1 Directed acyclic graphs We are given a sequence (array) of numbers, and we would like to find the longest increasing

More information

Basic Graph Definitions

Basic Graph Definitions CMSC 341 Graphs Basic Graph Definitions A graph G = (V,E) consists of a finite set of vertices, V, and a finite set of edges, E. Each edge is a pair (v,w) where v, w V. V and E are sets, so each vertex

More information

CS369G: Algorithmic Techniques for Big Data Spring

CS369G: Algorithmic Techniques for Big Data Spring CS369G: Algorithmic Techniques for Big Data Spring 2015-2016 Lecture 11: l 0 -Sampling and Introduction to Graph Streaming Prof. Moses Charikar Scribe: Austin Benson 1 Overview We present and analyze the

More information

U.C. Berkeley CS170 : Algorithms Midterm 1 Lecturers: Alessandro Chiesa and Satish Rao September 18, Midterm 1

U.C. Berkeley CS170 : Algorithms Midterm 1 Lecturers: Alessandro Chiesa and Satish Rao September 18, Midterm 1 U.C. Berkeley CS170 : Algorithms Lecturers: Alessandro Chiesa and Satish Rao September 18, 2018 1 Connectivity in Graphs No justification is required on this problem. A B C D E F G H I J (a) (2 points)

More information

CS781 Lecture 2 January 13, Graph Traversals, Search, and Ordering

CS781 Lecture 2 January 13, Graph Traversals, Search, and Ordering CS781 Lecture 2 January 13, 2010 Graph Traversals, Search, and Ordering Review of Lecture 1 Notions of Algorithm Scalability Worst-Case and Average-Case Analysis Asymptotic Growth Rates: Big-Oh Prototypical

More information

Matching Theory. Figure 1: Is this graph bipartite?

Matching Theory. Figure 1: Is this graph bipartite? Matching Theory 1 Introduction A matching M of a graph is a subset of E such that no two edges in M share a vertex; edges which have this property are called independent edges. A matching M is said to

More information

Trees. Arash Rafiey. 20 October, 2015

Trees. Arash Rafiey. 20 October, 2015 20 October, 2015 Definition Let G = (V, E) be a loop-free undirected graph. G is called a tree if G is connected and contains no cycle. Definition Let G = (V, E) be a loop-free undirected graph. G is called

More information

On Page Rank. 1 Introduction

On Page Rank. 1 Introduction On Page Rank C. Hoede Faculty of Electrical Engineering, Mathematics and Computer Science University of Twente P.O.Box 217 7500 AE Enschede, The Netherlands Abstract In this paper the concept of page rank

More information

CS 6783 (Applied Algorithms) Lecture 5

CS 6783 (Applied Algorithms) Lecture 5 CS 6783 (Applied Algorithms) Lecture 5 Antonina Kolokolova January 19, 2012 1 Minimum Spanning Trees An undirected graph G is a pair (V, E); V is a set (of vertices or nodes); E is a set of (undirected)

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Graphs. Part II: SP and MST. Laura Toma Algorithms (csci2200), Bowdoin College

Graphs. Part II: SP and MST. Laura Toma Algorithms (csci2200), Bowdoin College Laura Toma Algorithms (csci2200), Bowdoin College Topics Weighted graphs each edge (u, v) has a weight denoted w(u, v) or w uv stored in the adjacency list or adjacency matrix The weight of a path p =

More information

Numerical Optimization

Numerical Optimization Convex Sets Computer Science and Automation Indian Institute of Science Bangalore 560 012, India. NPTEL Course on Let x 1, x 2 R n, x 1 x 2. Line and line segment Line passing through x 1 and x 2 : {y

More information

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

CSE 431/531: Analysis of Algorithms. Greedy Algorithms. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo CSE 431/531: Analysis of Algorithms Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast algorithms to solve

More information

GRAPHS Lecture 17 CS2110 Spring 2014

GRAPHS Lecture 17 CS2110 Spring 2014 GRAPHS Lecture 17 CS2110 Spring 2014 These are not Graphs 2...not the kind we mean, anyway These are Graphs 3 K 5 K 3,3 = Applications of Graphs 4 Communication networks The internet is a huge graph Routing

More information

Graph. Vertex. edge. Directed Graph. Undirected Graph

Graph. Vertex. edge. Directed Graph. Undirected Graph Module : Graphs Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS E-mail: natarajan.meghanathan@jsums.edu Graph Graph is a data structure that is a collection

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch. Iterative Improvement Algorithm design technique for solving optimization problems Start with a feasible solution Repeat the following step until no improvement can be found: change the current feasible

More information

Practical Session No. 12 Graphs, BFS, DFS Topological Sort

Practical Session No. 12 Graphs, BFS, DFS Topological Sort Practical Session No. 12 Graphs, BFS, DFS Topological Sort Graphs and BFS Graph G = (V, E) Graph Representations (VG ) v1 v n V(G) = V - Set of all vertices in G E(G) = E - Set of all edges (u,v) in G,

More information

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1.

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1. Lecturer: Scribe: Meena Mahajan Rajesh Chitnis Matchings in Graphs Meeting: 1 6th Jan 010 Most of the material in this lecture is taken from the book Fast Parallel Algorithms for Graph Matching Problems

More information

Theory of Computing. Lecture 7 MAS 714 Hartmut Klauck

Theory of Computing. Lecture 7 MAS 714 Hartmut Klauck Theory of Computing Lecture 7 MAS 714 Hartmut Klauck Shortest paths in weighted graphs We are given a graph G (adjacency list with weights W(u,v)) No edge means W(u,v)=1 We look for shortest paths from

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Linear Time: O(n) CS 580: Algorithm Design and Analysis 2.4 A Survey of Common Running Times Merge. Combine two sorted lists A = a 1,a 2,,a n with B = b 1,b 2,,b n into sorted whole. Jeremiah Blocki Purdue

More information

Non Overlapping Communities

Non Overlapping Communities Non Overlapping Communities Davide Mottin, Konstantina Lazaridou HassoPlattner Institute Graph Mining course Winter Semester 2016 Acknowledgements Most of this lecture is taken from: http://web.stanford.edu/class/cs224w/slides

More information

CS200: Graphs. Prichard Ch. 14 Rosen Ch. 10. CS200 - Graphs 1

CS200: Graphs. Prichard Ch. 14 Rosen Ch. 10. CS200 - Graphs 1 CS200: Graphs Prichard Ch. 14 Rosen Ch. 10 CS200 - Graphs 1 Graphs A collection of nodes and edges What can this represent? n A computer network n Abstraction of a map n Social network CS200 - Graphs 2

More information

Dynamically Random Graphs

Dynamically Random Graphs Dynamically Random Graphs Alexis Byers, Wittenberg University Mallory Reed, Earlham College Laura Rucci, Cabrini College Elle VanTilburg, University of Texas-Austin SUMSRI 203 Miami University July 8,

More information

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1

Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanfordedu) February 6, 2018 Lecture 9 - Matrix Multiplication Equivalences and Spectral Graph Theory 1 In the

More information

CHAPTER 23: ELEMENTARY GRAPH ALGORITHMS Representations of graphs

CHAPTER 23: ELEMENTARY GRAPH ALGORITHMS Representations of graphs CHAPTER 23: ELEMENTARY GRAPH ALGORITHMS This chapter presents methods for representing a graph and for searching a graph. Searching a graph means systematically following the edges of the graph so as to

More information

3.1 Basic Definitions and Applications

3.1 Basic Definitions and Applications Chapter 3 Graphs Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 3.1 Basic Definitions and Applications Undirected Graphs Undirected graph. G = (V, E) V = nodes. E

More information

Dynamic Graph Algorithms

Dynamic Graph Algorithms Dynamic Graph Algorithms Giuseppe F. Italiano University of Rome Tor Vergata giuseppe.italiano@uniroma2.it http://www.disp.uniroma2.it/users/italiano Outline Dynamic Graph Problems Quick Intro Lecture

More information

CS 310 Advanced Data Structures and Algorithms

CS 310 Advanced Data Structures and Algorithms CS 31 Advanced Data Structures and Algorithms Graphs July 18, 17 Tong Wang UMass Boston CS 31 July 18, 17 1 / 4 Graph Definitions Graph a mathematical construction that describes objects and relations

More information

Betweness Centrality ENDRIAS KAHSSAY

Betweness Centrality ENDRIAS KAHSSAY Betweness Centrality ENDRIAS KAHSSAY What is it? The centrality of a vertex is the fraction of the shortest paths that go through. A measure how important a vertex is in a Graph. An undirected graph colored

More information

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 16. Graph Search Algorithms. Recall BFS

Taking Stock. IE170: Algorithms in Systems Engineering: Lecture 16. Graph Search Algorithms. Recall BFS Taking Stock IE170: Algorithms in Systems Engineering: Lecture 16 Jeff Linderoth Department of Industrial and Systems Engineering Lehigh University February 28, 2007 Last Time The Wonderful World of This

More information