Un solucionador es un programa informático matemático , posiblemente un programa independiente o una biblioteca de software , que resuelve problemas matemáticos. Un solucionador toma descripciones de problemas genéricas y calcula su solución. El objetivo principal de un solucionador es crear un programa o biblioteca que pueda aplicarse fácilmente a otros problemas similares.
Tipos de solucionadores
Los tipos de problemas que presentan 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 .
- Los sistemas de ecuaciones polinómicas , que son un caso especial de sistemas no lineales, se resuelven mejor mediante solucionadores específicos.
- Problemas de optimización lineal y no lineal
- Sistemas de ecuaciones diferenciales ordinarias
- Sistemas de ecuaciones diferenciales algebraicas
- 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 árbol de expansión mínima
- Optimización combinatoria [ 2 ]
- Solucionadores de juegos para problemas en 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 el objetivo de funcionar como un solucionador de problemas universal, que teóricamente puede utilizarse para resolver cualquier problema que pueda 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 para resolverlos (como un motor de búsqueda general ).
Los solucionadores generales suelen emplear una arquitectura similar a la del GPS para desacoplar la definición del problema de la estrategia utilizada para resolverlo. La ventaja de este desacoplamiento radica en que el solucionador no depende de los detalles de ninguna instancia particular del problema. La estrategia empleada por los solucionadores generales se basaba en un algoritmo general (generalmente basado en retroceso ) con el único objetivo de la completitud. Esto genera un tiempo de cálculo exponencial que limita drásticamente su utilidad. Los solucionadores modernos emplean un enfoque más especializado que aprovecha la estructura de los problemas para que el solucionador dedique el menor tiempo posible al retroceso.
Para problemas de una clase particular (por ejemplo, sistemas de ecuaciones no lineales ), generalmente se dispone de múltiples algoritmos. 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 al usuario para guiar la resolución del problema.
- Satisfacibilidad módulo teorías 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 para ecuaciones diferenciales ordinarias
Referencias
- ^ Uso de solucionadores QBF para resolver juegos y rompecabezas - Boston College
- ^ Zhang, Weixiong (2012-12-06). 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 multiagente . N.° CMU-CS-00-165. Universidad Carnegie Mellon, Pittsburgh, Pensilvania, Escuela de Ciencias de la Computación, 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 .
- Software numérico
- Herramientas de métodos formales