Agenda: Thursday, Feb 3 Midterm date: Thursday, March 3 New readings in Watts Our navigation experiment: some analysis Brief introduction to graph theory.

Slides:



Advertisements
Similar presentations
CSE 211 Discrete Mathematics
Advertisements

Lecture 7. Network Flows We consider a network with directed edges. Every edge has a capacity. If there is an edge from i to j, there is an edge from.
Great Theoretical Ideas in Computer Science
Lecture 5 Graph Theory. Graphs Graphs are the most useful model with computer science such as logical design, formal languages, communication network,
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Great Theoretical Ideas in Computer Science for Some.
Online Social Networks and Media. Graph partitioning The general problem – Input: a graph G=(V,E) edge (u,v) denotes similarity between u and v weighted.
Five Problems CSE 421 Richard Anderson Winter 2009, Lecture 3.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Great Theoretical Ideas in Computer Science.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Class News and Notes 1/29 Check and web page Mon re: Tue class Start reading in “Six Degrees” –other assigned papers to follow HW1 due a week from.
1 Discrete Structures & Algorithms Graphs and Trees: II EECE 320.
Introduction to Approximation Algorithms Lecture 12: Mar 1.
Computational problems, algorithms, runtime, hardness
1 Spanning Trees Lecture 20 CS2110 – Spring
Approximation Algorithms: Combinatorial Approaches Lecture 13: March 2.
Chapter 9 Graph algorithms. Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
The Theory of NP-Completeness
Chapter 9 Graph algorithms Lec 21 Dec 1, Sample Graph Problems Path problems. Connectedness problems. Spanning tree problems.
Analysis of Algorithms CS 477/677
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
Approximation Algorithms Motivation and Definitions TSP Vertex Cover Scheduling.
K-Coloring k-coloring: A k-coloring of a graph G is a labeling f: V(G)  S, where |S|=k. The labels are colors; the vertices of one color form a color.
The Shortest Path Problem
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
TECH Computer Science Graph Optimization Problems and Greedy Algorithms Greedy Algorithms  // Make the best choice now! Optimization Problems  Minimizing.
Social Media Mining Graph Essentials.
Introduction to Graph Theory
MCS312: NP-completeness and Approximation Algorithms
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
Network Aware Resource Allocation in Distributed Clouds.
Graph Theory Topics to be covered:
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
CSE 326: Data Structures NP Completeness Ben Lerner Summer 2007.
Prims’ spanning tree algorithm Given: connected graph (V, E) (sets of vertices and edges) V1= {an arbitrary node of V}; E1= {}; //inv: (V1, E1) is a tree,
CS 200 Algorithms and Data Structures
Mathematics of Networks (Cont)
Data Structures & Algorithms Graphs
Graph Colouring L09: Oct 10. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including the famous.
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
Most of contents are provided by the website Graph Essentials TJTSD66: Advanced Topics in Social Media.
Graph theory and networks. Basic definitions  A graph consists of points called vertices (or nodes) and lines called edges (or arcs). Each edge joins.
Data Structures & Algorithms Graphs Richard Newman based on book by R. Sedgewick and slides by S. Sahni.
SPANNING TREES Lecture 21 CS2110 – Fall Nate Foster is out of town. NO 3-4pm office hours today!
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Christopher M. Bishop, Pattern Recognition and Machine Learning 1.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
Grade 11 AP Mathematics Graph Theory Definition: A graph, G, is a set of vertices v(G) = {v 1, v 2, v 3, …, v n } and edges e(G) = {v i v j where 1 ≤ i,
Proof of correctness of Dijkstra’s algorithm: Basically, we need to prove two claims. (1)Let S be the set of vertices for which the shortest path from.
Lecture 20. Graphs and network models 1. Recap Binary search tree is a special binary tree which is designed to make the search of elements or keys in.
1 Data Structures and Algorithms Graphs. 2 Graphs Basic Definitions Paths and Cycles Connectivity Other Properties Representation Examples of Graph Algorithms:
2016/7/2Appendices A and B1 Introduction to Distributed Algorithm Appendix A: Pseudocode Conventions Appendix B: Graphs and Networks Teacher: Chun-Yuan.
1 Graphs Chapters 10.1 and 10.2 University of Maryland Chapters 10.1 and 10.2 Based on slides by Y. Peng University of Maryland.
Introduction to Graph & Network Theory Thinking About Networks: From Metabolism to the Genome to Social Conflict Summer Workshop for Teachers June 27 th.
Graph theory Definitions Trees, cycles, directed graphs.
Great Theoretical Ideas in Computer Science
Planarity Testing.
CSE 421 Richard Anderson Autumn 2016, Lecture 3
CSE 421 Richard Anderson Autumn 2015, Lecture 3
Text Book: Introduction to algorithms By C L R S
CSE 421, University of Washington, Autumn 2006
CSE 421 Richard Anderson Winter 2019, Lecture 3
CSE 421 Richard Anderson Autumn 2019, Lecture 3
Presentation transcript:

Agenda: Thursday, Feb 3 Midterm date: Thursday, March 3 New readings in Watts Our navigation experiment: some analysis Brief introduction to graph theory

News and Notes: Tuesday Feb 8 From the Field: NY Times article 2/8 on hate groups on OrkutNY Times article Duncan Watts talk Friday Feb 11 at noon! No MK office hours tomorrow Return of NW Construction, Task 1: –first of all, staple your own work –grading: 2/2: proceed as described 1/2: some problems, usually of specificity 0/2: fundamental flaw or lack of clarity –if you received 2/2: leave your assignment here –if you received 1/2: leave your assignment here, or revise and return on Thursday –if you received 0/2: revise and return on Thursday Next Tuesday’s class: –MK out of town, but mandatory class experiment –once again, print and bring your Lifester neighbor profiles Today’s agenda: –further analysis of Lifester NW navigation experiment –quick review and completion of Intro to Graph Theory –start on Social Network Theory

Description of the Experiment Participation is mandatory and for credit If you don’t have your Lifester neighbor profiles, you cannot participate –unless you have memorized your neighbor info We will play two rounds In each round, each of you will be the source of a navigation chain You will be given a destination user to route a form to Give the form to one of your Lifester neighbors who you think is “closer” to the target Write your Lifester UserID on forms you receive, and continue to forward them towards their destinations Points will be deducted for violations of the neighborhood structure In one round, you will be given the Lifester profile of the destination In the other round, you will not be given the destination profile Then we’ll do some brief analysis with more detail to follow

diameter: worst-case: 5 average: 2.86

With destination profile: optimal mean = 3.67 class mean = 5.18 delta = cycles Without destination profile: optimal mean = 3.6 class mean = 5.48 delta = cycles

Comparison to Random Walks

degree of user number of chains degree vs. betweenness, class chains

degree of user number of chains degree vs. betweenness, optimal chains

A Brief Introduction to Graph Theory Networked Life CSE 112 Spring 2005 Prof. Michael Kearns

Undirected Graphs Recall our basic definitions: –set of vertices denoted 1,…N; size of graph is N –edge is an (unordered) pair (i,j) (i,j) is the same as (j,i) indicates that i and j are directly connected –a graph G consists of the vertices and edges –maximum number of edges: N(N-1)/2 (order N^2) –i and j connected if there is a path of edges between them –all-pairs shortest paths: efficient computation via Dijkstra's algorithm (another)Dijkstra's algorithmanother Subgraph of G: –restrict attention to certain vertices and edges between them Connected components of G: –subgraphs determined by mutual connectivity –connected graph: only one connected component –complete graph: edge between all pairs of vertices

Complexity Theory in One Slide size of graph computation time linear functions: tractable size of graph computation time polynomials: tractable N^2N^3 size of graph computation time exponential: intractable 2^N 1000^2 = 1 million 2^1000: not that many atoms! most known problems: either low-degree polynomial… … or exponential

Properties and Measures of Graphs

Cliques and Independent Sets A clique in a graph G is a set of vertices: –informal: that are all directly connected to each other –formal: whose induced subgraph is complete –all vertices in direct communication, exchange, competition, etc. –the tightest possible “social structure” –an edge is a clique of just 2 vertices –generally interested in large cliques Independent set: –set of vertices whose induced subgraph is empty (no edges) –vertices entirely isolated from each other without help of others Maximum clique or independent set: largest in the graph Maximal clique or independent set: can’t grow any larger

Some Interesting Properties Computation of cliques and independent sets: –maximal: easy, can just be greedy –maximum: difficult --- believed to be intractable (NP-hard) computation time scales exponentially with graph size –however, approximations are possible Social design and Ramsey theory: –suppose large cliques or independent sets are viewed as “bad” –e.g. in trade: large clique: too much collusion possible large independent set: impoverished subpopulation –would be natural to want to find networks with neither –Ramsey theory: may not be possible! –Any graph with N vertices will have either a clique or an independent set of size > log(N) –A nontrivial “accounting identity”; more later

Graph Colorings A coloring of an undirected graph is: –an assignment of a color (label) to each vertex –such that no pair connected by an edge have the same color –chromatic number of graph G: fewest colors needed Example application: –classes and exam slots –chromatic number determines length of exam period Here’s a coloring demodemo Computation of chromatic numbers is hard –(poor) approximations are possible Interesting fact: the four-color theorem for planar graphsplanar graphs

Matchings in Graphs A matching of an undirected graph is: –a subset of the edges –such that no vertex is “touched” more than once –perfect matching: every vertex touched exactly once –perfect matchings may not always exist (e.g. N odd) –maximum matching: largest number of edges Can be found efficiently; here is a perfect matching demodemo Example applications: –pairing of compatible partners perfect matching: nobody “left out” –jobs and qualified workers perfect matching: full employment, and all jobs filled –clients and servers perfect matching: all clients served, and no server idle

Cuts in Graphs A cut of a (connected) undirected graph is: –a subset of the edges (edge cut) or vertices (vertex cut) –such that the removal of this set would disconnect the graph –min/maximum cut: smallest/largest (minimal) number –computation can be done efficientlyefficiently Often related to robustness of the network –small cuts ~ vulnerability –edge cut: failure of links –vertex cut: failure of “individuals” –random versus maliciously chosen failures (terrorism)

Spanning Trees A spanning tree of a (connected) undirected graph is: –a subgraph G’ of the original graph G –such that G’ is connected but has no cycles (a tree) –minimum spanning tree: fewest edges –computation: can be done efficientlyefficiently Minimal subgraphs needed for complete communication Different spanning tree provide different solutions Applications: –minimizing wire usage in circuit design

Summary of Graph Properties objecttype of objectinterpretationcomputational status shortest paths and diameter simple paths of vertices and edges “distances” between vertices can compute efficiently cliques and independent sets sets of verticesfully connected or disconnected groups max clique and min IS intractable coloringsassignment of color to every vertex Edges are constraints, colors are resources chromatic number intractable matchingsset of edgespairing of compatiblesmax matching efficiently computable cutsset of edges or vertices measure of robustnessmin and max cut efficiently computable spanning treessubgraph with no cycles connected substructuremin spanning tree efficiently computable

Special Types of Graphs

Directed Graphs Graphs in which the edges have a direction Edge (u,v) means u  v; may also have (v,u) Common for capturing asymmetric relations Common examples: –the web –reporting/subordinate relationships corporate org charts code block diagrams –causality diagrams

Weighted Graphs Each edge/vertex annotated by a weight or capacity Directed or undirected Used to model –cost of transmission, latency –capacity of link –hubs and authorities (Google PageRank algorithm) Common problem: network flow, efficiently solvablenetwork flow

Planar Graphs Graphs which can be drawn in the plane with no edges crossing (except at vertices) Of interest for –maps of the physical world –circuit/VLSI design –data visualization Graphs of higher genus Planarity testing efficiently solvable

Bipartite Graphs Vertices divided into two sets Edges only between the two sets Example: affiliation networks –vertices are individuals and organizations –edge if an individual belongs to an organization Men and women, servers and clients, jobs and workers Some problems easier to compute on bipartite graphs

We’ll make use of these graph types… but will generally be looking at classes of graphs generated according to a probability distribution, rather than obeying some fixed set of deterministic properties.