You are on page 1of 13

SISTEMAS

EXPERTOS
QUÉ ES CLISP ?
INTRODUCCIÓN A CLISP
Características Generales:
- Fácil implementación y modificación: rapidez

para demostrar algoritmos de I.A.

- Eficiente para representar conceptos de alto


nivel
INTRODUCCIÓN A CLISP
Características Principales:
- La forma de representación matemática.

- Representación interna de un programa


mediante listas anidadas

- Fácil implementación de funciones recursivas


DESVENTAJAS DE CLISP
 Es difícil leer un programa Clisp

 Es ineficiente dado que se ejecuta de forma no


compilada
ENTRADAS Y SALIDAS EN
CLISP
read: permite leer valores ingresados por el usuario
durante la ejecución del programa
> (setq myvar (read))
print: evalua el argumento y lo imprime en una nueva
línea > (print myvar)
ESTRUCTURA DE CLISP
Componentes básicos de la representación del
conocimiento:
Memoria de Trabajo: Contiene los datos que
representan el estado, y sobre los cuales se van a
hacer inferencias
Memoria de Producción: Conjunto de reglas
(operadores) que se expresan mediante sentencias de
la forma: IF precondición - THEN acción
Motor de Inferencia. selecciona una regla entre las
que se adecuan a la configuración de datos y la
ejecuta
REPRESENTACIÓN DE
HECHOS
Cada hecho consta de un nombre de relación seguido de
cero o más atributos con sus valores asociados.
Antes de crear un hecho se debe definir una plantilla mediante deftemplate.

 (deftemplate persona "Una deftemplate de ejemplo")


 (multislot nombre)
 (slot edad)
 (slot color-ojos)
 (slot color-pelo))
ADICIÓN DE HECHOS
 assert
 (persona (nombre "Jose Faustino")

 (edad 23)
 (color-ojos azul)
 (color-pelo negro)
 ))
ELIMINACIÓN DE HECHOS
RETRACT (<INDICE>)
f-1 (persona (nombre “yasmin benitez")
(edad 24) (estudios Ingeniero)
(profesión empresario)
(estado_civil soltero))
Sintaxis: (RETRACT 1)
----------------------------------------
RESET: Elimina todos los hechos de la memoria
de trabajo
MODIFICACIÓN DE HECHOS
MODIFY elimina el hecho modificado inserta
un nuevo hecho con el valor del o los
atributos actualizados.
Sintaxis: (modify( <indicador><atributo a
modificar>))
Por ejemplo:
(modify 1 (edad 35))
REGLAS
La memoria de producción está constituida
por reglas. Las reglas representan el
conocimiento sobre la resolución de
problemas de un dominio específico
incluyendo reglas físicas, conocimiento
heurístico o reglas de heurísticas o de
experiencia.
Representación Informal del
Conocimiento ??
Por ejemplo:
SI la emergencia es incendio
ENTONCES la respuesta es
activar los extintores de incendios.
EN CLISP:
(deftemplate emergencia (slot tipo))
(emergencia incendio inundación
cortocircuito sobrecarga))
Respuesta
(deftemplate respuesta (slot accion))
Ahora podemos definir la regla en CLIPS:
(defrule emergencia-incendio "Un ejemplo de
regla"
(emergencia (tipo incendio))
==>
(assert (respuesta (accion activa-extintor-
incendios))))