![](https://csdnimg.cn/release/download_crawler_static/88734893/bg4.jpg)
[24]
第
24
话:我的世界替换是用项替换替换
sub
是两个文字
L
,
L
J
的
单位符,
如 果 Lsub=L
J
sub 。 L
,
L
J
的 一 个 单 位
子
sub 是 L
,
L
J
的 最 一 般 单 位 子
(
MGU
),如果对于
L
,
L
J
的每一个其他单位
子
sub
J
都
有一个替换
s
,使得
sub
J
=sub s。
MGU可以使用Robinson统一算法计算
例 2.5 谓 词 address ( x ) 和 address ( Northampton ) 统 一 , MGU 为
[x/Northampton]。 由于各种原因, 以下谓词不统一:address(x)和
address(f(x)),因为x出现在
f
(x)中,这将导致循环替换;address
(Northampton) 和 address(10
,
Northampton)作为谓词没有相同
数量的参数
;address
(
Northampton
)和
adresse
(
Northampton
)作为谓词名
称略有不匹配
;address
(
Northampton
)和
address
(
Northampton
)作为术语
略有不匹配。
3
模糊统一
在经典统一中,谓词要么统一,要么不统一;我们引入一个统一度,范围从
经典统一中的完全匹配(0度)Arcelli,Formato,Gerla以前的工作为模糊
统一,商统一和协商统一开发了一个通用的抽象框架[10]。在本文中,我们
使用了一种基于编辑距离的模糊统一方法
[13]
。编辑距离的概念有着悠久的
历史,可以追溯到
60
年代和
70
年代
[17]
并且仍然广泛使用,例如,在生物信息学中比较基因组
序列。两个字符串
A和B之间的编辑距离被定义为将A转换为B的最小删除、添加和替换操作次
数。编辑距离的基本原理很好理解,但要将其用于模糊统一,有三个要
求:
•
首先,需要进行规范化,以便能够独立于字符串的大小进行比较短字符
串的一些不匹配可能比两个长字符串的一些不匹配更糟糕。
•
其次,编辑距离的定义必须扩展到处理表示要比较的谓词和术语的一般
树结构
•
第三,由于相容性的原因,模糊统一应该是经典统一的延伸
在这一节中,我们开始扩展统一原则,以涵盖谓词和函数符号的模糊匹
配,并处理不匹配的参数。编辑距离
[17]
可以适用于此目的。