首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最一般的统一化方法和结果

最一般的统一化方法和结果
EN

Stack Overflow用户
提问于 2020-11-12 12:29:37
回答 1查看 103关注 0票数 1

我正在学习Prolog的过程中,正在努力识别最通用的统一化,以及通过以下解决步骤来获得由此产生的新的目标术语列表。下面是我正在做的工作的一个例子。理解这里发生的事情的正确方式是什么?

代码语言:javascript
运行
复制
resolution([append([],B,B)], [append(X,Y, [1,2])]
EN

回答 1

Stack Overflow用户

发布于 2020-11-12 15:13:46

IIRC MGU是使两个项相同的变量的替换。

由于术语是递归的数据结构,因此unification的直观算法可以在绑定变量时使用stack of pairs访问术语。

在您的示例中,解析采用2个列表,因此开始将它们一起推送到堆栈中。现在迭代,弹出最上面的术语对并应用basic steps,直到堆栈变为空-然后统一成功-或者不能-然后失败。

关键的观察结果是,堆栈中的每一对元素之间必须具有一致性。当然,逻辑变量在游戏中扮演着基本的角色。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64797932

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档