Aplicación de la teoría de grafos en informática.

11

Soy un estudiante de CS. Hicimos teoría de grafos en un curso. Lo encontre interesante.

¿Cuáles son las aplicaciones reales de la teoría de grafos en el campo de la informática?

Por ejemplo, descubrí que algunos conceptos en la teoría de grafos se pueden usar para diseñar redes. ¿Cuáles son otras aplicaciones similares?

nbro
fuente
1
Esta podría ser una lista muy larga. Estoy pensando en CW?
Suresh Venkat
44
Esto parece demasiado general incluso para un CW. La teoría de grafos es ubicua en TCS.
Huck Bennett
30
Preguntar por temas en CS que no usan gráficos podría haber producido la lista más corta.
Raphael
1
@peedarpk: Si estás siguiendo una clase de teoría de grafos en un cursus CS, ¿por qué no le preguntas al profesor?
Anthony Labarre
3
Realmente, ¿podemos cerrar esto ahora? La respuesta a esta pregunta está en wikipedia ( en.wikipedia.org/wiki/Graph_theory#Applications ) o en cualquier libro de texto introductorio de pregrado.
RJK

Respuestas:

12

Esta no es una respuesta definitiva, y no es mi intención.

Muchos problemas de interés para los informáticos pueden expresarse como problemas de grafos, y como resultado la teoría de grafos se muestra bastante en la teoría de la complejidad. El esfuerzo computacional requerido para determinar dónde dos gráficos son isomórficos, por ejemplo, es actualmente un tema de mucho interés en la teoría de la complejidad (no se sabe que sea NP completo ni esté contenido en P, BPP o BQP, pero está claramente en NP) . El no isomorfismo gráfico, por otro lado, tiene una muy buena prueba de conocimiento cero (otra área de estudio en teoría de la complejidad). Muchas clases de complejidad tienen problemas gráficos que están completos para esa clase (bajo alguna reducción).

Sin embargo, no es solo la teoría de la complejidad la que hace uso de la teoría de grafos. Como puede ver en algunas de las otras respuestas, hay una gran variedad de problemas para los cuales el lenguaje de la teoría de grafos es el más apropiado. Hay muchas aplicaciones para proporcionar una lista diffinitiva, por lo que en su lugar te dejaré con un ejemplo de cómo la teoría de gráficos juega un papel fundamental en mi propia área de investigación.

La computación cuántica basada en la medición es un modelo de computación que no tiene una contraparte en el mundo clásico. En este modelo, el cálculo se lleva a cabo haciendo mediciones en una clase especial de estados cuánticos. Estos estados se conocen como estados de gráficos, porque cada estado puede identificarse de manera única con un gráfico no dirigido con un número de vértices igual al número de qubits en el estado del gráfico. Sin embargo, este vínculo con la teoría de grafos es más que una coincidencia. Sabemos que una clase importante de mediciones (mediciones basadas en Pauli en caso de que esté interesado) mapean el estado del gráfico subyacente a un nuevo estado del gráfico en un qubit menos, y las reglas por las cuales esto ocurre son bien entendidas. Además, las propiedades de la familia de gráficos subyacente (es flujo y flujo g) determinaron completamente si es compatible con la computación universal. Por último, para cualquier gráfico G 'al que se pueda llegar desde otro gráfico G mediante una secuencia arbitraria de complemento de los bordes de la vecindad de un vértice se puede alcanzar solo con operaciones de un solo qubit, por lo que son igualmente potentes como recurso para el cálculo. Esto es interesante porque la cantidad de aristas, el máximo de los grados de vértice, etc. puede cambiar drásticamente.

Joe Fitzsimons
fuente
¡Gran respuesta a lo que era improbable que el OP hubiera estado preguntando! Pero tópicamente, ¿por qué no olvidamos la versión original (mala) de la pregunta y pretendemos que estamos jugando a Jeopardy: "¿Cuál es la intuición detrás de la ubicuidad de los gráficos en casi todas las subdisciplinas de la informática teórica?"
RJK
@RJK: Quizás debería haber leído la pregunta con más cuidado, pero pensé que al menos podría ser interesante para la persona que hace la pregunta.
Joe Fitzsimons
No, no, esta fue una gran respuesta.
Montagista
5

Las aplicaciones de la teoría de grafos son abundantes dentro de la informática y en la vida cotidiana:

  • Encontrar rutas más cortas en sistemas de navegación para automóviles
  • Los motores de búsqueda utilizan algoritmos de clasificación basados ​​en la teoría de gráficos
  • Optimización de horarios para escuelas o universidades.
  • Análisis de redes sociales.
  • Optimización de la utilización de los sistemas ferroviarios.
  • Los compiladores usan algoritmos de coloración para asignar registros a variables
  • Planificación de caminos en robótica
Volker Turau
fuente
3

Graph Theory tiene una variedad de aplicaciones. Mis favoritas son las aplicaciones en:

  • Redes a gran escala
  • Computación social
  • Bioinformática
Nikhil
fuente
2

Las redes de modelado se realizan mediante gráficos. Por ejemplo, si necesita estudiar la difusión o la multidifusión en ciertos tipos de topologías de red, usaría gráficos para modelar las redes. Por ejemplo:

  • hipergrafías
  • gráficos completos
  • gráficos de estrellas
  • mallas

Cuando modela redes utilizando gráficos, puede utilizar todo el poder de la teoría de gráficos para analizar la red.

Esta es solo una de las muchas aplicaciones de la teoría de grafos en informática.

gprime
fuente
-2

La estructura del directorio es una estructura de árbol (con nodos raíz y nodos secundarios. En las redes se usa para encontrar la ruta más corta utilizando el árbol de expansión mínima, el algoritmo de Dijkstra.

Geetanjali
fuente