EIPRCU021T - Compilador Neupro a partir de la máquina abstracta de Warren
 
Departamento: SISTEMAS
Grupo de investigación: GEINAR - Grupo de Estudio sobre Inteligencia Artificial
Participa en Prog. de Incentivos: NO
Integrantes:
DirectorJORGE H. NANCLARES
CodirectorJUAN CARLOS PABLO ANSALDI
Investigador de ApoyoDANIEL CELSO BUCHANAN
Investigador de ApoyoANDRES JORGE PASCAL
Investigador de ApoyoCLAUDIA ALVAREZ
Investigador de ApoyoGABRIEL ERNESTO ARELLANO
Investigador de ApoyoULISES MARIO ALBERTO RAPALLINI
Fecha de inicio: 1-12-2003
Fecha de fin: 31-12-2005
Contacto:
Email:
Resumen:
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.
 
[+] Ver otros proyectos