Introducción a CLIPS
|
|
- Joaquín Espejo Aguilera
- hace 7 años
- Vistas:
Transcripción
1 Introducción a CLIPS Inteligencia Artificial 5 o Informática IA curso CCIA Noviembre 2008 IA 0809 (CCIA) CLIPS Noviembre / 10
2 Introducción a CLIPS CLIPS: C Language Integrated Production Systema Entorno para el desarrollo de sistemas expertos Desarrollado en C con licencia libre Web: Define lenguaje para definición de hechos(frames) y reglas Integra elementos del paradigma funcional y orientado a objetos Uso desde intérprete o integrado en programas C Derivados: JESS: implementación Java Web: FuzzyCLIPS: extensión con soporte para lógica difusa Web: IA 0809 (CCIA) CLIPS Noviembre / 10
3 Comandos Inicio: $ clips Finalización: (exit) (clear): elimina los hechos de la memoria activa (reset): inicia/reinicia el intérprete elimina hechos y reglas activadas restaura la situación inicial (hechos iniciales) (load "fich.clp"): carga un fichero (save "fich.clp"): guarda reglas y hechos de sesión actual (run) : inicia encadenamiento hacia adelante finaliza cuando no existan reglas que aplicar (run <n>): inicia encadenamiento hacia adelante finaliza cuando haya ejecuta n reglas (facts): muestra los hechos de la memoria activa (instances): muestra las instancias de la memoria activa (agenda): muestra las reglas activadas (en orden) (watch facts rules...): modo de depuración muestra lista de hechos reglas.. cada vez que se modifican IA 0809 (CCIA) CLIPS Noviembre / 10
4 Hechos Frames simplificadas (no hay niveles de indentación) Formadas por conjuntos { de slots (ranuras) un valor simple Pares atributo-valor lista de valores Tres opciones Frames anónimas (ordered facts) Formato libre: nombre + lista plana de valores Usados para representar relaciones/propiedades simples Ejemplo: (cerca Vigo Pontevedra) Frames con estructura (non-ordered facts) La lista de slots admitidos se declara con deftemplate (asignatura "descripción de IA" (nombre "inteligencia artificial") (curso 5) (creditos 9) (profesor "...")) Objetos (instances) Similares a frames con estructura Pertenecientes a una clase declarada con defclass IA 0809 (CCIA) CLIPS Noviembre / 10
5 Comandos manejo de hechos Añadir a memoria activa: (assert <hecho>) CLIPS > (assert (persona (nombre "juan pérez pérez") (edad 25) (padres "lucas" "ana"))) Eliminar de memoria activa: (retract <ref. a hecho>) CLIPS > (retract 1) [elimina el hecho n o 1] CLIPS > (retract?res) [elimina el hecho apuntado por variable?res] Modificar campos: (modify <ref. hecho> <nuevo slot>...) CLIPS > (modify 1 (nombre "juan luis pérez pérez")) Copiar: (duplicate <ref. hecho> <nuevo slot>...) CLIPS > (duplicate 1 (nombre "antonio pérez pérez") (edad 24)) IA 0809 (CCIA) CLIPS Noviembre / 10
6 Plantillas de hechos Definen la estructura de las frames no ordenadas (non-ordered facts) Asigna nombre al tipo de frame Listado de ranuras (slots) indicando sus características (facets) clase de slot: simple, multivaluado tipo de su contenido: STRING, SYMBOL, INTEGER,.. rango de valores valor por defecto, etc,... Nota: El orden de los slots en un hecho no es relevante Esquema (deftemplate <nombre frame> (slot <nombre>) (slot <nombre> (type <tipo>) (default <valor>)...) (multislot <nombre> (type <tipo>) (default <valor>)...)... ) Ejemplo (deftemplate persona (slot nombre (type STRING)) (slot edad (type INTEGER) (range 0 120)) (multislot padres (type STRING) (cardinality 0 2))) IA 0809 (CCIA) CLIPS Noviembre / 10
7 Hechos iniciales Por defecto, al inicio de la ejecución o después del comando (clear), siempre existirá el hecho inicial (initial-fact) Cada vez que se ejecuta el comando (reset)) se incluyen en la memoria activa los hechos definidos con el constructor deffacts y las instancias (objetos) definidas con definstances (deffacts <nombre-deffacts> <hecho 1>... <hecho n> ) Ejemplo: (deffacts personas-iniciales (persona (nombre "juan") (edad 26) (padres "luis" "ana")) (persona (nombre "ana") (edad 59)) (persona (nombre "luis") (padres "pedro" "eva") ) Nota: secuencia típica de comandos CLIPS > (reset) CLIPS > (run) [inserta hechos iniciales => se activan reglas] [inicia la ejecución de las reglas] IA 0809 (CCIA) CLIPS Noviembre / 10
8 Reglas (defrule) { condiciones sobre hechos/instancias Lado izquierdo (patrones) pueden incluir variables añadir/modificar/borrar hechos/instancias interacción con usuario (leer/escribir) Lado derecho (acciones) uso de variables definidas en lado izq. acción (halt): detiene inferencias Sintaxis: (defrule <nombre regla> <comentario (opc.)> (declare (salience <prioridad>)) [opcional] (patron 1)... (patron n) => (accion 1)... (accion m) ) De entre las reglas que cumplan todas sus precondiciones en la memoria activa actual, el motor de inferencias seleccionará una o varias a ejecutar (y su orden). IA 0809 (CCIA) CLIPS Noviembre / 10
9 (defrule hermanos (persona (nombre?n1) (padres?p $?)) (persona (nombre?n2) (padres?p $?)) => (assert (hermanos (hijo1?n1) (hijo2?n2))) (printout t "hermanos "?n1?n2 " hijos de "?p crlf) ) (defrule activar-aspersor (sensor (tipo temperatura) (ubicacion?id-habitacion) (activado si))?hab <- (habitacion (id?id-habitacion) (aspersor apagado)) (sensor (tipo presencia) (ubicacion?id-habitacion) (activado)) => (assert (alarma (tipo fuego) (ubicacion?id-habitacion)) (assert (accion (tipo desalojo) (ubicacion?id-habitacion)) (modify?hab (aspersor encendido)) ) IA 0809 (CCIA) CLIPS Noviembre / 10
10 Variables { variables simples:?<nombre> Sintaxis: variables multivaluadas: $?<nombre> Nota:Variables anónimas (comodines):? (1 valor) $? (n valores) Normalmente se asignan (toman valor) en el lado izquierdo (condiciones) Puede asignárseles valor explícitamente con el comando (bind <variable> <expresion>) { lado derecho: correspondencia de patrones compleja Uso lado izquierdo: acceso a sus valores Pueden referirse al valor de un slot (persona (edad?edad)) Pueden mantener una referencia a un hecho/objeto (operador <-)?hecho <-(persona (nombre "juan") (edad?edad)) IA 0809 (CCIA) CLIPS Noviembre / 10
11 Condiciones sobre slots y variables Restricciones sobre slots negación (~): (persona (edad ~25)) conjunción (&): (persona (edad ~25 & ~26)) Util para extraer e valor de una variable a la vez que se aplica la restricción (edad?edad & 25) disyunción ( ): (persona (edad 25 26)) Restricciones sobre variables: comando (test <operador> <argumentos>) Generalmente en lado izquierdo (también posible en lado derecho) Operadores: and, or, not, <, >, =,... Pueden usarse funciones definidas por el usuario (deffunc... ) Usa notacion prefija + paréntesis para expresiones complejas (persona (edad? edad)) (test (and (>=?edad 25) (<=?edad 65))) /* edad en 25 y 65 */ IA 0809 (CCIA) CLIPS Noviembre / 10
12 Patrones complejos Por defecto deben verificarse todos los patrones para que una regla se active AND implícito Pueden usarse otros operadores para agrupar los patrones del lado izquierdo (or <patrones>): al menos uno de los patrones debe satisfacerse en la memoria activa actual la regla sea activará una vez para cada patrón que se satisfaga (and <patrones>): todos os patrones debe satisfacerse en la memoria activa actual (not <patron>): el patrón no debe satisfacerse en la memoria activa actual (exist <patrones>): uno o más patrones deben satisfacerse, pero la regla se activará una única vez (forall <patron> <patrones>): exige que el conjunto de hechos que satisfagan el primer patrón deban satisfacer los demás (logical <patron>): establece un vínculo lógico entre el patrón IA 0809 (CCIA) del lado derecho y losclips hechos que se añadannoviembre-2008 en las 12 / 10
13 Proceso de inferencia Emparejar hechos/instancias con reglas Reglas activadas se mantienen en la agenda Una agenda por cada módulo que componga el sistema Funciona como pila: próxima regla a ejecutar en la cima Posibilidad de usar prioridades (salience) Ante empates en agenda ejecutar antes reglas mayor salience refracción: sólo se seleccionan para ejecución reglas que no fueran activadas en el pasado por el conjunto de hechos/instancias actual Pueden indicarse distintas estrategias de resolución de conflictos Deciden en caso de empates entre reglas de igual prioridad Comando (set-stretegy <estrategia>) Profundidad (depth): estrategia por defecto, nuevas activaciones por encima Anchura (breadth): activaciones nuevas quedan por debajo Simplicidad (simplicity): preferencia a activaciones de reglas menos específicas ( n o comparaciones en lado izq.) Complejidad (complexity): preferencia a activaciones de reglas más específicas Lex y Mea: preferencia por las activaciones nuevas de reglas más específicas Aletoria (random) IA 0809 (CCIA) CLIPS Noviembre / 10
14 Orientación a Objetos COOL: Clips Object-Oriented Language Amplicación de CLIPS para dar soporte a características de la POO (herencia, encapsulación,...) Clases predefinidas: Clases de usuario heredan de USER INITIAL-OBJECT usado para instancias inciales (comando (clear)) IA 0809 (CCIA) CLIPS Noviembre / 10
15 Definición de clases Operador deffclass (defclass nombre [comentario] (is-a <nombre superclase>) (role concrete abstract) (pattern-match reactive non-reactive) <definición slots> <definición handlers> ) [opcional] [opcional] En cada clase se especifica Su superclase (is-a) [es posible herencia múltiple] Si es abstracta o concreta (puede tener instancias) (role) Si los cambios en sus slots pueden disparar los patrones de las reglas (pattern-match reactive) o no (pattern-match non-reactive) Lista de slots con sus restricciones limitar el acceso al slot: (visibility public private), (access read-write read-only initializa-only) indica si crear handlers get y set para ese slot: (create-accesor?none read write read-write) IA 0809 (CCIA) CLIPS Noviembre / 10
16 (defclass ser_vivo (is-a USER) (role abstract) (slot nombre (type STRING)) (defclass vegetal (is-a ser_vivo) (role abstract) ) (defclass animal (is-a ser_vivo) (role abstract) (slot edad)) (defclass mamifero (is-a animal) (role abstract) (slot num_patas (type INTEGER)) (defclass gato (is-a animal) (role concrete) (slot raza (type STRING)) (slot color (type SYMBOL))) (defclass perro (is-a animal) (role concrete) (slot raza (type STRING)) (slot color (type SYMBOL))) (defclass hombre (is-a animal) (role concrete) (slot pais (type SYMBOL)) (slot DNI (type SYMBOL))) IA 0809 (CCIA) CLIPS Noviembre / 10
17 Definición y uso de instancias Creación: (make-instance [<instancia>] of <nombre clase> <definicion slots>) (make-instance alumno1 of hombre (nombre "juan") (edad 26)) (make-instance of hombre (nombre "luis") (edad 56)) Modificación: (modify-instance <instancia> <redefinicion slots>) (modify-instance alumno1 (nombre "juan antonio")) Copia: (duplicate-instance <instancia> [to <nueva instancia>] <redefinicion slots>) (duplicate-instance alumno1 to alumno2 (nombre "pedro")) (duplicate-instance alumno2 to alumno3) Borrado: (make-instance <ref. instancia>) (unmake-instance alumno1) (unmake-instance?referencia) Otra opción: usar handler delete ((send [instancia]) delete) (send [alumno1] delete) IA 0809 (CCIA) CLIPS Noviembre / 10
18 Definición y uso de instancias Declaración instancias iniciales: (definstances) Instancias a crear al inicio de la ejecución (comando (reset)) Siempre existe objeto initial-object (de clase INITIAL-OBJECT) (definstances personas (juan of hombre (nombre "juan") (luis of hombre (nombre "luis") (pablo of hombre (nombre "pablo")) Definición de handlers: (defmessage-handler <clase> <handler> (<parametros>) <lista instru Acceso a variables y ejecución de handlers (métodos) ([instancia] send <nombre handler> <paramatros>) En slots donde { se defina modificador create-accessor se crean get-<nombre slot> dos handlers set-<nombre slot> ([juan] send set-edad 26) ([pablo] send imprimir) ([juan] send get-nombre) IA 0809 (CCIA) CLIPS Noviembre / 10
19 Uso de objetos en reglas Se pueden crear precondiciones en el lado izquierdo de las reglas que hagan referencia objetos o al valor de sus slots usando la palabra clave object (object <lista 8restricciones>) < <restriccion> = : Ejemplo (is-a <nombre clase>) (name <restriccion sobre nombre>) (<nombre slot> <restriccion sobre slot>) (defrule fuego-misma-planta (object (is-a sensor-humo) (habitacion?id_habitacion) (activo SI)) (object (is-a habitacion) (id?id_habitacion) (piso?piso) (aspersor encendido))?h1 <- (object (is-a habitacion) (piso?piso)) => (modify-instance?h1 (aspersor encendido)) (bind?nombre-habitacion [?h1] get-nombre) (printout "Encendido aspersor en la habitacion "?nombre-habitacion " del piso "?piso crlf)) ) IA 0809 (CCIA) CLIPS Noviembre / 10
20 Otras posibilidades Definición de funciones: (deffunc...) División en módulos: (defmodule...)) exportación e importaciones de elementos: plantillas, hechos, reglas, clases,... Uso de factores de certidumbre asoicados a reglas y hechos Simulación de razonamiento hacia atrás IA 0809 (CCIA) CLIPS Noviembre / 10
El lenguaje CLIPS. Javier Béjar Intel ligència Artificial 2016/2017. Facultat d Informàtica de Barcelona
El lenguaje CLIPS Javier Béjar Intel ligència Artificial 2016/2017 Facultat d Informàtica de Barcelona El sistema CLIPS El sistema CLIPS CLIPS es un entorno para desarrollar sistemas expertos Este define
Más detallesReferencia. EXPERT SYSTEMS, Principles and Programming, Third Edition J. Giarrantano, G. Riley PWS Publishing Company, Boston 1998 ISBN 0-534-95053-1
CLIPS Introducción Referencia EXPERT SYSTEMS, Principles and Programming, Third Edition J. Giarrantano, G. Riley PWS Publishing Company, Boston 1998 ISBN 0-534-95053-1 Documentación CLIPS reference manual
Más detallesInteligencia en Redes de Comunicaciones CLIPS. Julio Villena Román.
Inteligencia en Redes de Comunicaciones CLIPS Julio Villena Román jvillena@it.uc3m.es Índice Lenguaje CLIPS: Hechos, reglas, variables, funciones, operadores, referencias Estrategias de resolución de conflictos
Más detallesContenido. Introducción Elementos básicos de programación Variables Restricciones
Herramientas CLIPS Contenido Introducción Elementos básicos de programación Variables Restricciones 2 CLIPS Historia Inspirado en OPS5 (Official Production System 5) y ART (Automated Reasoning Tool, Inference
Más detallesInteligencia en Redes de Comunicaciones - 04b CLIPS
En este Tema 4b se van a estudiar los fundamentos del lenguaje CLIPS para la creación de sistemas basados en reglas. 1 Este es el índice del tema: se estudiarán los diferentes conceptos y fundamentos del
Más detallesTema 3: Representación de Hechos en CLIPS. Información sobre Conocimiento del Dominio
Tema 3: Representación de Hechos en CLIPS Información sobre Conocimiento del Dominio Representación de la información Hechos. Ordenados y no Ordenados. Índice y dirección. Objetos. POO. Instancias de objetos.
Más detallesCLIPS v6.1 Resumen. Universidad Carlos III de Madrid Departamento de Informática docweb/
1 CLIPS v6.1 Resumen Raquel Fuentetaja Pizán raquel.fuentetaja@uc3m.es Susana Fernández Arregui susana.fernandez@uc3m.es Universidad Carlos III de Madrid Departamento de Informática http://galahad.plg.inf.uc3m.es/
Más detallesArtificial Intelligence: laboratory CLIPS
Artificial Intelligence: laboratory CLIPS Fall 2008 professor: Luigi Ceccaroni El sistema CLIPS CLIPS es un entorno para desarrollar sistemas expertos. Define un lenguaje que permite la representación
Más detallesPráctica 1: Introducción a CLIPS
C. Graciani Díaz F. J. Martín Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla CLIPS CLIPS C Language Integrated Production Systems http://clipsrules.sourceforge.net
Más detallesREPRESENTACIÓN DEL CONOCIMIENTO CLOS (CLIPS) Práctica 3
REPRESENTACIÓN DEL CONOCIMIENTO CLOS (CLIPS) Práctica 3 Objetivos: Implementación de Marcos mediante las características de CLOS en CLIPS. Definición y manejo de clases e instancias. 1. DEFINICIÓN DE CLASES
Más detallesControl de la ejecución y diseño modular
Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Control de la ejecución Ejemplo de fases de un problema: Lectura de datos. Detección de problemas.
Más detallesSistemas de producción: CLIPS
Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Sistemas de producción: Ejemplo Reglas para identificar un animal Si el animal tiene pelos entonces
Más detallesManipulación de hechos en CLIPS.
Manipulación de hechos en CLIPS. Víctor Tomás Tomás Mariano 1, Felipe de Jesús Núñez Cárdenas 1, Efraín Andrade Hernández 1 Universidad Autónoma del Estado de Hidalgo: Escuela Superior de Huejutla. Huejutla
Más detallesTema 10: Aplicaciones de SBC en CLIPS
Inteligencia Artificial 2 Curso 2000 200 Tema 0: Aplicaciones de SBC en CLIPS José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación e Inteligencia
Más detallesReglas. El constructor defrule y otros comandos relacionados
Reglas El constructor defrule y otros comandos relacionados Reglas Introducción Definición de reglas Ciclo básico de ejecución de reglas Sintaxis del antecedente Propiedades de una regla Comandos Introducción
Más detallesIngeniería Técnica en Informática de Gestión
Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Septiembre 2011. 1 a parte Normas generales del examen El tiempo para realizar
Más detallesContenido. Elementos básicos de un sistema de producción CLIPS Jess:
Herramientas CLIPS Contenido Elementos básicos de un sistema de producción CLIPS Jess: 2 Sistemas de producción: Regla de Mycin SI (1) se dispone de un análisis de sangre, (2) el recuento leucocitario
Más detallesIngeniería Técnica en Informática de Gestión
Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Septiembre 2010 Normas generales del examen El tiempo para realizar el
Más detallesRepresentación del Conocimiento Otros formalismos. Licenciatura en Ciencias de la Computación. Introducción a la Inteligencia Artificial.
Representación del Conocimiento Otros formalismos Licenciatura en Ciencias de la Computación. Introducción a la Inteligencia Artificial. Conocimiento Definición El conocimiento es una mezcla de experiencia,
Más detallesTema 12: Aplicaciones de SBC: Decisión y metaintérpretes
Inteligencia Artificial 2 Curso 999 2000 Tema 2: Aplicaciones de SBC: Decisión y metaintérpretes José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación
Más detallesSolución de un problema con CLIPS: Expert-Juego. Las 7 y media
Inteligencia en Redes de Comunicaciones PRÁCTICA FINAL Solución de un problema con CLIPS: Expert-Juego. Las 7 y media - Elena A. Álvarez Conde Problema El problema a resolver es la implementación del juego
Más detallesConstrucción de SSPP con CLIPS. Universidad Carlos III de Madrid Departamento de Informática
Construcción de SSPP con CLIPS Susana Fernández Arregui susana.fernandez@uc3m.es Raquel Fuentetaja Pizán raquel.fuentetaja@uc3m.es Universidad Carlos III de Madrid Departamento de Informática http://galahad.plg.inf.uc3m.es/~docweb/
Más detallesCLIPS. Confrontación de Patrones
CLIPS Confrontación de Patrones Variables ::= ::=?< nombre-variable > < variable-multicampo> ::= $?< nombre-variable
Más detallesIngeniería Técnica en Informática de Gestión
Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Febrero 2010. 1 a parte Normas generales del examen El tiempo para realizar
Más detallesTema 8: Elementos condicionales y acciones procedimentales
Inteligencia Artificial 2 Curso 2000 200 Tema 8: Elementos condicionales y acciones procedimentales José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la
Más detallesApellidos:... Nombre:...
Inteligencia Artificial II (9 Junio 2000) Apellidos:..................................................... Nombre:...................................................... Ejercicio 1 [4 puntos] Dada una base
Más detallesTEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II)
PROGRAMACIÓN N ORIENTADA A OBJETOS TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS Programación OO Se basa en la creación de objetos, con sus propiedades y métodos Ventajas Código optimizado Buena reutilización
Más detallesModulo 11. Clases y Objetos en Java
El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.
Más detalles230086 - POO - Programación Orientada a Objetos
Unidad responsable: Unidad que imparte: Curso: Titulación: Créditos ECTS: 2016 230 - ETSETB - Escuela Técnica Superior de Ingeniería de Telecomunicación de Barcelona 701 - AC - Departamento de Arquitectura
Más detallesConstrucción de SSPP con CLIPS. Universidad Carlos III de Madrid Departamento de Informática
Construcción de SSPP con CLIPS Susana Fernández Arregui susana.fernandez@uc3m.es Raquel Fuentetaja Pizán raquel.fuentetaja@uc3m.es Universidad Carlos III de Madrid Departamento de Informática http://galahad.plg.inf.uc3m.es/~docweb/
Más detallesDesarrollo de un juego de naipes en JESS
Desarrollo de un juego de naipes en JESS Paloma Fuentes Gutierrez 5º ETSIT c/ Palmera, 12 28918 Leganes +34 620866421 cotufa@gmail.com ABSTRACTO Desarrollo de un sistema experto usando JESS, CLIPS reprogramado
Más detallesProgramación Orientada a Objetos. Sesión 4: Herencia
Programación Orientada a Objetos Sesión 4: Herencia Contextualización Cuando hablamos de informática, podemos contemplar varios elementos que se utilizan dentro de ésta misma, por ejemplo, la herencia
Más detallesSistemas de Produccion en Clips
Alberto Gomez Bravo 100061568 100061568@alumnos.uc3m.es Sistemas de Produccion en Clips Alfredo Corroto Diaz 100055351 Ismael Bermejo Jiménez 100047569 100055351@alumnos.uc3m.es 100047569@alumnos.uc3m.es
Más detallesIntroducción a la programación orientada a objetos
Introducción a la programación orientada a objetos Cristina Cachero Castro Pedro J. Ponce de León Amador Estela Saquete Boró Departamento de lenguajes y sistemas informáticos Universidad de Alicante Índice
Más detallesAccess SQL: DDL y DML. Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos.
SGBD y SQL Access SQL: DDL y DML Ejercicio Una empresa de Ingeniería precisa una base de datos para la gestión de sus proyectos. Necesita almacenar información acerca de sus empleados y los proyectos en
Más detallesTema 6: Introducción a la programación basada en reglas
Inteligencia Artificial 2 Curso 999 2000 Tema 6: Introducción a la programación basada en reglas José A. Alonso Jiménez Miguel A. Gutiérrez Naranjo Francisco J. Martín Mateos Dpto. de Ciencias de la Computación
Más detallesCLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6
PRESENTACIÓN: La programación orientada a objetos es una evolución de la programación procedural basada en funciones. La POO permite agrupar secciones de código con funcionalidades comunes, pretende agrupar
Más detallesLicenciatura en Obras Públicas. Ingeniería del Conocimiento. Curso 08/09
Licenciatura en Obras Públicas Ingeniería del Conocimiento Curso 08/09 Ingeniería a del Conocimiento La asignatura Curso 08/09 La Ingeniería del Conocimiento es el proceso de diseñar y hacer operativos
Más detallesInteligencia Artificial. Sistemas Expertos y CLIPS
Inteligencia Artificial Sistemas Expertos y CLIPS Prof. Wílmer Pereira Sistema Experto Programa que explota unidades dispersas de conocimiento que constituyen el dominio de experticia de un especialista
Más detallesLenguaje de programación Jess. Java Expert System Shell
Lenguaje de programación Jess Java Expert System Shell Ejemplo introductorio Problema de tipo puzzle en el cual hay cinco casas, de diferente color, habitadas por hombres de diferentes nacionalidades,
Más detallesIngeniería Técnica en Informática de Sistemas Inteligencia Artificial Hoja 1: CLIPS I
Universidad Rey Juan Carlos Curso 2008/2009 Ingeniería Técnica en Informática de Sistemas Inteligencia Artificial Hoja 1: CLIPS I 1. Se trata de ejecutar el ejemplo del perro Tucky (apuntes en CLIPS (a
Más detallesCLIPS Definición de funciones
CLIPS Definición de funciones Por función consideramos tanto las funciones predefinidas en CLIPS como las definidas por el usuario en este lenguaje, o las definidas en un lenguaje externo (C, FORTRAN o
Más detallesIngeniería Técnica en Informática de Gestión
Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Febrero 2007. 1 a parte Normas generales del examen El tiempo para realizar
Más detallesSolución SP-Cardio. Práctica V
Solución SP-Cardio Práctica V Contenido 1. Plantillas. 2. Regla Semántica Univaluada. 3. Datos Iniciales Marta y Juan. 4. Aneurisma arteria abdominal. 5. Regurgitación aórtica. 6. Estenosis arteria pierna.
Más detallesLaboratorio de Casas Inteligentes Uso de Técnicas de Inteligencia Artificial para Operar una Casa Practica No. 8
Laboratorio de Casas Inteligentes Uso de Técnicas de Inteligencia Artificial para Operar una Casa Practica No. 8 Objetivo: Usar un sistema basado en reglas (CLIPS para instrumentar técnicas de inteligencia
Más detallesTema 7: Polimorfismo. Índice
Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento
Más detalles05/03/2008. x: perro (x) Hechos. perro (capricho) mamífero (perro) mamifero(x) Un perro es un mamífero. Representaciones internas
Representación de Información Angela C. Carrillo Ramos Agenda El problema de la representación de la información Conocimiento Representación de Conocimiento Reglas Ontologías 1 Problema de Representación
Más detallesMANUAL BÁSICO DEL LENGUAJE SQL
MANUAL BÁSICO DEL LENGUAJE SQL INTRODUCCIÓN A continuación se presentan lo que son comandos DLL y DML, las clausulas, lo operadores (lógicos y de comparación), funciones de agregado, consultas, tipos de
Más detallesTUTORIAL DE CLIPS. VERSION 0.8 / 9 de marzo de 2000
TUTORIAL DE CLIPS VERSION 0.8 / 9 de marzo de 2000 Este documento está destinado a los alumnos de tercer curso de las Ingenierías Técnicas de Informática de la Universidad de Murcia. El objetivo del documento
Más detallesForma Básica Clase Java
Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos
Más detallesLas redes semánticas intentan trasladar esa afirmación a un formalismo Una red semántica será un grafo donde:
Redes Semánticas Redes semánticas La lógica como lenguaje de representación tiene dificultades prácticas Son necesarios mecanismos mas intuitivos y fáciles de usar La psicología cognitiva afirma: La representación
Más detallesEscuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers
Triggers Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir Consultar
Más detallesUNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R
UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R Técnicas Inteligentes en Bioinformática Máster en Lógica, Computación e Inteligencia Artificial Dpto. Ciencias de la Computación e Inteligencia Artificial
Más detallesCURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance
Capítulo 1. Introducción general 1.1 Comencemos 1.2 Variables y expresiones aritméticas 1.3 La proposición FOR 1.4 Constantes simbólicas 1.5 Entrada y salida de caracteres 1.6 Arreglos 1.7 Funciones 1.8
Más detallesBORRADOR! "! # $ % &! ' ( ) * ) * #! +,,! - # # # # # + #,,! # # +,# #!.,( # # /! +, #
INTRODUCCIÓN A LA PROGRAMACIÓN BASADA EN REGLAS Lawrence Mandow Andaluz Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga José Luis Pérez de la Cruz Molina Dpto. de Lenguajes y Ciencias
Más detallesResolución de Problemas en LBR
1 Resolución de Problemas en LBR J.A. Bañares Bañares Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Copyright 1998 JoséAngel Bañares Última revisión: Oct., 2009 Objetivo:
Más detallesInteligencia Artificial. Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Prof. Ing. Franco D. Menendez
Inteligencia Artificial Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Prof. Sistemas Expertos - Arquitectura La Arquitectura del Sistema Experto es la siguiente: Sistemas Expertos
Más detallesHerencia. Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra.
Programación Orientada a Objetos Herencia Ing. Julio Ernesto Carreño Vargas MsC. Herencia Proceso mediante el cual una clase adquiere las propiedades (atributos) y comportamiento (métodos) de otra. Programación
Más detallesAPÉNDICE D. INTRODUCCIÓN A SQL
APÉNDICE D. INTRODUCCIÓN A SQL D.1 INTRODUCCIÓN. CONCEPTOS PREVIOS D.1.1 Base de Datos Relacional Conjunto de Datos que el usuario percibe como una colección de tablas. La visión tabular de los datos es
Más detallesEl curso esta orientado para toda persona que desee aprender todos las funciones de esta Base de Datos.
Objetivos Conocer la terminología del programa y los elementos que se utilizan en la aplicación Trabajar con datos de forma rápida y eficaz Crear bases de datos Crear tablas y establecer relaciones entre
Más detallesSistemas Inteligentes de Gestión. Relación de ejercicios CLIPS. Sistemas expertos basados en reglas con encadenamiento hacia adelante
Sistemas Inteligentes de Gestión Relación de ejercicios CLIPS Sistemas expertos basados en reglas con encadenamiento hacia adelante Juan Carlos Cubero & Fernando Berzal ENTREGA DE LA PRÁCTICA clips.doc
Más detallesTema: Clases y Objetos en C++. Parte II.
Programación II. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C++. Parte II. Objetivos Específico Implementar clases, objetos, propiedades, métodos
Más detallesOracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo
Oracle University Contacte con nosotros: 902 302 302 Oracle Database 11g: Conceptos Fundamentales de SQL y PL/SQL Nuevo Duración: 5 Días Lo que aprenderá En este curso, los estudiantes aprenderán los conceptos
Más detallesUNIDAD I. ALGORITMOS
UNIDAD I. ALGORITMOS 1.1 Definición Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 1.2 Tipos Cualitativos: Son aquellos
Más detallesSISTEMAS INTELIGENTES
SISTEMAS INTELIGENTES T6: Sistemas Basados en Reglas {jdiez, juanjo} @ aic.uniovi.es Introducción Definición: sistemas diseñados para actuar como un experto humano en un dominio o área de conocimiento
Más detallesIntroducción a Protégé
FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 2ª Parte Introducción a Protégé Febrero 2003 1 1. Objetivo La presente
Más detallesEstructuras de control condicionales
Estructuras de control condicionales Por defecto, las instrucciones de un programa se ejecutan secuencialmente: El orden secuencial de ejecución no altera el flujo de control del programa respecto al orden
Más detallesQué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Más detallesIntroducción Instalación Elementos básicos. Hechos. Reglas Primeros ejemplos. Referencias/Documentación
CLIPS Introducción Índice Introducción Instalación Elementos básicos Órdenes Tipos de datos Constructores Hechos Ordenados y no ordenados Plantillas Reglas Primeros ejemplos Hechos iniciales Comodines
Más detallesPOO: Clases y objetos
POO: Clases y objetos Programación de aplicaciones 1 Introducción En los lenguajes de programación orientados a objetos, tenemos la posibilidad de extender el lenguaje mediante la creación de nuevo tipos,
Más detallesTema 2. Funciones Lógicas. Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas.
Tema 2. Funciones Lógicas Algebra de Conmutación. Representación de circuitos digitales. Minimización de funciones lógicas. Álgebra de conmutación Algebra de Conmutación: Postulados y Teoremas. Representación
Más detallesLenguajes basados en reglas
Lenguajes basados en reglas 1 Representación del Conocimiento Representación de hechos Representación de reglas Motor de Inferencia José Angel Bañares 23/09/05 Índice 1. Sistemas de Producción/ Lenguajes
Más detallesRepresentación del Conocimiento
Representación del Conocimiento 1 Conocimiento Profundo Esquemas de representación/integración de paradigmas Reglas, Frames y procedimientos Acciones prodedimentales en CLIPS Objetos en CLIPS (COOL) Ejemplos
Más detallesLaboratorio Nº1: Programación de SE con la herramienta CLIPS
Laboratorio Nº1: Programación de SE con la herramienta CLIPS El objetivo de éste laboratorio es introducirnos en la programación de SE usando como herramienta CLIPS, a continuación, brindaremos una guía
Más detallesIngeniería Técnica en Informática de Gestión
Departamento de Informática Universidad Carlos III de Madrid Ingeniería Técnica en Informática de Gestión Inteligencia Artificial Septiembre 2002. 1 a parte Normas generales del examen El tiempo para realizar
Más detallesCaracterísticas del lenguaje SQL
Lenguaje SQL Características del lenguaje SQL Es el lenguaje estándar para realizar operaciones en bases de datos relacionales. Instrucciones: SELECT Consulta. Su implementación está basada en álgebra
Más detallesExpresión, Operador, Operando, Asignación, Prioridad
4. EXPRESIONES Y OPERADORES Conceptos: Resumen: Expresión, Operador, Operando, Asignación, Prioridad En este tema se presentan los siguientes elementos de la programación: las expresiones y los operadores.
Más detallesINDICE Capitulo 1. El Turbo C++ y el Lenguaje C Capitulo 2. Declaración e inicialización de variables Capitulo 3. Funciones de entrada y salida
INDICE Capitulo 1. El Turbo C++ y el Lenguaje C 1 Introducción 1 Introducción al turbo C++ 2 Instalación de la versión 3 del turbo C++ 4 Carga del editor turbo C++ para crear programas 6 Opciones: File,
Más detalles1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?
1 1. Introducción 1.1. Qué es Java? 1.2. Es Java un lenguaje ideal para aprender a programar? 1.3. Es Java software libre? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar? 1.5. Qué sistema
Más detallesInteligencia Artificial Inferencia en lógica
Inteligencia Artificial Inferencia en lógica Primavera 2007 profesor: Luigi Ceccaroni Inferencia en lógica Se quieren conseguir algoritmos que pueden responder a preguntas expresadas en forma lógica. Tres
Más detallesLas listas son una sucesión de cero o más elementos. Esta es una definición muy simple y que no aclara demasiado en términos informáticos.
LISTAS Las listas son una sucesión de cero o más elementos. Esta es una definición muy simple y que no aclara demasiado en términos informáticos. Hay varios tipos de listas, las hay enlazadas, no enlazadas,
Más detallesSistema CLIPS (Apuntes)
Sistema CLIPS (Apuntes) Autor: Aitor San Juan Sánchez (aitorsj@hotmail.com) Título: Sistema CLIPS (Apuntes) Área: Sistemas Basados en el Conocimiento (I.A.) N.º Págs.: 100 2 CLIPS Prólogo Este documento
Más detallesSistemas Expertos. Caso de Estudio: Selección de un microcontrolador
Sistemas Expertos Caso de Estudio: Selección de un microcontrolador Introducción Un Sistema Experto (SE) clásico comienza con una serie de preguntas. En base a las respuestas genera una recomendación.
Más detallesORACLE 10g. Descripción A QUIEN VA DIRIGIDO?
ORACLE 10g Descripción A QUIEN VA DIRIGIDO? Está dirigido a estudiantes y profesionista que desee conocer la tecnología Oracle, así como realizar extracción de datos, creación de objetos y administración
Más detallesRedes Semánticas. Redes semánticas. Limitaciones de las redes semánticas. Notas
Redes semánticas Redes Semánticas La lógica como lenguaje de representación tiene dificultades prácticas Son necesarios mecanismos mas intuitivos y fáciles de usar La psicología cognitiva afirma: La representación
Más detallesInteligencia en Redes de Comunicaciones Jess
Estos ejercicios sirven de introducción al desarrollo de sistemas expertos en CLIPS, usando la versión de CLIPS en Java llamada : http://www.jessrules.com/ En primer lugar, aquí se plantean unos cuantos
Más detallesUna Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.
Clases La programación orientada a objetos utiliza clases para encapsular (envolver, esconder) datos (atributos) y métodos (comportamientos). Por ejemplo, el estéreo de un auto encapsula todos los atributos
Más detallesSensor-IA: Sistema experto para el control en tiempo real de procesos de mecanizado
: Sistema experto para el control en tiempo real de procesos de mecanizado Francisco J. Martín Mateos Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Objetivo del proyecto
Más detallesOperando1 operador de relación Operando2
PROGRAMACIÓN 10 Prof. Dolores Cuiñas H. Recuerde que estos son apuntes muy simplificados que deberá completar con la bibliografía recomendada APUNTES Nº 5 ESTRUCTURAS DE CONTROL SELECTIAS O ESTRUCTURAS
Más detallesOracle Express y Toad for Oracle
6. Creación de Oracle y Toad for Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla octubre 2011 Toad for Oracle 6. Creación de Objetivos de este tema Conocer Oracle Conocer
Más detallesEstructura de Datos y de la Información. Tema 1: Gestión dinámica de la memoria. Departamento de Computación Universidade da Coruña, España.
Estructura de Datos y de la Información Tema 1: Gestión dinámica de la memoria Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España
Más detallesTransact-SQL. Declaraciones del Data Control Language (DCL) que se utilizan para determinar quién ve o modifica los datos.
Transact-SQL SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación. No permite el uso de variables, estructuras
Más detalles(X)HTML. World Wide Web es uno de los servicios que se pueden encontrar en Internet, pero no el único (correo electrónico, FTP, news...
Esquema Conceptos previos Qué es HTML? Gramática de HTML Estructura básica de un documento HTML Cuerpo del documento Hipertexto y marcadores Listas Imágenes Formularios Tablas Hojas de estilo Conceptos
Más detallesMICROSOFT ACCESS 2013 (COMPLETO)
MICROSOFT ACCESS 2013 (COMPLETO) Descripción del funcionamiento del programa de gestión de bases de datos Microsoft Access 2013, estudiando los conceptos fundamentales de las bases de datos: desde su análisis
Más detalles2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS
2. ENTIDADES PRIMITIVAS PARA EL DESARROLLO DE ALGORITMOS 2.1 Tipos De Datos Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como b, un valor entero tal como
Más detallesProgramación Java SE 7
Programación Java SE 7 : 5 Este curso, que es el segundo de una serie de dos cursos que tratan de la plataforma Java Standard Edition 7 (Java SE 7), describe las principales interfaces de programación
Más detallesEficiencia en Sistemas de Reconocimiento de Patrones
Eficiencia en Sistemas de Reconocimiento de Patrones J.A. Bañares Bañares Departamento de Informática e Ingeniería de Sistemas C.P.S. Universidad de Zaragoza Copyright 2000 José Angel Bañares Última revisión:
Más detallesTriggers 27/11/2014. Escuela Técnica Superior de Ingeniería Informática Departamento de Lenguajes y Sistemas Informáticos. Triggers en Oracle
Triggers en Oracle Grupo de Ingeniería del Software y Bases de Datos Universidad de Sevilla noviembre 2012 Introducción Objetivos de la práctica Conocer qué son los y para qué se utilizan Aprender a construir
Más detallesLenguaje de programación Jess. Java Expert System Shell
Lenguaje de programación Jess Java Expert System Shell Ejemplo introductorio Problema de tipo puzzle en el cual hay cinco casas, de diferente color, habitadas por hombres de diferentes nacionalidades,
Más detallesFunciones & Estructuras de control
Funciones & Estructuras de control Universidad de Concepción, Chile Departamento de Geofísica Programación Científica con Software libre Primavera, 2011 Universidad de Concepción Contenidos 1 2 3 En la
Más detalles