stringtranslate.com

Ciclo (teoría de grafos)

Un gráfico con bordes coloreados para ilustrar un paseo cerrado , H–A–B–A–H, en verde; un circuito que es un paseo cerrado en el que todos los bordes son distintos, B – D – E – F – D – C – B, en azul; y un ciclo que es un recorrido cerrado en el que todos los vértices son distintos, H – D – G – H, en rojo.

En teoría de grafos , un ciclo en un gráfico es un camino no vacío en el que sólo el primer y el último vértice son iguales. Un ciclo dirigido en un gráfico dirigido es un sendero dirigido no vacío en el que sólo el primer y el último vértice son iguales.

Un gráfico sin ciclos se llama gráfico acíclico . Un gráfico dirigido sin ciclos dirigidos se llama gráfico acíclico dirigido . Un gráfico conexo sin ciclos se llama árbol .

Definiciones

Circuito y ciclo

Sea G = ( V , E , Φ ) una gráfica. Un circuito es un camino no vacío ( e 1 , e 2 , ..., e n ) con una secuencia de vértices ( v 1 , v 2 , ..., v n , v 1 ) .

Circuito dirigido y ciclo dirigido.

Sea G = ( V , E , Φ ) una gráfica dirigida. Un circuito dirigido es un sendero dirigido no vacío ( e 1 , e 2 ,..., e n ) con una secuencia de vértices ( v 1 , v 2 ,..., v n , v 1 ) .

ciclo sin cuerdas

En este gráfico, el ciclo verde A – B – C – D – E – F – A no tiene cuerdas, mientras que el ciclo rojo G – H – I – J – K – L – G no lo es. Esto se debe a que la arista {K, I} es una cuerda.

Un ciclo sin cuerdas en un gráfico, también llamado agujero o ciclo inducido, es un ciclo tal que no hay dos vértices del ciclo que estén conectados por una arista que no pertenezca al ciclo. Un antiagujero es el complemento de un agujero gráfico. Se pueden utilizar ciclos sin cuerdas para caracterizar grafos perfectos : según el teorema del grafo perfecto fuerte , un grafo es perfecto si y sólo si ninguno de sus agujeros o antiagujeros tiene un número impar de vértices mayor que tres. Un gráfico cordal , un tipo especial de gráfico perfecto, no tiene agujeros de ningún tamaño mayor que tres.

La circunferencia de un gráfico es la longitud de su ciclo más corto; este ciclo es necesariamente sin cuerdas. Las jaulas se definen como los gráficos regulares más pequeños con combinaciones dadas de grado y circunferencia.

Un ciclo periférico es un ciclo en un gráfico con la propiedad de que cada dos aristas que no están en el ciclo pueden conectarse por un camino cuyos vértices interiores evitan el ciclo. En un gráfico que no se forma agregando una arista a un ciclo, un ciclo periférico debe ser un ciclo inducido.

espacio de ciclo

El término ciclo también puede referirse a un elemento del espacio de ciclo de un gráfico. Hay muchos espacios de ciclo, uno para cada campo o anillo de coeficiente. El más común es el espacio de ciclo binario (generalmente llamado simplemente espacio de ciclo ), que consta de conjuntos de aristas que tienen grados pares en cada vértice; forma un espacio vectorial sobre el campo de dos elementos . Según el teorema de Veblen , cada elemento del espacio de ciclos puede formarse como una unión de bordes disjuntos de ciclos simples. Una base de ciclo del gráfico es un conjunto de ciclos simples que forma la base del espacio de ciclos. [2]

Utilizando ideas de la topología algebraica , el espacio del ciclo binario se generaliza a espacios vectoriales o módulos sobre otros anillos como los números enteros, racionales o reales, etc. [3]

Detección de ciclo

La existencia de un ciclo en gráficos dirigidos y no dirigidos se puede determinar en función de si una búsqueda en profundidad (DFS) encuentra un borde que apunta a un antepasado del vértice actual (es decir, contiene un borde posterior ). [4] Todos los bordes posteriores que DFS omite son parte de ciclos. [5] En un gráfico no dirigido, el borde del padre de un nodo no debe contarse como un borde posterior, pero encontrar cualquier otro vértice ya visitado indicará un borde posterior. En el caso de gráficos no dirigidos, solo se requiere O ( n ) tiempo para encontrar un ciclo en un gráfico de n -vértices, ya que como máximo n  − 1 aristas pueden ser aristas de árbol.

Muchos algoritmos de clasificación topológica también detectarán ciclos, ya que esos son obstáculos para que exista el orden topológico. Además, si un grafo dirigido se ha dividido en componentes fuertemente conectados , los ciclos solo existen dentro de los componentes y no entre ellos, ya que los ciclos están fuertemente conectados. [5]

Para gráficos dirigidos, se pueden utilizar algoritmos distribuidos basados ​​en mensajes. Estos algoritmos se basan en la idea de que un mensaje enviado por un vértice en un ciclo volverá a sí mismo. Los algoritmos de detección de ciclos distribuidos son útiles para procesar gráficos a gran escala utilizando un sistema de procesamiento de gráficos distribuido en un grupo de computadoras (o supercomputadora).

Las aplicaciones de la detección de ciclos incluyen el uso de gráficos de espera para detectar interbloqueos en sistemas concurrentes. [6]

Algoritmo

El uso antes mencionado de la búsqueda en profundidad para encontrar un ciclo se puede describir de la siguiente manera:

Para cada vértice v: visitado(v) = terminado(v) = falsoPara cada vértice v: DFS(v)

dónde

DFS(v) = si terminó (v): regresar si lo visita(v): "Ciclo encontrado" devolver visitado(v) = verdadero para cada vecino w: DFS(w) terminado(v) = verdadero

Para gráficos no dirigidos, "vecino" significa todos los vértices conectados a v , excepto el que se llama recursivamente DFS(v) . Esta omisión impide que el algoritmo encuentre un ciclo trivial de la forma vwv ; estos existen en cada gráfico no dirigido con al menos una arista.

En cambio , una variante que utilice la búsqueda en amplitud encontrará un ciclo de la longitud más pequeña posible.

Cubriendo gráficos por ciclo.

En su artículo de 1736 sobre los Siete Puentes de Königsberg , ampliamente considerado como el nacimiento de la teoría de grafos, Leonhard Euler demostró que, para que un grafo finito no dirigido tenga un recorrido cerrado que visite cada borde exactamente una vez (lo que lo convierte en un sendero cerrado), es necesario y suficiente que esté conectado excepto en los vértices aislados (es decir, que todas las aristas estén contenidas en un componente) y que tenga grado par en cada vértice. La caracterización correspondiente para la existencia de un recorrido cerrado que visita cada arista exactamente una vez en un gráfico dirigido es que el gráfico esté fuertemente conectado y tenga el mismo número de aristas entrantes y salientes en cada vértice. En cualquier caso, el sendero cerrado resultante se conoce como sendero euleriano . Si un grafo finito no dirigido tiene grado par en cada uno de sus vértices, independientemente de si está conexo, entonces es posible encontrar un conjunto de ciclos simples que juntos cubren cada arista exactamente una vez: este es el teorema de Veblen . [7] Cuando un gráfico conectado no cumple las condiciones del teorema de Euler, se puede encontrar en tiempo polinómico un recorrido cerrado de longitud mínima que cubra cada borde al menos una vez resolviendo el problema de inspección de ruta .

El problema de encontrar un ciclo simple que cubra cada vértice exactamente una vez, en lugar de cubrir los bordes, es mucho más difícil. Tal ciclo se conoce como ciclo hamiltoniano y determinar si existe es NP-completo . [8] Se han publicado muchas investigaciones sobre clases de gráficos que se puede garantizar que contienen ciclos hamiltonianos; un ejemplo es el teorema de Ore de que siempre se puede encontrar un ciclo hamiltoniano en un gráfico en el que cada par de vértices no adyacentes tiene grados que suman al menos el número total de vértices del gráfico. [9]

La conjetura de la doble cobertura del ciclo establece que, para cada gráfico sin puentes , existe un conjunto múltiple de ciclos simples que cubre cada borde del gráfico exactamente dos veces. Demostrar que esto es cierto (o encontrar un contraejemplo) sigue siendo un problema abierto. [10]

Clases de gráficos definidas por ciclo.

Varias clases importantes de gráficos pueden definirse o caracterizarse por sus ciclos. Éstas incluyen:

Ver también

Referencias

  1. ^ abcd Bender y Williamson 2010, pág. 164.
  2. ^ Bruto, Jonathan L.; Yellen, Jay (2005), "4.6 Gráficos y espacios vectoriales", Teoría de grafos y sus aplicaciones (2ª ed.), CRC Press, págs. 197–207, ISBN 9781584885054, archivado desde el original el 4 de febrero de 2023 , consultado el 27 de septiembre de 2016.
  3. ^ Diestel, Reinhard (2012), "1.9 Algo de álgebra lineal", Teoría de grafos , Textos de posgrado en matemáticas, vol. 173, Springer, págs. 23-28, archivado desde el original el 4 de febrero de 2023 , consultado el 27 de septiembre de 2016..
  4. ^ Tucker, Alan (2006). "Capítulo 2: Cubriendo circuitos y coloreando gráficos". Combinatoria Aplicada (5ª ed.). Hoboken: John Wiley e hijos. pag. 49.ISBN _ 978-0-471-73507-6.
  5. ^ ab Sedgewick, Robert (1983), "Algoritmos gráficos", Algoritmos , Addison – Wesley, ISBN 0-201-06672-6
  6. ^ Silberschatz, Abraham; Peter Galvin; Greg Gagne (2003). Conceptos del sistema operativo . John Wiley & Sons, INC. págs. 260. ISBN 0-471-25060-0.
  7. ^ Veblen, Oswald (1912), "Una aplicación de ecuaciones modulares en análisis situs", Annals of Mathematics , segunda serie, 14 (1): 86–94, doi :10.2307/1967604, JSTOR  1967604.
  8. ^ Richard M. Karp (1972), "Reducibilidad entre problemas combinatorios" (PDF) , en RE Miller y JW Thatcher (ed.), Complexity of Computer Computations , Nueva York: Plenum, págs. 85-103, archivado (PDF) del original el 10 de febrero de 2021 , consultado el 12 de marzo de 2014.
  9. ^ Mineral, Ø. (1960), "Nota sobre los circuitos de Hamilton", American Mathematical Monthly , 67 (1): 55, doi :10.2307/2308928, JSTOR  2308928.
  10. ^ Jaeger, F. (1985), "Un estudio de la conjetura de la doble cobertura del ciclo", Annals of Discrete Mathematics 27 - Cycles in Graphs , Estudios de matemáticas de Holanda Septentrional, vol. 27, págs. 1–12, doi :10.1016/S0304-0208(08)72993-1.