Professional Documents
Culture Documents
en reglas
Temas
IF
hay luz roja
AND est cerca del cruce
AND
Mientras THEN
conduce
presione el pedal de freno
IF
se ven peatones
AND estn cerca de la calle
THEN
reduzca velocidad y est listo para parar
IF
LHS (predicado o premisas)
THEN
RHS (conclusiones)
Jess es
Smbolos
Los smbolos son tokens (como los nombres de las
variables) y consideran las convenciones habituales de
programacin (ms algunos caracteres especiales):
first-name
name
name#1
name$1
_foo
Strings
Hola !
Listas
(+ 2 3)
Jess>?a
apply
4 Similar a LISPs
Jess>(+ ?a 2) (apply (+) 1 2 3)
(apply (read) 1 2 3)
6
build eval
Genera reglas instantneamente
-- variables globales ?*a*
Jess es flexible
Hechos ordenados:
(person 30 Female)
(person 30)
(give-Feedback)
(shutdown-now)
Hechos sin orden (deftemplate)
(person (age 30) (gender Female))
(assert (monkey (location t5-7)
(on-top-of green-couch)))
(defrule pierde-computador
?pila <- (tamanio-pila 1)
?movida <- (movida-jugador c)
=>
(defrule busca-solucion
=>
(printout t Francisco " " ?p1 " " ?c1 crlf)
(printout t Jorge " " ?p2 " " ?c2 crlf)
(printout t Roberto " " ?p3 " " ?c3 crlf)
(printout t Tomas " " ?p4 " " ?c4 crlf)
(printout t crlf)
)
Activacin de reglas
Una regla es activada cuando sus patrones (condiciones del lado izquierdo) son
verificadas por :
un nuevo hecho (patrn) que no exista antes
un hecho que exista antes pero que fue eliminado y luego redefinido.
Encadenamiento hacia atrs vs hacia adelante
IF
LHS (predicado o premisa)
THEN
RHS (conclusiones)