Un gráfico es una abstracción matemática de un sistema real de cualquier naturaleza, cuyos objetos tienen conexiones por pares. Un gráfico como objeto matemático es una colección de dos conjuntos: el conjunto de objetos en sí, llamado conjunto de vértices , y el conjunto de sus conexiones por pares, llamado conjunto de aristas. Un elemento de un conjunto de aristas es un par de elementos de un conjunto de vértices.
Los gráficos se utilizan ampliamente en la ciencia y la tecnología modernas. Se utilizan tanto en las ciencias naturales (física y química) como en las ciencias sociales (por ejemplo, sociología), pero el uso de gráficos ha recibido la mayor escala en informática y tecnologías de red.
Como el ejemplo más simple de la vida, podemos dar un diagrama de vuelo de cierta aerolínea, que está modelado por un gráfico, donde los vértices del gráfico son ciudades y los bordes son vuelos que conectan pares de ciudades. Un árbol de directorios en una computadora también es un gráfico: unidades, carpetas y archivos son vértices, y los bordes muestran el anidamiento de archivos y carpetas en carpetas y unidades [1] . La estructura de Wikipedia está modelada por un gráfico dirigido , en el que los artículos son los vértices del gráfico y los hipervínculos son arcos ( mapa temático ).
Los grafos son el principal objeto de estudio de la teoría de grafos .
Los sistemas de la naturaleza real modelados por grafos son muy diversos, por lo que existen distintos tipos de grafos. La abstracción más simple de sistemas con elementos que tienen conexiones por pares es un gráfico simple .
Definición. Un gráfico simple es una colección de dos conjuntos: un conjunto no vacío y un conjunto de pares desordenados de diferentes elementos del conjunto . Un conjunto se llama conjunto de vértices , un conjunto se llama conjunto de aristas
,es decir, el conjunto consta de subconjuntos de 2 elementos del conjunto .
Términos relacionados
La teoría de grafos no tiene una terminología bien establecida. Por lo tanto, algunas publicaciones pueden utilizar términos distintos a los que se enumeran a continuación.
Por lo general, un gráfico se representa como un diagrama : vértices - puntos, bordes - líneas.
Un seudógrafo es una colección de dos conjuntos: un conjunto no vacío y un conjunto de pares desordenados de elementos del conjunto .
El elemento está permitido en el conjunto de aristas del seudógrafo .
En otras palabras, si los elementos del conjunto E pueden ser bucles, entonces el gráfico se llama seudógrafo [2] .
Un multigrafo es una colección de dos conjuntos: un conjunto no vacío y un conjunto múltiple de pares desordenados de diferentes elementos del conjunto .
En otras palabras, si no es un conjunto, sino una familia, es decir, si contiene los mismos elementos, entonces tales elementos se denominan aristas múltiples, y el gráfico se denomina multigrafo [2] .
Un pseudomultigrafo es una colección de dos conjuntos: un conjunto no vacío y un conjunto múltiple de pares desordenados de elementos del conjunto .
En otras palabras, si una familia contiene los mismos elementos (múltiples aristas) y puede contener bucles, entonces el gráfico se denomina pseudomultigrafo [2] .
El gráfico dirigido (dígrafo) ( eng. gráfico dirigido o dirgaph ) es un conjunto de dos conjuntos: un conjunto no vacío y un conjunto de arcos o pares ordenados de diferentes elementos del conjunto
.junto con dos pantallas
,donde el mapeo asigna a cada arco su vértice inicial (el comienzo del arco) , y el mapeo asigna a cada arco su vértice final (el final del arco) . Dicen que el arco va de a
Un grafo mixto es una colección de tres conjuntos: un conjunto de vértices no vacío y un conjunto de arcos o pares ordenados de diferentes elementos del conjunto y un conjunto de aristas de pares desordenados de diferentes elementos del conjunto .
.junto con dos pantallas
Los grafos dirigidos y no dirigidos son casos especiales de grafos mixtos.
Un grafo se llama isomorfo a un grafo si existe una biyección del conjunto de vértices del grafo al conjunto de vértices del grafo , que tiene la siguiente propiedad: si el grafo tiene una arista de vértice a vértice , entonces el grafo debe tener una arista de vértice a vértice y viceversa; si el gráfico tiene una arista de vértice a vértice , entonces el gráfico debe tener una arista de vértice a vértice . En el caso de un grafo dirigido , esta biyección también debe conservar la orientación de la arista. En el caso de un gráfico ponderado, la biyección también debe conservar el peso de la arista.
Una ruta en un gráfico es una secuencia finita de vértices en la que cada vértice (excepto el último) está conectado al siguiente vértice de la secuencia por una arista. Una cadena es una ruta sin bordes repetidos. Un camino simple es un camino sin vértices repetidos (lo que significa que no hay bordes repetidos en un camino simple).
Una ruta orientada (o camino ) en un dígrafo es una secuencia finita de vértices y arcos en los que cada elemento es incidente con el anterior y el siguiente.
Un ciclo es una cadena en la que coinciden el primer y el último vértice. En este caso , la longitud del camino (o ciclo) es el número de sus aristas constituyentes . Tenga en cuenta que si los vértices y son los extremos de algún borde, entonces de acuerdo con esta definición, la secuencia es un ciclo. Para evitar tales casos "degenerados", se introducen las siguientes nociones.
Un camino (o ciclo) se llama simple si los bordes en él no se repiten; elemental si es simple y los vértices en él no se repiten (a excepción del inicial y final en el caso de un ciclo).
Las propiedades más simples de caminos y ciclos:
Una relación binaria en el conjunto de vértices de un grafo, dada como "hay un camino de a ", es una relación de equivalencia y, por lo tanto, divide este conjunto en clases de equivalencia, llamadas componentes conexas del grafo. Si un gráfico tiene exactamente un componente conexo, entonces el gráfico es conexo. Sobre la componente conexa, podemos introducir el concepto de distancia entre vértices como la longitud mínima de un camino que conecta estos vértices.
Cualquier subgrafo conexo máximo de un gráfico se denomina componente conexo (o simplemente componente) del gráfico . La palabra "máximo" significa máximo con respecto a la inclusión, es decir, no contenido en un subgrafo conexo con una gran cantidad de elementos.
Un borde en un gráfico se llama puente si su eliminación aumenta el número de componentes.
La gráfica se llama:
También sucede:
Un gráfico simple es un complejo simplicial unidimensional .
De manera más abstracta, un grafo se puede definir como un triple , donde y son unos conjuntos ( de vértices y aristas , respectivamente), y es una función de incidencia (o incidenter ) que asigna a cada arista (ordenada o desordenada) un par de vértices y de (sus extremos ). Casos particulares de este concepto son:
Una tabla donde tanto las columnas como las filas corresponden a los vértices del gráfico. En cada celda de esta matriz, se escribe un número que determina la presencia de una conexión desde la fila superior a la columna superior (o viceversa).
Esta es la forma más conveniente de representar gráficos densos.
La desventaja son los requisitos de memoria, que son directamente proporcionales al cuadrado del número de vértices.
Una tabla donde las filas corresponden a los vértices del gráfico y las columnas corresponden a los enlaces (bordes) del gráfico. En una celda de matriz en la intersección de una fila con una columna , se escribe lo siguiente:
una en caso de que la conexión "salga" de la parte superior , -1, si la conexión "entra" en el vértice, 0 en todos los demás casos (es decir, si la conexión es un bucle o la conexión no es incidente en el vértice)Este método es bastante amplio (el tamaño es proporcional a ) para el almacenamiento, por lo que se usa muy raramente, en casos especiales (por ejemplo, para encontrar rápidamente ciclos en un gráfico).
Una lista donde cada vértice del gráfico corresponde a una cadena que almacena una lista de vértices adyacentes. Tal estructura de datos no es una tabla en el sentido habitual, sino una "lista de listas".
Tamaño de la memoria: .
Esta es la forma más conveniente de representar gráficos dispersos, así como al implementar algoritmos básicos de recorrido de gráficos en amplitud o profundidad, donde necesita obtener rápidamente los "vecinos" del vértice que se ve actualmente.
Una lista donde cada borde del gráfico corresponde a una cadena que almacena dos vértices incidentes en el borde.
Tamaño de la memoria: .
Esta es la forma más compacta de representar gráficos, por lo que a menudo se usa para almacenamiento externo o intercambio de datos.
Para describir gráficos que sean adecuados para el procesamiento de máquinas y al mismo tiempo convenientes para la percepción humana, se utilizan varios lenguajes estandarizados, que incluyen:
Se ha desarrollado una serie de programas comerciales para la construcción de gráficos, por ejemplo, la construcción de gráficos es la base de los paquetes de software de aplicación ILOG (desde 2009 propiedad de IBM Corporation ), entre otros programas: GoView, Lassalle AddFlow, LEDA (hay una edición gratuita ).
También hay un programa gráfico gratuito igraph y una biblioteca gratuita llamada Boost .
Programas de visualizaciónLas siguientes herramientas de software se utilizan para visualizar gráficos :