SQL Saturday Cork Welcome to Cork. SQL Server 2017 Graph feature

Size: px
Start display at page:

Download "SQL Saturday Cork Welcome to Cork. SQL Server 2017 Graph feature"

Transcription

1 SQL Saturday Cork Welcome to Cork SQL Server 2017 Graph feature 1

2 About me Rudi Bruchez 2

3 Agenda What are graphs anyway? Graph databases and SQL Server What you cannot do 3

4 What are graphs anyway? 4

5 Graph theory Discrete mathematics Discrete vs continous Finite mathematics E.g. Integers Graphs Statements in logic svg 5

6 Graphs a set of objects in which some pairs of the objects are in some sense "related A lot of problems and algorithms can be modeled as graphs 6

7 History of graph theory Seven Bridges of Königsberg, 1736 The city of Königsberg in Prussia (now Kaliningrad, Russia) was set on both sides of the Pregel River, and included two large islands which were connected to each other, or to the two mainland portions of the city, by seven bridges. The problem was to devise a walk through the city that would cross each of those bridges once and only once. By way of specifying the logical task unambiguously, solutions involving either - reaching an island or mainland bank other than via one of the bridges, or - accessing any bridge without crossing to its other end are explicitly unacceptable. Euler proved that the problem has no solution. The difficulty he faced was the development of a suitable technique of analysis, and of subsequent tests that established this assertion with mathematical rigor. 7

8 History of graph theory Seven Bridges of Königsberg, Euler pointed out that the choice of route inside each land mass is irrelevant. The only important feature of a route is the sequence of bridges crossed. This allowed him to reformulate the problem in abstract terms (laying the foundations of graph theory), eliminating all features except the list of land masses and the bridges connecting them. In modern terms, one replaces each land mass with an abstract "vertex" or node, and each bridge with an abstract connection, an "edge", which only serves to record which pair of vertices (land masses) is connected by that bridge. The resulting mathematical structure is called a graph. 8

9 node / vertex (vertices) 9

10 Edge / arc 10

11 Undirected Directed an undirected graph consists of a set of vertices and a set of edges (unordered pairs of vertices) a directed graph consists of a set of vertices and a set of arcs (ordered pairs of vertices). 11

12 Property graph A graph database is a directed property graph 1 2 Type: enemy Name: Doctor Who Age: 953 Name: Dalek A property graph contains connected entities (the nodes) which can hold any number of attributes (key-value-pairs) 12

13 Degree (valency) Number of edges reaching the vertex the degree (or valency) of a vertex of a graph is the number of edges incident to the vertex, with loops counted twice. 13

14 Adjacent vs incident 1 2 Adjacent to 2 Edge A Incident to 1 and 2 Adjacent to 1 Two vertices are called adjacent if they are connected by an edge. Two edges are called incident, if they share a vertex. Also, a vertex and an edge are called incident, if the vertex is one of the two vertices the edge connects. 14

15 What kind of graphs? 15

16 An example: a soft song W D F K 16

17 An example: a soft song FWDK * FWD * K FWK * D FDK * W FW * DK Direction DK * FW K * FWD W * FKD D * FWK * FWDK 17

18 An example: a soft song FWDK * FWD * K FWK * D FDK * W FW * DK Direction DK * FW K * FWD W * FKD D * FWK * FWDK The top line shows all possibilities with the ferryman being on the first border of the river. The bottom line shows all possibilities with the ferryman being on the other border of the river. 18

19 An example: a soft song FWDK * FWD * K FWK * D FDK * W FW * DK DK * FW K * FWD W * FKD D * FWK * FWDK 19

20 Graph databases and SQL Server 20

21 A native graph database Nordenskiöldsgatan Malmö SWEDEN

22 Domain Specific Languages Cypher Neo4J MATCH (actor:person)-[:acted_in]->(movie:movie) WHERE movie.title STARTS WITH "T" RETURN movie.title AS title, collect(actor.name) AS cast ORDER BY title ASC LIMIT 10; Apache Tinkerpop g.v().as("a").out("knows").as("b"). select("a","b"). by("name"). by("age") 22

23 Graph support in SQL Server 2017 Native nodes and edge table support Query language extension Join-free pattern matching Integrated syntax 23

24 Graph support in SQL Server 2017 (a bit of) Interoperability Columnstore Optimization through join algorithms (nested loop, hash) 24

25 Graph support in SQL Server 2017 One graph per database, containing multiple node and edge tables 25

26 Graph support in SQL Server 2017 One graph per database Can contain multiple node and edge tables Tables have «hidden» metadata to support the graph feature 26

27 Node table CREATE TABLE dbo.person ( PersonId int IDENTITY(1,1) NOT NULL PRIMARY KEY, FirstName varchar(50) NOT NULL, LastName varchar(50) NOT NULL ) AS NODE; 27

28 Edge table CREATE TABLE dbo.isfriendof AS EDGE; CREATE TABLE dbo.isfriendof ( Since date not null ) AS EDGE; No index, no unique constraint, no referential integrity 28

29 Demo create a movie database 29

30 Pseudo columns Nodes Edges implicit $node_id pseudo column object_id + graph_id maps to an internal name with hex string JSON representation when selected implicit $edge_id pseudo column $from_id = $node_id of origin $to_id = $node_id of termination 30

31 Demo metadata 31

32 Match syntax MATCH (<graph_search_pattern>) <graph_search_pattern>::= {<node_alias> { { <-( <edge_alias> )- } { -( <edge_alias> )-> } <node_alias> } } [ { AND } { ( <graph_search_pattern> ) } 32

33 Match syntax SELECT actor.personname, Movie.Title FROM dbo.person AS actor, dbo.actedin, dbo.movie WHERE MATCH(actor-(ActedIn)->Movie); $from_id $to_id 33

34 Draw it! SELECT actor.personname, Movie.Title FROM dbo.person AS actor, dbo.actedin, dbo.movie WHERE MATCH(actor-(ActedIn)->Movie); Person ActedIn Movie 34

35 Graph traversal who acted in the same movie as another actor SELECT actor1.personname, Movie.Title, actor2.personname FROM dbo.person AS actor1, dbo.actedin AS ActedIn1, dbo.movie, dbo.actedin AS ActedIn2, dbo.person AS actor2 WHERE MATCH(actor1-(ActedIn1)->Movie<-(ActedIn2)-actor2) AND actor1.personid <> actor2.personid; 35

36 Many joins Actor1 ActedIn1 Movie Actor2 ActedIn2 36

37 Multigraphs? SELECT p.personname, m.title, 'acted in' as role FROM dbo.person p, dbo.actedin a, dbo.movie m WHERE MATCH(p-(a)->m) AND p.personname = 'Tom Hanks' UNION SELECT p.personname, m.title, 'directed' as role FROM dbo.person p, dbo.directed d, dbo.movie m WHERE MATCH(p-(d)->m) AND p.personname = 'Tom Hanks'; 37

38 Demo queries and optimization 38

39 What you cannot do 39

40 Support Not supported on Memory-optimized tables Temporary tables Temporal tables Supported ColumnStore index Index on pseudo columns You can t ALTER to convert a table to Graph Create referential integrity Use MERGE 40

41 Are we in a RDBMS? Old-style JOIN why not replace FROM by MATCH? no OUTER JOIN No referential integrity an edge is not bound to a type of node multigraph 41

42 Demo no way 42

43 Restrictions in MATCH Directed edges, directed match Basic match syntax An edge name cannot be repeated inside MATCH No distance path (shortest path) OR and NOT not supported Subqueries using (NOT) EXISTS 43

44 Not supported Transitive closure Connection trough any number of hops Polymorphism Find any type of node connected to a given node UNION 44

45 MATCH advanced syntax in Neo4j Cypher Length paths MATCH (martin { name: 'Charlie Sheen' })- [:ACTED_IN*1..3]-(movie:Movie) Unnamed paths, here even zero length MATCH (wallstreet:movie { title: 'Wall Street' })-[*0..1]-(x) 45

46 MATCH advanced syntax in Neo4j Cypher Named paths MATCH p =(michael { name: 'Michael Douglas' })-->() Shortest path MATCH (martin:person { name: 'Martin Sheen' }),(oliver:person { name: 'Oliver Stone' }), p = shortestpath((martin)-[*]-(oliver)) RETURN p 46

47 That s all folks! 47

Sergio Govoni. SQL Server 2017 Graph Database

Sergio Govoni. SQL Server 2017 Graph Database Sergio Govoni SQL Server 2017 Graph Database Sponsors Organizers GetLatestVersion.it SQL Saturday Slovenia 2017 DEVELOPER He has been a software developer for almost 20 years. He received a Computer Science

More information

Overview Architecture Sample

Overview Architecture Sample Table of Contents Overview Architecture Sample Graph processing with SQL Server and Azure SQL Database 1/17/2018 2 min to read Edit Online THIS TOPIC APPLIES TO: SQL Server (starting with 2017) Azure SQL

More information

Rudi Bruchez. From relational to Multimodel Azure Cosmos DB

Rudi Bruchez. From relational to Multimodel Azure Cosmos DB Rudi Bruchez From relational to Multimodel Azure Cosmos DB Yes, it s me Rudi Bruchez rudi@babaluga.com www.babaluga.com Overview Introduction to CosmosDB What is Azure CosmosDB Cosmos DB started in 2010

More information

Graph Theory. 1 Introduction to Graphs. Martin Stynes Department of Mathematics, UCC January 26, 2011

Graph Theory. 1 Introduction to Graphs. Martin Stynes Department of Mathematics, UCC   January 26, 2011 Graph Theory Martin Stynes Department of Mathematics, UCC email: m.stynes@ucc.ie January 26, 2011 1 Introduction to Graphs 1 A graph G = (V, E) is a non-empty set of nodes or vertices V and a (possibly

More information

Graph Theory CS/Math231 Discrete Mathematics Spring2015

Graph Theory CS/Math231 Discrete Mathematics Spring2015 1 Graphs Definition 1 A directed graph (or digraph) G is a pair (V, E), where V is a finite set and E is a binary relation on V. The set V is called the vertex set of G, and its elements are called vertices

More information

Displaying Data with Graphs. Chapter 6 Mathematics of Data Management (Nelson) MDM 4U

Displaying Data with Graphs. Chapter 6 Mathematics of Data Management (Nelson) MDM 4U Displaying Data with Graphs Chapter 6 Mathematics of Data Management (Nelson) MDM 4U Cause and Effect Diagrams Developed by Dr. Kaoru Ishikawa in 1943 (Japan) Picture composed of lines and symbols designed

More information

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory

SCHOOL OF ENGINEERING & BUILT ENVIRONMENT. Mathematics. An Introduction to Graph Theory SCHOOL OF ENGINEERING & BUILT ENVIRONMENT Mathematics An Introduction to Graph Theory. Introduction. Definitions.. Vertices and Edges... The Handshaking Lemma.. Connected Graphs... Cut-Points and Bridges.

More information

Eulerian Cycle (2A) Young Won Lim 4/26/18

Eulerian Cycle (2A) Young Won Lim 4/26/18 Eulerian Cycle (2A) Copyright (c) 2015 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

Graph (1A) Young Won Lim 4/19/18

Graph (1A) Young Won Lim 4/19/18 Graph (1A) Copyright (c) 2015 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version

More information

Vertex-Edge Graphs. Vertex-Edge Graphs In the Georgia Performance Standards. Sarah Holliday Southern Polytechnic State University

Vertex-Edge Graphs. Vertex-Edge Graphs In the Georgia Performance Standards. Sarah Holliday Southern Polytechnic State University Vertex-Edge Graphs Vertex-Edge Graphs In the Georgia Performance Standards Sarah Holliday Southern Polytechnic State University Math III MM3A7. Students will understand and apply matrix representations

More information

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ - artale/z

CHAPTER 10 GRAPHS AND TREES. Alessandro Artale UniBZ -  artale/z CHAPTER 10 GRAPHS AND TREES Alessandro Artale UniBZ - http://www.inf.unibz.it/ artale/z SECTION 10.1 Graphs: Definitions and Basic Properties Copyright Cengage Learning. All rights reserved. Graphs: Definitions

More information

Rudi Bruchez. From relational to Multimodel Azure Cosmos DB

Rudi Bruchez. From relational to Multimodel Azure Cosmos DB Rudi Bruchez From relational to Multimodel Azure Cosmos DB Gold Silver Bronze Sponsors You Rock! Many thanks to our sponsors, without whom such an event would not be possible. Thank you For the Venue &

More information

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7

Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7 CS 70 Discrete Mathematics and Probability Theory Fall 2013 Vazirani Note 7 An Introduction to Graphs A few centuries ago, residents of the city of Königsberg, Prussia were interested in a certain problem.

More information

Mohammad A. Yazdani, Ph.D. Abstract

Mohammad A. Yazdani, Ph.D. Abstract Utilizing Euler s Approach in Solving Konigsberg Bridge Problem to Identify Similar Traversable Networks in a Dynamic Geometry Teacher Education Environment: An Instructional Activity Mohammad A. Yazdani,

More information

Chapter 11: Graphs and Trees. March 23, 2008

Chapter 11: Graphs and Trees. March 23, 2008 Chapter 11: Graphs and Trees March 23, 2008 Outline 1 11.1 Graphs: An Introduction 2 11.2 Paths and Circuits 3 11.3 Matrix Representations of Graphs 4 11.5 Trees Graphs: Basic Definitions Informally, a

More information

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Material handling and Transportation in Logistics Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena Introduction to Graph Theory Graph Theory As Mathematical

More information

Week 7: Introduction to Graph Theory. 24 and 26 October, 2018

Week 7: Introduction to Graph Theory. 24 and 26 October, 2018 (1/32) MA284 : Discrete Mathematics Week 7: Introduction to Graph Theory. http://www.maths.nuigalway.ie/ niall/ma284/ 24 and 26 October, 2018 1 Graph theory A network of mathematicians Water-Electricity-Broadband

More information

GRAPH THEORY AND COMBINATORICS ( Common to CSE and ISE ) UNIT 1

GRAPH THEORY AND COMBINATORICS ( Common to CSE and ISE ) UNIT 1 GRAPH THEORY AND COMBINATORICS ( Common to CSE and ISE ) Sub code : 06CS42 UNIT 1 Introduction to Graph Theory : Definition and Examples Subgraphs Complements, and Graph Isomorphism Vertex Degree, Euler

More information

millions of SQL Server users worldwide, this feature broadens enormously concepts behind the model; how relationships are handled and what are the

millions of SQL Server users worldwide, this feature broadens enormously concepts behind the model; how relationships are handled and what are the SQL Server 2017 introduced the extension for graph databases. As there are millions of SQL Server users worldwide, this feature broadens enormously the audience of potential users. But, what to expect

More information

An Interactive Introduction to Graph Theory

An Interactive Introduction to Graph Theory An Interactive Introduction to Graph Theory An Interactive Introduction to Graph Theory Chris K. Caldwell 1995 This the first of a series of interactive tutorials introducing the basic concepts of graph

More information

MATH 113 Section 9.2: Topology

MATH 113 Section 9.2: Topology MATH 113 Section 9.2: Topology Prof. Jonathan Duncan Walla Walla College Winter Quarter, 2007 Outline 1 Introduction to Topology 2 Topology and Childrens Drawings 3 Networks 4 Conclusion Geometric Topology

More information

#30: Graph theory May 25, 2009

#30: Graph theory May 25, 2009 #30: Graph theory May 25, 2009 Graph theory is the study of graphs. But not the kind of graphs you are used to, like a graph of y = x 2 graph theory graphs are completely different from graphs of functions.

More information

Intermediate Math Circles Wednesday, February 22, 2017 Graph Theory III

Intermediate Math Circles Wednesday, February 22, 2017 Graph Theory III 1 Eulerian Graphs Intermediate Math Circles Wednesday, February 22, 2017 Graph Theory III Let s begin this section with a problem that you may remember from lecture 1. Consider the layout of land and water

More information

Graphs. Reading Assignment. Mandatory: Chapter 3 Sections 3.1 & 3.2. Peeking into Computer Science. Jalal Kawash 2010

Graphs. Reading Assignment. Mandatory: Chapter 3 Sections 3.1 & 3.2. Peeking into Computer Science. Jalal Kawash 2010 Graphs Mandatory: hapter 3 Sections 3.1 & 3.2 Reading ssignment 2 Graphs bstraction of ata 3 t the end of this section, you will be able to: 1.efine directed and undirected graphs 2.Use graphs to model

More information

Varying Applications (examples)

Varying Applications (examples) Graph Theory Varying Applications (examples) Computer networks Distinguish between two chemical compounds with the same molecular formula but different structures Solve shortest path problems between cities

More information

Dieter Jungnickel (2008), Graphs, Networks and Algorithms, 3rd edition, which is available online via SpringerLink.

Dieter Jungnickel (2008), Graphs, Networks and Algorithms, 3rd edition, which is available online via SpringerLink. Lecture 1 First Steps in Graph Theory This lecture introduces Graph Theory, the main subject of the course, and includes some basic definitions as well as a number of standard examples. Reading: Some of

More information

Introduction to Networks

Introduction to Networks LESSON 1 Introduction to Networks Exploratory Challenge 1 One classic math puzzle is the Seven Bridges of Königsberg problem which laid the foundation for networks and graph theory. In the 18th century

More information

Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015

Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015 Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Grade 7/8 Math Circles Graph Theory - Solutions October 13/14, 2015 The Seven Bridges of Königsberg In

More information

Introduction to Graphs

Introduction to Graphs Introduction to Graphs Historical Motivation Seven Bridges of Königsberg Königsberg (now Kaliningrad, Russia) around 1735 Problem: Find a walk through the city that would cross each bridge once and only

More information

Section 3.4 Basic Results of Graph Theory

Section 3.4 Basic Results of Graph Theory 1 Basic Results of Graph Theory Section 3.4 Basic Results of Graph Theory Purpose of Section: To formally introduce the symmetric relation of a (undirected) graph. We introduce such topics as Euler Tours,

More information

Introduction to Engineering Systems, ESD.00. Networks. Lecturers: Professor Joseph Sussman Dr. Afreen Siddiqi TA: Regina Clewlow

Introduction to Engineering Systems, ESD.00. Networks. Lecturers: Professor Joseph Sussman Dr. Afreen Siddiqi TA: Regina Clewlow Introduction to Engineering Systems, ESD.00 Lecture 7 Networks Lecturers: Professor Joseph Sussman Dr. Afreen Siddiqi TA: Regina Clewlow The Bridges of Königsberg The town of Konigsberg in 18 th century

More information

CHAPTER 10 GRAPHS AND TREES. Copyright Cengage Learning. All rights reserved.

CHAPTER 10 GRAPHS AND TREES. Copyright Cengage Learning. All rights reserved. CHAPTER 10 GRAPHS AND TREES Copyright Cengage Learning. All rights reserved. SECTION 10.1 Graphs: Definitions and Basic Properties Copyright Cengage Learning. All rights reserved. Graphs: Definitions and

More information

GRAPH THEORY AND LOGISTICS

GRAPH THEORY AND LOGISTICS GRAPH THEORY AND LOGISTICS Maja Fošner and Tomaž Kramberger University of Maribor Faculty of Logistics Mariborska cesta 2 3000 Celje Slovenia maja.fosner@uni-mb.si tomaz.kramberger@uni-mb.si Abstract This

More information

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen

Dissertation Title. Royal Holloway logo guidelines. Dissertation Subtitle. Stephen D. Wolthusen Dissertation Title Dissertation Subtitle Stephen D. Wolthusen Thesis submitted to the University of London for the degree of Doctor of Philosophy Royal Holloway logo guidelines 2012 Standard logo The logo

More information

6.2. Paths and Cycles

6.2. Paths and Cycles 6.2. PATHS AND CYCLES 85 6.2. Paths and Cycles 6.2.1. Paths. A path from v 0 to v n of length n is a sequence of n+1 vertices (v k ) and n edges (e k ) of the form v 0, e 1, v 1, e 2, v 2,..., e n, v n,

More information

FINDING THE RIGHT PATH

FINDING THE RIGHT PATH Task 1: Seven Bridges of Konigsberg! Today we are going to begin with the story of Konigsberg in the 18 th century, its geography, bridges, and the question asked by its citizens. FINDING THE RIGHT PATH

More information

Graphs And Algorithms

Graphs And Algorithms Graphs nd lgorithms Mandatory: hapter 3 Sections 3.1 & 3.2 Reading ssignment 2 1 Graphs bstraction of ata 3 t the end of this section, you will be able to: 1. efine directed and undirected graphs 2. Use

More information

Euler and Hamilton circuits. Euler paths and circuits

Euler and Hamilton circuits. Euler paths and circuits 1 7 16 2013. uler and Hamilton circuits uler paths and circuits o The Seven ridges of Konigsberg In the early 1700 s, Konigsberg was the capital of ast Prussia. Konigsberg was later renamed Kaliningrad

More information

Eulerian Cycle (2A) Walk : vertices may repeat, edges may repeat (closed or open) Trail: vertices may repeat, edges cannot repeat (open)

Eulerian Cycle (2A) Walk : vertices may repeat, edges may repeat (closed or open) Trail: vertices may repeat, edges cannot repeat (open) Eulerian Cycle (2A) Walk : vertices may repeat, edges may repeat (closed or open) Trail: vertices may repeat, edges cannot repeat (open) circuit : vertices my repeat, edges cannot repeat (closed) path

More information

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia)

Crossing bridges. Crossing bridges Great Ideas in Theoretical Computer Science. Lecture 12: Graphs I: The Basics. Königsberg (Prussia) 15-251 Great Ideas in Theoretical Computer Science Lecture 12: Graphs I: The Basics February 22nd, 2018 Crossing bridges Königsberg (Prussia) Now Kaliningrad (Russia) Is there a way to walk through the

More information

Understand graph terminology Implement graphs using

Understand graph terminology Implement graphs using raphs Understand graph terminology Implement graphs using djacency lists and djacency matrices Perform graph searches Depth first search Breadth first search Perform shortest-path algorithms Disjkstra

More information

Graph Theory Problems Instructor: Natalya St. Clair. 1 The Seven Bridges of Königsberg Problem

Graph Theory Problems Instructor: Natalya St. Clair. 1 The Seven Bridges of Königsberg Problem Graph Theory Problems erkeley Math ircles 2015 Lecture Notes Graph Theory Problems Instructor: Natalya St. lair 1 The Seven ridges of Königsberg Problem Königsberg is an ancient city of Prussia, now Kalingrad,

More information

Graph Theory. Defining a Graph

Graph Theory. Defining a Graph Graph Theory This topic is one of the most applicable to real-life applications because all networks (computer, transportation, communication, organizational, etc.) can be represented with a graph. For

More information

Graph Overview (1A) Young Won Lim 5/9/18

Graph Overview (1A) Young Won Lim 5/9/18 Copyright (c) 2015 2018 Young W. Lim. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published

More information

Grades 7 & 8, Math Circles 31 October/1/2 November, Graph Theory

Grades 7 & 8, Math Circles 31 October/1/2 November, Graph Theory Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Grades 7 & 8, Math Circles 31 October/1/2 November, 2017 Graph Theory Introduction Graph Theory is the

More information

of Nebraska - Lincoln

of Nebraska - Lincoln University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln MAT Exam Expository Papers Math in the Middle Institute Partnership 7-2008 De Bruijn Cycles Val Adams University of Nebraska

More information

Walking with Euler through Ostpreußen and RNA

Walking with Euler through Ostpreußen and RNA Walking with Euler through Ostpreußen and RNA Mark Muldoon February 4, 2010 Königsberg (1652) Kaliningrad (2007)? The Königsberg Bridge problem asks whether it is possible to walk around the old city in

More information

Chapter 5: Euler Paths and Circuits The Mathematics of Getting Around

Chapter 5: Euler Paths and Circuits The Mathematics of Getting Around 1 Finite Math A Chapter 5: Euler Paths and Circuits The Mathematics of Getting Around Academic Standards Covered in this Chapter: *************************************************************************************

More information

Section Graphs, Paths, and Circuits. Copyright 2013, 2010, 2007, Pearson, Education, Inc.

Section Graphs, Paths, and Circuits. Copyright 2013, 2010, 2007, Pearson, Education, Inc. Section 14.1 Graphs, Paths, and Circuits What You Will Learn Graphs Paths Circuits Bridges 14.1-2 Definitions A graph is a finite set of points called vertices (singular form is vertex) connected by line

More information

The premature state of Topology and Graph Theory nourished by Seven Bridges of Königsberg Problem

The premature state of Topology and Graph Theory nourished by Seven Bridges of Königsberg Problem The premature state of Topology and Graph Theory nourished by Seven Bridges of Königsberg Problem Damodar Rajbhandari Many many years ago, There was a problem which created a mind-boggling puzzle to the

More information

Mathematics of Networks II

Mathematics of Networks II Mathematics of Networks II 26.10.2016 1 / 30 Definition of a network Our definition (Newman): A network (graph) is a collection of vertices (nodes) joined by edges (links). More precise definition (Bollobàs):

More information

Math 443/543 Graph Theory Notes

Math 443/543 Graph Theory Notes Math 443/543 Graph Theory Notes David Glickenstein September 8, 2014 1 Introduction We will begin by considering several problems which may be solved using graphs, directed graphs (digraphs), and networks.

More information

Graph theory was invented by a mathematician named Euler in the 18th century. We will see some of the problems which motivated its study.

Graph theory was invented by a mathematician named Euler in the 18th century. We will see some of the problems which motivated its study. Graph Theory Graph theory was invented by a mathematician named Euler in the 18th century. We will see some of the problems which motivated its study. However, it wasn t studied too systematically until

More information

L Modelling and Simulating Social Systems with MATLAB

L Modelling and Simulating Social Systems with MATLAB 851-0585-04L Modelling and Simulating Social Systems with MATLAB Lesson 6 Graphs (Networks) Anders Johansson and Wenjian Yu (with S. Lozano and S. Wehrli) ETH Zürich 2010-03-29 Lesson 6 Contents History:

More information

Math 110 Graph Theory II: Circuits and Paths

Math 110 Graph Theory II: Circuits and Paths Math 110 Graph Theory II: Circuits and Paths For Next Time. Read Section 6.1 Circuit Training (p. 386ff) for more background on this material. Review the definition of a graph. Make sure you understand

More information

Graph Theory. Part of Texas Counties.

Graph Theory. Part of Texas Counties. Graph Theory Part of Texas Counties. We would like to visit each of the above counties, crossing each county only once, starting from Harris county. Is this possible? This problem can be modeled as a graph.

More information

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH

STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH Slide 3.1 3 STRUCTURES AND STRATEGIES FOR STATE SPACE SEARCH 3.0 Introduction 3.1 Graph Theory 3.2 Strategies for State Space Search 3.3 Using the State Space to Represent Reasoning with the Predicate

More information

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur

Lecture 5: Graphs. Rajat Mittal. IIT Kanpur Lecture : Graphs Rajat Mittal IIT Kanpur Combinatorial graphs provide a natural way to model connections between different objects. They are very useful in depicting communication networks, social networks

More information

Graph Data Management Systems in New Applications Domains. Mikko Halin

Graph Data Management Systems in New Applications Domains. Mikko Halin Graph Data Management Systems in New Applications Domains Mikko Halin Introduction Presentation is based on two papers Graph Data Management Systems for New Application Domains - Philippe Cudré-Mauroux,

More information

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the

More information

Euler and Hamilton paths. Jorge A. Cobb The University of Texas at Dallas

Euler and Hamilton paths. Jorge A. Cobb The University of Texas at Dallas Euler and Hamilton paths Jorge A. Cobb The University of Texas at Dallas 1 Paths and the adjacency matrix The powers of the adjacency matrix A r (with normal, not boolean multiplication) contain the number

More information

Graph Theory. 26 March Graph Theory 26 March /29

Graph Theory. 26 March Graph Theory 26 March /29 Graph Theory 26 March 2012 Graph Theory 26 March 2012 1/29 Graph theory was invented by a mathematician named Euler in the 18th century. We will see some of the problems which motivated its study. However,

More information

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8

Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8 CS 70 Discrete Mathematics and Probability Theory Fall 2009 Satish Rao,David Tse Note 8 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite

More information

4.1 Eulerian Tours. 4. Eulerian Tours and Trails. Königsberg. Seven Bridges. Try. Königsberg bridge problem

4.1 Eulerian Tours. 4. Eulerian Tours and Trails. Königsberg. Seven Bridges. Try. Königsberg bridge problem 4. Eulerian Tours and Trails 4.1 Eulerian Tours FMONG NIE 1 FMONG NIE 2 Königsberg Königsberg was a city in eastern Prussia in 18 th century. river flowed through this city and separated it into four pieces.

More information

Section Graphs, Paths, and Circuits. Copyright 2013, 2010, 2007, Pearson, Education, Inc.

Section Graphs, Paths, and Circuits. Copyright 2013, 2010, 2007, Pearson, Education, Inc. Section 14.1 Graphs, Paths, and Circuits INB Table of Contents Date Topic Page # January 27, 2014 Test #1 14 January 27, 2014 Test # 1 Corrections 15 January 27, 2014 Section 14.1 Examples 16 January 27,

More information

Chapter 5: Euler Paths and Circuits The Mathematics of Getting Around

Chapter 5: Euler Paths and Circuits The Mathematics of Getting Around 1 Finite Math A Chapter 5: Euler Paths and Circuits The Mathematics of Getting Around Academic Standards Covered in this Chapter: *************************************************************************************

More information

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs

Discrete Mathematics for CS Spring 2008 David Wagner Note 13. An Introduction to Graphs CS 70 Discrete Mathematics for CS Spring 2008 David Wagner Note 13 An Introduction to Graphs Formulating a simple, precise specification of a computational problem is often a prerequisite to writing a

More information

Graph Algorithms. A Brief Introduction. 高晓沨 (Xiaofeng Gao) Department of Computer Science Shanghai Jiao Tong Univ.

Graph Algorithms. A Brief Introduction. 高晓沨 (Xiaofeng Gao) Department of Computer Science Shanghai Jiao Tong Univ. Graph Algorithms A Brief Introduction 高晓沨 (Xiaofeng Gao) Department of Computer Science Shanghai Jiao Tong Univ. 目录 2015/5/7 1 Graph and Its Applications 2 Introduction to Graph Algorithms 3 References

More information

11-5 Networks. Königsberg Bridge Problem

11-5 Networks. Königsberg Bridge Problem Section 11-5 Networks 1 11-5 Networks In the 1700s, the people of Königsberg, Germany (now Kaliningrad in Russia), used to enjoy walking over the bridges of the Pregel River. There were three landmasses

More information

The Neo4j Developer Manual v3.3

The Neo4j Developer Manual v3.3 The Neo4j Developer Manual v3.3 Table of Contents Introduction.............................................................................. 1 1. Neo4j highlights......................................................................

More information

Discrete Mathematics and Probability Theory Spring 2015 Vazirani Note 5

Discrete Mathematics and Probability Theory Spring 2015 Vazirani Note 5 CS 70 Discrete Mathematics and Probability Theory Spring 2015 Vazirani Note 5 1 Graph Theory: An Introduction One of the fundamental ideas in computer science is the notion of abstraction: capturing the

More information

Contents. Bibliography 19. List of Symbols and Abbreviations 21. Index 22

Contents. Bibliography 19. List of Symbols and Abbreviations 21. Index 22 Contents Contents v 1 Basics of Graph Theory 1 1.1 Introduction.................................... 1 1.2 Basic Definitions................................. 2 1.3 Paths and Cycles.................................

More information

Graphs and Graph Algorithms. Slides by Larry Ruzzo

Graphs and Graph Algorithms. Slides by Larry Ruzzo Graphs and Graph Algorithms Slides by Larry Ruzzo Goals Graphs: defns, examples, utility, terminology Representation: input, internal Traversal: Breadth- & Depth-first search Three Algorithms: Connected

More information

Simple graph Complete graph K 7. Non- connected graph

Simple graph Complete graph K 7. Non- connected graph A graph G consists of a pair (V; E), where V is the set of vertices and E the set of edges. We write V (G) for the vertices of G and E(G) for the edges of G. If no two edges have the same endpoints we

More information

Brief History. Graph Theory. What is a graph? Types of graphs Directed graph: a graph that has edges with specific directions

Brief History. Graph Theory. What is a graph? Types of graphs Directed graph: a graph that has edges with specific directions Brief History Graph Theory What is a graph? It all began in 1736 when Leonhard Euler gave a proof that not all seven bridges over the Pregolya River could all be walked over once and end up where you started.

More information

Graphs and Isomorphisms

Graphs and Isomorphisms Graphs and Isomorphisms Discrete Structures (CS 173) Backyards of Old Houses in Antwerp in the Snow Van Gogh Madhusudan Parthasarathy, University of Illinois Proof techniques: Direct Contrapositive Disproving

More information

MIT BLOSSOMS INITIATIVE. Taking Walks, Delivering Mail: An Introduction to Graph Theory Karima R. Nigmatulina MIT

MIT BLOSSOMS INITIATIVE. Taking Walks, Delivering Mail: An Introduction to Graph Theory Karima R. Nigmatulina MIT MIT BLOSSOMS INITIATIVE Taking Walks, Delivering Mail: An Introduction to Graph Theory Karima R. Nigmatulina MIT Section 1 Hello and welcome everyone! My name is Karima Nigmatulina, and I am a doctoral

More information

GRAPH DB S & APPLICATIONS

GRAPH DB S & APPLICATIONS GRAPH DB S & APPLICATIONS DENIS VRDOLJAK GUNNAR KLEEMANN UC BERKELEY SCHOOL OF INFORMATION BERKELEY DATA SCIENCE GROUP, LLC PRESENTATION ROAD MAP Intro Background Examples Our Work Graph Databases Intro

More information

Math 443/543 Graph Theory Notes

Math 443/543 Graph Theory Notes Math 443/543 Graph Theory Notes David Glickenstein September 3, 2008 1 Introduction We will begin by considering several problems which may be solved using graphs, directed graphs (digraphs), and networks.

More information

Sarah Will Math 490 December 2, 2009

Sarah Will Math 490 December 2, 2009 Sarah Will Math 490 December 2, 2009 Euler Circuits INTRODUCTION Euler wrote the first paper on graph theory. It was a study and proof that it was impossible to cross the seven bridges of Königsberg once

More information

Salvador Sanabria History of Mathematics. Königsberg Bridge Problem

Salvador Sanabria History of Mathematics. Königsberg Bridge Problem Salvador Sanabria History of Mathematics Königsberg Bridge Problem The Problem of the Königsberg Bridge There is a famous story from Konigsberg. The city of Konigsberg, Northern Germany has a significant

More information

TWO CONTRIBUTIONS OF EULER

TWO CONTRIBUTIONS OF EULER TWO CONTRIBUTIONS OF EULER SIEMION FAJTLOWICZ. MATH 4315 Eulerian Tours. Although some mathematical problems which now can be thought of as graph-theoretical, go back to the times of Euclid, the invention

More information

An Early Problem in Graph Theory. Clicker Question 1. Konigsberg and the River Pregel

An Early Problem in Graph Theory. Clicker Question 1. Konigsberg and the River Pregel raphs Topic " Hopefully, you've played around a bit with The Oracle of acon at Virginia and discovered how few steps are necessary to link just about anybody who has ever been in a movie to Kevin acon,

More information

WHAT S NEW IN SQL SERVER 2017

WHAT S NEW IN SQL SERVER 2017 WHAT S NEW IN SQL SERVER 2017 Linux Support Graph Tables Intelligent Query Processing Resumable Online Index Rebuild Machine Learning Services In-Memory Tables HASAN SAVRAN 3/17/2018 SQL SATURDAY CINCINNATI

More information

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1 UNIT I INTRODUCTION CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS 1. Define Graph. A graph G = (V, E) consists

More information

Ma/CS 6a Class 8: Eulerian Cycles

Ma/CS 6a Class 8: Eulerian Cycles Ma/CS 6a Class 8: Eulerian Cycles By Adam Sheffer The Bridges of Königsberg Can we travel the city while crossing every bridge exactly once? 1 How Graph Theory was Born Leonhard Euler 1736 Eulerian Cycle

More information

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS

GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS GRAPHS, GRAPH MODELS, GRAPH TERMINOLOGY, AND SPECIAL TYPES OF GRAPHS DR. ANDREW SCHWARTZ, PH.D. 10.1 Graphs and Graph Models (1) A graph G = (V, E) consists of V, a nonempty set of vertices (or nodes)

More information

Math/Stat 2300 Modeling using Graph Theory (March 23/25) from text A First Course in Mathematical Modeling, Giordano, Fox, Horton, Weir, 2009.

Math/Stat 2300 Modeling using Graph Theory (March 23/25) from text A First Course in Mathematical Modeling, Giordano, Fox, Horton, Weir, 2009. Math/Stat 2300 Modeling using Graph Theory (March 23/25) from text A First Course in Mathematical Modeling, Giordano, Fox, Horton, Weir, 2009. Describing Graphs (8.2) A graph is a mathematical way of describing

More information

Querying Data with Transact-SQL (761)

Querying Data with Transact-SQL (761) Querying Data with Transact-SQL (761) Manage data with Transact-SQL Create Transact-SQL SELECT queries Identify proper SELECT query structure, write specific queries to satisfy business requirements, construct

More information

DS UNIT 4. Matoshri College of Engineering and Research Center Nasik Department of Computer Engineering Discrete Structutre UNIT - IV

DS UNIT 4. Matoshri College of Engineering and Research Center Nasik Department of Computer Engineering Discrete Structutre UNIT - IV Sr.No. Question Option A Option B Option C Option D 1 2 3 4 5 6 Class : S.E.Comp Which one of the following is the example of non linear data structure Let A be an adjacency matrix of a graph G. The ij

More information

Junior Circle Meeting 3 Circuits and Paths. April 18, 2010

Junior Circle Meeting 3 Circuits and Paths. April 18, 2010 Junior Circle Meeting 3 Circuits and Paths April 18, 2010 We have talked about insect worlds which consist of cities connected by tunnels. Here is an example of an insect world (Antland) which we saw last

More information

Logic: The Big Picture. Axiomatizing Arithmetic. Tautologies and Valid Arguments. Graphs and Trees

Logic: The Big Picture. Axiomatizing Arithmetic. Tautologies and Valid Arguments. Graphs and Trees Axiomatizing Arithmetic Logic: The Big Picture Suppose we restrict the domain to the natural numbers, and allow only the standard symbols of arithmetic (+,, =, >, 0, 1). Typical true formulas include:

More information

Sections 5.2, 5.3. & 5.4

Sections 5.2, 5.3. & 5.4 MATH 11008: Graph Theory Terminology Sections 5.2, 5.3. & 5.4 Routing problem: A routing problem is concerned with finding ways to route the delivery of good and/or services to an assortment of destinations.

More information

Foundations of Discrete Mathematics

Foundations of Discrete Mathematics Foundations of Discrete Mathematics Chapters 9 By Dr. Dalia M. Gil, Ph.D. Graphs Graphs are discrete structures consisting of vertices and edges that connect these vertices. Graphs A graph is a pair (V,

More information

Week 10: Colouring graphs, and Euler s paths. 14 and 16 November, 2018

Week 10: Colouring graphs, and Euler s paths. 14 and 16 November, 2018 MA284 : Discrete Mathematics Week 10: Colouring graphs, and Euler s paths http://www.maths.nuigalway.ie/ niall/ma284/ 14 and 16 November, 2018 1 Colouring The Four Colour Theorem 2 Graph colouring Chromatic

More information

MATH 101: Introduction to Contemporary Mathematics

MATH 101: Introduction to Contemporary Mathematics MATH 101: Introduction to Contemporary Mathematics Sections 201-206 Instructor: H. R. Hughes Course web page: http://www.math.siu.edu/hughes/math101.htm Summer 2013 Lecture sessions meet: MTWF 12:10-1:10

More information

Street-Routing Problems

Street-Routing Problems Street-Routing Problems Lecture 26 Sections 5.1-5.2 Robb T. Koether Hampden-Sydney College Wed, Oct 25, 2017 Robb T. Koether (Hampden-Sydney College) Street-Routing Problems Wed, Oct 25, 2017 1 / 21 1

More information

AQR UNIT 7. Circuits, Paths, and Graph Structures. Packet #

AQR UNIT 7. Circuits, Paths, and Graph Structures. Packet # AQR UNIT 7 NETWORKS AND GRAPHS: Circuits, Paths, and Graph Structures Packet # BY: Introduction to Networks and Graphs: Try drawing a path for a person to walk through each door exactly once without going

More information

Launch problem: Lining streets

Launch problem: Lining streets Math 5340 June 15,2012 Dr. Cordero Launch problem: Lining streets Lining Street Problem A Problem on Eulerian Circuits http://www.edmath.org/mattours/discrete/ Your job for the day is to drive slowly around

More information