Anda di halaman 1dari 26

INGENIERA DE

SISTEMAS E
INFORMTICA

Estructura de datos
INTEGRANTES:
BANCES PANTALEON ROBERTO
SANDOVAL MORENO DANI

MATRICES DE ADYACENTES

La matriz de adyacencia M es un array de


dos dimensiones que representa las
conexiones entre pares de vrtices. Sea un
grafo G con un conjunto de nodos V0 y un
conjunto de aristas A0.

Dos vrtices se dicen que son adyacentes


si hay un arco que los une. As Vi Y Vj son
adyacentes si existe un camino que los une.

MATRICES DE ADYACENTES EN
GRAFOS DIRIGIDOS

Las columnas y las filas de la matriz representan


los vrtices del grafo. Si existe una arista desde i a
j (esto es, el vrtice i es adyacente a j), el costo o
peso de la arista de i a j se introduce 1; si no existe
la arista se introduce un 0.
1, si existe una arista (Vi ,Vj) en AG, Vi es adyacente a Vj
M (i,j)=
0, en caso contrario

EJEMPLO:
j

0
0
0
0
0
0

1
0
0
0
0
0

0
1
0
1
0
0

0
0
0
0
0
0

0
0
1
0
0
0

0
0
1
0
0
0

i
1
2
3
4
5
6

EJEMPLO 2:
i j

MATRICES DE ADYACENTES EN
GRAFOS NO DIRIGIDOS

Si G es un grafo no dirigido, la matriz es


simtrica M(i,j) = M(j,i).
1, si existe una arista (Vi ,Vj) en AG, Vi es
adyacente a Vj
M (i,j)=
0, en caso contrario

Las aristas no estn ordenadas, es decir: en


lenguaje llano las aristas no tienen flecha.

EJEMPLO:

0
1
0
0
0
0

1
0
1
0
0
0

0
1
0
1
1
1

0
0
1
0
0
0

0
0
1
0
0
0

0
0
1
0
0
0

1
2
3
4
5
6

EJEMPLO 2:

MATRIZ DE CAMINOS
Camino: secuencia de vrtices (o nodos), tal que
dos vrtices consecutivos son adyacentes.
Camino de longitud 2: (A,B,D)
Camino de longitud 3: (C,B,A,B)
Camino de longitud 4: (C,B,A,B,D)

Es una matriz P, que representa si hay o no camino entre dos


vrtices (Vi ,Vj )
1 si entre (Vi ,Vj) hay camino
P i j=
0, sino lo hay

PARA DETERMINAR UNA MATRIZ DE CAMINO A


PARTIR DE UNA MATRIZ DE ADYACENCIA

Sea el grafo A y su matriz de adyacencia

Si lo elevamos al cuadrado podremos observar la


cantidad de caminos de tamao dos que existen
entre los vrtices, tal como se muestra:

Siguiendo con el ejemplo obtenemos la matriz


elevada al cubo y a la cuarta:

Ahora bien si sumamos las matrices que


obtuvimos anteriormente, generaremos una matriz
en donde estarn representadas la suma de todos
los posibles caminos para llegar a cierto vrtice del
grafo a otro.

Y si en esta matriz sustituimos todos los


nmeros diferentes de ceros por unos
obtendremos la siguiente matriz:

Esta matriz P se conoce como la matriz de caminos y


nos indica si es posible llegar a cierto nodo desde
otro, una matriz de caminos unitaria proviene de un
grafo conexo. Un grafo es conexo si entre cada dos
nodos hay un camino.

Algoritmo de Warshall
Algoritmo que es mas eficiente que calcular las
potencias de la matriz de adyacencia A y que permite
encontrar las matriz sumatoria B.
Para un grafo dirigido G con N nodos V1, V2, V3, ..,
Vm. Se halla la matriz de caminos P de la siguiente
manera:
1 Si existe un camino simple de Vi a Vj que no usa nodos,
Pk (i, j) aparte
=
de posiblemente V1, V2, V3, .., Vm.
0
En otro caso.

Algoritmo de Warshall
Warshall observo que: Pk (i, j) = 1
Cuando:
1. Existe un camino simple de Vi a Vj Pk (i, j) = 1
2. Existe un camino simple de Vi a Vk y otro camino
simple de Vk a Vi
Pk-1 (i, k) = 1 y Pk-1 (k, j) = 1
Por lo tanto los elementos de la matriz Pk se obtiene
de la siguiente manera:
Pk (i, j) = Pk (i, j) (Pk-1 (i, k) y Pk-1 (k, j))

Inicio
Repetir con i desde 1 hasta n
Repetir con j desde 1 hasta n
Si A [i, j] = 0
Entonces P (i, j)
0
Caso Contrario P (i, j) 1
Fin_Si
Fin_Repetir
Fin_Repetir
Repetir con k desde 1 hasta n
Repetir con i desde 1 hasta n
Repetir con j desde 1 hasta n
Si A [i, j] = 0 entonces
A [i, j]
A [i, k] y A [k, j]
Fin_Si
Fin_Repetir
Fin_Repetir
Fin_Repetir
Fin

K=1

K=2

K=3

K=4

Algoritmo de Camino Mnimo


Este algoritmo consiste en encontrar el camino ms corto entre todos los
vrtices del dgrafo.
Sea la grfica dirigida G= (V, A) donde cada arco u
v tiene asociado un
peso.
El algoritmo de Floyd permitir encontrar el camino ms corto entre cada
par ordenado u y v.
La matriz de distancia sirve como punto de partida para este algoritmo. Se
realizan k iteraciones sobre la matriz buscando el camino ms corto, por lo
tanto, en la k sima iteracin, Q [i, j] tendr el camino de menor costo
para llegar de i a j, pasando por un nmero de vrtices menor a k, el cual
se calculara segn la siguiente expresin:
Qk-1[i, j]
Qk [i, j] min =
Qk-1[i, k] + Qk-1[k, j]

Inicio
Repetir con i desde 1 hasta N
Repetir con j desde 1 hasta N
Si w (i, j) = 0
Entonces Q (i, j)
INFINITO
Caso Contrario Q (i, j)
w (i, j)
Fin_Si
Fin_Repetir
Fin_Repetir
Repetir con k desde 1 hasta N
Repetir con i desde 1 hasta N
Repetir con j desde 1 hasta N
Q (i, j)
MIN (Q (i, j), Q (i, k) + Q (k, j))
Fin_Repetir
Fin_Repetir
Fin_Repetir
Fin

Ejemplo:
7
4
U

R
2
5

Matriz de Distancias
R

GRACIAS

Anda mungkin juga menyukai