首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用CNF表示知识库并在prolog中解析

用CNF表示知识库并在prolog中解析
EN

Stack Overflow用户
提问于 2021-03-08 18:34:51
回答 1查看 128关注 0票数 2

我有一个CNF的知识库,我想用prolog来做一个解决方案,但是我无法思考如何在prolog中解决这个问题。

我有过

代码语言:javascript
复制
KB = { P v Q, Q => (R ^ S), (P v R) => U }

我把CNF作为:

代码语言:javascript
复制
KB = { P v Q, not(Q) v R, not(Q) v S, not(P) v U, not(R) v U }

我想证明KB包含U ( KB |= U )

我可以通过反驳来手动证明,但是我想知道如何使用prolog来完成这个任务?

Thx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-08 19:37:13

答案是:这是不可能的。

not(Q) v,not(Q) v,not(P) v,not( R ) v

可以用r:-q.s:-q.u:-p.u:-r.来表达。

质疑? u.就等于通过反驳来要求证据。

然而,

P v q

不能将表示为prolog程序中的事实/规则。Prolog仅限于霍恩子句,即最多包含一个正字元的文字的中断。

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

https://stackoverflow.com/questions/66535293

复制
相关文章

相似问题

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