Teoría de grafos

De Enciclopedia Salmantina
Los grafos son el objeto de estudio de esta rama de la matemática. Arriba el grafo pez, en medio el grafo arco y abajo el grafo dodecaedro.

La teoría de grafos es la rama de las matemáticas que estudia las propiedades de los grafos. Tiene aplicaciones en las ciencias de la computación y otras ciencias.

La teoría de grafos tiene sus fundamentos en la matemática discreta. Esta teoría requiere de diferentes conceptos de diversas áreas como combinatoria, álgebra, probabilidad, geometría de polígonos, aritmética y topología.

Actualmente ha tenido mayor influencia en el campo de la informática, las ciencias de la computación y telecomunicaciones. Debido a la gran cantidad de aplicaciones en la optimización de recorridos, procesos, flujos, algoritmos de búsquedas, entre otros, se generó toda una nueva teoría que se conoce como análisis de redes.[1]

Definiciones básicas[editar | editar código]

Grafo[editar | editar código]

Formalmente, un grafo es una pareja ordenada en la que es un conjunto no vacío de vértices y es un conjunto de aristas, donde consta de pares no ordenados de vértices, tales como , y entonces se dice que e son adyacentes. En el grafo, esta arista no dirigida se representa mediante un segmento de recta que une a dichos vértices. Si el grafo es dirigido se le llama dígrafo, se denota y se representa con una flecha que va de a , entonces el par es un par ordenado y el hecho de que la arista sea dirigida se denota como .[2]

Grafo simple[editar | editar código]

Un grafo es simple si a lo sumo existe una arista uniendo dos vértices cualesquiera. Esto es equivalente a decir que una arista cualquiera es la única que une dos vértices específicos.

Un grafo que no es simple se denomina multigrafo.

El concepto de grafo simple es muy recurrido en la definición de otros entes, como los de grafos completos, grafos bipartidos completos, árboles y otros más.

La imagen de grafo simple es fácil de reconocer ante otro que no lo es; bien por la presencia de lazos o de más de una arista entre los pares de vértices.

Un grafo simple, o simplemente grafo, es aquel que acepta una sola arista uniendo dos vértices cualesquiera. Esto es equivalente a decir que una arista cualquiera es la única que une dos vértices específicos. Es la definición estándar de un grafo.

Elementos de un grafo[editar | editar código]

Vértice[editar | editar código]

Los vértices o nodos son los elementos que forman un grafo. Cada uno lleva asociada una valencia característica según la situación, que se corresponde con la cantidad de aristas que confluyen en dicho vértice.

Arista[editar | editar código]

Las aristas son líneas que unen los vértices de un grafo.

  • Aristas adyacentes: Dos aristas son adyacentes si convergen en el mismo vértice.
  • Aristas paralelas: Dos aristas son paralelas si los vértices iniciales y finales son el mismo vértice
  • Aristas cíclicas: Aristas que parten de un vértice para entrar en el mismo.
  • Cruce: Punto donde dos aristas se cruzan.

Camino[editar | editar código]

Se denomina camino a un conjunto de vértices interconectados por aristas. Dos vértices están conectados si hay un camino entre ellos.

Ciclos y caminos hamiltonianos[editar | editar código]

Ejemplo de un ciclo hamiltoniano.

Un ciclo es una sucesión de aristas adyacentes, donde no se recorre dos veces la misma arista, y donde se regresa al punto inicial. Un ciclo hamiltoniano tiene además que recorrer todos los vértices exactamente una vez (excepto el vértice del que parte y al cual llega).

Por ejemplo, en un museo grande, lo idóneo sería recorrer todas las salas una sola vez, esto es buscar un ciclo hamiltoniano en el grafo que representa el museo (los vértices son las salas, y las aristas los corredores o puertas entre ellas).

Se habla también de camino hamiltoniano si no se impone regresar al punto de partida, como en un museo con una única puerta de entrada. Por ejemplo, un caballo puede recorrer todas las casillas de un tablero de ajedrez sin pasar dos veces por la misma: es un camino hamiltoniano. Un ejemplo de ciclo hamiltoniano es el grafo del dodecaedro.

Hoy en día, no se conocen métodos generales para hallar un ciclo hamiltoniano en tiempo polinómico, siendo la búsqueda por fuerza bruta de todos los posibles caminos u otros métodos excesivamente costosos. Existen, sin embargo, métodos para descartar la existencia de ciclos o caminos hamiltonianos en grafos pequeños.

El problema de determinar la existencia de ciclos hamiltonianos, entra en el conjunto de los NP-completos.

Caracterización de grafos[editar | editar código]

Homeomorfismo de grafos[editar | editar código]

Dos grafos y son homeomorfos si ambos pueden obtenerse a partir del mismo grafo con una sucesión de subdivisiones elementales de aristas.

Grafos ponderados o etiquetados[editar | editar código]

En muchos casos, es preciso atribuir a cada arista un número específico, llamado valuación, ponderación o coste según el contexto, y se obtiene así un grafo ponderado. Formalmente, es un grafo con una función v: A → R+.

Por ejemplo, un representante comercial tiene que visitar n ciudades conectadas entre sí por carreteras; su interés previsible será minimizar la distancia recorrida (o el tiempo, si se pueden prever atascos). El grafo correspondiente tendrá como vértices las ciudades, como aristas las carreteras y la valuación será la distancia entre ellas.

Distancia[editar | editar código]

Grafo que representa los divisores del número 12. La distancia entre 1 y 6 es 2, por los caminos 1-2-6 o 1-3-6. La distancia entre 1 y 12 es 3.

Se denomina distancia o distancia geodésica entre dos vértices de un grafo a la longitud o número de aristas del camino más corto entre ellos.[3][4] Si dos vértices no son accesibles a través de un camino, entonces la distancia entre ellos es infinita.[3] Las distancias de todos los vértices de un grafo se pueden representar mediante una matriz de distancias.

Formalmente, dado un grafo , la distancia entre dos vértices se puede denotar como . Si los vértices no son accesibles, entonces se asume que .

Si el grafo es no dirigido, entonces ; sin embargo, si el grafo es dirigido, la distancia puede diferir dependiendo del sentido de las aristas.[3]

Diámetro[editar | editar código]

En la figura se nota que K4 es plano (desviando la arista ab al exterior del cuadrado), que K5 no lo es, y que K3,2 lo es también (desvíos en gris).

El diámetro de un grafo es la mayor distancia entre todos los pares de puntos de la misma.

El diámetro de los es 1, y el de los es 2. Un diámetro infinito puede significar que el grafo tiene una infinidad de vértices o simplemente que no es conexo. También se puede considerar el diámetro promedio, como el promedio de las distancias entre dos vértices.

Una aplicación de este concepto es la hipótesis conocida como los seis grados de separación, que plantea que, si cada uno de los habitantes de la Tierra se representa por un vértice y dos personas están conectadas por una arista si se conocen personalmente, la distancia entre dos personas escogidas al azar entre todos los habitantes de la Tierra es de seis aristas o menos.

Internet permite de ver desde otro enfoque la idea del diámetro: considérese por ejemplo que si se descartan los sitios que no tienen enlaces, y se escogen dos páginas web al azar, cabría preguntarse en cuántos clics se puede pasar del primer sitio al segundo. Si se supone que de cualquier sitio que enlace con otros sitios se puede llegar a cualquier otro, entonces las mayor cantidad de clics necesarios para llegar de cualquier web a otra sería el "diámetro" de la Red, vista como un grafo cuyos vértices son los sitios, y cuyas aristas son los enlaces entre los sitios.

Este concepto refleja mejor la complejidad de una red que el número de sus elementos.

Aplicaciones[editar | editar código]

Camino mínimo[editar | editar código]

Los 7 puentes del río Pregel en Königsberg.

El origen de la teoría de grafos se remonta al siglo XVIII con el problema de los puentes de Königsberg, el cual consistía en encontrar un camino que recorriera los siete puentes del río Pregel en la ciudad de Königsberg, actualmente Kaliningrado, de modo que se recorrieran todos los puentes pasando una sola vez por cada uno de ellos.

El trabajo de Leonhard Euler sobre el problema titulado Solutio problematis ad geometriam situs pertinentis[5] (La solución de un problema relativo a la geometría de la posición) en 1736, es considerado el primer resultado de la teoría de grafos. También se considera uno de los primeros resultados topológicos en geometría (que no depende de ninguna medida). Este ejemplo ilustra la profunda relación entre la teoría de grafos y la topología.

Luego, en 1847, Gustav Kirchhoff utilizó la teoría de grafos para el análisis de redes eléctricas publicando sus leyes de los circuitos para calcular el voltaje y la corriente en los circuitos eléctricos, conocidas como leyes de Kirchhoff, considerado la primera aplicación de la teoría de grafos a un problema de ingeniería.

En 1852, Francis Guthrie planteó el problema de los cuatro colores, el cual afirma que es posible, utilizando solamente cuatro colores, colorear cualquier mapa de países de tal forma que dos países vecinos nunca tengan el mismo color. Este problema, que no fue resuelto hasta un siglo después por Kenneth Appel y Wolfgang Haken en 1976, puede ser considerado como el nacimiento de la teoría de grafos. Al tratar de resolverlo, los matemáticos definieron términos y conceptos teóricos fundamentales de los grafos.

En 1857, Arthur Cayley estudió y resolvió el problema de enumeración de los isómeros, compuestos químicos con idéntica composición (fórmula) pero diferente estructura molecular. Para ello representó cada compuesto, en este caso hidrocarburos saturados CnH2n+2, mediante un grafo árbol donde los vértices representan átomos y las aristas la existencia de enlaces químicos.

El término «grafo», proviene de la expresión inglesa graphic notation («notación gráfica»), usada por primera vez por Edward Frankland[6] y posteriormente adoptada por Alexander Crum Brown en 1884 y que hacía referencia a la representación gráfica de los enlaces entre los átomos de una molécula.

El primer libro sobre teoría de grafos fue escrito por Dénes Kőnig y publicado en 1936.[7]

Gracias a la teoría de grafos se pueden resolver diversos problemas como por ejemplo la síntesis de circuitos secuenciales, contadores o sistemas de apertura. Se utiliza para diferentes áreas como pueden ser el Dibujo computacional o en áreas de Ingeniería.

Los grafos se utilizan también para modelar trayectos como el de una línea de autobús a través de las calles de una ciudad, en el que se pueden obtener caminos óptimos para el trayecto aplicando diversos algoritmos como puede ser el algoritmo de Floyd.

Para la administración de proyectos, utilizamos técnicas como técnica de revisión y evaluación de programas (PERT) en las que se modelan los mismos utilizando grafos y optimizando los tiempos para concretar los mismos.

Una importante aplicación de la teoría de grafos es en el campo de la informática, ya que ha servido para la resolución de importantes y complejos algoritmos. Un claro ejemplo es el Algoritmo de Dijkstra, utilizado para la determinación del camino más corto en el recorrido de un grafo con determinados pesos en sus vértices.

Dentro de este campo, un grafo es considerado un tipo de dato abstracto TAD.

Por otra parte, destaca el Algoritmo de Kruskal, el cual nos permite buscar un subconjunto de aristas que incluye todos los vértices, estableciendo como mínimo el valor de las aristas.

Se emplea en problemas de control de producción, para proyectar redes de ordenadores, para diseñar módulos electrónicos modernos y proyectar sistemas físicos con parámetros localizados (mecánicos, acústicos y eléctricos).

Se usa para la solución de problemas de genética y problemas de automatización de la proyección (SAPR). Apoyo matemático de los sistemas modernos para el procesamiento de la información. Acude en las investigaciones nucleares (técnica de diagramas de Feynman).[8]

Problema de flujo máximo[editar | editar código]

Teoría de emparejamientos[editar | editar código]

La teoría de emparejamientos se usa en optimización e investigación operativa.

En un grafo, un emparejamiento es un conjunto de aristas independientes, es decir, sin vértices en común.

Definición[editar | editar código]

Tres ejemplos de emparejamientos maximales, representados por las aristas rojas

Dado un grafo un emparejamiento M en G es un conjunto de aristas no adyacentes entre sí.

Decimos que un vértice está apareado (acoplado saturado) si es incidente con una arista en el emparejamiento. En otro caso, el vértice está libre.

Tres ejemplos de emparejamientos máximos

Un emparejamiento máximo es un emparejamiento que contiene el número máximo posible de aristas. Puede haber muchos emparejamientos máximos. El número de emparejamiento de un grafo es el tamaño del emparejamiento máximo.

Un emparejamiento maximal es un emparejamiento M de un grafo G con la propiedad de que si alguna arista que no pertenece a M es añadido a M, no será ya un emparejamiento. Nótese que todos los emparejamientos máximos deben ser maximales, pero no todos los emparejamiento maximales deben de ser máximos.

Un emparejamiento perfecto es un emparejamiento que cubre todos los vértices del grafo. Esto es, cada vértice está saturado bajo el emparejamiento. Cada emparejamiento perfecto es máximo y maximal.

Dado un emparejamiento M

  • un camino M-alterno es un camino en el cual sus aristas alternativamente pertenecen y no pertenecen al emparejamiento.
  • un camino M-incremento es un camino M-alternato que comienza y termina en un vértice libre.

Nótese que un emparejamiento es máximo si y sólo si no contiene ningún camino M-incremento.

Emparejamiento en grafos bipartitos[editar | editar código]

Los problemas de emparejamiento tienen relación muchas veces con grafos bipartitos. Encontrar un emparejamiento máximo bipartito (a menudo llamado cardinalidad máxima de un grafo bipartito) en un grafo bipartito es quizás el problema más simple. El algoritmo de los caminos aumentantes lo encuentra por búsqueda de caminos aumentantes por cada a y añadiéndolo al emparejamiento si existe. Como cada camino puede ser encontrado en tiempo , el costo de tiempo es . Todas las aristas con flujo de a constituyen un emparejamiento máximo. Una mejora sobre esto es el algoritmo de Hopcroft-Karp, de costo de tiempo .

En un grafo bipartito ponderado, cada arista tiene asociado un valor. Un emparejamiento máximo bipartito ponderado está definido como un emparejamiento perfecto donde la suma de los valores de sus arcos en el emparejamiento tiene un valor maximal. Si el grafo no es completamente bipartito, los arcos ausentes son introducidos con valor cero. Encontrar tal emparejamiento es conocido como problema del asignamiento. Para resolverlo se usa la búsqueda del camino mínimo modificado con el algoritmo del camino aumentante. Si usamos el algoritmo de Bellman-Ford, con costo de tiempo . El más especializado es el algoritmo Húngaro que resuelve el problema de asignación con costo de tiempo .

Emparejamientos en grafos generales[editar | editar código]

Existe un algoritmo en tiempo polinomial que es capaz de encontrar un emparejamiento máximo en un grafo que no es bipartito. Este fue desarrollado por Jack Edmonds y fue publicado en un artículo llamado Paths, trees, and flowers en 1965.[9] El algoritmo recibe el nombre de Algoritmo de Emparejamiento de Edmonds.

Propiedades[editar | editar código]

  • Para un grafo G con n vértices sin vértices aislados el número de emparejamiento + número de aristas de covering = n.
  • Un grafo con n vértices y un emparejamiento perfecto tiene un número de emparejamiento igual a n/2.

Planificación de actividades[editar | editar código]

Análisis de sistemas sociales[editar | editar código]

Sociograma de una red social.

A fines de los años 1940 e inicios de los años 1950, junto con los primeros estudios formales de cliques o camarillas en sociomatrices[10][11] y de centralidad en sociogramas,[12][13][14] se introdujo la teoría de grafos como herramienta clave para la sociometría y el análisis de redes sociales.[15]

La teoría de grafos también se ha utilizado en varias áreas de las ciencias sociales, tales como la antropología,[16][17][18] psicología social,[19][20] comunicación, negocios, investigación de organizaciones y geografía.[21][22][23]

Análisis de sistemas biológicos[editar | editar código]

Los grafos son importantes en el estudio de la biología y hábitat. El vértice representa un hábitat y las aristas representan los senderos de los animales o las migraciones. Con esta información, los científicos pueden entender cómo esto puede cambiar o afectar a las especies en su hábitat.

Véase también[editar | editar código]

Referencias[editar | editar código]

  1. CEPAL Charlas Sobre Sistemas Complejos Sociales (CCSSCS): Analisis de Redes1: https://www.youtube.com/watch?v=oy8YxTshZhI&list=UUQbp2yA-gyew7E_tzgOI36A & Analisis de Redes2: https://www.youtube.com/watch?v=1abtP36Wx24&list=UUQbp2yA-gyew7E_tzgOI36A; Curso completo en línea: http://www.martinhilbert.net/CCSSCS.html
  2. Godsil, Chris and Royle, Gordon (2001). Algebraic Graph Theory. New York: Springer. 
  3. 3,0 3,1 3,2 Wasserman y Faust, 2013, «Grafos y matrices» (por Dawn Iacobucci), pp. 121-188.
  4. Bouttier, J.; Di Francesco, P.; Guitter, E. (2003). «Geodesic distance in planar graphs». Nuclear Physics B 663 (3): 535-567. doi:10.1016/S0550-3213(03)00355-9. 
  5. Euler, L. (1736). «Solutio problematis ad geometriam situs pertinentis». Commentarii Academiae Scientiarum Imperialis Petropolitanae 8. 128-140. 
  6. http://booklens.com/l-r-foulds/graph-theory-applications pag 7
  7. Tutte, W.T. (2001), Graph Theory, Cambridge University Press, p. 30, ISBN 978-0-521-79489-3 ..
  8. Gorbátov:Fundamentos de la matemática discreta
  9. Edmonds, Jack (1965). «Paths, trees, and flowers». Canad. J. Math. 17: 449-467. doi:10.4153/CJM-1965-045-4. 
  10. Festinger, L. (1949). «The Analysis of Sociograms Using Matrix Algebra». Human Relations 2: 153-158. 
  11. Chabot, J. (1950). «A Simplified Example of the Use of Matrix Multiplication for the Analysis of Sociometric Data». Sociometry 13: 131-140. 
  12. Bavelas, A. (1948). «A Mathematical Model for Group Structure». Human Organizations 7: 16-30. 
  13. Bavelas, A. (1950). «Communication Patterns in Task-Oriented Groups». Journal of the Acoustical Society of America 22: 271-282. 
  14. Leavitt, H. J. (1951). «Some Effects of Communication Patterns on Group Performance». Journal of Abnormal and Social Psychology 46: 38-50. 
  15. Wasserman y Faust, 2013, «Notaciones para los datos de redes sociales», pp. 99-120.
  16. Mitchell, J. C., ed. (1980). Numerical Techniques in Social Anthropology. Filadelfia: Institute for the Study of Human Issues. 
  17. Hage, P. (1979). «Graph theory as a structural model in cultural anthropology». Annual Review of Anthropology 8: 115-136. 
  18. Hage, P.; Harary, F. (1983). Structural Models in Anthropology. Cambridge: Cambridge University Press. 
  19. Heider, F. (1958). The Psychology of Interpersonal Relations. Nueva York: John Wiley and Sons. 
  20. Bavelas, A. (1948). «A mathematical model for group structure». Human Organizations 7: 16-30. 
  21. Pitts, F. R. (1965). «A graph theoretic approach to historical geography». The Proffesional Geographer 17: 15-20. 
  22. Pitts, F. R. (1979). «The medieval river trade network of Russia revisited». Social Networks 1: 285-292. 
  23. Wasserman y Faust, 2013, «Grafos y matrices» (por Dawn Iacobucci), pp. 121-188.

Bibliografía[editar | editar código]

  • Jungnickel, Dieter (2013). Graphs, Networks, and Algorithms (en inglés) (4.ª edición). Springer. 
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. ISBN 0-262-03293-7. Section 26.3: Maximum bipartite emparejamiento, pp.664–669.
  • Wasserman, Stanley; Faust, Katherine (2013) [​1994​]. Análisis de redes sociales: Métodos y aplicaciones. Madrid: Centro de Investigaciones Sociológicas. ISBN 978-84-7476-631-8. OCLC 871814053. 
  • West, Douglas Brent (1999) [​1996​]. «3». Introduction to Graph Theory (2nd edition edición). Prentice Hall. ISBN 0-13-014400-2. 

Enlaces externos[editar | editar código]