Skip to content

stddddd/FOL-unification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

题目二代码说明

运行环境

python 3.9.17

运行方式

python unification.py

输入数据

代码主函数如下所示:

if __name__ == '__main__':
	fol1 = FOL('Knows', ['John', 'x'])
	fol2 = FOL('Knows', ['y', FOL('Mother', ['y'])])
	
	result = unify(fol1, fol2)
	print_result(result)

在主函数中可以对fol1fol2进行赋值。在代码中,使用FOL类表示一条FOL语句。为创建一个FOL类,可以使用代码:

fol = FOL(operation, argument)

其中,operation为字符串类型,表示FOL语句的谓词或函词;argument是一个列表,表示FOL语句的变量。列表中元素可以为变量variable,常量constant,或FOL类,以实现FOL语句的嵌套。

在上面代码中,fol1表示$Konws(John, x)$fol2表示$Konws(y,Mother(y))$

输出数据

代码的输出只有一行,表示两条FOL语句的合一置换。对于代码中给出的数据,输出为$\{y/John,x/Know(z,Mother(John))\}$

可以通过改变fol1fol2来得到指定FOL语句的合一置换。

备注

本代码将只含有小写字母的字符串视为变量,将含有大写字母的字符串视为常量。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages