⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dfrulcmd.exp

📁 NASA 开发使用的一个专家系统
💻 EXP
📖 第 1 页 / 共 2 页
字号:
TRUECLIPS> (batch "dfrulcmd.bat")TRUECLIPS> (clear)CLIPS> (defrule r1 =>))CLIPS> (defrule r2 (a) => (assert (b)))CLIPS> (defrule r3 ?f <- (y) ?g <- (a2) => (retract ?f) (if (> 3 4) then (retract ?g)))CLIPS> (defrule r4 ?f <- (x) => (retract ?f) (assert (x)))CLIPS> (defrule r5 (or (x) (y) (and (a) (b))) => (assert (a3)))CLIPS> (defrule r6 (and (a) (b)) (c) => (assert (a2)))CLIPS> (defrule * (not (x)) (not (y)) => (assert (x)) (assert (y)))CLIPS> (list-defrules d6)[ARGACCES5] Function list-defrules expected argument #1 to be of type defmodule nameCLIPS> (rules)r1r2r3r4r5r6*For a total of 7 defrules.CLIPS> (ppdefrule r1)(defrule MAIN::r1   =>)CLIPS> (ppdefrule r2)(defrule MAIN::r2   (a)   =>   (assert (b)))CLIPS> (ppdefrule r3)(defrule MAIN::r3   ?f <- (y)   ?g <- (a2)   =>   (retract ?f)   (if (> 3 4)      then      (retract ?g)))CLIPS> (ppdefrule r4)(defrule MAIN::r4   ?f <- (x)   =>   (retract ?f)   (assert (x)))CLIPS> (ppdefrule r5)(defrule MAIN::r5   (or  (x)        (y)        (and (a)             (b)))   =>   (assert (a3)))CLIPS> (ppdefrule r6)(defrule MAIN::r6   (and (a)        (b))   (c)   =>   (assert (a2)))CLIPS> (ppdefrule *)(defrule MAIN::*   (not (x))   (not (y))   =>   (assert (x))   (assert (y)))CLIPS> (undefrule)[ARGACCES4] Function undefrule expected exactly 1 argument(s)CLIPS> (undefrule 10)[ARGACCES5] Function undefrule expected argument #1 to be of type symbolCLIPS> (undefrule bad-name)[PRNTUTIL1] Unable to find defrule bad-name.CLIPS> (undefrule r6 10)[ARGACCES4] Function undefrule expected exactly 1 argument(s)CLIPS> (list-defrules)r1r2r3r4r5r6*For a total of 7 defrules.CLIPS> (undefrule r1)CLIPS> (undefrule r2)CLIPS> (undefrule r3)CLIPS> (list-defrules)r4r5r6*For a total of 4 defrules.CLIPS> (undefrule *)CLIPS> (list-defrules)r4r5r6For a total of 3 defrules.CLIPS> (undefrule *)CLIPS> (list-defrules)CLIPS> (clear) ; Test deleting a rule by itselfCLIPS> (defrule foo => (undefrule foo))CLIPS> (rules)fooFor a total of 1 defrule.CLIPS> (reset)CLIPS> (run)[PRNTUTIL4] Unable to delete defrule foo.CLIPS> (rules)fooFor a total of 1 defrule.CLIPS> (clear) ; Test loading another KBCLIPS> (defrule foo1 (a) => (assert (f)))CLIPS> (defrule foo2 (b) (f) => (assert (g)))CLIPS> (defrule foo3 (c) (g) =>)CLIPS> (save foo.tmp)TRUECLIPS> (clear)CLIPS> (defrule bar1 => (assert (a)))CLIPS> (defrule bar2 (a) => (assert (b)))CLIPS> (defrule bar3 (b)    =>    (assert (c))    (rules)   (printout t "-------" crlf)   (undefrule *)   (rules)   (printout t "-------" crlf)   (load foo.tmp)   (rules)   (printout t "-------" crlf))CLIPS> (defrule bar4 (a) (b) (c) =>)CLIPS> (reset)CLIPS> (watch rules)CLIPS> (watch activations)CLIPS> (watch facts)CLIPS> (run)FIRE    1 bar1: f-0==> f-1     (a)==> Activation 0      bar2: f-1FIRE    2 bar2: f-1==> f-2     (b)==> Activation 0      bar3: f-2FIRE    3 bar3: f-2==> f-3     (c)==> Activation 0      bar4: f-1,f-2,f-3bar1bar2bar3bar4For a total of 4 defrules.-------[PRNTUTIL4] Unable to delete defrule bar3.<== Activation 0      bar4: f-1,f-2,f-3bar3For a total of 1 defrule.-------*==> Activation 0      foo1: f-1**bar3foo1foo2foo3For a total of 4 defrules.-------FIRE    4 foo1: f-1==> f-4     (f)==> Activation 0      foo2: f-2,f-4FIRE    5 foo2: f-2,f-4==> f-5     (g)==> Activation 0      foo3: f-3,f-5FIRE    6 foo3: f-3,f-5CLIPS> (unwatch all)CLIPS> (clear) ; Test agenda commandCLIPS> (agenda)CLIPS> (agenda 20)[ARGACCES5] Function agenda expected argument #1 to be of type symbolCLIPS> (defrule foo1 (declare (salience 2)) =>)CLIPS> (defrule foo2 (declare (salience 1)) =>)CLIPS> (defrule foo3 (declare (salience 0)) =>)CLIPS> (reset)CLIPS> (agenda)2      foo1: f-01      foo2: f-00      foo3: f-0For a total of 3 activations.CLIPS> (run 1)CLIPS> (agenda)1      foo2: f-00      foo3: f-0For a total of 2 activations.CLIPS> (run 1)CLIPS> (agenda)0      foo3: f-0For a total of 1 activation.CLIPS> (run 1)CLIPS> (agenda)CLIPS> (clear) ; Test matches commandCLIPS> (matches)[ARGACCES4] Function matches expected exactly 1 argument(s)CLIPS> (matches 10)[ARGACCES5] Function matches expected argument #1 to be of type symbolCLIPS> (matches bad-rule)[PRNTUTIL1] Unable to find defrule bad-rule.CLIPS> (defrule foo (or (a ?x) (b ?x)) (c ?) =>)CLIPS> (defrule bar (b ?x) (c ?x) (a ?) =>)CLIPS> (defrule yaz (q) (r) =>)CLIPS> (defrule flx (b ?x) (not (c ?x)) (a ?x) =>)CLIPS> (assert (a 1) (a 2) (a 3) (b 1) (b 2) (c 1))<Fact-5>CLIPS> (matches foo)Matches for Pattern 1f-0f-1f-2Matches for Pattern 2f-5Partial matches for CEs 1 - 2f-0,f-5f-1,f-5f-2,f-5Matches for Pattern 1f-3f-4Matches for Pattern 2f-5Partial matches for CEs 1 - 2f-3,f-5f-4,f-5Activationsf-0,f-5f-1,f-5f-2,f-5f-3,f-5f-4,f-5CLIPS> (matches bar)Matches for Pattern 1f-3f-4Matches for Pattern 2f-5Matches for Pattern 3f-0f-1f-2Partial matches for CEs 1 - 2f-3,f-5Partial matches for CEs 1 - 3f-3,f-5,f-2f-3,f-5,f-1f-3,f-5,f-0Activationsf-3,f-5,f-2f-3,f-5,f-1f-3,f-5,f-0CLIPS> (matches yaz)Matches for Pattern 1 NoneMatches for Pattern 2 NonePartial matches for CEs 1 - 2 NoneActivations NoneCLIPS> (matches flx)Matches for Pattern 1f-3f-4Matches for Pattern 2f-5Matches for Pattern 3f-0f-1f-2Partial matches for CEs 1 - 2f-4,Partial matches for CEs 1 - 3f-4,,f-1Activationsf-4,,f-1CLIPS> (clear) ; Test breakpoint stuffCLIPS> (set-break)[ARGACCES4] Function set-break expected exactly 1 argument(s)CLIPS> (set-break 10)[ARGACCES5] Function set-break expected argument #1 to be of type symbolCLIPS> (set-break bad-rule)[PRNTUTIL1] Unable to find defrule bad-rule.CLIPS> (show-breaks)CLIPS> (show-breaks 10)[ARGACCES5] Function show-breaks expected argument #1 to be of type symbolCLIPS> (remove-break)CLIPS> (remove-break 10)[ARGACCES5] Function remove-break expected argument #1 to be of type symbolCLIPS> (remove-break bad-rule)[PRNTUTIL1] Unable to find defrule bad-rule.CLIPS> (defrule foo1 (declare (salience 4)) =>)CLIPS> (defrule foo2 (declare (salience 3)) =>)CLIPS> (defrule foo3 (declare (salience 2)) =>)CLIPS> (defrule foo4 (declare (salience 1)) => (assert (a)))CLIPS> (defrule foo5 (declare (salience 0)) => (assert (b)))CLIPS> (defrule foo6 (declare (salience 5)) (or (a) (b)) =>)CLIPS> (set-break foo5 10)[ARGACCES4] Function set-break expected exactly 1 argument(s)CLIPS> (remove-break foo5 10)[ARGACCES4] Function remove-break expected no more than 1 argument(s)CLIPS> (show-breaks)CLIPS> (set-break foo2)CLIPS> (set-break foo4)CLIPS> (set-break foo6)CLIPS> (show-breaks)foo2foo4foo6CLIPS> (watch rules)CLIPS> (reset)CLIPS> (run)FIRE    1 foo1: f-0Breaking on rule foo2.CLIPS> (run)FIRE    1 foo2: f-0FIRE    2 foo3: f-0Breaking on rule foo4.CLIPS> (run)FIRE    1 foo4: f-0Breaking on rule foo6.CLIPS> (run)FIRE    1 foo6: f-1FIRE    2 foo5: f-0Breaking on rule foo6.CLIPS> (remove-break foo4)CLIPS> (show-breaks)foo2foo6CLIPS> (remove-break foo6)CLIPS> (reset)CLIPS> (run)FIRE    1 foo1: f-0Breaking on rule foo2.CLIPS> (run)FIRE    1 foo2: f-0FIRE    2 foo3: f-0FIRE    3 foo4: f-0FIRE    4 foo6: f-1FIRE    5 foo5: f-0FIRE    6 foo6: f-2CLIPS> (set-break foo3)CLIPS> (remove-break)CLIPS> (reset)CLIPS> (run)FIRE    1 foo1: f-0FIRE    2 foo2: f-0FIRE    3 foo3: f-0FIRE    4 foo4: f-0FIRE    5 foo6: f-1FIRE    6 foo5: f-0FIRE    7 foo6: f-2CLIPS> (unwatch all)CLIPS> (clear) ; Test refresh commandCLIPS> (refresh)[ARGACCES4] Function refresh expected exactly 1 argument(s)CLIPS> (refresh 10)[ARGACCES5] Function refresh expected argument #1 to be of type symbolCLIPS> (refresh bad-rule)[PRNTUTIL1] Unable to find defrule bad-rule.CLIPS> (defrule foo (a ?) (b ?) =>)CLIPS> (assert (a 1) (a 2) (a 3) (b 1) (b 2))<Fact-4>CLIPS> (agenda)0      foo: f-0,f-40      foo: f-1,f-40      foo: f-2,f-40      foo: f-0,f-30      foo: f-1,f-30      foo: f-2,f-3For a total of 6 activations.CLIPS> (run 3)CLIPS> (refresh foo)CLIPS> (agenda)0      foo: f-2,f-40      foo: f-1,f-40      foo: f-0,f-40      foo: f-0,f-30      foo: f-1,f-30      foo: f-2,f-3For a total of 6 activations.CLIPS> (run)CLIPS> (refresh foo)CLIPS> (agenda)0      foo: f-2,f-30      foo: f-1,f-30      foo: f-0,f-30      foo: f-2,f-40      foo: f-1,f-40      foo: f-0,f-4For a total of 6 activations.CLIPS> (refresh foo)CLIPS> (agenda)0      foo: f-2,f-3

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -