Teor´ıa de Grafos

Transcripción

Teor´ıa de Grafos
1 – Laboratorio de Matemáticas : Teorı́a de Grafos
Capı́tulo 1
Teorı́a de Grafos
1.1
Introducción: grafos y digrafos
En términos sencillos, un grafo consiste en un conjunto de puntos, que llamaremos vértices, y lı́neas que
unen o relacionan pares de vértices, que denominaremos aristas.
Los grafos se están convirtiendo en herramientas poderosas de múltiples disciplinas: ingenierı́a electrica
y civil, redes de comunicación, computación, economia, sociologı́a, etc. Tanto por su simplicidad como
modelo de muy variadas situaciones, como secillez para dar solución a los problemas, en muchos casos en
forma de algoritmos computables en ordenador.
Aparecen en diferentes campos bajo denominaciones distintas: “redes” en ingenierı́a electrica, “estructuras moleculares” en quı́mica, “mapas de carreteras”, “sociogramas”, “redes de telecomunicaciones”,
etc. El modelado es simple tomando los objetos (lugares, aparatos, personas, . . . ) como vértices y las
conexiones (cables, relaciones, tratos, . . . ) como aristas.
Ejemplo 1.- En la ciudad de Königsberg, existen siete puentes
que unen las riberas y dos islas formadas por el rı́o Pregel, de la
forma que indica el dibujo. ¿Hay alguna forma de recorrer los
siete puentes y volver al punto de partida, sin cruzar dos veces
por el mismo puente?
s
$
s
s
s
%
El grafo que aparece sobre el dibujo modela esa situación: cuatro puntos, que representan las partes de
tierra firme y las lı́neas que los unen, representando los puentes. El problema se reduce a saber si pueden
recorrerse todas las lı́neas sin repetir ninguna y acabar en el mismo punto.
Cuando se planteó esa pregunta a Euler ingenió la teorı́a de grafos y probó los primeros resultados antes
de dar su respuesta: no.
Definición 2.- Un grafo está formado por un par de conjuntos finitos, y se denota por G = (V, A),
donde V es el conjunto de vértices y A es el conjunto de aristas.
Cada arista de a ∈ A conecta dos vértices de V , que llamaremos extremos de la arista, y escribiremos
a = {x, y} para indicar que a conecta o une los vértices x e y . Diremos entonces que x e y son
adyacentes por a.
En un grafo podemos encontrarnos lazos (aristas cuyos extremos coinciden (en rojo en la figura, va de v3 a v3 ), aristas
múltiples (más de una arista conectando los mismos vértices
(arista de v1 a v6 , en dorado)) y vértices aislados (no están
conectados a ningún otro vértice ( v7 en la figura)).
v1 t
v6
t
tv7
t
t v3
v2
t
v4
t
v5
Pero también podemos hablar de grafos dirigidos donde cada arista tiene una dirección de recorrido;
modelos para una distribución de agua por la red de tuberias de la ciudad, la red viaria con calles de sentido
único, etc., son ejemplos de grafos dirigidos.
Prof: José Antonio Abia Vian
I.T.I. en Electricidad
2 – Matemáticas I : Teorı́a de Grafos
1.1 Introducción: grafos y digrafos
Definición 3.- Un digrafo o grafo dirigido está formado por un par de conjuntos finitos, y lo denotaremos
por D = (V, A), donde V es el conjunto de vértices y A es el conjunto de arcos o aristas dirigidas
entre los vértices.
Cada arco a ∈ A conecta dos vértices de V , que llamaremos respectivamente extremo inicial y extremo
final del arco, y escribiremos a = (x, y) para indicar que a conecta o une el vértice x con el vértice y .
Diremos también que x es adyacente a y y que a incide en y .
Si los grafos se representan con puntos y lı́neas que los unen, los digrafos se
representan con puntos y flechas entre ellos.
Desgraciadamente no hay una nomenclatura estándar para designar los tipos
de grafos ni los elementos que aparecen, por lo que es preciso fijarla y tenerlo
presente al consultar cualquier bibliografı́a sobre el tema.
t
-t
?6
t
t?
En una primera clasificación en grandes bloques, los grafos se distinguen por ser dirigidos o no, y por
tener o no aristas/arcos múltiples y lazos. De los grafos sin aristas múltiples ni lazos se dice que son simples
y los que sı́ los tienen suelen también denominarse como multigrafos.
En bastantes de los estudios con grafos, las propiedades se mantienen si consideramos un multigrafo
como un grafo simple (considerando las aristas múltiples como una sóla y los lazos como el propio vértice) y,
en buena medida, puede decirse que se mantiene la misma estructura (veremos varios ejemplos de ello a lo
largo del curso). Es por ello que nosotros trabajaremos generalmente con grafos simples y los denotaremos
expresamente por multigrafo (multidigrafo) cuando no lo sean.
Aunque la designación de “grafo” se aplica de manera genérica para denotar cualquiera de estos tipos,
y tras el comentario en parrafos anteriores, conviene fijar la designación cuando trabajamos en un tipo
concreto de ellos:
Notación 4.- Llamaremos grafos a los no dirigidos, sin aristas múltiples ni lazos (grafos no dirigidos
simples), y digrafos a los dirigidos, sin arcos múltiples ni lazos dirigidos (grafos dirigidos simples).
Si G = (V, A) es un grafo, con V = {v1 , v2 , . . . , vn }, escribiremos {vi , vj } ó {vj , vi } para denotar la
única arista que une ambos vértices.
Si D = (V, A) es un digrafo, denotaremos por (vi , vj ) el único arco que va de vi a vj .
Cuando el grafo o digrafo puede no ser simple, diremos que es un multigrafo o multidigrafo, respectivamente.
Observaciones 5.? En un grafo simple sólo puede haber una arista entre los mismos dos vértices, y
en un digrafo puede haber hasta dos arcos pero de sentidos contrarios.
? Si un grafo simple tiene n vértices, en cada vértice pueden incidir a lo más n − 1 aristas. Si es un
digrafo, de cada vértice pueden salir a lo más n − 1 arcos y pueden incidir en él n − 1 arcos como
mucho.
? Un grafo (no dirigido) puede considerarse tambien como un digrafo, sin más que cambiar cada arista
por dos arcos de sentidos contrarios.
Definición 6.- Un subgrafo (subdigrafo) de un grafo (digrafo), es un grafo (digrafo) formado con
vértices y aristas (arcos) del inicial.
Es decir, se obtienen eliminando aristas y/o vértices del inicial (si se elimina un vértice, también deben
eliminarse todas las aristas incidentes en él).
1.1.1
Matriz de adyacencia de un grafo
Un grafo o un digrafo D = (V, A) simple puede tambien describirse mediante una tabla o matriz que
indique las conexiones:
Prof: José Antonio Abia Vian
I.T.I. en Electricidad
3 – Matemáticas I : Teorı́a de Grafos
1.1 Introducción: grafos y digrafos
Definición 7.- Si D tiene n vértices, se llama matriz de adyacencia de D a la matriz cuadrada de orden
n, M = (mij )n×n , donde mij = 1 si el arco (vi , vj ) ∈ A, y mij = 0 en otro caso.
Si G es no dirigido, su matriz de adyacencia es simétrica (si la arista {vi , vj } está en A, también
está {vj , vi }).
v3
s
6
R s
v1
- s v4
s?
v2
v1
M = v2
v3
v4
v1
0
1
1
0
v2
0
0
0
1
v3
1
0
0
0
v3
v4
1
0
1
0
s
@
@
s v4

0
1

M =
1
1
@
@
@
@s
v2
s
v1
1
0
1
0
1
1
0
0

1
0


0
0
Fig. 1.1. Matrices de adyacencia
Si el grafo o digrafo es simple –es nuestro caso–, la diagonal está formada por ceros (no tiene lazos).
Si para formar un subgrafo eliminamos sólo aristas, su matriz de adyacencia se forma cambiando el
1 por un 0 en las posiciones correspondientes; pero si se elimina un vértice, debemos eliminar la fila y la
columna correspondientes a ese vértice en la matriz.
En un grafo el número de 1 en cada fila o columna es el número de aristas incidentes en el vértice
correspondiente a esa fila o columna; mientras que en un digrafo, el número de 1 de cada fila se corresponde
con el número de arcos salientes desde ese vértice y el número de 1 de cada columna indica el numero de
arcos que llegan a ese vértice.
Definición 8.- En un grafo no dirigido, el número de aristas incidentes en un vértice se denomina grado
del vértice, gr(v).
En un digrafo, se denomina ingrado de un vértice al número de arcos incidentes en un vértice, ing(v),
y exgrado al número de arcos salientes del vértice, exg(v).
? Si G es un grafo con n vértices y m aristas, no es dificil comprobar que
n
P
gr(vi ) = 2m.
i=1
n
P
? Si D es un digrafo con n vértices y m arcos, se tiene que
ing(vi ) =
digrafo, ing(vi ) =
n
P
k=1
1.1.1.1
mik y exg(vi ) =
n
P
n
P
k=1
mik =
exg(vi ) = m.
i=1
i=1
Si Mn×n es la matriz de adyacencia de un grafo, gr(vi ) =
n
P
n
P
mki . Y si es la matriz de un
k=1
mki .
k=1
Matriz de adyacencia de un multigrafo
Definición 9.- Si un multidigrafo D tiene n vértices, se llama matriz de adyacencia de D a la matriz
cuadrada de orden n, M = (mij )n×n , donde mij =“número de arcos de vi a vj ”, mii =“número de
lazos en vi ”, y mij = 0 en otro caso.
Si es un multigrafo no dirigido, su matriz de adyacencia será simétrica y mij =“número de aristas
entre vi y vj ”.
Las definiciones de grado, ingrado y exgrado valen para los multidigrafos; y las igualdades anteriores
también son válidas.
Prof: José Antonio Abia Vian
I.T.I. en Electricidad
4 – Matemáticas I : Teorı́a de Grafos
1.1.2
1.1 Introducción: grafos y digrafos
Ejercicios
1.1 La zona Z-72 de gestión de carreteras se ocupa de la red viaria entre las 6 ciudades del área. Hay
carretera entre A y C , A y E , B y C , B y D , B y F , C y D , C y E , y entre E y D .
(a) Dibujar un grafo para modelar esta situación.
(b) En una redistribución zonal, la ciudad B pasa a depender de la nueva zona Z-80, y las carreteras
que la unı́an con las ciudades de la Z-72 pasan a depender de la Interzonal 3. ¿Qué grafo
describirı́a la nueva situación de la Z-72? ¿Hay alguna peculiaridad reseñable?
(c) Si es C , en lugar de B , quien pasa a depender de la Z-80, ¿qué grafo describirı́a entonces la
nueva situación de la Z-72? ¿Hay alguna peculiaridad reseñable?
(d) Obtener la matriz M de adyacencia del grafo inicial y las matrices M1 y M2 de los subgrafos
construidos en los apartados anteriores. ¿Como se reflejan en las matrices las peculiaridades
observadas antes?
Introducir en el ordenador como M la matriz de adyacencia del grafo.
[i] Encuentra los vértices adyacentes a B y los adyacentes a D .
[ii] Construir a partir de ella las matrices M1 y M2 de los subgrafos obtenidos en ese ejercicio.
Hacerlo de dos formas: eligiendo los elementos que las forman y eliminando los que sobran.
[iii] Calcular el grado de cada vértice, calcular el número de aristas y comprobar que es cierta la
igualdad
n
P
gr(vi ) = 2m.
i=1
1.2 La matriz M representa las direcciones de circulación de las calles
entre 6 plazas A, B , C , D , E y F .
(a) El problema se modela usando un digrafo. ¿Por qué?
(b) Dibújalo. ¿Hay calles de doble dirección? ¿cuales?
(c) ¿Están conectadas todas las plazas?
(d) Si se cierra la plaza B por obras, ¿cuál serı́a la matriz de adyacencia del nuevo digrafo?

0
1

1

M =
0

0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
0
0
1
0
0
1
0
0
0

0
0

0


1

1
0
(e) Las conexiones entre las plazas restantes, ¿se mantienen?
Introducir en el ordenador la matriz M de adyacencia del digrafo.
[i] Hallar la traspuesta y comprobar que es distinta de M.
[ii] Implementar una bifurcación que nos diga si una matriz es o no cuadrada, y otro que nos diga
si es o no simétrica.
[iii] Comprobar que es cierta la fórmula
n
P
i=1
ing(vi ) =
n
P
exg(vi ) = m.
i=1
[iv] Construir, a partir de M, una matriz de tres columnas que por filas tenga el vértice, su ingrado
y su exgrado.
[v] Obtener la matriz M1 del digrafo resultante de cerrar la plaza B al tráfico.
[vi] Construir, a partir de M y mediante operaciones matriciales, la matriz A correspondiente a
hacer todas las calles de doble dirección.
[vii] ¿Que operador relacional usarı́as para comprobar que los arcos que figuran en M siguen estando
en A?
Prof: José Antonio Abia Vian
I.T.I. en Electricidad

Documentos relacionados