Clips
ENTORNO CLIPS
CLIPS: C Language Integrated Production System Es una herramienta para la construcción de sistemas expertos, está diseñada para facilitar el desarrollo del software que requiere modelar sistemas. CLIPS fue creado en 1984 en el centro de Investigaciones Espaciales Johnson de la Nasa en USA. La Versión 6.21 soportaparadigmas de programación: o o o Ventajas: • • • Portable Bajo Costo Integración con otros lenguajes Basado en reglas Procedural Orientado a objetos
Características: • • • Diseñado para facilitar integración con otros lenguajes Puede llamarse desde otros lenguajes: CLIPS ejecuta una función y retorna el resultado y el control CLIPS puede llamar a funciones externas, que devuelven la salida yel control a CLIPS
Componentes básicos: • • • Base de Hechos: Lista de datos introducidos e inferidos Base de Conocimiento: Reglas, funciones, ... Mecanismo de Inferencias: Controla la ejecución
Formas de trabajo con CLIPS: • • Con el prompt Con archivos de texto (archivos por lotes)
Notación • • Las palabras claves y las funciones propias de CLIPS van en minúsculas Distingue mayúsculas yminúsculas. Ej.: jUAN, Juan, JUAN
Caracteres delimitadores ; " ( ) Comentario Inicio o final de un string Inicio de una expresión Final de una expresión
Curso de construcción de sistemas expertos usando CLIPS – Clase 1
? $
Inicio de una variable comodín Inicio de una variable Multicampo
Tipos de datos I Numéricos • Reales (FLOAT): Ej.: 1.5, -0.7, 3.5e-10 • Enteros (INTEGER): Ej.:1, -1, +3, 65 Simbólicos • Símbolos (SYMBOL): Cualquier secuencia de caracteres que no siga el formato de un número, excluyendo ciertos caracteres. Ej: casa, arbol, perro • Cadenas (STRING): Cualquier secuencia de caracteres entre comillas. Ej: “Juan Molina”, “Casa del arbol” Tipos de datos II Tipos de datos propios de CLIPS, permiten almacenar direcciones de los hechos, direcciones externas,instancias de nombres e instancias de direcciones • Fact-address Direcciones de hechos o Lista de hechos: hechos referenciados por su posición o por un nombre. o Se imprime como (XXX: índice del hecho en memoria) External-address Direcciones externas o Dirección de una estructura de datos externa devuelta por una función escrita en C o Ada, que ha sido integrada con CLIPS. o Se imprime comoInstance-name Nombres de instancias o Es el nombre de una instancia a un objeto. o Ejemplo: [casa] Instance-address Direcciones de instancias o Dirección de almacenamiento de una instancia de un objeto o
•
•
•
Valores Unicampo y Multicampo • • Valor Unicampo: Cualquier valor de los tipos de datos anteriores Valor Multicampo: Secuencia de cero paréntesis. o Ejemplos de Valores Multicampo: ( )(x) (hola) (relaciona "rojo" 23 1e10) o o más valores Unicampo entre
No es lo mismo el valor Unicampo hola que el valor Multicampo
(hola)
Funciones
Curso de construcción de sistemas expertos usando CLIPS – Clase 1
Función: algoritmo identificado con un nombre que puede o no devolver valores (Unicampo o Multicampo) a otras partes del programa Tipos de funciones: • Funciones internas:Definidas en CLIPS • Funciones externas: Escritas en un lenguaje distinto a CLIPS Se definen con el constructor: deffunction Llamado de funciones Las funciones son llamadas en notación prefija entre paréntesis Funciones matemáticas +, -, *, /, div, max, min, abs, float, integer Ejemplos • (+ • (* • (+ de llamadas a las funciones + y *: 34 5 1.3) 2 3) 3 (* 5 2) 10)
Ejercicio: Hacer un ejemplopara cada función matemática Constructores Constructor: Permite al programador añadir elementos a la base de hechos y a la base de conocimiento (funciones, reglas, hechos, clases). Los más importantes son: • • • • • • deffunction: Para definir funciones defglobal: Para definir variables globales deftemplate: Para definir plantillas deffacts: Para definir hechos defrule: Para definir reglas...
Regístrate para leer el documento completo.