Логический Движок Первого Порядка

Я хотел бы создать приложение, которое может делать простые рассуждения, используя логику первого порядка. Может ли кто-нибудь рекомендовать "движок", который может принимать произвольное количество выражений FOL и разрешать запрос этих выражений (предпочтительно доступный через Python)?

3 ответов


PyLog:

PyLog-это логическая библиотека первого порядка включая движок PROLOG в Python.


не запрашивайте с помощью логики первого порядка (FOL), если вам абсолютно не нужно: логика первого порядка не разрешима, а только полурешима, и поэтому запросы часто, неизбежно не завершаются.

описание логики по существу является разрешимым фрагментом логики первого порядка, переформулированным таким образом, что хорошо говорить о классах сущностей и их взаимосвязях. Существует много движков для логики описания в Python, например сет, на основе OWL-DL.

Если вы действительно уверены, что вам нужна необъятность FOL, то флип стоит посмотреть. Я не использовал его (не очень увлекаюсь Python, если честно), но это хороший подход к тому, чтобы сделать логическую проверку доступной для языка программирования.


рецепт 303057: Pythologic -- синтаксис Пролога в Python / http://code.activestate.com/recipes/303057/