La tarea que me encuentro realizando consiste en realizar un ensayo de una página acerca de la herramienta que he usado a lo largo del semestre en el laboratorio,CLIPS, que sirve para la elaboración de sistemas expertos(sub-area de la IA), este ensayo no pretende ser útil para quien desea aprender a utilizar CLIPS o quien desea aprender conceptos acerca de sistemas expertos,solo pretende ser una breve descripción o introducción a la herramienta pero se me hizo interesante postearlo ya que cuando inicie con la herramienta, antes de aprender a usarla,quise aprender que erá en sí, y encontre muy poca información, al menos en español, para aquellas personas que estudian sistemas en la USAC o cualquier carrera o lugar donde el metodo es similar de enseñanza("aqui esta lo que tienen que hacer, con la herramienta que lo tienen que hacer, vayan y aprendan solos y por su cuenta como hacerlo y como usar la herramienta") puede ser útil primero tener una ídea de que se hace con la herramienta antes de apnender a hacerlo en sí, acá esta mi ensayo:
CLIPS(C Language Integrated Production System) es una herramienta para la creación
de sistemas expertos. El estudio de
sistemas expertos es una rama de la inteligencia artificial que consiste en la
creación y estudio de sistemas informáticos que simulan el proceso de aprendizaje,
memorización, razonamiento y acción de un experto humano en cualquier área de
la ciencia y el conocimiento.
Los orígenes se remontan a 1984 en un centro
espacial de la nasa. En ese entonces LISP era el lenguaje usado
mayoritariamente para el trabajo en el área de sistemas expertos, pero tenía 3
problemas que lo llevaron a su fallo: baja disponibilidad, alto costo, pobre
integración con otros lenguajes. Estas
razones llevaron a que la división de
inteligencia artificial de la nasa decidiera que se creara una herramienta para
sistemas expertos escrita y basada en el lenguaje C. En 1986 la versión 3.0 de
CLIPS fue liberada para grupos afuera de la NASA.
La interacción
con clips se lleva a cabo principalmente a través de un command prompt, en este
se teclean las instrucciones para
evaluación y ejecución, aunque también CLIPS permite otras formas de interactuar,
como carga de archivos, procesamiento BATCH e integración con otros lenguajes.
CLIPS provee 3
elementos básicos para la escritura de programas: tipos de datos primitivos,
funciones para manipular datos y “constructs para agregar a una base de
conocimiento.
Los tipos de
datos básicos son un conjunto que incluye algunos de los tipos que ya conocemos
como por ejemplo: float,integer,string(y
symbol) además de otros no tan conocidos como :external-address, fact-address, instance-name and instance-address.
Una función en
CLIPS es una pieza de código ejecutable identificada por un nombre específico y
que retorna un valor útil o realiza un efecto secundario útil (como desplegar
información).
De los 3
elementos que mencione, tal vez el más útil y usado es el elemento conocido
como “constructs”, que como mencione sirve para agregar información a la base
de conocimiento de CLIPS, siendo los “constructs” más usados los siguientes: defmodule, defrule,deffacts, deftemplate,defglobal, deffunction,
defclass, definstances, defmessage-handler, defgeneric,
y defmethod.
En clips existen
3 formatos para representar información: facts, objetos, variables globales. Cada
fact representa una pieza de información y que son la unidad fundamental de
datos usada por las reglas, una regla es una de las formas principales de
representar información en CLIPS, una regla es utilizada para representar heurísticas,
las cuales especifican una serie de acciones a ser realizadas para una
determinada situación. Al crear un sistema experto, el creador define un set de
reglas que trabajan en conjunto para resolver un problema.
El segundo elemento
que mencione, objetos se maneja en CLIPS
por medio de COOL (Clips Object Oriented Language), un objeto en CLIPS es
similar a lo que ya conocemos de programación orientada a objetos pero con
ciertas variantes. Y por último, una variable global en CLIPS no es nada
diferente a lo que ya conocemos de lenguajes de programación comunes, es decir
que una variable global es un “espacio” de almacenamiento al cual se le puede
asignar a que almacene un valor, y este valor será visible en todo el entorno
CLIPS.
uuyyy ahora publica sus tareas que la gran!! jaja
ResponderEliminar