clips lucio salgado lucsalgado@yahoo.com. clips lenguaje integrado de sistemas de produccion c....
Post on 15-Jan-2015
15 Views
Preview:
TRANSCRIPT
CLIPS
Lucio Salgado
lucsalgado@yahoo.com
CLIPS
Lenguaje Integrado de Sistemas de produccion C.
Herramienta para el desarrollo de Sistemas expertos
Entorno completo para construir SE basados en reglas y/o objetos
Sensible a mayusculas y minusculas
Representación del conocimiento
Ofrece dos paradigmas Conocimiento heuristico:
Se usa reglas Conocimiento procedural
Funciones y objetos
Estructura de un programa en CLIPS
Provee los elementos basicos de un SE Memoria Global de datos(MT):
conocimiento factual Base de conocimientos: Reglas Motor de Inferencia: Controla la ejecucion
de reglas Un programa consiste: reglas, hechos y
objetos).
PROGRAMACION BASICA
MEMORIA DE TRABAJO Estructura Elementos basicos de programacion Abstraccion de datos
Estructura
Todos los elementos de MT son: Hechos Instancias de una clase de objetos
Hecho Unidad de datos fundamental Forma basica para representar
informacion
Elementos basicos de programacion
Tres elementos Tipos primitivos
Para representar informacion Funciones
Para manipular datos Constructores
Para añadir conocimiento a la BC
Tipos primitivos
Son valores de unico campo Informacion simbolica: SYMBOL,
STRING Informacion numerica: INTEGER,FLOAT Direcciones: EXTERNAL-ADDRESS,
FACT-ADDRESS, INSTANCE-ADDRESS.
Funciones
Fragmento de codigo ejecutable que devuelve un valor o tiene efecto lateral util.
Tipos Funciones predefinidas Funciones definidas por el usuario
Usan notacion prefija(+ 4 (* 3 4) 2)
Constructores
Son estructuras sintacticas que se usan para definir elementos como funciones, reglas, hechos, clases, etc.
Comentarios
La mayoria sino todos los constructores permiten incorporar un comentario entre comilas(“).
En otras partes se usa ;
Abstraccion de datos ….
Tres formas de representar informacion en CLIPS Hechos Objetos Variables globales
Definir Plantillas
(deftemplate refrigerador
(slot nom)
(slot tipo)
(slot marca)
(slot precio)
(slot energia)
)
Hechos Ordenados
(puerta abierta)
(interruptor encendido)
(datos 5)
(valor 3)
Hechos no ordenados
(refrigerador (nom ref1) (tipo electrodomestico) (marca lg) (precio 5))
(refrigerador (nom ref2) (tipo electrodomestico) (precio 7) (marca phi))
Definición de Hechos iniciales
(deffacts iniciales "Todos los hechos " (puerta abierta) (interruptor encendido) (datos 5) (valor 3) (refrigerador (nom ref1) (tipo electrodomestico) (marca lg)
(precio 5)) (refrigerador (nom ref2) (tipo electrodomestico) (marca phi)
(precio 7)) (refrigerador (nom ref3) (tipo electrodomestico) (marca
brastem) (precio 10)) (refrigerador (nom ref4) (tipo electrodomestico) (marca lg)
(precio 8)))
Reglas
(defrule regla-ejemplo "Ejemplo de una regla"
(interruptor encendido)
(puerta abierta)
=>
(assert (comida estropeada))
)
Mas reglas-Variables
(defrule regla-ejemplo-1 "Ejemplo de una regla"
(refrigerador (nom ?x))
(puerta abierta)
=>
(printout t ?x )
)
Mas reglas-Evaluaciones
(defrule eje-test
(datos ?x)
(valor ?y)
(test (>= (abs (- ?y ?x)) 1))
=>
(printout t "siempre")
)
Mas reglas-Operadores lógicos
(defrule regla-ejemplo-2 "Ejemplo de una regla"
(refrigerador (nom ?x) (precio 5 | 10)) (puerta abierta) => (printout t ?x ))
Mas reglas-Bind
(defrule T (puerta abierta) =>
(printout t "Cierto hecho H" crlf) (assert (M))) (defrule C (logical (M)) => (printout t "Introduzca un nombre de estudiante: ") (bind ?nom (readline)) (assert (nuevo ?nom)))
top related