ventajas unificacion sld resolucion proposicional programacion logicos logica lenguajes ejemplos desventajas python logic machine-learning reasoning

python - unificacion - resolucion sld programacion logica



Motor de lógica de primer orden (3)

Receta 303057: Sintaxis de Pythologic - Prolog en Python / http://code.activestate.com/recipes/303057/

Me gustaría crear una aplicación que pueda hacer un razonamiento simple usando la lógica de primer orden. ¿Alguien puede recomendar un "motor" que pueda aceptar un número arbitrario de expresiones FOL y permitir la consulta de esas expresiones (preferiblemente accesibles a través de Python)?


PyLog :

PyLog es una biblioteca lógica de primer orden que incluye un motor PROLOG en Python.


No realice consultas utilizando la lógica de primer orden (FOL) a menos que sea absolutamente necesario: la lógica de primer orden no es decidible, sino solo semidecitable, por lo que las consultas a menudo no terminarán.

La lógica de descripción es esencialmente un fragmento decidible de lógica de primer orden, reformulada de una manera que es buena para hablar sobre clases de entidad y sus interrelaciones. Existen muchos motores para la lógica de descripción en Python, por ejemplo, seth , basado en OWL-DL.

Si realmente está seguro de que necesita la inmensidad de FOL, entonces FLiP merece una visita. No lo he usado (realmente no me gusta Python, para ser sincero), pero este es un buen enfoque para hacer que la verificación de la lógica esté disponible para un lenguaje de programación.