Articulo de referencia

Componente (teoría de grafos)

Un gráfico con tres componentes En teoría de grafos , un componente de un grafo no dirigido es un subgrafo conexo que no forma parte de ningún subgrafo conexo mayor. Los compone...

Este es un buen artículo. Haz clic aquí para obtener más información.

Un gráfico con tres componentes

En teoría de grafos , un componente de un grafo no dirigido es un subgrafo conexo que no forma parte de ningún subgrafo conexo mayor. Los componentes de cualquier grafo dividen sus vértices en conjuntos disjuntos , y son los subgrafos inducidos de esos conjuntos. Un grafo que es conexo tiene exactamente un componente, que consiste en el grafo completo. A los componentes a veces se les llama componentes conexas .

El número de componentes en un grafo dado es un invariante importante y está estrechamente relacionado con los invariantes de matroides , espacios topológicos y matrices . En grafos aleatorios , un fenómeno frecuente es la aparición de un componente gigante , un componente significativamente mayor que los demás; y de un umbral de percolación , una probabilidad de arista por encima de la cual existe un componente gigante y por debajo de la cual no existe.

Los componentes de un grafo se pueden construir en tiempo lineal , y un caso particular del problema, el etiquetado de componentes conectados , es una técnica básica en el análisis de imágenes . Los algoritmos de conectividad dinámica mantienen los componentes a medida que se insertan o eliminan aristas en un grafo, en un tiempo reducido por cambio. En la teoría de la complejidad computacional , los componentes conectados se han utilizado para estudiar algoritmos con complejidad espacial limitada , y los algoritmos de tiempo sublineal pueden estimar con precisión el número de componentes.

Definiciones y ejemplos

Un grafo de clúster con siete componentes

Un componente de un grafo no dirigido dado puede definirse como un subgrafo conexo que no forma parte de ningún subgrafo conexo mayor. Por ejemplo, el grafo que se muestra en la primera ilustración tiene tres componentes. Cada vérticev{\displaystyle v}de un grafo pertenece a uno de los componentes del grafo, que puede encontrarse como el subgrafo inducido del conjunto de vértices alcanzables desdev{\displaystyle v}. [ 1 ] Todo grafo es la unión disjunta de sus componentes. [ 2 ] Ejemplos adicionales incluyen los siguientes casos especiales:

Otra definición de componentes involucra las clases de equivalencia de una relación de equivalencia definida en los vértices del grafo. En un grafo no dirigido, un vérticev{\displaystyle v}es alcanzable desde un vértice{\displaystyle u}si hay un camino desde{\displaystyle u}av{\displaystyle v}o , equivalentemente, un recorrido (un camino que permite vértices y aristas repetidos). La alcanzabilidad es una relación de equivalencia, ya que:

  • Es reflexivo : existe un camino trivial de longitud cero desde cualquier vértice hasta sí mismo.
  • Es simétrico : si hay un camino desde{\displaystyle u}av{\displaystyle v}, los mismos bordes en orden inverso forman un camino desdev{\displaystyle v}a{\displaystyle u}.
  • Es transitivo : Si hay un camino desde{\displaystyle u}av{\displaystyle v}y un camino desdev{\displaystyle v}aw{\displaystyle w}, los dos caminos pueden concatenarse para formar un paseo desde{\displaystyle u}aw{\displaystyle w}.

Las clases de equivalencia de esta relación dividen los vértices del grafo en conjuntos disjuntos , subconjuntos de vértices que son todos alcanzables entre sí, sin pares alcanzables adicionales fuera de ninguno de estos subconjuntos. Cada vértice pertenece a exactamente una clase de equivalencia. Los componentes son entonces los subgrafos inducidos formados por cada una de estas clases de equivalencia. [ 7 ] Alternativamente, algunas fuentes definen los componentes como los conjuntos de vértices en lugar de como los subgrafos que inducen. [ 8 ]

Se han utilizado definiciones similares que involucran clases de equivalencia para definir componentes para otras formas de conectividad de grafos , incluyendo los componentes débiles [ 9 ] y los componentes fuertemente conectados de grafos dirigidos [ 10 ] y los componentes biconectados de grafos no dirigidos. [ 11 ]

Número de componentes

El número de componentes de un grafo finito dado se puede utilizar para contar el número de aristas en sus bosques de expansión : En un grafo connorte{\displaystyle n}vértices ydo{\displaystyle c}componentes, cada bosque extenso tendrá exactamentenortedo{\displaystyle nc}bordes. Este númeronortedo{\displaystyle nc}es el rango teórico de matroides del grafo, y el rango de su matroide gráfico . El rango del matroide cográfico dual es igual al rango de circuito del grafo, el número mínimo de aristas que deben eliminarse del grafo para romper todos sus ciclos. En un grafo conmetro{\displaystyle m}bordes,norte{\displaystyle n}vértices ydo{\displaystyle c}componentes, el rango del circuito esmetronorte+do{\displaystyle m-n+c}. [ 12 ]

Un grafo puede interpretarse como un espacio topológico de múltiples maneras, por ejemplo, colocando sus vértices como puntos en posición general en el espacio euclidiano tridimensional y representando sus aristas como segmentos de línea entre esos puntos. [ 13 ] Los componentes de un grafo pueden generalizarse a través de estas interpretaciones como los componentes topológicamente conexos del espacio correspondiente; estos son clases de equivalencia de puntos que no pueden separarse mediante pares de conjuntos cerrados disjuntos. Así como el número de componentes conexas de un espacio topológico es un invariante topológico importante, el número de Betti cero , el número de componentes de un grafo es un invariante de grafo importante , y en la teoría topológica de grafos puede interpretarse como el número de Betti cero del grafo. [ 3 ]

El número de componentes surge también de otras maneras en la teoría de grafos. En la teoría algebraica de grafos, es igual a la multiplicidad de 0 como autovalor de la matriz laplaciana de un grafo finito. [ 14 ] También es el índice del primer coeficiente no nulo del polinomio cromático del grafo, y el polinomio cromático de todo el grafo se puede obtener como el producto de los polinomios de sus componentes. [ 15 ] El número de componentes juega un papel clave en el teorema de Tutte sobre emparejamientos perfectos que caracteriza a los grafos finitos que tienen emparejamientos perfectos [ 16 ] y la fórmula de Tutte-Berge asociada para el tamaño de un emparejamiento máximo , [ 17 ] y en la definición de la tenacidad del grafo . [ 18 ]

Algoritmos

Es sencillo calcular los componentes de un grafo finito en tiempo lineal (en términos del número de vértices y aristas del grafo) utilizando una búsqueda en anchura o una búsqueda en profundidad . En cualquier caso, una búsqueda que comienza en algún vértice particularv{\displaystyle v}encontrará el componente completo que contienev{\displaystyle v}(y nada más) antes de regresar. Todos los componentes de un grafo se pueden encontrar recorriendo sus vértices, iniciando una nueva búsqueda en amplitud o en profundidad cada vez que el bucle alcanza un vértice que no se ha incluido en un componente encontrado previamente. Hopcroft y Tarjan (1973) describen esencialmente este algoritmo y afirman que ya era "bien conocido". [ 19 ]

El etiquetado de componentes conectados , una técnica básica en el análisis de imágenes por computadora , implica la construcción de un grafo a partir de la imagen y el análisis de componentes sobre dicho grafo. Los vértices son el subconjunto de píxeles de la imagen, elegidos por ser de interés o por tener mayor probabilidad de formar parte de los objetos representados. Las aristas conectan píxeles adyacentes , con una adyacencia definida ortogonalmente según el vecindario de Von Neumann , o tanto ortogonal como diagonalmente según el vecindario de Moore . La identificación de los componentes conectados de este grafo permite un procesamiento adicional para encontrar más estructura en esas partes de la imagen o identificar qué tipo de objeto se representa. Los investigadores han desarrollado algoritmos de búsqueda de componentes especializados para este tipo de grafo, lo que permite procesarlo en orden de píxeles en lugar del orden más disperso que se generaría mediante la búsqueda en amplitud o en profundidad. Esto puede ser útil en situaciones donde el acceso secuencial a los píxeles es más eficiente que el acceso aleatorio, ya sea porque la imagen está representada de forma jerárquica, lo que no permite un acceso aleatorio rápido, o porque el acceso secuencial produce mejores patrones de acceso a la memoria . [ 20 ]

También existen algoritmos eficientes para rastrear dinámicamente los componentes de un grafo a medida que se agregan vértices y aristas, utilizando una estructura de datos de conjuntos disjuntos para realizar un seguimiento de la partición de los vértices en clases de equivalencia, reemplazando cualesquiera dos clases por su unión cuando se agrega una arista que las conecta. Estos algoritmos toman un tiempo amortizado.O(α(norte)){\displaystyle O(\alpha (n))}por operación, donde agregar vértices y aristas y determinar el componente en el que cae un vértice son ambas operaciones, yα{\displaystyle \alpha } es una inversa de crecimiento muy lento de la función de Ackermann de crecimiento muy rápido . [ 21 ] Una aplicación de este tipo de algoritmo de conectividad incremental se encuentra en el algoritmo de Kruskal para árboles de expansión mínima , que agrega aristas a un grafo en orden ordenado por longitud e incluye una arista en el árbol de expansión mínima solo cuando conecta dos componentes diferentes del subgrafo previamente agregado. [ 22 ] Cuando se permiten tanto inserciones como eliminaciones de aristas, los algoritmos de conectividad dinámica aún pueden mantener la misma información, en tiempo amortizado.O(registro2norte/registroregistronorte){\displaystyle O(\log ^{2}n/\log \log n)}por cambio y tiempoO(registronorte/registroregistronorte){\displaystyle O(\log n/\log \log n)}por consulta de conectividad, [ 23 ] o en un tiempo esperado aleatorio casi logarítmico . [ 24 ]

Los componentes de los grafos se han utilizado en la teoría de la complejidad computacional para estudiar la potencia de las máquinas de Turing que tienen una memoria de trabajo limitada a un número logarítmico de bits, con una entrada mucho mayor accesible solo mediante acceso de lectura en lugar de ser modificable. Los problemas que pueden ser resueltos por máquinas limitadas de esta manera definen la clase de complejidad L. Durante muchos años no estuvo claro si los componentes conectados podían encontrarse en este modelo, cuando se formalizaba como un problema de decisión para comprobar si dos vértices pertenecen al mismo componente, y en 1982 se definió una clase de complejidad relacionada, SL , para incluir este problema de conectividad y cualquier otro problema equivalente bajo reducciones en el espacio logarítmico . [ 25 ] Finalmente, en 2008 se demostró que este problema de conectividad puede resolverse en el espacio logarítmico y, por lo tanto, que SL = L. [ 26 ]

En un grafo representado como una lista de adyacencia , con acceso aleatorio a sus vértices, es posible estimar el número de componentes conexas, con probabilidad constante de obtener un error aditivo (absoluto) como máximoεnorte{\displaystyle \varepsilon n}, en tiempo sublinealO(ε2registroε1){\displaystyle O(\varepsilon ^{-2}\log \varepsilon ^{-1})}. [ 27 ]

En gráficos aleatorios

Un gráfico aleatorio de Erdős-Rényi-Gilbert con 1000 vértices con probabilidad de aristapag=1/(norte1){\displaystyle p=1/(n-1)}(en el rango crítico), mostrando un componente grande y muchos pequeños

En los grafos aleatorios, los tamaños de los componentes vienen dados por una variable aleatoria que, a su vez, depende del modelo específico de cómo se eligen los grafos aleatorios.GRAMO(norte,pag){\displaystyle G(n,p)}versión del modelo Erdős-Rényi-Gilbert , un gráfico sobrenorte{\displaystyle n}Los vértices se generan eligiendo aleatoria e independientemente para cada par de vértices si se incluye o no una arista que conecte ese par, con probabilidadpag{\displaystyle p}de incluir un borde y probabilidad1pag{\displaystyle 1-p}de dejar esos dos vértices sin una arista que los conecte. [ 28 ] La conectividad de este modelo depende depag{\displaystyle p}y hay tres rangos diferentes depag{\displaystyle p}con comportamientos muy diferentes entre sí. En el análisis siguiente, todos los resultados ocurren con alta probabilidad , lo que significa que la probabilidad del resultado es arbitrariamente cercana a uno para valores suficientemente grandes denorte{\displaystyle n}El análisis depende de un parámetroε{\displaystyle \varepsilon }, una constante positiva independiente denorte{\displaystyle n}que puede ser arbitrariamente cercano a cero.

Subcríticopag<(1ε)/norte{\displaystyle p<(1-\varepsilon )/n}
En este rango depag{\displaystyle p}Todos los componentes son simples y muy pequeños. El componente más grande tiene un tamaño logarítmico. El grafo es un pseudobosque . La mayoría de sus componentes son árboles: el número de vértices en los componentes que tienen ciclos crece más lentamente que cualquier función no acotada del número de vértices. Cada árbol de tamaño fijo aparece linealmente muchas veces. [ 29 ]
Críticopag1/norte{\displaystyle p\approx 1/n}
El componente conectado más grande tiene un número de vértices proporcional anorte2/3{\displaystyle n^{2/3}}. Puede haber varios otros componentes grandes; sin embargo, el número total de vértices en componentes que no son árboles es nuevamente proporcional anorte2/3{\displaystyle n^{2/3}}. [ 30 ]
Supercríticopag>(1+ε)/norte{\displaystyle p>(1+\varepsilon )/n}
Hay un único componente gigante que contiene un número lineal de vértices. Para valores grandes depag{\displaystyle p}Su tamaño se aproxima a todo el gráfico:|do1|ynorte{\displaystyle |C_{1}|\approx yn}dóndey{\displaystyle y}es la solución positiva de la ecuaciónmipagnortey=1y{\displaystyle e^{-pny}=1-y}. Los componentes restantes son pequeños, con tamaño logarítmico. [ 31 ]

En el mismo modelo de grafos aleatorios, existirán múltiples componentes conexas con alta probabilidad para valores depag{\displaystyle p}por debajo de un umbral significativamente más alto,pag<(1ε)(registronorte)/norte{\displaystyle p<(1-\varepsilon )(\log n)/n}y un único componente conectado para valores superiores al umbral,pag>(1+ε)(registronorte)/norte{\displaystyle p>(1+\varepsilon )(\log n)/n}Este fenómeno está estrechamente relacionado con el problema del coleccionista de cupones : para que un grafo aleatorio esté conectado, necesita suficientes aristas para que cada vértice sea incidente a al menos una arista. Más precisamente , si se añaden aristas aleatorias una a una a un grafo, entonces con alta probabilidad la primera arista cuya adición conecta todo el grafo toca el último vértice aislado. [ 32 ]

Para diferentes modelos, incluidos los subgrafos aleatorios de grafos de cuadrícula, los componentes conectados se describen mediante la teoría de la percolación . Una cuestión clave en esta teoría es la existencia de un umbral de percolación , una probabilidad crítica por encima de la cual existe un componente gigante (o un componente infinito) y por debajo de la cual no existe. [ 33 ]

Referencias

  1. Clark, John; Holton, Derek Allan (1995), A First Look at Graph Theory , Allied Publishers, p.  28, ISBN 9788170234630Archivado del original el 8 de enero de 2022 , consultado el 7 de enero de 2022.
  2. Joyner, David; Nguyen, Minh Van; Phillips, David (10 de mayo de 2013), "1.6.1 Unión, intersección y unión" , Algorithmic Graph Theory and Sage (ed. 0.8-r1991 ), Google, págs. 34–35 , archivado del original el 16 de enero de 2016 , recuperado el 8 de enero de 2022.  
  3. 1 2 Tutte, WT (1984), Teoría de grafos , Enciclopedia de matemáticas y sus aplicaciones, vol. 21, Reading, Massachusetts: Addison-Wesley, pág. 15, ISBN   0-201-13520-5, MR 0746795 , archivado del original el 07/01/2022 , recuperado el 07/01/2022 
  4. 1 2 Thulasiraman, K.; Swamy, MNS (2011), Graphs: Theory and Algorithms , John Wiley & Sons, p. 9, ISBN  978-1-118-03025-7Archivado del original el 7 de enero de 2022 , consultado el 7 de enero de 2022.
  5. Bollobás, Béla (1998), Modern Graph Theory , Graduate Texts in Mathematics, vol. 184, Nueva York: Springer-Verlag, p. 6, doi : 10.1007/978-1-4612-0619-4 , ISBN   0-387-98488-7, MR 1633290 , archivado del original el 08-01-2022 , recuperado el 08-01-2022 
  6. McColl, WF; Noshita, K. (1986), "Sobre el número de aristas en el cierre transitivo de un grafo", Discrete Applied Mathematics , 15 (1): 67–73 , doi : 10.1016/0166-218X(86)90020-X , MR 0856101 
  7. Foldes, Stephan (2011), Estructuras fundamentales del álgebra y las matemáticas discretas , John Wiley & Sons, pág. 199, ISBN  978-1-118-03143-8Archivado del original el 7 de enero de 2022 , consultado el 7 de enero de 2022.
  8. Siek, Jeremy; Lee, Lie-Quan; Lumsdaine, Andrew (2001), "7.1 Componentes conectados: Definiciones", The Boost Graph Library: User Guide and Reference Manual , Addison-Wesley, pp . 97–98 
  9. Knuth, Donald E. (15 de enero de 2022), "Componentes débiles", The Art of Computer Programming, Volumen 4, Prefascículo 12A: Componentes y recorrido (PDF) , págs. 11-14 , archivado (PDF) del original el 18 de enero de 2022 , recuperado el 1 de marzo de 2022. 
  10. Lewis, Harry ; Zax, Rachel (2019), Matemáticas discretas esenciales para la informática , Princeton University Press, pág. 145, ISBN  978-0-691-19061-7Archivado del original el 8 de enero de 2022 , consultado el 8 de enero de 2022.
  11. Kozen, Dexter C. (1992), "4.1 Componentes biconectados" , El diseño y análisis de algoritmos , Textos y monografías en informática, Nueva York: Springer-Verlag, pp. 20–22 , doi : 10.1007/978-1-4612-4400-4 , ISBN  0-387-97687-6, MR 1139767 , S2CID 27747202 , archivado del original el 08-01-2022 , recuperado el 08-01-2022  
  12. Wilson, RJ (1973), "Una introducción a la teoría de los matroides", The American Mathematical Monthly , 80 (5): 500– 525, doi : 10.1080/00029890.1973.11993318 , JSTOR 2319608 , MR 0371694  
  13. Wood, David R. (2014), "Dibujo de grafos tridimensionales", en Kao, Ming-Yang (ed.), Enciclopedia de algoritmos (PDF) , Springer, pp. 1–7 , doi : 10.1007/978-3-642-27848-8_656-1 , ISBN  978-3-642-27848-8, archivado (PDF) del original el 8 de enero de 2022 , recuperado el 8 de enero de 2022
  14. Cioabă, Sebastian M. (2011), "Algunas aplicaciones de los autovalores de grafos", en Dehmer, Matthias (ed.), Análisis estructural de redes complejas , Nueva York: Birkhäuser/Springer, pp. 357–379 , doi : 10.1007/978-0-8176-4789-6_14 , ISBN  978-0-8176-4788-9, MR 2777924 ; véase la demostración del Lema 5, pág. 361. Archivado el 8 de enero de 2022 en la Wayback Machine.
  15. Read, Ronald C. (1968), "Una introducción a los polinomios cromáticos", Journal of Combinatorial Theory , 4 : 52–71 , doi : 10.1016/S0021-9800(68)80087-0 , MR 0224505 ; véase el Teorema 2, pág. 59, y el corolario, pág. 65.
  16. Tutte, WT (1947), "La factorización de grafos lineales", The Journal of the London Mathematical Society , 22 (2): 107–111 , doi : 10.1112/jlms/s1-22.2.107 , MR 0023048 
  17. ^ Berge, Claude (1958), "Sur le couplage maxime d'un graphe", Comptes Rendus Hebdomadaires des Séances de l'Académie des Sciences , 247 : 258– 259, SEÑOR 0100850 
  18. Chvátal, Václav (1973), "Grafos difíciles y circuitos hamiltonianos", Matemáticas Discretas , 5 (3): 215– 228, doi : 10.1016/0012-365X(73)90138-6 , MR 0316301 
  19. Hopcroft, John ; Tarjan, Robert (junio de 1973), "Algoritmo 447: algoritmos eficientes para la manipulación de grafos", Communications of the ACM , 16 (6): 372–378 , doi : 10.1145/362248.362272 , S2CID 14772567 
  20. Dillencourt, Michael B.; Samet, Hanan ; Tamminen, Markku (1992), "Un enfoque general para el etiquetado de componentes conectados para representaciones de imágenes arbitrarias", Journal of the ACM , 39 (2): 253–280 , CiteSeerX 10.1.1.73.8846 , doi : 10.1145/128749.128750 , MR 1160258 , S2CID 1869184   
  21. ^ Bengelloun, Safwan Abdelmajid (diciembre de 1982), Aspectos de la computación incremental (tesis doctoral), Universidad de Yale, pág. 12, ProQuest 303248045  
  22. Skiena, Steven (2008), "6.1.2 Algoritmo de Kruskal" , The Algorithm Design Manual , Springer, pp. 196–198 , Bibcode : 2008adm..book.....S , doi : 10.1007/978-1-84800-070-4 , ISBN  978-1-84800-069-8Archivado del original el 7 de enero de 2022 , consultado el 7 de enero de 2022.
  23. Wulff-Nilsen, Christian (2013), "Conectividad de grafos totalmente dinámica y determinista más rápida", en Khanna, Sanjeev (ed.), Actas del Vigésimo Cuarto Simposio Anual ACM-SIAM sobre Algoritmos Discretos, SODA 2013, Nueva Orleans, Luisiana, EE. UU., 6-8 de enero de 2013 , pp. 1757–1769 , arXiv : 1209.5608 , doi : 10.1137/1.9781611973105.126 , ISBN  978-1-61197-251-1, S2CID 13397958 
  24. Huang, Shang-En; Huang, Dawei; Kopelowitz, Tsvi; Pettie, Seth (2017), "Conectividad totalmente dinámica enO(registronorte(registroregistronorte)2){\displaystyle O{\bigl (}\log n(\log \log n)^{2}{\bigr )}}tiempo esperado amortizado", en Klein, Philip N. (ed.), Actas del Vigésimo Octavo Simposio Anual ACM-SIAM sobre Algoritmos Discretos, SODA 2017, Barcelona, ​​España, Hotel Porta Fira, 16-19 de enero , pp. 510–520 , arXiv : 1609.05867 , doi : 10.1137/1.9781611974782.32 , S2CID 15585534  
  25. Lewis, Harry R. ; Papadimitriou, Christos H. (1982), "Computación simétrica con límite espacial", Theoretical Computer Science , 19 (2): 161– 187, doi : 10.1016/0304-3975(82)90058-5 , MR 0666539 
  26. Reingold, Omer (2008), "Conectividad no dirigida en el espacio logarítmico", Journal of the ACM , 55 (4): A17:1–A17:24, doi : 10.1145/1391289.1391291 , MR 2445014 , S2CID 207168478  
  27. Berenbrink, Petra; Krayenhoff, Bruce; Mallmann-Trenn, Frederik (2014), "Estimación del número de componentes conexas en tiempo sublineal", Information Processing Letters , 114 (11): 639–642 , doi : 10.1016/j.ipl.2014.05.008 , MR 3230913 
  28. Frieze, Alan ; Karoński, Michał (2016), "1.1 Modelos y relaciones", Introducción a los grafos aleatorios , Cambridge University Press, Cambridge, pp. 3–9 , doi : 10.1017/CBO9781316339831 , ISBN  978-1-107-11850-8, MR 3675279 
  29. Frieze y Karoński (2016) , 2.1 Fase subcrítica, págs. 20-33; véase especialmente el Teorema 2.8, pág. 26, el Teorema 2.9, pág. 28, y el Lema 2.11, pág. 29.
  30. Frieze y Karoński (2016) , 2.3 Transición de fase, págs. 39–45
  31. Frieze y Karoński (2016) , 2.2 Fase supercrítica, pág. 33; véase especialmente el Teorema 2.14, págs. 33-39.
  32. Frieze y Karoński (2016) , 4.1 Conectividad, págs. 64–68
  33. Cohen, Reuven; Havlin, Shlomo (2010), "10.1 Percolación en redes complejas: Introducción" , Redes complejas: Estructura, robustez y función , Cambridge University Press, pp. 97–98 , ISBN  978-1-139-48927-0Archivado del original el 10/01/2022 , consultado el 10/01/2022.
  • Código MATLAB para encontrar componentes en grafos no dirigidos , MATLAB File Exchange.
  • Componentes conectados , Steven Skiena, El repositorio de algoritmos de Stony Brook