Pdf/Cs/0202039 for Directed Graphs a More General Notion Is That of D-Cores Which Looks at (K, L) Restrictions on (In, Out) Degree

Total Page:16

File Type:pdf, Size:1020Kb

Pdf/Cs/0202039 for Directed Graphs a More General Notion Is That of D-Cores Which Looks at (K, L) Restrictions on (In, Out) Degree NetworkX Reference Release 2.6.2 Aric Hagberg, Dan Schult, Pieter Swart Jul 27, 2021 CONTENTS 1 Introduction 1 1.1 NetworkX Basics ............................................. 1 1.2 Graphs .................................................. 2 1.3 Graph Creation .............................................. 3 1.4 Graph Reporting ............................................. 3 1.5 Algorithms ................................................ 4 1.6 Drawing .................................................. 4 1.7 Data Structure .............................................. 5 2 Graph types 7 2.1 Which graph class should I use? ..................................... 7 2.2 Basic graph types ............................................. 7 2.3 Graph Views ............................................... 139 2.4 Core Views ................................................ 141 2.5 Filters ................................................... 148 3 Algorithms 151 3.1 Approximations and Heuristics ...................................... 151 3.2 Assortativity ............................................... 174 3.3 Asteroidal ................................................. 186 3.4 Bipartite ................................................. 187 3.5 Boundary ................................................. 225 3.6 Bridges .................................................. 226 3.7 Centrality ................................................. 229 3.8 Chains .................................................. 270 3.9 Chordal .................................................. 271 3.10 Clique ................................................... 276 3.11 Clustering ................................................. 280 3.12 Coloring ................................................. 286 3.13 Communicability ............................................. 290 3.14 Communities ............................................... 292 3.15 Components ............................................... 305 3.16 Connectivity ............................................... 322 3.17 Cores ................................................... 355 3.18 Covering ................................................. 360 3.19 Cycles ................................................... 362 3.20 Cuts .................................................... 366 3.21 D-Separation ............................................... 371 3.22 Directed Acyclic Graphs ......................................... 372 3.23 Distance Measures ............................................ 382 i 3.24 Distance-Regular Graphs ......................................... 386 3.25 Dominance ................................................ 389 3.26 Dominating Sets ............................................. 391 3.27 Efficiency ................................................. 392 3.28 Eulerian .................................................. 394 3.29 Flows ................................................... 398 3.30 Graph Hashing .............................................. 427 3.31 Graphical degree sequence ........................................ 429 3.32 Hierarchy ................................................. 433 3.33 Hybrid .................................................. 433 3.34 Isolates .................................................. 435 3.35 Isomorphism ............................................... 437 3.36 Link Analysis ............................................... 457 3.37 Link Prediction .............................................. 465 3.38 Lowest Common Ancestor ........................................ 473 3.39 Matching ................................................. 475 3.40 Minors .................................................. 478 3.41 Maximal independent set ......................................... 486 3.42 non-randomness ............................................. 487 3.43 Moral ................................................... 488 3.44 Node Classification ............................................ 488 3.45 Operators ................................................. 491 3.46 Planarity ................................................. 502 3.47 Planar Drawing .............................................. 507 3.48 Reciprocity ................................................ 507 3.49 Regular .................................................. 508 3.50 Rich Club ................................................. 510 3.51 Shortest Paths ............................................... 511 3.52 Similarity Measures ............................................ 551 3.53 Simple Paths ............................................... 561 3.54 Small-world ................................................ 567 3.55 s metric .................................................. 570 3.56 Sparsifiers ................................................. 571 3.57 Structural holes .............................................. 572 3.58 Summarization .............................................. 575 3.59 Swap ................................................... 579 3.60 Threshold Graphs ............................................. 581 3.61 Tournament ................................................ 582 3.62 Traversal ................................................. 585 3.63 Tree .................................................... 601 3.64 Triads ................................................... 617 3.65 Vitality .................................................. 620 3.66 Voronoi cells ............................................... 621 3.67 Wiener index ............................................... 622 4 Functions 625 4.1 Graph ................................................... 625 4.2 Nodes ................................................... 634 4.3 Edges ................................................... 636 4.4 Self loops ................................................. 637 4.5 Attributes ................................................. 639 4.6 Paths ................................................... 644 4.7 Freezing graph structure ......................................... 645 ii 5 Graph generators 647 5.1 Atlas ................................................... 647 5.2 Classic .................................................. 649 5.3 Expanders ................................................. 658 5.4 Lattice .................................................. 660 5.5 Small ................................................... 663 5.6 Random Graphs ............................................. 668 5.7 Duplication Divergence .......................................... 680 5.8 Degree Sequence ............................................. 682 5.9 Random Clustered ............................................ 688 5.10 Directed ................................................. 689 5.11 Geometric ................................................ 693 5.12 Line Graph ................................................ 701 5.13 Ego Graph ................................................ 703 5.14 Stochastic ................................................. 704 5.15 AS graph ................................................. 705 5.16 Intersection ................................................ 705 5.17 Social Networks ............................................. 707 5.18 Community ................................................ 709 5.19 Spectral .................................................. 719 5.20 Trees ................................................... 720 5.21 Non Isomorphic Trees .......................................... 723 5.22 Triads ................................................... 723 5.23 Joint Degree Sequence .......................................... 724 5.24 Mycielski ................................................. 728 5.25 Harary Graph ............................................... 729 5.26 Cographs ................................................. 731 5.27 Interval Graph .............................................. 732 5.28 Sudoku .................................................. 733 6 Linear algebra 735 6.1 Graph Matrix ............................................... 735 6.2 Laplacian Matrix ............................................. 737 6.3 Bethe Hessian Matrix ........................................... 740 6.4 Algebraic Connectivity .......................................... 741 6.5 Attribute Matrices ............................................ 744 6.6 Modularity Matrices ........................................... 747 6.7 Spectrum ................................................. 750 7 Converting to and from other data formats 753 7.1 To NetworkX Graph ........................................... 753 7.2 Dictionaries ................................................ 754 7.3 Lists .................................................... 756 7.4 Numpy .................................................. 758 7.5 Scipy ................................................... 765 7.6 Pandas .................................................. 768 8 Relabeling nodes 775 8.1 Relabeling ................................................ 775 9 Reading and writing graphs 779 9.1 Adjacency List .............................................. 779 9.2 Multiline Adjacency List ......................................... 783 9.3 Edge List ................................................. 786 9.4 GEXF ................................................... 793 iii 9.5 GML ................................................... 796 9.6 Pickle ................................................... 801 9.7
Recommended publications
  • 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]
  • 1 Hamiltonian Path
    6.S078 Fine-Grained Algorithms and Complexity MIT Lecture 17: Algorithms for Finding Long Paths (Part 1) November 2, 2020 In this lecture and the next, we will introduce a number of algorithmic techniques used in exponential-time and FPT algorithms, through the lens of one parametric problem: Definition 0.1 (k-Path) Given a directed graph G = (V; E) and parameter k, is there a simple path1 in G of length ≥ k? Already for this simple-to-state problem, there are quite a few radically different approaches to solving it faster; we will show you some of them. We’ll see algorithms for the case of k = n (Hamiltonian Path) and then we’ll turn to “parameterizing” these algorithms so they work for all k. A number of papers in bioinformatics have used quick algorithms for k-Path and related problems to analyze various networks that arise in biology (some references are [SIKS05, ADH+08, YLRS+09]). In the following, we always denote the number of vertices jV j in our given graph G = (V; E) by n, and the number of edges jEj by m. We often associate the set of vertices V with the set [n] := f1; : : : ; ng. 1 Hamiltonian Path Before discussing k-Path, it will be useful to first discuss algorithms for the famous NP-complete Hamiltonian path problem, which is the special case where k = n. Essentially all algorithms we discuss here can be adapted to obtain algorithms for k-Path! The naive algorithm for Hamiltonian Path takes time about n! = 2Θ(n log n) to try all possible permutations of the nodes (which can also be adapted to get an O?(k!)-time algorithm for k-Path, as we’ll see).
    [Show full text]
  • Networks in Nature: Dynamics, Evolution, and Modularity
    Networks in Nature: Dynamics, Evolution, and Modularity Sumeet Agarwal Merton College University of Oxford A thesis submitted for the degree of Doctor of Philosophy Hilary 2012 2 To my entire social network; for no man is an island Acknowledgements Primary thanks go to my supervisors, Nick Jones, Charlotte Deane, and Mason Porter, whose ideas and guidance have of course played a major role in shaping this thesis. I would also like to acknowledge the very useful sug- gestions of my examiners, Mark Fricker and Jukka-Pekka Onnela, which have helped improve this work. I am very grateful to all the members of the three Oxford groups I have had the fortune to be associated with: Sys- tems and Signals, Protein Informatics, and the Systems Biology Doctoral Training Centre. Their companionship has served greatly to educate and motivate me during the course of my time in Oxford. In particular, Anna Lewis and Ben Fulcher, both working on closely related D.Phil. projects, have been invaluable throughout, and have assisted and inspired my work in many different ways. Gabriel Villar and Samuel Johnson have been col- laborators and co-authors who have helped me to develop some of the ideas and methods used here. There are several other people who have gener- ously provided data, code, or information that has been directly useful for my work: Waqar Ali, Binh-Minh Bui-Xuan, Pao-Yang Chen, Dan Fenn, Katherine Huang, Patrick Kemmeren, Max Little, Aur´elienMazurie, Aziz Mithani, Peter Mucha, George Nicholson, Eli Owens, Stephen Reid, Nico- las Simonis, Dave Smith, Ian Taylor, Amanda Traud, and Jeffrey Wrana.
    [Show full text]
  • Modularity in Static and Dynamic Networks
    Modularity in static and dynamic networks Sarah F. Muldoon University at Buffalo, SUNY OHBM – Brain Graphs Workshop June 25, 2017 Outline 1. Introduction: What is modularity? 2. Determining community structure (static networks) 3. Comparing community structure 4. Multilayer networks: Constructing multitask and temporal multilayer dynamic networks 5. Dynamic community structure 6. Useful references OHBM 2017 – Brain Graphs Workshop – Sarah F. Muldoon Introduction: What is Modularity? OHBM 2017 – Brain Graphs Workshop – Sarah F. Muldoon What is Modularity? Modularity (Community Structure) • A module (community) is a subset of vertices in a graph that have more connections to each other than to the rest of the network • Example social networks: groups of friends Modularity in the brain: • Structural networks: communities are groups of brain areas that are more highly connected to each other than the rest of the brain • Functional networks: communities are groups of brain areas with synchronous activity that is not synchronous with other brain activity OHBM 2017 – Brain Graphs Workshop – Sarah F. Muldoon Findings: The Brain is Modular Structural networks: cortical thickness correlations sensorimotor/spatial strategic/executive mnemonic/emotion olfactocentric auditory/language visual processing Chen et al. (2008) Cereb Cortex OHBM 2017 – Brain Graphs Workshop – Sarah F. Muldoon Findings: The Brain is Modular • Functional networks: resting state fMRI He et al. (2009) PLOS One OHBM 2017 – Brain Graphs Workshop – Sarah F. Muldoon Findings: The
    [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]
  • K-Path Centrality: a New Centrality Measure in Social Networks
    Centrality Metrics in Social Network Analysis K-path: A New Centrality Metric Experiments Summary K-Path Centrality: A New Centrality Measure in Social Networks Adriana Iamnitchi University of South Florida joint work with Tharaka Alahakoon, Rahul Tripathi, Nicolas Kourtellis and Ramanuja Simha Adriana Iamnitchi K-Path Centrality: A New Centrality Measure in Social Networks 1 of 23 Centrality Metrics in Social Network Analysis Centrality Metrics Overview K-path: A New Centrality Metric Betweenness Centrality Experiments Applications Summary Computing Betweenness Centrality Centrality Metrics in Social Network Analysis Betweenness Centrality - how much a node controls the flow between any other two nodes Closeness Centrality - the extent a node is near all other nodes Degree Centrality - the number of ties to other nodes Eigenvector Centrality - the relative importance of a node Adriana Iamnitchi K-Path Centrality: A New Centrality Measure in Social Networks 2 of 23 Centrality Metrics in Social Network Analysis Centrality Metrics Overview K-path: A New Centrality Metric Betweenness Centrality Experiments Applications Summary Computing Betweenness Centrality Betweenness Centrality measures the extent to which a node lies on the shortest path between two other nodes betweennes CB (v) of a vertex v is the summation over all pairs of nodes of the fractional shortest paths going through v. Definition (Betweenness Centrality) For every vertex v 2 V of a weighted graph G(V ; E), the betweenness centrality CB (v) of v is defined by X X σst (v) CB
    [Show full text]
  • Multidimensional Network Analysis
    Universita` degli Studi di Pisa Dipartimento di Informatica Dottorato di Ricerca in Informatica Ph.D. Thesis Multidimensional Network Analysis Michele Coscia Supervisor Supervisor Fosca Giannotti Dino Pedreschi May 9, 2012 Abstract This thesis is focused on the study of multidimensional networks. A multidimensional network is a network in which among the nodes there may be multiple different qualitative and quantitative relations. Traditionally, complex network analysis has focused on networks with only one kind of relation. Even with this constraint, monodimensional networks posed many analytic challenges, being representations of ubiquitous complex systems in nature. However, it is a matter of common experience that the constraint of considering only one single relation at a time limits the set of real world phenomena that can be represented with complex networks. When multiple different relations act at the same time, traditional complex network analysis cannot provide suitable an- alytic tools. To provide the suitable tools for this scenario is exactly the aim of this thesis: the creation and study of a Multidimensional Network Analysis, to extend the toolbox of complex network analysis and grasp the complexity of real world phenomena. The urgency and need for a multidimensional network analysis is here presented, along with an empirical proof of the ubiquity of this multifaceted reality in different complex networks, and some related works that in the last two years were proposed in this novel setting, yet to be systematically defined. Then, we tackle the foundations of the multidimensional setting at different levels, both by looking at the basic exten- sions of the known model and by developing novel algorithms and frameworks for well-understood and useful problems, such as community discovery (our main case study), temporal analysis, link prediction and more.
    [Show full text]
  • Strongly Connected Components and Biconnected Components
    Strongly Connected Components and Biconnected Components Daniel Wisdom 27 January 2017 1 2 3 4 5 6 7 8 Figure 1: A directed graph. Credit: Crash Course Coding Companion. 1 Strongly Connected Components A strongly connected component (SCC) is a set of vertices where every vertex can reach every other vertex. In an undirected graph the SCCs are just the groups of connected vertices. We can find them using a simple DFS. This works because, in an undirected graph, u can reach v if and only if v can reach u. This is not true in a directed graph, which makes finding the SCCs harder. More on that later. 2 Kernel graph We can travel between any two nodes in the same strongly connected component. So what if we replaced each strongly connected component with a single node? This would give us what we call the kernel graph, which describes the edges between strongly connected components. Note that the kernel graph is a directed acyclic graph because any cycles would constitute an SCC, so the cycle would be compressed into a kernel. 3 1,2,5,6 4,7 8 Figure 2: Kernel graph of the above directed graph. 3 Tarjan's SCC Algorithm In a DFS traversal of the graph every SCC will be a subtree of the DFS tree. This subtree is not necessarily proper, meaning that it may be missing some branches which are their own SCCs. This means that if we can identify every node that is the root of its SCC in the DFS, we can enumerate all the SCCs.
    [Show full text]
  • A Network Approach to Define Modularity of Components In
    A Network Approach to Define Modularity of Components Manuel E. Sosa1 Technology and Operations Management Area, in Complex Products INSEAD, 77305 Fontainebleau, France Modularity has been defined at the product and system levels. However, little effort has e-mail: [email protected] gone into defining and quantifying modularity at the component level. We consider com- plex products as a network of components that share technical interfaces (or connections) Steven D. Eppinger in order to function as a whole and define component modularity based on the lack of Sloan School of Management, connectivity among them. Building upon previous work in graph theory and social net- Massachusetts Institute of Technology, work analysis, we define three measures of component modularity based on the notion of Cambridge, Massachusetts 02139 centrality. Our measures consider how components share direct interfaces with adjacent components, how design interfaces may propagate to nonadjacent components in the Craig M. Rowles product, and how components may act as bridges among other components through their Pratt & Whitney Aircraft, interfaces. We calculate and interpret all three measures of component modularity by East Hartford, Connecticut 06108 studying the product architecture of a large commercial aircraft engine. We illustrate the use of these measures to test the impact of modularity on component redesign. Our results show that the relationship between component modularity and component redesign de- pends on the type of interfaces connecting product components. We also discuss direc- tions for future work. ͓DOI: 10.1115/1.2771182͔ 1 Introduction The need to measure modularity has been highlighted implicitly by Saleh ͓12͔ in his recent invitation “to contribute to the growing Previous research on product architecture has defined modular- field of flexibility in system design” ͑p.
    [Show full text]
  • Task-Dependent Evolution of Modularity in Neural Networks1
    Task-dependent evolution of modularity in neural networks1 Michael Husk¨ en, Christian Igel, and Marc Toussaint Institut fur¨ Neuroinformatik, Ruhr-Universit¨at Bochum, 44780 Bochum, Germany Telephone: +49 234 32 25558, Fax: +49 234 32 14209 fhuesken,igel,[email protected] Connection Science Vol 14, No 3, 2002, p. 219-229 Abstract. There exist many ideas and assumptions about the development and meaning of modu- larity in biological and technical neural systems. We empirically study the evolution of connectionist models in the context of modular problems. For this purpose, we define quantitative measures for the degree of modularity and monitor them during evolutionary processes under different constraints. It turns out that the modularity of the problem is reflected by the architecture of adapted systems, although learning can counterbalance some imperfection of the architecture. The demand for fast learning systems increases the selective pressure towards modularity. 1 Introduction The performance of biological as well as technical neural systems crucially depends on their ar- chitectures. In case of a feed-forward neural network (NN), architecture may be defined as the underlying graph constituting the number of neurons and the way these neurons are connected. Particularly one property of architectures, modularity, has raised a lot of interest among researchers dealing with biological and technical aspects of neural computation. It appears to be obvious to emphasise modularity in neural systems because the vertebrate brain is highly modular both in an anatomical and in a functional sense. It is important to stress that there are different concepts of modules. `When a neuroscientist uses the word \module", s/he is usually referring to the fact that brains are structured, with cells, columns, layers, and regions which divide up the labour of information processing in various ways' 1This paper is a revised and extended version of the GECCO 2001 Late-Breaking Paper by Husk¨ en, Igel, & Toussaint (2001).
    [Show full text]
  • Analyzing Social Media Network for Students in Presidential Election 2019 with Nodexl
    ANALYZING SOCIAL MEDIA NETWORK FOR STUDENTS IN PRESIDENTIAL ELECTION 2019 WITH NODEXL Irwan Dwi Arianto Doctoral Candidate of Communication Sciences, Airlangga University Corresponding Authors: [email protected] Abstract. Twitter is widely used in digital political campaigns. Twitter as a social media that is useful for building networks and even connecting political participants with the community. Indonesia will get a demographic bonus starting next year until 2030. The number of productive ages that will become a demographic bonus if not recognized correctly can be a problem. The election organizer must seize this opportunity for the benefit of voter participation. This study aims to describe the network structure of students in the 2019 presidential election. The first debate was held on January 17, 2019 as a starting point for data retrieval on Twitter social media. This study uses data sources derived from Twitter talks from 17 January 2019 to 20 August 2019 with keywords “#pilpres2019 OR #mahasiswa since: 2019-01-17”. The data obtained were analyzed by the communication network analysis method using NodeXL software. Our Analysis found that Top Influencer is @jokowi, as well as Top, Mentioned also @jokowi while Top Tweeters @okezonenews and Top Replied-To @hasmi_bakhtiar. Jokowi is incumbent running for re-election with Ma’ruf Amin (Senior Muslim Cleric) as his running mate against Prabowo Subianto (a former general) and Sandiaga Uno as his running mate (former vice governor). This shows that the more concentrated in the millennial generation in this case students are presidential candidates @jokowi. @okezonenews, the official twitter account of okezone.com (MNC Media Group).
    [Show full text]
  • Assortativity and Mixing
    Assortativity and Assortativity and Mixing General mixing between node categories Mixing Assortativity and Mixing Definition Definition I Assume types of nodes are countable, and are Complex Networks General mixing General mixing Assortativity by assigned numbers 1, 2, 3, . Assortativity by CSYS/MATH 303, Spring, 2011 degree degree I Consider networks with directed edges. Contagion Contagion References an edge connects a node of type µ References e = Pr Prof. Peter Dodds µν to a node of type ν Department of Mathematics & Statistics Center for Complex Systems aµ = Pr(an edge comes from a node of type µ) Vermont Advanced Computing Center University of Vermont bν = Pr(an edge leads to a node of type ν) ~ I Write E = [eµν], ~a = [aµ], and b = [bν]. I Requirements: X X X eµν = 1, eµν = aµ, and eµν = bν. µ ν ν µ Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. 1 of 26 4 of 26 Assortativity and Assortativity and Outline Mixing Notes: Mixing Definition Definition General mixing General mixing Assortativity by I Varying eµν allows us to move between the following: Assortativity by degree degree Definition Contagion 1. Perfectly assortative networks where nodes only Contagion References connect to like nodes, and the network breaks into References subnetworks. General mixing P Requires eµν = 0 if µ 6= ν and µ eµµ = 1. 2. Uncorrelated networks (as we have studied so far) Assortativity by degree For these we must have independence: eµν = aµbν . 3. Disassortative networks where nodes connect to nodes distinct from themselves. Contagion I Disassortative networks can be hard to build and may require constraints on the eµν.
    [Show full text]