Uploaded by Eric zucchini

graph

advertisement
CIT 596 – Theory of Computation
1
Graphs and Digraphs
A graph G = (V (G), E(G)) consists of two finite sets:
• V (G), the vertex set of the graph, often denoted by just V , which
is a nonempty set of elements called vertices, and
• E(G), the edge set of the graph, often denoted by just E, which is
a possibly empty set of elements called edges, such that each edge
e in E is assigned an unordered pair (u, v) of vertices, called the
end vertices of e. Sometimes, it is convenient to denote (u, v) by
simply uv, or equivalently, vu.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
2
Graphs and Digraphs
Consider the graph G = (V, E) such that
V = {a, b, c, d, e}
and
E = {e1, e2, e3, e4, e5, e6, e7, e8},
where
e1 ←→ (a, b)
e2 ←→ (b, c)
e3 ←→ (c, c)
e4 ←→ (c, d)
e5 ←→ (b, d)
e6 ←→ (d, e)
e7 ←→ (b, e)
e8 ←→ (b, e)
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
3
Graphs and Digraphs
A graph is often represented by a diagram in which vertices are drawn
as circles and edges as line or curve segments joining the circles representing the end vertices of the edge.
e8
a
e1
b
e
e7
e2
e3
c Marcelo Siqueira — Spring 2005
°
e6
e5
c
e4
d
CIT 596 – Theory of Computation
4
Graphs and Digraphs
Vertices are also called points, nodes, or just dots.
If e is an edge with end vertices u and v then e is said to join u and v.
Note that the definition of a graph allows the possibility of the edge e
having idetical end vertices, i.e., it is possible to have a vertex u joined
to itself by an edge — such an edge is called a loop.
If two (or more) edges have the same end vertices then edges are called
parallel.
A graph is called simple is it has no loops and no parallel edges.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
5
Graphs and Digraphs
For an example of a simple graph, consider the graph G = (V, E) such
that
V = {a, b, c, d}
and
E = {e1, e2, e3, e4},
where
e1 ←→ (a, b)
e2 ←→ (a, c)
e3 ←→ (b, c)
e4 ←→ (c, d)
Some authors use the term multigraph for graphs with loops and parallel
edges, and reserve the term graph for simple graphs only. Since we will
deal with graphs with loops very often, it is more convenient not to make
this distinction.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
6
Graphs and Digraphs
A pictorial representation of the simple graph G in the previous slide:
e1
b
a
e2
e3
c
e4
d
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
7
Graphs and Digraphs
The number of vertices in G is called the order of G.
The number of edges in G is called the size of G.
Two vertices u and v of a graph G are said to be adjacent if uv ∈ E(G).
If uv 6∈ E(G) then we say that u and v are non-adjacent vertices.
An edge e of a graph G is said to be incident with or incident to the
vertex v if v is an end vertex of e. In this case, we also say that v is
incident with or incident to e.
Two edges e and f which are incident with a common vertex v are said
to be adjacent.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
8
Graphs and Digraphs
Let v be a vertex of the graph G. The degree d(v) of v is the number of
edges of G incident to v, counting each loop twice, i.e., it is the number
of times v is an end vertex of an edge.
b
e
a
c
d
For example, d(a) = 1, d(b) = 3, d(c) = 3, d(d) = 3, and d(e) = 4
in the graph above.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
9
Graphs and Digraphs
The First Theorem of Graph Theory. For any graph G with ne edges
and nv vertices v1, . . . , vnv , we have that
nv
X
d(vi) = 2 · ne.
i=1
Check by yourself:
b
e
a
c
c Marcelo Siqueira — Spring 2005
°
d
CIT 596 – Theory of Computation
10
Graphs and Digraphs
A walk in a graph G is a finite sequence
W = v0e1v1e2v2 . . . vk−1ek vk
whose terms are alternately vertices and edges such that, for 1 ≤ i ≤ k,
the edge ei has end vertices vi−1 and vi.
We say that the above walk is a v0–vk walk or a walk from v0 to vk .
The integer k, the number of edges of the walk, is called the length of
W.
A trivial walk is one containing no edges.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
11
Graphs and Digraphs
The sequence c e2 b e8 f e6 c e3 d e4 e e4 d is a c–d walk of length 6 in
the graph below.
b
d
e2
e1
a
c
e8
e7
e6
f
e3
e4
e5
e
In a simple graph, a walk is determined by the sequence of vertices
only: c b f c d e d.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
12
Graphs and Digraphs
Given two vertices u and v of a graph G, a u–v walk is called closed or
open depending on whether u = v or u 6= v.
If the edges e1, e2, . . . , ek of the walk v0e1v1e2v2 . . . vk−1ek vk are distinct then W is called a trail.
If the vertices v0, v1, . . . , vk of the walk v0e1v1e2v2 . . . vk−1ek vk are
distinct then W is called a path.
For the graph in the previous slide, f b c d e c is a f –c trail, but not a
path!
The sequence f b c d e is a f –e path.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
13
Graphs and Digraphs
A vertex u is said to be connected to a vertex v in a graph G if there is
a path in G from u to v.
A graph G is connected if every two vertices of G are connected; otherwise, G is disconnected.
M
N
a
c
Connected
c Marcelo Siqueira — Spring 2005
°
d
b
b
a
c
Disconnected
CIT 596 – Theory of Computation
14
Graphs and Digraphs
A nontrivial closed trail C = v1v2 . . . vnv1 in a graph G is called a cycle
if the vertices v2 . . . vn are all distinct.
A cycle of length k, i.e., a cycle with k edges, is called a k-cycle. For
example, b c f b is a 3-cycle in the graph below:
b
d
e2
e1
a
c
e8
e7
e6
f
c Marcelo Siqueira — Spring 2005
°
e3
e4
e5
e
CIT 596 – Theory of Computation
15
Graphs and Digraphs
A graph G is said to be acyclic if it contains no cycles. A graph G is
called a tree if it is connected and acyclic.
a
b
c
d
e
The vertices of degree (at most) 1 in a tree are called the leaves of the
tree.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
16
Graphs and Digraphs
A directed graph (or simply digraph) D = (V (D), A(D)) consists
of two finite sets:
• V (D), the vertex set of the digraph, often denoted by just V , which
is a nonempty set of elements called vertices, and
• A(D), the arc set of the digraph, often denoted by just A, which
is a possibly empty set of elements called arcs, such that each arc
a in A is assigned a (ordered) pair (u, v) of vertices. If a is an arc
in D with associated ordered pair of vertices (u, v), then a is said
to join u to v, u is called the initial vertex of a, and v is called the
terminal vertex of a.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
17
Graphs and Digraphs
For example, consider the digraph D = (V (D), A(D)) such that V (D)
= {a, b, c, d, e} and A(D) = {e1, e2, e3, e4, e5, e6}, such that e1 ←→
(b, c), e2 ←→ (d, c), e3 ←→ (c, d), e3 ←→ (d, e), e4 ←→ (e, d), and
e6 ←→ (e, e).
e6
b
a
e
e1
e5
e4
e2
c
d
e3
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
18
Graphs and Digraphs
Let D be a digraph. Then a directed walk in D is a finite sequence
W = v0 a 1 v1 . . . a k vk ,
whose terms are alternately vertices and arcs such that for 1 ≤ i ≤ k,
the initial vertex of the arc ai is vi−1 and its terminal vertex is vi. The
number k of arcs is the length of W .
The walk W given in the definition above is said to be a v0–vk directed
walk or a directed walk from v0 to vk .
There are similar definitions for directed trails, directed paths, and directed cycles.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
19
Graphs and Digraphs
For example, consider the digraph D below:
e6
b
a
e
e1
e5
e4
e2
c
d
e3
The sequence b e1 c e3 d e4 e is a b–e directed walk, a b–e directed trail,
and a b–e directed path in D.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
20
Graphs and Digraphs
A vertex v of the digraph D is said to be reachable from a vertex u if
there is a directed path from u to v.
Given any digraph D = (V (D), A(D)), we can obtain a graph G =
(V (G), E(G)) from D as follows: Let V (G) = V (D) and E(G) =
{e ←→ (a, b) | (a, b) ∈ A(D)}. The graph G is the underlying graph
of D.
A digraph D is said to be weakly connected (or simply connected) if
its underlying graph is connected. A digraph D is said to be strongly
connected (or diconnected) if for any pair of vertices u and v in D
there is a directed path from u to v.
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
21
Graphs and Digraphs
e6
b
a
e6
e
e1
e5
b
a
e4
e5
e1
e2
c
A digraph
e4
e2
d
e3
e
c
d
e3
Its underlying graph
Is the above directed graph connected? If so, is it strongly connected?
c Marcelo Siqueira — Spring 2005
°
CIT 596 – Theory of Computation
22
Graphs and Digraphs
Let v be a vertex in a digraph D. The indegree id(v) of v is the number
of arcs of D that have v as the terminal vertex, i.e., the number of arcs
that “go to” to v. Similarly, the outdegree od(v) of v is the number of
arcs of D that have v as the initial vertex, i.e., the number of arcs that
“go out” of v.
The First Theorem of Digraph Theory. Let D be a digraph with n
vertices and q arcs. If v1, . . . , vn is the set of vertices of D, then we
have that
n
X
i=1
id(vi) =
n
X
od(vi) = q.
i=1
Can you figure out the proof for this one?
c Marcelo Siqueira — Spring 2005
°
Download