【问题标题】:how to assert an arithmetic relation in Prolog database如何在 Prolog 数据库中断言算术关系
【发布时间】:2012-10-31 13:51:53
【问题描述】:

我正在使用Bratko 提出的前向链接算法。如何在 prolog DB 中输入算术规则。例如我想输入年龄是 35。也就是说我想输入事实(age,35)。

谢谢

【问题讨论】:

    标签: prolog arithmetic-expressions


    【解决方案1】:

    很大程度上取决于您使用的 Prolog。

    我认为假设 assert/1 和“反向”retract/1 的可用性是安全的。您链接的代码已经使用了 assert/1。

    一些 Prolog 需要通过断言/撤回来操作谓词的声明:

    :- dynamic fact/2.
    
    ...
      assert(fact(age, 35)),
    ...
      retract(fact(Kind, Value)),
      write(Kind:Value),
    ...
    

    【讨论】:

    • 感谢您的回复。你的意思是我可以使用两个版本的 fact(即 fact/1 和 fact/2)。这很有趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    相关资源
    最近更新 更多