Un solucionador es un programa matemático , que puede presentarse como un programa informático independiente o como una biblioteca de software , y que "resuelve" un problema matemático. Un solucionador toma descripciones de problemas en algún tipo de formato genérico y calcula su solución. En un solucionador, el énfasis está puesto en crear un programa o una biblioteca que pueda aplicarse fácilmente a otros problemas de tipo similar.
Tipos de solucionadores
Los tipos de problemas con los solucionadores dedicados existentes incluyen:
- Ecuaciones lineales y no lineales . En el caso de una sola ecuación, el "solucionador" se denomina más apropiadamente algoritmo de búsqueda de raíces .
- Sistemas de ecuaciones lineales .
- Sistemas no lineales .
- Sistemas de ecuaciones polinómicas , que son un caso especial de sistemas no lineales, que se resuelven mejor con solucionadores específicos.
- Problemas de optimización lineal y no lineal
- Sistemas de ecuaciones diferenciales ordinarias
- Sistemas de ecuaciones algebraicas diferenciales
- Problemas de satisfacibilidad booleana , incluidos los solucionadores SAT
- Solucionadores de fórmulas booleanas cuantificadas [1]
- Problemas de satisfacción de restricciones
- Problemas de camino más corto
- Problemas de árboles de expansión mínimos
- Optimización combinatoria [2]
- Solucionadores de juegos para problemas de teoría de juegos [3]
- Problema de los tres cuerpos [4]
El Solucionador General de Problemas ( GPS ) es un programa informático creado en 1957 por Herbert Simon , JC Shaw y Allen Newell , con la intención de funcionar como un solucionador de problemas universal, que teóricamente puede utilizarse para resolver todos los problemas posibles que puedan formalizarse en un sistema simbólico, dada la configuración de entrada adecuada. Fue el primer programa informático que separó su conocimiento de los problemas (en forma de reglas de dominio ) de su estrategia de cómo resolverlos (como un motor de búsqueda general ).
Los solucionadores generales suelen utilizar una arquitectura similar al GPS para disociar la definición de un problema de la estrategia utilizada para resolverlo. La ventaja de este desacoplamiento es que el solucionador no depende de los detalles de ninguna instancia de problema en particular. La estrategia utilizada por los solucionadores generales se basaba en un algoritmo general (generalmente basado en el retroceso ) con el único objetivo de la completitud. Esto induce un tiempo computacional exponencial que limita drásticamente su usabilidad. Los solucionadores modernos utilizan un enfoque más especializado que aprovecha la estructura de los problemas para que el solucionador pase el menor tiempo posible retrocediendo.
Para problemas de una clase particular (por ejemplo, sistemas de ecuaciones no lineales ), normalmente hay varios algoritmos disponibles. Algunos solucionadores implementan varios algoritmos.
Véase también
- Software matemático para otros tipos de software matemático.
- Entorno de resolución de problemas : un software especializado que combina métodos automatizados de resolución de problemas con herramientas orientadas a humanos para guiar la resolución de problemas.
- Teorías de módulo de satisfacibilidad para solucionadores de fórmulas lógicas con respecto a combinaciones de teorías de fondo expresadas en lógica clásica de primer orden con igualdad.
- Razonador semántico
Listas de solucionadores
- Lista de solucionadores de programación lineal
- Lista de solucionadores SMT
- Lista de solucionadores de ecuaciones diferenciales ordinarias
Referencias
- ^ Uso de solucionadores QBF para resolver juegos y acertijos - Boston College
- ^ Zhang, Weixiong (6 de diciembre de 2012). Búsqueda en el espacio de estados: algoritmos, complejidad, extensiones y aplicaciones. Springer Science & Business Media. ISBN 978-1-4612-1538-7.
- ^ Bowling, Michael y Manuela Veloso. Un análisis de la teoría de juegos estocásticos para el aprendizaje por refuerzo de múltiples agentes. N.º CMU-CS-00-165. Facultad de Informática de la Universidad Carnegie-Mellon de Pittsburgh, Pensilvania, 2000.
- ^ "Una red neuronal resuelve el problema de los tres cuerpos 100 millones de veces más rápido". MIT Technology Review . 26 de octubre de 2019 . Consultado el 16 de mayo de 2021 .