Graph Exploration: How to do better than the random walk? Adrian Kosowski. INRIA Bordeaux Sud-Ouest.
|
|
- Erika Olivia Kennedy
- 6 years ago
- Views:
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 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 informationHow 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 informationDS504/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 informationIntroduction 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 informationCS224W 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 informationSampling 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 informationAbsorbing 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 informationUndirected 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 informationSampling 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 informationOptimization 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 informationIntroduction 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 informationGraphs: 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 informationAbsorbing 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 informationChapter 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 informationCopyright 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 informationChapter 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 informationDS504/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 informationAdjacent: 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 informationCopyright 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 informationOn 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 informationBounds 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 informationAlgorithm 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
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 informationMatching 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 informationGeo-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 informationTreewidth 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 information1 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 information12/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 information3.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 informationOn 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 informationTheorem 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 informationIntroduction 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 informationChapter 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 informationMaximal 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 informationLocalization 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 informationFrom 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 informationAlgorithms, 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 informationChapter 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 informationRandomized 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 informationOn 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 informationSetting 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 informationLecture 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 informationCS 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 informationCS473-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 informationAlgorithms 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 informationCharacterizing 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 informationLecture 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 informationCOMP260 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 informationDistributed 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 informationThroughout 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 informationCS261: 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 information15-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 informationOn-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 informationCSE 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 informationprinceton 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 informationGraph 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 informationIntroduction 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 informationModels 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 informationCS261: 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 information1 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 informationOutline. 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 informationRandomized 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 informationScalable 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 informationTheory 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 informationCMSC 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 informationBidirectional 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 information6 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 informationPregel. 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 informationRecitation 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 informationDiscrete 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 informationHow 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 informationINTRODUCTION 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 information3.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 informationRandomized 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 informationCSE 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 informationMining 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 informationPaired 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 informationMaximal 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 informationFrom 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 informationLinear 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 informationRouting. 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 informationFlat 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 informationSelf 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 informationMaximum 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 informationRumour 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 informationDS504/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 informationBUBBLE 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 informationTELCOM2125: 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 informationMining 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 informationDistributed 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 informationA 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 informationEnhanced 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 informationMath 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 informationGraphs 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 informationGraph 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 informationCS246: 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 informationTraveling 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 informationThe 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 informationApproximating 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