clips lucio salgado [email protected]. clips lenguaje integrado de sistemas de produccion c....

21
CLIPS Lucio Salgado [email protected]

Upload: felicidad-montera

Post on 15-Jan-2015

13 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

CLIPS

Lucio Salgado

[email protected]

Page 2: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

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

Page 3: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Representación del conocimiento

Ofrece dos paradigmas Conocimiento heuristico:

Se usa reglas Conocimiento procedural

Funciones y objetos

Page 4: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

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).

Page 5: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

PROGRAMACION BASICA

MEMORIA DE TRABAJO Estructura Elementos basicos de programacion Abstraccion de datos

Page 6: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Estructura

Todos los elementos de MT son: Hechos Instancias de una clase de objetos

Hecho Unidad de datos fundamental Forma basica para representar

informacion

Page 7: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Elementos basicos de programacion

Tres elementos Tipos primitivos

Para representar informacion Funciones

Para manipular datos Constructores

Para añadir conocimiento a la BC

Page 8: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Tipos primitivos

Son valores de unico campo Informacion simbolica: SYMBOL,

STRING Informacion numerica: INTEGER,FLOAT Direcciones: EXTERNAL-ADDRESS,

FACT-ADDRESS, INSTANCE-ADDRESS.

Page 9: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

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)

Page 10: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Constructores

Son estructuras sintacticas que se usan para definir elementos como funciones, reglas, hechos, clases, etc.

Page 11: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Comentarios

La mayoria sino todos los constructores permiten incorporar un comentario entre comilas(“).

En otras partes se usa ;

Page 12: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Abstraccion de datos ….

Tres formas de representar informacion en CLIPS Hechos Objetos Variables globales

Page 13: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Definir Plantillas

(deftemplate refrigerador

(slot nom)

(slot tipo)

(slot marca)

(slot precio)

(slot energia)

)

Page 14: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Hechos Ordenados

(puerta abierta)

(interruptor encendido)

(datos 5)

(valor 3)

Page 15: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Hechos no ordenados

(refrigerador (nom ref1) (tipo electrodomestico) (marca lg) (precio 5))

(refrigerador (nom ref2) (tipo electrodomestico) (precio 7) (marca phi))

Page 16: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

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)))

Page 17: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Reglas

(defrule regla-ejemplo "Ejemplo de una regla"

(interruptor encendido)

(puerta abierta)

=>

(assert (comida estropeada))

)

Page 18: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Mas reglas-Variables

(defrule regla-ejemplo-1 "Ejemplo de una regla"

(refrigerador (nom ?x))

(puerta abierta)

=>

(printout t ?x )

)

Page 19: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Mas reglas-Evaluaciones

(defrule eje-test

(datos ?x)

(valor ?y)

(test (>= (abs (- ?y ?x)) 1))

=>

(printout t "siempre")

)

Page 20: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

Mas reglas-Operadores lógicos

(defrule regla-ejemplo-2 "Ejemplo de una regla"

(refrigerador (nom ?x) (precio 5 | 10)) (puerta abierta) => (printout t ?x ))

Page 21: CLIPS Lucio Salgado lucsalgado@yahoo.com. CLIPS Lenguaje Integrado de Sistemas de produccion C. Herramienta para el desarrollo de Sistemas expertos Entorno

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)))