Tema 5 Teoría de grafos pps

Anuncio
Centro Asociado Palma de Mallorca
Lógica y
Estructuras
Discretas
Tutor: Antonio Rivero Cuesta
Tema 5
Teoría de Grafos
C o n cep to s
Básicos
Grafo
Un grafo consta de:
 Un conjunto de nodos,
 Un conjunto de aristas y
 Una correspondencia f del conjunto de aristas
al conjunto de nodos.
Arista Dirigida o Arcos
Si una arista se corresponde con un par ordenado.
V = {a, b,c} y E = {(a, b),(a,c),(b,c)}
a
b
c
Arista no Dirigida o Enlaces
En caso contrario.
V = {a,b,c} y E = {{a,b},{a,c},{b,c}}
a
b
c
Nodos adyacentes, son los pares de nodos que están
conectados por una arista dentro de un grafo.
Digrafo o grafo dirigido, es un grafo en el que toda
arista es dirigida.
Grafo no dirigido, es un grafo en el que todas las
aristas son no dirigidas.
Grafo mixto, si en un grafo hay aristas dirigidas y
aristas no dirigidas.
Sea G = (V,E) y sea e ∈ E una arista dirigida
asociada al par ordenado de nodos (u,v).
Se dice que la arista e sale del nodo u o comienza en
el nodo u y llega al nodo v o termina en el nodo v.
También se dice que los nodos u y v son los nodos
inicial y final de la arista e.
Una arista e ∈ E que conecte los nodos u y v tanto si
es dirigida como si no se dice que es incidentes en
los nodos u y v.
Conceptos
Avanzados Sobre
Grafos
En algunos grafos pueden existir ciertos pares de
nodos que estén unidos por más de una arista, se
denominan aristas paralelas.
Todo grafo que contenga aristas paralelas se
denomina multigrafo.
Si no hay más de una arista entre pares de nodos se
denomina grafo sencillo.
Una arista que conecte un nodo consigo misma se
denomina bucle o lazo.
a
b
c
d
Grafos ponderados, los que los números de las
aristas muestran los pesos de éstas.
3
a
4
c
4
b
3
2
d
1
Grado de entrada, es el número de aristas que
tienen a v como nodo final en un grafo dirigido.
Grado de salida, es el número de aristas que tienen
a v como nodo inicial en un grafo dirigido.
Grado total, es la suma del índice de entrada y el
índice de salida del nodo v, si el grafo es dirigido.
El Grado total en un grafo no dirigido es: 2m + n
m: aristas con bucles, n: aristas sin bucles.
Nodo aislado, es un nodo que no es adyacente a
ningún otro nodo. Su grado total es 0.
Grafo nulo, es un grafo que contenga solamente
nodos aislados.
Un grafo G = (V,E) es un subgrafo si
 V´ es subconjunto de V.
 E´ es subconjunto de E .
Un grafo G = (V,E) es completo si todos sus nodos
son adyacentes a todos los nodos del grafo.
Un grafo G = (V,E) se denomina grafo bipartito si
V se puede descomponer en dos subconjuntos V1 y
V2 tales que no haya dos nodos de V1 que sean
adyacentes ni tampoco dos nodos de V2.
V1 = {a, b, c}
V2 = {d, e, f}
a
d
b
e
c
f
Relación de Adyacencia
Sea G = (V, E) un grado dirigido.
Una relación de adyacencia de G, es una relación
binaria
Notación: RG
Matriz de Adyacencia
A cada grafo se le puede asociar una matriz de
adyacencia. Se denota MG. 0

0

0

0
1 1 0

0 1 1
0 0 0

0 0 1
a
b
c
d
Caminos y
Conectividad
Camino
Sea G = (V,E) un grafo.
Se dice que una sucesión de aristas es un camino de
G si y solo si el nodo terminal de cada arista del
camino es el nodo inicial de la próxima arista del
camino, si lo hubiere.
Un camino recorre los nodos que aparecen en la
sucesión, comenzando en el nodo inicial de la
primera arista y finalizando en el nodo terminal de
la última arista de la sucesión.
Utilizaremos para representar un camino los
corchetes [ , ].
Tipos Básicos de Caminos
Camino Nulo, es el camino que no contiene aristas.
Camino Sencillo, un camino de un grafo en el cual
todas las aristas son distintas.
Camino Elemental un camino en el que todos los
nodos son diferentes.
El número de nodos diferentes de cualquier camino
elemental de longitud k es k+1.
Digrafo con Camino Elemental.
e = [(1,3),(3,5),(5,6),(6,2),(2,4),(4,1)]
3
1
6
4
2
5
Ciclo, es un camino que comienza y acaba en el
mismo nodo.
Ciclo Sencillo si ninguna arista del ciclo aparece
más de una vez en el camino.
Ciclo Elemental si no pasa por ningún nodo más de
una vez.
Este grafo dirigido tiene un Ciclo Sencillo que
recorre todos los nodos.
1
2
3
6
4
5
Un digrafo que no tenga ningún ciclo se denomina
Aclíclico.
G = {(0,2),(1,3),(0,1),(1,2),(2,3),(4,3)}
0
1
3
2
4
Accesibilidad o Alcanzabilidad
Sea un grafo G = (V, E).
Diremos que existe tal relación si se cumple que b
es alcanzable desde a.
La alcanzabilidad es una relación binaria sobre el
conjunto de los nodos de un digrafo sencillo.
La alcanzabilidad es reflexiva y transitiva, pero no
necesariamente simétrica o antisimétrica.
Distancias en Caminos
Longitud del camino, es el número de aristas que
aparecen en la sucesión de un camino.
Camino mínimo o de longitud mínima, es el menor
camino que hay entre dos nodos cualesquiera del
grafo.
La longitud de un camino de longitud mínima del
nodo u al nodo v se denomina distancia y se denota
como d(u,v). Se supone que d(u,u)=0 para todo
nodo u.
La distancia d(u,v) desde un nodo u hasta un nodo
v satisface las propiedades siguientes:

d(u,v) ≥ 0

d(u,u) = 0

d(u,v) + d(v,w) ≥ d(u,w)
Si no puede alcanzarse v desde u se escribe:
d(u,v) = ∞.
Conexión en Grafos
Se dice que un grafo no dirigido es conexo si para
cualquier pareja de nodos del grafo se puede llegar
hasta el otro nodo partiendo de cualquiera de ellos.
Grafo Fuertemente Conexo
Si para toda pareja de nodos del grafo se pueden
alcanzar uno desde el otro.
a
b
c
d
Grafo Unilateralmente Conexo
Si para toda pareja de nodos del grafo al menos uno
de los nodos de esa pareja se puede alcanzar desde
el otro.
a
b
c
d
Grafo Débilmente Conexo
Si es conexo como grafo no dirigido.
a
b
c
d
Si un grafo es fuertemente conexo entonces es
unilateralmente conexo.
Si un grafo es unilateralmente conexo entonces es
débilmente conexo.
Sea un grafo no dirigido:
 Será débilmente conexo si y sólo si es
unilateralmente conexo.
 Será unilateralmente conexo si y sólo si es
fuertemente conexo.
Sea G = (V,E) un digrafo sencillo, y sea X⊂N, se
dice que el subgrafo cuyos nodos están dados por el
conjunto X y cuyas aristas son todas aquellas aristas
de G que tengan sus nodos iniciales y finales en X
es el subgrafo inducido por X.
Un subgrafo G1 se denomina maximal con respecto
a alguna propiedad si no hay ningún otro subgrafo
que también posea esa propiedad y que incluya a
G1.
Para un digrafo sencillo los subgrafos maximales
fuertemente conexos se denominan componentes
fuertes.
Un subgrafo maximal unilateralmente conexo o un
subgrafo maximal débilmente conexo se denominan
componente unilateral o componente débil.
Llamamos componente unilateral de un grafo a un
subgrafo maximal respecto a la propiedad ser
unilateralmente conexo.
Recorridos y
Tipos Especiales
de Caminos
Sucesor de un Nodo

Sea un grafo G = (V, E).

Dos nodos x, y ∈ V.
E l nodo y es sucesor de x si se cumple que:


(x, y) ∈ E.
{x, y} ∈ E.
Raíz de un Grafo
Sea G = (V, E) un grafo dirigido acíclico.
Se denomina raíz de G a un nodo r tal que el resto
de nodos es alcanzable desde r.
Ordenación de los Nodos de un
Grafo
Sea G = (V, E) un grafo dirigido.
La ordenación de los nodos es una secuencia de
nodos donde aparecen todos los nodos de V y no se
repite ninguno.
Recorrido en un Grafo
Sea un grafo dirigido conexo G = (V, E).
Es la ordenación que indica la secuencia en que se
van recorriendo los nodos del grafo desde una raíz,
siguiendo aristas del grafo.
Se visitan por orden.
Recorrido en Profundidad
Sea un grafo conexo G = (V, E).
Siempre se visita un sucesor del último nodo que se
ha visitado que aún tenga sucesores sin visitar.
Su funcionamiento consiste en ir expandiendo todos
y cada uno de los nodos que va localizando, de
forma recurrente, en un camino concreto.
Cuando ya no quedan más nodos que visitar en
dicho camino, de modo que repite el mismo proceso
con cada uno de los hermanos del nodo ya
procesado.
El recorrido de los nodos se almacena en una
estructura de pila o LIFO (Last in Firt Out).
El análisis temporal en el peor caso para el
procedimiento está en O(n + m).
Recorrido en Anchura
Sea un grafo conexo G = (V, E).
El recorrido en anchura se puede utilizar para
hallar la distancia más corta entre algún nodo inicial
y los nodos restantes del grafo.
La búsqueda comienza en el nodo inicial, a
continuación se visitan todos los nodos adyacentes
al nodo inicial, repitiendo este proceso hasta
recorrer todos los nodos.
Durante una búsqueda en amplitud en un grafo, se
sigue un árbol de camino mínimo o de expansión.
Los nodos del árbol se examinan por orden
creciente de número de nivel y de izquierda a
derecha.
El recorrido de los nodos se almacena en una
estructura de cola o FIFO (First in Firt Out).
El análisis temporal para el procedimiento está en
O(n + m).
Recorrido por Niveles
Sea un grafo conexo G = (V, E).
En una ordenación primero partimos de la raíz r.
Continuamos con los nodos que están a una arista
de distancia de r.
Después los que están a 2 aristas de distancia, y así
sucesivamente.
Orden Topológico en un Grafo
El orden topológico garantiza que un nodo siempre
se visita antes que cualquiera de sus sucesores.
Tipos especiales
de caminos
Grafo Hamiltoniano
Un Camino Hamiltoniano en un grafo es una
sucesión de aristas adyacentes que visita todos los
vértices del grafo una sola vez. Camino Elemental.
Si además el último vértice visitado es adyacente al
primero, el camino es un Ciclo Hamiltoniano.
Un Grafo es Hamiltoniano si contiene un ciclo
hamiltoniano.
Grafo Hamiltoniano
Grafo Euleriano
Un Camino Euleriano es un camino que pasa todas
las aristas una sola vez. Camino Sencillo.
Un Ciclo Euleriano es un camino cerrado que
recorre cada arista exactamente una vez, siendo
condición necesaria que regrese al vértice inicial de
salida.
Se denomina Grafo Euleriano a un grafo que
contiene un ciclo euleriano.
Un grafo no dirigido tiene un Camino Euleriano si
y sólo si tiene a lo sumo dos vértices de grado total
impar.
Un grafo conexo es un Grafo Euleriano si y sólo si
todos los vértices tienen grado total par.
Grafo Euleriano
Grafo Euleriano
1
3
6
5
2
4
Árboles
Un árbol de expansión de un grafo conexo no
dirigido G=(N,V) es un árbol libre si es conexo y
acíclico.
Todo árbol libre que contenga n nodos debe de
tener n-1 aristas.
Todo árbol de expansión para un grafo de n nodos
contiene siempre n − 1 aristas.
En un digrafo sencillo la longitud de cualquier
camino elemental es menor o igual que n-1, en
donde n es el número de nodos que haya en el grafo,
similarmente la longitud de cualquier ciclo
elemental no sobrepasará n.
El número de pares distintos de vértices en un grafo
con n vértices es n (n-1)/2.
Este es el número máximo de arcos en un grafo no
dirigido de n vértices.
Un grafo completo no dirigido tiene exactamente:
n (n-1)/2 arcos
En el caso de un grafo dirigido de n vértices que no
tiene arcos hacia sí mismo, el número máximo de
arcos es
n (n-1)
Peso de un Árbol
Es la suma de los pesos de las aristas del grafo
ponderado.
Árbol de Expansión Mínimo
Un árbol de expansión de un grafo ponderado
conexo y no dirigido en el cual la suma de los
costes de sus aristas sea mínima se denomina árbol
de expansión mínimo.
Árbol con Raíz
Tenemos:


Un árbol T.
Una raíz r de T.
Se denomina árbol con raíz al par (T, r)
Padre de un Nodo
Tenemos:
Un árbol con raíz (T, r).
Tenemos un nodo v distinto de la raíz r.
Llamamos padre de v a un nodo u que cumple que
la arista {u, v} pertenece a T.
u está en el recorrido del camino de T.
Hijo de un Nodo
Tenemos:
Un árbol con raíz (T, r).
Y u un nodo de T.
Cualquier nodo v del grafo T tal que u sea padre de
v.
Nodo Hoja
Tenemos un árbol con raíz (T,r).
Sea u un nodo de T.
Un nodo hoja es un nodo de T que no tiene hijos.
Descargar