El lenguaje de programación Prolog es , con el lenguaje Lisp, el principal lenguaje de la Inteligencia Artificial. Está orientado a la programación lógica y al desarrollo de bases de datos simbólicas. En la actualidad hay varios descendientes del mismo, como el Hilog , el XSB ,. y el NEUPRO. Todos ellos se construyen por cláusulas del
tipo : CABEZA :- TERMINO1,TERMINO2,...,TERMINO K. En PROLOG, para validar CABEZA todos los términos TERMINO1,..,TERMINOK deben ser validados previamente.
El NEUPRO tendrá como base un nuevo tipo de cláusula. En lugar de que todos los términos del cuerpo deban ser
verdaderos para que la cabeza lo sea, cada término será un factor, con un cierto peso, para calcular la validez de la cabeza. Esta tendrá un umbral determinado : si la suma de los factores excede dicho umbral, entonces la cláusula
será considerada verdadera. Este comportamiento de cada cláusula permite identificarla con una neurona artificial.
Si cada cláusula es una neurona, entonces todo programa NEUPRO -o sea, cada conjunto de cláusulas- será
equivalente a una red neuronal.
Cuando cada umbral se fije en un valor igual al número de términos, y a cada término se le asigne un peso igual a 1, el programa será un programa PROLOG clásico. Tomamos como punto de partida de esta investigación a la Máquina Abstracta de Warren (en la versión del tutorial de Hassan Ait Kaci, publicada en 1999), que reduce el PROLOG a un conjunto de rutinas convencionales escritas en Pascal, facilitando su modificación y la escritura de un compilador eficiente.
|