SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Introduction to Graphs
Tecniche di Programmazione – A.A. 2012/2013
Summary
A.A. 2012/2013Tecniche di programmazione2
 Definition: Graph
 Related Definitions
 Applications
Definition: Graph
Introduction to Graphs
Definition: Graph
A.A. 2012/2013Tecniche di programmazione4
 A graph is a collection of points and lines connecting
some (possibly empty) subset of them.
 The points of a graph are most commonly known
as graph vertices, but may also be called “nodes” or
simply “points.”
 The lines connecting the vertices of a graph are most
commonly known as graph edges, but may also be called
“arcs” or “lines.”
http://mathworld.wolfram.com/
Big warning: Graph ≠ Graph ≠ Graph
Graph (plot)
(italiano: grafico)
Graph (maths)
(italiano: grafo)
A.A. 2012/2013Tecniche di programmazione5
≠
Graph (chart)
(italiano: grafico)
History
A.A. 2012/2013Tecniche di programmazione6
 The study of graphs is known as graph theory, and was
first systematically investigated by D. König in the 1930s
 Euler’s proof about the walk across all seven bridges of
Königsberg (1736), now known as the Königsberg bridge
problem, is a famous precursor to graph theory.
 In fact, the study of various sorts of paths in graphs has
many applications in real-world problems.
Königsberg Bridge Problem
A.A. 2012/2013Tecniche di programmazione7
 Can the 7 bridges the of
the city of Königsberg
over the river Preger all
be traversed in a single
trip without doubling back,
with the additional
requirement that the trip
ends in the same place it
began?
Today: Kaliningrad, Russia
Königsberg Bridge Problem
A.A. 2012/2013Tecniche di programmazione8
 Can the 7 bridges the of
the city of Königsberg
over the river Preger all
be traversed in a single
trip without doubling back,
with the additional
requirement that the trip
ends in the same place it
began?
Today: Kaliningrad, Russia
Types of graphs: edge cardinality
A.A. 2012/2013Tecniche di programmazione9
 Simple graph:
 At most one edge (i.e.,
either one edge or no
edges) may connect any
two vertices
 Multigraph:
 Multiple edges are allowed
between vertices
 Loops:
 Edge between a vertex and
itself
 Pseudograph:
 Multigraph with loops
loop
Types of graphs: edge direction
A.A. 2012/2013Tecniche di programmazione10
 Undirected
 Oriented
 Edges have one direction
(indicated by arrow)
 Directed
 Edges may have one or
two directions
 Network
 Oriented graph with
weighted edges
Types of graphs: labeling
A.A. 2012/2013Tecniche di programmazione11
 Labels
 None
 OnVertices
 On Edges
 Groups (=colors)
 OfVertices
 no edge connects two
identically colored
vertices
 Of Edges
 adjacent edges must
receive different colors
 Of both
A.A. 2012/2013Tecniche di programmazione12
Directed and Oriented graphs
 A Directed Graph (di-graph) G is a pair (V,E), where
 V is a (finite) set of vertices
 E is a (finite) set of edges, that identify a binary relationship
overV
 𝐸 ⊆ 𝑉 × 𝑉
A.A. 2012/2013Tecniche di programmazione13
Example
4
1
5 6
2 3
A.A. 2012/2013Tecniche di programmazione14
Example
4
1
5 6
2 3
Loop
A.A. 2012/2013Tecniche di programmazione15
Example
4
1
5 6
2 3
V={1,2,3,4,5,6}
E={(1,2), (2,2), (2,5),
(5,4), (4,5), (4,1),
(2,4), (6,3)}
A.A. 2012/2013Tecniche di programmazione16
Undirected graph
 Ad Undirected Graph is still represented as a couple
G=(V,E), but the set E is made of non-ordered pairs of
vertices
A.A. 2012/2013Tecniche di programmazione17
Example
4
1
5 6
2 3
V={1,2,3,4,5,6}
E={(1,2), (2,5), (5,1), (6,3)}
A.A. 2012/2013Tecniche di programmazione18
Example
4
1
5 6
2 3
V={1,2,3,4,5,6}
E={(1,2), (2,5), (5,1), (6,3)}
Edge (1,5) adjacent
(or incident) to
vertices 1 and 5
Vertex 5 is adjacent
to vertices 1 and 2
Vertex 4 is isolated
Related Definitions
Introduction to Graphs
A.A. 2012/2013Tecniche di programmazione20
Degree
 In an undirected graph,
 the degree of a vertex is the number of incident edges
 In a directed graph
 The in-degree is the number of incoming edges
 The out-degree is the number of departing edges
 The degree is the sum of in-degree and out-degree
 A vertex with degree 0 is isolated
A.A. 2012/2013Tecniche di programmazione21
Degree
4
1
5 6
2 3
2 2
20 1
1
A.A. 2012/2013Tecniche di programmazione22
Degree
4
1
5 6
2 3
In: 1
Out: 1
In: 2
Out: 2
In: 1 or 2
Out: 2 or 3
In: 2
Out: 1
In: 1
Out: 0
In: 0
Out: 1
Paths
A.A. 2012/2013Tecniche di programmazione23
 A path on a graph G=(V,E) also called a trail, is
a sequence {v1, v2, …, vn} such that:
 v1, …, vn are vertices: vi V
 (v1, v2), (v2, v3), ..., (vn-1,vn) are graph edges: (vi-1,vi)  E
 vi are distinct (for “simple” paths).
 The length of a path is the number of edges (n-1)
 If there exist a path between vA and vB we say that vB is
reachable from vA
A.A. 2012/2013Tecniche di programmazione24
Example
4
1
5 6
2 3
Path = { 1, 2, 5 }
Length = 2
A.A. 2012/2013Tecniche di programmazione25
Cycles
 A cycle is a path where v1 = vn
 A graph with no cycles is said acyclic
A.A. 2012/2013Tecniche di programmazione26
Example
4
1
5 6
2 3
Path = { 1, 2, 5, 1 }
Length = 3
A.A. 2012/2013Tecniche di programmazione27
Reachability (Undirected)
 An undirected graph is connected if, for every couple of
vertices, there is a path connecting them
 The connected sub-graph of maximum size are called
connected components
 A connected graph has exactly one connected
component
A.A. 2012/2013Tecniche di programmazione28
Connected components
4
1
5 6
2 3
The graph is not
connected.
Connected components =
3
{ 4 } , { 1, 2, 5 }, { 3, 6 }
A.A. 2012/2013Tecniche di programmazione29
Reachability (Directed)
 A directed graph is strongly connected if, for every
ordered pair of vertices (v, v’), there exists at least one
path connecting v to v’
A.A. 2012/2013Tecniche di programmazione30
Example
4
1
5
2
The graph is strongly
connected
A.A. 2012/2013Tecniche di programmazione31
Example
4
1
5
2
The graph is not strongly
connected
Complete graph
A.A. 2012/2013Tecniche di programmazione32
 A graph is complete if, for every pair of vertices, there is
an edge connecting them (they are adjacent)
 Symbol: Kn
A.A. 2012/2013Tecniche di programmazione33
Complete graph: edges
 In a complete graph with n vertices, the number of
edges is
 n(n-1), if the graph is directed
 n(n-1)/2, if the graph is undirected
 If self-loops are allowed, then
 n2 for directed graphs
 n(n-1) for undirected graphs
Density
A.A. 2012/2013Tecniche di programmazione34
 The density of a graph G=(V,E) is the ration of the
number of edges to the total number of edges
𝑑 =
𝐸 𝐺
𝐸 𝐾 𝑉(𝐺)
A.A. 2012/2013Tecniche di programmazione35
Esempio
4
1
3
2
Density = 0.5
Existing: 3 edges
Total: 6 possible edges
A.A. 2012/2013Tecniche di programmazione36
Trees and Forests
 An undirected acyclic graph is called forest
 An undirected acyclic connected graph is called tree
A.A. 2012/2013Tecniche di programmazione37
Example
Tree
A.A. 2012/2013Tecniche di programmazione38
Example
Forest
A.A. 2012/2013Tecniche di programmazione39
Example This is not a tree nor a
forest
(it contains a cycle)
Rooted trees
A.A. 2012/2013Tecniche di programmazione40
 In a tree, a special node may be singled out
 This node is called the “root” of the tree
 Any node of a tree can be the root
Tree (implicit) ordering
A.A. 2012/2013Tecniche di programmazione41
 The root node of a tree induces an ordering of the
nodes
 The root is the “ancestor” of all other nodes/vertices
 “children” are “away from the root”
 “parents” are “towards the root”
 The root is the only node without parents
 All other nodes have exactly one parent
 The furthermost (children-of-children-of-children…)
nodes are “leaves”
A.A. 2012/2013Tecniche di programmazione42
Example
Rooted Tree
A.A. 2012/2013Tecniche di programmazione43
Example
Rooted Tree
A.A. 2012/2013Tecniche di programmazione44
Weighted graphs
 A weighted graph is a graph in which each branch (edge)
is given a numerical weight.
 A weighted graph is therefore a special type of labeled
graph in which the labels are numbers (which are usually
taken to be positive).
Applications
Introduction to Graphs
Graph applications
A.A. 2012/2013Tecniche di programmazione46
 Graphs are everywhere
 Facebook friends (and posts, and ‘likes’)
 Football tournaments (complete subgraphs + binary tree)
 Google search index (V=page, E=link, w=pagerank)
 Web analytics (site structure, visitor paths)
 Car navigation (GPS)
 Market Matching
Market matching
A.A. 2012/2013Tecniche di programmazione47
 H = Houses (1, 2, 3, 4)
 B = Buyers (a, b, c, d)
 V = H  B
 Edges: (h, b)  E if b would like to buy h
 Problem: can all houses be sold and all
buyers be satisfied?
 Variant: if the graph is weighted with a
purchase offer, what is the most
convenient solution?
 Variant: consider a ‘penalty’ for unsold
items
This graph is called
“bipartite”:
H  B = 
Connecting cities
A.A. 2012/2013Tecniche di programmazione48
 We have a water reservoir
 We need to serve many cities
 Directly or indirectly
 What is the most efficient set of inter-city water
connections?
 Also for telephony,
gas, electricity, …
We are searching for
the “minimum
spanning tree”
Google Analytics (Visitors Flow)
A.A. 2012/2013Tecniche di programmazione49
Customer behavior
A.A. 2012/2013Tecniche di programmazione50
User actions encoded
as frequencies
Street navigation
A.A. 2012/2013Tecniche di programmazione51
We must find a
“Hamiltonian cycle”
TSP:The traveling
salesman problem
Train maps
A.A. 2012/2013Tecniche di programmazione52
Chemistry (Protein folding)
A.A. 2012/2013Tecniche di programmazione53
Facebook friends
A.A. 2012/2013Tecniche di programmazione54
A.A. 2012/2013Tecniche di programmazione55
Flow chart
BEGIN
END
Resources
A.A. 2012/2013Tecniche di programmazione56
 Maths Encyclopedia: http://mathworld.wolfram.com/
 Basic GraphTheory with Applications to Economics
http://www.isid.ac.in/~dmishra/mpdoc/lecgraph.pdf
 Application of GraphTheory in real world
http://prezi.com/tseh1wvpves-/application-of-graph-theory-
in-real-world/
 JGraphT Library: http://jgrapht.org/
Licenza d’uso
A.A. 2012/2013Tecniche di programmazione57
 Queste diapositive sono distribuite con licenza Creative Commons
“Attribuzione - Non commerciale - Condividi allo stesso modo (CC
BY-NC-SA)”
 Sei libero:
 di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico,
rappresentare, eseguire e recitare quest'opera
 di modificare quest'opera
 Alle seguenti condizioni:
 Attribuzione — Devi attribuire la paternità dell'opera agli autori
originali e in modo tale da non suggerire che essi avallino te o il modo in
cui tu usi l'opera.
 Non commerciale — Non puoi usare quest'opera per fini
commerciali.
 Condividi allo stesso modo — Se alteri o trasformi quest'opera, o se
la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una
licenza identica o equivalente a questa.
 http://creativecommons.org/licenses/by-nc-sa/3.0/

Weitere ähnliche Inhalte

Was ist angesagt?

Applications of graphs
Applications of graphsApplications of graphs
Applications of graphsTech_MX
 
Graph theory 1
Graph theory 1Graph theory 1
Graph theory 1Tech_MX
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringSaurabh Kaushik
 
Graph theory in network system
Graph theory in network systemGraph theory in network system
Graph theory in network systemManikanta satyala
 
Introduction to Graph Theory
Introduction to Graph TheoryIntroduction to Graph Theory
Introduction to Graph TheoryYosuke Mizutani
 
Graph theory and its applications
Graph theory and its applicationsGraph theory and its applications
Graph theory and its applicationsManikanta satyala
 
Interesting applications of graph theory
Interesting applications of graph theoryInteresting applications of graph theory
Interesting applications of graph theoryTech_MX
 
Graph theory introduction - Samy
Graph theory  introduction - SamyGraph theory  introduction - Samy
Graph theory introduction - SamyMark Arokiasamy
 
A NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATION
A NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATIONA NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATION
A NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATIONmathsjournal
 
How Does Math Matter in Data Science
How Does Math Matter in Data ScienceHow Does Math Matter in Data Science
How Does Math Matter in Data ScienceMutia Ulfi
 

Was ist angesagt? (20)

Applications of graphs
Applications of graphsApplications of graphs
Applications of graphs
 
Graph theory presentation
Graph theory presentationGraph theory presentation
Graph theory presentation
 
Galois field
Galois fieldGalois field
Galois field
 
Graph theory 1
Graph theory 1Graph theory 1
Graph theory 1
 
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph ColouringGraph Theory,Graph Terminologies,Planar Graph & Graph Colouring
Graph Theory,Graph Terminologies,Planar Graph & Graph Colouring
 
Graph theory in network system
Graph theory in network systemGraph theory in network system
Graph theory in network system
 
Graph theory
Graph theory Graph theory
Graph theory
 
Graphs - Discrete Math
Graphs - Discrete MathGraphs - Discrete Math
Graphs - Discrete Math
 
Numerical methods
Numerical methodsNumerical methods
Numerical methods
 
Introduction to Graph Theory
Introduction to Graph TheoryIntroduction to Graph Theory
Introduction to Graph Theory
 
Graph theory and its applications
Graph theory and its applicationsGraph theory and its applications
Graph theory and its applications
 
Interesting applications of graph theory
Interesting applications of graph theoryInteresting applications of graph theory
Interesting applications of graph theory
 
PoS and SoP
PoS and SoPPoS and SoP
PoS and SoP
 
Graph theory introduction - Samy
Graph theory  introduction - SamyGraph theory  introduction - Samy
Graph theory introduction - Samy
 
graph theory
graph theory graph theory
graph theory
 
Graph theory
Graph theoryGraph theory
Graph theory
 
Graph theory
Graph theoryGraph theory
Graph theory
 
A NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATION
A NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATIONA NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATION
A NEW METHOD OF CENTRAL DIFFERENCE INTERPOLATION
 
Introduction to Graph Theory
Introduction to Graph TheoryIntroduction to Graph Theory
Introduction to Graph Theory
 
How Does Math Matter in Data Science
How Does Math Matter in Data ScienceHow Does Math Matter in Data Science
How Does Math Matter in Data Science
 

Ähnlich wie Introduction to Graphs

Representing and visiting graphs
Representing and visiting graphsRepresenting and visiting graphs
Representing and visiting graphsFulvio Corno
 
Slides Chapter10.1 10.2
Slides Chapter10.1 10.2Slides Chapter10.1 10.2
Slides Chapter10.1 10.2showslidedump
 
Graph Introduction.ppt
Graph Introduction.pptGraph Introduction.ppt
Graph Introduction.pptFaruk Hossen
 
Graph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptxGraph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptxasimshahzad8611
 
graph_theory_1-11.pdf___________________
graph_theory_1-11.pdf___________________graph_theory_1-11.pdf___________________
graph_theory_1-11.pdf___________________ssuser1989da
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptxARVIND SARDAR
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabatinabati
 
Data structure - Graph
Data structure - GraphData structure - Graph
Data structure - GraphMadhu Bala
 
Map Coloring and Some of Its Applications
Map Coloring and Some of Its Applications Map Coloring and Some of Its Applications
Map Coloring and Some of Its Applications MD SHAH ALAM
 
1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptxswapnilbs2728
 

Ähnlich wie Introduction to Graphs (20)

09_DS_MCA_Graphs.pdf
09_DS_MCA_Graphs.pdf09_DS_MCA_Graphs.pdf
09_DS_MCA_Graphs.pdf
 
Representing and visiting graphs
Representing and visiting graphsRepresenting and visiting graphs
Representing and visiting graphs
 
Slides Chapter10.1 10.2
Slides Chapter10.1 10.2Slides Chapter10.1 10.2
Slides Chapter10.1 10.2
 
Graph Introduction.ppt
Graph Introduction.pptGraph Introduction.ppt
Graph Introduction.ppt
 
Graph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptxGraph terminology and algorithm and tree.pptx
Graph terminology and algorithm and tree.pptx
 
Spanningtreesppt
SpanningtreespptSpanningtreesppt
Spanningtreesppt
 
graph_theory_1-11.pdf___________________
graph_theory_1-11.pdf___________________graph_theory_1-11.pdf___________________
graph_theory_1-11.pdf___________________
 
Graphs
GraphsGraphs
Graphs
 
Basics of graph
Basics of graphBasics of graph
Basics of graph
 
Graph ASS DBATU.pptx
Graph ASS DBATU.pptxGraph ASS DBATU.pptx
Graph ASS DBATU.pptx
 
Graphs.pptx
Graphs.pptxGraphs.pptx
Graphs.pptx
 
Graph theory concepts complex networks presents-rouhollah nabati
Graph theory concepts   complex networks presents-rouhollah nabatiGraph theory concepts   complex networks presents-rouhollah nabati
Graph theory concepts complex networks presents-rouhollah nabati
 
Data structure - Graph
Data structure - GraphData structure - Graph
Data structure - Graph
 
graph ASS (1).ppt
graph ASS (1).pptgraph ASS (1).ppt
graph ASS (1).ppt
 
Map Coloring and Some of Its Applications
Map Coloring and Some of Its Applications Map Coloring and Some of Its Applications
Map Coloring and Some of Its Applications
 
Chapter 1
Chapter   1Chapter   1
Chapter 1
 
1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx1. Graph and Graph Terminologiesimp.pptx
1. Graph and Graph Terminologiesimp.pptx
 
graph theory
graph theorygraph theory
graph theory
 
Graph Theory
Graph TheoryGraph Theory
Graph Theory
 
Graphs.pdf
Graphs.pdfGraphs.pdf
Graphs.pdf
 

Kürzlich hochgeladen

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 

Kürzlich hochgeladen (20)

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 

Introduction to Graphs

  • 1. Introduction to Graphs Tecniche di Programmazione – A.A. 2012/2013
  • 2. Summary A.A. 2012/2013Tecniche di programmazione2  Definition: Graph  Related Definitions  Applications
  • 4. Definition: Graph A.A. 2012/2013Tecniche di programmazione4  A graph is a collection of points and lines connecting some (possibly empty) subset of them.  The points of a graph are most commonly known as graph vertices, but may also be called “nodes” or simply “points.”  The lines connecting the vertices of a graph are most commonly known as graph edges, but may also be called “arcs” or “lines.” http://mathworld.wolfram.com/
  • 5. Big warning: Graph ≠ Graph ≠ Graph Graph (plot) (italiano: grafico) Graph (maths) (italiano: grafo) A.A. 2012/2013Tecniche di programmazione5 ≠ Graph (chart) (italiano: grafico)
  • 6. History A.A. 2012/2013Tecniche di programmazione6  The study of graphs is known as graph theory, and was first systematically investigated by D. König in the 1930s  Euler’s proof about the walk across all seven bridges of Königsberg (1736), now known as the Königsberg bridge problem, is a famous precursor to graph theory.  In fact, the study of various sorts of paths in graphs has many applications in real-world problems.
  • 7. Königsberg Bridge Problem A.A. 2012/2013Tecniche di programmazione7  Can the 7 bridges the of the city of Königsberg over the river Preger all be traversed in a single trip without doubling back, with the additional requirement that the trip ends in the same place it began? Today: Kaliningrad, Russia
  • 8. Königsberg Bridge Problem A.A. 2012/2013Tecniche di programmazione8  Can the 7 bridges the of the city of Königsberg over the river Preger all be traversed in a single trip without doubling back, with the additional requirement that the trip ends in the same place it began? Today: Kaliningrad, Russia
  • 9. Types of graphs: edge cardinality A.A. 2012/2013Tecniche di programmazione9  Simple graph:  At most one edge (i.e., either one edge or no edges) may connect any two vertices  Multigraph:  Multiple edges are allowed between vertices  Loops:  Edge between a vertex and itself  Pseudograph:  Multigraph with loops loop
  • 10. Types of graphs: edge direction A.A. 2012/2013Tecniche di programmazione10  Undirected  Oriented  Edges have one direction (indicated by arrow)  Directed  Edges may have one or two directions  Network  Oriented graph with weighted edges
  • 11. Types of graphs: labeling A.A. 2012/2013Tecniche di programmazione11  Labels  None  OnVertices  On Edges  Groups (=colors)  OfVertices  no edge connects two identically colored vertices  Of Edges  adjacent edges must receive different colors  Of both
  • 12. A.A. 2012/2013Tecniche di programmazione12 Directed and Oriented graphs  A Directed Graph (di-graph) G is a pair (V,E), where  V is a (finite) set of vertices  E is a (finite) set of edges, that identify a binary relationship overV  𝐸 ⊆ 𝑉 × 𝑉
  • 13. A.A. 2012/2013Tecniche di programmazione13 Example 4 1 5 6 2 3
  • 14. A.A. 2012/2013Tecniche di programmazione14 Example 4 1 5 6 2 3 Loop
  • 15. A.A. 2012/2013Tecniche di programmazione15 Example 4 1 5 6 2 3 V={1,2,3,4,5,6} E={(1,2), (2,2), (2,5), (5,4), (4,5), (4,1), (2,4), (6,3)}
  • 16. A.A. 2012/2013Tecniche di programmazione16 Undirected graph  Ad Undirected Graph is still represented as a couple G=(V,E), but the set E is made of non-ordered pairs of vertices
  • 17. A.A. 2012/2013Tecniche di programmazione17 Example 4 1 5 6 2 3 V={1,2,3,4,5,6} E={(1,2), (2,5), (5,1), (6,3)}
  • 18. A.A. 2012/2013Tecniche di programmazione18 Example 4 1 5 6 2 3 V={1,2,3,4,5,6} E={(1,2), (2,5), (5,1), (6,3)} Edge (1,5) adjacent (or incident) to vertices 1 and 5 Vertex 5 is adjacent to vertices 1 and 2 Vertex 4 is isolated
  • 20. A.A. 2012/2013Tecniche di programmazione20 Degree  In an undirected graph,  the degree of a vertex is the number of incident edges  In a directed graph  The in-degree is the number of incoming edges  The out-degree is the number of departing edges  The degree is the sum of in-degree and out-degree  A vertex with degree 0 is isolated
  • 21. A.A. 2012/2013Tecniche di programmazione21 Degree 4 1 5 6 2 3 2 2 20 1 1
  • 22. A.A. 2012/2013Tecniche di programmazione22 Degree 4 1 5 6 2 3 In: 1 Out: 1 In: 2 Out: 2 In: 1 or 2 Out: 2 or 3 In: 2 Out: 1 In: 1 Out: 0 In: 0 Out: 1
  • 23. Paths A.A. 2012/2013Tecniche di programmazione23  A path on a graph G=(V,E) also called a trail, is a sequence {v1, v2, …, vn} such that:  v1, …, vn are vertices: vi V  (v1, v2), (v2, v3), ..., (vn-1,vn) are graph edges: (vi-1,vi)  E  vi are distinct (for “simple” paths).  The length of a path is the number of edges (n-1)  If there exist a path between vA and vB we say that vB is reachable from vA
  • 24. A.A. 2012/2013Tecniche di programmazione24 Example 4 1 5 6 2 3 Path = { 1, 2, 5 } Length = 2
  • 25. A.A. 2012/2013Tecniche di programmazione25 Cycles  A cycle is a path where v1 = vn  A graph with no cycles is said acyclic
  • 26. A.A. 2012/2013Tecniche di programmazione26 Example 4 1 5 6 2 3 Path = { 1, 2, 5, 1 } Length = 3
  • 27. A.A. 2012/2013Tecniche di programmazione27 Reachability (Undirected)  An undirected graph is connected if, for every couple of vertices, there is a path connecting them  The connected sub-graph of maximum size are called connected components  A connected graph has exactly one connected component
  • 28. A.A. 2012/2013Tecniche di programmazione28 Connected components 4 1 5 6 2 3 The graph is not connected. Connected components = 3 { 4 } , { 1, 2, 5 }, { 3, 6 }
  • 29. A.A. 2012/2013Tecniche di programmazione29 Reachability (Directed)  A directed graph is strongly connected if, for every ordered pair of vertices (v, v’), there exists at least one path connecting v to v’
  • 30. A.A. 2012/2013Tecniche di programmazione30 Example 4 1 5 2 The graph is strongly connected
  • 31. A.A. 2012/2013Tecniche di programmazione31 Example 4 1 5 2 The graph is not strongly connected
  • 32. Complete graph A.A. 2012/2013Tecniche di programmazione32  A graph is complete if, for every pair of vertices, there is an edge connecting them (they are adjacent)  Symbol: Kn
  • 33. A.A. 2012/2013Tecniche di programmazione33 Complete graph: edges  In a complete graph with n vertices, the number of edges is  n(n-1), if the graph is directed  n(n-1)/2, if the graph is undirected  If self-loops are allowed, then  n2 for directed graphs  n(n-1) for undirected graphs
  • 34. Density A.A. 2012/2013Tecniche di programmazione34  The density of a graph G=(V,E) is the ration of the number of edges to the total number of edges 𝑑 = 𝐸 𝐺 𝐸 𝐾 𝑉(𝐺)
  • 35. A.A. 2012/2013Tecniche di programmazione35 Esempio 4 1 3 2 Density = 0.5 Existing: 3 edges Total: 6 possible edges
  • 36. A.A. 2012/2013Tecniche di programmazione36 Trees and Forests  An undirected acyclic graph is called forest  An undirected acyclic connected graph is called tree
  • 37. A.A. 2012/2013Tecniche di programmazione37 Example Tree
  • 38. A.A. 2012/2013Tecniche di programmazione38 Example Forest
  • 39. A.A. 2012/2013Tecniche di programmazione39 Example This is not a tree nor a forest (it contains a cycle)
  • 40. Rooted trees A.A. 2012/2013Tecniche di programmazione40  In a tree, a special node may be singled out  This node is called the “root” of the tree  Any node of a tree can be the root
  • 41. Tree (implicit) ordering A.A. 2012/2013Tecniche di programmazione41  The root node of a tree induces an ordering of the nodes  The root is the “ancestor” of all other nodes/vertices  “children” are “away from the root”  “parents” are “towards the root”  The root is the only node without parents  All other nodes have exactly one parent  The furthermost (children-of-children-of-children…) nodes are “leaves”
  • 42. A.A. 2012/2013Tecniche di programmazione42 Example Rooted Tree
  • 43. A.A. 2012/2013Tecniche di programmazione43 Example Rooted Tree
  • 44. A.A. 2012/2013Tecniche di programmazione44 Weighted graphs  A weighted graph is a graph in which each branch (edge) is given a numerical weight.  A weighted graph is therefore a special type of labeled graph in which the labels are numbers (which are usually taken to be positive).
  • 46. Graph applications A.A. 2012/2013Tecniche di programmazione46  Graphs are everywhere  Facebook friends (and posts, and ‘likes’)  Football tournaments (complete subgraphs + binary tree)  Google search index (V=page, E=link, w=pagerank)  Web analytics (site structure, visitor paths)  Car navigation (GPS)  Market Matching
  • 47. Market matching A.A. 2012/2013Tecniche di programmazione47  H = Houses (1, 2, 3, 4)  B = Buyers (a, b, c, d)  V = H  B  Edges: (h, b)  E if b would like to buy h  Problem: can all houses be sold and all buyers be satisfied?  Variant: if the graph is weighted with a purchase offer, what is the most convenient solution?  Variant: consider a ‘penalty’ for unsold items This graph is called “bipartite”: H  B = 
  • 48. Connecting cities A.A. 2012/2013Tecniche di programmazione48  We have a water reservoir  We need to serve many cities  Directly or indirectly  What is the most efficient set of inter-city water connections?  Also for telephony, gas, electricity, … We are searching for the “minimum spanning tree”
  • 49. Google Analytics (Visitors Flow) A.A. 2012/2013Tecniche di programmazione49
  • 50. Customer behavior A.A. 2012/2013Tecniche di programmazione50 User actions encoded as frequencies
  • 51. Street navigation A.A. 2012/2013Tecniche di programmazione51 We must find a “Hamiltonian cycle” TSP:The traveling salesman problem
  • 52. Train maps A.A. 2012/2013Tecniche di programmazione52
  • 53. Chemistry (Protein folding) A.A. 2012/2013Tecniche di programmazione53
  • 55. A.A. 2012/2013Tecniche di programmazione55 Flow chart BEGIN END
  • 56. Resources A.A. 2012/2013Tecniche di programmazione56  Maths Encyclopedia: http://mathworld.wolfram.com/  Basic GraphTheory with Applications to Economics http://www.isid.ac.in/~dmishra/mpdoc/lecgraph.pdf  Application of GraphTheory in real world http://prezi.com/tseh1wvpves-/application-of-graph-theory- in-real-world/  JGraphT Library: http://jgrapht.org/
  • 57. Licenza d’uso A.A. 2012/2013Tecniche di programmazione57  Queste diapositive sono distribuite con licenza Creative Commons “Attribuzione - Non commerciale - Condividi allo stesso modo (CC BY-NC-SA)”  Sei libero:  di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera  di modificare quest'opera  Alle seguenti condizioni:  Attribuzione — Devi attribuire la paternità dell'opera agli autori originali e in modo tale da non suggerire che essi avallino te o il modo in cui tu usi l'opera.  Non commerciale — Non puoi usare quest'opera per fini commerciali.  Condividi allo stesso modo — Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica o equivalente a questa.  http://creativecommons.org/licenses/by-nc-sa/3.0/