You are on page 1of 63

Teora de Grafos

1
Daniel A. Quinto Pazce
Matemtica Discreta FISI 2013-I
Definicin de Grafo:
Un grafo G=(V,A, ) es una estructura 3-tuple
formado por un conjunto de vertices y aristas
donde:
V = {Conjunto de vrtices o nodos} V ={v
1
,,v
n
}
A = {Conjunto de aristas o arcos} A = {a
1
,,a
m
}
=funcin incidencia
Grafos Dirigidos: Grafos no Dirigidos:
G:
b
c

a
2 FISI-D Q P
Grafo: Definicin de arcos
3 FISI-D Q P
Grafos
Nodos
O
vrtices
Arcos
O aristas
informacin
Relaciones
4
Daniel A. Quinto Pazce
Matemtica Discreta
multigrafos:
red de ordenadores
Funcin de incidencia

V*V
= funcin de incidencia

: A

a -
Arista funcin
i
( ) = a a
1 1 1 2
2 2 2 3
3 3 3 4
n 1
( ) (a ) ( . )
( ) (a ) ( . )
( ) (a ) ( . )

( ) (a ) ( . )
n n n
a v v
a v v
a v v
a v v

+
=
=
=
=

5
Daniel A. Quinto Pazce
Matemtica Discreta
Grafos Dirigidos: Cuando todas las
aristas tienen una orientacin
LAZO o bucle: arista que une a un vrtice consigo
mismo
G:
b
c

= conjunto de nodos de arcos que salen


= conjunto de nodos de aristas que entran
+
I

I
a
6
Daniel A. Quinto Pazce
Matemtica Discreta
a
b
entrada
=2
loop
Entran
salen
1 2
3
(Nodo ) fuente
(Nodo) sumidero o pozo
G:
En cualquier grafo dirigido sin bucles
puede existir o no los nodos llamados:
FUENTE Y SUMIDERO o pozo
7
Daniel A. Quinto Pazce
Matemtica Discreta
A
B
C
D
X1
X5
X7
X2
X3
X4
X6
X9
X8
X10
Ejemplo:
V = { A , B ,C , D } nodos
A = { (A,B) , (A,C) , (A,D) , (B,A) , (B,D) , (C,A) , (C,D) , (D,A) , (D,B) , (D,C)} aristas
Arcos = A={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10}
:
NODOS
ARCOS O ARISTAS
8
Daniel A. Quinto Pazce
Matemtica Discreta
.
.
.
.
.
.
Grafos no Dirigidos: Cuando todas las
aristas no tienen una orientacin
G:
1 2
3 4
9
Daniel A. Quinto Pazce
Matemtica Discreta
G:
a b
c d
En cualquier grafo no
dirigido sin bucles donde
(#nodos = n), se cumple:
#arcos =
2
1) - n(n
G:
G:
10
Daniel A. Quinto Pazce
Matemtica Discreta
CONJUNTO de Vrtices Sucesores
{ }
( ) /( , ) Xi Vj V Vi Vj A
+
I = e e
Conjunto de Vrtices Predecesores
{ }
( ) /( , ) Xi Vj V Vj Vi A

I = e e
EN GRAFOS DIRIGIDOS
11 FISI-D Q P
Ejemplo:
Conjunto de Vrtices Sucesores
(B) = {C, D}
Conjunto de Vrtices Predecesores
(B) = {C, D, E , F}
+
I

I
12 FISI-D Q P
Grado o Valencia de un Vrtice:
Grado Interior :Nmero de aristas que entran
| ) ( | ) ( Xi Xi d

I =
Grado Exterior : Nmero de aristas que salen
| ) ( | ) ( Xi Xi d
+ +
I =
Grado de un Vrtice:
) ( ) ( ) ( Xi d Xi d Xi d
+
+ =
Teorema de Euler:
En todo grafo la suma de los grados de los vrtices es igual a dos veces el
nmero de aristas
( ) 2| | d Xi A =

13 FISI-D Q P
Ejemplo:
) ( Xi d
+
) ( Xi d

) (
1
X d
+
) (
1
X d

18 ) ( =

Xi d
) (
1
X d
) (
2
X d
+
) (
2
X d

) (
2
X d
) (
3
X d
+
) (
3
*
X d

) (
3
X d
) (
4
X d
+
) (
4
X d

) (
4
X d
=3 =2
=5
=2 =4 =6
=2 =1 =3
=1 =3 =4
) (Xi d
2 ) ( =
i
loop
X d
14 FISI-D Q P
1 V ) ( d 1 - V ) ( d
18 ) ( s Propiedade
+ = =
=
+

i i
X MAX X MAX
Xi d
par ser debe suma La
Teorema:
4
1
( ) 2( ) verificando
18 2(9)
18 18_
i
d Xi A
cumple
=
=
=
=

Ejercicio:
Dada la tabla encontrar el grafo
) ( Xi d
+
) ( Xi d

) (Xi d
) (
1
X d
+
) (
1
X d

) (
1
X d
) (
2
X d
+
) (
2
X d

) (
2
X d
) (
3
X d
+
) (
3
*
X d

) (
3
X d
=2 =2 =4
=2 =2 =4
=1 =1 =2
15 FISI-D Q P
2 3 4
1 2 2 4
2 3
1
1 4
1 4
1 2 2 3
entran salen
Grafos Etiquetados o Ponderado:
Un grafo G es etiquetado si cada vrtice y aristas estn asociados con cierta
informacin. Las aristas son asignadas: pesos, costos, tiempos, longitudes.
Los nodos son asignados: lugares o ciudades.
X = {ciudades}
W= {costos}
16 FISI-D Q P
Camino:
Es toda sucesin de arcos tales el vrtice extremo de cada arco es
a su vez origen del siguiente, excepto el ltimo
Ejemplo:
Camino (X1, X4) =(X1,U1,X2,U3,X3,U5,X2,U4,X4)
= U1.U3,U5,U4
17 FISI-D Q P
Camino Simple:
Es el conjunto de aristas que no incluyen dos veces la misma
arista, o cuando todos sus arcos son distintos
Camino Elemental:
Es el conjunto de aristas, que no incluyen el mismo vrtices dos veces
O cuando no utiliza un mismo vrtice dos veces
Por tanto todo camino elemental es simple y el recproco no es cierto.
Circuito:
Es un camino cerrado que no repite las aristas.
Ciclo.- Es el camino cerrado donde el vrtice inicial y final coinciden
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 vrtices
por los que pasa son distintos.
18 FISI-D Q P
LONGITUD DE UN CAMINO
Es el numero de aristas que contiene un camino
(Es decir es el cardinal del Camino)
Camino(X1,X4) = (X1,X2),(X2,X3),(X3,X2),(X2,X4)
Longitud (X1,X4) = 4
19 FISI-D Q P
Vrtices Adyacentes:
Dos vrtices son adyacentes, si existe una arista que los une
Aristas adyacentes
Si comparten un vrtice comn
20 FISI-D Q P
Grafo Completo
Cuando cada par de vrtices est unido (x todas las formas) por una
arista.
G:
N (aristas)= n(n-1); donde n: nmero de nodos.
G:
N(aristas)= (n(n-1))/2
n
denota: K , de vertices. Se n numero =
21 FISI-D Q P
Grafo Conexo:
Si para cada par de vrtices distintos, existe un camino que los une.
G:
22 FISI-D Q P
Grafo fuertemente conexo:
Cuando para cada vrtice existe un camino simple que los une.
Se exige la presencia del bucle en cada nodo, o que lo caracteriza
De una matriz cuadrada
3 3
1 1 1
1 1 1
1 1 1
x
M
(
(
(

=
23 FISI-D Q P
Camino Hamiltoniano:
En un grafo conexo, que posee un camino cerrado: es un camino
Hamiltoniano cuando contiene exactamente una vez a todos y a cada
uno de los vrtices o que incluye a todos los vrtices.
CIRCUITO HAMILTONIANO
Un circuito elemental que incluye a todos los
vrtices de un grafo
24 FISI-D Q P
Camino Hamiltoniano:
25 FISI-D Q P
1
2
3
5
4
6
Camino Euleriano:
Cuando contiene exactamente una vez a todos y a cada uno de las
arcos, y tiene valencia par. Si sus extremos coinciden se trata de un
Circuito Eureliano.
G :
26 FISI-D Q P
Circuito Euleriano:
Cuando el grafo es conexo, todos los vrtices tienen valencia par y los
extremos coinciden
27 FISI-D Q P
LEMA
1. En un grafo Euleriano, todos los vrtices tienen grado par.
2. Hay grafos conexos no Eulerianos que admiten camino Euleriano,
si dos de sus vrtices tienen grado impar.
28 FISI-D Q P
G :
Circuitos de Euler.
Ejemplo.
Paso 1. Ciclo: (1, 2, 5, 7, 6, 3, 1)
Paso 2. Ciclo: (2, 3, 4, 2)
Paso 3. Ciclo: (1, 2, 3, 4, 2, 5, 7, 6, 3, 1)
Paso 2. Ciclo: (4, 5, 6, 4)
Paso 3. Ciclo: (1, 2, 3, 4, 5, 6, 4, 2, 5, 7, 6, 3, 1)
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
1
2
3
4
5
6
7
29 Matematicas Discretas -
Daniel A. Quinto Pazce
Subgrafo:
Dado un grafo G(X,U), un Subgrafo G de un grafo G es el grafo G=(X.U)
que cumple:
) X' ; X' 0
) U' ; U' 0
) in se c
i U
ii U
iii Las cidencias onservan en G
_ =
_ =
Cada arista en G(X,U) es incidente de G(X, U)
30
FISI-D Q P
En general se obtienen la formula para subgrafos no dirigidos:
) 1 (
2
1
0
2 #

=

|
|
.
|

\
|
=
k k
n
k
k
n
subgraf os
31 FISI-D Q P
Ejemplo: Caso de un Grafo no dirigido
18 ) ( # 18 8 6 3 1
2
3
3
2
2
3
2
1
3
2
0
3
2
3
3 1 0 0
) 1 (
2
1
3
0
= > = + + + =
|
|
.
|

\
|
+
|
|
.
|

\
|
+
|
|
.
|

\
|
+
|
|
.
|

\
|
=
|
|
.
|

\
|

=

subgraf os
k
k k
k
32 FISI-D Q P
Grafo Isomorfo:
Dos grafos G y G son isomorfos si existe una correspondencia biunivoca
uno a uno entre sus vrtices y aristas de modo que las incidencias se
conservan
33 FISI-D Q P
Definicin: Dos grafos G=(V,A),
G=(V,A) son isomorfos si existe
una funcin biyectiva f:VV tal que
{a,b}eA {f(a),f(b)}eA
Grafo Isomorfo de grao no dirigido:
34 FISI-D Q P
Isomorfismo de grafos
35 FISI-D Q P
Ejemplo:
Los dos grafos son isomorfos. Demostracin:
Construimos f como se indica al lado de la figura. Se tiene
que:
{1,2}f{a,f} {6,8}f{b,c}
{1,6}f{a,b} {2,8}f{f,c}
{4,3}f{h,g} {1,4}f{a,h}
{2,3}f{f,g} {5,7}f{d,e}
{4,5}f{h,d} {3,7}f{g,e}
{6,5}f{b,d} {8,7}f{c,e}
f(1) = a f(2) = f f(6) = b
f(4) = h f(5) = d f(3) = g
f(7) = e f(8) = c
Producto de grafos:
Sea el grafo G(X ,U) y el grafo G(Y , A), el producto de grafos es otro grafo G=(Z,W)
n(arcos)=n(U) x n(A)
n(nodos)=n(X) x n(Y)
Ejemplo:
36 FISI-D Q P
Hallar el producto de grafos G(X ,U) x G(Y , A)
n(arcos)=4x3=12
n(nodos)=3x2=6
G=(Z,W)
37 FISI-D Q P
Redefiniendo:al grafo producto
38 FISI-D Q P
Ejercicios:
Dado:
Dado:
39 FISI-D Q P
Matrices:
Matriz de Adyacencia:
La matriz de adyacencia es la matriz cuadrada de un grafo G
A= (aij) n*n tal que
Ejemplo:
G(X,U):
0 1 1 3
1 1 1 2
1 1 0 1
3 2 1
A:
1 , si un camino (i,j)
0 , en otro caso
ij
a
-

=
`
)
40 FISI-D Q P
Ejercicio:
Hallar la matriz de adyacencia
A.-
B.-
41 FISI-D Q P
Matriz de Incidencia
Es una matriz rectangular m*n de elementos [0,1,-1] de un grafo G
1 min ( , )
( ) / 1 min ( , )
0 ,
ij mxn ij
ca o de i j
A a a ca o de j i
en otro caso
-

= = -

Ejemplo:
42 FISI-D Q P
1 2 3 4 5 6 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
a a a a a a a



3x7
Ejercicio:
Generar el grafo:
5 3
0 0 0 1 1
1 1 1 0 1
0 1 1 1 0
x
|
|
|
.
|

\
|

+

|
|
|
|
|
|
|
|
.
|

\
|






1 1 0 1 0 0 0 1 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 1 1 1 1 0 0 1 0 1
0 0 0 0 0 0 0 1 1 0 1 0
1 0 1 0 0 1 0 0 1 1 1 0
0 1 0 0 0 0 1 0 0 0 0 1
A.-
B.-
43 FISI-D Q P
Matriz de caminos:
a)Mtodo de suma de matrices
b)Mtodo de algoritmos de Warschall
Mtodo de suma de matrices
Dado el grafo G , determinar la matriz de adyacencia A

= + + + + + Bk Ak A A A A ... 4 3 2 1
ij
b
>0
K=|v|
1, si existe camino (i,j)
0, en otro caso
1 0
2 1
3 2
1
1 2 3

K K
K
K
A A A
A A A
A A A
A A A
A A A A B

=
=
=
=
+ + + =

,
=
i j
p
44 FISI-D Q P
Ejemplo:
4 4
2
3
0 1 1 1
0 0 0 1
1, 2, 3, 4
0 1 0 1
0 0 1 0
0 1 1 1 0 1 1 1 0 1 1 2
0 0 0 1 0 0 0 1 0 0 1 0
0 1 0 1 0 1 0 1 0 0 1 1
0 0 1 0 0 0 1 0 0 1 0 1
0 1 1 2 0 1 1 1
0 0 1 0 0 0 0 1
0 0 1 1 0 1 0 1
0 0 0 1 0 0 1 0
x
A k
A
A
| |
|
|
= =
|
|
|
\ .
| || | | |
| | |
| | |
= =
| | |
| | |
| | |
\ .\ . \ .
| || |
| |
| |
=
| |
| |
|
\ .\ .
4
0 1 2 2
0 1 0 1
0 1 1 1
0 0 1 1
0 1 2 2 0 1 1 1 0 2 2 3
0 1 0 1 0 0 0 1 0 0 1 1
0 1 1 1 0 1 0 1 0 1 1 2
0 0 1 1 0 0 1 0 0 1 1 1
A
| |
|
|
=
|
|
| |
\ .
| || | | |
| | |
| | |
= =
| | |
| | |
| | |
\ .\ . \ .
1 2 3 4
4
A A A A A B = + + + =

45 FISI-D Q P
1 2 3 4
0 5 6 8
0 1 2 3
A=A 4
0 3 3 5
0 2 3 3
0
0 1 1 1
0 1 1 1

0 1 1 1
0 1 1 1
A A A B
bij
P
| |
|
|
+ + + = =
|
|
|
\ .
>
| |
|
|
=
|
|
|
\ .

Mtodo del Algoritmo de Warschall:


Dado el grafo G (V, A), determinar la matriz de adyacencia A
Wo=A ; donde A= ( ) n*n v (I, ,j)
K=|v|
)) , ( ) , ( ( ) , ( ) , ( , 0
1 1 1
j k W k i W j i W j i W n K
k k k k
. v = s <
ij
a
46 FISI-D Q P
Para el ejercicio anterior:
4 4
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
x
A
|
|
|
|
|
.
|

\
|
=
Matriz de Adyacencia
0 1 1 1
0 0 0 1
1, 2, 3, 4
0 1 0 1
0 0 1 0
k
| |
|
|
=
|
|
|
\ .
Wo=
Para k=1:
1 0 0 0
( , ) ( , ) ( ( , ) ( , )) W i j W i j W i k W k j = v .
No existe cambio o variacion
W1=Wo
47 FISI-D Q P
Para k=2:
2 1 1 1
( , ) ( , ) ( ( , 2) (2, )) W i j W i j W i W j = v .
3
4 1
no existe cambio o variacin.
W2=W1
Para k=3:
3 2 2 2
( , ) ( , ) ( ( , 3) (3, )) W i j W i j W i W j = v .
4 4
2 1
(4,2)=1
(4,4)=1
|
|
|
|
|
.
|

\
|
=
1 1 1 0
1 0 1 0
1 0 0 0
1 1 1 0
3 W
48 FISI-D Q P
Para K=4:
4 3 3 3
( , ) ( , ) ( ( , 4) (4, )) W i j W i j W i W j = v .
4
4 3
3 2
2 1
(2,2)=1
(2,3)=1
(3,3)=1
4
0 1 1 1 0 1 1 1
0 1 1 1 0 1 1 1
, =
0 1 1 1 0 1 1 1
0 1 1 1 0 1 1 1
W P
| | | |
| |
| |
=
| |
| |
| |
\ . \ .
equivalente a la anterior
49 FISI-D Q P
MATRIZ DE CAMINOS MINIMOS DE P DE G(V,A):
Dado el grafo ponderado, obtener su matriz A
A=(a
ij
)/

aij >0
W , si existe el camino (i,j)

,otro caso
Q =
Qo=A
K=|v|
1 1 1
lg de Warschall
0 , ( , ) ( ( , ), ( ( , ) ( , )))
( , ), que es la matriz de caminos minimos
k k k k
k
A oritmo
k n Q i j MIN Q i j Q i k Q k j
P Q i j

< s = +
=
50 FISI-D Q P
Ejemplo:
|
|
|
|
|
.
|

\
|




= =
|
|
|
|
|
.
|

\
|
=
1 4
3
2 7
5 7
0 1 0 4
0 0 3 0
2 0 0 7
0 0 5 7
Qo A
k=1,2,3,4
51 FISI-D Q P
Para K=1:
1 0 0 1
( , ) ( ( , ), ( ( ,1) (1, )))
k
Q i j MIN Q i j Q i Q j

= +
4 ) 4 (
) 5 ( 2 2 ) 7 (
) 7 ( 1 1 ) 7 (
Existe variacin
(2,2)=12
(4,2)=9
|
|
|
|
|
.
|

\
|




=
1 9 4
3
2 12 7
5 7
1 Q
52 FISI-D Q P
Para K=2:
2 1 1 1
( , ) ( ( , ), ( ( , 2) (2, ))) Q i j MIN Q i j Q i Q j = +
4 ) 9 (
) 2 ( 4 3 ) 3 (
) 12 ( 2 2 ) 12 (
) 7 ( 1 1 ) 5 (
Existe variacin
(1,4)=7
(3,1)=10
(3,4)=5
(4,4)=11
|
|
|
|
|
.
|

\
|

=
11 1 9 4
5 3 10
2 12 7
7 5 7
2 Q
53 FISI-D Q P
Para K=3:
3 2 2 2
( , ) ( ( , ), ( ( , 3) (3, ))) Q i j MIN Q i j Q i Q j = +
) 5 ( 4
) 3 ( 2
) 10 ( 1 4 ) 1 (
Existe variacin
(4,2)=4
(4,4)=6
|
|
|
|
|
.
|

\
|

=
6 1 4 4
5 3 10
2 12 7
7 5 7
3 Q
54 FISI-D Q P
Para K=4:
4 3 3 3
( , ) ( ( , ), ( ( , 4) (4, ))) Q i j MIN Q i j Q i Q j = +
) 6 ( 4 4 ) 6 (
) 1 ( 3 3 ) 5 (
) 4 ( 2 2 ) 2 (
) 4 ( 1 1 ) 7 (
Existe variacin
(1,3)=8
(2,1)=6
(2,2)=6
(2,3)=3
(3,1)=9
(3,3)=6
7 5 8 7 7 5 8 7
6 6 3 2 6 6 3 2
4 ( )
9 3 6 5 9 3 6 5
4 4 1 6 4 4 1 6
Q P P Mnimos
| | | |
| |
| |
= = => =
| |
| |
| |
\ . \ .
55 FISI-D Q P
Ejercicio:
Encontrar la matriz de caminos mnimos por el algoritmo de Warschall
1.-
2.-
56 FISI-D Q P
Representacin de un grafo:
Lista de Vrtices:
INFO SIG ADY
informacin punteros
Lista de aristas:
DEST ENL
puntero
Punteros:
Es una variable que contiene la direccin del siguiente elemento en memoria
a)INICIO : Nodo de inicio
57 FISI-D Q P
b)ADISP: Espacio disponible(aristas)
c)NDISP : Espacio disponible (nodos)
Ejemplo:
TABLA DE ADYACENCIA
nodos adyacentes
A A,B,C
B C
C A,B
58 FISI-D Q P
Representacin enlazada:
59 FISI-D Q P
60 FISI-D Q P
Tabla Inicial de Vrtices (TIV):
A 1
B 4
C 5
Tabla Final de Adyacentes (TFA):
A
A
B
C
C
A
B
1
2
3
4
5
6
7
61 FISI-D Q P
Representacin interna de un grafo dirigido:
62 FISI-D Q P
63 FISI-D Q P

You might also like