CLIPS (Sistema de Producción Integrada en Lenguaje C) es un entorno de
desarrollo de Sistemas Expertos.
FuzzyCLIPS amplía
CLIPS proveyéndolo de capacidades de razonamiento difuso.
Lamentablemente, en la página de descargas de la
National Research Council of
Canada no existe una versión compilada de
FuzzyCLIPS para GNU/Linux,
si bien es posible compilarlo a partir de la versión disponible para
M$ Güindous©, aunque requiere alguna adaptación nada complicada.
En primer lugar, se ha de descargar la versión para
M$ Güindous©
de la página
http://www.nrc.ca. Se requerirá
darse de alta con una dirección de correo válida ya que, una vez seleccionado
el fichero a descargar, se enviará en enlace a esa dirección.
El fichero descargado se llama
fzclp610dWin.zip (a día de hoy). Al
descomprimirlo (p.e. con
unzip), creará un directorio con el mismo
nombre. Abriremos una sesión de terminal en el subdirectorio
source
dentro del anterior, donde habrá que editar dos ficheros:
- setup.h: habrá que cambiar el 1 que tiene definido el símbolo
IBM_TBC por defecto a 0 y cambiar el 0 del símbolo UNIX_V
por un 1. Esto se hace para que la parte dependiente del sistema operativo
de la compilación entienda que estamos en un Unix System V o similar, que es
lo más aproximado que vamos a encontrar.
- Makefile.cl: En mi caso (puede que en el tuyo no sea así), no
tengo la librería libtermcap y en GNU/Linux no se usa, así que
habrá que eliminar de esa línea la referencia a dicha librería.
Para compilar, podemos ejecutar:
$ make both
o, para crear el ejecutable de línea de comandos:
$ make -f Makefile.cl
y para crear el IDE bajo X
$ make -f Makefile.x
En mi caso no he tenido que tocar el
Makefile.x porque las
librerías y cabeceras para compilar con
Athena Widgets (que son las librerías
que usa
FuzzyCLIPS para el IDE) están incluidas en las rutas por defecto del
compilador. Puede que este no sea tu caso. Revísalo por si acaso.
Claro que, para que este proceso vaya bien, será necesario tener un sistema de
compilación básico (compilador, ensamblador, etc) y las librerías de
desarrollo de
Xt y
Athena Widgets que son
libxt-dev,
libxaw-headers, libxaw7-dev, libxpm-dev y
xbitmaps (quizá falten
algunas dependencias).
Suerte.