You are on page 1of 53

CAMINOS Y

CONECTIVIDAD EN
GRAFOS
Dra. Dulce Rivero
Navegación de grafos

 En muchos problemas de modelación con grafos se quisiera


utilizar la capacidad para navegar el grafo por medio de los
arcos.
 Por ejemplo,
 ¿Cuál es la mejor ruta para hacer la distribución del
correo en una ciudad?
 ¿Cuál es la manera más económica de volar de una
ciudad a otra?
 Informalmente, una cadena, camino, ciclo, circuito es una
secuencia de arcos que permiten navegar el grafo de nodo en
nodo.
Cadena

 Cadenas: Es una secuencia de aristas de G, tal que cada


arista de la secuencia tiene un extremo común con el arco
precedente y otra con el siguiente.
 Largo de una cadena: es el número de aristas de la
secuencia.
 Cadena elemental: es aquella que no repite vértices.
 Cadena simple: es aquella que no repite aristas.
 Cadena cerrada: es aquella que el primer y el último vértice
se repite
Cadena
Cadena
Caminos
Definición
 Sea G = (V , E) un grafo no dirigido. Un camino entre los nodos u y v es
una secuencia e1e2 ・・・en tal que existen nodos x0, x1, x2, . . . , xn que
satisfacen lo siguiente:
 x0 = u y xn = v,
 para cada 1 ≤ i ≤ n, ei = (xi−1, xi).
 En tal caso, decimos que el camino es de largo n.
 Es toda cadena que no repite vértices ni aristas
 Si el grafo es simple podemos denotarlo tan solo por u,x1, x2, . . . , xn−1,v.
 Decimos que el camino es un circuito si u = v.
 Es simple si todos los ei ’s son distintos
Ejercicios

 El camino a,d,c,f,e, es un camino simple de longitud 4


 El camino b,c,f,e,b es un circuito
 Es camino a,b,e,d,a,b pero NO es un camino simple
Caminos en multigrafos
dirigidos
Definición
 Sea n un entero no negativo y G un grafo dirigido. Un camino
de longitud n de u a v en G es una secuencia de aristas
a1,a2,…….,an de G tal que f(a1) = (x1,x2), f(a2) = (x2,x3), …..,
f(an) = (xn-1,xn), donde x0 = u y xn = v .
 Si no hay múltiples aristas en el grafo dirigido, se denota este
camino por la secuencia de vértices por u,x1, x2, . . . , xn−1,v.
Caminos en multigrafos
dirigidos
 Preguntas interesante
 ¿Cuándo podemos concluir que es
posible alcanzar un nodo del grafo
desde cualquier otro nodo?
 ¿Cuándo o bajo que condiciones
siempre existe un camino entre un par
de nodos arbitrario de un grafo?
 Un grafo no dirigido es conexo si existe un
camino entre cada par de nodos distintos del
grafo.
 Por tanto existe un camino entre un par
de nodos arbitrarios si el grafo es
conexo
Potencias de la matriz

 Sea MA la matriz de adyacencia de un grafo G. Las potencias


de MA denotada por MAk contiene información acerca de los
caminos para ir de un vértice del grafo G a otro vértice con
determinada longitud igual a la potencia (k).
 Cada elemento MAijk es igual al número de recorridos de
longitud k entre i y j
 MAk = al producto de matrices (A x B)
 Ejemplo MA2 = MA x MA = número de caminos de
longitud 2
Potencias de la matriz
Alcanzabilidad

 Sea G = (V,A) un grafo


 Se dice que el vértice v alcanza al vértice u en G si existe una
cadena de longitud mayor o igual que cero de v a u
 Llamaremos matriz de acceso asociada al grafo G a la
matriz cuadrada (A) de orden n x n definida por aij
1 si el vértice vi alcanza al vértice vj
aij = 0 si el vértice vi NO alcanza al vértice vj
Ejemplo


Alcanzabilidad

 Que relación hay entre la matriz de adyacencia y la de acceso


Accesibilidad

 Como se obtiene (computacionalmente) la matriz d acceso


 Sea G = (V,A) un grafo
 LA matriz de acceso G se puede obtener a partir de la
aplicación reiterada de los método de
■ Búsqueda en anchura (BFS)
■ Búsqueda en profundidad (DFS)
Conexiones entre grafos –
componentes conexa
Proposición
 Existe un camino simple entre cada par de nodos distintos de
un grafo no dirigido.

 Si un grafo no es conexo, entonces está formado por la unión


disjunta de sus componentes conexas.
 Sea G un grafo no dirigido, entonces una componente conexa
de G es un subgrafo G′ de G tal que
1. G′ es conexo, y
2. G′ no es un subgrafo propio de otro subgrafo conexo de
G. Decimos que G′ es maximal.
Componentes conexas

 Ejemplo: Un grafo y sus componentes conexas.


Componentes conexas de
redes
 Se analizó el grafo de llamadas telefónicas de AT&T.
 El grafo tenía 53.767.087 vértices 170 x 106 aristas 3,7
x106 componentes conexas
 Dos números telefónicos estaban conectados si uno
había llamado al otro.
 Se descubrió una gran cantidad de pequeñas
componentes conexas (¾ partes) pares de números que
se llaman entre si
 Además existía una componente conexa muy grande,
que cubría casi al 80% de los números telefónicos
(44.989.297 vértices)
■ La distancia máxima en esta componente era tan solo 20.
Componentes conexas

 Vertice de corte
 Vértice que al eliminarse junto con sus aristas
incidentes produce un sub grafo con más componentes
conexas que la original
 Eliminar un vértice en un grafo conexo produce un
subgrafo no conexo
 Arista de corte
 Arista que al eliminarse produce un subgrafo con más
componentes conexas que la original
Ejercicio

 Que vértice o arista de corte existen en el grafo


 Vértice b,c,e
 Arístas {a,b} {c,e}
Ejercicio

 Construya la matriz de acceso para un conjunto de grafos y


establezca una relación entre los grafos conexos y la matriz
de acceso
Conectividad en grafos
dirigidos
 La definición es análoga a la de grafos no dirigidos, pero
tomando en cuenta la dirección.
 Dado grafo dirigido G = (V , E), el grafo no dirigido subyacente G′
de G se obtiene desde G computando la clausura simétrica de
E.
 Las definiciones de conectividad depende de si consideramos
o no la dirección de los arcos:
 Un grafo dirigido es fuertemente conexo, si para todo par
de vértices v, u existe un camino dirigido de v a u y de u a
v.
 Un grafo dirigido es débilmente conexo, si para todo par
de vértices v, u existe un camino entre v y u en el grafo no
dirigido subyacente.
Componentes conexas

 Una componente fuertemente conexa se define como antes


pero con respecto a grafos dirigidos y fuertemente conexos.
Ejemplo:
 El grafo de la web tiene una grafo subyacente no dirigido que
es no conexo, pero que tiene una componente conexa que
contiene cerca del 90% de sus páginas.
 Esta componente conexa, vista a su vez como grafo dirigido,
tiene una componente muy grande (53M de vértices) que es
fuertemente conexa, y que se llama la componente
fuertemente conexa gigante, más muchas otras más chicas.
Ejemplo

 Sea los grafos G y H, verificar si son fuertemente conexo o


débilmente conexos
Caminos e isomorfismos
 La existencia de ciertos caminos también puede ser utilizado
como invariante para demostrar que dos grafos son isomrfos.
 LA existencia de un circuito simple de longitud concreta k
>= 2
Ejercicio:
 Utilice un invariante de caminos para demostrar
= que los =
= siguientes grafos no son isomorfos. g g
g = grado 3 r r
3r a a
a = grado 2 d d
d o o
Numero
o de nodos G = H 3
= =3
3
Número de aristas G = H g g
r r
Son isomorfos? a a
d d
o o
Ejemplo
 H contiene un circuito simple de longitud 3 v1,v2,v3,v1
 G no contiene un circuito de grado 3, el circuito más corto es
de grado 4
 Por tanto no son isomorfos
Ejercicios
 Número de vértices
 Número de aristas
 Camino de longitud 3
 Camino de longitud 4
 Camino de longitud 5
 Son isomorfos?
 u1,u4,u3,u2,u5
 v3,v2,v1,v5,v4
 En H: pasan por todos los vértices, comienza en uno de
grado 3, pasa por vértices de grado 2, 3, 2 y acaba en
grado 2
 f(u1) = v3 , f(u4) = v2, …., f(u5) = v4
 Se mantiene las adyacencias
 Para ordenaciones adecuadas de las matrices de adyacencia de
G y H son iguales
Caminos

 Teorema
 Sea un grafo G y su matriz de adyacencia A con
respecto a alguna ordenación v1,v2,v3 ,….,vn. El número
de caminos distintos de longitud r de vi a vj , siendo r
>=0, es igual al elemento en la posición (i,j) de la matriz
Ar
Ejemplo
Ejemplo

 El pueblo de Königsberg, Prusia, está dividido en 4 secciones por


el río Pregel. Existen 7 puentes que unen las distintas secciones
como se muestra en la figura:

 La pregunta que se hacia la gente del pueblo en el Siglo XVIII era


si se podía comenzar en una de las 4 regiones, viajar a través de
todos los puentes sin cruzar ningún puente dos veces, para
luego volver a la misma región donde se comenzó
Circuitos Eulerianos

 La pregunta
 Podemos movernos por la aristas de un grafo comenzando
por un vértice y volviendo a él después de haber pasado
por cada arista exactamente una vez?
 Este problema es, en general, el problema de chequear si un
grafo contiene un circuito euleriano.
Definición
Sea G un grafo. Un circuito de G se dice que es euleriano si es
simple y pasa a través de todas las aristas de G.

Definición
Un camino euleriano es un camino simple que contiene todas
las aristas de G
Circuito euleriano

 En honor a Leonhard Eurler quien resolvió este problema


 Utiliza un multigrafo
 La regiones se representan por vértices
 Los puentes mediante aristas
Ejercicio

 Dada la siguiente figura diga cual contiene un camino


euleriano y cual un circuito euleriano

A B C
El grafo A= circuito a,e,c,d,e,b,a
El grafo C = camino euleriano a, c, d, e, b, d, a, b
El grafo B no contiene ni camino ni circuito euleriano
Ejercicio
• Dada la siguiente figura diga cual contiene un camino euleriano y
cual un circuito euleriano
Aplicaciones de los caminos
eulerianos
 El estudio de los caminos eulerianos puede ser aplicado en
varias áreas:
 Buscar caminos que cruzan todas las calles de una
ciudad;
 cada camino en una red de transportes;
 cada link en una red de computadores, etc.
Caracterización de Euler
 existe un criterio simple para determinar si un multigrafo
conexo contiene un circuito euleriano (Euler, 1736):
 Númro de aristas y vértices es finito
Teorema
Sea G un multigrafo conexo con al menos dos vértices.
Entonces G tiene un circuito euleriano si y solo si todos sus
vértices tienen grado par.
Demostración: necesaria

 Asuma primero que G tiene un circuito euleriano.


 Considere el circuito euleriano de G.
 Se inicia en a (grado(a)= 1) y continua con una arista
incidente con a
■ Incidente al vértice y sale del vértice (grado par)
■ Entonces este contribuye un número par de veces al grado de
cada vértice de G.
■ Circuito termina donde comenzó (a) por tanto grado(a) = 2
 Concluimos que todo los vértices de G tienen grado par.
 Asuma ahora que todo vértice de G tiene grado par.
Construiremos un circuito euleriano de G.
Demostración: suficiente
 Elija un vértice cualquiera v0 de G, y luego un arco (v0, v1) en
G tal que v0 ≠ v1 incidente con vo = a
 Continuamos creando un camino simple
(v0, v1), (v1, v2), . . . , (vn−1, vn)
 Es camino se acaba, no se pueda agregar más aristas. (Esto
sucederá en algún momento porque el grafo es finito)
Lemma
Siguiendo el procedimiento anterior debe ser el caso que
v0=vn.
 Comienza (a, v1) y termina en (vn-1,a)
 El camino atraviesa los vértices con grado par, una
arista para la entrada una para la salida
Ilustración de la demostración

 La siguiente figura ilustra la demostración: iniciamos en a


 a,f , f,c, c,b b,a

 Si se usan todas las aristas es un circuito euleriano


 Camino euleriano = = a,f,c,b,a
Ilustración de la demostración
 Considere el subgrafo H eliminamos aristas incidente a c
Lemma
El grafo resultante no es necesariamente conexo, pero todos
sus vértices tienen grado par.

 Hagamos c = w
 Vértices de H tiene grado par
 Construir un camino simple comenzando en w tomando
todas las aristas posibles c,d,e,c = camino

 Unir el camino anterior (a,f,c,b,a) con el actual (c,d,e,c), eso da


el circuito euleriano a,f,c,d,e,c,b,a
 lsqd Todo grafo con grado par e sus vértices contiene un
circuto euleriano
 Resolver el problema del puente de Königsberg,
Ejercicio

 Dibujar la figura dada (cimitarras de Mahoma) con un solo


trazo continuo sin levantar el lápiz del papel y sin repetir
ningún trazo
Ejercicio

 Cual de las siguientes figuras contiene un camino euleriano


Caracterización de los
caminos eulerianos
Teorema
Sea G un multigrafo conexo con al menos dos vértices.
Entonces G tiene un camino pero no un circuito euleriano si
y solo si tiene exactamente dos vértices de grado impar.

Tarea: demostrar este teorema


Caracterización de los
caminos eulerianos
Teorema
Sea G un multigrafo dirigido cuyo grafo no dirigido
subyacente es conexo. Entonces G contiene un circuito
euleriano si y solo si el grado de entrada de cada nodo
coincide con su grado de salida.

Tarea: demostrar este teorema


Circuitos hamiltonianos

 Un concepto relacionado a los circuitos eulerianos:


Definición
Sea G un grafo. Un circuito de G se dice que es
hamiltoniano si es simple y pasa por cada vértice de G
exactamente una vez. Es decir x0, x1, …, xn-1, xn ,x0 n > 1
Definición
Se dice que un camino x0, x1, …, xn-1, xn del grafo es un
camino hamiltoniano si V= {x0, x1, …, xn-1, xn } y xi ≠ xj para
0≤ i<j≤ n
Circuitos hamiltonianos

 Esta simple variación vuelve el problema más complejo: No


se conoce caracterización de los grafos que admiten un
circuito hamiltoniano (Y la complejidad del problema también
aumenta).
Circuitos hamiltonianos


Consideraciones

 Algunas consideraciones con respecto a los circuitos


hamiltonianos:
 Si un grafo tiene un vértice que está pendiendo (grado =
1) entonces no puede tener un camino hamiltoniano;
 Si un nodo tiene grado dos, entonces los dos aristas que
le son incidentes tienen que ser parte del camino
hamiltoniano;
 Si un nodo tiene grado mayor que dos, y se sabe que
dos de los arcos incidentes pertenecen al camino
hamiltoniano, entonces el resto de los arcos incidentes
no pertenecen
Consideraciones

 Algunas consideraciones con respecto a los circuitos


hamiltonianos:
Teorema de Dirac
Sea G un grafo simple con n vérticas n ≥ 3 tal que todos
los vértices de G tienen un grado ≥ n/2. Entonces, G
contiene un circuito hamiltoniano

Teorema de Ore
Sea G un grafo simple con n vérticas n ≥ 3 tal que grado(u) +
grado(v) ≥ n para cada par de vértices no adyacentes u y v de G.
Entonces, G contiene un circuito hamiltoniano
Ejercicio

 Demuestre que los siguientes grafos no tienen circuitos


hamiltonianos.
APLICACION: CODIGOS DE GRAY
 Una manera de convertir la posición angular de un indicador
rotativo a forma digital es dividir el círculo en 2n sectores
iguales, etiquetar los segmentos con números binarios de 0 a
2n − 1 y registrar el número de segmento que señala el
indicador mediante algún sistema digital.
APLICACION: CODIGOS DE GRAY
 Para leer la etiqueta mediante el uso de sensores podemos
colocar n anillos concêntricos segmentados, de manera que
el indicador haga contacto con el anillo i si y sólo si el i ésimo
dígito de la etiqueta es un 1.

Figura (a): Si el indicador está en 00 pero cerca de la frontera entre 00 y 11, una
pequeña irregularidad en el contacto puede hacer que selea 01 (sector
adyacente lejano), o 11 (sector adyacente), o 10 (sector opuesto). Errores en los
dos dígitos.

Figura (b): Sólo se pueden producir errores en un sólo dígito y caso de producirse
el error nos lleva siempre al sector más adyacente.
APLICACION: CODIGOS DE GRAY
 Definición
 Un código de Gray de longitud n es una asignación de
etiquetas a los 2n sectores iguales del círculo con expresiones
binarias de longitud n, de manera que las etiquetas de
sectores adyacentes difieran en exactamente en un dígito.

 Podemos ver la construcción de un código de Gray como un


problema de grafos:
 Consideremos como conjunto de vértices
V = {0, 1}n
APLICACION: CODIGOS DE GRAY
V = {0, 1}n V= números binarios de longitud n,
 Unamos dos vértices u, v ∈ V con una arista si u y v difieren
en exactamente un dígito.
 Se puede demostrar por inducción que este grafo es
Hamiltoniano para n ≥ 2; recibe el nombre de n-cubo y se
representa por Qn.
 Es evidente que un código de Gray corresponde a un ciclo
Hamiltoniano en Qn.

You might also like