15.08.2015 Views

Introduction to the Modeling and Analysis of Complex Systems

introduction-to-the-modeling-and-analysis-of-complex-systems-sayama-pdf

introduction-to-the-modeling-and-analysis-of-complex-systems-sayama-pdf

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

15.3. CONSTRUCTING NETWORK MODELS WITH NETWORKX 303Multigraph A graph that may contain multiple edges. Many ma<strong>the</strong>maticians alsoallow multigraphs <strong>to</strong> contain self-loops. Multigraphs can be undirected or directed.Hyperedge A generalized concept <strong>of</strong> an edge that can connect any number <strong>of</strong> nodesat once, not just two. A graph made <strong>of</strong> hyperedges is called a hypergraph (notcovered in this textbook).According <strong>to</strong> <strong>the</strong>se taxonomies, all <strong>the</strong> examples shown in Fig. 15.2 are simple graphs.But many real-world networks can <strong>and</strong> should be modeled using directed, weighted,<strong>and</strong>/or multiple edges.Exercise 15.5 Discuss which type <strong>of</strong> graph should be used <strong>to</strong> model each <strong>of</strong> <strong>the</strong>following networks. Make sure <strong>to</strong> consider (a) edge directedness, (b) presence <strong>of</strong>edge weights, (c) possibility <strong>of</strong> multiple edges/self-loops, (d) possibility <strong>of</strong> connectionsamong three or more nodes, <strong>and</strong> so on.• Family trees/genealogies• Food webs among species• Roads <strong>and</strong> intersections• Web pages <strong>and</strong> links among <strong>the</strong>m• Friendships among people• Marriages/sexual relationships• College applications submitted by high school students• Email exchanges among coworkers• Social media (Facebook, Twitter, Instagram, etc.)15.3 Constructing Network Models with NetworkXNow that we have finished <strong>the</strong> above crash course on graph <strong>the</strong>oretic terminologies, it istime <strong>to</strong> begin with computational modeling <strong>of</strong> networks. As briefly previewed in Sections5.4 <strong>and</strong> 12.2, <strong>the</strong>re is a wonderful Python module called NetworkX [27] for network modeling<strong>and</strong> analysis. It is a free network analysis <strong>to</strong>olkit widely used by network researchers.If you are using Anaconda, NetworkX is already installed. If you are using Enthought

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!