130 likes | 306 Views
SISTEMAS EXPERTOS 2004. 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:
E N D
SISTEMAS EXPERTOS 2004 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 (slot nombre (type STRING)) (slot edad (type INTEGER) (multislot estudios (type SYMBOL)) (slot profesion (type SYMBOL)) (slot estado_civil (type SYMBOL) (allowed-symbols soltero casado viudo divorciado)))
ADICIÓN DE HECHOS assert (persona (nombre “Juan Fernando Romero") (edad 25) (estudios Empresariales Derecho) (profesión abogado)) (persona (nombre “Yasmín Benitez") (edad 24) (estudios Ingeniero) (profesión empresaria)))
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 incendioENTONCES la respuesta es activar los extintores de incendios. EN CLISP: (deftemplate emergencia (slot tipo) (allowed-symbols 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))))