发生检查友好 Prolog 特征结构统一

问题描述

特征结构有时会用开放的地图来识别。然后可以将它们表示为使用运算符 (:)/2 进行配对的开放 Prolog 列表。此功能术语:

enter image description here

会给这个 Prolog 术语:

[number:sg,person:3 | _ ]

特征结构统一的代码通常如下所示,取自本教程here

unify0(Dag,Dag) :- !.         
unify0([Feature:Value|Rest],Dag) :-   
    val(Feature,Value,Dag,StripDag),unify0(Rest,StripDag).

但这不是很容易检查友好。 Dag,Dag 模式导致 unify0 的实际第一个参数和 unify0 调用方的实际第二个参数之间的统一。这种统一尝试一次又一次。

周围有更好的实现吗?

解决方法

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

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

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