Anda di halaman 1dari 54

Teora de Grafos

Grafo:
Un grafo G=(V,A, ) es una estructura 3-tuple
donde :
V = {Conjunto de vrtices o nodos}
A = {Conjunto de aristas o arcos}
=funcin incidencia
Grafos Dirigidos: Grafos no Dirigidos:
G:
b
c

a
Funcin de incidencia

V*V
= funcion de incidencia

: A

X1 (V1,V2)
X2 (V2,V3)
X3 (V3,V4)
X4 (V4,V5)
.
.
Xn (Vn,Vn+1)
Grafos Dirigidos: Cuando todas las
aristas tienen una orientacin
LAZO: 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
a
b
Como
que
entra
loop
Entran
salen
1 2
3
Nodo fuente
Nodo sumidero o
pozo
G:
En cualquier grafo dirigido sin bucles
se cumple:
#arcos = n(n-1)
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}
: AVxV
x1(A,B)
x2(A,C)
x10(D,C)
.
.
.
.
.
.
#arcos = n(n-1)
(x1)=(A,B)

(x2)=(A,C)
.
.
.
.
.
.

(x10)=(D,C)
Grafos no Dirigidos: Cuando todas las
aristas no tienen una orientacin
G:
1 2
3 4
G:
a b
c d
En cualquier grafo no
dirigido sin bucles donde
(#nodos = n), se cumple:
#arcos =
2
1) - n(n
G:
G:
VERTICES:
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
Ejemplo:
Conjunto de Vrtices Sucesores
(B) = {C, D}
Conjunto de Vrtices Predecesores
(B) = {C, D, E , F}
+
I

I
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 =

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
loop X d
i
= ) (
*
Max|d+(xi)= |V|-1. Max|d-(Xi)=|V|+1
Suma(dXi) =pares
Teorema:
cumple
U Xi d
i
_ 18 18
) 9 ( 2 18
) ( 2 ) (
4
1
=
=
=

=
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
Salen entran
2,3 2
1,3 1,2,3
2 1,2,3
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}
Camino:
Es la sucesin finita de arcos.
Es una sucesin finita de vrtices y aristas alternos, donde cada arista
tiene por extremo los vrtices adyacentes.
Ejemplo:
Camino (X1, X4) =(X1,U1,X2,U3,X3,U5,X2,U4,X4)
Camino Simple:
Es el conjunto de aristas que no incluyen dos veces la misma
arista (Es decir que no se repite las aristas).
Camino Elemental:
Es el conjunto de aristas, que no incluyen el mismo vrtices dos veces
(Es decir que no se repiten los vrtices)
CE =(X1,U1,X2,U3,X3,U6,X4)
Circuito:
Es el camino cerrado donde el vrtice inicial y final coinciden
Circuito Simple:
Es un camino simple cerrado
Circuito Elemental:
Es un camino elemental cerrado
LONGITUD DE UN CAMINO
Es el numero de aristas que contiene un camino
(Es decir es el cardinal del Camino)
Longitud (X1,X4) = 6
Vrtices Adyacentes:
Si existe una arista que los une
Aristas adyacentes
Si comparten un vrtice comn
Grafo Completo
Cuando cada vrtice es adyacente a todos los dems vrtices,
En un grafo sin bucle, y sin aristas paralelas.
G:
N (aristas)= n(n-1); n: nmero de nodos.
G:
N(aristas)= (n(n-1))/2
Grafo Conexo:
Cuando en cada par de vrtices distintos, existe un camino que los une.
G:
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
(
(
(

=
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.
Camino Euleriano:
En un grafo conexo, que posee un camino cerrado: es un camino
Eureliano cuando contiene exactamente una vez a todos y a cada
uno de las aristas o tiene valencia par.
G :
Circuito Euleriano:
Cuando el grafo es conexo y todos los vrtices tienen valencia par de
camino cerrado
Subgrafo:
Dado un grafo G, un Subgrafo G de un grafo G es el grafo G=(X.U)
que cumple:
) ' ; ' 0
) ' ; 0
) sin sec
i X X X
ii U U U
iii La cidencias onservanenG
_ =
_ =
Cada arista en G es incidente de G
En general se obtienen muchos subgrafos
) 1 (
2
1
0
2 #

=

|
|
.
|

\
|
=
k k
n
k
k
n
subgrafos
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
= > = + + + =
|
|
.
|

\
|
+
|
|
.
|

\
|
+
|
|
.
|

\
|
+
|
|
.
|

\
|
=
|
|
.
|

\
|

=

subgrafos
k
k k
k
Grafo Isomorfo:
Dos grafos G y G son isomorfos si existe una correspondencia uno a uno
entre sus vrtices y aristas de modo que las incidencias se conservan
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:
Hallar el producto de grafos G(X ,U) x G(Y , A)
n(arcos)=4x3=12
n(nodos)=3x2=6
G=(Z,W)
Redefiniendo:al grafo producto
Ejercicios:
Dado:
Dado:
Matrices:
Matriz de Adyacencia:
La matriz de adyacencia es la matriz cuadrada de un grafo G
A=(aij) mxm /
Ejemplo:
G(X,U):
0 1 1 3
1 1 1 2
1 1 0 1
3 2 1
A:
1, min
0,
ij
siexisteunca odeiaj
a
enotrocaso

=
`
)
Ejercicio:
Hallar la matriz de adyacencia
A.-
B.-
Matriz de Incidencia
Es una matriz rectangular m*n de elementos [0,1,-1] de un grafo G

-
-
= =
caso otro en
i j de o ca si
j i de o ca si
a a A
ij mxn ij
_ _ , 0
) , ( _ min _ _ , 1
) , ( _ min _ _ , 1
/ ) (
Ejemplo:
1 1 1 0 0 1 0 3
1 1 0 1 1 1 0 2
0 1 0 0 1 1 1 1
7 6 5 4 3 2 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.-
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
A1=A*A
A2=A1*A
A3=A2*A
.
.
Ak=A(k-1)*A
-----------------
P=Bk /
>0
K=|v|
P
ij=
1, si existe camino (i,j)
0, en otro caso
Ejemplo:
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
|
|
|
|
|
.
|

\
|
=
=
|
|
|
|
|
.
|

\
|
=
1 1 1 0
2 1 1 0
1 1 0 0
3 2 2 0
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
1 1 0 0
1 1 1 0
1 0 1 0
2 2 1 0
1 1 0 0
1 1 1 0
1 0 1 0
2 2 1 0
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
1 0 0 0
1 1 0 0
0 1 0 0
2 1 1 0
1 0 0 0
1 1 0 0
0 1 0 0
2 1 1 0
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
4 , 3 , 2 , 1
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
4
3
2
4 4
A
A
A
k A
x
4 3 2 1
A A A A A + + + =

|
|
|
|
|
.
|

\
|
=
>
=
|
|
|
|
|
.
|

\
|
=

1 1 1 0
1 1 1 0
1 1 1 0
1 1 1 0
0
4
3 3 2 0
5 3 3 0
3 2 1 0
8 6 5 0
P
bij
B A
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
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
4 , 3 , 2 , 1
0 1 0 0
1 0 1 0
1 0 0 0
1 1 1 0
=
|
|
|
|
|
.
|

\
|
k
Wo=
Para k=1:
)) , ( ) , ( ( ) , ( ) , (
1 1 1
j k W k i W j i W j i W
k k k k
. v =
No existe camino
W1=Wo
Para k=2:
)) , ( ) , ( ( ) , ( ) , (
1 1 1
j k W k i W j i W j i W
k k k k
. v =
3
4 1
Pero no hay variacin.
W2=W1
Para k=3:
)) , ( ) , ( ( ) , ( ) , (
1 1 1
j k W k i W j i W j i W
k k k k
. 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
Para K=4:
)) , ( ) , ( ( ) , ( ) , (
1 1 1
j k W k i W j i W j i W
k k k k
. v =
4
4 3
3 2
2 1
(2,2)=1
(2,3)=1
(3,3)=1
|
|
|
|
|
.
|

\
|
=
|
|
|
|
|
.
|

\
|
=
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 0
4 P W
equivalente a la anterior
Algoritmo de caminos mnimos:
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
0 , ( , ) ( ( , ), ( ( , ) ( , )))
( , )
min min
k k k k
k
k n Q i j MIN Q i j Q i k Q k j
P Q i j
Matrizdeca os imosPdeG

< s = +
=
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
Para K=1:
))) , ( ) , ( ( ), , ( (
1 1 1
j k Q k i Q j i Q MIN
k k k
+
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
Para K=2:
))) , ( ) , ( ( ), , ( (
1 1 1
j k Q k i Q j i Q MIN
k k k
+
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
Para K=3:
))) , ( ) , ( ( ), , ( (
1 1 1
j k Q k i Q j i Q MIN
k k k
+
) 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
Para K=4:
))) , ( ) , ( ( ), , ( (
1 1 1
j k Q k i Q j i Q MIN
k k k
+
) 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
) (
6 1 4 4
5 6 3 9
2 3 6 6
7 8 5 7
6 1 4 4
5 6 3 9
2 3 6 6
7 8 5 7
4 Mnimos P Q
|
|
|
|
|
.
|

\
|
= =
|
|
|
|
|
.
|

\
|
=
Ejercicio:
Encontrar la matriz de caminos mnimos por el algoritmo de Warschall
1.-
2.-
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
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
Representacin enlazada:
Tabla Inicial de Vrtices (TIV):
A 1
B 4
C 5
Tabla Final de Adyacentes (TFA):
A
A
B
C
C
A
B

Anda mungkin juga menyukai