clips parte1
DESCRIPTION
CLIPS PROGRAMACIONTRANSCRIPT
SISTEMAS BASADOS EN EL CONOCIMIENTO
CLIPS “conceptos básicos”PARTE 1
ELEMENTOS BASICOS DE CLIPS
HECHOS REGLAS VARIABLES COLA DE ACTIVACIONES OTROS CONTROLES
HECHOS
Los tipos son:• Atributo-valor• Objeto-atributo-valor• RelacionalLos hechos sin etiqueta son sensibles al orden.
(assert (atributo valor))
CLIPS> (assert (es-animal perro)) <Fact-0> CLIPS> (assert (presion-sangre alta)) <Fact-1> CLIPS> (assert (velocidad 5)) <Fact-2> CLIPS> (assert (velocidad 5)) FALSE CLIPS>
(assert (objeto atributo valor))
CLIPS> (clear) CLIPS> (assert (Lassie especie perro)) <Fact-0> CLIPS> (assert (Lassie domestico si)) <Fact-1> CLIPS>
(assert (relacion atributo valor))
CLIPS> (assert (tratado-con Perez penicilina))
<Fact-2> CLIPS> (assert (admitido-por Perez Dr-
Lopez)) <Fact-3> CLIPS>
Para verlos (facts)
CLIPS> (facts) f-0 (lassie especie perro) CF 1.00 f-1(Lassie domestico si) CF 1.00 f-2 (tratado-con Perez penicilina) CF
1.00 f-3 (admitido-por Perez Dr-Lopez) CF
1.00 For a total of 4 facts
Para reiniciar (reset)
CLIPS> (reset) CLIPS> (facts) f-0 (initial-fact) CF 1.00 For a total of 1 fact. CLIPS> Similar a clear pero aquí tenemos el
hecho inicial.
Los hechos con etiqueta
Al inicio se indica a que tipo de campo pertenece cada uno:• Float• Integer• Symbol• String
•Externaladress•Factadress•Instancename•instanceadress
Para eliminar algo:
(retract n) donde n es el numero de hecho.
Se puede usar * en lugar del nombre para eliminar todo lo introducido en ese momento.
De forma remota
(deffacts estado-inicial (alta Jose-Martinez iop) (anterior Jose-Martinez infarto) (dolor Jose-Martinez lado-izquierdo) (paciente Juan-Lopez asmatico))
Se cargarán hasta que reiniciemos el sistema mediante (reset).
REGLAS Son las responsables de
almacenar el conocimiento en un sistema experto, ya que realizan ciertas acciones determinadas cuando se cumplen una serie de condiciones.
REGLAS
Si• Condición-1• Condición-2• Condición-3
Entonces• Acción-1• Acción-2• Acción-3
antecedentes
consecuentes
Formato general defrule nombre_regla "Descripción opcional entre comillas“
(<patrón-1>); Miembro izquierdo de la regla (<patrón-2>) ... (<patrón-n>) => (<acción-1>) ;Miembro derecho de la regla (<acción-2>) ... (<acción-m>) ) ;Paréntesis de cierre
EJEMPLO:
(defrule semaforo-rojo (luz roja)
=> (printout t "Detengase" crlf))
Otro ejemplo
(defrule trata-infeccion "Tratamientoempírico" (Perez riesgo-infeccion si)
(Perez infeccion-antes si) => (assert (Perez dar penicilina) )
BIBLIOGRAFIA Sebastián Ventura Soto Matemática aplicada, ciencias de la
computación e Inteligencia Artificial Universidad de Córdoba
http://www.uco.es/users/sventura/misc/TutorialCLIPS/TutorCLIPS02.htm