Algunos Ejercicios Acerca de Representaciones Ed Grafos
Algunos Ejercicios Acerca de Representaciones Ed Grafos
Algunos Ejercicios Acerca de Representaciones Ed Grafos
Representaciones de grafos
En las secciones anteriores representamos un grafo dibujándolo. A veces, como por ejemplo en el
uso de una computadora para analizar un grafo, necesitamos una representación más formal.
Nuestro primer método de representar un grafo usa la matriz de adyacencia.
Para obtener la matriz de adyacencia de este grafo, primero seleccionamos un orden de los
vértices, digamos a, b, c, d, e. A continuación, etiquetamos las filas y columnas de una matriz con
los vértices ordenados. La entrada (i,j) en esta matriz A, (fila i, columna j), con i diferente a j,
corresponde al número de ejes incidentes i entre los vértices j. Si i = j, la entrada es el doble del
número de bucles incidentes en i. La matriz de adyacencia para este grafo es
a b c d e
a 0 1 0 0 1
b 1 0 1 0 1
c 0 1 2 0 1
d 0 0 0 0 2
e 1 1 1 2 0
Observe que podemos obtener el grado de un vértice v en un grafo G sumando las entradas de la
fila v o las entradas de la columna v en la matriz de adyacencia de G.
2
La matriz de adyacencia no es una forma muy eficiente de representar un grafo. Como la matriz
es simétrica respecto a la diagonal principal (los elementos en una línea desde la esquina superior
izquierda hasta la esquina inferior derecha), la información, excepto la de la diagonal principal,
aparece dos veces.
a b c d e
a 0 1 0 1 0
b 1 0 1 0 1
c 0 1 0 1 1
d 1 0 1 0 0
e 0 1 1 0 0
Considere la entrada para la fila a, la columna c en A 2 , obtenida multiplicando por pares los
elementos en la fila a por las entradas en la columna c de la matriz A y sumando
La única manera de que aparezca un producto distinto de cero en esta suma es si ambas entradas
que se multiplican son 1. Esto sucede si hay un vértice v cuya entrada en la fila a es 1 y cuya
entrada en la columna c es 1. En otras palabras, debe haber ejes de la forma (a, v) y (v, c). Dichos
ejes forman un camino (a, v, c) de longitud 2 de a hasta c, y cada camino aumenta la suma en 1.
En este ejemplo, la suma es 2 porque hay dos caminos de longitud 2 de a hasta c. En general, la
entrada en la fila x y la columna y de la matriz A 2 es el número de caminos de longitud 2 desde
el vértice x al vértice y.
Las entradas en la diagonal principal de A 2 dan los grados de los vértices (cuando el grafo es un
grafo simple). Consideremos, por ejemplo, el vértice c. El grado de c es 3, ya que c incide en los
tres bordes (c, b), (c, d) y (c, e). Pero cada uno de estos ejes se puede convertir en una ruta de
longitud 2 de c a c:
Usando inducción matemática se puede mostrar que las entradas en la n-ésima potencia de una
matriz de adyacencia dan el número de caminos de longitud n.
4
Ejemplo 8.5.4 Después del Ejemplo 8.5.2, mostramos que si A es la matriz del grafo de la Figura
8.5.2, entonces
Al multiplicar,
encontramos que
La entrada de la fila d, columna e es 6, lo que significa que hay seis rutas de longitud 4 de d a e.
Por inspección, encontramos que son
(d, a, d, c, e), (d, c, d, c, e), (d, a, b, c, e), (d, c, e, c, e), (d, c, e, b, e), (d, c, b, c, e).
5
Ejemplo 8.5.5 Matriz de incidencia Para obtener la matriz de incidencia del grafo en la Figura
8.5.4, etiquetamos las filas con los vértices y las columnas con los ejes (en algún orden
arbitrario). La entrada para la fila v y la columna e es 1 si e es incidente en v y 0 de lo contrario.
Así, la matriz de incidencia para la gráfica de la figura 8.5.4 es
Observe que en una gráfica sin bucles, cada columna tiene dos 1 y que la suma de una fila
da el grado del vértice identificado con esa fila.
6
Ejercicios
1.- Para los siguientes grafos escriba sus respectivas matrices de adyacencia
4.
2.- En cada uno de los siguientes grafos del ejercicio anterior, escriba la matriz de incidencia.
3.- Dibuje un grafo que represente cada una de las matrices de adyacencia.
4.- Dibuje un grafo que represente cada una de las matrices de incidencia.
8
Isomorfismos de grafos
Se dan las siguientes instrucciones a dos personas que no pueden ver el papel del otro: "Dibuje y
etiquete cinco vértices a, b, c, d y e. Conecte a y b, b y c, c y d, d y e, y e y ”. Los grafos
producidos se muestran en la figura siguiente:
Figura 8.6.1
Seguramente estas figuras definen el mismo grafo aunque parezcan diferentes. Dichas gráficas se
dice que son isomorfas.
Los grafos son isomorfos si son lo mismo como grafos, aunque los nombres de los vértices y ejes
puedan ser diferentes. Como se muestra en la Figura 8.6.1, los grafos G1 y G2, no tienen el
mismo aspecto; pero, a excepción de los nombres de los vértices y aristas, son el mismo grafo.
Para decirlo de otra manera, si cambiamos el nombre del vértice a en G1 a A, y, de manera
similar, b a B, c a C, d a D, y e a E; y cambie el nombre del eje xi en G1 a yi para i = 1 a 5,
obtenemos el gráfico G2. [El eje x1, que fue incidente en (e, a), se convierte en el eje y1, que
ahora es incidente en (E, A); el eje x2, que fue incidente en (a, b), se convierte en el eje y2, que
ahora es incidente en (A, B); y así sucesivamente.] En general, en matemáticas, informática,
biología, química, etc., las estructuras son “isomorfas” si tienen la misma forma, pero no son
necesariamente idénticas.
Hay muchas aplicaciones prácticas de isomorfismo gráfico. Las huellas dactilares se pueden
modelar mediante grafos en los que los vértices representan patrones geométricos locales y los
ejes representan relaciones entre los patrones (consulte [Nandi]). De esta manera, un grafo de
huellas dactilares puede identificarse potencialmente comparándolo con una base de datos de
grafos de huellas dactilares. Una aplicación similar del isomorfismo grafos, representan las
estructuras químicas y biológicas como gráficos y las compara con las bases de datos de tales
9
Definición 8.6.1 Los grafos G1 y G2 son isomorfos si hay una función biyectiva f, de los
vértices de G1 a los vértices de G2 y una función biyectiva g, de los ejes de G1 hasta los ejes de
G2, de modo que un eje e incide en v y w en G1 si y solo si el eje g(e) incide en f(v) y f(w) en
G2. El par de funciones f y g se denominan isomorfismo de G1 en G2.
Ejemplo 8.6.2 Un isomorfismo para los gráficos G1 y G2 de la Figura 8.6.1 se define por
Teorema 8.6.4 Los grafos G1 y G2 son isomorfos si y solo si para algún orden de sus
vértices, sus matrices de adyacencia son iguales.
Prueba: Supongamos que G1 y G2 son isomorfos. Luego hay una función biyectiva, f desde los
vértices de G1 hasta los vértices de G2 y una función biyectiva, g desde los ejes de G1 a los ejes
de G2, de modo que un eje e es incidente en v y w si y solo si el eje g(e) es incidente en f(v) y
f(w) en G2.
Corolario 8.6.5 Sean G1 y G2 grafos simples. Los siguientes enunciados son equivalentes:
(a) G1 y G2 son isomorfos.
(b) Existe una función biyectiva f desde el conjunto de vértices de G1 al conjunto de
vértices de G2 que cumple lo siguiente: Los vértices v y w son adyacentes en G1 si y solo si
los vértices f(v) y f(w) son adyacentes en G2.
Prueba De la definición 8.6.1 se desprende inmediatamente que (a) implica (b). Demostramos
que (b) implica (a). Supongamos que hay una función biyectiva, desde el conjunto de vértices de
G1 al conjunto de vértices de G2 que satisface lo siguiente: Los vértices v y w son adyacente en
G1 si y solo si los vértices f(v) y f(w) son adyacentes en G2. Sea v1,. . . , vn un ordenamiento de
los vértices de G1. Sea A1 la matriz de adyacencia de G1 en relación con la ordenación v1,. . . ,
vn y sea A2 la matriz de adyacencia de G2 en relación con el ordenamiento f(v1),. . . , f(vn).
Dado que G1 y G2 son grafos simples, las entradas en las matrices de adyacencia son 1 (para
indicar que los vértices son adyacentes) o 0 (para indicar que los vértices no son adyacentes).
Debido a que los vértices v y w son adyacentes en G1 si y solo si los vértices f(v) y f(w) son
adyacentes en G2, sigue que A1 = A2. Por el teorema 8.6.4, G1 y G2 son isomorfos.
Ejemplo 8.6.6 La matriz de adyacencia del gráfico G1 en la Figura 8.6.1 relativa al vértice que
ordena a, b, c, d, e,
es igual a la matriz de adyacencia del gráfico G2 en la Figura 8.6.1 en relación con el orden de
los vértices A, B, C, D, E,
11
La siguiente es una forma de mostrar que dos gráficos simples G1 y G2 no son isomorfos.
Encuentre una propiedad de G1 que G2 no tiene pero que G2 tendría si G1 y G2 fueran
isomorfos. Tal propiedad se llama invariante. Más precisamente, una propiedad P es una
invariante cada vez que G1 y G2 son grafos isomorfos:
Según la Definición 8.6.1, si los grafos G1 y G2 son isomorfos, hay funciones biyetiva, de los
ejes (respectivamente, vértices) de G1 a los ejes (respectivamente, vértices) de G2. Por lo tanto,
si G1 y G2 son isomorfos, entonces G1 y G2 tienen el mismo número de aristas y el mismo
número de vértices. Por lo tanto, si e y n son enteros no negativos, las propiedades "tiene ejes e"
y "tiene n vértices" son invariantes.
Ejemplo 8.6.7 Los gráficos G1 y G2 en la Figura 8.6.3 no son isomorfos, ya que G1 tiene siete
ejes y G2 tiene seis ejes y "tiene siete ejes” es un invariante.
Ejemplo 8.6.8 Demuestre que si k es un entero positivo, "tiene un vértice de grado k" es un
invariante.
Sea E una ventaja que incide en f(v) en G2. Como g es sobre, hay un eje e en G1 con g(e) = E.
Dado que g(e) incide en f(v) en G2, según la Definición 8.6.1, e incide sobre v en G1. Como
e1, ..., ek son los únicos ejes en G1 que inciden en v, e = ei para algunos i ∈ {1,...,k}. Ahora
g(ei) = g(e) = E. Por lo tanto, δ (f (v)) = k, entonces G2 tiene un vértice, es decir, f(v), de grado
k.
Ejemplo 8.6.9 Dado que "tiene un vértice de grado 3" es un invariante, los gráficos G1 y G2 de
la Figura 8.6.4 no son isomorfos; G1 tiene vértices (a y f) de grado 3, pero G2 no tiene un vértice
de grado 3. Observe que G1 y G2 tienen los mismos números de ejes y vértices.
Otro invariante que a veces es útil es "tiene un ciclo simple de longitud k". Dejamos la prueba de
que esta propiedad es invariable como ejercicio.
Ejemplo 8.6.10 Dado que "tiene un ciclo simple de longitud 3" es un invariante, los grafos G1 y
G2 de la figura 8.6.5 no son isomorfos; el gráfico G2 tiene un ciclo simple de longitud 3, pero
todos los ciclos simples en G1 tienen una longitud de al menos 4. Observe que G1 y G2 tienen
los mismos números de bordes y vértices y que cada vértice en G1 o G2 tiene un grado 4.
13
Ejercicios
1.- Muestre que los grafos G1 y G2 de cada ejercicio son isomorfos
2.- Cualquier grafo isomorfo a G1 y G2 del ejercicio 4 se llama el grafo de Petersen. El grafo de
Petersen se usa mucho como ejemplo; de hecho, D. A. Holton y J. Sheehan escribieron un libro
completo al respecto (ver [Holton]).
Pruebe que el siguiente grafo es un grafo de Petersen mostrando que es isomorfo a los grafos del
ejercicio 4.
14
Grafos Planos
Tres ciudades, C1, C2 y C3, deben conectarse directamente por las autopistas a cada una de las
otras tres ciudades, C4, C5 y C6. ¿Puede este sistema de carreteras ser diseñado para que las
autopistas no se crucen? Un sistema en el que los caminos se cruzan se ilustra en la Figura 8.7.1.
Si intenta dibujar un sistema en el que los caminos no se cruzan, pronto se convencerá de que no
puede hacerse. Más adelante en esta sección explicamos cuidadosamente por qué no se puede
hacer.
15
Definición 8.7.1 Una grafo es planar si puede dibujarse en un plano sin cruzar sus ejes.
Al diseñar circuitos impresos, es deseable tener la menor cantidad de líneas que se puedan
cruzar; Así, el diseñador de circuitos impresos se enfrenta al problema de la planaridad.
Si se dibuja un grafo plano conectado en el plano, el plano se divide en regiones contiguas
llamadas caras. Una cara se caracteriza por el ciclo que forma su límite. Por ejemplo, en la
gráfica de la Figura 8.7.2, la cara A está delimitada por el ciclo (5, 2, 3, 4, 5) y la cara C está
delimitada por el ciclo (1, 2, 5, 1). La cara exterior D se considera limitada por el ciclo
(1,2,3,4,6,1). La gráfica de la Figura 8.7.2 tiene f = 4 caras, e = 8 aristas y v = 6 vértices.
f = e − v + 2. (8.7.1)
En 1752, Euler demostró que la ecuación (8.7.1) se cumple para cualquier grafo plano y
conectado. Al final de esta sección, mostraremos cómo probar (8.7.1), pero por ahora vamos a
mostrar cómo (8.7.1) se puede usar para mostrar que ciertos grafos no son planos.
SOLUCIÓN Supongamos que K3,3 es planar. Como cada ciclo tiene al menos cuatro ejes, cada
cara está delimitada por al menos cuatro aristas. Por lo tanto, el número de bordes que unen caras
es al menos 4f. En un grafo plano, cada eje pertenece a como máximo dos ciclos de delimitación.
Por lo tanto, 2e ≥ 4f. Usando (8.7.1), encontramos que 2e ≥ 4 (e - v + 2).
Obviamente, si una gráfica contiene K3,3 o K5 como subgrafo, no puede ser plana. Lo contrario
no es cierto; sin embargo, si introducimos el concepto de “grafos homeomorfos”, podemos
obtener una afirmación verdadera similar a la reciproco (ver Teorema 8.7.7).
Definición 8.7.3 Si un grafo G tiene un vértice v de grado 2 y ejes (v, v1) y (v, v2) con v1
diferente de v2, decimos que los ejes (v, v1) y (v, v2) están en serie. Una reducción en serie
consiste en eliminar el vértice v del gráfico G y reemplazar los ejes (v, v1) y (v, v2) por el eje
(v1, v2). Se dice que el grafo G’ resultante se obtiene de G mediante una reducción en serie. Por
convención, se dice que G se puede obtener de sí mismo mediante una reducción en serie.
Ejemplo 8.7.4 En el grafo G de la Figura 8.7.4, los bordes (v, v1) y (v, v2) están en serie. El
gráfico G’ de la figura 8.7.4 se obtiene de G mediante una reducción en serie.
17
De acuerdo con las Definiciones 8.7.3 y 8.7.5, cualquier grafo es homeomórfo a sí mismo.
Además, los grafos G1 y G2 son homeomorfos si G1 puede reducirse a un grafo isomorfo a G2 o
si G2 puede reducirse a un grafo isomorfo a G1.
Ejemplo 8.7.6 Los grafos G1 y G2 de la figura 8.7.5 son homeomorfos, ya que ambos pueden
reducirse al gráfico Gʹ de la figura 8.7.5 mediante una secuencia de reducciones de series.
Ejemplo 8.7.8 Demuestre que el grafo G de la figura 8.7.6 no es plano usando el teorema de
Kuratowski.
18
SOLUCIÓN Intentemos encontrar K3,3 en el grafo G de la Figura 8.7.6. Primero notamos que
los vértices a, b, f, y e tienen cada uno un grado 4. En K3,3 cada vértice tiene un grado 3, así que
eliminemos los bordes (a, b) y (f, e) para que todos los vértices tengan grado 3 (ver figura 8.7.6).
Notamos que si eliminamos un eje más, obtendremos dos vértices de grado 2 y luego podremos
realizar dos reducciones de series. El grafo resultante tendrá nueve aristas; ya que K3,3 tiene
nueve aristas, este enfoque parece prometedor. Usando ensayo y error, finalmente vemos que si
eliminamos el eje (g,h) y llevamos a cabo las reducciones de la serie, obtenemos una copia
isomórfa de K3,3 (ver Figura 8.7.7). Por lo tanto, el grafo G de la figura 8.7.6 no es plano, ya que
contiene un subgrafo homeomorfo a K3,3.
Aunque el teorema 8.7.7 proporciona una caracterización elegante de los grafos planares, no
conduce a un algoritmo eficiente para reconocerlos. Sin embargo, se conocen algoritmos que
pueden determinar si un grafo que tiene n vértices es plano en el tiempo O(n) (ver [Incluso,
1979]).
Concluiremos esta sección probando la fórmula de Euler.
Teorema 8.7.9 Fórmula de Euler para grafos.
Si G es un grafo plano y conectado con e aristas, v vértices y f caras, entonces, f = e − v + 2.
Prueba Usaremos la inducción sobre número de aristas. Supongamos que e = 1. Entonces G es
uno de los dos grafos que se muestran en la Figura 8.7.8.
19
Figura 8.7.8
En cualquier caso, la fórmula se mantiene. Hemos verificado el Paso Base.
Supongamos que la fórmula se mantiene para los grafos planos y conectados con n ejes. Sea G
un grafo con n + 1 aristas. Primero, supongamos que G no contiene ciclos. Elija un vértice v y
trace un camino que comience en v. Dado que G no tiene ciclos, cada vez que trazamos un eje,
llegamos a un nuevo vértice. Eventualmente, alcanzaremos un vértice a, con grado 1, que no
podemos dejar (ver Figura 8.7.9).
Eliminamos a y el eje x incidente en a del gráfico G. El grafo resultante Gʹ tiene n ejes; por lo
tanto, por el supuesto inductivo, (8.7.3) se mantiene para Gʹ. Como G tiene un eje más que Gʹ, un
vértice más que Gʹ y el mismo número de caras que Gʹ, se deduce que (8.7.3) también es válido
para G.
Ahora supongamos que G contiene un ciclo. Sea x un eje en un ciclo (ver Figura 8.7.10). Ahora x
es parte de un límite para dos caras. Esta vez eliminamos el eje x pero no vértices para obtener el
grafo Gʹ (ver Figura 8.7.10). De nuevo Gʹ tiene n aristas; por lo tanto,
20
por el supuesto inductivo, (8.7.3) se mantiene para Gʹ. Como G tiene una cara más que Gʹ, un eje
más que Gʹ y el mismo número de vértices que Gʹ, se deduce que (8.7.3) también es válido para
G. Por el Principio de Inducción Matemática, se prueba el teorema.
Ejercicios
1.- Muestre que cada uno de los siguientes grafos es planar, redibujándolo para que no se crucen
las aristas.
2.- En los siguientes grafos muestre que no son planares, encontrando el subgrafo homeomorfo a
K5 o K3,3.