• test测试条件元素在使用时不参与CE的匹配,而只是计算CE表达式是否符合设置。or条件元素使用时,CE都必须被满足才能激活规则。

    想好一个例子:需要用一个规则判定输入两个整数,判定其中一个数是否为偶数,如果为偶数,则打印结果。

    (defrule r1

    =>

    (printout...

  • 2011-08-23

    很久没来 - [日志纪事]

     自从上班,有微薄后,很少再来这里.偶尔看到一些留言,由于不看CLIPS好久也一下看不懂了.只好从长计议,找个时间好好梳理一下,从新来过.
  • 801.clp

    (deftemplate father-of
    (slot father)
    (slot child))

    (deftemplate male
    (slot person))

    (deftemplate female
    (slot person))

    (deffacts relationship
    (father-of (father grandfather) (child papa))
    (father-of (father grandfather) (child uncle-le...

  • 7.15 验证的是堆栈,大致是演示数据输入和推出的顺序,暂时还没有写出合适的演示程序。

    7.16 暂时还没有好的方法可以实现书中的要求,估计是要用到多字符变量,还在思考中...

    7.17 代码如下:

    717.clp内容

    (deffacts ini
    (state 0)
    )

    (defrule input
    (declare (...

  • 7.14题写了两个clp文件,714-1.clp为检测出符合单特征的所有植物;714-2.clp为可以满足同时满足两个特征的所有植物;可以满足三个以上特征的程序以此类推,代码略。

    714-1.clp的内容:

    (deftemplate plant
    (slot name(type STRING))
    (multislot cold)
    (multislot d...
  • (一)(halt)的用法是在执行该条命令后,停止继续前行,如下规则演示:

    (defrule test-t
    (test)
    =>
    (printout t "t" crlf)
    (assert (d))
    (halt))

    (defrule test-d
    (d)
    =>
    (printout t "goon" crlf))

    上述规则在声明(test)后,运行,不会打印出“goon&r...

  •    7.13题的代码如下:
    (deftemplate bs
    (slot name(type STRING))
    (multislot hardness(type NUMBER))
    (multislot density(type NUMBER))
    (multislot color)
    )

    (deftemplate condition
    (multislot hardness(type NUMBER))
    (multislot density(type NUMBE...

  •   终于买了黑皮书,可以说黑皮书是学习CLIPS必不可少的资料,因为是影印版,所以基本属于原汁原味的东西。书里的每章节后的练习题也非常有意思,只有多练习,才能写出好的,无漏洞的CLIPS程序。

      第七章看完,开始尝试解答章节后的练习题,希望和大家交...


  • 在创建MFC项目时,如果没有设置好项目参数, 就会在编译时产生很多连接错误, 如我今天遇到的:
    LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

    解决方法:

    控制台项目要使用windows子系统, 而不是console, 设置:
    [Project] --> [Settings...

  • 2.4.1 Reset (Ctrl+E)

    (reset)命令在执行之前有警告对话框。重置命令,清空agenda里的事实库,保留初始事实。

    2.4.2 Run (Ctrl+R)
    执行命令。
    监视命令,可以查看CLIPS执行过程中的事实库,编译,规则库,激活等过程。
    2.5 The Browse Menu    ...