clips parte2x

7

Click here to load reader

Upload: norma8avila

Post on 11-Jul-2015

334 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Clips parte2x

Parte 2Parte 2

Page 2: Clips parte2x

Las Variables�Nos permiten guardar valores

�Son dinámicas y sus valores cambian según las necesidades.necesidades.

�Las variables no pueden ser el primer campo de un hecho.

�La sintaxis es:

�?<nombre>

Page 3: Clips parte2x

Variables en el antecedente

de una regla.� Ejemplos:

�(defrule colorcoche(coche ?color)(coche ?color)

=>(assert (coche ?color))

Page 4: Clips parte2x

Dos variables

�(defrule quienesquien(cazador ?cazador ?cazado)

=>=>(printout t ?cazador "dispara al"

?cazado crlf))

Page 5: Clips parte2x

Almacenando direcciones� También pueden almacenar la dirección de un hecho.

� A veces no conocemos la posición que ocupa en la memoria.

� De esta forma usamos el operador <-

(defrule quienesquien2(?asesinato <- (cazador ?cazador ?cazado)

=>(printout t "Hecho numero " ?asesinato ":" crlf

?cazador "ha matado a" ?cazado crlf)

Page 6: Clips parte2x

Variables tipo COMODINES

� En ese caso es factible que el hecho tenga 1 o más partes además de lo que buscamos, para eso:

� CLIPS> (defrule agencia-matrimonial(nombre Pedro ?)=>=>(assert (encontrado-Pedro-apellido si)))CLIPS> (assert (Pedro Gonzalez Lopez))CLIPS> fact-0CLIPS> (assert (Pedro))CLIPS> fact-1CLIPS> (assert (Pedro Lopez))CLIPS> fact-2CLIPS>

Page 7: Clips parte2x

El orden de activación de las reglas

�Según están escritos se analizan para ver si están bien según la sintáxis y la lógicaestán bien según la sintáxis y la lógica

�Una vez analizada cada regla, la pone en la cola de modo que la última regla activada es la última en ejecutarse.