2. PROLOG
PROLOG está orientado a la resolución de problemas mediante el
cálculo de predicados, basado en:
Preguntas a la base de datos.
Pruebas matemáticas.
El programa PROLOG especifica cómo debe ser la solución, en vez de
dar el algoritmo para su resolución. La solución se obtiene mediante
búsqueda aplicando la lógica de predicados.
El programa PROLOG se compone de unos hechos (datos) y un
conjunto de reglas, es decir, relaciones entre objetos de la base de
datos.
La ejecución del programa cargado en memoria consiste en realizar una
pregunta de forma interactiva: el interprete generará por inferencia los
resultados que se deducen a partir del contenido de la base de datos.
PROLOG tiene una sintaxis y semántica simples. Sólo busca relaciones
entre los objetos creados, las variables y las listas, que son sus
estructuras básicas.
3. LISP
Es un lenguaje de programación aplicativo o funcional, de
propósito general, se basa en la aplicación de funciones a los datos
y se apoya en la utilización de funciones matemáticas para el
control de los mismos. El elemento fundamental en el LISP es la
lista, más ampliamente el término. Cada función del LISP y cada
programa que generemos con él vienen dado en forma de lista. . El
nombre proviene del término “List Processing ”.LISP es muy
utilizado en la InteligenciaArtificial.
El LISP trata a los elementos o paramentos que le introducimos de
manera no destructiva, de forma que la mayoría de las funciones
nos devuelven una lista que es el resultado de alguna
transformación de otra que recibió, pero sin cambiar a esta (la que
recibió).
Una de las razones por las que el LISP esta especialmente dotado
para la programación en inteligencia artificial (IA), es
precisamente, porque su código y todos los datos tienen la misma
estructura, en forma de lista.
4. CLIPS
Representación del Conocimiento: CLIPS permite manejar una amplia
variedad de conocimiento, soportando tres paradigmas de programación: el
declarativo, el imperativo, y el orientado a objetos. Portabilidad: CLIPS fue
escrito en C con el fin de hacerlo más portable y rápido, y ha sido instalado en
diversos sistemas operativos (Windows 95/98/NT, MacOS X, Unix) sin ser
necesario modificar su código fuente. CLIPS puede ser ejecutado en cualquier
sistema con un compilador ANSI de C, o un compilador de C++. El código
fuente de CLIPS puede ser modificado en caso que el usuario lo considere
necesario, con el fin de agregar o quitar funcionalidades.
Integralidad: CLIPS puede ser embebido en código imperativo, invocado
como una sub-rutina, e integrado con lenguajes como C, Java, FORTRAN y
otros.
Desarrollo Interactivo: La versión estándar de CLIPS provee un ambiente de
desarrollo interactivo y basado en texto; este incluye herramientas para la
depuración, ayuda en línea, y un editor integrado.
Verificación/Validación: CLIPS contiene funcionalidades que permiten
verificar las reglas incluidas en el sistema experto que está siendo
desarrollado, incluyendo diseño modular y particionamiento de la base de
conocimientos del sistema, chequeo de restricciones estático y dinámico para
funciones y algunos tipos de datos, y análisis semántico de reglas para
prevenir posibles inconsistencias.
5. CUADRO
COMPARATIVO
PROLOG LISP CLIPS
Lenguaje de programación diseñado para
representar y utilizar el conocimiento que se
tiene sobre un determinado dominio.
Es un lenguaje que muestra la información
estructurada en listas en las que se pueden
gestionar la información que estas contienen.
Herramienta proporciona un entorno completo
para la construcción de sistemas expertos
basados en reglas y/o en objetos.
Basado en lógica y programación declarativa.
LISP posee un manejo de memoria automático
que libera el espacio utilizado por los objetos
que dejan de ser necesitados.
Posee tres paradigmas: conocimiento basado en
reglas, orientado a los objetos y conocimiento
procedimental.
No se especifica cómo debe hacerse, sino qué
debe lograrse.
Incluye un mecanismo bastante simple para
utilizar evaluación perezosa de expresiones.
CLIPS puede combinarse con código escrito en
lenguajes como C, FORTRAN o ADA.
Una característica importante en PROLOG y
que lo diferencia de otros lenguajes de
programación, es que una variable sólo puede
tener un valor mientras se cumple el objetivo.
LISP no posee un sistema de tipos estáticos
como puede ocurrir en C/C++.
La versión estándar de CLIPS proporciona un
entorno interactivo, en forma de intérprete de
comandos.
El programador se concentra más en el
conocimiento que en los algoritmos. En
PROLOG, se llega a una solución infiriéndola
desde algo ya conocido.
Las implementaciones en LISP suelen
programarse de manera que cálculos iterativos
puedan realizarse en un espacio constante (en
memoria) aunque hayan sido descritos
mediante el uso de la recursividad.
CLIPS incluye cierto número de características
para realizar la verificación y validación de
sistemas expertos