一阶逻辑引擎

时间:2010-02-21 04:08:09

标签: python logic machine-learning reasoning

我想创建一个可以使用一阶逻辑进行简单推理的应用程序。任何人都可以推荐一个可以接受任意数量的FOL表达式的“引擎”,并允许查询这些表达式(最好通过Python访问)吗?

3 个答案:

答案 0 :(得分:9)

不要使用一阶逻辑(FOL)进行查询,除非你绝对必须:一阶逻辑不是可判定的,而只是半可判断的,因此查询通常会不可避免地终止。

Description logic本质上是一阶逻辑的可判定片段,以一种有利于讨论实体类及其相互关系的方式重新制定。 Python中有许多描述逻辑引擎,例如seth,基于OWL-DL。

如果您确定需要广泛的FOL,那么FLiP值得一看。我没有用过它(说实话并不热衷于Python),但这是一种很好的方法,可以让编程语言使用逻辑检查。

答案 1 :(得分:6)

PyLog

  

PyLog是一阶逻辑库   包括Python中的PROLOG引擎。

答案 2 :(得分:1)

食谱303057:Python中的Pythologic - Prolog语法/ http://code.activestate.com/recipes/303057/