Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
68
Task/Ackermann-function/CLIPS/ackermann-function-2.clips
Normal file
68
Task/Ackermann-function/CLIPS/ackermann-function-2.clips
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
(deffacts solve-items
|
||||
(solve 0 4)
|
||||
(solve 1 4)
|
||||
(solve 2 4)
|
||||
(solve 3 4)
|
||||
)
|
||||
|
||||
(defrule acker-m-0
|
||||
?compute <- (compute 0 ?n)
|
||||
=>
|
||||
(retract ?compute)
|
||||
(assert (ackerman 0 ?n (+ ?n 1)))
|
||||
)
|
||||
|
||||
(defrule acker-n-0-pre
|
||||
(compute ?m&:(> ?m 0) 0)
|
||||
(not (ackerman =(- ?m 1) 1 ?))
|
||||
=>
|
||||
(assert (compute (- ?m 1) 1))
|
||||
)
|
||||
|
||||
(defrule acker-n-0
|
||||
?compute <- (compute ?m&:(> ?m 0) 0)
|
||||
(ackerman =(- ?m 1) 1 ?val)
|
||||
=>
|
||||
(retract ?compute)
|
||||
(assert (ackerman ?m 0 ?val))
|
||||
)
|
||||
|
||||
(defrule acker-m-n-pre-1
|
||||
(compute ?m&:(> ?m 0) ?n&:(> ?n 0))
|
||||
(not (ackerman ?m =(- ?n 1) ?))
|
||||
=>
|
||||
(assert (compute ?m (- ?n 1)))
|
||||
)
|
||||
|
||||
(defrule acker-m-n-pre-2
|
||||
(compute ?m&:(> ?m 0) ?n&:(> ?n 0))
|
||||
(ackerman ?m =(- ?n 1) ?newn)
|
||||
(not (ackerman =(- ?m 1) ?newn ?))
|
||||
=>
|
||||
(assert (compute (- ?m 1) ?newn))
|
||||
)
|
||||
|
||||
(defrule acker-m-n
|
||||
?compute <- (compute ?m&:(> ?m 0) ?n&:(> ?n 0))
|
||||
(ackerman ?m =(- ?n 1) ?newn)
|
||||
(ackerman =(- ?m 1) ?newn ?val)
|
||||
=>
|
||||
(retract ?compute)
|
||||
(assert (ackerman ?m ?n ?val))
|
||||
)
|
||||
|
||||
(defrule acker-solve
|
||||
(solve ?m ?n)
|
||||
(not (compute ?m ?n))
|
||||
(not (ackerman ?m ?n ?))
|
||||
=>
|
||||
(assert (compute ?m ?n))
|
||||
)
|
||||
|
||||
(defrule acker-solved
|
||||
?solve <- (solve ?m ?n)
|
||||
(ackerman ?m ?n ?result)
|
||||
=>
|
||||
(retract ?solve)
|
||||
(printout t "A(" ?m "," ?n ") = " ?result crlf)
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue