Teoría de Grafos Matemáticas Discretas: Daniel A. Quinto Pazce Semestre 2016 -1
Matemáticas Discretas
Daniel A. Quinto Quinto Pazce Pazce
1
Concepto Grafo: Un gr graf afo o G= G=(V (V,A ,A,, ) es una es estr tru uct ctu ura 33-tu tupl ple e forma for mado do por un co conj njun unto to de ve verti rtice ces s y ari arist stas as donde: V = {Conjunto de vértices o nodos} V ={v 1,…,vn} A = {Conjun {Conjunto to de aristas o arcos} arcos} A = {a1,…,am} =función de incidencia
Grafos Dirigidos:
Grafos no Dirigidos:
G: a
b
c
2
Grafo: definición de los arcos de un Grafo
Matemátic Mate máticas as Discretas Discretas - Danie Daniell A. Quint Quinto o Pazce
3
Formas de Grafos
Matemáticas Discretas - Daniel A. Quinto Pazce
4
Función de incidencia
= función de incidencia
: A V*V a - ( a )
= ai
Arista
función
(a1)
(a1) (v 1.v2 )
(a2 )
(a 2 ) (v 2.v3 )
(a3 )
(a 3 ) (v 3.v4 )
(an )
(a n ) (v n.vn 1)
Matemáticas Discretas - Daniel A. Quinto Pazce
5
Grafos Dirigidos(o Digrafos): Cuando todas las aristas tienen una orientación, que pueden ser: arista simple. LAZO o bucle: arista que une a un vértice consigo mismo
G: A
B
B es la cola, C es la cabeza C
= conjunto de nodos de arcos que salen (sucesor) = conjunto de nodos de aristas que entran (predecesor)
Matemáticas Discretas - Daniel A. Quinto Pazce
6
salen
entrada BUCLE
b
a Entran
En cualquier grafo dirigido sin bucles puede existir o no los nodos llamados: FUENTE Y SUMIDERO o pozo (Nodo ) fuente
G:
1
2
3
(Nodo) sumidero o pozo
las aristas son relaciones “muchos a muchos” entre nodos...
Matemáticas Discretas - Daniel A. Quinto Pazce
7
Ejemplo:
X1 B
A X4 X2
X6
C
X8 X10
X3
X9
X5
D
NODOS o VERTICES y ARCOS o ARISTAS
X7
NODOS V = { A , B ,C , D }
ARISTAS A = { (A,B) , (A,C) , (A,D) , (B,A) , (B,D) , (C,A) , (C,D) , (D,A) , (D,B) , (D,C)} :
ó Arcos : A = {x1, x2, x3, x4, x5, x6, x7, x8, x9, x10}
Matemáticas Discretas - Daniel A. Quinto Pazce
8
Grafos no Dirigidos: Cuando todas las . . aristas no tienen una orientación . . .
G:
1 A
V
.
B
(v, w) = (w, v)
W
(2, 6) = (6, 2)
Matemáticas Discretas - Daniel A. Quinto Pazce
9
G’: a
c
G:
b
d
En cualquier grafo no dirigido sin bucles se cumple: n(n - 1) #arcos = 2 ( n = #nodos ),
G:
Matemáticas Discretas - Daniel A. Quinto Pazce
10
EN GRAFOS DIRIGIDOS: Vértices sucesores, Vértices predecesores CONJUNTO de Vértices Sucesores
( Xi) Vj V /(Vi, Vj) A Conjunto de Vértices Predecesores
Vj es la cabeza
( Xi) Vj V /(Vj,Vi) A Vi es la cola
Matemáticas Discretas - Daniel A. Quinto Pazce
11
Ejemplo:
Conjunto de Vértices Sucesores
(B) = {C, D}
Conjunto de Vértices Predecesores
(B) = {C, D, E , F}
Matemáticas Discretas - Daniel A. Quinto Pazce
12
Grado o Valencia de un Vértice: Grado Interior :
Número de aristas que entran d
( Xi) | ( Xi) |
Grado Exterior : d
Número de aristas que salen
salen a Bucle
b
salen
Entrada = 2
( Xi ) | ( Xi ) |
Grado de un Vértice: Número de arcos que inciden en él. d ( Xi)
d ( Xi) d ( Xi)
Teorema de Euler:
En todo grafo la suma de los grados de los vértices es igual a dos veces el número de aristas
d ( Xi) 2 | A | Matemáticas Discretas - Daniel A. Quinto Pazce
13
TABLA DE GRADOS: Ejemplo:
Salen 2,3,4 1,4 1,4 2
entran 2,3 2,1,4 1 1,2,3
d ( Xi)
d ( Xi)
d ( X 1 )=3
d ( X 1 )
d ( X 2 )=2
d ( X 2 )
d ( X 3 )=2
d ( X 4)=1
d ( Xi ) =2
d ( X 1 )
=5
d ( X 2 )
=6
d ( X 3 )=1
d ( X 3 )
=3
d ( X 4 )
d ( X 4 )
=4
=4
*
propiedade s
=3
Teorema de Euler *
d
( X i ) Bucle
suma par d(x ) 18, i
i 1
Max
( | d
Xi
| ) | V | 1, Max ( | d
Matemáticas Discretas - Daniel A. Quinto Pazce
Xi
|) | V |
1 14
Teorema: Verificando
4
d ( Xi) 2( A)
verificando
i 1
18 2(9) 18 18 _ cumple
Ejercicio:
Dada la tabla encontrar el grafo
d ( Xi)
d ( Xi)
d ( Xi )
d ( X 1 )
=2
d ( X 1 )
=2
=4
d ( X 2 )
=2
d ( X 2 )
d ( X 1 )
=2
d ( X 2 )
=4
d
( X 3 ) =2
*
d
Salen 2,3 1,3 1,2
entran 2,3 1,3 1,2
( X 3 ) =2 d ( X 3 ) =4
Matemáticas Discretas - Daniel A. Quinto Pazce
15
E j er c i c i o : g e n e r ar e l g r a f o d i r i g i d o d ( Xi) d ( Xi) d ( Xi) =2
=5
=2
=2
=4
=3
=3
=6
=2
=2
=4
=1
=2
=3
=3
( x1 )
( x2 )
( x3 ) ( x4 ) ( x5 )
Salen 3,2,5 1,3 4,2,5 3,1 4
entran 2,4 1,3 1,2,4 3,5 1,3
Tienes un caso
Matemáticas Discretas - Daniel A. Quinto Pazce
16
SOLUCION
3
2
5
2
2
4
3
3
6
2
2
4
1
2
3
X2
X1
X3
SALEN
ENTRAN
X1
2,3,5
2,4
X2
1,3
1,3
X3
2,4,5
1,2,4
X4
1,3
3,5
X5
4
1,3
X4 X5
Matemáticas Discretas - Daniel A. Quinto Pazce
17
Grafos Etiquetados o Ponderado: ( X1, X2, W3 ( peso))
Un grafo G es etiquetado si cada vértice y aristas están asociados con cierta información. Las aristas son asignadas: pesos, costos, tiempos, longitudes. Los nodos son asignados: lugares o ciudades.
X = {ciudades} W = {costos}
Matemáticas Discretas - Daniel A. Quinto Pazce
18
Camino: Es una secuencia de arcos, tales que el vértice extremo de cada
arco es a su vez origen del siguiente arco, excepto el último Ejemplo:
Camino (X1, X4) =(X1,U1,X2,U3,X3,U5,X2,U4,X4) = U1.U3,U5,U4
Matemáticas Discretas - Daniel A. Quinto Pazce
19
Camino Simple: Es el conjunto de aristas, que no incluyen dos veces la misma arista ( arcos
no se repiten). Camino Elemental: Es el conjunto de aristas, que no incluyen dos veces el mismo vértices (vértices no se repiten) . Por tanto todo camino elemental es simple y el
recíproco no es cierto. Circuito: Es el camino cerrado donde el vértice inicial y final coinciden. En grafos no dirigidos las aristas deben ser diferentes. Circuito Simple: Es un camino simple cerrado , o cuando todos los arcos que lo
forman son distintos Circuito Elemental: Es un camino elemental cerrado, o cuando todos los vértices
que lo forman son distintos. Matemáticas Discretas - Daniel A. Quinto Pazce
20
LONGITUD DE UN CAMINO Es el número de aristas que lo contiene a ese camino. Longitud = Es el número de nodos que recorre en ese camino - 1
Camino(X1,X4) = (X1,X2),(X2,X3),(X3,X2),(X2,X4) Longitud (X1,X4) = 4
Matemáticas Discretas - Daniel A. Quinto Pazce
21
Vértices Adyacentes:
Si existe una arista que los une. X1, a
X2 ,
X2 a X3
Aristas adyacentes U1, y U2 Si existen un vértice común X2 que comparten las aristas U1, y U2
Matemáticas Discretas - Daniel A. Quinto Pazce
22
Grafo Completo : Kn Cuando cada par de vértices está unido por una arista, o cada vértice esta unido con todos los demás. G:
N (aristas) = n(n-1); donde
n: número de nodos.
G ::
N(aristas)=
n(n - 1) 2
Matemáticas Discretas - Daniel A. Quinto Pazce
23
Grafo Conexo: Si existe un camino entre cualquier par de vértices o para cualquier
par de vértices existe al menos un camino que los une.
G:
24
Grafo fuertemente conexo (GFC) : Cuando para cada par de vértice existe un camino simple que los une, y exige la presencia del bucle en cada vértice. La matriz cuadrada que tiene por elementos la unidad lo representa GFC
1 1 1 M 1 1 1 1 1 1 3 x3
Matemáticas Discretas - Daniel A. Quinto Pazce
25
Camino Hamiltoniano (CH): El camino Hamiltoniano es cuando contiene exactamente una vez a todos y a cada uno de los vértices o que incluye a todos los vértices por una vez. Un (CH) es un grafo conexo, que posee un camino cerrado.
CIRCUITO HAMILTONIANO
Es un circuito elemental que incluye a todos los vértices de un grafo
Matemáticas Discretas - Daniel A. Quinto Pazce
26
Grafos de Camino Hamiltoniano:
1
2
3
4 5
6
Matemáticas Discretas - Daniel A. Quinto Pazce
27
CAMINO EULERIANO (CE) El camino Eureliano es cuando contiene exactamente una vez a todos y a cada uno de las arcos o que incluye a todos las arcos por una vez, y tiene valencia par. El grafo conexo posee un camino cerrado. G:
Matemáticas Discretas - Daniel A. Quinto Pazce
28
Circuitos de Euler.
Ejemplo.
3
2
Paso 1. Ciclo: (1, 2, 5, 7, 6, 3, 1)
4 6
5
1
7
3
2
Paso 2. Ciclo: (2, 3, 4, 2)
1
4 6
5 7
1 3
2
Paso 3. Ciclo: (1, 2, 3, 4, 2, 5, 7, 6, 3, 1) 1
Paso 2. Ciclo: (4, 5, 6, 4)
4 6
5 3
2
7
4 6
5
1
7
3
2
Paso 3. Ciclo:
(1, 2, 3, 4, 5, 6, 4, 2, 5, 7, 6, 3, 1)
Matemáticas Discretas - Daniel A. Quinto Pazce
4 6
5 7
29
CIRCUITO EULERIANO Cuando el grafo es conexo de camino cerrado y todos los vértices tienen valencia par.
Matemáticas Discretas - Daniel A. Quinto Pazce
30
SUBGRAFO: Dado un grafo G(V,A), un Subgrafo G’=(V’.A’) que cumple las sig. caract:
I)
V’ V
,V=0
,A=0 III) Las incidencias se conservan en G. II)
A’ A
Cada
arista en G’ es incidente de G
31
Un grafo no dirigido, en general obtienen muchos subgrafos, se puede demostrar mediante la siguiente formula:
n 12 k ( k 1) # subgrafos k 0 2 k n
Matemáticas Discretas - Daniel A. Quinto Pazce
32
Ejemplo: Caso de un Grafo no dirigido de tres nodos:
n = vértices 1 k ( k 1) 3 3 0 3 0 3 1 3 3 3 2 2 2 2 2 k 0 k 2 0 1 2 3 1 3 6 8 18 # ( subgrafos) 18
Matemáticas Discretas - Daniel A. Quinto Pazce
33
Grafo Isomorfo: Dos grafos G y G’ son isomorfos si existe una correspondencia biunivoca uno a uno entre sus vértices y aristas de modo que las incidencias se conservan
Matemáticas Discretas - Daniel A. Quinto Pazce
34
Grafo Isomorfo de grafo no dirigido:
Matemáticas Discretas - Daniel A. Quinto Pazce
35
Producto de grafos: Sea el grafo G(V,A) y el grafo G’(V´, A´), el producto de grafos es otro grafo G=(Z,W) Donde: se obtiene por las incidencias de los arcos simultaneamiento Cantidad de vértices
(vértices) = n(V) x n(V´)
Cantidad de arcos n(arcos) = n(A) x n(A´) Ejemplo: Obtenga el Producto de grafo
Matemáticas Discretas - Daniel A. Quinto Pazce
36
El producto de grafos G(V ,A) x G(V´ , A´) n(vértices) = 3x2=6
n(arcos) =4x3 =12
G=(Z,W) :
Matemáticas Discretas - Daniel A. Quinto Pazce
37
Redefiniendo el grafo producto G x G´, se tiene el grafo G. G:
Matemáticas Discretas - Daniel A. Quinto Pazce
38
Dado la tabla como se muestra mas abajo, obtener el grafo G:
a
b
c
-
-
b
a
c
-
e
c
a
-
b
d
d
-
c
-
e
e
b
-
d
-
G:
Matemáticas Discretas - Daniel A. Quinto Pazce
39
Ejercicios de obtención del producto de grafos
Obtener el grafo producto :
Dado: los grafos. Obtener el Grafo pr5oducto
Matemáticas Discretas
Daniel A. Quinto Pazce
40
Matrices: Matriz de Adyacencia: La matriz de adyacencia es la matriz cuadrada de un grafo G A= (aij) n*n tal que
1 aij 0
, si un camino (i,j)
, en otro caso
Ejemplo: Dado G (V,E), obtener la matriz de adyacencia.
G(N,A):
1 1 A = 2 3
Matemáticas Discretas - Daniel A. Quinto Pazce
2
3
0 1
1
1
1
1
1
1
0
41
Ejercicio: Hallar
la matriz de adyacencia
a)
b)
Matemáticas Discretas - Daniel A. Quinto Pazce
42
Matriz de Incidencia Es una matriz rectangular m*n de elementos [0,1,-1] de un grafo G
1 A (aij )mxn / aij 1 0
ca min o de (i, j) ca min o de ( j, i) , en
otro caso
Ejemplo:
Matemáticas Discretas - Daniel A. Quinto Pazce
43
a1 a 2
a3
a4 a 5 a 6
a7
1
1
1
1
0
0
1
0
2
1
0
1
1
1
0
1
3
0
1
0
0
1
1
1 3x7
Ejercicio: Dado la tabla como se muestra mas abajo, obtener el grafo G:
A 0 B 0 C 0 A B B A C - B C 0 C 0 - A 0
A B 0 0 0 0 A B 0 0 0 C A D 0 0 0 0 D 0
Matemáticas Discretas - Daniel A. Quinto Pazce
0 0 0 0 44
Ejercicio:
Generar el grafo: a1 a2 a 3 a 4
a)
b)
c)
a5
a6 a 7
1
1
1
1
0
0
1
0
2
1
0
1
1
1
0
1
3
0
1
0
0
1
1
1
0 1 1 1 0 1 0 1 1 1 1 1 0 0 0 3 x5 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1
Matemáticas Discretas - Daniel A. Quinto Pazce
45
MATRIZ DE CAMINOS P DEL GRAFO G(V,E): a) Método de suma de matrices
b) Método de algoritmos de Warshall Método de la suma de matrices Dado el grafo G , determinar la matriz de adyacencia A A1 A0 A V
A2 A1 A
A3 A2 A K
A
K
A
Bk
K 1
AK 1A
A1 A2 A3
p
i, j
bij
>0
K=|v|
A K B K
=
1, si existe camino (i,j) 0, en otro caso
Entonces
Matemáticas Discretas - Daniel A. Quinto Pazce
P= B
46
Ejemplo:
0 0 A 0 0
1
1
1
0
0
1
1
0
0
1
0 0 A2 0 0 0 0 A3 0 0 0 4 0 A 0 0
k 1,2,3,4
1
0 4 x 4
1
1
1 0
1
1
0
0
1 0
0
0
1
0
0
0
1
0 0
1 0
1
1
1
2 0
1
1
0
1
0 0
0
0
0
1
0
0
0
1 0
1 0
1
1
2
2 0
1
1
1
0
1 0
0
0
1
1
1
0
0
1
0
1
1 0
1 0
1 0
1 0
1
0 1 0 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 0 0 1 0 0
1
1
2
0
1
0
0
1
1
0
1
1
2
2
1
0
1
1
1
0
1
1
2
2
3
0
1
1
1
1
1
1
1
1
2
1
A A1 A2 A3 A4 B4 47
A=A1 A2 A3 A4
0 0 0 0
5 6 8
B4 3 3 5 2 3 3 1
2
3
bij 0 0 0 P 0 0
1 1 1
1 1 1 1 1 1
1 1 1
A 3
0 1
2
2
0 1
0
1
0 1
1
1
0 0 1 1 Camino 2: longitud 3
Método del Algoritmo de Warschall: Dado el grafo G (V, A), permite determinar la matriz de adyacencia A Wo=A ; donde A= ( aij )n*n , v (I, ,j) K=|v|
0 K n,W k (i, j ) W k 1 (i, j ) (W k 1 (i, k ) W k 1 (k , j )) Matemáticas Discretas - Daniel A. Quinto Pazce
48
Para el ejercicio anterior: 0 0 A 0 0
0 0 Wo= 0 0
1
1
1
0
0
1
1
0
0
1
1
0 4 x 4
Matriz de Adyacencia
1 1 1
0 0 1 1 0 1
k 1,2,3,4
0 1 0
Para k=1:
W1(i, j) = W0(i, j) v (W0(i, 1)
W0(1, j ) )
No existe cambio o variacion W1=Wo
Matemáticas Discretas - Daniel A. Quinto Pazce
49
Para k=2:
W2 (i, j) = W 1(i, j) v (W1 (i, 2) 1
no existe cambio o variación.
W1 (2, j ) ) 4
3
W2=W1 Para k=3:
W3 (i, j) = W 2 (i, j) v (W2 (i, 3) (4,2)=1 (4,4)=1
0 0 W 3 0 0
1
1 1
0 0 1 1 0 1 1 1 1
W2 (3, j ) )
1
2
4
4
Matemáticas Discretas - Daniel A. Quinto Pazce
50
Para K=4:
W4 (i, j) = W3 (i, j) v (W3 (i, 4) (2,2)=1 (2,3)=1 (3,3)=1
W3 (4, j ) )
1
2
2
3
3
4
4 0 0 W4 0 0 Entonces
1 1 1
0 0 1 1 1 , P = 0 1 1 1 1 1 1 0
1 1 1
1 1 1 1 1 1 1 1 1
P = W4 , Matriz de caminos P de G
Que es respuesta equivalente al anterior Matemáticas Discretas - Daniel A. Quinto Pazce
51
MATRIZ DE CAMINOS MINIMOS DEL GRAFO G(V,A): Alg. de Warschall Dado el grafo ponderado G(V,E), obtener su matriz de camino mínimo P
Obtener la matriz ponderada A de G.
A=(aij) /
aij >0
W , si existe el camino (i,j)
Q=
,otro caso
Qo=A
ALGORITMO DE WARSHALL
K=|v|
0
= P , matriz de camino Mínimo de G.
Matemáticas Discretas - Daniel A. Quinto Pazce
52
Ejemplo: Dado el Grafo G(V, E): obtener la matriz de caminos mínimos P.
7 7 A 0 4
7 5 0 0 2 7 2 Qo 3 k=1,2,3,4 3 0 0 0 1 0 4 1 5
0
0
Matemáticas Discretas - Daniel A. Quinto Pazce
53
Para K=1:
Q1(i, j) = Min ( Q0(i, j), ( Q0(i, 1) + Q0(1, j ) )) (2,2)=12 (4,2)=9 Existe variación
(7)
1
1
(7)
(7)
2
2
(5)
(4)
4
7 5 7 12 2 Q1 3 4 9 1
Matemáticas Discretas - Daniel A. Quinto Pazce
54
Para K=2:
Q2(i, j) = Min ( Q1(i, j), (Q1(i, 2) + Q1(2, j ) )) (5)
1
1
( 7)
(1,4)=7
(12)
2
2
(12)
(3,1)=10
(3)
3
4
(2)
(9)
4
(3,4)=5 (4,4)=11
Existe variación
7 5 7 7 12 2 Q2 10 3 5 4 9 1 11
Matemáticas Discretas - Daniel A. Quinto Pazce
55
Para K=3:
Q3(i, j) = Min ( Q2(i, j), (Q2(i, 3) + Q2(3, j ) )) (1)
4
Existe variación
1
(10)
2
(3)
4
(5)
(4,2)=4
(4,4)=6
7 5 7 7 12 2 Q3 10 3 5 4 4 1 6
Matemáticas Discretas - Daniel A. Quinto Pazce
56
Para K=4:
Q4(i, j) = Min ( Q3(i, j), (Q3(i, 4) + Q3(4, j ) ))
(1,3)=8 (2,1)=6 (2,2)=6 (2,3)=3 (3,1)=9 (3,3)=6
(7)
1
1
( 4)
( 2)
2
2
( 4)
(5)
3
3
(1)
(6)
4
4
(6)
Existe variación
7 6 Q4 P 9 4
7 6 6 3 2 P 9 3 6 5 4 1 6 4 5 8
7
Matemáticas Discretas - Daniel A. Quinto Pazce
5
8
7
6
3
2
3 6 5 4 1 6
(Mínimos )
57
Ejercicio: Encontrar la matriz de caminos mínimos por el algoritmo de Warschall
1.-
2.-
Matemáticas Discretas - Daniel A. Quinto Quinto Pazce Pazce
58
Matemáticas Discretas - Daniel A. Quinto Quinto Pazce Pazce
59
Repr Re pres esen enta taci ción ón de un gr graf afo: o: Lista de Vértices (V) : INFO
SIG
información
ADY punteros
Lis Li sta de ar aris ista tas s (A (A)): DEST
ENL
puntero
Punteros: Es un una a va vari ria able que co con nti tie ene la di dire recc cció ión n del si sig gui uien ente te el ele eme ment nto o en me memo morria a)INIC ICIIO : No Nod do de inici cio o
Matemáticas Discretas - Daniel A. Quinto Quinto Pazce Pazce
60
b)ADISP: Espacio disponible(aristas)
c)NDISP : Espacio disponible (nodos)
TABLA DE ADYACENCIA
Ejemplo:
NODOS
ADYACENTES
A
A,B,C
B
C
C
A,B
Matemáticas Discretas - Daniel A. Quinto Pazce
61
Representación enlazada:
Matemáticas Discretas - Daniel A. Quinto Pazce
62
Matemáticas Discretas - Daniel A. Quinto Pazce
63
Tabla Inicial de Vértices (TIV): A
1
B
4
C
5
Tabla Final de Adyacentes (TFA): 1
A
2
A
3
B C
4 5
C
6
A
7
B
Matemáticas Discretas - Daniel A. Quinto Pazce
64
Representación interna de un grafo dirigido:
Matemáticas Discretas - Daniel A. Quinto Pazce
65
Matemáticas Discretas - Daniel A. Quinto Pazce
66
INICIO = 5 NDISP = 7
INFO
C
SIG
8
4
1
6
3
0
2
0
ADY
3
0
8 0
5
0
0
11
1
2
3
5
6
7
8
ADISP =9
DEST
ENL
3B 5A
B
3B
A
4
D
5A
3B 5A 8D
4
12
10
6
0
13
0
2
1
12
7
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Matemáticas Discretas - Daniel A. Quinto Pazce
67
INICIO = 5 NDISP = 7
INFO
C
SIG
8
4
1
6
3
0
2
0
ADY
3
0
8 0
5
0
0
11
1
2
3
5
6
7
8
ADISP =9
DEST
ENL
3B 5A
B
3B
A
4
D
5A
3B 5A 8D
4
12
10
6
0
13
0
2
1
12
5
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Matemáticas Discretas - Daniel A. Quinto Pazce
68