El algoritmo de Havel-Hakimi es un algoritmo de teoría de grafos que resuelve el problema de realización de grafos . Es decir, responde a la siguiente pregunta: dada una lista finita de enteros no negativos en orden no creciente, ¿existe un grafo simple tal que su secuencia de grados sea exactamente esta lista? Un grafo simple no contiene aristas dobles ni bucles . [ 1 ] La secuencia de grados es una lista de números en orden no creciente que indica el número de aristas incidentes a cada vértice del grafo. [ 2 ] Si existe un grafo simple para la secuencia de grados dada, la lista de enteros se llama gráfico . El algoritmo de Havel-Hakimi construye una solución especial si existe un grafo simple para la secuencia de grados dada, o demuestra que no se puede encontrar una respuesta positiva. Esta construcción se basa en un algoritmo recursivo . El algoritmo fue publicado por Havel (1955) y posteriormente por Hakimi (1962) .
Algoritmo
El algoritmo de Havel-Hakimi se basa en el siguiente resultado.
Teorema . [ 3 ] SeaSea una lista finita de enteros no negativos que no es creciente .Sea una segunda lista finita de enteros no negativos que se reordena para que no sea creciente. Listaes gráfico si y solo si listaes gráfico.
Si la lista dadaes gráfico, entonces el teorema se aplicará como máximoLos tiempos se establecen en cada paso siguiente.Tenga en cuenta que puede ser necesario ordenar esta lista nuevamente. Este proceso termina cuando toda la listaconsta de ceros. SeaSea un grafo simple con la secuencia de grados: Sea el vérticetener título; sean los vérticesposeen los títulos respectivos; sean los vérticesposeen los títulos respectivosEn cada paso del algoritmo, se construyen las aristas de un grafo con vértices.—es decir, si es posible reducir la listaa, luego agregamos bordesCuando la listano se puede reducir a una listade enteros no negativos en cualquier paso de este enfoque, el teorema demuestra que la listaDesde el principio no es gráfico.
Prueba
A continuación se presenta un resumen basado en la demostración del algoritmo de Havel-Hakimi en Invitation to Combinatorics (Shahriari 2022).
Para demostrar que el algoritmo de Havel-Hakimi siempre funciona, supongamos quees gráfico, y existe un gráfico simple.con la secuencia de grados. Luego agregamos un nuevo vérticeadyacente a lavértices con gradospara obtener la secuencia de grados.
Para demostrar la otra dirección, supongamos quees gráfico, y existe un gráfico simple.con la secuencia de gradosy vérticesNo sabemos cuállos vértices son adyacentes a, por lo tanto, tenemos dos casos posibles.
En el primer caso,es adyacente a los vérticesenEn este caso, eliminamoscon todos sus bordes incidentes para obtener la secuencia de grados.
En el segundo caso,no es adyacente a algún vérticepara algunosenEntonces podemos cambiar el gráfico.de modo queestá adyacente amanteniendo la misma secuencia de grados. Desdetiene título, el vérticedebe ser adyacente a algún vérticeenpara: Sea el grado deserLo sabemos., como la secuencia de gradosestá en orden no creciente.
DesdeTenemos dos posibilidades: o, o. Si , luego intercambiando los lugares de los vérticesypodemos ajustarde modo queestá adyacente aen lugar deSi, entonces desdees adyacente a más vértices que, dejemos otro vérticeestar adyacente ay noEntonces podemos ajustareliminando los bordesyy añadiendo los bordesyEsta modificación conserva la secuencia de grados de, pero el vérticeahora está adyacente aen lugar deDe esta manera, cualquier vértice no conectado ase puede ajustar en consecuencia para queestá adyacente amanteniendo la secuencia de grados originalde. Por lo tanto, cualquier vértice no conectado apuede conectarse aUtilizando el método anterior, volvemos a tener el primer caso, a través del cual podemos obtener la secuencia de grados.. Por eso,es gráfico si y solo siTambién es gráfico.
Ejemplos
DejarSea una secuencia de grados finita y no creciente de enteros no negativos. Para comprobar si esta secuencia de grados es gráfica, aplicamos el algoritmo de Havel-Hakimi:
Primero, eliminamos el vértice con el grado más alto; en este caso,— y todos sus bordes de incidentes para obtener(suponiendo que el vértice con el grado más alto es adyacente alvértices con el siguiente grado más alto). Reorganizamos esta secuencia en orden no creciente para obtenerRepetimos el proceso, eliminando el vértice con el siguiente grado más alto para obtenery reorganizando para obtener. Continuamos con esta eliminación para obtener, y luegoEsta secuencia es claramente gráfica, ya que es el gráfico simple devértices aislados.
Para mostrar un ejemplo de una secuencia no gráfica, dejemossea una secuencia de grados finitos y no crecientes de enteros no negativos. Aplicando el algoritmo, primero eliminamos el gradovértice y todas sus aristas incidentes para obtener. Ya sabemos que esta secuencia de grados no es gráfica, puesto que afirma tenervértices con un vértice no adyacente a ninguno de los otros vértices; por lo tanto, el grado máximo de los otros vértices esEsto significa que dos de los vértices están conectados a todos los demás vértices con la excepción del aislado, por lo que el grado mínimo de cada vértice debe ser; sin embargo, la secuencia afirma tener un vértice con gradoPor lo tanto, la secuencia no es gráfica.
Por el bien del algoritmo, si repitiéramos el proceso, obtendríamoslo cual, aún más claramente, no es gráfico. Un vértice afirma tener un grado dey, sin embargo, solo otros dos vértices tienen vecinos. Por lo tanto, la secuencia no puede ser gráfica.
Véase también
Notas
- ↑ De Shahriari (2022, p. 48): " Definición 2.17 (Grafos y subgrafos). Un grafo simple (o simplemente un grafo ) G es un par de conjuntos ( V, E ) donde V es un conjunto no vacío llamado conjunto de vértices de G , y E es un conjunto (posiblemente vacío) de pares no ordenados de elementos distintos de V. El conjunto E se llama conjunto de aristas de G. Si el número de vértices de G es finito, entonces G es un grafo finito (o un grafo simple finito )."
- ↑ De Shahriari (2022, p. 355): « Definición 10.6 (La secuencia de grados de un grafo; secuencias gráficas). La secuencia de grados de un grafo es la lista de los grados de sus vértices en orden no creciente. Una secuencia no creciente de enteros no negativos se denomina gráfica si existe un grafo simple cuya secuencia de grados es precisamente esa secuencia.»
- ↑ West (2001), Teorema 1.3.31.
Referencias
- Havel, Václav (1955), "Un comentario sobre la existencia de grafos finitos" , Časopis pro pěstování matematiky (en checo), 80 (4): 477– 480, doi : 10.21136/CPM.1955.108220
- Hakimi, SL (1962), "Sobre la realizabilidad de un conjunto de enteros como grados de los vértices de un grafo lineal. I", Journal of the Society for Industrial and Applied Mathematics , 10 (3): 496–506 , doi : 10.1137/0110037 , MR 0148049 .
- Shahriari, Shahriar (2022), Invitación a la combinatoria, Cambridge U. Press.
- West, Douglas B. (2001). Introducción a la teoría de grafos. Segunda edición. Prentice Hall, 2001. 45–46.
- Algoritmos de grafos