最通用的统一器Prolog

问题描述

有一个关于 prolog 中的 m.g.u(最通用的统一词)的快速问题。

我们被问到 m.g.u 是什么:

f(X,g(Y,h(Z))) = f(Z,g(P,h(a))).

有 2 个可能的答案

1. θ = {X/Z,Y/P,Z/a}.
2. θ = {X/a,Z/a}.

我认为第二个答案是最通用的统一词,但是,第一个答案似乎是正确的。

我尝试了两种替换,它们都产生了相同的结果,但是第二个答案是替换较少,这就是为什么我认为它是 m.g.u

任何帮助将不胜感激,谢谢!

   +-----------X
   |
   |     +-----Y
   |     |
f--+--g--+
         |
         +--h--Z
         
         
   +-----------Z
   |
   |     +-----P
   |     |
f--+--g--+
         |
         +--h--a

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)