Graph Exploration: How to do better than the random walk? Adrian Kosowski. INRIA Bordeaux Sud-Ouest.

Size: px
Start display at page:

Download "Graph Exploration: How to do better than the random walk? Adrian Kosowski. INRIA Bordeaux Sud-Ouest."

Transcription

1 Graph Exploration: How to do better than the random walk? Adrian Kosowski INRIA Bordeaux Sud-Ouest Réunion Displexity La Rochelle, April 4, 2013

2 Talk outline Introduction to network exploration The random walk model When is the random walk good enough? Overview of basic properties and applications When is the random walk not good enough? Trying to do better in practice and in theory: Biasing probabilities and Metropolis-Hastings walks 2

3 Introduction to Network Exploration 3

4 Introduction Graph exploration: definition and motivation A walker is placed on some node of the input network The walker is allowed to traverse edges (links) of the network The goal is to perpetually visit all the nodes of the graph Different possible optimization criteria: we would like the walker to complete its first exploration as quickly as possible. we would like to guarantee regularity of exploration. Motivation: crawling webs, sampling of nodes and gathering statistics, ranking nodes, performing network maintenance, Depending on the scenario, walkers may vary in terms of physical implementation, capabilities, and available memory/resources. 40 years of CS theory behind the problem (automata on graphs, L=SL, ) 4

5 The setting of this talk The network: Think locally: the global topology of the network is not known The network may potentially change in time We may possibly know some global parameters a bound on n the number of network nodes we may have a rough idea of the degree distribution in the graph Network links are undirected! (like Facebook) The walker: For most of the time, we see the walker as a crawler process (a bit like GoogleBot) When visiting a node, we learn its neighbors this comes with a fixed cost Only following links is possible teleportation is not allowed (e.g. no numeric node ID-s) 5

6 Modeling network data Example. A view of data accessible by crawling the Facebook frontend. (Gjoka et al., INFOCOM 10) 6

7 Modeling network data Example. A graph-based model. explicit port labeling 7

8 Modeling network data Example. A graph-based model. 8

9 Objectives of exploration Several parameters/properties to consider: 1. Time until all nodes have been visited at least once (cover time) 2. Time between two subsequent visits to a node, in the limit (refresh time) 3. Convergence to some limit frequency of visits to specific nodes/edges Time after which the limit frequency has been approximately reached (blanket time) Time after which the walk reaches a probability distribution on nodes/edges corresponding to the limit frequency (mixing time) 4. Properties characterizing short walks: A short walk quickly discoveres many nodes A short walk samples nodes/edges with a specified probability Convention: Worst-case set-up + Averaging over all possible runs of the walk algorithm. 9

10 The Random Walk 10

11 The random walk model What is the random walk? We are lost in an unknown network G = (V,E) We leave each node along one of the adjacent links, chosen uniformly at random The process is Markovian: the next step of exploration does not depend on the exploration history 11

12 The random walk model Inspired by nature: Brownian motion 12

13 The random walk model A geometric setting: Paths taken by the Roomba TM (Artwork by IBRumba) 13

14 The random walk model Classical networking applications? Information search/packet circulation in p2p networks an alternative to flooding [Gkantsidis 2004] Sampling of nodes in a web or social network (to be discussed later) Self-stabilizing mutual exclusion (tokens following random walks meet and coalesce, until 1 remains) [Israeli-Jalfon 1990] Picking a spanning tree of a graph uniformly at random (applications of loop-erased walks) [Broder 1988, Wilson 1995] 14

15 The random walk model Advantages? Simple, resource-efficient, independent of network location Equitable uses all edges fairly (1/ E frequency in the limit) Recovers quickly after a slight modification of the graph Covers web-type graphs quickly in almost linear time Parallel walks are faster than one [Alon et al. 2008, Sauerwald et al. 2008, Cooper et al. 2009] By deploying several independent walks, the cover time is reduced Sometimes the total number of steps made by all walks before each node of the network has been visited is reduced! Disadvantages? Completely useless in terms of worst-case performance Expected cover time of (n 3 ) for some graphs Short walks may get stuck in local network neighborhoods 15

16 The random walk model How to analyze the random walk? First parameter: hitting time H(u,v) What is the expected number of steps for a random walk to reach node v from node u? v _ u + 16

17 The random walk model How to analyze the random walk? Second parameter: commute time Com(u,v) = H (u,v) + H (v,u) What is the expected number of steps for a random walk to reach node v from node u, and then return to node v? Theorem [Chandra, Raghavan, Ruzzo, Smolensky, Tiwari 1989]: Com(u,v) = 2 E R(u,v). Theorem [Foster 1949]: {u,v} E R (u,v) = n 1. u + v _ The electrical resistor network analogy 17

18 The random walk model How to analyze the random walk? Third parameter: cover time Cov Cov(u) - what is the expected number of steps for a random walk to reach all nodes of the graph, starting from node u? Cov = max u V Cov(u) Theorem [Aleliunas, Karp, Lipton, Lovasz, Rackoff 1979] Cover time is upper bounded by sum of commute times along the edges of any spanning tree of the graph. Theorem [Feige 1995] By using the best spanning tree, we obtain for any graph: Cov 4n 3 / 27 the bound is tight, and the worst-case example is precisely known 18

19 The random walk model How to analyze the random walk? The lollipop graph worst-case cover time 4n 3 / 27 - o(n 3 ) n / 3 2n / 3 19

20 The random walk model How to analyze the random walk? Order of the cover time for different graph classes Cliques n log n Paths, cycles n 2 2-dimensional grids n log 2 n 3-dimensional grids n log n Complete k-ary trees n log 2 n / log k Expanders n log n Regular graphs not more than n 2 20

21 The random walk model How to analyze the random walk? In the limit, the random walk visits all edges with the same frequency (1/ E ) If the graph is not bipartite, then in the limit, at any given moment: The probability of finding ourselves at a vertex v is proportional to the degree of v. Fourth parameter: blanket time B Intuitively, what is the expected number of steps of a random walk before all edges of the graph have been visited a similar number of times? Theorem [Ding, Lee, Peres 2011] Cov B const * Cov 21

22 Can we do better than the Random Walk? 22

23 Tweaking the random walk Disadvantages of the random walk Completely useless in terms of worst-case performance Partial remedy: use a deterministic strategy instead (*n 2 time overhead) 23

24 Tweaking the random walk Disadvantages of the random walk Completely useless in terms of worst-case performance Partial remedy: use a deterministic strategy instead (*n 2 time overhead) Expected cover time of (n 3 ) for some weakly connected graphs Partial remedy: use Metropolis-Hastings biasing [TBD] Trick : try to tweak the input graph [Zhue et al. 2012] 24

25 Tweaking the random walk Disadvantages of the random walk Completely useless in terms of worst-case performance Partial remedy: use a deterministic strategy instead (*n 2 time overhead) Expected cover time of (n 3 ) for some weakly connected graphs Partial remedy: use Metropolis-Hastings biasing [TBD] Trick : try to tweak the input graph [Zhue et al. 2012] Short walks may get stuck in local network neighborhoods More precisely: a random walk of small length t is expected to visit about t edges [Broder et al. 1994], but may possibly visit very few nodes Partial remedy: use Metropolis-Hastings biasing [TBD] Trick : if you feel you are stuck, teleport yourself to a random location [Jin et al. 2011] 25

26 Biased walks and the Metropolis-Hastings algorithm 26

27 Biased walks A biased walk is one in which the next node is chosen by the walker from among its neighbors, but transition probabilities need not be equal. The bias can be: Topological based on the structure of the graph, degrees/importance of nodes, etc., Dependant on exploration history e.g. walks which never back-track to the node they have just come from In general, we want to keep the process as close to reversible Markovian as possible A simple way to obtain the desired form of bias (Markovian, reversible): put positive real-valued weights on edges at each step, choose an incident edge with probability proportional to its weight (relative to the sum of all weights of incident edges) 27

28 Metropolis walks There have been several recent papers showing how to bias random walks, given helper information about the topology of the graph, etc. The effort required to collect this information means that effectively a normal walker needs to do (n 3 ) steps, anyway. There is an exception: the Metropolis-Hastings walk weighted by node degrees [Metropolis 1959, Nonaka et al. 2010]: For each edge connecting u and v, put the following weight on it: min { 1 / deg(u), 1 / deg(v) } Add self-loops at each node, so that the sum of weights of all incident edges sums to 1, for all nodes. Consequence: all nodes will be visited equally often during exploration 28

29 Metropolis walks There have been several recent papers showing how to bias random walks, given helper information about the topology of the graph, etc. The effort required to collect this information means that effectively a normal walker needs to do (n 3 ) steps, anyway. There is an exception: the Metropolis-Hastings walk weighted by node degrees [Metropolis 1959, Nonaka et al. 2010] The walk can be implemented, as shown below: NextState (v: node) u <- neighbor of v in G chosen uniformly at random; with probability min{deg(v)/deg(u), 1} move to u; remain at v; [Lee at al. 2012, K. 2013] 29

30 Metropolis walks The Metropolis walk has a worst-case performance superior to that of the random walk A Metropolis walker explores a graph in O(n z log(n)) steps w.h.p. [Nonaka at al. 2010] Note: the random walk does not carry any state when traversing edges. A little bit of memory is necessary to implement Metropolis-Hastings. Any strategy with o(n 3 ) cover time requires some state memory carried over edges. A Metropolis walker can be implemented in O(log n) bits of memory. 30

31 Combining Metropolis walks and Random walks Note: the Metropolis walk is slower than the random walk on many graphs even for the star. Is this strategy of practical importance? Yes. There are several elegant ways of combining the Metropolis walk with the random walk. A variant of the Metropolis walk explores all graphs O(n 2 log(n)) steps w.h.p., and not more slowly (up to a factor of 2) than the random walk. 31

32 Combining Metropolis walks and Random walks Note: the Metropolis walk is slower than the random walk on many graphs even for the star. Is this strategy of practical importance? Yes. There are several elegant ways of combining the Metropolis walk with the random walk. NextState (v: node) u <- neighbor of v in G chosen uniformly at random; with probability min{(deg -1 (u)+d -1 ) / (deg -1 (v)+d -1 ), 1} move to u; remain at v; The above method relies on knowledge of the average degree d = 2m/n. (can be done without.) 32

33 Short Metropolis walks In expectation, a Metropolis walk of length t D 2 discovers at least t 1/2 nodes. [K. 2013] Potentially useful property in local searches around network neighborhoods. Trick: subdivide nodes of high degree to achieve better discovery rate. E.g. combine the above with a landmark distribution scheme [Broder et al. 1994] 33

34 Space-time tradeoffs for s-t connectivity Algorithm (Broder et al.): Short walks from landmarks 1. Pick k landmark nodes in the graph. Add s and t to the set of landmark nodes. 2. Repeat: [a polylogarithmic number of times] From each landmark, run a random walk of length t. If a walk starting from landmark l 1 visits a landmark l 2, mark them as belonging to the same component of landmarks (SET UNION operation). 3. Return YES, if s and t belong to the same component of landmarks. Return NO, otherwise. G: s t 34

35 Space-time tradeoffs for s-t connectivity Algorithm (Broder et al.): Short walks from landmarks 1. Pick k landmark nodes in the graph. Add s and t to the set of landmark nodes. 2. Repeat: [a polylogarithmic number of times] From each landmark, run a random walk of length t. If a walk starting from landmark l 1 visits a landmark l 2, mark them as belonging to the same component of landmarks (SET UNION operation). 3. Return YES, if s and t belong to the same component of landmarks. Return NO, otherwise. G: s t 35

36 Space-time tradeoffs for s-t connectivity Algorithm (Broder et al.): Short walks from landmarks 1. Pick k landmark nodes in the graph. Add s and t to the set of landmark nodes. 2. Repeat: [a polylogarithmic number of times] From each landmark, run a random walk of length t. If a walk starting from landmark l 1 visits a landmark l 2, mark them as belonging to the same component of landmarks (SET UNION operation). 3. Return YES, if s and t belong to the same component of landmarks. Return NO, otherwise. G: s t 36

37 Space-time tradeoffs for s-t connectivity Algorithm (Broder et al.): Short walks from landmarks 1. Pick k landmark nodes in the graph. Add s and t to the set of landmark nodes. 2. Repeat: [a polylogarithmic number of times] From each landmark, run a random walk of length t. If a walk starting from landmark l 1 visits a landmark l 2, mark them as belonging to the same component of landmarks (SET UNION operation). 3. Return YES, if s and t belong to the same component of landmarks. Return NO, otherwise. G: s t 37

38 Space-time tradeoffs for s-t connectivity Algorithm (Broder et al.): Short walks from landmarks 1. Pick k landmark nodes in the graph. Add s and t to the set of landmark nodes. 2. Repeat: [a polylogarithmic number of times] From each landmark, run a random walk of length t. If a walk starting from landmark l 1 visits a landmark l 2, mark them as belonging to the same component of landmarks (SET UNION operation). 3. Return YES, if s and t belong to the same component of landmarks. Return NO, otherwise. G: s t 38

39 Space-time tradeoffs for s-t connectivity Algorithm (Broder et al.): Short walks from landmarks 1. Pick k landmark nodes in the graph. Add s and t to the set of landmark nodes. 2. Repeat: [a polylogarithmic number of times] From each landmark, run a random Metropolis walk of length t. If a walk starting from landmark l 1 visits a landmark l 2, mark them as belonging to the same component of landmarks (SET UNION operation). 3. Return YES, if s and t belong to the same component of landmarks. Return NO, otherwise. and fixing some details to make it work Improvement: Replacing the random walk by the Metropolis walk 39

40 Short Metropolis walks The above process can be used to test if a graph is connected. For a well chosen value of k, we obtain the following theoretical result: In the RAM memory model, given S log n bits of space, one can test Undirected s-t Connectivity (USTCON) in time: T=Õ(max{n 2 /S, m}). [K. 2013] Corollary: an almost-linear time algorithm for checking if a graph is connected, running in space S = n 2 /m more space-efficient than BFS/DFS! 40

41 Metropolis walks Advantages? Simple, resource-efficient, independent of network location Equitable uses all nodes fairly Recovers quickly after a slight modification of the graph Covers web-type graphs quickly in almost linear time Parallel walks are faster than one Expected cover time not worse than O(n 2 log n) After some fine-tuning, short Metropolis walks visit nodes more quickly than short random walks Disadvantages? Unbounded pessimistic cover time In practical scenarios, a little slower than the Random Walk 41

42 Applications of biased walks in node sampling and ranking 42

43 Uniform sampling problem Goal: we would like to measure some metric on the nodes of a network E.g. what is the number of connections people have on average on Facebook/Google+? We need to find a representative subset of nodes of the network The optimal solution: just pick network nodes uniformly at random Unfortunately, not feasible we do not know all people / p2p hosts on the network In many cases, numeric ID-s may not be relied upon A first attempt: take a network subset with BFS. Often unsatisfactory. A feasible solution: run a walk in the network! Approach 1: run a short random walk starting from a random node, then fix it to account for over-representation of high degree nodes Approach 2: run a short Metropolis-Hastings walk. 43

44 Uniform sampling problem Example: sampling degree distribution of Facebook nodes, Spring 2009 [Results and figures of: Gjoka et al.,infocom 10] Metropolis-Hastings not bad Random Walk with compensation - good Random Walk no compensation - bad BFS no compensation - bad General conclusion from the literature: Compensated Random Walk seems to win slightly with Metropolis-Hastings in most tests. 44

45 Non-uniform network exploration Goal: we would like our walker to visit some nodes more often than others Scenario 1: A walk to estimate Google PageRank. Propose a walk on the web which converges to a limit distribution in which more important websites are visited more often than less important ones. [Agarwal Chakrabarti 2006] Scenario 2: A walk to recommend new Facebook links. A supervised walk, finding interactions between nodes which are likely to exist in reality, but missing from the social network. [Backstrom Leskovec 2011] Scenario 3: A walk to sample non-uniform populations. Suppose we want to compare the mean income of social network users in China and the Vatican. We need a sample of 100 users from China and 100 users from the Vatican. How to get one quickly with a walk on the social network?. [Kurant et al. 2011] The solution to all cases: biased walks with weights on edges dynamically adapted in a learning process. Fine-tuning is quite tricky. 45

46 What may the future bring? New application domains: walks in the real-time analysis of live information Following news as it spreads virally through the social web Walks traversing different media, e.g.: a re-tweeted FB post linking to a blog entry based on live TV news coverage Walks to evaluate the extent/threat due to a spreading rumour, detect the source of viral info Walks policing the web for brand infringement & copyright enforcement New challenges: A clear need for biased walks of different types A clear need to better understand how such walks parallelize An opportunity to use the abstraction of a walk in the modeling and analysis of heterogenous networks/webs Possibly, a need for coordination of multiple walks, resources shared among walks, etc. Empirical studies of walks in evolving networks (e.g. networks growing by several percent during the duration of the walk). 46

47 What may the future bring? New techniques developing a combination of: probabilistic analysis spectral graph theory computational complexity modeling of dynamic systems rumour spreading models network optimization distributed computing machine learning game/equilibria theory sampling & statistics 47

48 Deterministic Graph Exploration Is there still time? 48

49 The labeled graph model Assumptions of the labeled graph model The explored graph G = (V,E) is simple, undirected, and connected The nodes of the graph do not have any labels or colors which are known to the agent (anonymous graph property) When located at a vertex, the agent can distinguish among the edges adjacent to the current node The agent is aware of the edge by which it entered the current node There are two distinct types of local orientations of edges at a node: implicit cyclic ordering explicit port labeling 49

50 Focus: computations in anonymous networks In the anonymous model, the agent is an automaton with state memory No identifiers, no global knowledge Rationale: testing limits of computability, profound implications in other areas: log-space complexity theory, fault-tolerant routing, token distribution schemes f ( STATE, IN-PORT) = ( STATE, OUT-PORT ) explored graph accessible information ( view ) 50

51 De-randomizing random walks How to make the random walk deterministic? We perform an exploration using a robot equipped with some memory (state) and knowledge of the ports in the graph: f ( STATE, IN-PORT, DEGREE ) = ( STATE, OUT-PORT ) The following properties are extremely desirable: The memory size of the robot should be as small as possible The worst-case cover time of the robot should be polynomial If possible, other properties should be retained (e.g. equity of edge visits) First variant: we assume nothing about the port labeling of the graph (i.e., worst case labeling) First approach: sequences of port numbers that work for any graph 51

52 Universal Sequences Universal Traversal Sequences (UTS-s) A UTS(n,d) is a sequence of numbers (t 1 t k ) in 1..d, such that the robot f ( STEP i, PORT?, DEGREE d ) = (STEP i+1, PORT t i ) covers any d-regular graph of (at most) n vertices in at most k steps. Theorem [Aleliunas, Karp, Lipton, Lovasz, Rackoff 1979] For any n, there exists a UTS(n,d) of length k n 5 log n Proof: the probabilistic method Fix a sequence S of length k = n 5 log n, chosen uniformly at random Let G be an arbitrary graph. Then a random walk following S explores G with probability 1, where = O(2 -n^2 log n ). Let F(G) be the set of all sequences that fail to explore G. We have: F(G) d k. Let Gn be the set of all graphs of order at most n. The total number of sequences which fail for all graphs from Gn is at most Gn d k which is less than d k. So, at least one sequence succeeds for all graphs! 52

53 Universal Sequences How much memory is required to construct a UTS efficiently? Nisan s generic derandomizer (1992): O(log 2 n) memory but the length of the sequence is no longer polynomial O(n log n ) Not clear even if a sequence of polynomial length can be constructed in polynomial time Some explicit constructions are known, e.g. for cycles It turns out that it is easier to apply UXS-s instead! Universal Exploration Sequences (UXS-s) A UXS(n,d) is a sequence of numbers (x 1 x k ) in 1..d, such that the robot f ( STEP i, PORT p, DEGREE d) = (STEP i+1, PORT [ p + x i ] ) covers any d-regular graph of (at most) n vertices in at most k steps. 53

54 Touching the foundations of computer science The L = SL complexity class problem L is the complexity class containing decision problems which can be solved by a deterministic Turing machine using a logarithmic amount of memory space. SL (Symmetric Logspace) is the complexity class of problems log-space reducible to USTCON (undirected s-t connectivity), which is the problem of determining whether two vertices of a graph are in the same connected component A positive answer [Reingold, STOC 2005] UXS(n,d) can be constructed by a machine equipped with O(log n) memory By applying a slight modification of the sequence, a robot can explore any (not necessarily regular) graph of order at most n, thus solving USTCON. Note: the problem for the related oblivious (UTS-based) variant is open! 54

55 Helping the robot: guiding using counters Guide the agent along the least often used edge [Ilcinkas et al., 2010] Explores the graph periodically, with an exploration period of O(m D) in graphs of diameter D with m edges. Guide the agent along the edge not in use for the longest time A poor strategy, with an exponential exploration time. Guide the agent along the port not in use for the longest time: rotor-router introduced by [Yanovski et al. 2003], also [Bampas et al. 2009] A fast and robust exploration strategy (w.r.t. changes of graph structure), Improves previous bound of 4n (Ilcinkas 06) stabilizing to a periodic traversal of an Eulerian cycle within (m D) steps. 61

56 Thank you. 62

Random Walks and Universal Sequences

Random Walks and Universal Sequences Random Walks and Universal Sequences Xiaochen Qi February 28, 2013 Abstract A random walk is a chance process studied in probability, which plays an important role in probability theory and its applications.

More information

How to explore big networks? Question: Perform a random walk on G. What is the average node degree among visited nodes, if avg degree in G is 200?

How to explore big networks? Question: Perform a random walk on G. What is the average node degree among visited nodes, if avg degree in G is 200? How to explore big networks? Question: Perform a random walk on G. What is the average node degree among visited nodes, if avg degree in G is 200? Questions from last time Avg. FB degree is 200 (suppose).

More information

DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li

DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li Welcome to DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li Time: 6:00pm 8:50pm R Location: AK232 Fall 2016 Graph Data: Social Networks Facebook social graph 4-degrees of separation [Backstrom-Boldi-Rosa-Ugander-Vigna,

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

CS224W Project Write-up Static Crawling on Social Graph Chantat Eksombatchai Norases Vesdapunt Phumchanit Watanaprakornkul

CS224W Project Write-up Static Crawling on Social Graph Chantat Eksombatchai Norases Vesdapunt Phumchanit Watanaprakornkul 1 CS224W Project Write-up Static Crawling on Social Graph Chantat Eksombatchai Norases Vesdapunt Phumchanit Watanaprakornkul Introduction Our problem is crawling a static social graph (snapshot). Given

More information

Sampling Large Graphs: Algorithms and Applications

Sampling Large Graphs: Algorithms and Applications Sampling Large Graphs: Algorithms and Applications Don Towsley Umass - Amherst Joint work with P.H. Wang, J.Z. Zhou, J.C.S. Lui, X. Guan Measuring, Analyzing Large Networks - large networks can be represented

More information

Absorbing Random walks Coverage

Absorbing Random walks Coverage DATA MINING LECTURE 3 Absorbing Random walks Coverage Random Walks on Graphs Random walk: Start from a node chosen uniformly at random with probability. n Pick one of the outgoing edges uniformly at random

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

Sampling Large Graphs: Algorithms and Applications

Sampling Large Graphs: Algorithms and Applications Sampling Large Graphs: Algorithms and Applications Don Towsley College of Information & Computer Science Umass - Amherst Collaborators: P.H. Wang, J.C.S. Lui, J.Z. Zhou, X. Guan Measuring, analyzing large

More information

Optimization I : Brute force and Greedy strategy

Optimization I : Brute force and Greedy strategy Chapter 3 Optimization I : Brute force and Greedy strategy A generic definition of an optimization problem involves a set of constraints that defines a subset in some underlying space (like the Euclidean

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,

More information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial

More information

Absorbing Random walks Coverage

Absorbing Random walks Coverage DATA MINING LECTURE 3 Absorbing Random walks Coverage Random Walks on Graphs Random walk: Start from a node chosen uniformly at random with probability. n Pick one of the outgoing edges uniformly at random

More information

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Chapter 8 DOMINATING SETS Distributed Computing Group Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

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

Chapter 8 DOMINATING SETS

Chapter 8 DOMINATING SETS Distributed Computing Group Chapter 8 DOMINATING SETS Mobile Computing Summer 2004 Overview Motivation Dominating Set Connected Dominating Set The Greedy Algorithm The Tree Growing Algorithm The Marking

More information

DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li

DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li Welcome to DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li Time: 6:00pm 8:50pm R Location: AK 233 Spring 2018 Service Providing Improve urban planning, Ease Traffic Congestion, Save Energy,

More information

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge.

Adjacent: Two distinct vertices u, v are adjacent if there is an edge with ends u, v. In this case we let uv denote such an edge. 1 Graph Basics What is a graph? Graph: a graph G consists of a set of vertices, denoted V (G), a set of edges, denoted E(G), and a relation called incidence so that each edge is incident with either one

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

On Traversal and Exploration Sequences

On Traversal and Exploration Sequences On Traversal and Exploration Sequences Michal Koucký Department of Computer Science Rutgers University, Piscataway NJ 8854, USA mkoucky@paul.rutgers.edu March 8, 3 Abstract Traversal sequences were defined

More information

Bounds for Edge-Cover by Random Walks

Bounds for Edge-Cover by Random Walks Bounds for Edge-Cover by Random Walks Athina Panotopoulou February 24, 2013 Abstract Let G = (m, n) be an undirected graph with m edges and n vertices. For a random walk on G it is known that the time

More information

Algorithm 23 works. Instead of a spanning tree, one can use routing.

Algorithm 23 works. Instead of a spanning tree, one can use routing. Chapter 5 Shared Objects 5.1 Introduction Assume that there is a common resource (e.g. a common variable or data structure), which different nodes in a network need to access from time to time. If the

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/27/18 22.1 Introduction We spent the last two lectures proving that for certain problems, we can

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

Geo-Routing. Chapter 2. Ad Hoc and Sensor Networks Roger Wattenhofer

Geo-Routing. Chapter 2. Ad Hoc and Sensor Networks Roger Wattenhofer Geo-Routing Chapter 2 Ad Hoc and Sensor Networks Roger Wattenhofer 2/1 Application of the Week: Mesh Networking (Roofnet) Sharing Internet access Cheaper for everybody Several gateways fault-tolerance

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

1 Random Walks on Graphs

1 Random Walks on Graphs Lecture 7 Com S 633: Randomness in Computation Scribe: Ankit Agrawal In the last lecture, we looked at random walks on line and used them to devise randomized algorithms for 2-SAT and 3-SAT For 2-SAT we

More information

12/5/17. trees. CS 220: Discrete Structures and their Applications. Trees Chapter 11 in zybooks. rooted trees. rooted trees

12/5/17. trees. CS 220: Discrete Structures and their Applications. Trees Chapter 11 in zybooks. rooted trees. rooted trees trees CS 220: Discrete Structures and their Applications A tree is an undirected graph that is connected and has no cycles. Trees Chapter 11 in zybooks rooted trees Rooted trees. Given a tree T, choose

More information

3.1 Basic Definitions and Applications. Chapter 3. Graphs. Undirected Graphs. Some Graph Applications

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

More information

On the logspace shortest path problem

On the logspace shortest path problem Electronic Colloquium on Computational Complexity, Report No. 3 (2016) On the logspace shortest path problem Boris Brimkov and Illya V. Hicks Computational & Applied Mathematics, Rice University, Houston,

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

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

Maximal Independent Set

Maximal Independent Set Chapter 0 Maximal Independent Set In this chapter we present a highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study in

More information

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD CAR-TR-728 CS-TR-3326 UMIACS-TR-94-92 Samir Khuller Department of Computer Science Institute for Advanced Computer Studies University of Maryland College Park, MD 20742-3255 Localization in Graphs Azriel

More information

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols

From Static to Dynamic Routing: Efficient Transformations of Store-and-Forward Protocols SIAM Journal on Computing to appear From Static to Dynamic Routing: Efficient Transformations of StoreandForward Protocols Christian Scheideler Berthold Vöcking Abstract We investigate how static storeandforward

More information

Algorithms, Games, and Networks February 21, Lecture 12

Algorithms, Games, and Networks February 21, Lecture 12 Algorithms, Games, and Networks February, 03 Lecturer: Ariel Procaccia Lecture Scribe: Sercan Yıldız Overview In this lecture, we introduce the axiomatic approach to social choice theory. In particular,

More information

Chapter 7 TOPOLOGY CONTROL

Chapter 7 TOPOLOGY CONTROL Chapter 7 TOPOLOGY CONTROL Distributed Computing Group Mobile Computing Winter 2005 / 2006 Overview Topology Control Gabriel Graph et al. XTC Interference SINR & Scheduling Complexity Distributed Computing

More information

Randomized Algorithms for Network Security and Peer-to-Peer Systems

Randomized Algorithms for Network Security and Peer-to-Peer Systems Randomized Algorithms for Network Security and Peer-to-Peer Systems Micah Adler University of Massachusetts, Amherst Talk Outline Probabilistic Packet Marking for IP Traceback Network Security Appeared

More information

On expander graphs and connectivity in small space

On expander graphs and connectivity in small space On expander graphs and connectivity in small space Omer Reingold Abstract. This presentation is aimed to communicate a recently found deterministic algorithm for determining connectivity in undirected

More information

Setting Port Numbers for Fast Graph Exploration

Setting Port Numbers for Fast Graph Exploration Setting Port Numbers for Fast Graph Exploration David Ilcinkas CNRS, LaBRI, Université Bordeaux I, France david.ilcinkas@labri.fr Abstract We consider the problem of periodic graph exploration by a finite

More information

Lecture 6: Spectral Graph Theory I

Lecture 6: Spectral Graph Theory I A Theorist s Toolkit (CMU 18-859T, Fall 013) Lecture 6: Spectral Graph Theory I September 5, 013 Lecturer: Ryan O Donnell Scribe: Jennifer Iglesias 1 Graph Theory For this course we will be working on

More information

CS 598CSC: Approximation Algorithms Lecture date: March 2, 2011 Instructor: Chandra Chekuri

CS 598CSC: Approximation Algorithms Lecture date: March 2, 2011 Instructor: Chandra Chekuri CS 598CSC: Approximation Algorithms Lecture date: March, 011 Instructor: Chandra Chekuri Scribe: CC Local search is a powerful and widely used heuristic method (with various extensions). In this lecture

More information

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department

CS473-Algorithms I. Lecture 13-A. Graphs. Cevdet Aykanat - Bilkent University Computer Engineering Department CS473-Algorithms I Lecture 3-A Graphs Graphs A directed graph (or digraph) G is a pair (V, E), where V is a finite set, and E is a binary relation on V The set V: Vertex set of G The set E: Edge set of

More information

Algorithms for Grid Graphs in the MapReduce Model

Algorithms for Grid Graphs in the MapReduce Model University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln Computer Science and Engineering: Theses, Dissertations, and Student Research Computer Science and Engineering, Department

More information

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4)

Characterizing Graphs (3) Characterizing Graphs (1) Characterizing Graphs (2) Characterizing Graphs (4) S-72.2420/T-79.5203 Basic Concepts 1 S-72.2420/T-79.5203 Basic Concepts 3 Characterizing Graphs (1) Characterizing Graphs (3) Characterizing a class G by a condition P means proving the equivalence G G

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

COMP260 Spring 2014 Notes: February 4th

COMP260 Spring 2014 Notes: February 4th COMP260 Spring 2014 Notes: February 4th Andrew Winslow In these notes, all graphs are undirected. We consider matching, covering, and packing in bipartite graphs, general graphs, and hypergraphs. We also

More information

Distributed Computing over Communication Networks: Leader Election

Distributed Computing over Communication Networks: Leader Election Distributed Computing over Communication Networks: Leader Election Motivation Reasons for electing a leader? Reasons for not electing a leader? Motivation Reasons for electing a leader? Once elected, coordination

More information

Throughout this course, we use the terms vertex and node interchangeably.

Throughout this course, we use the terms vertex and node interchangeably. Chapter Vertex Coloring. Introduction Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring

More information

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem

CS261: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem CS61: A Second Course in Algorithms Lecture #16: The Traveling Salesman Problem Tim Roughgarden February 5, 016 1 The Traveling Salesman Problem (TSP) In this lecture we study a famous computational problem,

More information

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015

15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 15-451/651: Design & Analysis of Algorithms November 4, 2015 Lecture #18 last changed: November 22, 2015 While we have good algorithms for many optimization problems, the previous lecture showed that many

More information

On-Line Social Systems with Long-Range Goals

On-Line Social Systems with Long-Range Goals On-Line Social Systems with Long-Range Goals Jon Kleinberg Cornell University Including joint work with Ashton Anderson, Dan Huttenlocher, Jure Leskovec, and Sigal Oren. Long-Range Planning Growth in on-line

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

princeton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm

princeton univ. F 15 cos 521: Advanced Algorithm Design Lecture 2: Karger s Min Cut Algorithm princeton univ. F 5 cos 5: Advanced Algorithm Design Lecture : Karger s Min Cut Algorithm Lecturer: Pravesh Kothari Scribe:Pravesh (These notes are a slightly modified version of notes from previous offerings

More information

Graph Algorithms. Many problems in networks can be modeled as graph problems.

Graph Algorithms. Many problems in networks can be modeled as graph problems. Graph Algorithms Many problems in networks can be modeled as graph problems. - The topology of a distributed system is a graph. - Routing table computation uses the shortest path algorithm - Efficient

More information

Introduction to Graphs

Introduction to Graphs Introduction to Graphs Historical Motivation Seven Bridges of Königsberg Königsberg (now Kaliningrad, Russia) around 1735 Problem: Find a walk through the city that would cross each bridge once and only

More information

Models of distributed computing: port numbering and local algorithms

Models of distributed computing: port numbering and local algorithms Models of distributed computing: port numbering and local algorithms Jukka Suomela Adaptive Computing Group Helsinki Institute for Information Technology HIIT University of Helsinki FMT seminar, 26 February

More information

CS261: Problem Set #1

CS261: Problem Set #1 CS261: Problem Set #1 Due by 11:59 PM on Tuesday, April 21, 2015 Instructions: (1) Form a group of 1-3 students. You should turn in only one write-up for your entire group. (2) Turn in your solutions by

More information

1 Better Approximation of the Traveling Salesman

1 Better Approximation of the Traveling Salesman Stanford University CS261: Optimization Handout 4 Luca Trevisan January 13, 2011 Lecture 4 In which we describe a 1.5-approximate algorithm for the Metric TSP, we introduce the Set Cover problem, observe

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

Randomized Rumor Spreading in Social Networks

Randomized Rumor Spreading in Social Networks Randomized Rumor Spreading in Social Networks Benjamin Doerr (MPI Informatics / Saarland U) Summary: We study how fast rumors spread in social networks. For the preferential attachment network model and

More information

Scalable overlay Networks

Scalable overlay Networks overlay Networks Dr. Samu Varjonen 1 Lectures MO 15.01. C122 Introduction. Exercises. Motivation. TH 18.01. DK117 Unstructured networks I MO 22.01. C122 Unstructured networks II TH 25.01. DK117 Bittorrent

More information

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck

Theory of Computing. Lecture 10 MAS 714 Hartmut Klauck Theory of Computing Lecture 10 MAS 714 Hartmut Klauck Seven Bridges of Königsberg Can one take a walk that crosses each bridge exactly once? Seven Bridges of Königsberg Model as a graph Is there a path

More information

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017

CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 CMSC 451: Lecture 22 Approximation Algorithms: Vertex Cover and TSP Tuesday, Dec 5, 2017 Reading: Section 9.2 of DPV. Section 11.3 of KT presents a different approximation algorithm for Vertex Cover. Coping

More information

Bidirectional search and Goal-directed Dijkstra

Bidirectional search and Goal-directed Dijkstra Computing the shortest path Bidirectional search and Goal-directed Dijkstra Alexander Kozyntsev October 18, 2010 Abstract We study the problem of finding a shortest path between two vertices in a directed

More information

6 Distributed data management I Hashing

6 Distributed data management I Hashing 6 Distributed data management I Hashing There are two major approaches for the management of data in distributed systems: hashing and caching. The hashing approach tries to minimize the use of communication

More information

Pregel. Ali Shah

Pregel. Ali Shah Pregel Ali Shah s9alshah@stud.uni-saarland.de 2 Outline Introduction Model of Computation Fundamentals of Pregel Program Implementation Applications Experiments Issues with Pregel 3 Outline Costs of Computation

More information

Recitation 4: Elimination algorithm, reconstituted graph, triangulation

Recitation 4: Elimination algorithm, reconstituted graph, triangulation Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Recitation 4: Elimination algorithm, reconstituted graph, triangulation

More information

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

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs CS 70 Discrete Mathematics for CS Spring 2008 David Wagner Note 13 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite to writing a

More information

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?

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? 1 Introduction Graph theory is one of the most in-demand (i.e. profitable) and heavily-studied areas of applied mathematics and theoretical computer science. May graph theory questions are applied in this

More information

INTRODUCTION TO GRAPH THEORY. 1. Definitions

INTRODUCTION TO GRAPH THEORY. 1. Definitions INTRODUCTION TO GRAPH THEORY D. JAKOBSON 1. Definitions A graph G consists of vertices {v 1, v 2,..., v n } and edges {e 1, e 2,..., e m } connecting pairs of vertices. An edge e = (uv) is incident with

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

Randomized algorithms have several advantages over deterministic ones. We discuss them here:

Randomized algorithms have several advantages over deterministic ones. We discuss them here: CS787: Advanced Algorithms Lecture 6: Randomized Algorithms In this lecture we introduce randomized algorithms. We will begin by motivating the use of randomized algorithms through a few examples. Then

More information

CSE 100: GRAPH ALGORITHMS

CSE 100: GRAPH ALGORITHMS CSE 100: GRAPH ALGORITHMS Dijkstra s Algorithm: Questions Initialize the graph: Give all vertices a dist of INFINITY, set all done flags to false Start at s; give s dist = 0 and set prev field to -1 Enqueue

More information

Mining Web Data. Lijun Zhang

Mining Web Data. Lijun Zhang Mining Web Data Lijun Zhang zlj@nju.edu.cn http://cs.nju.edu.cn/zlj Outline Introduction Web Crawling and Resource Discovery Search Engine Indexing and Query Processing Ranking Algorithms Recommender Systems

More information

Λέων-Χαράλαμπος Σταματάρης

Λέων-Χαράλαμπος Σταματάρης Λέων-Χαράλαμπος Σταματάρης INTRODUCTION Two classical problems of information dissemination in computer networks: The broadcasting problem: Distributing a particular message from a distinguished source

More information

Paired Approximation Problems and Incompatible Inapproximabilities David Eppstein

Paired Approximation Problems and Incompatible Inapproximabilities David Eppstein Paired Approximation Problems and Incompatible Inapproximabilities David Eppstein Cherries by Emma Rose Photos (CC-BY-NC), http://www.flickr.com/photos/29974980@n04/2814910772/ In a nutshell: Given two

More information

Maximal Independent Set

Maximal Independent Set Chapter 4 Maximal Independent Set In this chapter we present a first highlight of this course, a fast maximal independent set (MIS) algorithm. The algorithm is the first randomized algorithm that we study

More information

From Routing to Traffic Engineering

From Routing to Traffic Engineering 1 From Routing to Traffic Engineering Robert Soulé Advanced Networking Fall 2016 2 In the beginning B Goal: pair-wise connectivity (get packets from A to B) Approach: configure static rules in routers

More information

Linear Advice for Randomized Logarithmic Space

Linear Advice for Randomized Logarithmic Space Linear Advice for Randomized Logarithmic Space Lance Fortnow 1 and Adam R. Klivans 2 1 Department of Computer Science University of Chicago Chicago, IL 60637 fortnow@cs.uchicago.edu 2 Department of Computer

More information

Routing. 4. Mar INF-3190: Switching and Routing

Routing. 4. Mar INF-3190: Switching and Routing Routing 4. Mar. 004 1 INF-3190: Switching and Routing Routing: Foundations! Task! To define the route of packets through the network! From the source! To the destination system! Routing algorithm! Defines

More information

Flat Routing on Curved Spaces

Flat Routing on Curved Spaces Flat Routing on Curved Spaces Dmitri Krioukov (CAIDA/UCSD) dima@caida.org Berkeley April 19 th, 2006 Clean slate: reassess fundamental assumptions Information transmission between nodes in networks that

More information

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali Self Stabilization CS553 Distributed Algorithms Prof. Ajay Kshemkalyani by Islam Ismailov & Mohamed M. Ali Introduction There is a possibility for a distributed system to go into an illegitimate state,

More information

Maximum Hitting Time

Maximum Hitting Time Maximum Hitting Time Longquan Qiao February 13, 013 Abstract For a specific connected, finite graph, there is always a maximum hitting time between any two different vertices in the graph. We call it the

More information

Rumour spreading in the spatial preferential attachment model

Rumour spreading in the spatial preferential attachment model Rumour spreading in the spatial preferential attachment model Abbas Mehrabian University of British Columbia Banff, 2016 joint work with Jeannette Janssen The push&pull rumour spreading protocol [Demers,

More information

DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li

DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li Welcome to DS504/CS586: Big Data Analytics Graph Mining Prof. Yanhua Li Time: 6:00pm 8:50pm R Location: KH 116 Fall 2017 Reiews/Critiques I will choose one reiew to grade this week. Graph Data: Social

More information

BUBBLE RAP: Social-Based Forwarding in Delay-Tolerant Networks

BUBBLE RAP: Social-Based Forwarding in Delay-Tolerant Networks 1 BUBBLE RAP: Social-Based Forwarding in Delay-Tolerant Networks Pan Hui, Jon Crowcroft, Eiko Yoneki Presented By: Shaymaa Khater 2 Outline Introduction. Goals. Data Sets. Community Detection Algorithms

More information

TELCOM2125: Network Science and Analysis

TELCOM2125: Network Science and Analysis School of Information Sciences University of Pittsburgh TELCOM2125: Network Science and Analysis Konstantinos Pelechrinis Spring 2015 Figures are taken from: M.E.J. Newman, Networks: An Introduction 2

More information

Mining Web Data. Lijun Zhang

Mining Web Data. Lijun Zhang Mining Web Data Lijun Zhang zlj@nju.edu.cn http://cs.nju.edu.cn/zlj Outline Introduction Web Crawling and Resource Discovery Search Engine Indexing and Query Processing Ranking Algorithms Recommender Systems

More information

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch

Distributed Algorithms 6.046J, Spring, 2015 Part 2. Nancy Lynch Distributed Algorithms 6.046J, Spring, 2015 Part 2 Nancy Lynch 1 This Week Synchronous distributed algorithms: Leader Election Maximal Independent Set Breadth-First Spanning Trees Shortest Paths Trees

More information

A Course in Machine Learning

A Course in Machine Learning A Course in Machine Learning Hal Daumé III 13 UNSUPERVISED LEARNING If you have access to labeled training data, you know what to do. This is the supervised setting, in which you have a teacher telling

More information

Enhanced Random Walk with Choice: An Empirical Study

Enhanced Random Walk with Choice: An Empirical Study , July 4-6, 2012, London, U.K. Enhanced Random Walk with Choice: An Empirical Study John Alexandris, Gregory Karagiorgos Abstract The Random Walk with d Choice (RWC(d)) is a recently proposed variation

More information

Math 170- Graph Theory Notes

Math 170- Graph Theory Notes 1 Math 170- Graph Theory Notes Michael Levet December 3, 2018 Notation: Let n be a positive integer. Denote [n] to be the set {1, 2,..., n}. So for example, [3] = {1, 2, 3}. To quote Bud Brown, Graph theory

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

Graph Algorithms. Many problems in networks can be modeled as graph problems.

Graph Algorithms. Many problems in networks can be modeled as graph problems. Graph Algorithms Graph Algorithms Many problems in networks can be modeled as graph problems. - The topology of a distributed system is a graph. - Routing table computation uses the shortest path algorithm

More information

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

CS246: Mining Massive Datasets Jure Leskovec, Stanford University CS246: Mining Massive Datasets Jure Leskovec, Stanford University http://cs246.stanford.edu HITS (Hypertext Induced Topic Selection) Is a measure of importance of pages or documents, similar to PageRank

More information

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij

Traveling Salesman Problem. Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij Traveling Salesman Problem Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij 1 Contents TSP and its applications Heuristics and approximation algorithms Construction heuristics,

More information

The Complexity of Change

The Complexity of Change The Complexity of Change JAN VAN DEN HEUVEL Utrecht, 3 April 2014 Department of Mathematics London School of Economics and Political Science A classical puzzle: the 15-Puzzle 13 2 3 12 1 2 3 4 9 11 1 10

More information

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks

Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks Approximating Fault-Tolerant Steiner Subgraphs in Heterogeneous Wireless Networks Ambreen Shahnaz and Thomas Erlebach Department of Computer Science University of Leicester University Road, Leicester LE1

More information