Lecture Note: Computation problems in social. network analysis

Size: px
Start display at page:

Download "Lecture Note: Computation problems in social. network analysis"

Transcription

1 Lecture Note: Computation problems in social network analysis Bang Ye Wu CSIE, Chung Cheng University, Taiwan September 29, 2008 In this lecture note, several computational problems are listed, including exercises for computer programming and state-of-the-art research issues. Of course, the problems listed here are not exhausted. This note is not a good survey because the current statuses of most of the problems are not given. 1 Exercises of Computer programming There are many basic metrics to be computed in SNA. Many of them are easy exercises for students in computer science. But the network may be A note used in the SNA course of CS Department, Chung Cheng University bangye/; bangye@cs.ccu.edu.tw 1

2 large and sparse, and data structures for such graphs should be employed in the program. In the following, a graph is denoted by G = (V, E), which may be either directed or undirected. Also the vertices and the edges/arcs may be weighted or unweighted. k-neighbors: given a node v and an integer k, find all the nodes with distance k from v. It is denoted by N k (v). Solvable by Breadth-First- Search (BFS) Components: find the connected components of a graph. Solvable by BFS or Depth-First-Search (DFS). Shortest Paths. Solvable by BFS or 2-way BFS. one shortest path: find a shortest path between two given nodes. all shortest path: find all shortest paths between two given nodes. all-to-all shortest paths: find one/all shortest paths between every pair of nodes. This problem is more general than finding the distances of all pairs. shortest-paths tree: find a shortest-paths tree for a given node shortest-path DAG*: for a node v, the shortest-path DAG is the DAG containing all shortest paths from v to all other nodes. (Is there any interesting research issue?) 2

3 diameter: The diameter is the maximum distance of any pair of nodes, i.e., max u,v V d(u, v), where d(u, v) is the distance from u to v. Remark 1: the distance between two nodes is the length of the shortest path between them (for undirected graph). Sometimes, we use the term eccentricity. The eccentricity of a node is the longest distance from any node to it, and the diameter is the largest eccentricity over all nodes. max-flow: In the general Maximum Flow problem, a directed graph with a capacity limit associated to each arc is given. For two given nodes (a source and a sink), we want to find the maximum capacity flow from the source to the sink. Solvable by Labeling Algorithm. In SNA, the flow is regarded as a measurement of influence. In most of the cases, the capacity limit on each arc is the same, or said unit capacity. If it is the case, could we compute the max flow more efficiently. closeness centrality (in, out, all): The closeness of a node is the total distance to all the other nodes. Sometimes called as farness (maybe more suitable). There are three variants: from the node to others, from others to the node, and distance defined by the sum (average) of 3

4 both directions. Solvable by BFS. How about if we only want to know the node with the maximum/minimum closeness? betweenness centrality. Node betweenness: The betweenness of a node v is the number of node pairs such that their shortest path passing through v. Every node pair whose shortest path passing through v contributes one point to the betweenness of v. In the case of multiple shortest paths, all these shortest paths share one point. Edge betweenness: Similar to node betweenness, it is the number of node pairs such that their shortest path passing through the edge. degree centrality: The in-degree and out-degree of a node. clustering coefficient (CC): The CC of a node is the number of edge between its neighbors divided by the possible maximum ( N(v) ( N(v) 1)/2 in undirected case). The CC of the whole network is the mean of the ones of nodes. However, taking the unweighted mean over all nodes is not a good measurement. It is defined by the total number of triangles divided by the total number of connected triples. Precisely, CC = {(a, b, c) : ab, bc, ac E} {(a, b, c) : ab, bc E} 4

5 counting 3-rings (undirected, transitive, cyclic) 2 Research Issues 2.1 Clustering problem Correlation clustering: Each person has two lists of the ones he likes and dislikes respectively. Find a clustering such that the favorite score is maximum. The problem can be modeled as follows. Each edge is associated with a + or - or nothing. We want to partition the vertices into k clusters such that the total number of positive edge minus the total number of minus edge within clusters is maximum. Remarks: This problem can be defined to several variants. First the number of cluster is specified in the input or not. The definition of measure score can be defined in several similar ways. For example, we can maximize the total number of positive edges within clusters minus the one across the clusters. (See the reference papers) Remarks: Is the bottleneck version has been studied? 5

6 2.1.2 k-center problem The k-center problem is a classical problem in graph algorithm. Given a graph and an integer k, we look for a vertex subset S of k centers minimizing the bottleneck distance from any node to any center, i.e., we want to minimize max v V min d(v, s). s S For fixed k, the problem can be solved in polynomial time. To see this, a naive algorithm trying all possible k-node subsets takes only polynomial time for fixed k. However, for general k, it is NP-hard. The problem is thought of a clustering problem in the sense that the vertices closest to each center s S are regarded as within the same cluster. The measurement of the quality of the clustering is then defined by the maximum radius of the clusters. The k-center problem has been well studied, and many results can be found in the literature Maximal/maximum 2-clique Definition 1: For a graph G and an integer k, a k-clique in G is a subgraph induced on a vertex subset S such that d(u, v) k for all u, v S. Traditionally, the k-clique is defined on undirected graph and should be maximal (a substructure is maximal if it is not properly contained in any sub- 6

7 structure with the same property.) Of course we can defined it on directed graph. Please note the terminology is different from Graph Theory, in which a k-clique usually means a clique of size k. The k-clique is a relaxation of clique. The definition of clique is too restricted, and it is almost impossible to find a meaningful clique in real data. A k-clique is a clique in the k-th transitive extension of the graph. So, to find a k-clique with maximum cardinality is NP-hard since the MAX-CLIQUE is a well-known NP-hard problem. The good news is that there are many results about MAX-CLIQUE can be applied to this problem Maximal/maximum 2-club The definition of k-club is similar to the one of k-club. The only difference is that we require that d G[S] (u, v) k for all u, v S, where G[S] is the induced graph on S and d G[S] (u, v) is the distance within G[S], i.e., the minimum length of any path between u and v and passing through only vertices in S. In SNA, it seems more meaningful to use k-club than k-clique. To find maximum k-club is also NP-hard. But one thing is interesting, we still don t know the complexity to determine a maximal k-club. 7

8 2.1.5 Maximal/maximum directed graph 1.5-clique, 1.5-club For directed graph, we can generalize the k-clique/club. We define a middle ground between clique and 2-clique by requiring d(u, v) + d(v, u) 3. It was shown that any 1.5-clique has density at least 0.5. It may be an important feature for finding a cohesion cluster. Remark 2: There are several interesting problem about the k-clique/club. For example, exact algorithm (DP or branch-and-bound, there is a integer programming algorithm published in European J. OR 2002), heuristic algorithm, or other AI methods Maximum density subgraph with/without given size The maximum density subgraph (MDS) asking a subgraph with maximum density defined by the total number (weight) of edges divided by the number of vertices. MDS has also been studied in Graph Algorithm. If the size of the subgraph is not restricted, the problem can be solved in polynomial time. But if the size of subgraph is given in the input, the problem become NP-hard. 8

9 2.1.7 Overlapping and non-overlapping clustering Most of current techniques for graph clustering focus on non-overlapping clustering. Recently some research results on the overlapping case have been published. Some of them modified the previous algorithms for non-overlapping case. In social network, clusters usually overlapped with one another Bipartite clustering In a bipartite graph, the vertex set can be partitioned into two subset V = V 1 V 2 and all edges are cross the cut, i.e., for any u V 1 and v V 2, (u, v) / E. Similar to the MAX-Clique problem, we may also interested in finding a maximum size bi-clique (complete bipartite subgraph). Another problem is to partition a bipartite graph such that each of them is also complete or said dense. There is another interesting bipartite clustering problem. In the problem, V 1 is a set of members and V 2 is a set of attributes. (u, v) E iff member u has attribute v. By such information, we want to partition V 1 into several clusters, overlap or non-overlap, such that the members in one cluster are similar in their attributes. 9

10 2.1.9 Hierarchical partition of graph To deal with large network, hierarchical method is needed and usually considered. Most of the algorithms are time-consuming and hard to applied to a large network directly. One may first partition a network into small ones and then employ these algorithms Clustering with modularity (Newman) The Modularity is defined by Newman to measure how good a partition (clustering) is. See the reference for the formal definition. To find a clustering with maximum modularity is still an NP-hard problem. Many of the results in this area use Graph Spectrum Theory (This term?) Improving GN algorithm for clustering GN algorithm was proposed by Girven(?) and Newman. It repeatedly remove the edge of maximum betweenness until the network is partitioned into desired number of clusters. It is a heuristic algorithm for non-overlapping clustering. One drawback is its high time complexity. There are some results for improving GN algorithm. There may be still improvement will be discovered in the future. 10

11 Other approaches for community detection Community detection, or graph clustering, is an important topics and has fruitful research issues. 2.2 Influence problem The Influence problem naturally arises in marketing. Suppose that we have a social network describing the social relationship among people. Now we want to promote our new product and want to select some people as the initial set (We shall also call the nodes as source nodes, or source for simplicity). Using the their influence on others, we hope there will be as many as possible people knowing our product. The exact definition depends on the way we define the influence. In general, we are given a social network G (usually directed) and an integer k. There is a influence function f S (v) of a node v on an initial set S. Besides there is a threshold δ(v) associated with each node v. We want to find a vertex subset of size k such that the cardinality of the influenced set {v f S (v) δ(v)} is maximized. Surely the problem can be defined with weights on initial nodes, influenced nodes, or both. The threshold function δ provides the flexibility of that nodes can have different hardness to be convinced. For the simplicity, in the following we assume that thresholds of all nodes are the same. 11

12 2.2.1 Minimum distance mode Maybe the simplest definition of influence function is to only use the distance. Intuitively, the farther a node is from the initial nodes, the weaker the influence is. Usually we use an exponential function as the influence function. The attenuation factor may be any positive number smaller than 1, but 1/2 is usually used. Another question is how to measure the total effect of all initial nodes. If we consider only the closest source, we have f S (v) = max s S 2 1 d(s,v), or equivalently f S (v) = 2 1 d(s,v), in which the distance d(s, v) from a set to a node is the minimum distance from any node in the set to the node. In such a case, the threshold can only be powers of the attenuation factor. Therefore, in this mode, a node is influenced iff it is closer to the initial set than a specified distance. So we can have the following definition. Problem: Minimum-Distance-Mode Max-Influence Input: A network G, an integer k 1, and an integer q Output: A set S of k sources such that {v d(s, v) q} is maximized. We call it the minimum distance mode. 12

13 2.2.2 Distance-mode An argument about the minimum distance mode is that it ignores the cooperation of sources. A people may be influenced by more than one sources. With this aspect, we define the problem as follows. Problem: Distance-Mode Max-Influence Input: A network G, an integer k 1, and a real q Output: A set S of k sources such that {v s S 2 1 d(s,v) q} is maximized Path mode An argument about the distance mode is that only shortest paths are counted. But in the real world, influence may spread along any path. So, another influence mode consider all reachable paths from the sources to the influenced node. Precisely speaking, we define f S (v) = k #(P i )2 i+1, s S i=1 where #(P i ) is the number of paths of length i (from s to v) and k is the selected limit of path length. In practice, k is small since a path of length more than 5 usually is meaningless. 13

14 2.2.4 Flow-mode (step-limited flow mode) Another way to take all pathways into consideration is to define the influence by the maximum flow. The point is as follows. Suppose that A has a arc pointing to B. We may have many paths passing through A to B. In the path mode, we may over estimate the importance of these paths because A is just only one person influencing B. This is the reason to use flow. But if the maximum flow is used, in a dense network, it is very possible the maximum flow is just the in-degree of the target. In another view, no consideration on the length of flow is also questionable. A modification is that we can use flow with limited length Diffusion Models There are several diffusion model used in considering the spread of an idea or innovation through a social network. In these models, a node is either active (an adopter of the innovation) or inactive. The tendency of a node to become active increases monotonically as more of its neighbors become active. Usually, these models focus on the progressive case in which nodes can switch from being inactive to being active, but do not switch in the other direction. Thus, the process will look roughly as follows from the perspective of an initially inactive node v: as time unfolds, more and more 14

15 of v s neighbors become active; at some point, this may cause v to become active, and v s decision may in turn trigger further decisions by nodes to which v is connected. [3] Linear threshold model In this model, a node v is influenced by each neighbor w according to a weight b v,w such that w N(v) b v,w 1, in which N(v) is the incoming neighborhood of v. The dynamics of the process then proceed as follows. Each node v chooses a threshold θ v uniformly at random from the interval [0, 1]; this represents the weighted fraction of v s neighbors that must become active in order for v to become active. Given a random choice of thresholds, and an initial set of active nodes A 0 (with all other nodes inactive), the diffusion process unfolds deterministically in discrete steps: in step t, all nodes that were active in step t 1 remain active, and we activate any node v for which the total weight of its active neighbors is at least θ v : b v,w θ v w N(v) A alternative of this model sets all theta v to 1/2. Independent Cascade model [1] We start with an initial set of active nodes A 0, and the process unfolds in discrete steps according to the following randomized rule. When node v first becomes active in step t, it is given a single chance to activate each currently 15

16 inactive neighbor w; it succeeds with a probability p v,w a parameter of the system independently of the history thus far. (If w has multiple newly activated neighbors, their attempts are sequenced in an arbitrary order.) If v succeeds, then w will become active in step t + 1; but whether or not v succeeds, it cannot make any further attempts to activate w in subsequent rounds. Again, the process runs until no more activations are possible. Remark 3: The maximum Influence problem under the above two diffusion models were shown to be NP-hard and can be approximated with ratio 1 1/e ɛ in [3], where e is the base of the natural logarithm and ɛ is any real number. (In the convention of approximation ratio of maximization problem, we shall say the ratio is e/(e 1) + ɛ the inverse of the above ratio Other modes 2.3 Covering (Dominating) problem The covering problem corresponds to the influence problem. Here we want to find a cheapest initial set such that all the people (or a given subset, or a desired number of unspecified persons) are influenced. 16

17 2.4 Social roles: Equivalence or Similarity [2] In such problems, we want to find some positions (nodes) which are equivalent, or similar, in a social network. Two nodes are structural equivalent if they have the same ties to all others. To check if two node are structural equivalent and to compute their similarity are simple. But it still worthy studying to find out equivalent or similar positions is a large social network by avoiding enumeration of all pairs. Besides structural equivalence, a more important definition about social role is the Regular equivalence. Two nodes are said to be regularly equivalent if they have the same profile of ties with members of other sets of actors that are also regularly equivalent. Regular equivalence seems more abstract than the structural equivalence. It involves the problem of graph homomorphism. 2.5 Structure (link) mining or latent friend discovery This is a research topic related to data mining. We suppose that there is a underlying social network. But for some reason, some links are lost, and we want to find the lost links. Some research find the links by analyzing the contents in web sites or blogs, and some use only structural information. Of course, one can also develop methods using both information. 17

18 2.6 Computing problems with huge networks When the network is huge, even a simple problem may become a trouble. This is the research issue of the field of external (memory) algorithm. See [4] for a nice survey. Final remarks The reference papers have not been enumerated in this note. Maybe they will be given somewhere later. References [1] J. Goldenberg, B. Libai, E. Muller. Talk of the Network: A Complex Systems Look at the Underlying Process of Word-of-Mouth. M arketing Letters 12:3(2001), [2] Hanneman, A., Riddle, M., Introduction to social network methods, online at [ [3] D. Kempe, J. Kleinberg, and E. Tardos, Maximizing the spread of influence through a social network, K DD, (2003). 18

19 [4] S. Vitter, External Memory Algorithms and Data Structures: Dealing with Massive Data, ACM Computing Surveys, Vol. 33, No. 2, June 2001, February 2007 revision Available online at Internet, 19

Maximizing the Spread of Influence through a Social Network. David Kempe, Jon Kleinberg and Eva Tardos

Maximizing the Spread of Influence through a Social Network. David Kempe, Jon Kleinberg and Eva Tardos Maximizing the Spread of Influence through a Social Network David Kempe, Jon Kleinberg and Eva Tardos Group 9 Lauren Thomas, Ryan Lieblein, Joshua Hammock and Mary Hanvey Introduction In a social network,

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

Web Structure Mining Community Detection and Evaluation

Web Structure Mining Community Detection and Evaluation Web Structure Mining Community Detection and Evaluation 1 Community Community. It is formed by individuals such that those within a group interact with each other more frequently than with those outside

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

Community Detection. Community

Community Detection. Community Community Detection Community In social sciences: Community is formed by individuals such that those within a group interact with each other more frequently than with those outside the group a.k.a. group,

More information

On the Min-Max 2-Cluster Editing Problem

On the Min-Max 2-Cluster Editing Problem JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 29, 1109-1120 (2013) On the Min-Max 2-Cluster Editing Problem LI-HSUAN CHEN 1, MAW-SHANG CHANG 2, CHUN-CHIEH WANG 1 AND BANG YE WU 1,* 1 Department of Computer

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

Example 3: Viral Marketing and the vaccination policy problem

Example 3: Viral Marketing and the vaccination policy problem Lecture Notes: Social Networks: Models, Algorithms, and Applications Lecture 2: Jan 19, 2012 Scribes: Preethi Ambati and Azar Aliyev Example 3: Viral Marketing and the vaccination policy problem Diffusion

More information

Social-Network Graphs

Social-Network Graphs Social-Network Graphs Mining Social Networks Facebook, Google+, Twitter Email Networks, Collaboration Networks Identify communities Similar to clustering Communities usually overlap Identify similarities

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

On the Approximability of Modularity Clustering

On the Approximability of Modularity Clustering On the Approximability of Modularity Clustering Newman s Community Finding Approach for Social Nets Bhaskar DasGupta Department of Computer Science University of Illinois at Chicago Chicago, IL 60607,

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

MCL. (and other clustering algorithms) 858L

MCL. (and other clustering algorithms) 858L MCL (and other clustering algorithms) 858L Comparing Clustering Algorithms Brohee and van Helden (2006) compared 4 graph clustering algorithms for the task of finding protein complexes: MCODE RNSC Restricted

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

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

More information

Viral Marketing and Outbreak Detection. Fang Jin Yao Zhang

Viral Marketing and Outbreak Detection. Fang Jin Yao Zhang Viral Marketing and Outbreak Detection Fang Jin Yao Zhang Paper 1: Maximizing the Spread of Influence through a Social Network Authors: David Kempe, Jon Kleinberg, Éva Tardos KDD 2003 Outline Problem Statement

More information

Mining Social Network Graphs

Mining Social Network Graphs Mining Social Network Graphs Analysis of Large Graphs: Community Detection Rafael Ferreira da Silva rafsilva@isi.edu http://rafaelsilva.com Note to other teachers and users of these slides: We would be

More information

Lecture 7: Asymmetric K-Center

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

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

Extracting Influential Nodes for Information Diffusion on a Social Network

Extracting Influential Nodes for Information Diffusion on a Social Network Extracting Influential Nodes for Information Diffusion on a Social Network Masahiro Kimura Dept. of Electronics and Informatics Ryukoku University Otsu 520-2194, Japan kimura@rins.ryukoku.ac.jp Kazumi

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Unit 2: Algorithmic Graph Theory

Unit 2: Algorithmic Graph Theory Unit 2: Algorithmic Graph Theory Course contents: Introduction to graph theory Basic graph algorithms Reading Chapter 3 Reference: Cormen, Leiserson, and Rivest, Introduction to Algorithms, 2 nd Ed., McGraw

More information

Local Algorithms for Sparse Spanning Graphs

Local Algorithms for Sparse Spanning Graphs Local Algorithms for Sparse Spanning Graphs Reut Levi Dana Ron Ronitt Rubinfeld Intro slides based on a talk given by Reut Levi Minimum Spanning Graph (Spanning Tree) Local Access to a Minimum Spanning

More information

Basics of Network Analysis

Basics of Network Analysis Basics of Network Analysis Hiroki Sayama sayama@binghamton.edu Graph = Network G(V, E): graph (network) V: vertices (nodes), E: edges (links) 1 Nodes = 1, 2, 3, 4, 5 2 3 Links = 12, 13, 15, 23,

More information

V2: Measures and Metrics (II)

V2: Measures and Metrics (II) - Betweenness Centrality V2: Measures and Metrics (II) - Groups of Vertices - Transitivity - Reciprocity - Signed Edges and Structural Balance - Similarity - Homophily and Assortative Mixing 1 Betweenness

More information

Polynomial-Time Approximation Algorithms

Polynomial-Time Approximation Algorithms 6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz Polynomial-Time Approximation Algorithms NP-hard problems are a vast

More information

An Optimal Allocation Approach to Influence Maximization Problem on Modular Social Network. Tianyu Cao, Xindong Wu, Song Wang, Xiaohua Hu

An Optimal Allocation Approach to Influence Maximization Problem on Modular Social Network. Tianyu Cao, Xindong Wu, Song Wang, Xiaohua Hu An Optimal Allocation Approach to Influence Maximization Problem on Modular Social Network Tianyu Cao, Xindong Wu, Song Wang, Xiaohua Hu ACM SAC 2010 outline Social network Definition and properties Social

More information

Non Overlapping Communities

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

More information

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu

More information

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility

Outline. CS38 Introduction to Algorithms. Approximation Algorithms. Optimization Problems. Set Cover. Set cover 5/29/2014. coping with intractibility Outline CS38 Introduction to Algorithms Lecture 18 May 29, 2014 coping with intractibility approximation algorithms set cover TSP center selection randomness in algorithms May 29, 2014 CS38 Lecture 18

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

CS264: Homework #4. Due by midnight on Wednesday, October 22, 2014

CS264: Homework #4. Due by midnight on Wednesday, October 22, 2014 CS264: Homework #4 Due by midnight on Wednesday, October 22, 2014 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

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Algorithms for Euclidean TSP

Algorithms for Euclidean TSP This week, paper [2] by Arora. See the slides for figures. See also http://www.cs.princeton.edu/~arora/pubs/arorageo.ps Algorithms for Introduction This lecture is about the polynomial time approximation

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

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

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

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

Clustering Using Graph Connectivity

Clustering Using Graph Connectivity Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the

More information

Influence Maximization in the Independent Cascade Model

Influence Maximization in the Independent Cascade Model Influence Maximization in the Independent Cascade Model Gianlorenzo D Angelo, Lorenzo Severini, and Yllka Velaj Gran Sasso Science Institute (GSSI), Viale F. Crispi, 7, 67100, L Aquila, Italy. {gianlorenzo.dangelo,lorenzo.severini,yllka.velaj}@gssi.infn.it

More information

Clusters and Communities

Clusters and Communities Clusters and Communities Lecture 7 CSCI 4974/6971 22 Sep 2016 1 / 14 Today s Biz 1. Reminders 2. Review 3. Communities 4. Betweenness and Graph Partitioning 5. Label Propagation 2 / 14 Today s Biz 1. Reminders

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

Fast Clustering using MapReduce

Fast Clustering using MapReduce Fast Clustering using MapReduce Alina Ene, Sungjin Im, Benjamin Moseley UIUC KDD 2011 Clustering Massive Data Group web pages based on their content Group users based on their online behavior Finding communities

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu P, NP-Problems Class

More information

Solutions for the Exam 6 January 2014

Solutions for the Exam 6 January 2014 Mastermath and LNMB Course: Discrete Optimization Solutions for the Exam 6 January 2014 Utrecht University, Educatorium, 13:30 16:30 The examination lasts 3 hours. Grading will be done before January 20,

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

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

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10 CS 220: Discrete Structures and their Applications graphs zybooks chapter 10 directed graphs A collection of vertices and directed edges What can this represent? undirected graphs A collection of vertices

More information

Introduction to Combinatorial Algorithms

Introduction to Combinatorial Algorithms Fall 2009 Intro Introduction to the course What are : Combinatorial Structures? Combinatorial Algorithms? Combinatorial Problems? Combinatorial Structures Combinatorial Structures Combinatorial structures

More information

GRAPHS Lecture 17 CS2110 Spring 2014

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

More information

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014

Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014 Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Greedy Algorithms October 28, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Course Overview Date Fri, 7.10.2016 Fri, 28.10.2016

More information

1 Unweighted Set Cover

1 Unweighted Set Cover Comp 60: Advanced Algorithms Tufts University, Spring 018 Prof. Lenore Cowen Scribe: Yuelin Liu Lecture 7: Approximation Algorithms: Set Cover and Max Cut 1 Unweighted Set Cover 1.1 Formulations There

More information

CS261: A Second Course in Algorithms Lecture #15: Introduction to Approximation Algorithms

CS261: A Second Course in Algorithms Lecture #15: Introduction to Approximation Algorithms CS6: A Second Course in Algorithms Lecture #5: Introduction to Approximation Algorithms Tim Roughgarden February 3, 06 Coping with N P -Completeness All of CS6 and the first half of CS6 focus on problems

More information

Stanford University CS359G: Graph Partitioning and Expanders Handout 1 Luca Trevisan January 4, 2011

Stanford University CS359G: Graph Partitioning and Expanders Handout 1 Luca Trevisan January 4, 2011 Stanford University CS359G: Graph Partitioning and Expanders Handout 1 Luca Trevisan January 4, 2011 Lecture 1 In which we describe what this course is about. 1 Overview This class is about the following

More information

val(y, I) α (9.0.2) α (9.0.3)

val(y, I) α (9.0.2) α (9.0.3) CS787: Advanced Algorithms Lecture 9: Approximation Algorithms In this lecture we will discuss some NP-complete optimization problems and give algorithms for solving them that produce a nearly optimal,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

Network Clustering. Balabhaskar Balasundaram, Sergiy Butenko

Network Clustering. Balabhaskar Balasundaram, Sergiy Butenko Network Clustering Balabhaskar Balasundaram, Sergiy Butenko Department of Industrial & Systems Engineering Texas A&M University College Station, Texas 77843, USA. Introduction Clustering can be loosely

More information

Exact Computation of Influence Spread by Binary Decision Diagrams

Exact Computation of Influence Spread by Binary Decision Diagrams Exact Computation of Influence Spread by Binary Decision Diagrams Takanori Maehara 1), Hirofumi Suzuki 2), Masakazu Ishihata 2) 1) Riken Center for Advanced Intelligence Project 2) Hokkaido University

More information

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

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

More information

U.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, Midterm 1 Solutions

U.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, Midterm 1 Solutions U.C. Berkeley CS170 : Algorithms, Fall 2013 Midterm 1 Professor: Satish Rao October 10, 2013 Midterm 1 Solutions 1 True/False 1. The Mayan base 20 system produces representations of size that is asymptotically

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Highway Dimension and Provably Efficient Shortest Paths Algorithms

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

More information

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 SPAM FARMING 2/11/2013 Jure Leskovec, Stanford C246: Mining Massive Datasets 2 2/11/2013 Jure Leskovec, Stanford

More information

CS 125 Section #10 Midterm 2 Review 11/5/14

CS 125 Section #10 Midterm 2 Review 11/5/14 CS 125 Section #10 Midterm 2 Review 11/5/14 1 Topics Covered This midterm covers up through NP-completeness; countability, decidability, and recognizability will not appear on this midterm. Disclaimer:

More information

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming

More information

10. EXTENDING TRACTABILITY

10. EXTENDING TRACTABILITY 0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison

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

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental

More information

Interleaving Schemes on Circulant Graphs with Two Offsets

Interleaving Schemes on Circulant Graphs with Two Offsets Interleaving Schemes on Circulant raphs with Two Offsets Aleksandrs Slivkins Department of Computer Science Cornell University Ithaca, NY 14853 slivkins@cs.cornell.edu Jehoshua Bruck Department of Electrical

More information

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algorithms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Choo

More information

1 Homophily and assortative mixing

1 Homophily and assortative mixing 1 Homophily and assortative mixing Networks, and particularly social networks, often exhibit a property called homophily or assortative mixing, which simply means that the attributes of vertices correlate

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

11.1 Facility Location

11.1 Facility Location CS787: Advanced Algorithms Scribe: Amanda Burton, Leah Kluegel Lecturer: Shuchi Chawla Topic: Facility Location ctd., Linear Programming Date: October 8, 2007 Today we conclude the discussion of local

More information

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

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

More information

1 Minimal Examples and Extremal Problems

1 Minimal Examples and Extremal Problems MATH 68 Notes Combinatorics and Graph Theory II 1 Minimal Examples and Extremal Problems Minimal and extremal problems are really variations on the same question: what is the largest or smallest graph

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Chapter 10. Fundamental Network Algorithms. M. E. J. Newman. May 6, M. E. J. Newman Chapter 10 May 6, / 33

Chapter 10. Fundamental Network Algorithms. M. E. J. Newman. May 6, M. E. J. Newman Chapter 10 May 6, / 33 Chapter 10 Fundamental Network Algorithms M. E. J. Newman May 6, 2015 M. E. J. Newman Chapter 10 May 6, 2015 1 / 33 Table of Contents 1 Algorithms for Degrees and Degree Distributions Degree-Degree Correlation

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

Chapter 4. Relations & Graphs. 4.1 Relations. Exercises For each of the relations specified below:

Chapter 4. Relations & Graphs. 4.1 Relations. Exercises For each of the relations specified below: Chapter 4 Relations & Graphs 4.1 Relations Definition: Let A and B be sets. A relation from A to B is a subset of A B. When we have a relation from A to A we often call it a relation on A. When we have

More information

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013

Announcements. CSEP 521 Applied Algorithms. Announcements. Polynomial time efficiency. Definitions of efficiency 1/14/2013 Announcements CSEP 51 Applied Algorithms Richard Anderson Winter 013 Lecture Reading Chapter.1,. Chapter 3 Chapter Homework Guidelines Prove that your algorithm works A proof is a convincing argument Give

More information

Centrality Book. cohesion.

Centrality Book. cohesion. Cohesion The graph-theoretic terms discussed in the previous chapter have very specific and concrete meanings which are highly shared across the field of graph theory and other fields like social network

More information

Advanced Data Management

Advanced Data Management Advanced Data Management Medha Atre Office: KD-219 atrem@cse.iitk.ac.in Sept 26, 2016 defined Given a graph G(V, E) with V as the set of nodes and E as the set of edges, a reachability query asks does

More information

Greedy Approximations

Greedy Approximations CS 787: Advanced Algorithms Instructor: Dieter van Melkebeek Greedy Approximations Approximation algorithms give a solution to a problem in polynomial time, at most a given factor away from the correct

More information

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

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

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

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

Hardness of Subgraph and Supergraph Problems in c-tournaments

Hardness of Subgraph and Supergraph Problems in c-tournaments Hardness of Subgraph and Supergraph Problems in c-tournaments Kanthi K Sarpatwar 1 and N.S. Narayanaswamy 1 Department of Computer Science and Engineering, IIT madras, Chennai 600036, India kanthik@gmail.com,swamy@cse.iitm.ac.in

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

The k-center problem Approximation Algorithms 2009 Petros Potikas

The k-center problem Approximation Algorithms 2009 Petros Potikas Approximation Algorithms 2009 Petros Potikas 1 Definition: Let G=(V,E) be a complete undirected graph with edge costs satisfying the triangle inequality and k be an integer, 0 < k V. For any S V and vertex

More information

Notes on Minimum Cuts and Modular Functions

Notes on Minimum Cuts and Modular Functions Notes on Minimum Cuts and Modular Functions 1 Introduction The following are my notes on Cunningham s paper [1]. Given a submodular function f and a set S, submodular minimisation is the problem of finding

More information

Copyright 2000, Kevin Wayne 1

Copyright 2000, Kevin Wayne 1 Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

Impact of Clustering on Epidemics in Random Networks

Impact of Clustering on Epidemics in Random Networks Impact of Clustering on Epidemics in Random Networks Joint work with Marc Lelarge INRIA-ENS 8 March 2012 Coupechoux - Lelarge (INRIA-ENS) Epidemics in Random Networks 8 March 2012 1 / 19 Outline 1 Introduction

More information

CAIM: Cerca i Anàlisi d Informació Massiva

CAIM: Cerca i Anàlisi d Informació Massiva 1 / 72 CAIM: Cerca i Anàlisi d Informació Massiva FIB, Grau en Enginyeria Informàtica Slides by Marta Arias, José Balcázar, Ricard Gavaldá Department of Computer Science, UPC Fall 2016 http://www.cs.upc.edu/~caim

More information

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An algorithm for Performance Analysis of Single-Source Acyclic graphs An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs

More information

10. EXTENDING TRACTABILITY

10. EXTENDING TRACTABILITY 0. EXTENDING TRACTABILITY finding small vertex covers solving NP-hard problems on trees circular arc coverings vertex cover in bipartite graphs Lecture slides by Kevin Wayne Copyright 005 Pearson-Addison

More information