650 likes | 823 Views
Foundations of Network Analysis. By David S. Shelley University of Nevada, Reno Department of Computer Science, 2009. Graph Theory concepts in slides 1-46 are taken from chapter 1 of:
E N D
Foundations of Network Analysis.By David S. ShelleyUniversity of Nevada, RenoDepartment of Computer Science, 2009 Graph Theory concepts in slides 1-46 are taken from chapter 1 of: Dynamical Processes on Complex Networks, by Alain Barrat, Marc Barthélemy, and Alessandro Vespignani, (Cambridge University Press - November 24, 2008).
Outline 1. What is a network? What is network analysis? 2. Basic Graph Theory 3. Network Analysis and Excel VBA 5. Conclusion
Outline 1. What is a network? What is network analysis? 2. Basic Graph Theory 3. Network Analysis and Excel VBA 5. Conclusion
What is a network? What do you think about when you hear the word network?
What is a network? I think about a Network is a bunch of connected things.
What is a network? What do you visualize when you hear the word network?
What is a network? I visualize the internet.
What is a network? Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory.
What is a network? Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory.
What is a network? Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Edge
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Edge
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge Cluster
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge Directed Cluster
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge Directed Vertices Cluster
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge Directed Vertices Link Cluster
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge Small-world Directed Vertices Link Cluster
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory Edge Small-world Directed Vertices Link Cluster
What is a network? Undirected Node Networks have been studied in many different fields of science. Each field has its own nomenclature. Most of the terms can found in mathematical graph theory. Graph Theory This is a network!!! Edge Small-world Directed Vertices Link Cluster
What is a network? In Social Psychology and network consists of people connected to each other. Each person is considered a node of the network and the relationship or interdependency between them can be considered a tie. Computer Networks we often say client and server for nodes and links for edges. Or Copper Wire.
What is a network? Conclusion: No matter what you call it, it still is a network and it can be analyzed.
What is network analysis? In electrical circuits Network analysis is the process of finding the voltages across, and the currents through, every component in the network. In Sociology Network analysis could refer to the understanding of patterns of human contact (epidimeology stuff) or the spread of rumors or the diffusion of ideas. Basically the relationship between people in a social network. Biological Network Analysis could refer to the analysis of molecular networks. Answer: Look at the word Analyze. You analyze the network. Get it?
What is network analysis? Conclusion: If you don’t know what network analysis is, ask for you money back.
Outline 1. What is a network? What is network analysis? 2. Basic Graph Theory 3. Network Analysis and Excel VBA 5. Conclusion
Basic Graph Theory Graph theory is old but you need it to analyze. Pioneering work was done by Leonhard Euler in 1736. Cropped from: http://www.euler-2007.ch/doc/Bild0015.pdf
Basic Graph Theory GRAPHS: An undirected graph G is defined by a pair of sets G = (V,E) Where V is a non-empty countable set of elements. Called vertices or nodes. Where E is a set of unordered pairs of different vertices, called edges or links. It is common to call connected vertices neighbors. I wish I wasn’t We are neighbors
Basic Graph Theory Undirected graph called a tree. Directed graph called a smiley face. bonsai bonsai
Basic Graph Theory In many cases we are interested in subgraphs of a graph. Graphs can have cliques. Finding if a graph has a clique of a given size is NP-Complete. Anyone want to form a Click? Finding one is too hard for me.
Basic Graph Theory In many cases we are interested in subgraphs of a graph. Graphs can have cliques. Finding if a graph has a clique of a given size is NP-Complete. Anyone want to form a Click? Finding one is too hard for me. Can you find the clique?
Basic Graph Theory Graphs can also have communities. This of a community as a subgraph with nodes that are highly connected with each other But poorly connect with nodes outside the subgraph.
Basic Graph Theory Graphs can also have communities. This of a community as a subgraph with nodes that are highly connected with each other But poorly connect with nodes outside the subgraph. Can you find the community?
Basic Graph Theory Graphs can also have Giant Components. In general the component structure of a directed network can be decomposed into A giant weakly connected component. Can you find the giant weakly connected component?
Basic Graph Theory Graphs can also have important nodes. The importance of a node or edge is commonly defined as its centrality. The most commonly used measurements to characterize the centrality of a node are: Degree Centrality Closeness Centrality Betweeness Centrality
Basic Graph Theory NODE CENTRALITY MEASUREMENTS Degree Centrality Closeness Centrality Betweeness Centrality
Basic Graph Theory NODE CENTRALITY MEASUREMENTS For undirected graphs this is defined as the number of edges in the graph incident on a vertex. Degree Centrality Can you find the degree of the central node?
Basic Graph Theory NODE CENTRALITY MEASUREMENTS For a directed graphs we define the in-degree of a vertex and the out-degree Degree Centrality Can you find the in-degree of the central node? Can you find the out-degree of the central node?
Basic Graph Theory NODE CENTRALITY MEASUREMENTS Degree Centrality Closeness Centrality Betweeness Centrality
Basic Graph Theory NODE CENTRALITY MEASUREMENTS The closeness centrality expresses the average distance of a vertex to all others. Nodes with a shortest path distances to other nodes have a larger centrality. Closeness Centrality Can you find the closeness centrality of the central node?
Basic Graph Theory NODE CENTRALITY MEASUREMENTS Degree Centrality Closeness Centrality Betweeness Centrality
Basic Graph Theory NODE CENTRALITY MEASUREMENTS Vertices that occur on many shortest paths between other vertices have higher betweenness than those that do not. This takes Θ(V3) time with the Floyd-Warshall algorithm, modified to not only find one but count all shortest paths between two nodes. Betweeness Centrality
Basic Graph Theory NODE CENTRALITY MEASUREMENTS CONCLUSION: There are several types of centrality measurements with the 3 most common ones being: • Degree Centrality • Closeness Centrality • Betweeness Centrality
Basic Graph Theory CLUSTERING Vertices are characterized by the structure of their local neighborhood. The clustering of a graph refers to the tendency to form cliques in the neighborhood or any given vertex of the graph. The is often observed in networks that appear naturally. The clustering of an undirected graph can be quantitatively measured by means of the clustering coefficient which measures the local group cohesiveness (Watts and Strogatz, 1998)
Basic Graph Theory STATISTICAL CHARACTERIZATION OF NETWORKS The degree distribution P(k) of undirected graphs is defined as the probability that any randomly chosen vertex has degree k. Create one by constructing the normalized histogram of the degree of the nodes in a network. Degree Distribution
Basic Graph Theory STATISTICAL CHARACTERIZATION OF NETWORKS It’s a network whose degree distribution follows a power-law. Scale Free Network - Degree Distribution A few with a large number The number of nodes with links The number of links
Basic Graph Theory STATISTICAL CHARACTERIZATION OF NETWORKS It’s the probability distribution Pb(b) that a vertex has betweenness b. Betweenness Distribution
Basic Graph Theory NETWORK CLASSES Graph in which most nodes are not neighbors of one another, but most nodes can be reached from every other by a small number of hops or steps. How many hops to the President of the United States? Small-world Me My Friend My Friends Friend Mr. President
Basic Graph Theory NETWORK ALGORITHMS Depth-first search One starts at the root (selecting some node as the root in the graph case) and explores as far as possible along each branch before backtracking. Breadth-first search (BFS) is a graph search algorithm that begins at the root node and explores all the neighboring nodes. Then for each of those nearest nodes, it explores their unexplored neighbor nodes, and so on, until it finds the goal. It is straightforward to compute the connected components of a graph in linear time using either breadth-first search or depth-first search. Dijkstra's algorithm, conceived by Dutch computer scientist EdsgerDijkstra in 1959, is a graph search algorithm that solves the single-source shortest path problem for a Graph with nonnegative edge path costs, producing a shortest path tree.
Basic Graph Theory Graph-theoretic data structures There are different ways to store graphs in a computer system. The data structure used depends on both the graph structure and the algorithm used for manipulating the graph. Theoretically one can distinguish between list and matrix structures but in concrete applications the best structure is often a combination of both.
Basic Graph Theory Graph-theoretic data structures Matrix structures on the other hand provide faster access for some applications but can consume huge amounts of memory .
Basic Graph Theory Graph-theoretic data structures List structures are often preferred for sparse graphs as they have smaller memory requirements.