ES
From WikiZMSI
Spis treści |
[edytuj]
Lectures
[edytuj]
Lecture 1 - Expert systems - the introduction
Useful links:
- Rule-Based Expert Systems: The MYCIN Experiments of the Stanford Heuristic Programming Project
- Dendral
[edytuj]
Lecture 2 - Propositional logic for defining the knowledge
The source of slides: Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig
[edytuj]
Lecture 3 - First order logic for defining the knowledge
The source of slides: Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig
[edytuj]
Lecture 4 - Inference in first-order logic
The source of slides: Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig
[edytuj]
Labs
- The CLIPS webpage
- Installation CLIPS 6.31 (stable ver)
- The main textbook is the "CLIPS User's Guide" by Joseph Giarratano
- The main textbook is the "Reference Manual" by Joseph Giarratano
- Tutorials from Wroclaw: Directory with CLIPS tutorials
- Clips reference tutorial: CLIPS tuturial
[edytuj]
Topic 1 - Introduction to rules based programming
- Reading - chapter 1 Just the facts
- Basic facts
>(assert (color green)) >(assert (color red)) >(retract 0) >(facts) >(deffacts planets (planet Earth) (planet Mars) (planet Jupiter))
[edytuj]
Topic 2 - Rules syntax
- Reading - chapter 1 Following the Rules
- Rules pattern:
(defrule rule-name "optional comment" (pattern 1) (pattern 2) ... (pattern N) => (action 1) (action 2) ... (action M))
- Rules examples:
(defrule moon (planet Earth) => (assert (satellite natural Moon))
- Variables: ?x, $?x, ?, $?
- binding: implicit (fact ?name) or explicite (bind ?x (random 1 100))
- anonymous e.g. (name ? ? Kennedy)
- example
(defrule r1 => (printout t "What is the result of 5+4 " crlf) (bind ?answer (read)) (if (= ?answer 9) then (printout t "It is correct " crlf) else (printout t "It is wrong " crlf)))
[edytuj]
Topic 3 - Rules practice
Create the list of facts:
(deffacts start (animal dog) (animal cat) (animal duck) (animal turtle) (warm-blooded dog) (warm-blooded cat) (warm-blooded duck) (lays-eggs duck) (layd-eggs turtle) (child-of dog puppy) (child-of cat kitten) (child-of turtle hatchling))