Think Complexity

Total Page:16

File Type:pdf, Size:1020Kb

Think Complexity Think Complexity Version 2.6.3 Think Complexity Version 2.6.3 Allen B. Downey Green Tea Press Needham, Massachusetts Copyright © 2016 Allen B. Downey. Green Tea Press 9 Washburn Ave Needham MA 02492 Permission is granted to copy, distribute, transmit and adapt this work under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: http://thinkcomplex.com/license. If you are interested in distributing a commercial version of this work, please contact the author. The LATEX source for this book is available from https://github.com/AllenDowney/ThinkComplexity2 iv Contents Preface xi 0.1 Who is this book for?...................... xii 0.2 Changes from the first edition................. xiii 0.3 Using the code.......................... xiii 1 Complexity Science1 1.1 The changing criteria of science................3 1.2 The axes of scientific models..................4 1.3 Different models for different purposes............6 1.4 Complexity engineering.....................7 1.5 Complexity thinking......................8 2 Graphs 11 2.1 What is a graph?........................ 11 2.2 NetworkX............................ 13 2.3 Random graphs......................... 16 2.4 Generating graphs........................ 17 2.5 Connected graphs........................ 18 2.6 Generating ER graphs..................... 20 2.7 Probability of connectivity................... 22 vi CONTENTS 2.8 Analysis of graph algorithms.................. 24 2.9 Exercises............................. 25 3 Small World Graphs 27 3.1 Stanley Milgram......................... 27 3.2 Watts and Strogatz....................... 28 3.3 Ring lattice........................... 30 3.4 WS graphs............................ 32 3.5 Clustering............................ 33 3.6 Shortest path lengths...................... 35 3.7 The WS experiment....................... 36 3.8 What kind of explanation is that?............... 38 3.9 Breadth-First Search...................... 39 3.10 Dijkstra's algorithm....................... 41 3.11 Exercises............................. 43 4 Scale-free networks 47 4.1 Social network data....................... 47 4.2 WS Model............................ 50 4.3 Degree.............................. 51 4.4 Heavy-tailed distributions................... 53 4.5 Barab´asi-Albert model..................... 55 4.6 Generating BA graphs..................... 57 4.7 Cumulative distributions.................... 59 4.8 Explanatory models....................... 62 4.9 Exercises............................. 63 CONTENTS vii 5 Cellular Automatons 67 5.1 A simple CA........................... 67 5.2 Wolfram's experiment...................... 68 5.3 Classifying CAs......................... 69 5.4 Randomness........................... 71 5.5 Determinism........................... 72 5.6 Spaceships............................ 73 5.7 Universality........................... 76 5.8 Falsifiability........................... 77 5.9 What is this a model of?.................... 78 5.10 Implementing CAs....................... 80 5.11 Cross-correlation........................ 82 5.12 CA tables............................ 84 5.13 Exercises............................. 85 6 Game of Life 89 6.1 Conway's GoL.......................... 89 6.2 Life patterns........................... 92 6.3 Conway's conjecture...................... 92 6.4 Realism............................. 94 6.5 Instrumentalism......................... 95 6.6 Implementing Life........................ 97 6.7 Exercises............................. 99 7 Physical modeling 103 7.1 Diffusion............................. 103 7.2 Reaction-diffusion........................ 105 viii CONTENTS 7.3 Percolation............................ 109 7.4 Phase change.......................... 110 7.5 Fractals............................. 113 7.6 Fractals and Percolation Models................ 115 7.7 Exercises............................. 116 8 Self-organized criticality 119 8.1 Critical Systems......................... 119 8.2 Sand Piles............................ 120 8.3 Implementing the Sand Pile.................. 121 8.4 Heavy-tailed distributions................... 125 8.5 Fractals............................. 127 8.6 Pink noise............................ 131 8.7 The sound of sand........................ 132 8.8 Reductionism and Holism................... 134 8.9 SOC, causation, and prediction................ 137 8.10 Exercises............................. 138 9 Agent-based models 141 9.1 Schelling's Model........................ 142 9.2 Implementation of Schelling's model.............. 143 9.3 Segregation........................... 145 9.4 Sugarscape............................ 147 9.5 Wealth inequality........................ 150 9.6 Implementing Sugarscape.................... 151 9.7 Migration and Wave Behavior................. 154 9.8 Emergence............................ 155 CONTENTS ix 9.9 Exercises............................. 157 10 Herds, Flocks, and Traffic Jams 159 10.1 Traffic jams........................... 159 10.2 Random perturbation...................... 163 10.3 Boids............................... 164 10.4 The Boid algorithm....................... 165 10.5 Arbitration........................... 168 10.6 Emergence and free will.................... 169 10.7 Exercises............................. 171 11 Evolution 173 11.1 Simulating evolution...................... 174 11.2 Fitness landscape........................ 175 11.3 Agents.............................. 176 11.4 Simulation............................ 177 11.5 No differentiation........................ 178 11.6 Evidence of evolution...................... 179 11.7 Differential survival....................... 182 11.8 Mutation............................. 183 11.9 Speciation............................ 186 11.10 Summary............................ 189 11.11 Exercises............................. 190 12 Evolution of cooperation 191 12.1 Prisoner's Dilemma....................... 192 12.2 The problem of nice....................... 193 x CONTENTS 12.3 Prisoner's dilemma tournaments................ 195 12.4 Simulating evolution of cooperation.............. 196 12.5 The Tournament........................ 198 12.6 The Simulation......................... 200 12.7 Results.............................. 202 12.8 Conclusions........................... 205 12.9 Exercises............................. 207 A Reading list 209 Preface Complexity science is an interdisciplinary field | at the intersection of math- ematics, computer science and natural science | that focuses on complex systems, which are systems with many interacting components. One of the core tools of complexity science is discrete models, including net- works and graphs, cellular automatons, and agent-based simulations. These tools are useful in the natural and social sciences, and sometimes in arts and humanities. For an overview of complexity science, see http://thinkcomplex.com/complex. Why should you learn about complexity science? Here are a few reasons: Complexity science is useful, especially for explaining why natural and social systems behave the way they do. Since Newton, math-based physics has focused on systems with small numbers of components and simple interactions. These models are effective for some applications, like celestial mechanics, and less useful for others, like economics. Com- plexity science provides a diverse and adaptable modeling toolkit. Many of the central results of complexity science are surprising; a recur- ring theme of this book is that simple models can produce complicated behavior, with the corollary that we can sometimes explain complicated behavior in the real world using simple models. As I explain in Chapter1, complexity science is at the center of a slow shift in the practice of science and a change in what we consider science to be. xii Chapter 0 Preface Studying complexity science provides an opportunity to learn about di- verse physical and social systems, to develop and apply programming skills, and to think about fundamental questions in the philosophy of science. By reading this book and working on the exercises you will have a chance to explore topics and ideas you might not encounter otherwise, practice program- ming in Python, and learn more about data structures and algorithms. Features of this book include: Technical details Most books about complexity science are written for a popular audience. They leave out technical details, which is frustrating for people who can handle them. This book presents the code, the math, and the explanations you need to understand how the models work. Further reading Throughout the book, I include pointers to further reading, including original papers (most of which are available electronically) and related articles from Wikipedia and other sources. Jupyter notebooks For each chapter I provide a Jupyter notebook that in- cludes the code from the chapter, additional examples, and animations that let you see the models in action. Exercises and solutions At the end of each chapter I suggest exercises you might want to work on, with solutions. For most of the links in this book I use URL redirection. This mechanism has the drawback of hiding the link destination, but it makes the URLs shorter and less obtrusive. Also, and more importantly, it allows me to update the links without updating the book. If you find a broken link, please let me know and I will change the redirection. 0.1 Who is this book for? The examples and supporting code for this book are in Python. You should know core Python and be familiar with
Recommended publications
  • Sagemath and Sagemathcloud
    Viviane Pons Ma^ıtrede conf´erence,Universit´eParis-Sud Orsay [email protected] { @PyViv SageMath and SageMathCloud Introduction SageMath SageMath is a free open source mathematics software I Created in 2005 by William Stein. I http://www.sagemath.org/ I Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab. Viviane Pons (U-PSud) SageMath and SageMathCloud October 19, 2016 2 / 7 SageMath Source and language I the main language of Sage is python (but there are many other source languages: cython, C, C++, fortran) I the source is distributed under the GPL licence. Viviane Pons (U-PSud) SageMath and SageMathCloud October 19, 2016 3 / 7 SageMath Sage and libraries One of the original purpose of Sage was to put together the many existent open source mathematics software programs: Atlas, GAP, GMP, Linbox, Maxima, MPFR, PARI/GP, NetworkX, NTL, Numpy/Scipy, Singular, Symmetrica,... Sage is all-inclusive: it installs all those libraries and gives you a common python-based interface to work on them. On top of it is the python / cython Sage library it-self. Viviane Pons (U-PSud) SageMath and SageMathCloud October 19, 2016 4 / 7 SageMath Sage and libraries I You can use a library explicitly: sage: n = gap(20062006) sage: type(n) <c l a s s 'sage. interfaces .gap.GapElement'> sage: n.Factors() [ 2, 17, 59, 73, 137 ] I But also, many of Sage computation are done through those libraries without necessarily telling you: sage: G = PermutationGroup([[(1,2,3),(4,5)],[(3,4)]]) sage : G . g a p () Group( [ (3,4), (1,2,3)(4,5) ] ) Viviane Pons (U-PSud) SageMath and SageMathCloud October 19, 2016 5 / 7 SageMath Development model Development model I Sage is developed by researchers for researchers: the original philosophy is to develop what you need for your research and share it with the community.
    [Show full text]
  • Networkx Tutorial
    5.03.2020 tutorial NetworkX tutorial Source: https://github.com/networkx/notebooks (https://github.com/networkx/notebooks) Minor corrections: JS, 27.02.2019 Creating a graph Create an empty graph with no nodes and no edges. In [1]: import networkx as nx In [2]: G = nx.Graph() By definition, a Graph is a collection of nodes (vertices) along with identified pairs of nodes (called edges, links, etc). In NetworkX, nodes can be any hashable object e.g. a text string, an image, an XML object, another Graph, a customized node object, etc. (Note: Python's None object should not be used as a node as it determines whether optional function arguments have been assigned in many functions.) Nodes The graph G can be grown in several ways. NetworkX includes many graph generator functions and facilities to read and write graphs in many formats. To get started though we'll look at simple manipulations. You can add one node at a time, In [3]: G.add_node(1) add a list of nodes, In [4]: G.add_nodes_from([2, 3]) or add any nbunch of nodes. An nbunch is any iterable container of nodes that is not itself a node in the graph. (e.g. a list, set, graph, file, etc..) In [5]: H = nx.path_graph(10) file:///home/szwabin/Dropbox/Praca/Zajecia/Diffusion/Lectures/1_intro/networkx_tutorial/tutorial.html 1/18 5.03.2020 tutorial In [6]: G.add_nodes_from(H) Note that G now contains the nodes of H as nodes of G. In contrast, you could use the graph H as a node in G.
    [Show full text]
  • Networkx: Network Analysis with Python
    NetworkX: Network Analysis with Python Salvatore Scellato Full tutorial presented at the XXX SunBelt Conference “NetworkX introduction: Hacking social networks using the Python programming language” by Aric Hagberg & Drew Conway Outline 1. Introduction to NetworkX 2. Getting started with Python and NetworkX 3. Basic network analysis 4. Writing your own code 5. You are ready for your project! 1. Introduction to NetworkX. Introduction to NetworkX - network analysis Vast amounts of network data are being generated and collected • Sociology: web pages, mobile phones, social networks • Technology: Internet routers, vehicular flows, power grids How can we analyze this networks? Introduction to NetworkX - Python awesomeness Introduction to NetworkX “Python package for the creation, manipulation and study of the structure, dynamics and functions of complex networks.” • Data structures for representing many types of networks, or graphs • Nodes can be any (hashable) Python object, edges can contain arbitrary data • Flexibility ideal for representing networks found in many different fields • Easy to install on multiple platforms • Online up-to-date documentation • First public release in April 2005 Introduction to NetworkX - design requirements • Tool to study the structure and dynamics of social, biological, and infrastructure networks • Ease-of-use and rapid development in a collaborative, multidisciplinary environment • Easy to learn, easy to teach • Open-source tool base that can easily grow in a multidisciplinary environment with non-expert users
    [Show full text]
  • Graph Database Fundamental Services
    Bachelor Project Czech Technical University in Prague Faculty of Electrical Engineering F3 Department of Cybernetics Graph Database Fundamental Services Tomáš Roun Supervisor: RNDr. Marko Genyk-Berezovskyj Field of study: Open Informatics Subfield: Computer and Informatic Science May 2018 ii Acknowledgements Declaration I would like to thank my advisor RNDr. I declare that the presented work was de- Marko Genyk-Berezovskyj for his guid- veloped independently and that I have ance and advice. I would also like to thank listed all sources of information used Sergej Kurbanov and Herbert Ullrich for within it in accordance with the methodi- their help and contributions to the project. cal instructions for observing the ethical Special thanks go to my family for their principles in the preparation of university never-ending support. theses. Prague, date ............................ ........................................... signature iii Abstract Abstrakt The goal of this thesis is to provide an Cílem této práce je vyvinout webovou easy-to-use web service offering a database službu nabízející databázi neorientova- of undirected graphs that can be searched ných grafů, kterou bude možno efektivně based on the graph properties. In addi- prohledávat na základě vlastností grafů. tion, it should also allow to compute prop- Tato služba zároveň umožní vypočítávat erties of user-supplied graphs with the grafové vlastnosti pro grafy zadané uži- help graph libraries and generate graph vatelem s pomocí grafových knihoven a images. Last but not least, we implement zobrazovat obrázky grafů. V neposlední a system that allows bulk adding of new řadě je také cílem navrhnout systém na graphs to the database and computing hromadné přidávání grafů do databáze a their properties.
    [Show full text]
  • Networkx Reference Release 1.9.1
    NetworkX Reference Release 1.9.1 Aric Hagberg, Dan Schult, Pieter Swart September 20, 2014 CONTENTS 1 Overview 1 1.1 Who uses NetworkX?..........................................1 1.2 Goals...................................................1 1.3 The Python programming language...................................1 1.4 Free software...............................................2 1.5 History..................................................2 2 Introduction 3 2.1 NetworkX Basics.............................................3 2.2 Nodes and Edges.............................................4 3 Graph types 9 3.1 Which graph class should I use?.....................................9 3.2 Basic graph types.............................................9 4 Algorithms 127 4.1 Approximation.............................................. 127 4.2 Assortativity............................................... 132 4.3 Bipartite................................................. 141 4.4 Blockmodeling.............................................. 161 4.5 Boundary................................................. 162 4.6 Centrality................................................. 163 4.7 Chordal.................................................. 184 4.8 Clique.................................................. 187 4.9 Clustering................................................ 190 4.10 Communities............................................... 193 4.11 Components............................................... 194 4.12 Connectivity..............................................
    [Show full text]
  • Exploring Network Structure, Dynamics, and Function Using Networkx
    Proceedings of the 7th Python in Science Conference (SciPy 2008) Exploring Network Structure, Dynamics, and Function using NetworkX Aric A. Hagberg ([email protected])– Los Alamos National Laboratory, Los Alamos, New Mexico USA Daniel A. Schult ([email protected])– Colgate University, Hamilton, NY USA Pieter J. Swart ([email protected])– Los Alamos National Laboratory, Los Alamos, New Mexico USA NetworkX is a Python language package for explo- and algorithms, to rapidly test new hypotheses and ration and analysis of networks and network algo- models, and to teach the theory of networks. rithms. The core package provides data structures The structure of a network, or graph, is encoded in the for representing many types of networks, or graphs, edges (connections, links, ties, arcs, bonds) between including simple graphs, directed graphs, and graphs nodes (vertices, sites, actors). NetworkX provides ba- with parallel edges and self-loops. The nodes in Net- sic network data structures for the representation of workX graphs can be any (hashable) Python object simple graphs, directed graphs, and graphs with self- and edges can contain arbitrary data; this flexibil- loops and parallel edges. It allows (almost) arbitrary ity makes NetworkX ideal for representing networks objects as nodes and can associate arbitrary objects to found in many different scientific fields. edges. This is a powerful advantage; the network struc- In addition to the basic data structures many graph ture can be integrated with custom objects and data algorithms are implemented for calculating network structures, complementing any pre-existing code and properties and structure measures: shortest paths, allowing network analysis in any application setting betweenness centrality, clustering, and degree dis- without significant software development.
    [Show full text]
  • Comparison of Different Generalizations of Clustering Coefficient and Local Efficiency for Weighted Undirected Graphs
    LETTER Communicated by Mika Rubinov Comparison of Different Generalizations of Clustering Coefficient and Local Efficiency for Weighted Undirected Graphs Yu Wang Eshwar Ghumare [email protected] Laboratory for Cognitive Neurology, Department of Neurosciences, KU Leuven, Leuven 3000, Belgium Rik Vandenberghe [email protected] Laboratory for Cognitive Neurology, Department of Neurosciences, KU Leuven, Leuven 3000, Belgium, and Alzheimer Research Centre, KU Leuven, Leuven Institute for Neuroscience and Disease, KU Leuven, Leuven 3000, Belgium Patrick Dupont [email protected] Laboratory for Cognitive Neurology, Department of Neurosciences, KU Leuven, Leuven 3000, Belgium; Alzheimer Research Centre, KU Leuven, Leuven Institute for Neuroscience and Disease, KU Leuven, Leuven 3000, Belgium; and Medical Imaging Research Center, KU Leuven and University Hospitals Leuven, Leuven 3000, Belgium Binary undirected graphs are well established, but when these graphs are constructed, often a threshold is applied to a parameter describing the connection between two nodes. Therefore, the use of weighted graphs is more appropriate. In this work, we focus on weighted undirected graphs. This implies that we have to incorporate edge weights in the graph mea- sures, which require generalizations of common graph metrics. After re- viewing existing generalizations of the clustering coefficient and the local efficiency, we proposed new generalizations for these graph measures. To be able to compare different generalizations, a number of essential and useful properties were defined that ideally should be satisfied. We ap- plied the generalizations to two real-world networks of different sizes. As a result, we found that not all existing generalizations satisfy all es- sential properties. Furthermore, we determined the best generalization for the clustering coefficient and local efficiency based on their properties and the performance when applied to two networks.
    [Show full text]
  • Scale- Free Networks in Cell Biology
    Scale- free networks in cell biology Réka Albert, Department of Physics and Huck Institutes of the Life Sciences, Pennsylvania State University Summary A cell’s behavior is a consequence of the complex interactions between its numerous constituents, such as DNA, RNA, proteins and small molecules. Cells use signaling pathways and regulatory mechanisms to coordinate multiple processes, allowing them to respond to and adapt to an ever-changing environment. The large number of components, the degree of interconnectivity and the complex control of cellular networks are becoming evident in the integrated genomic and proteomic analyses that are emerging. It is increasingly recognized that the understanding of properties that arise from whole-cell function require integrated, theoretical descriptions of the relationships between different cellular components. Recent theoretical advances allow us to describe cellular network structure with graph concepts, and have revealed organizational features shared with numerous non-biological networks. How do we quantitatively describe a network of hundreds or thousands of interacting components? Does the observed topology of cellular networks give us clues about their evolution? How does cellular networks’ organization influence their function and dynamical responses? This article will review the recent advances in addressing these questions. Introduction Genes and gene products interact on several level. At the genomic level, transcription factors can activate or inhibit the transcription of genes to give mRNAs. Since these transcription factors are themselves products of genes, the ultimate effect is that genes regulate each other's expression as part of gene regulatory networks. Similarly, proteins can participate in diverse post-translational interactions that lead to modified protein functions or to formation of protein complexes that have new roles; the totality of these processes is called a protein-protein interaction network.
    [Show full text]
  • NODEXL for Beginners Nasri Messarra, 2013‐2014
    NODEXL for Beginners Nasri Messarra, 2013‐2014 http://nasri.messarra.com Why do we study social networks? Definition from: http://en.wikipedia.org/wiki/Social_network: A social network is a social structure made up of a set of social actors (such as individuals or organizations) and a set of the dyadic ties between these actors. Social networks and the analysis of them is an inherently interdisciplinary academic field which emerged from social psychology, sociology, statistics, and graph theory. From http://en.wikipedia.org/wiki/Sociometry: "Sociometric explorations reveal the hidden structures that give a group its form: the alliances, the subgroups, the hidden beliefs, the forbidden agendas, the ideological agreements, the ‘stars’ of the show". In social networks (like Facebook and Twitter), sociometry can help us understand the diffusion of information and how word‐of‐mouth works (virality). Installing NODEXL (Microsoft Excel required) NodeXL Template 2014 ‐ Visit http://nodexl.codeplex.com ‐ Download the latest version of NodeXL ‐ Double‐click, follow the instructions The SocialNetImporter extends the capabilities of NodeXL mainly with extracting data from the Facebook network. To install: ‐ Download the latest version of the social importer plugins from http://socialnetimporter.codeplex.com ‐ Open the Zip file and save the files into a directory you choose, e.g. c:\social ‐ Open the NodeXL template (you can click on the Windows Start button and type its name to search for it) ‐ Open the NodeXL tab, Import, Import Options (see screenshot below) 1 | Page ‐ In the import dialog, type or browse for the directory where you saved your social importer files (screenshot below): ‐ Close and open NodeXL again For older Versions: ‐ Visit http://nodexl.codeplex.com ‐ Download the latest version of NodeXL ‐ Unzip the files to a temporary folder ‐ Close Excel if it’s open ‐ Run setup.exe ‐ Visit http://socialnetimporter.codeplex.com ‐ Download the latest version of the socialnetimporter plug in 2 | Page ‐ Extract the files and copy them to the NodeXL plugin direction.
    [Show full text]
  • The Role of Homophily Yohsuke Murase 1, Hang-Hyun Jo 2,3,4, János Török5,6,7, János Kertész6,5,4 & Kimmo Kaski4,8
    www.nature.com/scientificreports OPEN Structural transition in social networks: The role of homophily Yohsuke Murase 1, Hang-Hyun Jo 2,3,4, János Török5,6,7, János Kertész6,5,4 & Kimmo Kaski4,8 We introduce a model for the formation of social networks, which takes into account the homophily or Received: 17 August 2018 the tendency of individuals to associate and bond with similar others, and the mechanisms of global and Accepted: 27 February 2019 local attachment as well as tie reinforcement due to social interactions between people. We generalize Published: xx xx xxxx the weighted social network model such that the nodes or individuals have F features and each feature can have q diferent values. Here the tendency for the tie formation between two individuals due to the overlap in their features represents homophily. We fnd a phase transition as a function of F or q, resulting in a phase diagram. For fxed q and as a function of F the system shows two phases separated at Fc. For F < Fc large, homogeneous, and well separated communities can be identifed within which the features match almost perfectly (segregated phase). When F becomes larger than Fc, the nodes start to belong to several communities and within a community the features match only partially (overlapping phase). Several quantities refect this transition, including the average degree, clustering coefcient, feature overlap, and the number of communities per node. We also make an attempt to interpret these results in terms of observations on social behavior of humans. In human societies homophily, the tendency of similar individuals getting associated and bonded with each other, is known to be a prime tie formation factor between a pair of individuals1.
    [Show full text]
  • Comm 645 Handout – Nodexl Basics
    COMM 645 HANDOUT – NODEXL BASICS NodeXL: Network Overview, Discovery and Exploration for Excel. Download from nodexl.codeplex.com Plugin for social media/Facebook import: socialnetimporter.codeplex.com Plugin for Microsoft Exchange import: exchangespigot.codeplex.com Plugin for Voson hyperlink network import: voson.anu.edu.au/node/13#VOSON-NodeXL Note that NodeXL requires MS Office 2007 or 2010. If your system does not support those (or you do not have them installed), try using one of the computers in the PhD office. Major sections within NodeXL: • Edges Tab: Edge list (Vertex 1 = source, Vertex 2 = destination) and attributes (Fig.1→1a) • Vertices Tab: Nodes and attribute (nodes can be imported from the edge list) (Fig.1→1b) • Groups Tab: Groups of nodes defined by attribute, clusters, or components (Fig.1→1c) • Groups Vertices Tab: Nodes belonging to each group (Fig.1→1d) • Overall Metrics Tab: Network and node measures & graphs (Fig.1→1e) Figure 1: The NodeXL Interface 3 6 8 2 7 9 13 14 5 12 4 10 11 1 1a 1b 1c 1d 1e Download more network handouts at www.kateto.net / www.ognyanova.net 1 After you install the NodeXL template, a new NodeXL tab will appear in your Excel interface. The following features will be available in it: Fig.1 → 1: Switch between different data tabs. The most important two tabs are "Edges" and "Vertices". Fig.1 → 2: Import data into NodeXL. The formats you can use include GraphML, UCINET DL files, and Pajek .net files, among others. You can also import data from social media: Flickr, YouTube, Twitter, Facebook (requires a plugin), or a hyperlink networks (requires a plugin).
    [Show full text]
  • Graph and Network Analysis
    Graph and Network Analysis Dr. Derek Greene Clique Research Cluster, University College Dublin Web Science Doctoral Summer School 2011 Tutorial Overview • Practical Network Analysis • Basic concepts • Network types and structural properties • Identifying central nodes in a network • Communities in Networks • Clustering and graph partitioning • Finding communities in static networks • Finding communities in dynamic networks • Applications of Network Analysis Web Science Summer School 2011 2 Tutorial Resources • NetworkX: Python software for network analysis (v1.5) http://networkx.lanl.gov • Python 2.6.x / 2.7.x http://www.python.org • Gephi: Java interactive visualisation platform and toolkit. http://gephi.org • Slides, full resource list, sample networks, sample code snippets online here: http://mlg.ucd.ie/summer Web Science Summer School 2011 3 Introduction • Social network analysis - an old field, rediscovered... [Moreno,1934] Web Science Summer School 2011 4 Introduction • We now have the computational resources to perform network analysis on large-scale data... http://www.facebook.com/note.php?note_id=469716398919 Web Science Summer School 2011 5 Basic Concepts • Graph: a way of representing the relationships among a collection of objects. • Consists of a set of objects, called nodes, with certain pairs of these objects connected by links called edges. A B A B C D C D Undirected Graph Directed Graph • Two nodes are neighbours if they are connected by an edge. • Degree of a node is the number of edges ending at that node. • For a directed graph, the in-degree and out-degree of a node refer to numbers of edges incoming to or outgoing from the node.
    [Show full text]