MOR - Tema 1
Grafos
Conceptos básicos de teoría de grafos
Grafo. Definición
Llamamos grafo a un par donde:
- es un conjunto de puntos que representan elementos cualesquiera con
- es un conjunto de pares de elementos de
💡Nota
Notar que es un multiconjunto, es decir, puede contener elementos repetidos.
Grafos orientados y no orientados
Según haya orden o no en los pares de elementos de podemos distinguir dos tipos de grafos para un grafo :
- Grafo no dirigido: si es un conjunto de pares no ordenados de elementos de , es decir, dados dos elementos de : y entonces .
Por lo tanto, tenemos que y solemos representar los pares no ordenados como .
Los elementos del conjunto se llaman aristas o ejes y los elementos de presentes en un elemento se llaman extremos, vértices o nodos de la arista.
- Grafo dirigido (orientado): si es un conjunto en el que influye el orden de los pares, es decir, dados dos elementos de : y entonces .
Por lo tanto, tenemos que y solemos representar los pares ordenados como .
Los elementos del conjunto se llaman arcos y los elementos de presentes en un elemento se les llaman vértice inicial y vértice final del arco, respectivamente.
💡Nota
Visualmente, en los grafos no dirigidos las aristas se representan mediante líneas y en los dirigidos mediante flechas:
Y sus representaciones matemáticas serían:
- Grafo no dirigido:
- Grafo dirigido:
💡Observación
Evidentemente un mismo grafo admite muchas representaciones diferentes.
Grafo orientado equivalente a un grafo no orientado. Definición
Sea un grafo no orientado, decimos que el grafo orientado equivalente de es el grafo orientado donde:
✏️Ejemplo
Si consideramos el grafo no orientado :
Su grafo orientado equivalente es:
Grafo subyacente de un grafo orientado. Definición
Sea un grafo orientado , decimos que el grafo subyacente de es un grafo no orientado donde:
✏️Ejemplo
Si consideramos el grafo orientado :
Su grafo subyacente es:
💡Nota
Notar que si es un grafo no orientado, entonces . Sin embargo, si es un grafo orientado, en general .
Orden de un grafo. Definición
Llamamos orden de un grafo (se denota ) al cardinal de , es decir:
Tamaño de un grafo. Definición
Llamamos tamaño de un grafo (se denota ) al cardinal de , es decir:
💡Nota
Notar las siguientes relaciones:
- Si es grafo no orientado y su grafo orientado equivalente entonces:
- Si es grafo orientado y su grafo subyacente entonces:
Grafo trivial. Definición
Sea decimos que es un grafo trivial si y .
Grafo finito. Definición
Sea , es un grafo finito si , es decir, si es un conjunto finito.
P-Grafo. Definición
Sea un grafo, decimos que es un p-grafo si contiene a lo sumo arcos o aristas con los mismos extremos .
💡Notación
En general, usaremos la siguiente notación dado un grafo :
Bucle. Definición
Sea un grafo, decimos que tiene un bucle en si .
Grafo simple. Definición
Sea grafo decimos que es un grafo simple si es un 1-grafo y no tiene bucles.
Grafos finitos simples. Definición
Sea grafo decimos que es un grafo finito simple si es un grafo simple y finito.
Grafos orientados
Durante el resto de la sección, salvo que se indique lo contrario, trabajaremos con grafos orientados finitos simples.
💡Nota
Una duda natural podría ser la cantidad máxima de arcos que puede tener un grafo orientado finito simple de orden .
Para hacer el desarrollo intuitivo, consideremos una construcción básica de 4 nodos:
Y vamos a ir desarrollando el número de arcos que sale de cada nodo. Empezamos por el nodo :
A continuación el nodo :
Ahora el nodo :
Y finalmente, para el nodo ya no quedarían más arco que repartir. Ahora, para hacer las cuentas solo hace falta sumar estas arco (notando que cada arco realmente representa 2, al ser uno de a y otro de a ):
Podríamos observar que este comportamiento se repite indefinidamente por lo que llegamos que la fórmula general será:
Grafo orientado completo. Definición
Sea grafo orientado, decimos que es completo si es simple y se verifica que con se cumple:
💡Nota
En este caso, el número de arcos de siendo es claramente el número máximo de arcos que puede tener un grafo orientado simple, es decir:
Subgrafo. Definición
Sea grafo, si consideramos y , decimos que es subgrafo de .
Subgrafo generado. Definición
Sea grafo, llamamos subgrafo generado por un conjunto de vértices a donde:
Grafo parcial. Definición
Sea grafo, llamamos grafo parcial a cualquier subgrafo de que cumple .
Grafo complementario. Definición
Sea grafo, llamamos grafo complementario de al grafo simple con:
✏️Ejemplo
Sea , ¿cuánto vale ?.
Sea grafo simple orientado finito tal que , supongamos que . Ahora, por definición de grafo complementario:
Y basta notar que es precisamente el número máximo de arcos de un grafo simple finito orientado de orden , por lo tanto:
Por lo tanto, para hallar la suma basta con:
Adyacencia. Definción
Sea grafo, decimos que dos vértices son adyacentes si hay un arco que los conecta, es decir, dados son adyacentes si:
Vértice asilado. Definción
Sea grafo y dado un vértice decimos que es un vértice asilado si no es adyacente a ningún otro vértice, es decir, si:
Incidencia. Definición
Sea grafo, se dice que un arco es incidente en un vértice si es el vértice inicial o final del arco, es decir, si:
Grado de incidencia. Definición
Sea grafo y dado un vértice llamamos grado de incidencia de (se denota ) al número de arcos incidentes en , es decir:
Por lo que .
Además, podemos distinguir entre:
- Grado de salida de (se denota ) al número de arcos que salen de , i.e.:
- Grado de entrada de (se denota ) al número de arcos que llegan a , i.e.:
✏️Ejemplo
Dado y un vértice , ¿Cuánto vale ?
Sea grafo y un vértice cualquiera, por definición de grado de incidencia, grado de salida y grado de entrada:
Sucesores y predecesores. Definición
Sea grafo y dada una arcos , se dice que es el sucesor de y que es el antecesor/predecesor de .
Denotamos como al conjunto de sucesores de y como al conjunto de predecesores de , es decir:
Podemos notar que y son funciones reales tales que:
✏️Ejemplo
Dado y un vértice , ¿Cuánto vale ?, ¿y ?
Sea grafo y un vértice cualquiera, por definición de conjunto de sucesores:
Análogamente, por definición de conjunto de predecesores:
Camino. Definición
Sea grafo y dados , un camino de a es sucesión alternada de vértices y arcos desde hasta de la forma:
donde denotamos al arco y el camino de a se denota .
💡Observación
Notar que en el caso de trabajar con grafos simples, podemos emplear una representación abreviada empleando solo los vértices:
o solo los arcos:
ya que existe un único arco entre dos vértices cualesquiera.
Longitud de un camino. Definición
Sea grafo y un camino de a de la forma:
llamamos longitud de al número de arcos que contiene, es decir:
Se considera el camino de longitud 0, llamado camino trivial, que va de un vértice a sí mismo, es decir, .
Concatenación de caminos. Definición
Sean dos caminos y de la forma:
se define la concatenación o unión de y (y se denota ) como el camino:
Subcamino. Definición
Sea un camino se denomina subcamino a cualquier camino de la forma:
Camino simple. Definición
Sea grafo y un camino de a , decimos que es un camino simple si no repite ningún arco, es decir, si:
Camino elemental. Definición
Sea grafo y un camino de a , decimos que es un camino elemental si no repite ningún vértice, es decir, si:
Teorema 1.1
Todo camino elemental es un camino simple.
📐Demostración
Sea , supongamos por reducción al absurdo que existe un camino que es elemental pero no simple, es decir, que existe al menos un arco que se repite al menos dos veces en el camino.
De esta forma, el vértice aparece al menos dos veces en el camino, lo que contradice la hipótesis de que el camino es elemental.
💡Nota
Podemos notar que el recíproco del teorema no es en general cierto, es decir, no todo camino simple es elemental.
Supongamos un grafo con:
Que gráficamente sería:
Si construimos el camino simple siguiente:
Tenemos que es un camino simple, ya que no se repite ningún arco, pero no es elemental, ya que el vértice se repite.
Alcanzabilidad y descendientes. Definición
Sea grafo y dado un vértice , se dice alcanzable desde si existe un camino de a , es decir, si existe .
En el caso de que sea alcanzable desde , se dice que es un descendiente de .
Sea denotamos al conjunto de descendientes de , es decir:
💡Nota
Notar que ya que existe el camino trivial .
Ascendientes. Definición
Sea grafo y dado un vértice , se dice ascendiente de si existe un camino de a , es decir, si existe .
Denotamos , donde al conjunto de ascendientes de , es decir:
💡Nota
Notar que ya que existe el camino trivial .
Circuitos. Definición
Sea , llamamos circuito a un camino no trivial donde coincide el vértice inicial con el final.
Al igual que con los caminos, la longitud de un circuito es el número de arcos que contiene y podemos distinguir entre:
- Circuito simple si no repite ningún arco.
- Circuito elemental si no repite ningún vértice, salvo el inicial y el final.
Camino euleriano. Definción
Se llama camino euleriano a un camino simple que contiene todos los arcos del grafo.
Circuito euleriano. Definición
Se llama circuito euleriano a un camino euleriano que comienza y acaba en el mismo vértice. Equivalentemente, es un circuito simple que contiene todos los arcos del grafo.
Grafo euleriano. Definición
Se dice que un grafo es euleriano si contiene un circuito euleriano.
Camino hamiltoniano. Definición
Se llama camino hamiltoniano a un camino elemental que contiene todos los vértices del grafo.
Circuito hamiltoniano. Definición
Se llama circuito hamiltoniano a un camino hamiltoniano que comienza y acaba en el mismo vértice.
Grafo hamiltoniano. Definción
Se dice que un grafo es hamiltoniano si contiene un circuito hamiltoniano.
Grafos no orientados
Durante esta sección, salvo que se indique lo contrario, trabajaremos con grafos no orientados finitos simples.
Además, introduciremos una serie de conceptos básicos equivalentes a los de los grafos no orientados, pero adaptados a este tipo de grafos. De hecho, en muchas casos basta cambiar la terminología empleada.
Grado de incidencia. Definición
Sea grafo, dado un vértice llamamos grado de incidencia de al número de aristas que incluyen a , es decir:
Cadena. Definición
Sea grafo y dados , una cadena de a es sucesión de vértices y aristas que unen y .
Ciclos. Definición
Sea grafo, llamamos ciclo a una cadena que no repite aristas ni vértices, salvo el inicial y el final.
💡Nota
Notar que cualquier ciclo tiene que tener al menos 3 vértices, ya que en caso contrario se repetiría algún vértice o arista.
✏️Ejemplo
En un grafo en el que todas sus aristas forman un único ciclo (por lo que se dice que el grafo es un ciclo), ¿qué relación existe entre y ?
Sea un grafo no orientado en el que todas sus aristas forman un único ciclo, supongamos que .
Como supongamos todas las aristas del grafo. Sabemos que todas ellas forman un único ciclo, por lo que podemos construir el ciclo:
Por lo tanto, como cada arista conecta dos vértices, tenemos que:
Grafo completo. Definción
Sea grafo no orientado, se dice completo si es simple y para cualquier par de vértices con se cumple:
Denotamos al grafo completo de orden .
💡Nota
Sea el grafo completo , ¿cuánto vale ?
Sea , sabemos que cada par de vértices distintos está unido por exactamente una arista. El número de pares no ordenados de vertices es , es decir, elegir 2 vértices de sin importar el orden. Por lo tanto:
Otra posible forma de hacer esto sería por inducción. Los casos y son triviales y su fórmula es obvia:
Supongamos que la fórmula (que podemos obtener de forma similar a cuando calculamos algo similar pero para los grafos orientados) es correcta, es decir:
Así, si se cumple para , veamos si también lo hace para añadiendo exactamente aristas más:
lo que cumple la inducción.
Subgrafo, grafo generado, parcial y complementario. Definición
Estas definiciones son completamente análogas a las vistas para los grafos orientados.
✏️Ejercicio
Dado un grafo no orientado cualquiera , ¿cuánto vale ?.
Sea un grafo no orientado, supongamos que y que . Por definición de grafo complementario tendríamos que:
Por lo tanto:
✏️Ejercicio
¿Cuál es el complementario de ?
Sea el grafo completo no orientado, por definición de complementario, tenemos que tendrá un conjunto de aristas determinado por:
Por lo tanto, al ser completo, es decir, que cada par de vértices está conectado por una arista no quedaría ningún par libre para que aparezca . Así .
Representación matricial
Una de las principales problemáticas de los grafos es que, a medida que crecen en tamaño y grado, su representación gráfica puede ser muy compleja.
Sin embargo, un grafo puede representarse mediante una matriz, lo que facilita el trabajo sobre todo de cara a emplearse un ordenadores. La forma más habitual es mediante la matriz de adyacencia.
Matriz de adyacencia. Definción
Sea un grafo orientado de orden , definimos la matriz de adyacencia del grafo (denotada por ) como la matriz con:
Matriz de adyacencia en grafos orientados
Sea es un grafo orientado, podemos notar que estará formado por los vértices asociados a las columnas con 1 en la fila . De forma similar estará formado por los vértices asociados a las filas con un 1 en la columna , esto es:
✏️Ejercicio
Sea grafo simple orientado con y denotando su matriz de adyacencia:
- ¿Cómo son los elementos de la diagonal ?
Si entendemos que es simple, sabemos que no hay bucles, por lo tanto:
Sin embargo, si existiera algún bucle, tendríamos un 1 en la posición -ésima donde exista dicho bucle.
- ¿La matriz A(G) es siempre simétrica?
No necesariamente. Al ser un grafo orientado, la existencia de no implica la existencia de . Solo sería simétrica si con se cumple que:
- ¿Cuánto vale la suma de todos los elementos de la matriz ?
Cada entrada en la matriz vale 1 si existe el arco, es decir, que si hacemos la suma de todos los elementos de la matriz estaríamos contando los arcos, o lo que es lo mismo, calculando el tamaño de , esto es:
- ¿Cuánto vale la suma de la fila de dicha matriz?
Por un razonamiento similar al anterior, podemos notar sumar los elementos de la fila -ésima equivale a contar cuántos arcos salen del vértice , es decir, el grado de incidencia de salida:
- ¿Y la suma de la columna ?
Análogamente al apartado anterior, sería calcular el grado de incidencia de entrada, es decir:
- ¿Cuánto vale ?
En castellano, lo que estamos haciendo es recorrer todos los vértices sumando su grado de salida, lo que es equivalente a contar el número de arcos del grafo, es decir:
- ¿Y ?
Análogo al apartado anterior, sumar todos los grados de entrada es equivalente a contar todos los arcos:
- ¿Y ?
En este caso, el razonamiento es similar, sin embargo, como estamos recorriendo todos los vértices y sumando tanto el grado de entrada como el de salida, realmente estamos contado doble cada arco. Basta ver que:
Matriz de adyacencia en grafos no orientados
Sea un grafo no orientado de orden , la matriz de adyacencia del grafo es una matriz definida por:
✏️Ejercicio
Sea un grafo simple no orientado con y su matriz de adyacencia:
- ¿Cómo son los elementos de la diagonal ?
Si es simple, sabemos que no hay bucles, por lo que la diagonal estará formada por ceros:
Sin embargo, si existiera algún bucle, tendríamos un 1 en la posición -ésima donde exista dicho bucle.
- ¿La matriz A(G) es siempre simétrica?
Sí, ya que en un grafo no orientado se cumple que:
- ¿Cuánto vale la suma de todos los elementos de la matriz ?
Cada entrada de la matriz vale 1 si existe la arista, es decir, que si hacemos la suma de todos los elementos de la matriz estaríamos contando las aristas, o lo que es lo mismo, calculando el tamaño de , esto es:
- ¿Cuánto vale la suma de la fila de dicha matriz?
Por un razonamiento similar al anterior, podemos notar sumar los elementos de la fila -ésima equivale a contar cuántas aristas inciden en el vértice , es decir, el grado de incidencia:
- ¿Cuánto vale la suma de la columna ?
Análogamente al apartado anterior, sería calcular el grado de incidencia, es decir:
- ¿Cuánto vale ?
En este caso, el razonamiento es similar, sin embargo, como estamos recorriendo todos los vértices y sumando su grado de incidencia, realmente estamos contado doble cada arista. Basta ver que:
💡Observación
A partir de los ejercicios previos, podemos concluir que:
Y además:
Por lo tanto, dado un grafo (orientado o no orientado) se verifica:
Teorema 1.2. Potencias de la matriz de adyacencia
Sea un grafo orientado (no orientado) de orden y denota la potencia -ésima de la matriz de adyacencia de , el valor del elemento de dicha matriz es el número de caminos (cadenas) que hay de longitud de a para todo .
📐Demostración
La demostración se realizará sobre un grafo orientado de orden . La demostración para grafos no orientados es análoga.
Emplearemos inducción, para ello:
- Caso base: . En este caso, denotando al elemento de una matriz cualquier tenemos:
Por lo tanto, el elemento de es el número de caminos de longitud 1 de a . Al ser un 1-grafo, se tiene probado que es el número de caminos de longitud 1 de a para todo .
- Paso inductivo: Supongamos que se cumple para , y veamos si se cumple para . Puesto que:
Se tiene que:
Como por hipótesis de inducción tenemos que representa el número de caminos de longitud de a y estamos considerando todos los tales que tenemos que:
Y por lo tanto:
representa el número de caminos de longitud de a .
Número de caminos de longitud . Definición
Sea un grafo orientado (no orientado) de orden , el número de caminos (cadenas) de longitud de a se define como el elemento de la matriz :
✏️Ejemplo
Sea grafo no orientado y se consideran los vértices con :
- ¿Cuánto vale ?
Por definición de matriz de adyacencia, tenemos que:
Por lo tanto, es el número de cadenas de longitud 1 de a .
- ¿Qué representa + ?
Tenemos que es el número de cadenas de longitud 1 de a . Por otro lado, es el número de cadenas de longitud 2 de a . Por lo tanto, la suma de ambos términos es el número de cadenas de longitud 1 o 2 que comienzan y terminan en .
- ¿Representa el número de cadenas de longitud menor o igual a 3 entre e ?
No, ya que no se están considerando las cadenas de longitud 0, que es el camino trivial .
- ¿Qué representa ?
Tenemos que es el número de cadenas de longitud 2 de a y es el número de cadenas de longitud 2 de a . Por lo tanto, la suma de ambos términos es el número de cadenas de longitud 2 entre y .
- ¿Qué representa ?
El número de cadenas de longitud 1 o 2 de a .
Conexión
Una de las propiedades más importantes de un grafo es la conexión. Veremos los grafos no orientados primero y luego pasaremos a los orientados.
Conexión en grafos no orientados
Grafo conexo. Definición
Sea grafo no orientado, se dice que es conexo si para cualquier par de vértices existe una cadena que los une, es decir, si existe .
💡Nota
El grafo trivial se considera conexo dado que existe la cadena trivial.
Componente conexa. Idea intuitiva
Sea grafo no orientado, podemos notar que la relación binaria definida sobre como:
es una relación de equivalencia.
Así, llamaremos componentes conexas de a las clases de equivalencia de .
💡Nota
Notar que cada componente conexa con es subconjunto de . Además, cada genera un subgrafo conexo de definido como:
A este subgrafo también se le denomina componente conexa de
✏️Ejemplo
Se considera el siguiente grafo no orientado:
Podemos notar y por lo que tiene dos componentes conexas:
Y los subgrafos asociados son:
Componente conexa. Definición
Sea grafo no orientado, llamamos componente conexa de a un subconjunto de vértices tal que:
- El grafo generado por es conexo.
- El grafo generado por con no es conexo.
Orden de conexión. Definición
Sea grafo no orientado, se dice orden de conexión de al número de componentes conexas de y se denota por .
✏️Ejercicio
- ¿Cuánto vale ?
Sea grafo no orientado con y sus componentes conexas. Por definición de componente conexa, sabemos que:
Por lo tanto, si tenemos que:
Es decir, que .
- ¿Cuánto vale ?
Por un razonamiento similar al anterior, tenemos que:
Es decir, que .
Teorema 1.3
Sea grafo no orientado, se cumple que:
📐Demostración
Sea grafo no orientado, por definición de grafo conexo tenemos que:
Y por definición de la relación tenemos que:
Por lo que, esto es equivalente a decir que con se cumple que y están en la misma clase de equivalencia de es decir:
Así, el número de clase de equivalencia de la relación es 1 y, por definición de orden de conexión tenemos que:
Lema 1.4
Sea grafo no orientado, se cumple que:
📐Demostración
Sea grafo no orientado, procederemos por doble implicación:
- ) Sean un par de vértices, como conexo entonces . Aquí se dan dos casos:
\item[)] Sean con como cadena elemental, entonces es conexo por definición de grafo conexo.
Teorema 1.5
Sea grafo no orientado de orden con matriz de adyacencia y sea la matriz definida como:
donde es el elemento de dicha matriz con . Se tiene que las siguientes afirmaciones son equivalentes:
- es conexo.
- con
- tal que con
📐Demostración
- ) Sea grafo conexo, por el lema 1.4 sabemos que:
Puesto que es el elemental y , la cadena tiene una longitud como mucho de , es decir:
Por lo tanto, por el teorema 1.2 sabemos que el elemento de la matriz es un número positivo. Por lo tanto, por la definición de tenemos:
Como esto se ha probado para todo par de vértices con , se tiene:
- ) Trivial. Basta tomar cualquier y se cumple que para todo con .
- ) Sean queremos ver que en . Así, tenemos dos posibles casos:
Consecuencias I del Teorema 1.5
Como consecuencia del teorema, podemos destacar algunas consecuencias interesantes:
- Se cumple que es conexo si y solo si existe una fila de la matriz en la que todos los elementos que no están en la diagonal son distintos de cero.
- Si con tal que tiene una fila en la que todos los elementos que no están en la diagonal son distintos de cero, entonces es conexo.
✏️Ejercicio
- Dado el grafo cuya matriz de adyacencia es:
¿Podemos decir si es conexo?
Aún no podemos decir si es conexo, ya que no tiene ninguna fila con todos los elementos distintos de cero salvo el de la diagonal. Por lo tanto, debemos calcular más potencias de la matriz .
- Si se tiene que:
¿Podemos decir si es conexo?
Observando la matriz podemos ver que la fila 2 tiene todos los elementos distintos de cero salvo el de la diagonal, por lo que podemos concluir que es conexo por el teorema 1.5.
- ¿Es necesario hacer más potencias para determinar si el grafo anterior es conexo o no?
No, no es necesario. Por el teorema 1.5 basta con encontrar una fila de la matriz en la que todos los elementos que no están en la diagonal son distintos de cero para asegurar que el grafo es conexo.
Consecuencias II del Teorema 1.5
Además, a partir del apartado 2 del teorema 1.5 podemos extraer otras consecuencias:
- Un grafo no es conexo si y solo si existe algún elemento no diagonal de la matriz que sea nulo.
- En ese caso, no se puede asegurar que no sea conexo hasta llegar a la potencia , ya que la no existencia de una cadena de longitud no implica la no existencia de una cadena de longitud .
✏️Ejercicio
- Dado el grafo cuya matriz de adyacencia es:
¿Podemos decir si es conexo o no?
Aún no podemos afirmar si es conexo o no, ya que no tiene ninguna fila con todos los elementos distintos de cero salvo el de la diagonal, pero tampoco hemos calculado las potencias de la matriz .
- Si se tiene que:
Seguimos sin poder concluir nada ya que nos faltan potencias de la matriz como para negar que es conexo o una fila con todos los elementos distintos de cero salvo el de la diagonal para afirmar que es conexo.
- ¿Es necesario hacer más potencias para determinar si el grafo es conexo o no?
Sí, es necesario.
- Si se tiene que:
En este caso, ya podemos concluir que no es conexo, ya que hemos llegado a la potencia y no hay ninguna fila con todos los elementos distintos de cero salvo el de la diagonal.
- ¿Es necesario hacer más potencias para determinar si el grafo es conexo o no?
No, ya hemos determinado que no es conexo.
✏️Ejemplo
Sea un grafo simple no orientado con matriz de adyacencia asociada , ¿cómo son los elementos de la diagonal de ?
Por definición de matriz de adyacencia, tenemos que:
Pero como es un grafo simple, no tiene lazos, por lo que y por lo tanto:
Es decir, que todos los elementos de la diagonal de son nulos.
Sea un grafo simple no orientado conexo con y matriz de adyacencia asociada :
- ¿Cómo son los elementos de la diagonal de ?
Por definición de matriz de adyacencia, tenemos que:
Por lo tanto, los elementos de la diagonal de son el grado de cada vértice, es decir:
- ¿Cómo son los elementos de la diagonal de ?
Por definición de tenemos que:
Por lo que es la suma de los número de caminos de longitudes desde el vértice hasta sí mismo. Como es conexo, cada vértice tendrá al menos un vecino, por tanto, existirá al menos un camino de longitud 2, es decir, ir y volver al vecino, por lo que:
Consecuencias III del Teorema 1.5
Finalmente, podemos destacar otra consecuencia del teorema 1.5:
- Si el grafo no es conexo, la matriz nos da sus componentes conexas.
- La componente conexa que contiene al vértice 1 será la que contiene a todos los vértices tales que .
- Una vez determinada una componente conexa, se pueden eliminar todas sus filas y columnas de la matriz y repetir el proceso con la matriz resultante hasta que no queden filas ni columnas.
✏️Ejemplo
Sea el grafo descrito como:
Y su matriz es:
Por lo que las componentes conexas de son:
💡Nota
No siempre se dará que las componentes conexas estén formadas por filas y columnas consecutivas. Por ejemplo, podríamos tener algo como:
Algoritmo para determinar si un grafo no orientado es conexo
Sea la matriz de adyacencia de un grafo no orientado entonces:
- Hacer y
- Si tiene alguna fila con todos sus elementos no diagonales distintos de cero, el grafo es conexo (FIN), si no continuar a paso 3.
- Hacer :
💡Nota
El algoritmo pese a ser sencillo, no es eficiente. Tiene una complejidad de . Existen algoritmos más eficientes con complejidades de . Sin embargo, este permite obtener información sobre el número de caminos entre dos vértices.
💡Nota
Notar que se emplea la notación para la matriz que se va construyendo en el algoritmo, y no para la matriz definida en el teorema 1.5, aunque ambas matrices son iguales al finalizar el algoritmo en el caso de que se llegue a la iteración .
Teorema de Euler
Sea grafo no orientado conexo, se cumple que:
Caminos hamiltonianos en grafos no orientados
Gracias al teorema de Euler, este consiguió caracterizar completamente los grafos en los que existe un ciclo euleriano. Sin embargo, no existe un resultado análogo para los ciclos hamiltonianos.
En el caso de los hamiltonianos, existen determinados resultados que permiten asegurar que algunas formas particulares de grafo son o no hamiltonianas.
💡Nota
Una opción empleada a veces para ver si un grafo es hamiltoniano es intentar dibujarlo de tal forma que se vea claramente que existe un ciclo hamiltoniano. Sin embargo, este método no es fiable, ya que el hecho de no encontrar un ciclo hamiltoniano no implica que no exista.
También existen algoritmos para encontrar ciclos hamiltonianos, aunque no son infalibles.
Grafo bipartito. Definición
Sea grafo no orientado, se dice bipartito si es posible separar el conjunto de vértices en dos subconjuntos y tales que las aristas de solo unen vértices de con vértices de , es decir, no existen aristas que unan vértices dentro de ni dentro de . Es decir:
✏️Ejemplo
Sea un grafo como el que se muestra a continuación:
Es un grafo bipartito, ya que podemos separar el conjunto de vértices en:
Y todas las aristas unen vértices de con vértices de .
Grafo planar. Definición
Sea grafo no orientado, se dice planar si es posible dibujar en el plano de tal forma que las aristas solo se corten en los vértices. Es decir, si es posible representar en el plano sin que las aristas se crucen.
✏️Ejemplo
El grafo anterior admitiría una representación planar como la siguiente:
✏️Ejemplo
También es posible representarlo como sigue:
Donde es muy evidente que existe un ciclo hamiltoniano, que sería:
Grafo minimalmente conexo. Definición
Sea grafo, diremos que es un grafo minimalmente conexo si es conexo y el subgrafo que se obtiene al eliminar cualquier arista de no es conexo.
Proposición 1.6
Sea grafo no orientado conexo con , dada y donde , entonces:
📐Demostración
Sean los extremos de los vértices , i.e., tenemos:
- ) Sea grafo no orientado conexo, por definición se tiene que:
Como entonces es también cadena en . Le unimos :
- ) Sea ciclo en tal que , sean vértices cualquiera de , como es conexo, por definición se tiene que:
Así, tenemos dos posibles casos:
Arista puente. Definición
Sea un grafo no orientado conexo y , se dice que es una arista puente de si:
Corolario 1.7
Sea grafo no orientado con entonces son equivalentes:
- es minimalmente conexo.
- conexo y sin ciclos
- conexo y es arista puente de
📐Demostración
- ) Sea minimalmente conexo, entonces es conexo por definición. Si tuviera algún ciclo , por la proposición 1.6, dada cualquier arista se tendría que:
Lo que contradice la hipótesis de que es minimalmente conexo. Por lo tanto, no tiene ciclos.
- ) Por absurdo, supongamos conexo y sin ciclos, pero que existe que no es arista puente, esto es:
Aplicando la proposición 1.6 tenemos que ciclo en con , lo que contradice la hipótesis de que no tiene ciclos. Por lo tanto, es arista puente de .
- ) Sea conexo, si todas las aristas son puentes, entonces el subgrafo:
Por lo que se cumple la definición de grafo minimalmente conexo.
Lema 1.8
Sea grafo no orientado conexo con y una arista puente de . Si el grafo parcial con entonces:
📐Demostración
Sean los extremos de , i.e., , como arista puente de entonces:
y tenemos que están en dos componentes conexas distintas de . Además, al añadir se conectan dos clases de equivalencia distinta que pasan a ser una así:
Y como es conexo, se tiene que y por lo tanto:
Teorema 1.9
Sea grafo no orientado conexo entonces:
📐Demostración
Sea la propiedad ``cualquier grafo conexo con aristas que tiene como mucho vértices''. Vamos a probar por inducción que es cierto para todo :
- Caso base: . Como conexo y no tiene aristas, entonces la única posibilidad es que tenga un único vértice, por lo que:
Por lo tanto, es cierto.
- Caso general: supongamos que es cierta para todo , es decir:
Así, veamos si es cierto para donde se cumpliría que:
Sea grafo no orientado conexo cualquiera con aristas y sea cualquier arista de , definimos y tenemos:
💡Nota
De hecho, se puede ver que para cualquier grafo no orientado se tiene:
es decir, que si tiene componentes conexas:
Conexión en grafos orientados
En los grafos orientados, la conexión entre dos vértices ya no es tan sencilla como en los grafos no orientados ya que puede existir una cadena que una dos vértices en un sentido pero no en el otro. Así, se darán varios tipos de conexión que veremos en esta sección.
Conexión débil. Definición
Sea grafo orientado, se dice que es débilmente conexo si el grafo subyacente es conexo.
Conexión fuerte. Definición
Sea grafo orientado, se dice que es fuertemente conexo si existen un camino desde hasta .
💡Observación
Notar que si es fuertemente conexo, entonces es débilmente conexo, pero no al revés.
💡Nota
Se considera el grafo trivial fuertemente conexo pues existe el camino trivial
Proposición 1.10
Sea grafo orientado, las siguientes afirmaciones son equivalentes:
- tal que
- es fuertemente conexo
- se tiene que
📐Demostración
- ) Sean cualquiera, como por hipótesis tal que , entonces:
Por lo que camino desde hasta y camino desde hasta . Por lo tanto, podemos construir el camino:
que es un camino desde hasta . Como son arbitrarios, se cumple la definición de grafo fuertemente conexo.
- ) Sea cualquiera, como es fuertemente conexo, por definición se tiene que para cualquier :
Como trivialmente , se tiene que:
- ) Trivial.
💡Nota
Como consecuencias de este resultado tenemos:
- Si tal que entonces el grafo es fuertemente conexo.
- Si tal que entonces el grafo no es fuertemente conexo.
Componente fuertemente conexa. Definición
Sea grafo orientado, se define la relación binaria sobre como:
que es una relación de equivalencia. A cada clase de equivalencia se le llama componente fuertemente conexa de .
💡Nota
Evidentemente:
💡Nota
Por abuso de lenguaje, se suele llamar también componente fuertemente conexa al subgrafo generado por :
✏️Ejemplo
Dado el siguiente grafo orientado:
Aquí, tendríamos que:
Por lo que las componentes fuertemente conexas serían:
Y sus subgrafos asociados:
Orden de conexión fuerte. Definición
Sea grafo orientado, llamamos orden de conexión fuerte al número de componentes fuertemente conexas de y se denota por .
✏️Ejercicio
¿Se verifica que ?
Estaríamos realizando el sumatorio de los órdenes de las componentes fuertemente conexas de . De esta forma, como las componentes fuertemente conexas son clases de equivalencia que forman una partición del conjunto de vértices de , por lo tanto, son disjuntas y su unión es . Por lo tanto, sí se cumple.
¿Y se verifica que ?
En este caso, no se cumple necesariamente, ya que las aristas de pueden conectar vértices de distintas componentes fuertemente conexas. Por lo tanto, no se cumple en general.
Teorema 1.11
Sea grafo orientado, se cumple que:
📐Demostración
Esta demostración es análoga a la del teorema 1.3.
Sea grafo orientado, por definición de conexión fuerte se tiene:
Por definición de componente fuertemente conexa se tiene:
Por lo tanto, esto equivale a decir que y pertenecen a la misma clase de equivalencia, es decir:
Lo que implica que existe una única clase de equivalencia, es decir, que .
Algoritmo para detectar la conexión débil
Sea grafo orientado, para determinar si es débilmente conexo basta estudiar la conexión del grafo subyacente mediante el algoritmo visto para grafos no orientados.
Algoritmo para detectar la conexión fuerte
Sea grafo orientado y su matriz de adyacencia :
-
Elección de un vértice y se calcula y :
-
Sea entonces:
-
La componente fuertemente conexa del vértice viene dada por
-
Eliminar de las filas y columnas correspondientes a los vértices de .
-
Volver a 1 hasta no eliminar todos lo vértices.
💡Nota
Este algoritmo determina en tiempo las componentes fuertemente conexas de
💡Nota
Por la proposición 1.10, al terminar por primera vez el paso 3 podríamos determinar si es fuertemente conexo o no.
Grafo cuasi-fuertemente conexo. Definición
Sea grafo orientado, se dice que:
💡Nota
Esta definición es equivalente a decir que que verifica al menos una de las siguientes condiciones:
Si se da el primero de los supuestos, se dice que es cuasi-fuertemente conexo en sentido ascendiente con respecto al vértice . En el segundo caso, se dice que es cuasi-fuertemente conexo en sentido descendiente con respecto al vértice .
Teorema 1.12
Sea grafo orientado, se cumple que:
📐Demostración
Si es fuertemente conexo, consideramos cualquier , y sabemos que:
Por lo que y cumple la definición de grafo cuasi-fuertemente conexo.
Si es cuasi-fuertemente conexo, supongamos que verifica que tal que , entonces sea cualesquiera, por hipótesis:
Las aristas de formadas por los arcos de y forman una cadena en entre y . Así, es conexo y cumple la definición de grafo débilmente conexo.
✏️Ejercicio
Se verifican alguna de las implicaciones contrarias?
No, ya que:
- débilmente conexo no implica que sea cuasi-fuertemente conexo. Por ejemplo, si consideramos el grafo orientado dado por:
Es claramente débilmente conexo pero no existe un vértice tal que haya camino de a todos los demás vértices o de todos los demás vértices a , por lo que no es cuasi-fuertemente conexo.
- cuasi-fuertemente conexo no implica que sea fuertemente conexo. Por ejemplo, si consideramos el grafo orientado dado por:
El vértice 1 es raíz: hay caminos pero no hay por ejemplo. Por lo tanto, es cuasi-fuertemente conexo (con ) pero no es fuertemente conexo.
✏️Ejercicio
Sea grafo orientado y su grafo no orientado subyacente:
- ¿ fuertemente conexo es conexo?
Sí, ya que si es fuertemente conexo, entonces por el teorema 1.12 es débilmente conexo, y por definición de conexión débil es conexo.
- ¿ es cuasi-fuertemente conexo es conexo?
Sí, ya que si es cuasi-fuertemente conexo, entonces por el teorema 1.12 es débilmente conexo, y por definición de conexión débil es conexo.
- ¿ es débilmente conexo es conexo?
Sí, ya que por definición de conexión débil es conexo.
- ¿ es conexo es fuertemente conexo?
No necesariamente, ya que si consideramos el grafo orientado dado por:
Su grafo subyacente es:
que es claramente conexo, pero no es fuertemente conexo ya que no existe camino de 2 a 1.
- ¿ es conexo es cuasi-fuertemente conexo?
No necesariamente, ya que si consideramos el grafo orientado dado por:
Su grafo subyacente es:
que es claramente conexo, pero no es cuasi-fuertemente conexo ya que no existe ningún vértice tal que haya camino de a todos los demás vértices o de todos los demás vértices a .
- ¿ es conexo es débilmente conexo?
Sí, ya que por definición de conexión débil es conexo implica que es débilmente conexo.
✏️Ejercicio
Sea grafo no orientado y su grafo orientado equivalente:
- ¿ es conexo es fuertemente conexo?
Sí, ya que si es conexo, entonces el grafo orientado equivalente tiene caminos bidireccionales entre cualquier par de vértices, cumpliendo así la definición de grafo fuertemente conexo.
- ¿ es conexo es cuasi-fuertemente conexo?
Sí, ya que si es conexo, entonces es fuertemente conexo y por el teorema 1.12 es cuasi-fuertemente conexo.
- ¿ es conexo es débilmente conexo?
Sí, ya que si es conexo, entonces es fuertemente conexo y por el teorema 1.12 es débilmente conexo.
Minimalmente cuasi-fuermente conexo. Definición
Sea grafo orientado, se dice minimalmente cuasi-fuertemente conexo si:
- es cuasi-fuertemente conexo en sentido ascendiente o descendiente con respecto a un vértice
- no es cuasi-fuertemente conexo en sentido ascendiente o descendiente con respecto a para toda
💡Nota
Las definiciones de grafo minimalmente fuertemente conexo y minimalmente débilmente conexo son análogas, basta cambiar la palabra cuasi-fuertemente'' por fuertemente'' o ``débilmente''.