graphsx86.cs.duke.edu/.../spring17/compsci230/notes/l18graphs.pdfgraphs (undirected)graphs •...

20
Graphs COMPSCI 230 — Discrete Math March 23, 2017 COMPSCI 230 — Discrete Math Graphs March 23, 2017 1 / 20

Upload: others

Post on 26-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graphs

COMPSCI 230 — Discrete Math

March 23, 2017

COMPSCI 230 — Discrete Math Graphs March 23, 2017 1 / 20

Page 2: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Overview

1 Graphs

2 Graph Nomenclature

3 Graph Examples

4 The Adjacency Matrix

5 Tours

6 Euler and Hamilton Circuits

COMPSCI 230 — Discrete Math Graphs March 23, 2017 2 / 20

Page 3: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graphs

(Undirected) Graphs

• Graphs are items together withbinary relations

• Items are called vertices (or nodes)• Relations are called edges (or arcs)• Formally:

• 𝐺 = (𝑉 , 𝐸)• 𝐺 is an ordered pair• 𝑉 is a set of vertices• Every element of 𝐸 is anunordered pair (a set) from𝑉 × 𝑉

• Note the two distinct edgesbetween 𝑐 and 𝑑

𝑎 𝑏

𝑐 𝑑

𝐺 = (𝑉 , 𝐸)𝑉 = {𝑎, 𝑏, 𝑐, 𝑑}𝐸 = {{𝑎, 𝑏}, {𝑎, 𝑐}, {𝑎, 𝑑},

{𝑏, 𝑐}, {𝑐, 𝑑}1, {𝑐, 𝑑}2,{𝑑, 𝑑}}

COMPSCI 230 — Discrete Math Graphs March 23, 2017 3 / 20

Page 4: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graph Nomenclature

Vertices and Edges

𝑎 𝑏

𝑐 𝑑

• The two copies of {𝑐, 𝑑} are parallel edges• {𝑑, 𝑑} is a loop• 𝑎 and 𝑏 are adjacent to each other (neighbors of each other)• {𝑎, 𝑏} is incident to 𝑎 and 𝑏• The degree of a vertex is the number of edge-ends incident to it:

deg(𝑎) = 3; deg(𝑏) = 2; deg(𝑐) = 4; deg(𝑑) = 5• A graph is simple if it has no loops and no parallel edges

COMPSCI 230 — Discrete Math Graphs March 23, 2017 4 / 20

Page 5: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graph Nomenclature

Paths𝑎 𝑏

𝑐 𝑑 𝑒

𝑒1

𝑒2 𝑒 4

𝑒3

𝑒5

𝑒9

𝑒6

𝑒10

𝑒7

𝑒8

• 𝐺 = (𝑉 , 𝐸) = ({𝑎, 𝑏, 𝑐, 𝑑, 𝑒}, {𝑒1, … 𝑒10}) is a graph• The sequence (𝑎, 𝑒2, 𝑐, 𝑒8, 𝑐, 𝑒4, 𝑏, 𝑒6, 𝑒, 𝑒6, 𝑏) is a path from 𝑎 to 𝑏• (𝑎, 𝑒2, 𝑐, 𝑒4, 𝑏, 𝑒6, 𝑒) is a simple path from 𝑎 to 𝑒 (no repeated vertices)• (𝑎, 𝑒1, 𝑏, 𝑒6, 𝑒) is a shortest path from 𝑎 to 𝑒• (𝑎, 𝑒3, 𝑑, 𝑒5, 𝑏, 𝑒7, 𝑒, 𝑒10, 𝑑, 𝑒3, 𝑎) is a closed path (first = last)• (𝑎, 𝑒2, 𝑐, 𝑒8, 𝑐, 𝑒9, 𝑑, 𝑒3, 𝑎) is a circuit (non-empty closed path with distinct edges)• (𝑎, 𝑒2, 𝑐, 𝑒4, 𝑏, 𝑒5, 𝑑, 𝑒3, 𝑎) is a polygon (connected graph with only degree-2

vertices; degree counted in the path)• A polygon is a circuit, but not vice versa• A graph is connected if there is a path between any two of its vertices

COMPSCI 230 — Discrete Math Graphs March 23, 2017 5 / 20

Page 6: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graph Nomenclature

Subgraphs

𝑎 𝑏

𝑐 𝑑 𝑒

𝑒1

𝑒2 𝑒 4

𝑒3

𝑒5

𝑒9

𝑒6

𝑒10

𝑒7

𝑒8

• ({𝑎, 𝑏, 𝑑, 𝑒}, {𝑒1, 𝑒3, 𝑒5, 𝑒6}) is a subgraph of 𝐺 (a graph made ofvertices and edges from 𝐺)

• ({𝑎, 𝑏, 𝑐, 𝑑, 𝑒}, {𝑒1, 𝑒3, 𝑒5, 𝑒6, 𝑒9}) is a spanning subgraph of 𝐺,because it covers all the vertices

• ({𝑎, 𝑏, 𝑐, 𝑑, 𝑒}, {𝑒3, 𝑒5, 𝑒6, 𝑒9}) is a spanning tree of 𝐺:a spanning subgraph that is also a tree[A tree is a graph with no polygons]

• Spanning trees arise in graph traversals

COMPSCI 230 — Discrete Math Graphs March 23, 2017 6 / 20

Page 7: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graph Examples

Where is the Graph?

COMPSCI 230 — Discrete Math Graphs March 23, 2017 7 / 20

Page 8: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graph Examples

Graphs Abstract Away Geometry

Shady Grove Glenmont Greenbelt

Metro Center Mount Vernon Fort Totten

Rosslyn Chinatown New Carrolton

Pentagon L’Enfant Plaza Stadium

Vienna King Street Largo Town

Franconia Huntington Branch Avenue

COMPSCI 230 — Discrete Math Graphs March 23, 2017 8 / 20

Page 9: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Graph Examples

Transfer Stations Only?

Metro Center Mount Vernon Fort Totten

Rosslyn Chinatown

Pentagon L’Enfant Plaza Stadium

King Street

Shows which transfer station connects to whichtransfer stationCan reason about interconnectivity and redundancy

COMPSCI 230 — Discrete Math Graphs March 23, 2017 9 / 20

Page 10: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

The Adjacency Matrix

The Adjacency Matrix

MetroCenter

Rosslyn

Pentagon

MountVernon

Chinatown

L’Enfant Plaza

KingStreet

FortTotten

Stadium

Metro Center 2 1 2Rosslyn 2 1

Pentagon 1 1 2Mount Vernon 2 1

Chinatown 1 2 2 1L’Enfant Plaza 2 1 2 2

King Street 2Fort Totten 1 1

Stadium 2Degree 5 3 4 3 6 7 2 2 2

• Number of edges that connect any two entries• Entries not shown are 0• The adjacency matrix is symmetric for undirected graphs• A simple graph has a binary adjacency matrix with zero diagonal• The sum of each column (or row) is the degree of the corresponding node• Sum of degrees = 34 = twice the number of edges

COMPSCI 230 — Discrete Math Graphs March 23, 2017 10 / 20

Page 11: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

The Adjacency Matrix

Edge Labels

Metro Center Mount Vernon Fort Totten

Rosslyn Chinatown

Pentagon L’Enfant Plaza Stadium

King Street

Could label edges by which metro line connects anytwo transfer stationsEvery color gives an open path on this graph

COMPSCI 230 — Discrete Math Graphs March 23, 2017 11 / 20

Page 12: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

The Adjacency Matrix

Which Transfer Station Connects Which Lines?

Fort Totte

n

Chinatown Chinatown

Chinatown

L'Enfant Plaza

L'En

fant

Pla

za

L'Enfant Plaza

L'Enfant Plaza

L'Enfant Plaza

RosslynM

etro CenterMet

ro C

ente

rMetro Center

Stadium

Mt. Vernon

King

Stre

et

Penta

gon

• What is a vertex or an edge is up to us• The graph is in the eye of the beholder• Warning: It does not always make sense to swap vertices withedges

COMPSCI 230 — Discrete Math Graphs March 23, 2017 12 / 20

Page 13: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Tours

Tours𝑎 𝑏

𝑐 𝑑 𝑒

𝑒1

𝑒2 𝑒 5

𝑒4

𝑒6

𝑒9

𝑒7𝑒3

𝑒8

• The path(𝑒, 𝑒7, 𝑏, 𝑒1, 𝑎, 𝑒2, 𝑐, 𝑒5, 𝑏, 𝑒5, 𝑐, 𝑒9, 𝑑, 𝑒4, 𝑎, 𝑒2, 𝑐, 𝑒8, 𝑐, 𝑒3, 𝑎, 𝑒1, 𝑏)is an edge tour of 𝐺, because it traverses every edge

• It is also a vertex tour, because it traverses every vertex• The path (𝑒, 𝑒7, 𝑏, 𝑒5, 𝑐, 𝑒9, 𝑑, 𝑒4, 𝑎, 𝑒2, 𝑐, 𝑒8, 𝑐, 𝑒3, 𝑎, 𝑒1, 𝑏, 𝑒6, 𝑑) isan Euler tour of 𝐺, because it traverses every edge exactly once

• The path (𝑎, 𝑒2, 𝑐, 𝑒9, 𝑑, 𝑒6, 𝑏, 𝑒7, 𝑒) is a Hamilton tour because ittraverses every vertex exactly once

COMPSCI 230 — Discrete Math Graphs March 23, 2017 13 / 20

Page 14: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

Euler and Hamilton Circuits𝑎 𝑏

𝑐 𝑑 𝑒

𝑒1

𝑒2 𝑒 5

𝑒4

𝑒6

𝑒9

𝑒7

𝑒10

𝑒3

𝑒8

• The circuit(𝑑, 𝑒10, 𝑒, 𝑒7, 𝑏, 𝑒5, 𝑐, 𝑒9, 𝑑, 𝑒4, 𝑎, 𝑒2, 𝑐, 𝑒8, 𝑐, 𝑒3, 𝑎, 𝑒1, 𝑏, 𝑒6, 𝑑)is an Euler circuit of 𝐺, because it traverses every edge exactlyonce

• The circuit (𝑎, 𝑒2, 𝑐, 𝑒9, 𝑑, 𝑒10, 𝑒, 𝑒7, 𝑏, 𝑒1, 𝑎) is a Hamilton circuitbecause it traverses every vertex exactly once (before returningto the original vertex)

COMPSCI 230 — Discrete Math Graphs March 23, 2017 14 / 20

Page 15: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

Euler’s Theorem• Not every graph has an Euler tour, an Euler circuit, a Hamiltontour, or a Hamilton circuit

• This simple graph has none of them:

• Euler’s theorems: For a connected graph 𝐺,• All nodes of even degree ↔ 𝐺 has an Euler circuit (which isalso an Euler tour)

• Exactly two nodes of odd degree ↔ 𝐺 has an open Eulertour

• Tour starts at one odd-degree node and ends at the other• No similarly clean characterization of Hamiltonian graphs isknown

COMPSCI 230 — Discrete Math Graphs March 23, 2017 15 / 20

Page 16: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

Euler Circuit Example

• Domino tiles:

• Place them in sequence so that adjacent numbersmatch:

⋯• Can we make a loop that uses all the 28 tiles?

COMPSCI 230 — Discrete Math Graphs March 23, 2017 16 / 20

Page 17: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

The Domino Graph

• Where is the graph?• Vertices are the dot numbers, edges are the tiles

0

1

2

34

5

6

• A loop that uses all the 28 tiles is an Euler circuit• Simple algorithms exist to find Euler circuits• In this case, it is easy to draw one by hand

COMPSCI 230 — Discrete Math Graphs March 23, 2017 17 / 20

Page 18: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

A Domino Euler Circuit

COMPSCI 230 — Discrete Math Graphs March 23, 2017 18 / 20

Page 19: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

Hamilton Circuit Example• In chess, a single move by the knight is by one cell inone direction and two in the other

[graph image from commons.wikimedia.org]

• The knight’s graph is the obvious one• A re-entrant knight’s tour is a sequence of movesthat takes the knight to each square exactly once,with the first and last cell a knight’s move apart

COMPSCI 230 — Discrete Math Graphs March 23, 2017 19 / 20

Page 20: Graphsx86.cs.duke.edu/.../spring17/compsci230/notes/L18Graphs.pdfGraphs (Undirected)Graphs • Graphsareitemstogetherwith binaryrelations • Itemsarecalledvertices(ornodes) • Relationsarecallededges(orarcs)

Euler and Hamilton Circuits

A Knight’s Hamilton Circuit• First discovered by al-Adli in 840 A.D.• This is a Hamilton circuit

[image from http://www.dharwadker.org/pirzada/applications/]

COMPSCI 230 — Discrete Math Graphs March 23, 2017 20 / 20