Last active
August 1, 2021 17:54
-
-
Save mrryanjohnston/09c664f7c17ee03ad6fbb3c79c7a4b67 to your computer and use it in GitHub Desktop.
CLIPS Solution: The Hunger Games - Zoo Disaster!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(load rules.clp) | |
(reset) | |
(assert (animals fox bug chicken grass sheep)) | |
(run) | |
(facts) | |
(reset) | |
(assert (animals chicken fox leaves bug grass sheep)) | |
(run) | |
(facts) | |
(reset) | |
(assert (animals bear big-fish lion cow bug leaves)) | |
(run) | |
(facts) | |
(reset) | |
(assert (animals grass grass cow leaves bug big-fish leaves bear)) | |
(run) | |
(facts) | |
(reset) | |
(assert (animals giraffe leaves leaves leaves bear bug leaves leaves panda)) | |
(run) | |
(facts) | |
(exit) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(deffacts rule | |
(rule antelope eats grass) | |
(rule big-fish eats little-fish) | |
(rule bug eats leaves) | |
(rule bear eats big-fish) | |
(rule bear eats bug) | |
(rule bear eats chicken) | |
(rule bear eats cow) | |
(rule bear eats leaves) | |
(rule bear eats sheep) | |
(rule chicken eats bug) | |
(rule cow eats grass) | |
(rule fox eats chicken) | |
(rule fox eats sheep) | |
(rule giraffe eats leaves) | |
(rule lion eats antelope) | |
(rule lion eats cow) | |
(rule panda eats leaves) | |
(rule sheep eats grass)) | |
(defrule left | |
(declare (salience 30)) | |
(rule ?predator eats ?prey) | |
?animals <- (animals ?predator ?prey $?rest) | |
=> | |
(printout t ?predator " eats " ?prey crlf) | |
(retract ?animals) | |
(assert (animals ?predator $?rest))) | |
(defrule right | |
(declare (salience 20)) | |
(rule ?predator eats ?prey) | |
?animals <- (animals $?start ?prey ?predator $?rest) | |
=> | |
(printout t ?predator " eats " ?prey crlf) | |
(retract ?animals) | |
(assert (animals $?start ?predator $?rest))) | |
(defrule other-right | |
(declare (salience 10)) | |
(rule ?predator eats ?prey) | |
?animals <- (animals $?start ?predator ?prey $?rest) | |
=> | |
(printout t ?predator " eats " ?prey crlf) | |
(retract ?animals) | |
(assert (animals $?start ?predator $?rest))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I got the following output from running
clips -f program.bat
: