Soy un profesional del software y estoy escribiendo una encuesta sobre estructuras algebraicas para la investigación personal y estoy tratando de producir ejemplos de cómo se utilizan estas estructuras en la informática teórica (y en menor grado, otros subcampos de la informática) .
Bajo la teoría de grupo, me he encontrado con monoides sintácticos para lenguajes formales y monoides de rastreo e historia para computación paralela / concurrente.
Desde el punto de vista de la teoría de los anillos, me he encontrado con marcos de semiring para el procesamiento de gráficos y el análisis basado en semiring.
Todavía no he encontrado ningún uso de las estructuras algebraicas de la teoría de módulos en mi investigación (y me gustaría).
Supongo que hay más ejemplos y que no estoy buscando en el lugar correcto para encontrarlos.
¿Cuáles son algunos otros ejemplos de estructuras algebraicas de los dominios enumerados anteriormente que se encuentran comúnmente en la informática teórica (y otros subcampos de la informática)? Alternativamente, ¿qué revistas u otros recursos puede recomendar que cubran estos temas?
Respuestas:
Mi impresión es que, en general, el álgebra tradicional es demasiado específico para su uso en informática. Entonces, los informáticos usan estructuras más débiles (y, por lo tanto, más generales), o generalizan las estructuras tradicionales para que puedan adaptarse a sus necesidades. También usamos mucho la teoría de categorías, que los matemáticos no consideran parte del álgebra, pero no vemos por qué no. La reglamentación de las matemáticas tradicionales en "álgebra" y "topología" como ramas separadas es incómoda, incluso sin sentido, porque el álgebra es generalmente de primer orden, mientras que la topología tiene la posibilidad de tratar aspectos de orden superior. Por lo tanto, las estructuras utilizadas en Informática tienen álgebra y topología mezcladas. De hecho, diría que tienden más hacia la topología que el álgebra. La reglamentación del razonamiento en "álgebra" y "lógica" es otra división sin sentido desde nuestro punto de vista, porque el álgebra se ocupa de las propiedades de la ecuación, mientras que la lógica también se ocupa de todos los otros tipos de propiedades.
Volviendo a su pregunta, los semigrupos y monoides se usan con bastante intensidad en la teoría de autómatas. Eilenberg ha escrito una colección de 2 volúmenes , el segundo de los cuales es casi completamente álgebra. Me dijeron que estaba planeando cuatro volúmenes, pero su edad no permitió que el proyecto se terminara. Jean-Eric Pin tiene una versión modernizada de gran parte de este contenido en un libro en línea . Los autómatas son "módulos monoides" (también llamados acciones monoides o "actos"), que se encuentran en el nivel correcto de generalidad para la informática. Los módulos de anillo tradicionales son probablemente demasiado específicos.
La teoría del enrejado fue una fuerza importante en el desarrollo de la semántica denotacional. La topología se mezcló con la teoría de redes cuando los informáticos, junto con los matemáticos, desarrollaron redes continuas y luego las generalizaron a dominios . Diría que la teoría del dominio es la matemática propia de los informáticos, de la cual las matemáticas tradicionales no tienen conocimiento.
El álgebra universal se usa para definir especificaciones algebraicas de tipos de datos . Habiendo llegado allí, los informáticos descubrieron de inmediato la necesidad de lidiar con propiedades más generales: ecuaciones condicionales (también llamadas cláusulas de cuerno equitativas) y propiedades lógicas de primer orden, que todavía usan las mismas ideas de álgebra universal. Como notarías, el álgebra ahora se fusiona con la teoría de modelos.
La teoría de categorías es la base de la teoría de tipos. A medida que los informáticos siguen inventando nuevas estructuras para lidiar con varios fenómenos computacionales, la teoría de categorías es un marco muy reconfortante en el que ubicar todas estas ideas. También usamos estructuras que están habilitadas por la teoría de categorías, que no tienen existencia en las matemáticas "tradicionales", como las categorías functor. Además, el álgebra vuelve a la imagen desde un punto de vista categórico en el uso de mónadas y teorías algebraicas de los efectos . Las coalgebras , que son los duales de las álgebras, también encuentran mucha aplicación.
Por lo tanto, existe una amplia aplicación de "álgebra" en informática, pero no es el tipo de álgebra que se encuentra en los libros de texto de álgebra tradicionales.
Nota adicional : Hay un sentido concreto en el que la teoría de categorías es álgebra. Monoide es una estructura fundamental en álgebra. Consiste en un operador binario de "multiplicación" que es asociativo y tiene una identidad. La teoría de categorías generaliza esta asociando "tipos" de los elementos del monoide, . Se puede "multiplicar" los elementos sólo cuando los tipos de concordancia: si y entonces . Por ejemplo, matrices tienen una operación de multiplicación que las convierte en un monoide. Sin embargo, matrices (donde ya : X → Y b : Y → Z a b : X → Z n × n m × n m na:X→Y a:X→Y b:Y→Z ab:X→Z n×n m×n m n podría ser diferente) formar una categoría. Los monoides son, por lo tanto, casos especiales de categorías que tienen un solo tipo. Los anillos son casos especiales de categorías aditivas que tienen un solo tipo. Los módulos son casos especiales de functores donde las categorías de origen y destino tienen un solo tipo. Pronto. La teoría de categorías es álgebra tipeada cuyos tipos la hacen infinitamente más aplicable que el álgebra tradicional.
fuente
Mi aplicación favorita de todos los tiempos de la teoría de grupos en TCS es el Teorema de Barrington. Puede encontrar una exposición de este teorema en el blog de complejidad , y la exposición de Barrington en la sección de comentarios de esa publicación.
fuente
Grupos, anillos, campos y módulos están en todas partes en la topología computacional. Ver especialmente el trabajo de Carlsson y Zomorodian [ex: 1 ] sobre homología persistente (multidimensional), que se trata de módulos calificados sobre dominios ideales principales.
fuente
Este es un uso muy agradable y práctico: un algoritmo para calcular la conectividad gráfica (de FOCS2011 ). Para calcular la conectividad s-> t de un gráfico, los autores dan un algoritmo que asigna vectores aleatorios con entradas dibujadas desde un campo finito a los bordes externos desde s, luego construye vectores similares para todos los bordes en el gráfico tomando aleatoriamente combinaciones lineales, y finalmente descubren la conectividad calculando el rango de los vectores resultantes asignados a los bordes internos de t.
fuente
Los enrejados y los puntos fijos son la base del análisis y la verificación del programa. Aunque los resultados avanzados de la teoría de la red rara vez se usan porque nos preocupan los problemas algorítmicos como la computación y la aproximación de puntos fijos, mientras que la investigación en la teoría de la red tiene un enfoque diferente (conexiones a la topología, la teoría de la dualidad, etc.). Los trabajos iniciales de interpretación abstracta utilizan la teoría básica de la red. El trabajo de Roberto Giacobazzi y sus colaboradores utiliza resultados más avanzados.
En la informática distribuida, se obtuvo una familia célebre de resultados imposibles utilizando métodos de topología algebraica (ver el trabajo de Maurice Herlihy y Nir Shavit).
[Editar: consulte Aplicaciones de topología en informática ].
fuente
El álgebra universal es una herramienta importante para estudiar la complejidad de los problemas de satisfacción de restricciones.
Por ejemplo, la Conjetura de la dicotomía establece que, en términos generales, un problema de satisfacción de restricciones sobre un dominio finito es NP-completo o puede resolverse en tiempo polinómico. Tenga en cuenta que, según el teorema de Ladner, hay problemas en NP que no están en P ni en NP completos, a menos que P = NP, por lo que la conjetura dice que los CSP son especiales para tener una dicotomía que las clases de mayor complejidad no tienen. También proporcionaría alguna explicación de por qué la mayoría de los problemas que encontramos en la práctica pueden clasificarse como NP-completos o en P.
Las dicotomías se probaron para varios casos especiales, por ejemplo, CSP de dominio binario (Schaefer) y CSP de dominio ternario (Bulatov), y homomorfismos en gráficos no dirigidos (Hell y Nesetril). Pero el caso general es bastante abierto. Una de las principales líneas de ataque es a través del álgebra universal. En términos generales (¡y definitivamente no soy un experto en esto!) Se define un polimorfismo de CSP como una función en el dominio del CSP que deja satisfechas todas las restricciones satisfechas si se aplica a cada variable. El conjunto de polimorfismos de un CSP en cierto sentido captura su complejidad. Por ejemplo, si un CSP A admite todos los polimorfismos de un CSP B, entonces A es polinomial reducible en tiempo a B. El conjunto de polimorfismos forma un álgebra, cuya estructura parece útil para diseñar algoritmos / mostrar reducciones. Por ejemplo, si el álgebra de polimorfismo de un CSP es idempotente y admite el tipo unario, entonces el CSP es NP-completo. La idempotencia es un supuesto simplificador que puede hacerse más o menos sin pérdida de generalidad. Demostrar que un CSP cuyo álgebra es idempotente y no admite el tipo unario puede resolverse en tiempo polinómico demostrará la Conjetura de la dicotomía.
Vea la encuesta de Bulatov: http://www.springerlink.com/content/a553847g6h673k05/ .
fuente
Aquí hay dos aplicaciones de una parte diferente de TCS.
Semirings se utilizan para modelar anotaciones en bases de datos (especialmente aquellas necesarias para la procedencia), y a menudo también para las estructuras de valoración en la satisfacción de restricciones valoradas. En ambas aplicaciones, los valores individuales deben combinarse de manera que conduzcan naturalmente a una estructura semired, con asociatividad y una operación semiring distribuyendo sobre la otra. Con respecto a su consulta sobre módulos, ninguno de los monoides tiene un inverso en estas aplicaciones, en general.
fuente
Los anillos, los módulos y las variedades algebraicas se usan en la corrección de errores y, más generalmente, en la teoría de la codificación.
Específicamente, hay un esquema de corrección de errores abstracto (códigos de geometría algebraica) que generaliza los códigos Reed-Solomon y los códigos chinos restantes. El esquema consiste básicamente en tomar sus mensajes para que provengan de un anillo R y codificarlo tomando sus módulos de módulos de muchos ideales diferentes en R. Bajo ciertas suposiciones sobre R, uno puede probar que esto hace un error decente al corregir el código.
En el mundo de la decodificación de listas, un artículo reciente de Guruswami ofrece un método lineal-algebraico de decodificación de listas de códigos Reed-Solomon plegados, que tiene la buena propiedad de que todos los mensajes candidatos se encuentran en un subespacio afín de baja dimensión del espacio de mensajes . Se pueden construir conjuntos evasivos del subespacio , conjuntos que son casi tan grandes como todo el espacio pero que tienen una pequeña intersección con cada subespacio afín de baja dimensión. Si uno restringe los mensajes para que provengan de un conjunto evasivo del subespacio dentro del espacio de mensajes, entonces el esquema de Guruswami proporciona un algoritmo que garantiza un buen tamaño de lista. Hasta ahora, la única construcción explícita de conjuntos evasivos subespaciales es dada por Dvir y Lovett en su próximo documento STOC, Conjuntos evasivos subespaciales y construya el conjunto tomando una variedad afín específica (y tomando su producto cartesiano consigo mismo).
fuente
Echa un vistazo a la teoría de Ramsey : básicamente, una generalización significativa del principio del casillero que subyace a muchos autómatas y teoría del lenguaje formal (o debería decir que el principio del casillero es el caso más simple de la teoría de Ramsey). Básicamente dice que incluso las estructuras altamente desordenadas necesariamente contienen mucho orden si son lo suficientemente grandes. Para un pequeño ejemplo, más allá del principio del casillero, tenga en cuenta que si toma seis personas, tres de ellas se conocen mutuamente o tres no se conocen entre sí.
Este documento parece un buen lugar para comenzar a conectarse con la informática, pero puede buscar en Google para obtener más información. Es más combinatorio que algebraico en su naturaleza básica, pero tiene muchas aplicaciones en álgebra y CS teórica.
Y también echa un vistazo a la historia del inventor, Frank Ramsey , verdaderamente un polímato notable que hizo contribuciones fundamentales, incluso revolucionarias en economía y filosofía, así como en matemáticas, muchas de las cuales no fueron apreciadas hasta mucho más tarde, todo antes de morir a la edad de 26 años. ¡solo piensa! De hecho, el teorema original de Ramsey, la base de la teoría de Ramsey, era un mero lema en un artículo con un objetivo mayor en lógica matemática.
fuente
El análisis de cualquier problema con mucha simetría se facilita mediante el uso de la teoría de grupos. Un ejemplo sería encontrar algoritmos para cosas como el cubo de Rubic. Aunque no conozco los detalles, estoy seguro de que probar que el número de Dios es 20 requería una poda teórica grupal seria. En un contexto diferente, los solucionadores prácticos para el problema de isomorfismo gráfico como náutico usan el grupo automorfismo del gráfico.
fuente
El álgebra (y la geometría algebraica) ha tenido un papel bastante importante en la criptografía, con grupos de curvas elípticas, redes (teóricas de números) y, por supuesto, es la base de casi todo el trabajo criptográfico moderno.Zp
fuente
En la programación funcional, las abstracciones más generales y elegantes para los problemas son a menudo de naturaleza algebraica (o teórica de categoría): monoides, semirremolques , functores, mónadas, álgebras F , carbonebras F, etc. Algunos resultados clásicos (por ejemplo, el Yoneda lema) resultan tener contenido computacional y utilidad.
Además, existe la teoría de tipos de homotopía, que interpreta la teoría de tipos en (tipo de) un entorno topológico algebraico.
fuente
Recientemente, exploramos (vea nuestro documento sobre springerlink: una unificación formal basada en series de los enfoques frecuentes de minería de conjuntos de elementos ) un intento de unificación para los enfoques de minería de patrones (una instancia popular de minería de datos) mediante series formales y autómatas ponderados. Estas herramientas se basan en mapeos entre monoides y estructuras semired.
fuente