Igraph’ October 6, 2020 Version 1.2.6 Title Network Analysis and Visualization Author See AUTHORS file

Total Page:16

File Type:pdf, Size:1020Kb

Igraph’ October 6, 2020 Version 1.2.6 Title Network Analysis and Visualization Author See AUTHORS file Package ‘igraph’ October 6, 2020 Version 1.2.6 Title Network Analysis and Visualization Author See AUTHORS file. Maintainer Gábor Csárdi <[email protected]> Description Routines for simple graphs and network analysis. It can handle large graphs very well and provides functions for generating random and regular graphs, graph visualization, centrality methods and much more. Depends methods Imports graphics, grDevices, magrittr, Matrix, pkgconfig (>= 2.0.0), stats, utils Suggests ape, digest, graph, igraphdata, rgl, scales, stats4, tcltk, testthat, withr License GPL (>= 2) URL https://igraph.org SystemRequirements gmp (optional), libxml2 (optional), glpk (optional) BugReports https://github.com/igraph/igraph/issues Encoding UTF-8 RoxygenNote 7.1.1 Collate 'adjacency.R' 'auto.R' 'assortativity.R' 'attributes.R' 'basic.R' 'bipartite.R' 'centrality.R' 'centralization.R' 'cliques.R' 'cocitation.R' 'cohesive.blocks.R' 'community.R' 'components.R' 'console.R' 'conversion.R' 'data_frame.R' 'decomposition.R' 'degseq.R' 'demo.R' 'embedding.R' 'epi.R' 'fit.R' 'flow.R' 'foreign.R' 'games.R' 'glet.R' 'hrg.R' 'igraph-package.R' 'incidence.R' 'indexing.R' 'interface.R' 'iterators.R' 'layout.R' 'layout_drl.R' 'lazyeval.R' 'make.R' 'minimum.spanning.tree.R' 'motifs.R' 'nexus.R' 'operators.R' 'other.R' 'package.R' 'palette.R' 'par.R' 'paths.R' 'plot.R' 'plot.common.R' 'plot.shapes.R' 'pp.R' 'print.R' 'printr.R' 'random_walk.R' 'rewire.R' 'scan.R' 'scg.R' 'sgm.R' 'similarity.R' 'simple.R' 'sir.R' 'socnet.R' 'sparsedf.R' 1 2 R topics documented: 'structural.properties.R' 'structure.info.R' 'test.R' 'tkplot.R' 'topology.R' 'triangles.R' 'utils.R' 'uuid.R' 'versions.R' 'weakref.R' 'zzz-deprecate.R' NeedsCompilation yes Repository CRAN Date/Publication 2020-10-06 12:40:05 UTC R topics documented: igraph-package . .9 +.igraph . 12 add_edges . 14 add_layout_ . 15 add_vertices . 16 adjacent_vertices . 17 all_simple_paths . 17 alpha_centrality . 18 are_adjacent . 20 arpack_defaults . 21 articulation_points . 25 as.directed . 26 as.igraph . 28 assortativity . 29 as_adjacency_matrix . 31 as_adj_list . 32 as_data_frame . 33 as_edgelist . 35 as_graphnel . 36 as_ids . 37 as_incidence_matrix . 38 as_long_data_frame . 39 as_membership . 40 authority_score . 41 automorphisms . 42 bfs.............................................. 43 biconnected_components . 46 bipartite_mapping . 47 bipartite_projection . 48 c.igraph.es . 50 c.igraph.vs . 50 canonical_permutation . 51 categorical_pal . 53 centralize . 54 centr_betw . 56 centr_betw_tmax . 57 centr_clo . 57 centr_clo_tmax . 58 R topics documented: 3 centr_degree . 59 centr_degree_tmax . 60 centr_eigen . 61 centr_eigen_tmax . 62 cliques . 63 closeness . 65 cluster_edge_betweenness . 67 cluster_fast_greedy . 69 cluster_infomap . 70 cluster_label_prop . 72 cluster_leading_eigen . 73 cluster_louvain . 76 cluster_optimal . 77 cluster_spinglass . 79 cluster_walktrap . 82 cocitation . 83 cohesive_blocks . 84 compare . 89 complementer . 90 component_distribution . 91 component_wise . 93 compose . 93 consensus_tree . 95 console . 96 constraint . 96 contract . 98 convex_hull . 99 coreness . 100 count_isomorphisms . 101 count_motifs . 102 count_subgraph_isomorphisms . 103 count_triangles . 104 curve_multiple . 105 decompose . 106 degree . 107 delete_edges . 109 delete_edge_attr . 109 delete_graph_attr . 110 delete_vertex_attr . 111 delete_vertices . 112 dfs.............................................. 112 diameter . 115 difference . 116 difference.igraph . 117 difference.igraph.es . 118 difference.igraph.vs . 119 dim_select . ..
Recommended publications
  • Practical Parallel Hypergraph Algorithms
    Practical Parallel Hypergraph Algorithms Julian Shun [email protected] MIT CSAIL Abstract v While there has been signicant work on parallel graph pro- 0 cessing, there has been very surprisingly little work on high- e0 performance hypergraph processing. This paper presents v0 v1 v1 a collection of ecient parallel algorithms for hypergraph processing, including algorithms for betweenness central- e1 ity, maximal independent set, k-core decomposition, hyper- v2 trees, hyperpaths, connected components, PageRank, and v2 v3 e single-source shortest paths. For these problems, we either 2 provide new parallel algorithms or more ecient implemen- v3 tations than prior work. Furthermore, our algorithms are theoretically-ecient in terms of work and depth. To imple- (a) Hypergraph (b) Bipartite representation ment our algorithms, we extend the Ligra graph processing Figure 1. An example hypergraph representing the groups framework to support hypergraphs, and our implementa- , , , , , , and , , and its bipartite repre- { 0 1 2} { 1 2 3} { 0 3} tions benet from graph optimizations including switching sentation. between sparse and dense traversals based on the frontier size, edge-aware parallelization, using buckets to prioritize processing of vertices, and compression. Our experiments represented as hyperedges, can contain an arbitrary number on a 72-core machine and show that our algorithms obtain of vertices. Hyperedges correspond to group relationships excellent parallel speedups, and are signicantly faster than among vertices (e.g., a community in a social network). An algorithms in existing hypergraph processing frameworks. example of a hypergraph is shown in Figure 1a. CCS Concepts • Computing methodologies → Paral- Hypergraphs have been shown to enable richer analy- lel algorithms; Shared memory algorithms.
    [Show full text]
  • Directed Graph Algorithms
    Directed Graph Algorithms CSE 373 Data Structures Readings • Reading Chapter 13 › Sections 13.3 and 13.4 Digraphs 2 Topological Sort 142 322 143 321 Problem: Find an order in which all these courses can 326 be taken. 370 341 Example: 142 Æ 143 Æ 378 Æ 370 Æ 321 Æ 341 Æ 322 Æ 326 Æ 421 Æ 401 378 421 In order to take a course, you must 401 take all of its prerequisites first Digraphs 3 Topological Sort Given a digraph G = (V, E), find a linear ordering of its vertices such that: for any edge (v, w) in E, v precedes w in the ordering B C A F D E Digraphs 4 Topo sort – valid solution B C Any linear ordering in which A all the arrows go to the right F is a valid solution D E A B F C D E Note that F can go anywhere in this list because it is not connected. Also the solution is not unique. Digraphs 5 Topo sort – invalid solution B C A Any linear ordering in which an arrow goes to the left F is not a valid solution D E A B F C E D NO! Digraphs 6 Paths and Cycles • Given a digraph G = (V,E), a path is a sequence of vertices v1,v2, …,vk such that: ›(vi,vi+1) in E for 1 < i < k › path length = number of edges in the path › path cost = sum of costs of each edge • A path is a cycle if : › k > 1; v1 = vk •G is acyclic if it has no cycles.
    [Show full text]
  • Graph Varieties Axiomatized by Semimedial, Medial, and Some Other Groupoid Identities
    Discussiones Mathematicae General Algebra and Applications 40 (2020) 143–157 doi:10.7151/dmgaa.1344 GRAPH VARIETIES AXIOMATIZED BY SEMIMEDIAL, MEDIAL, AND SOME OTHER GROUPOID IDENTITIES Erkko Lehtonen Technische Universit¨at Dresden Institut f¨ur Algebra 01062 Dresden, Germany e-mail: [email protected] and Chaowat Manyuen Department of Mathematics, Faculty of Science Khon Kaen University Khon Kaen 40002, Thailand e-mail: [email protected] Abstract Directed graphs without multiple edges can be represented as algebras of type (2, 0), so-called graph algebras. A graph is said to satisfy an identity if the corresponding graph algebra does, and the set of all graphs satisfying a set of identities is called a graph variety. We describe the graph varieties axiomatized by certain groupoid identities (medial, semimedial, autodis- tributive, commutative, idempotent, unipotent, zeropotent, alternative). Keywords: graph algebra, groupoid, identities, semimediality, mediality. 2010 Mathematics Subject Classification: 05C25, 03C05. 1. Introduction Graph algebras were introduced by Shallon [10] in 1979 with the purpose of providing examples of nonfinitely based finite algebras. Let us briefly recall this concept. Given a directed graph G = (V, E) without multiple edges, the graph algebra associated with G is the algebra A(G) = (V ∪ {∞}, ◦, ∞) of type (2, 0), 144 E. Lehtonen and C. Manyuen where ∞ is an element not belonging to V and the binary operation ◦ is defined by the rule u, if (u, v) ∈ E, u ◦ v := (∞, otherwise, for all u, v ∈ V ∪ {∞}. We will denote the product u ◦ v simply by juxtaposition uv. Using this representation, we may view any algebraic property of a graph algebra as a property of the graph with which it is associated.
    [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 Theory with Applications
    GRAPH THEORY WITH APPLICATIONS J. A. Bondy and U. S. R. Murty Department of Combina tories and Optimization, University of Waterloo, Ontario, Canada NORfH-HOLLAND New York • Amsterdam • Oxford @J.A. Bondy and U.S.R. Muny 1976 First published in Great Britain 1976 by The Macmillan Press Ltd. First published in the U.S.A. 1976 by Elsevier Science Publishing Co., Inc. 52 Vanderbilt Avenue, New York, N.Y. 10017 Fifth Printing, 1982. Sole Distributor in the U.S.A: Elsevier Science Publishing Co., Inc. Library of Congress Cataloging in Publication Data Bondy, John Adrian. Graph theory with applications. Bibliography: p. lncludes index. 1. Graph theory. 1. Murty, U.S.R., joint author. II. Title. QA166.B67 1979 511 '.5 75-29826 ISBN 0.:444-19451-7 AU rights reserved. No part of this publication may be reproduced or transmitted, in any form or by any means, without permission. Printed in the United States of America To our parents Preface This book is intended as an introduction to graph theory. Our aim bas been to present what we consider to be the basic material, together with a wide variety of applications, both to other branches of mathematics and to real-world problems. Included are simple new proofs of theorems of Brooks, Chvâtal, Tutte and Vizing. The applications have been carefully selected, and are treated in some depth. We have chosen to omit ail so-called 'applications' that employ just the language of graphs and no theory. The applications appearing at the end of each chapter actually make use of theory developed earlier in the same chapter.
    [Show full text]
  • Practical Parallel Hypergraph Algorithms
    Practical Parallel Hypergraph Algorithms Julian Shun [email protected] MIT CSAIL Abstract v0 While there has been significant work on parallel graph pro- e0 cessing, there has been very surprisingly little work on high- v0 v1 v1 performance hypergraph processing. This paper presents a e collection of efficient parallel algorithms for hypergraph pro- 1 v2 cessing, including algorithms for computing hypertrees, hy- v v 2 3 e perpaths, betweenness centrality, maximal independent sets, 2 v k-core decomposition, connected components, PageRank, 3 and single-source shortest paths. For these problems, we ei- (a) Hypergraph (b) Bipartite representation ther provide new parallel algorithms or more efficient imple- mentations than prior work. Furthermore, our algorithms are Figure 1. An example hypergraph representing the groups theoretically-efficient in terms of work and depth. To imple- fv0;v1;v2g, fv1;v2;v3g, and fv0;v3g, and its bipartite repre- ment our algorithms, we extend the Ligra graph processing sentation. framework to support hypergraphs, and our implementations benefit from graph optimizations including switching between improved compared to using a graph representation. Unfor- sparse and dense traversals based on the frontier size, edge- tunately, there is been little research on parallel hypergraph aware parallelization, using buckets to prioritize processing processing. of vertices, and compression. Our experiments on a 72-core The main contribution of this paper is a suite of efficient machine and show that our algorithms obtain excellent paral- parallel hypergraph algorithms, including algorithms for hy- lel speedups, and are significantly faster than algorithms in pertrees, hyperpaths, betweenness centrality, maximal inde- existing hypergraph processing frameworks.
    [Show full text]
  • Robustness and Assortativity for Diffusion-Like Processes in Scale
    epl draft Robustness and Assortativity for Diffusion-like Processes in Scale- free Networks G. D’Agostino1, A. Scala2,3, V. Zlatic´4 and G. Caldarelli5,3 1 ENEA - CR ”Casaccia” - Via Anguillarese 301 00123, Roma - Italy 2 CNR-ISC and Department of Physics, University of Rome “Sapienza” P.le Aldo Moro 5 00185 Rome, Italy 3 London Institute of Mathematical Sciences, 22 South Audley St Mayfair London W1K 2NY, UK 4 Theoretical Physics Division, Rudjer Boˇskovi´cInstitute, P.O.Box 180, HR-10002 Zagreb, Croatia 5 IMT Lucca Institute for Advanced Studies, Piazza S. Ponziano 6, Lucca, 55100, Italy PACS 89.75.Hc – Networks and genealogical trees PACS 05.70.Ln – Nonequilibrium and irreversible thermodynamics PACS 87.23.Ge – Dynamics of social systems Abstract – By analysing the diffusive dynamics of epidemics and of distress in complex networks, we study the effect of the assortativity on the robustness of the networks. We first determine by spectral analysis the thresholds above which epidemics/failures can spread; we then calculate the slowest diffusional times. Our results shows that disassortative networks exhibit a higher epidemi- ological threshold and are therefore easier to immunize, while in assortative networks there is a longer time for intervention before epidemic/failure spreads. Moreover, we study by computer sim- ulations the sandpile cascade model, a diffusive model of distress propagation (financial contagion). We show that, while assortative networks are more prone to the propagation of epidemic/failures, degree-targeted immunization policies increases their resilience to systemic risk. Introduction. – The heterogeneity in the distribu- propagation of an epidemic [13–15].
    [Show full text]
  • Enumeration of Unlabeled Graph Classes a Study of Tree Decompositions and Related Approaches
    Enumeration of unlabeled graph classes A study of tree decompositions and related approaches Jessica Shi Advisor: Jérémie Lumbroso Independent Work Report Fall, 2015 Abstract In this paper, we study the enumeration of certain classes of graphs that can be fully charac- terized by tree decompositions; these classes are particularly significant due to the algorithmic improvements derived from tree decompositions on classically NP-complete problems on these classes [12, 7, 17, 35]. Previously, Chauve et al. [6] and Iriza [26] constructed grammars from the split decomposition trees of distance hereditary graphs and 3-leaf power graphs. We extend upon these results to obtain an upper bound grammar for parity graphs. Also, Nakano et al. [25] used the vertex incremental characterization of distance hereditary graphs to obtain upper bounds. We constructively enumerate (6;2)-chordal bipartite graphs, (C5, bull, gem, co-gem)-free graphs, and parity graphs using their vertex incremental characterization and extend upon Nakano et al.’s results to analytically obtain upper bounds of O7n and O11n for (6;2)-chordal bipartite graphs and (C5, bull, gem, co-gem)-free graphs respectively. 1. Introduction 1.1. Context The technique of decomposing graphs into trees has been an object of significant interest due to its applications on classical problems in graph theory. Indeed, many graph theoretic problems are inherently difficult due to the lack of recursive structure in graphs, and recursion has historically offered efficient solutions to challenging problems. In this sense, classifying graphs in terms of trees is of particular interest, since it associates a recursive structure to these graphs.
    [Show full text]
  • Dominator Tree Certification and Independent Spanning Trees
    Dominator Tree Certification and Independent Spanning Trees∗ Loukas Georgiadis1 Robert E. Tarjan2 October 29, 2018 Abstract How does one verify that the output of a complicated program is correct? One can formally prove that the program is correct, but this may be beyond the power of existing methods. Alternatively one can check that the output produced for a particular input satisfies the desired input-output relation, by running a checker on the input-output pair. Then one only needs to prove the correctness of the checker. But for some problems even such a checker may be too complicated to formally verify. There is a third alternative: augment the original program to produce not only an output but also a correctness certificate, with the property that a very simple program (whose correctness is easy to prove) can use the certificate to verify that the input-output pair satisfies the desired input-output relation. We consider the following important instance of this general question: How does one verify that the dominator tree of a flow graph is correct? Existing fast algorithms for finding dominators are complicated, and even verifying the correctness of a dominator tree in the absence of additional information seems complicated. We define a correctness certificate for a dominator tree, show how to use it to easily verify the correctness of the tree, and show how to augment fast dominator-finding algorithms so that they produce a correctness certificate. We also relate the dominator certificate problem to the problem of finding independent spanning trees in a flow graph, and we develop algorithms to find such trees.
    [Show full text]
  • Graph Automorphism Groups
    Graph Automorphism Groups Robert A. Beeler, Ph.D. East Tennessee State University February 23, 2018 Robert A. Beeler, Ph.D. (East Tennessee State University)Graph Automorphism Groups February 23, 2018 1 / 1 What is a graph? A graph G =(V , E) is a set of vertices, V , together with as set of edges, E. For our purposes, each edge will be an unordered pair of distinct vertices. a e b d c V (G)= {a, b, c, d, e} E(G)= {ab, ae, bc, be, cd, de} Robert A. Beeler, Ph.D. (East Tennessee State University)Graph Automorphism Groups February 23, 2018 2 / 1 Graph Automorphisms A graph automorphism is simply an isomorphism from a graph to itself. In other words, an automorphism on a graph G is a bijection φ : V (G) → V (G) such that uv ∈ E(G) if and only if φ(u)φ(v) ∈ E(G). Note that graph automorphisms preserve adjacency. In layman terms, a graph automorphism is a symmetry of the graph. Robert A. Beeler, Ph.D. (East Tennessee State University)Graph Automorphism Groups February 23, 2018 3 / 1 An Example Consider the following graph: a d b c Robert A. Beeler, Ph.D. (East Tennessee State University)Graph Automorphism Groups February 23, 2018 4 / 1 An Example (Part 2) One automorphism simply maps every vertex to itself. This is the identity automorphism. a a d b d b c 7→ c e =(a)(b)(c)(d) Robert A. Beeler, Ph.D. (East Tennessee State University)Graph Automorphism Groups February 23, 2018 5 / 1 An Example (Part 3) One automorphism switches vertices a and c.
    [Show full text]
  • The Hitchhiker's Guide to Graph Exchange Formats
    The Hitchhiker’s Guide to Graph Exchange Formats Prof. Matthew Roughan [email protected] http://www.maths.adelaide.edu.au/matthew.roughan/ Work with Jono Tuke UoA June 4, 2015 M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 1 / 31 Graphs Graph: G(N; E) I N = set of nodes (vertices) I E = set of edges (links) Often we have additional information, e.g., I link distance I node type I graph name M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 2 / 31 Why? To represent data where “connections” are 1st class objects in their own right I storing the data in the right format improves access, processing, ... I it’s natural, elegant, efficient, ... Many, many datasets M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 3 / 31 ISPs: Internode: layer 3 http: //www.internode.on.net/pdf/network/internode-domestic-ip-network.pdf M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 4 / 31 ISPs: Level 3 (NA) http://www.fiberco.org/images/Level3-Metro-Fiber-Map4.jpg M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 5 / 31 Telegraph submarine cables http://en.wikipedia.org/wiki/File:1901_Eastern_Telegraph_cables.png M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 6 / 31 Electricity grid M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 7 / 31 Bus network (Adelaide CBD) M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 8 / 31 French Rail http://www.alleuroperail.com/europe-map-railways.htm M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 9 / 31 Protocol relationships M.Roughan (UoA) Hitch Hikers Guide June 4, 2015 10 / 31 Food web M.Roughan (UoA) Hitch Hikers
    [Show full text]
  • Maker-Breaker Total Domination Game Valentin Gledel, Michael A
    Maker-Breaker total domination game Valentin Gledel, Michael A. Henning, Vesna Iršič, Sandi Klavžar To cite this version: Valentin Gledel, Michael A. Henning, Vesna Iršič, Sandi Klavžar. Maker-Breaker total domination game. 2019. hal-02021678 HAL Id: hal-02021678 https://hal.archives-ouvertes.fr/hal-02021678 Preprint submitted on 16 Feb 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Maker-Breaker total domination game Valentin Gledel a Michael A. Henning b Vesna Irˇsiˇc c;d Sandi Klavˇzar c;d;e January 31, 2019 a Univ Lyon, Universit´eLyon 1, LIRIS UMR CNRS 5205, F-69621, Lyon, France [email protected] b Department of Pure and Applied Mathematics, University of Johannesburg, Auckland Park 2006, South Africa [email protected] c Faculty of Mathematics and Physics, University of Ljubljana, Slovenia [email protected] [email protected] d Institute of Mathematics, Physics and Mechanics, Ljubljana, Slovenia e Faculty of Natural Sciences and Mathematics, University of Maribor, Slovenia Abstract Maker-Breaker total domination game in graphs is introduced as a natu- ral counterpart to the Maker-Breaker domination game recently studied by Duch^ene,Gledel, Parreau, and Renault.
    [Show full text]