Introduccion clips

Download Introduccion clips

Post on 09-Aug-2015

38 views

Category:

Software

4 download

Embed Size (px)

TRANSCRIPT

<ol><li> 1. INTELIGENCIA ARTIFICIALIntroduccin a CLIPSOscar Mauricio Salazar Ospina.Correo: omsalazaro@gmail.com </li><li> 2. QU ES CLIPS?Herramienta para laconstruccin de sistemasexpertos.Creado en 1984 en el centrode Investigaciones EspacialesJohnson de la Nasa en USA. </li><li> 3. CLIPS La versin mas reciente es la6.30 Desde la versin 6.21 soportaparadigmas de programacin:Basado en reglasProceduralOrientado a objetos </li><li> 4. VENTAJASPortable Bajo Costo Integracin con otroslenguajes </li><li> 5. CARACTERSTICAS Diseado para facilitarintegracin con otroslePnugeudaeje lsla.marse desde otroslenguajes. Puede llamar a funcionesexternas, que devuelven la salida yel control a CLIPS. </li><li> 6. COMPONENTESBSICOS Base de Hechos: Lista de datosintroducidos e inferidos. Base de Conocimiento: Reglas,funciones, ... Mecanismo de Inferencias:Controla la ejecucin. </li><li> 7. NOTACIN Las palabras claves y lasfunciones propias de CLIPS vanen minsculas Distingue maysculas yminsculas. Ej: jUAN, Juan,JUAN </li><li> 8. CARACTERESDELIMITADORESCARACTERUSO; COMENTARIO INICIO O FINAL DE UN STRING( INICIO DE UNA EXPRESIN) FINAL DE UNA EXPRESIN? INICIO DE UNA VARIABLECOMODN$ INICIO DE UNA VARIABLEMULTICAMPO </li><li> 9. TIPOS DE DATOSNumricos Reales (FLOAT): Ej.: 1.5, -0.7, 3.5e-10 Enteros (INTEGER): Ej.: 1, -1, +3, 65Simblicos Smbolos (SYMBOL): Cualquiersecuencia de caracteres que no siga elformato de un nmero, excluyendociertos caracteres. Ej: casa, arbol, perro Cadenas (STRING): Cualquiersecuencia de caracteres entre comillas.Ej: Juan Molina, Casa del rbol </li><li> 10. VALORES UNICAMPO YMULTICAMPO Valor Unicampo: Cualquier valor delos tipos de datos anteriores. Valor Multicampo: Secuencia decero o ms valores Unicampo entreparntesis.Ejemplos de Valores Multicampo: ( ) (x) (hola) (hola rojo 23)No es lo mismo el valor Unicampohola que el valor Multicampo (hola). </li><li> 11. FUNCINAlgoritmo identificado con unnombre que puede o no devolvervalores (Unicampo o Multicampo) aotras partes del programa Funciones internas: Definidas enCLIPS. Funciones externas: Escritas enun lenguaje distinto a CLIPS. </li><li> 12. FUNCIONESMATEMTICAS+, -, *, /, div, max, min, abs, float,integer.Ejemplos de llamadas a lasfunciones + y *: (+ 34 5 1.3) (* 2 3) (+ 3 (* 5 2) 10) </li><li> 13. CONSTRUCTORES (1/3)Permite al programador aadirelementos a la base de hechosy a la base de conocimiento(funciones, reglas, hechos,clases). </li><li> 14. CONSTRUCTORES (2/3)Los ms importantes son:deffunction: Para definirfuncionesdefglobal: Para definir variablesglobalesdeftemplate: Para definirplantillasdeffacts: Para definir hechos </li><li> 15. CONSTRUCTORES (3/3)Para definir objetos: defclass definstances defmessage-handler defgeneric defmethod </li><li> 16. COMANDOS (1/2)Realizan acciones con efectoscolaterales sin devolver valoralguno y son llamados entreparntesis </li><li> 17. COMANDOS (2/2)Ejemplos: (exit) (assert ...) (watch ...) (run) (reset) (clear) </li><li> 18. HECHOS (1/4)Un hecho (fact) es una pieza deinformacin que se almacena en lallamada lista de hechos (fact-list)Adicionar Hechos a la base deconocimiento(assert ) </li><li> 19. HECHOS (2/4) Ejemplos:(assert (casa blanca))(assert (calidad impresoraaceptable))(assert (amigo Juan Maria)) </li><li> 20. HECHOS (3/4)A cada hecho en la lista se le asocia unidentificador (fact identifier) de la forma f-XXX,donde el entero XXX es un ndice de hecho(fact index), que indica la posicin del hecho </li><li> 21. HECHOS (4/4)Mirar los hechos insertados Ver los hechos entre dos ndices:(facts ini fin)Donde:o ini es el ndice del hecho deInicioo fin es el ndice del hecho deTerminacin Ver todos los hechos: (facts) </li><li> 22. PLANTILLAS (1/6) Son estructuras de datos.(deftemplate[comentario])donde: puede ser: (slot ) (multislot ) </li><li> 23. PLANTILLAS (2/6) Para mostrar las plantillas definidas con unconstructor deftemplate se utiliza elcomando:(ppdeftemplate [])Para mostrar todos los nombres de lasplantillas almacenadas en un mdulo seutiliza el comando:(list-deftemplates []) </li><li> 24. PLANTILLAS (3/6)(deftemplate persona (slot nombre) (slotapellido))(assert (persona (nombre "Helenita") (apellido"Vargas")))(assert (persona (nombre "Vicente") (apellido"Fernandez"))) </li><li> 25. PLANTILLAS (4/6)Ejemplos Multislots </li><li> 26. PLANTILLAS (5/6)Deftemplate: Permite definir atributos paracada slot: Tipo de datos Valor por defecto Valores permitidos Rango de valores numricos Cardinalidad (para multislot) </li><li> 27. PLANTILLAS (6/6)(deftemplate carro(slot color(type STRING))(slot marca(type STRING)(default "Renault"))) </li><li> 28. SLOTS (1/4) Restricciones sobre los valores para losslots:allowed-symbols allowed-strings allowed-numbers allowed-integers allowed-floats allowed-values </li><li> 29. SLOTS (2/4)(deftemplate carro(slot color(type STRING)(allowed-strings rojo azul negrogris))(slot marca(type STRING)(allowed-strings Renault MazdaToyota Fiat)(default "Renault"))) </li><li> 30. SLOTS (3/4) Rangos y Cardinalidad(range ) y son valores numricos(cardinality ) y son valoresnumricos positivos </li><li> 31. SLOTS (4/4)(deftemplate persona(multislot nombres(type STRING)(cardinality 1 2))(multislot apellidos(type STRING)(cardinality 2 2))(slot edad(type NUMBER)(range 10 30))) </li><li> 32. BIBLIOGRAFACurso de construccin desistemas expertos usandoCLIPS Clase 1 </li></ol>