prolog

¿Cuál es el mejor entre Visual Prolog, SWI-Prolog y otros?



(5)

He buscado en Internet y stackoverflow.com, pero no tengo nada.

¿Quién puede darme una comparación entre varios compiladores / IDE de Prolog, como Visual Prolog y SWI-Prolog?

¡Gracias por adelantado!


Es difícil equivocarse si empiezas con SWI-Prolog. Aunque es más lento que la mayoría de las alternativas aquí discutidas, es extremadamente robusto, tiene un amplio soporte de bibliotecas, tiene un sistema de creación de GUI decente (XPCE) y usa una licencia que permite su uso en aplicaciones propietarias.

Para una mejor velocidad, es una cuestión simple convertir la mayoría de las aplicaciones SWI-Prolog que no son GUI para que se ejecuten bajo YAP Prolog.


Hay un análisis basado en el rendimiento de los motores de reglas aquí: http://sunysb.academia.edu/PaulFodor/Papers/349245/Openrulebench_An_Analysis_of_the_Performance_of_Rule_Engines

En muchas pruebas, YAP parece ser en general la más rápida, pero XSB no está nada mal. Si busca comunicación entre idiomas (con Java, C u otros), acceso a bases de datos o tablas (estos eran mis requisitos), XSB tiene una cantidad impresionante de bibliotecas sofisticadas. Sin embargo, encontré que YAP es más fácil de usar (hasta el presente, estoy empezando a darle una oportunidad a XSB).


Puede obtener un buen comienzo al observar esta comparación de las implementaciones de Prolog . Ya que no ha dejado en claro cuáles son sus objetivos, qué plataforma está apuntando, cuáles son sus requisitos, cuál es su experiencia, etc., no puedo proporcionarle mucha más información.

Editado para añadir:

Wikipedia tiene una buena tabla de comparación de implementaciones de Prolog. Eso debería ayudarlo en su proceso de toma de decisiones.


Recomendaría Amzil Prolog debido a su GRAN Eclipse IDE Plugin. Lo encontrarás aquí: Sitio oficial .


Si la velocidad es el aspecto más importante, debe considerar GNU-Prolog. Recientemente he desarrollado utilizando Amzi! Prólogo con su Eclipse IDE (no debe confundirse con el lenguaje de programación ECLiPSe). Una vez que se hizo la depuración, dirigí mi atención a la sincronización. Portar a SWI-Prolog y GNU-Prolog fue bastante sencillo, tanto en Windows como en Linux, ya que en ese momento el código era un prólogo "ISO" bastante estándar. Mis tiempos mostraron Amzi! y SWI fueron comparables en velocidad, y GNU-Prolog fue significativamente más rápido.

También resultó que el código pasaba la mayor parte del tiempo en una sección que era muy numérica. Mientras que Amzi! y SWI, ambos implementan aritmética de enteros exactos con una precisión arbitraria, resultó que mis requisitos estaban dentro de los límites de enteros en GNU-Prolog de 32 bits.

Además, GNU-Prolog fue fácil de vincular a una reescritura de esa sección crítica en C. El código híbrido es lo que estoy usando en producción.