Graph Databases in Action MEAP

Total Page:16

File Type:pdf, Size:1020Kb

Graph Databases in Action MEAP MEAP Edition Manning Early Access Program Graph Databases in Action Version 1 Copyright 2019 Manning Publications For more information on this and other Manning titles go to manning.com ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/graph-databases-in-action welcome Thank you for purchasing the MEAP for Graph Databases in Action. Though cliché, the motivation behind this book is to write the book that I wish had existed when I started working with graph databases. Though there is a large amount of information available on the web about graph databases, it tends to be either very rudimentary or extremely advanced. What’s lacking is information to help people go from just getting started with graph databases to being proficient in the practical aspects of building applications with them. This is the void that I am looking to fill with this book. My approach to teaching graph databases is to draw on the familiar concepts of relational databases for comparison, so having a background in data modeling and querying relational databases is suggested. To make the most of this book you will also need to be familiar with building out Java applications on top of relational database systems. In this book you will gain an understanding of how graph databases work, how they differ from relational databases, and how to use them to develop applications. You’ll learn the fundamentals of graph databases by following along as we build a fictitious graph-based application called GluttonApp. The book is divided into three parts. Part 1 explains what a graph database is, when to use one, and what the ecosystem of graph database options looks like. It also covers the fundamental principles of graph data modeling in action, as we apply them to our sample application. In Part 2, you will learn how to query a graph database and build a basic Java application using a TinkerPop-enabled graph database named Tinkergraph. Part 3 will move us to some more advanced concepts of graph databases such as performance tuning and application pitfalls and anti-patterns. My goal in this book is to remain vendor agnostic in the concepts and techniques, so you can easily transfer the skills you learn here to a variety of popular databases when you actually go to put your application into production. To build out the application, I decided to go with the Apache TinkerPop project, due to its widest adoption amongst database vendors, including AWS and Azure, as well as its open source in-memory database, Tinkergraph, which we will use throughout the book. If you have any questions, comments, or suggestions, please share them in Manning’s Author Online forum for my book. —Dave Bechberger ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/graph-databases-in-action brief contents PART 1: GETTING STARTED WITH GRAPH DATABASES 1 What is a Graph and what can I do with it? 2 Do I have a Graph problem? 3 Graph Data Modeling 4 Data modeling in practice PART 2: BUILDING ON GRAPH DATABASES 5 Querying Graph databases 6 Developing our application in Java 7 Beyond basic querying PART 2: MOVING BEYOND THE BASICS 8 Performance tuning our application 9 Graph pitfalls and anti-patterns 10 Graph analytics for non-Graph people APPENDIXES: A Apache TinkerPop installation and overview B Gremlin steps cheatsheet C An overview of property model graph databases and tools ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/graph-databases-in-action 1 1 What is a Graph and What Can it Do? This chapter covers • What graph databases are and why you want to use them to solve highly connected data problems • How graph databases compare to relational and NoSQL databases • Introduction to “just enough” graph theory and terminology to get started In May of 2016, a massive leak of over 11 million documents, measuring ~2.6 terabytes of data, was released by the International Consortium for Investigative Journalists (ICIJ) (https://www.icij.org/investigations/panama-papers/), in what has become known as the Panama Papers. This release was a coordinated effort between journalists in nearly 80 countries to examine and connect information on approximately 200,000+ secret offshore companies based in Panama. (https://www.icij.org/investigations/panama- papers/pages/panama-papers-about-the-investigation/) Their investigation led to the naming of many celebrities, politicians, and their families as potentially using offshore bank accounts to hide their fortunes. Due to the sheer volume, the number of records, and highly connected nature of the data, the ICIJ decided to use a graph database named Neo4j to handle and coordinate the distributed efforts to connect the various pieces of data. Why would you choose to use a graph database over a more standard tool, such as a relational database to answer these sorts of questions? Graph databases are the only option when trying to make sense of the vast terabytes of connected data that we are producing more and more of, and are an essential tool for international agencies, governments, financial services, and security firms trying to uncover the truth. Emil Eifrem – CEO Neo4j Inc. in reference to the Panama Papers ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/graph-databases-in-action 2 In other words, Mr. Eifrem's quote above references the fundamental power of graph databases: to show the richness of highly interconnected data in a manner that is unavailable with other types of databases. Graphs and graph databases are powerful tools that enable us to better understand real-world problems that deal with highly connected data such as social networking, search, infrastructure management, recommendation engines, or in the case of the Panama Papers, fraud detection. The fundamental driving factors for this book are to empower you as the reader to leverage graph databases as a tool to build applications. Throughout this book, we will examine how graphs, and graph databases, provide the end user with a tremendous amount of additional power to navigate and explore data in ways that cannot be accomplished easily within a traditional relational database. We will achieve this goal by walking through the process of building a fictitious application, which we will call GluttonApp. GluttonApp is an application that provides personalized restaurant reviews, similar to Yelp. This application will also allow you to connect with your friends and develop a social network, similar to Facebook or Twitter. Finally, the app will use your friends' ratings to personalize your restaurant recommendations based on their restaurant reviews. Each chapter will comprise a step the software development process and will build upon the previous chapters work on GluttonApp. By the end of this book, we will have created a functioning application on a graph database using the skills learned along the way. In this chapter, we begin our journey by gaining an understanding of what graphs and graph databases are and how they compare with traditional tools, such as relational and document databases. 1.1 What are Graph Databases? Graph databases are a type of database that uses graph structures, specifically vertices (also called nodes) and edges, to store and query complex data. Figure 1.1 A Simple Graph showing a Vertex and an Edge ©Manning Publications Co. We welcome reader comments about anything in the manuscript - other than typos and other simple mistakes. These will be cleaned up during production of the book by copyeditors and proofreaders. https://forums.manning.com/forums/graph-databases-in-action 3 These databases combine these basic graph structures with the fundamental constructs of graph theory to provide a database that facilitates fast and straightforward retrieval of complex data and relationships. In this section, we will introduce what a graph is and how they fundamentally differ from relational databases. 1.1.1 What is a Graph and Why Use one? A graph is a mathematical construct used to model relationships between items. It provides an abstract method for connecting objects and representing the relationships between them. In the figure below, we see a small social network graph where the people (items) appear as vertices (circles) and the relationships are represented by the lines connecting them, known as edges. Figure 1.2 A small social network graph It is human nature to attempt to view systems of interconnected entities in the real world as graphs. When thinking about a set of data which contains a vast array of highly interconnected items, such as the Panama Papers, it is a natural tendency to analyze and describe them as a web of interconnected things, which reflect another way to describe a graph. In the real-world, items are related to other items in rich and varying ways, which are not well represented by the uniform and rigid structure of columns, rows, and tables used by relational databases. In the figure below, we visualize the business connections of the family members of Syrian President Bashar Al Assad (https://www.icij.org/investigations/panama- papers/the-power-players/).
Recommended publications
  • 1. Directed Graphs Or Quivers What Is Category Theory? • Graph Theory on Steroids • Comic Book Mathematics • Abstract Nonsense • the Secret Dictionary
    1. Directed graphs or quivers What is category theory? • Graph theory on steroids • Comic book mathematics • Abstract nonsense • The secret dictionary Sets and classes: For S = fX j X2 = Xg, have S 2 S , S2 = S Directed graph or quiver: C = (C0;C1;@0 : C1 ! C0;@1 : C1 ! C0) Class C0 of objects, vertices, points, . Class C1 of morphisms, (directed) edges, arrows, . For x; y 2 C0, write C(x; y) := ff 2 C1 j @0f = x; @1f = yg f 2C1 tail, domain / @0f / @1f o head, codomain op Opposite or dual graph of C = (C0;C1;@0;@1) is C = (C0;C1;@1;@0) Graph homomorphism F : D ! C has object part F0 : D0 ! C0 and morphism part F1 : D1 ! C1 with @i ◦ F1(f) = F0 ◦ @i(f) for i = 0; 1. Graph isomorphism has bijective object and morphism parts. Poset (X; ≤): set X with reflexive, antisymmetric, transitive order ≤ Hasse diagram of poset (X; ≤): x ! y if y covers x, i.e., x 6= y and [x; y] = fx; yg, so x ≤ z ≤ y ) z = x or z = y. Hasse diagram of (N; ≤) is 0 / 1 / 2 / 3 / ::: Hasse diagram of (f1; 2; 3; 6g; j ) is 3 / 6 O O 1 / 2 1 2 2. Categories Category: Quiver C = (C0;C1;@0 : C1 ! C0;@1 : C1 ! C0) with: • composition: 8 x; y; z 2 C0 ; C(x; y) × C(y; z) ! C(x; z); (f; g) 7! g ◦ f • satisfying associativity: 8 x; y; z; t 2 C0 ; 8 (f; g; h) 2 C(x; y) × C(y; z) × C(z; t) ; h ◦ (g ◦ f) = (h ◦ g) ◦ f y iS qq <SSSS g qq << SSS f qqq h◦g < SSSS qq << SSS qq g◦f < SSS xqq << SS z Vo VV < x VVVV << VVVV < VVVV << h VVVV < h◦(g◦f)=(h◦g)◦f VVVV < VVV+ t • identities: 8 x; y; z 2 C0 ; 9 1y 2 C(y; y) : 8 f 2 C(x; y) ; 1y ◦ f = f and 8 g 2 C(y; z) ; g ◦ 1y = g f y o x MM MM 1y g MM MMM f MMM M& zo g y Example: N0 = fxg ; N1 = N ; 1x = 0 ; 8 m; n 2 N ; n◦m = m+n ; | one object, lots of arrows [monoid of natural numbers under addition] 4 x / x Equation: 3 + 5 = 4 + 4 Commuting diagram: 3 4 x / x 5 ( 1 if m ≤ n; Example: N1 = N ; 8 m; n 2 N ; jN(m; n)j = 0 otherwise | lots of objects, lots of arrows [poset (N; ≤) as a category] These two examples are small categories: have a set of morphisms.
    [Show full text]
  • Graph Theory
    1 Graph Theory “Begin at the beginning,” the King said, gravely, “and go on till you come to the end; then stop.” — Lewis Carroll, Alice in Wonderland The Pregolya River passes through a city once known as K¨onigsberg. In the 1700s seven bridges were situated across this river in a manner similar to what you see in Figure 1.1. The city’s residents enjoyed strolling on these bridges, but, as hard as they tried, no residentof the city was ever able to walk a route that crossed each of these bridges exactly once. The Swiss mathematician Leonhard Euler learned of this frustrating phenomenon, and in 1736 he wrote an article [98] about it. His work on the “K¨onigsberg Bridge Problem” is considered by many to be the beginning of the field of graph theory. FIGURE 1.1. The bridges in K¨onigsberg. J.M. Harris et al., Combinatorics and Graph Theory , DOI: 10.1007/978-0-387-79711-3 1, °c Springer Science+Business Media, LLC 2008 2 1. Graph Theory At first, the usefulness of Euler’s ideas and of “graph theory” itself was found only in solving puzzles and in analyzing games and other recreations. In the mid 1800s, however, people began to realize that graphs could be used to model many things that were of interest in society. For instance, the “Four Color Map Conjec- ture,” introduced by DeMorgan in 1852, was a famous problem that was seem- ingly unrelated to graph theory. The conjecture stated that four is the maximum number of colors required to color any map where bordering regions are colored differently.
    [Show full text]
  • An Application of Graph Theory in Markov Chains Reliability Analysis
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by DSpace at VSB Technical University of Ostrava STATISTICS VOLUME: 12 j NUMBER: 2 j 2014 j JUNE An Application of Graph Theory in Markov Chains Reliability Analysis Pavel SKALNY Department of Applied Mathematics, Faculty of Electrical Engineering and Computer Science, VSB–Technical University of Ostrava, 17. listopadu 15/2172, 708 33 Ostrava-Poruba, Czech Republic [email protected] Abstract. The paper presents reliability analysis which the production will be equal or greater than the indus- was realized for an industrial company. The aim of the trial partner demand. To deal with the task a Monte paper is to present the usage of discrete time Markov Carlo simulation of Discrete time Markov chains was chains and the flow in network approach. Discrete used. Markov chains a well-known method of stochastic mod- The goal of this paper is to present the Discrete time elling describes the issue. The method is suitable for Markov chain analysis realized on the system, which is many systems occurring in practice where we can easily not distributed in parallel. Since the analysed process distinguish various amount of states. Markov chains is more complicated the graph theory approach seems are used to describe transitions between the states of to be an appropriate tool. the process. The industrial process is described as a graph network. The maximal flow in the network cor- Graph theory has previously been applied to relia- responds to the production. The Ford-Fulkerson algo- bility, but for different purposes than we intend.
    [Show full text]
  • Graph Algorithms in Bioinformatics an Introduction to Bioinformatics Algorithms Outline
    An Introduction to Bioinformatics Algorithms www.bioalgorithms.info Graph Algorithms in Bioinformatics An Introduction to Bioinformatics Algorithms www.bioalgorithms.info Outline 1. Introduction to Graph Theory 2. The Hamiltonian & Eulerian Cycle Problems 3. Basic Biological Applications of Graph Theory 4. DNA Sequencing 5. Shortest Superstring & Traveling Salesman Problems 6. Sequencing by Hybridization 7. Fragment Assembly & Repeats in DNA 8. Fragment Assembly Algorithms An Introduction to Bioinformatics Algorithms www.bioalgorithms.info Section 1: Introduction to Graph Theory An Introduction to Bioinformatics Algorithms www.bioalgorithms.info Knight Tours • Knight Tour Problem: Given an 8 x 8 chessboard, is it possible to find a path for a knight that visits every square exactly once and returns to its starting square? • Note: In chess, a knight may move only by jumping two spaces in one direction, followed by a jump one space in a perpendicular direction. http://www.chess-poster.com/english/laws_of_chess.htm An Introduction to Bioinformatics Algorithms www.bioalgorithms.info 9th Century: Knight Tours Discovered An Introduction to Bioinformatics Algorithms www.bioalgorithms.info 18th Century: N x N Knight Tour Problem • 1759: Berlin Academy of Sciences proposes a 4000 francs prize for the solution of the more general problem of finding a knight tour on an N x N chessboard. • 1766: The problem is solved by Leonhard Euler (pronounced “Oiler”). • The prize was never awarded since Euler was Director of Mathematics at Berlin Academy and was deemed ineligible. Leonhard Euler http://commons.wikimedia.org/wiki/File:Leonhard_Euler_by_Handmann.png An Introduction to Bioinformatics Algorithms www.bioalgorithms.info Introduction to Graph Theory • A graph is a collection (V, E) of two sets: • V is simply a set of objects, which we call the vertices of G.
    [Show full text]
  • Graph Theory Approach to the Vulnerability of Transportation Networks
    algorithms Article Graph Theory Approach to the Vulnerability of Transportation Networks Sambor Guze Department of Mathematics, Gdynia Maritime University, 81-225 Gdynia, Poland; [email protected]; Tel.: +48-608-034-109 Received: 24 November 2019; Accepted: 10 December 2019; Published: 12 December 2019 Abstract: Nowadays, transport is the basis for the functioning of national, continental, and global economies. Thus, many governments recognize it as a critical element in ensuring the daily existence of societies in their countries. Those responsible for the proper operation of the transport sector must have the right tools to model, analyze, and optimize its elements. One of the most critical problems is the need to prevent bottlenecks in transport networks. Thus, the main aim of the article was to define the parameters characterizing the transportation network vulnerability and select algorithms to support their search. The parameters proposed are based on characteristics related to domination in graph theory. The domination, edge-domination concepts, and related topics, such as bondage-connected and weighted bondage-connected numbers, were applied as the tools for searching and identifying the bottlenecks in transportation networks. Furthermore, the algorithms for finding the minimal dominating set and minimal (maximal) weighted dominating sets are proposed. This way, the exemplary academic transportation network was analyzed in two cases: stationary and dynamic. Some conclusions are presented. The main one is the fact that the methods given in this article are universal and applicable to both small and large-scale networks. Moreover, the approach can support the dynamic analysis of bottlenecks in transport networks. Keywords: vulnerability; domination; edge-domination; transportation networks; bondage-connected number; weighted bondage-connected number 1.
    [Show full text]
  • Graph Theory: Network Flow
    University of Washington Math 336 Term Paper Graph Theory: Network Flow Author: Adviser: Elliott Brossard Dr. James Morrow 3 June 2010 Contents 1 Introduction ...................................... 2 2 Terminology ...................................... 2 3 Shortest Path Problem ............................... 3 3.1 Dijkstra’sAlgorithm .............................. 4 3.2 ExampleUsingDijkstra’sAlgorithm . ... 5 3.3 TheCorrectnessofDijkstra’sAlgorithm . ...... 7 3.3.1 Lemma(TriangleInequalityforGraphs) . .... 8 3.3.2 Lemma(Upper-BoundProperty) . 8 3.3.3 Lemma................................... 8 3.3.4 Lemma................................... 9 3.3.5 Lemma(ConvergenceProperty) . 9 3.3.6 Theorem (Correctness of Dijkstra’s Algorithm) . ....... 9 4 Maximum Flow Problem .............................. 10 4.1 Terminology.................................... 10 4.2 StatementoftheMaximumFlowProblem . ... 12 4.3 Ford-FulkersonAlgorithm . .. 12 4.4 Example Using the Ford-Fulkerson Algorithm . ..... 13 4.5 The Correctness of the Ford-Fulkerson Algorithm . ........ 16 4.5.1 Lemma................................... 16 4.5.2 Lemma................................... 16 4.5.3 Lemma................................... 17 4.5.4 Lemma................................... 18 4.5.5 Lemma................................... 18 4.5.6 Lemma................................... 18 4.5.7 Theorem(Max-FlowMin-CutTheorem) . 18 5 Conclusion ....................................... 19 1 1 Introduction An important study in the field of computer science is the analysis of networks. Internet service providers (ISPs), cell-phone companies, search engines, e-commerce sites, and a va- riety of other businesses receive, process, store, and transmit gigabytes, terabytes, or even petabytes of data each day. When a user initiates a connection to one of these services, he sends data across a wired or wireless network to a router, modem, server, cell tower, or perhaps some other device that in turn forwards the information to another router, modem, etc. and so forth until it reaches its destination.
    [Show full text]
  • Combinatorics and Graph Theory I (Math 688)
    Combinatorics and Graph Theory I (Math 688). Problems and Solutions. May 17, 2006 PREFACE Most of the problems in this document are the problems suggested as home- work in a graduate course Combinatorics and Graph Theory I (Math 688) taught by me at the University of Delaware in Fall, 2000. Later I added several more problems and solutions. Most of the solutions were prepared by me, but some are based on the ones given by students from the class, and from subsequent classes. I tried to acknowledge all those, and I apologize in advance if I missed someone. The course focused on Enumeration and Matching Theory. Many problems related to enumeration are taken from a 1984-85 course given by Herbert S. Wilf at the University of Pennsylvania. I would like to thank all students who took the course. Their friendly criti- cism and questions motivated some of the problems. I am especially thankful to Frank Fiedler and David Kravitz. To Frank – for sharing with me LaTeX files of his solutions and allowing me to use them. I did it several times. To David – for the technical help with the preparation of this version. Hopefully all solutions included in this document are correct, but the whole set is by no means polished. I will appreciate all comments. Please send them to [email protected]. – Felix Lazebnik 1 Problem 1. In how many 4–digit numbers abcd (a, b, c, d are the digits, a 6= 0) (i) a < b < c < d? (ii) a > b > c > d? Solution. (i) Notice that there exists a bijection between the set of our numbers and the set of all 4–subsets of the set {1, 2,..., 9}.
    [Show full text]
  • Characterizing Levels of Reasoning in Graph Theory
    EURASIA Journal of Mathematics, Science and Technology Education, 2021, 17(8), em1990 ISSN:1305-8223 (online) OPEN ACCESS Research Paper https://doi.org/10.29333/ejmste/11020 Characterizing Levels of Reasoning in Graph Theory Antonio González 1*, Inés Gallego-Sánchez 1, José María Gavilán-Izquierdo 1, María Luz Puertas 2 1 Department of Didactics of Mathematics, Universidad de Sevilla, SPAIN 2 Department of Mathematics, Universidad de Almería, SPAIN Received 5 February 2021 ▪ Accepted 8 April 2021 Abstract This work provides a characterization of the learning of graph theory through the lens of the van Hiele model. For this purpose, we perform a theoretical analysis structured through the processes of reasoning that students activate when solving graph theory problems: recognition, use and formulation of definitions, classification, and proof. We thus obtain four levels of reasoning: an initial level of visual character in which students perceive graphs as a whole; a second level, analytical in nature in which students distinguish parts and properties of graphs; a pre-formal level in which students can interrelate properties; and a formal level in which graphs are handled as abstract mathematical objects. Our results, which are supported by a review of the literature on the teaching and learning of graph theory, might be very helpful to design efficient data collection instruments for empirical studies aiming to analyze students’ thinking in this field of mathematics. Keywords: levels of reasoning, van Hiele model, processes of reasoning, graph theory disciplines: chemistry (Bruckler & Stilinović, 2008), INTRODUCTION physics (Toscano, Stella, & Milotti, 2015), or computer The community of researchers in mathematics science (Kasyanov, 2001).
    [Show full text]
  • Combinatorics
    Combinatorics Introduction to graph theory Misha Lavrov ARML Practice 11/03/2013 Warm-up 1. How many (unordered) poker hands contain 3 or more aces? 2. 10-digit ISBN codes end in a \check digit": a number 0{9 or the letter X, calculated from the other 9 digits. If a typo is made in a single digit of the code, this can be detected by checking this calculation. Prove that a check digit in the range 1{9 couldn't achieve this goal. 16 3. There are 8 ways to go from (0; 0) to (8; 8) in steps of (0; +1) or (+1; 0). (Do you remember why?) How many of these paths avoid (2; 2), (4; 4), and (6; 6)? You don't have to simplify the expression you get. Warm-up Solutions 4 48 4 48 1. There are 3 · 2 hands with 3 aces, and 4 · 1 hands with 4 aces, for a total of 4560. 2. There are 109 possible ISBN codes (9 digits, which uniquely determine the check digit). If the last digit were in the range 1{9, there would be 9 · 108 possibilities for the last 9 digits. By pigeonhole, two ISBN codes would agree on the last 9 digits, so they'd only differ in the first digit, and an error in that digit couldn't be detected. 3. We use the inclusion-exclusion principle. (Note that there are, 4 12 e.g., 2 · 6 paths from (0; 0) to (8; 8) through (2; 2).) This gives us 16 412 82 428 44 − 2 − + 3 − = 3146: 8 2 6 4 2 4 2 Graphs Definitions A graph is a set of vertices, some of which are joined by edges.
    [Show full text]
  • Combinatorics: a First Encounter
    Combinatorics: a first encounter Darij Grinberg Thursday 10th January, 2019at 9:29pm (unfinished draft!) Contents 1. Preface1 1.1. Acknowledgments . .4 2. What is combinatorics?4 2.1. Notations and conventions . .4 1. Preface These notes (which are work in progress and will remain so for the foreseeable fu- ture) are meant as an introduction to combinatorics – the mathematical discipline that studies finite sets (roughly speaking). When finished, they will cover topics such as binomial coefficients, the principles of enumeration, permutations, parti- tions and graphs. The emphasis falls on enumerative combinatorics, meaning the art of computing sizes of finite sets (“counting”), and graph theory. I have tried to keep the presentation as self-contained and elementary as possible. The reader is assumed to be familiar with some basics such as induction proofs, equivalence relations and summation signs, as well as have some experience with mathematical proofs. One of the best places to catch up on these basics and to gain said experience is the MIT lecture notes [LeLeMe16] (particularly their first five chapters). Two other resources to familiarize oneself with proofs are [Hammac15] and [Day16]. Generally, most good books about “reading and writing mathemat- ics” or “introductions to abstract mathematics” should convey these skills, although the extent to which they actually do so may differ. These notes are accompanying two classes on combinatorics (Math 4707 and 4990) I am giving at the University of Minneapolis in Fall 2017. Here is a (subjective and somewhat random) list of recommended texts on the kinds of combinatorics that will be considered in these notes: • Enumerative combinatorics (aka counting): 1 Notes on graph theory (Thursday 10th January, 2019, 9:29pm) page 2 – The very basics of the subject can be found in [LeLeMe16, Chapters 14– 15].
    [Show full text]
  • Graph Theoretical Calculation of Systems Reliability with Semi-Markov Processes
    EIR-BerichtNr.522 Eidg. Institut fur Reaktorforschung Wurenlingen Schweiz Graph theoretical calculation of systems reliability with semi-Markov processes U.Widmer Wr WurenMngen, Juni 1984 EIR-BERICHT NR. 522 GRAPH THEORETICAL CALCULATION OF SYSTEMS RELIABILITY WITH SEMI-MARKOV PROCESSES U, WIDMER - 1 - Abstract The determination of the state probabilities and related quantities of a system characterized by an SMP (or a homogeneous MP) can be performed by means of graph-theoretical methods. The calculation procedures for semi-Markov processes based on signal flow graphs are reviewed. Some methods from electrotechnics are adapted in order to obtain a representation of the state probabilities by means of trees. From this some formulas are derived for the asymptotic state probabilities and for the mean life-time in reliability considerations. - 2 - Table of contents Page 1. Introduction 3 2. Graphs k 3. Semi-Markov processes 9 h. Topological formulas based on cycles Ik 5. Topological formulas based on trees 17 6. Topological formulas for reliability determination 23 7. An example 32 References 36 - 3 - 1. Introduction The evaluation of the reliability of technical systems is frequently based on the theory of Markov Processes (MP). More recently also semi- Markov processes (SMP) have been considered as a possible extension of the MP /l - h/. In several cases, they allow a more realistic description of the systems evolution in time. Important quantities characterizing the reliability of a system following an SMP are the state probabilities (as functions of time), their asymptotic values and the mean life-time. With each given SMP a directed graph is defined with points and arrows representing the states and the transition probabilities (densities) re­ spectively.
    [Show full text]
  • On Sets Forming Boolean Algebras and Partite Hypergraphs
    On sets forming Boolean algebras and partite hypergraphs D. S. Gunderson V. R¨odl Bielefeld, Germany Emory University, Atlanta A. Sidorenko Courant Institute, New York Abstract Three classes of finite structures are related by extremal properties: d-partite hypergraphs, d-dimensional affine cubes of integers, and families of 2d sets forming a d-dimensional Boolean algebra. We review extremal results for each of these classes and derive new ones for Boolean algebras and hypergraphs, many obtained by employing relationships between the three classes. The similarity in bounds for extremal problems in different classes is remarkable. 1 Introduction The original purpose of our research was to determine extremal results for Boolean algebras of sets. We employed theorems and techniques from two other areas, extremal aspects of d-partite d-uniform hypergraphs, and some old, some- what hard questions concerning integers. We review some of the facts used about integers, and develop extremal results for Boolean algebras and hypergraphs. Each area contains many interesting open questions, solutions to some of which would immediately yield improvements in each of the other two. In this introduction, we outline the results in this paper. In the next section on hypergraphs, we establish some statements for later employment in theorems for both affine cubes and for Boolean algebras, and briefly survey some related facts. Of independent interest, new upper bounds for extremal numbers for par- tite hypergraphs are proved using a technique involving affine spaces. Section 3 outlines known related results concerning integers, some obtained by hyper- graph proofs, some of which are used later for extremal problems on Boolean algebras.
    [Show full text]