Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2....

163
FACULTAD DE INFORMÁTICA UNIVERSIDAD POLITÉCNICA DE MADRID Trabajo Fin de carrera A NÁL ISIS Y DESARROLLO DE UN SISTEMA DE APRENDIZAJE EN REDESPARALELAS Alumna: Mª del Carmen Tarrat Alcalde Tutor: Gabriel Cristóbal Pérez Septiembre, 1987

Transcript of Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2....

Page 1: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

FACULTAD DE INFORMÁTICA

UNIVERSIDAD POLITÉCNICA DE MADRID

Trabajo Fin de carrera

ANÁL ISIS Y DESARROLLO DE UN SISTEMA DE

APRENDIZAJE EN REDES PARALELAS

Alumna: Mª del Carmen Tarrat Alcalde

Tutor: Gabriel Cristóbal Pérez

Septiembre, 1987

Page 2: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

ÍNDICE

l. INTRODUCCIÓN 1

2. ARQUITECTURAS PARALELAS. EL CONEXIONISMO

2.1 . INTRODUCCIÓN 6

2.2. CLASIFICACIÓN DE LOS SISTEMAS CONEXIONISTAS 10

2.3. REPRESENTACIONES DISTRIBUIDAS 13

2 .4 . EL SISTEMA NETL 1 5

2.5. REDES D E TRANSMISIÓN D E VALORES 2 1

2.6. APRENDIZAJE D E REPRESENTACIONES 2 5

2.6.1 . RETROPROPAGACIÓN DEL GRADIENTE 2 6

2.6.2. PROCEDIMIENTO AR-P 28

2 .7 . SATISFACCIÓN DE RESTRICCIONES EN REDES PARALELAS 29

2 .8 . APLICACIONES DE LOS SISTEMAS CONEXIONISTAS 30

3. LA MÁQUINA DE BOLTZMANN

3 .1 . INTRODUCCIÓN 32

3 .2 . ESTRUCTURA Y COMPORTAMIENTO DE LA MÁQUINA

DE BOLTZMANN

3.3. REPRESENTACIÓN DEL CONOCIMIENTO EN LA MÁQUINA

DE BOLTZMANN

33

45

Page 3: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

4. APRENDIZAJE

4.1. INTRODUCCIÓN 46

4.2. APRENDIZAJE EN LA MÁQUINA DE BOLTZMANN 47

4.3. ALGORITMO DE APRENDIZAJE 54

4.4. CRÍTICA DE LOS PROCEDIMIENTOS DE APRENDIZAJE 58

5. EJEMPLO DE APRENDIZAJE EN UNA MÁQUINA DE BOLTZMANN

5.1. EL PROBLEMA DEL CODIFICADOR 60

5.2. COMUNICACIÓN DE INFORMACIÓN ENTRE MÓDULOS 64

6. COMPORTAMIENTO DE LOS SISTEMAS CONEXIONISTAS

6.1. INTRODUCCIÓN

6.2. INTERSECCIÓN DE CONJUNTOS

6.3. CIERRE TRANSITIVO

6.4. CONTEXTOS Y PARTICIONES

6.5. RECONOCIMIENTO POR MEJOR APROXIMACIÓN

6.6. RECONOCIMIENTO GESTALT

7. SIMULACIÓN DE LA MÁQUINA DE BOLTZMANN EN UN COMPUTADOR

LISP

7.1. INTRODUCCIÓN

7.2. ESTRUCTURA DE LA RED

7 .3. ALGORITMO DE APRENDIZAJE

7.4. INTERFACE DE CREACIÓN DE LA RED

67

68

69

70

71

72

74

76

79

84

Page 4: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

8. BIBLIOGRAFÍA 88

9. APÉNDICES 91

Page 5: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

l. INTRODUCCIÓN

El cerebro humano tiene una estructura muy diferente a la de los

computadores digitales convencionales. Está compuesto por un gran número de

pequeñas unidades, las neuronas, capaces de actuar en paralelo, en lugar de tener un

único procesador muy rápido y potente pero poco flexible. También es diferente en el

modo de almacenar el conocimiento, ya que el cerebro lo hace modificando la

interacción entre sus elementos de proceso, mientras que los computadores lo hacen

mediante la asignación de bits en una memoria de propósito muy general, pero pasiva.

También hay que considerar la resistencia del cerebro ante pequeños daños físicos, y

su capacidad para aprender de la experiencia en lugar de ser programado

explícitamente.

A pesar de los numerosos estudios realizados sobre el comportamiento del

cerebro todavía no se ha conseguido averiguar cuál es la que utilizan las neuronas

para representar las estructuras del conocimiento, a menudo muy complejas. También

es un misterio para nosostros, quizás aún mayor, cómo el sistema de percepción

(vista, oído, tacto, etc.) es capaz de transformar el cúmulo de señales que recibe en

representaciones internas útiles y consistentes; sin mencionar la rapidez con que

realiza dicha transformación. Por supuesto, tampoco sabemos cómo aprende nuevos

esquemas sin utilización aparente de un procedimiento explícito y general. Recientes

-1-

Page 6: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

investigaciones han presentado un gran número de teorías diversas sobre el

funcionamiento del cerebro, aunque ninguna de ellas haya sido demostrada

suficientemente para ser admitida como cierta. Para muchos investigadores, el

cerebro utiliza mecanismos de cálculo que pueden aplicarse a las arquitecturas

masivamente paralelas desarrolladas en los últimos años en el campo de la

Inteligencia Artificial. La única dificultad consiste en descubrir cuáles son estos

mecanismos.

Un objetivo muy importante de la Inteligencia Artificial ha sido, desde sus

primeros tiempos, la búsqueda de esquemas de aprendizaje aplicables a los

computadores. El aprendizaje se puede considerar como una de las capacidades más

relevantes del comportamiento inteligente, y por ello, cualquier sistema que pretenda

simular dicho comportamiento ha de ser capaz de realizar algún tipo de aprendizaje.

Las primeras investigaciones se realizaron sobre mecanismos como el Perceptron y

otros tipos de redes asociativas. Estos sistemas mostraron la posibilidad de asignar

pesos a las conexiones entre las unidades de entrada y salida, de forma que la

presentación de un vector de entrada causara la activación de las unidades de salida

adecuadas. Sin embargo, la investigación sobre las redes asociativas simples no tiene

mucho interés, ya que la mayoría de los problemas que se presentan en la realidad son

demasiado complejos para poder ser abordados por estos sistemas. Es preciso

modificar las redes asociativas, añadiéndoles niveles internos de unidades

"escondidas" (hidden units). El aprendizaje, entonces, se convierte en la tarea de

decidir cómo se deben utilizar estas unidades escondidas. Encontrar un algoritmo de

aprendizaje adecuado es un problema de enorme dificultad, porque lo que se pretende

es que la red encuentre su propio esquema de representación, y el espacio de

esquemas posibles en el que ha de buscar es demasiado grande para que pueda ser

explorado de forma exhaustiva.

-2 -

Page 7: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Las investigaciones sobre algoritmos de aprendizaje han venido

desarrollándose desde hace muchos años, obteniéndose pocos progresos. Sin embargo,

en los últimos años se han propuesto nuevos algoritmos de aprendizaje, la mayoría de

ellos de gran interés. Algunos de ellos utilizan un mecanismo de aprendizaje basado

en la disminución del gradiente en el espacio de pesos de la red. Es decir, ajustan los

pesos de las conexiones de forma que se reduzca el error producido en el

funcionamiento global de la red. La Máquina de Boltzmann y el procedimiento de

Retropropagación del gradiente utilizan este mecanismo, y han demostrado su

utilidad en un gran número de problemas. Estos dos sistemas utilizan representación

del conocimiento distribuida, es decir, el conocimiento en lugar de estar localizado en

unidades individuales de la red, se encuentra en los diferentes patrones de activación

del conjunto de las unidades que la componen. El problema más importante de estos

sistemas es su enorme lentitud, que se ve incrementada con el aumento del número de

unidades de la red. También hay que mencionar en su contra la diferencia que parece

existir entre el verdadero funcionamiento del cerebro y el proceso de disminución

progresiva del gradiente.

Los objetivos que se plantean actualmente los investigadores en este área

se fijan en la obtención de métodos que aceleren el procedimiento de disminución del

gradiente y en encontrar la forma de organizar las redes multinivel para que sus

unidades consigan minimizar el error global mediante la consecución de objetivos

locales.

Las redes masivamente paralelas están alcanzando un gran éxito en la

resolución de problemas de reconocimiento y en las denominadas búsquedas de

relajación en las que han de satisfacerse múltiples restricciones simultáneamente. Sin

embargo, existen muchas objecciones que plantear a los esquemas masivamente

paralelos, y han de resolverse algunos problemas graves antes de que puedan ser

- 3 -

Page 8: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

efectivamente aceptados como un nuevo estilo de computación. Entre las cuestiones

más importantes se encuentran las siguientes:

- ¿La red llegará a estabilizarse o permanecerá en una oscilación

indefinida sin ningún objetivo?.

- Admitiendo que la red llegue a estabilizarse deteniendo su

funcionamiento en algún momento, ¿cuál es el significado de tal proceso?, ¿qué

calcula la red con ello?. Es necesario poder determinar qué es lo que la red debe

calcular y comprobar que efectivamente lo hace.

- ¿Cuánto tiempo necesita la red para detenerse en una solución?. En caso

de necesitar miles de iteraciones hasta alcanzar el equilibrio difícilmente puede

admitirse el sistema como un modelo de la forma en la que el cerebro humano

resuelve los problemas de satisfacción de restricciones, ya que éste lo hace

muchísimo más rápido.

- ¿Qué cantidad de información necesita cada unidad para poder

transmitirla a las unidades de su entorno?. En muchos de los esquemas de relajación

las unidades comunican a las demás valores muy afinados en cada una de las

iteraciones del proceso. Este comportamiento no se corresponde con el que se supone

que existe entre las neuronas del cerebro, por lo que es necesario buscar uno más

adecuado.

- ¿Cómo han de ser los pesos que codifican el conocimiento adquirido por

el sistema?. Algunas tareas de bajo nivel permiten que estos pesos sean ajustados por

el programador, pero en problemas de más alto nivel es necesaria la utilización de

algún procedimiento de aprendizaje que se encargue de ajustar los pesos

automáticamente.

-4-

Page 9: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Todas estas objecciones van resolviéndose poco a poco, encontrándose

arquitecturas paralelas y procedimientos de aprendizaje cada vez más interesantes y

efectivos.

Este trabajo presenta una visión general de las arquitecturas conexionistas

más interesantes estudiadas hasta el momento, especificando sus características

principales, así como sus ventajas y sus inconvenientes. Todas ellas poseen

características similares, pero sus prestaciones son muy diferentes para cada una de

las tareas que se les proponen. Se hace especial mención de una de estas

arquitecturas, la Máquina de Boltzmann, cuya estructura y algoritmo de aprendizaje

se estudian en detalle.

La Máquina de Boltzmann puede considerarse como un tipo particular de

red paralela que es capaz de aprender las restricciones que caracterizan a un dominio

concreto mediante presentación de ejemplos extraidos del mismo. La red modifica los

pesos de sus conexiones para construir un modelo interno que produzca ejemplos con

la misma distribución de probabilidad que los que le han sido mostrados. Una vez

terminado el proceso de aprendizaje, la red es capaz de interpretar correctamente

cualquier entrada que se le presenta, obteniendo la salida correspondiente. Cuando se

le presenta un ejemplo de entrada parcial, la red puede completarlo encontrando los

valores de las variables internas que han generado el ejemplo parcial, y utilizándolos

para generar el resto del ejemplo.

Asimismo, en este trabajo se presentan los fundamentos matemáticos que

justifican el funcionamiento del sistema, así como sus posibilidades de aprendizaje.

-5-

Page 10: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

2. ARQUITECTURAS PARALELAS. EL CONEXIONISMO

2.1. INTRODUCCIÓN

La tecnología desarrollada hasta ahora en el campo de la Inteligencia

Artificial es capaz de simular algunas de las funciones mentales de alto nivel que los

seres humanos realizan con bastante facilidad. Sin embargo, todavía un computador

no ha sido capaz de incorporar a su funcionamiento ciertos aspectos fundamentales de

lo que comúnmente se considera el "comportamiento inteligente". Entre estos

destacan especialmente el sentido común y casi todas las capacidades sensoriales

(visión y reconocimiento de lenguaje principalmente). El error parece encontrarse en

el planteamiento original, es decir, en el empeño de simular el comportamiento del

cerebro humano, una máquina de proceso paralelo, con los computadores de los que se

dispone en la actualidad, cuyo funcionamiento es eminentemente secuencial.

Algunos de los elementos que parecen faltar a la actual tecnología

utilizada en Inteligencia Artificial, y que el cerebro humano posee, son los siguientes:

- La memoria humana es capaz de almacenar una gran cantidad de

conocimiento de tipos muy diversos, y además también puede recuperarlos de forma

muy rápida y sin esfuerzo aparente. El fenómeno denominado sentido común, que

-6-

Page 11: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

poseen todos los seres humanos, parece estar estrechamente relacionado con la

disponibilidad de una gran cantidad de conocimiento, pero no aislado y disperso, sino

fuertemente ligado y relacionado. Los computadores son capaces de almacenar gran

cantidad de información, pero hasta el momento no se ha descubierto la forma en que

dicha información pueda convertirse en conocimiento que se incorpore a las

actividades de la máquina de una forma efectiva.

- Las habilidades en el campo del reconocimiento que exhiben los seres

humanos superan a las de los computadores en la mayoría de los dominios. En todas

las actividades relacionadas con el reconocimiento, ya sea visión, entendimiento del

lenguaje hablado o cualquier otro tipo de tarea de alto nivel, la operación clave es la

capacidad de localizar, entre muchos candidatos, el que mejor se ajusta al elemento

que debe ser identificado. Los humanos tenemos esa capacidad, e incluso podemos

utilizarla adecuadamente con datos de entrada distorsionados o fuertemente

contaminados con ruido. Los computadores, por el contrario, todavía no son capaces

de realizar localizaciones tan rápidas como las que cualquier persona puede hacer,

aparentemente de la forma más sencilla y natural.

- Tradicionalmente la Inteligencia Artificial ha centrado sus esfuerzos en

la búsqueda de una forma de razonamiento basada en el tratamiento simbólico de la

información, que es el que se creía fundamento básico de la inteligencia humana. Sin

embargo, si bien este tipo de razonamiento es utilizado en ocasiones por el hombre,

también es cierto que en muchos casos la información es tratada de una forma mucho

más sencilla, que todavía no ha podido ser realmente identificada.

Hasta ahora, la Inteligencia Artificial ha venido utilizando estrategias

cada vez más complejas para conseguir reducir la extensión del espacio de búsqueda

en problemas complejos, disminuyendo el tiempo de computación empleado. Existe,

sin embargo, una alternativa a este planteamiento, que consiste en resolver los

problemas con métodos menos complicados, de tipo cíclico, utilizando enormes

-7-

Page 12: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

cantidades (del orden de millones) de procesadores sumamente simples para conseguir

la resolución de tareas en un tiempo razonable. Este planteamiento está claramente

orientado a tratar de reproducir los esquemas cerebrales, incluyendo para ello la

utilización de estructuras parecidas a la organización del cerebro.

Algunos investigadores han comenzado a explorar la utilidad del uso de

arquitecturas masivamente paralelas para superar las limitaciones del proceso

simbólico convencional utilizado hasta ahora. Muchas de estas arquitecturas paralelas

se denominan "conexionistas", ya que el conocimiento permanente que posee el

sistema se encuentra almacenado en forma de patrones de conexión, normalmente

denominados fuerzas de conexión, entre los elementos de proceso. De esta forma, el

mismo conocimiento es el que determina de modo directo cómo deben interactuar

entre sí los elementos simples de proceso, en lugar de permanecer almacenado de

forma pasiva en una memoria esperando que la CPU acceda a consultarlo. Existen

diferentes sistemas que pueden ser denominados conexionistas, algunos utilizan

representaciones simbólicas y formales y otros, por el contrario, se basan en

aproximaciones más analógicas y simples.

El término "conexionismo" fue utilizado por primera vez por Jerry

Feldman, refiriéndose al estudio de un cierto tipo de arquitecturas masivamente

paralelas que empezaban a aparecer en las investigaciones dentro de la Inteligencia

Artificial. Los diferentes sistemas conexionistas tienen en común su estructura. Ésta

se compone de un gran número de elementos simples, denominados "unidades",

conectadas unas a otras de diferentes formas, componiendo un sistema en red con

topologías diversas. Cada una de las unidades almacena internamente muy poca

cantidad de información, normalmente unos pocos "bits de marca" o un valor

numérico o "nivel de activación". Esta información de los elementos simples es

utilizada como memoria de trabajo a corto plazo. El almacenamiento de información

a largo plazo se consigue alterando el patrón de interconexiones entre las unidades, o

-8-

Page 13: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

modificando una cantidad asociada con cada conexión, que se conoce como su "peso"

o "fuerza". La utilización de las conexiones para almacenar la información en lugar

de las convencionales celdas de memoria, es el motivo del nombre dado en general a

todas las arquitecturas de este tipo.

Las unidades de proceso en estos sistemas no se rigen por programas

individuales. Sólo pueden realizar un pequeño conjunto de acciones, como aceptar

señales de entrada, realizar determinadas operaciones booleanas o aritméticas

simples sobre los datos, o enviar señales a las unidades del sistema a las que estén

conectadas. Estas operaciones pueden ser totalmente autónomas, incorporándose

como parte del comportamiento interno de cada unidad; o pueden controlarse

mediante el uso de comandos por parte de un controlador externo que puede ser

incluso un computador convencional.

Una arquitectura de este tipo es capaz de tener en cuenta gran cantidad

de conocimiento de forma simultánea cuando ha de tomar una decisión, y puede

también valorar muchas opciones a la vez. Esta capacidad se debe al hecho de que las

conexiones pueden llevar varias señales simultáneamente, y las unidades elementales

pueden funcionar en paralelo integrando todos los datos de entrada que reciben de

otras unidades.

En algunos sistemas conexionistas el paralelismo se utiliza para realizar

cierto tipo de búsqueda "bruta" entre todas las unidades que componen la red,

considerando cada una de ellas como un componente elemental dentro de la base de

conocimiento. Otros sistemas hacen uso del paralelismo para permitir

representaciones más ricas y menos "convencionales". Este tipo de esquemas

representan cada elemento de conocimiento mediante un patrón de actividad sobre un

determinado número (siempre una cantidad grande) de unidades elementales. Este

mismo grupo de unidades puede representar un elemento diferente sólo modificando

el patrón de actividad (los valores de las unidades o los pesos de las conexiones). La

-9-

Page 14: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

existencia de muchas conexiones representando muchas porciones pequeñas de

conocimiento hace que éstas jueguen un importante papel en la determinación de las

mejores alternativas a la hora de tomar una decisión.

Sea cual sea la estrategia de representación del conocimiento que se

utilice dentro de la arquitectura conexionista, el interés de estas arquitecturas es

evidente. Este interés se basa en su capacidad para tener en cuenta a la vez gran

cantidad de conocimiento, cuestión bastante difícil de conseguir con las arquitecturas

secuenciales que se utilizan actualmente.

2.2. CLASIFICACIÓN DE LOS SISTEMAS CONEXIONIST AS

Una característica importante de los esquemas conexionistas es el tipo de

señal que se transmite entre los diferentes elementos de proceso. Fahlman propone

una clasificación de los sistemas en base a este concepto. La división contiene tres

clases:

- Sistemas que transmiten mensajes.

- Sistemas que transmiten marcadores.

- Sistemas que transmiten valores.

Los sistemas que transmiten mensajes son los más complejos y a la vez los

más potentes. A veces su excesiva complejidad hace que no se consideren verdaderos

sistemas conexionistas, ya que las unidades de proceso han de ser bastante complejas

y tener una capacidad de almacenamiento grande para poder conservar los mensajes

recibidos y no procesados. Estos sistemas transmiten mensajes simbólicos entre las

-10-

Page 15: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

unidades que los componen. Esta arquitectura no parece ser un modelo muy acertado

del comportamiento interno del cerebro, por lo que su estudio no ha suscitado mucho

interés.

Los sistemas que transmiten marcadores son los más simples y también los

más limitados. La comunicación entre las unidades de proceso se realiza en forma de

marcadores de un bit. Cada unidad tiene capacidad para almacenar unos cuantos

marcadores distintos (normalmente 16) y para realizar algún tipo de operación

booleana (típicamente la operación OR) sobre los bits de marca que recibe de otras

unidades. En un sistema de este tipo las unidades están conectadas mediante uniones

hardware que son las encargadas de transmitir los marcadores. Estas uniones actúan

de hecho como líneas dedicadas, por lo que puede existir un gran tráfico de

marcadores en paralelo.

En el tercer tipo de sistemas lo que se transmite entre las unidades son

valores continuos o cantidades numéricas. Las unidades en estos casos realizan

operaciones aritméticas sobre los valores que reciben de otras unidades de la red. Una

ventaja de estas arquitecturas es que nunca llegan a colapsarse, ya que si una unidad

recibe diferentes valores por varias conexiones, los combina aritméticamente

obteniendo un solo valor, que es el que la unidad adopta como realmente recibido.

Una diferencia importante entre el planteamiento conexionista y otro tipo

de arquitecturas paralelas desarrolladas en investigaciones al respecto, denominadas

"modestamente paralelas", es la capacidad que tienen los esquemas conexionistas de

asignar un elemento de proceso a cada pequeña subtarea extraída de la tarea original,

suponiendo siempre que existen suficientes unidades de proceso simples para poder

manejar el problema propuesto. En una arquitectura paralela convencional se utiliza

un número fijo de grandes y potentes procesadores, y se intenta fragmentar el

problema en un número de piezas igual al número de procesadores para que cada una

de ellas pueda ser ejecutada concurrentemente.

-1 1 -

Page 16: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

En un sistema secuencial el tiempo necesario para realizar tareas como

extraer un conjunto finito de elementos de la memoria o considerar un conjunto finito

de hipótesis, es directamente proporcional al tamaño del conjunto, es decir, crece

linealmente con el número de elementos del conjunto (elementos de memoria,

hipótesis consideradas, etc.). El planteamiento que se ha llamado modestamente

paralelo intenta conseguir un incremento de la velocidad de proceso con la utilización

de N procesadores funcionando en paralelo. El planteamiento conexionista se basa en

la realización de estas tareas en tiempo constante, pero sin embargo, en estos

sistemas es el hardware utilizado el que crece linealmente con el número de

elementos de memoria considerados o el número de hipótesis. Este hecho, que puede

parecer un enorme obstáculo para el desarrollo de estos sistemas, no se ve tan grave

si en lugar de considerar cada una de las unidades de proceso como una CPU

completa, se interpreta como una clase especial de celda de memoria capaz de

almacenar la información en sus conexiones, es decir, en el peso de sus conexiones

con otras unidades. De esta forma se ve bastante clara la necesidad de disponer de un

número suficiente de celdas de este tipo para poder representar el conocimiento que

se tiene sobre una tarea en particular.

Hasta el momento no hay muchos investigadores ocupados en este campo,

aunque poco a poco el interés va aumentando a medida que se obtienen resultados

prometedores. Pese a este escaso número de investigadores, son muchos los tipos

diferentes de arquitecturas conexionistas que se han estudiado y con las que se han

realizado experiencias muy interesantes.

-12-

Page 17: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

2.3. REPRESENTACIONES DISTRIBUIDAS

La forma más simple de representar el conocimiento en una red

masivamente paralela es utilizar "representaciones locales", en las que cada concepto

se representa por una parte específica de la estructura interna de la red. Por ejemplo,

si el sistema tiene que trabajar con el concepto "elefante", le bastaría con activar la

unidad que lo representa para poder hacer uso de él. Este tipo de representación es

muy sencilla de realizar y también es fácil de entender. El problema más grave de un

sistema que represente el conocimiento de esta forma es su falta de seguridad. Si por

cualquier causa la unidad que representa un concepto resulta estropeada o deja de

funcionar, el sistema pierde todo el conocimiento que ella contenía, y, por supuesto,

todas sus conexiones dejan de tener sentido. Este hecho es la causa de muchos

problemas, especialmente de fiabilidad, ya que obviamente en un sistema con

millones de unidades, no es sencillo conseguir que todas funcionen correctamente en

todo momento. Además, con este esquema de representación, la mayoría de las

unidades estarán inactivas la mayor parte del tiempo, a no ser que se esté utilizando

continuamente la parcela de conocimiento que representan.

Muchos de los neurólogos y estudiosos del cerebro humano están en contra

de esta teoría. Consideran que el cerebro no utiliza este esquema de representación

local, sino que mantiene el conocimiento distribuido a lo largo del conjunto de las

neuronas que lo componen. El mismo concepto de elefante anteriormente descrito se

representaría de forma distribuida como un determinado patrón de activación sobre

un número bastante grande de neuronas o unidades. A menudo se utiliza la analogía de

esta interpretación del conocimiento con los hologramas, en los que, como es sabido,

cada punto de la imagen se construye tomando información sobre el resto de los

- 1 3-

Page 18: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

puntos que la componen. La representación distribuida del conocimiento, al igual que

el holograma, posee una alta fiabilidad, de forma que si se destruye parte de la

información la imagen aparece ligeramente degradada, pero no se pierde totalmente.

Sobre una red paralela el efecto en cuanto a fiabilidad es el mismo, si se estropean

una o varias unidades (o su funcionamiento no es el correcto), el patrón representado

es imperfecto, pero puede ser utilizado porque esencialmente continúa siendo el

mismo. Cada uno de los comportamientos macroscópicos (globales) de la red se

consigue mediante la integración del funcionamiento de un gran número de unidades

microscópicas. Por ello, cualquier subconjunto pequeño de estas unidades

elementales, incluso elegido de forma aleatoria, puede desaparecer o funcionar

incorrectamente sin que se registre ningún cambio sustancial en el comportamiento

macroscópico del sistema. Esta propiedad, que hace que estas arquitecturas sean

inherentemente tolerantes a fallos, resulta muy interesante para la construcción de

redes de alto grado de paralelismo, es decir, compuestas por millones de unidades.

Este tipo de representación distribuida tiene también sus problemas. El

más importante de ellos es su falta de claridad. La dispersión del conocimiento hace

que la estructura sea difícil o incluso imposible de entender por una persona que no

haya intervenido en su construcción. Por el mismo motivo, resulta prácticamente

imposible que cualquier persona sea capaz de modificar el conocimiento contenido en

el sistema, incluso aquellas personas que lo conocen bien han de tener cuidado, ya que

la alta integración e interrelación de los conceptos puede resultar alterada

fácilmente, destruyendo el significado que se le quería dar al conjunto del sistema.

Añadir una pequeña cantidad de conocimiento a nivel macroscópico en el sistema

requiere modificar las interacciones entre un gran número de unidades microscópicas,

de forma que el efecto global represente el nuevo conocimiento adquirido. Este

proceso de modificación es, por su complejidad, prácticamente imposible de realizar

"a mano" incluso para un problema sencillo y una red simple con un número pequeño

de unidades. Por ello es evidente la necesidad de conseguir algún tipo de esquema de

-14-

Page 19: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

aprendizaje automático que evite el enorme trabajo que supone la modificación

manual de la estructura. La importancia del problema es tan grande que, de no existir

tal esquema automático, las representaciones distribuidas serían casi imposibles de

manejar y su estudio no merecería la pena, ya que su valor sería escaso.

2.4:. EL SISTEMA NETL

El sistema NETL es un ejemplo de arquitectura paralela que utiliza

representación local del conocimiento. Fue diseñado para permitir el almacenamiento

y posterior recuperación de un gran número de aserciones o hechos simbólicos.

Además se pretendía que el sistema pudiera realizar algunas búsquedas y deducciones

poco complejas sobre el conocimiento que había acumulado. Un sistema NETL puede

considerarse como una realización hardware de una red semántica. Una red semántica

es una estructura en forma de grafo en la que los nodos representan conceptos y los

arcos entre ellos representan las relaciones existentes entre los conceptos. Ambos,

nodos y arcos de la red, pueden estar etiquetados con identificativos de los conceptos

y relaciones que representan. La figura l(a) representa un ejemplo de red semántica

que contiene cierto conocimiento relativo a elefantes, y la figura l(b) el sistema

hardware que constituye la representación NETL de una parte de la misma red

semántica.

En un sistema NETL cada nodo de la red semántica se representa por una

unidad de proceso simple. Estas unidades tienen capacidad para almacenar algunos

marcadores de un bit y realizar operaciones booleanas sencillas sobre ellos. Los arcos

de la red semántica también se representan por unidades de proceso simples, que

están conectadas a dos o más unidades que representan nodos. Las unidades que

representan a los arcos también pueden realizar operaciones booleanas sencillas sobre

- 1 5-

Page 20: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Ser vivo

Necesita

Planta Oxígeno

Mamífero

Gris

Sam

Figura l(a). Parte de una red semántica sobre elefantes.

------•unidad-nodo "Elefante" 1---------1- ',

,.

\ 1

I / /

.,-' ------1 unidad-arco

"es un"

...________ unidad-nodo

1---------t - - -

"Sam" ,__ _____ ..,_

Bus compartido

Computador de

control

Red de conmutación

' ' '

/ .,"'

\ 1 I

I

Figura l(b). Hardware NETL correspondiente a "Sam es un elefante"

- 1 6-

Page 21: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

los marcadores, pero normalmente su actividad suele limitarse a pasar o transmitir

marcadores entre las unidades que representan nodos (unidades-nodo) a las que están

conectadas. Todas las unidades del sistema NETL (unidades que representan nodos y

unidades que representan arcos) pueden funcionar simultáneamente como respuesta a

comandos enviados por un sistema controlador externo, normalmente un computador

secuencial como los que estamos acostumbrados a utilizar.

Cada vez que se añade un hecho nuevo al sistema, éste debe ser

aumentado añadiéndole nuevas unidades-nodo y nuevas unidades-arco que representen

el nuevo hecho introducido. La capacidad que tienen las conexiones entre las

unidades-nodo y las unidades-arco de transportar señales de forma simultánea obligan

a representarlas en el sistema físico como verdaderas líneas dedicadas. Estas

conexiones no pueden representarse, por ejemplo, como direcciones transmitidas por

medio de un bus compartido, porque no sería posible la transmisión de varias señales

al mismo tiempo entre distintas conexiones. En los sistemas NETL físicos construidos

hasta el momento las conexiones no son verdaderas líneas dedicadas, es decir, no

existe un cable conectando cada par de unidades que lo necesitan porque resultaría

excesivamente caro. La solución adoptada es la utilización de un sistema interno de

conmutación que sea el encargado de conectar de forma directa las unidades cuando

sea necesario para la transmisión de comandos o marcadores. Este subterfugio hace

que el sistema físico carezca de la capacidad de paralelismo total que posee el

modelo teórico, pero sin embargo posibilita su realización práctica.

Una red NETL es capaz de realizar búsquedas e inferencias simples, pero

que van más allá de las acciones que puede realizar una memoria asociativa simple.

Un ejemplo de ello puede ser la operación "herencia" comúnmente utilizada en la

mayor parte de los sistemas de Inteligencia Artificial. El mecanismo de la herencia

permite que cualquier hecho conocido sobre un elemento de la red pueda ser aplicado

a todas las subclases e individuos que se encuentran por debajo de él en la jerarquía

- 1 7-

Page 22: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

de sus arcos de tipo "es un" (estos arcos son utilizados en las redes semánticas para

representar la pertenencia de un elemento a una clase determinada de individuos). La

herencia puede extenderse y aplicarse a cualquier nivel de la red, por lo que su

utilización requiere un mecanismo que permita explorar de forma rápida y eficiente

cualquier parte de la red.

En una red NETL la herencia se consigue mediante la propagación de

marcadores entre las unidades de proceso simples. Por ejemplo, si se desea encontrar

el valor de una determinada característica de una unidad, el controlador se encargará

de asignar el valor 1 al marcador de esa unidad, ordenando a continuación que

cualquier unidad que represente un arco del tipo "es un" y tenga un nodo situado

debajo de él en la jerarquía con el marcador a 1, pase este valor al nodo que está

conectado con él por el otro lado (el situado por encima del anterior en la jerarquía).

Cuando la red haya terminado el proceso de transmisión de marcadores y quede

estabilizada, todas aquellas unidades que la componen que tengan el marcador con

valor 1 son aquellas de las que la unidad original puede heredar alguna propiedad. En

este momento el controlador debe ordenar a todas las unidades que representan la

conexión con la característica que se busca, que aumenten el marcador de sus

conexiones en una unidad, con lo que todas las unidades de la red NETL cuyo valor del

marcador sea igual a 2 son las que representan la característica buscada. En este

proceso pueden obtenerse bastantes unidades que verifiquen las condiciones en el caso

más general, o puede obtenerse una única unidad como solución o incluso ninguna. El

procedimiento seguido para obtener este valor constituye una secuencia de inferencia

de carácter completamente general. Es decir, se puede obtener cualquier información

presente en la red sin más que seguir el procedimiento descrito con asignaciones

concretas de los identificadores de las unidades-nodo y las unidades-arco.

La capacidad de los sistemas NETL para realizar en paralelo y de forma

muy eficiente intersección de conjuntos, los hace muy adecuados para ciertas tareas

- 1 8-

Page 23: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

de reconocimiento altamente específicas (aunque no excesivamente frecuentes en

problemas reales). Supóngase que se desea obtener toda la información que posee la

red sobre un elemento del que se conocen tres características determinadas. Esto es,

se buscan aquellos elementos de la red que poseen la intersección de las

características especificadas. Mediante propagación de marcadores se pueden

identificar todos los elementos con la primera característica y de igual forma otros

dos marcadores diferentes pueden identificar los elementos que poseen las

características segunda y tercera. Una vez realizada esta tarea de "marcado", el

controlador sólo ha de enviar a la red el comando adecuado para que se identifiquen

todas aquellas unidades de la red que posean los tres marcadores. De esta forma tan

simple y rápida pueden obtenerse todos los miembros de una intersección de

características. Una propiedad muy interesante de este proceso es que el tiempo

empleado en la realización de la tarea es siempre constante y resulta independiente

del número de elementos de los conjuntos de los que se desea obtener la intersección.

Esta forma de intersección puede interpretarse como una clase especial de

reconocimiento.

Si se considera el proceso anteriormente descrito como reconocimiento,

puede observarse que resulta muy sólido en algunos aspectos, pero a la vez se muestra

bastante débil en otros. En el lado positivo hay que tener en cuenta que la red NETL

puede examinar a la vez todas las descripciones que conoce, sin necesidad de utilizar

ningún tipo de criterio heurístico que pudiera desechar de antemano la respuesta

correcta. También cabe destacar en el lado positivo que la red no necesita conocer

como entrada todas las características que identifican al o a los elementos buscados,

es suficiente con un subconjunto de estos datos, con tal que se realice la

identificación concreta. Pero incluso si no se conocen las características suficientes,

la red es capaz de obtener un conjunto de posibilidades tan reducido como le sea

posible, simplificando en ocasiones tareas de identificación de características. Esta

propiedad resulta de gran ayuda en determinados tipos de problemas. En el lado

- 1 9-

Page 24: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

positivo hay que incluir además la propiedad de poder incorporar de forma inmediata

cualquier conocimiento nuevo como parte efectiva del proceso de reconocimiento que

se describió anteriormente. Por último, hay que añadir la gran sencillez de este tipo

de representación, perfectamentre inteligible para cualquier persona mínimamente

introducida en el uso de sistemas de estas características.

Como partes débiles de los sistemas NETL hay que señalar el tratamiento

atómico que confiere a cada dato, representándolo por una sola unidad sea cual sea la

complejidad inherente que éste tenga. Además sólo puede notar la existencia o

ausencia de cada dato individual, siendo incapaz de reflejar ningún tipo de situación

intermedia. En este aspecto, las redes NETL se comportan de forma similar a los

sistemas simbólicos tradicionalmente utilizados en Inteligencia Artificial, obteniendo

buenos resultados en dominios "limpios" en los que no se registre ninguna distorsión o

alteración de los datos. Por ejemplo, no son sistemas adecuados para la resolución de

problemas de percepción en los que se necesitan datos obtenidos de sensores que

captan señales de bajo nivel, a menudo muy contaminadas por el ruido.

La arquitectura de un sistema NETL ha sido hasta el momento solamente

simulada, nunca realizada físicamente. Sin embargo, no es una arquitectura

conexionista excesivamente compleja. Sus unidades, tanto las que representan nodos

como las que representan arcos, son tan simples que no resultaría muy difícil integrar

varios miles de ellas en un solo chip. La causa principal que dificulta su realización

práctica es la estructura de conmutación de conexiones anteriormente descrita. El

diseño y posterior construcción de un sistema de conmutación adecuado a esta

arquitectura parece demasiado complejo para intentar acometerlo con el estado

actual de la tecnología. No hay que olvidar, sin embrago, que un estudio realizado por

Fahlman demostró que la construcción de una máquina con estructura NETL costaría

sólo unas cuantas veces lo que cuesta la construcción de una memoria convencional

con capacidad para almacenar la misma cantidad de información. De cualquier forma,

-20-

Page 25: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

el problema parece ser solamente económico, por lo que cabe esperar que pueda ser

superado en un margen de tiempo pequeño.

Los sistemas NETL son casi los más utilizados en sistemas reales, aunque

sólo son simulaciones la mayor parte de ellos. La "Máquina Conexionista", construida

por Thinking Machines, por ejemplo, fue diseñada en parte como realización de una

base de conocimiento al modo NETL, aunque el diseño hardware es todavía lo

suficientemente general como para permitir la realización de muy diversos tipos de

tareas. La versión actual de esta máquina está compuesta por 64000 unidades de

proceso elementales, lo que le confiere suficiente capacidad para manejar una

considerable cantidad de conocimiento. El proyecto de realización de una máquina

conexionista con un millón de unidades de proceso resulta una perspectiva excitante,

ya que con tal número de unidades sería posible manejar la cantidad de conocimiento

suficiente para poder dotar al sistema de un cierto grado de sentido común. En este

sentido cabe señalar que en el proyecto Esprit 11 sobre modelos conexionistas de la

Comunidad Europea se pretende construir una máquina conexionista compuesta por un

millón de elementos de proceso.

2.5. REDES DE TRANSMISIÓN DE VALORES

La arquitectura de las redes NETL no era la adecuada para el

planteamiento de algunos problemas de reconocimiento verdaderamente complejos

que se presentan frecuentemente en el mundo real. La mayor parte de estos

problemas, ya sean visión, entendimiento del lenguaje hablado o diagnóstico médico,

se enfrentan con datos a menudo poco precisos, inciertos y fuertemente

distorsionados por ruido, además de no ser posible un ajuste perfecto entre la

estructura real y la obtenida como solución. Es también frecuente encontrar en la

-2 1 -

Page 26: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

realidad problemas en los que algunos de los datos apoyan de forma evidente una

determinada hipótesis, mientras que otros datos sólo sugieren una posibilidad. En

otros problemas, por el contrario, existen datos cuya presencia es imprescindible y

otros cuya aparición es importante sólo en un cierto grado. Los problemas reales

presentan tal variedad y complejidad, que no pueden ser adecuadamente resueltos por

un sistema que presenta las restricciones de las redes NETL.

Otro tipo de arquitectura conexionista, los denominados sistemas de

transmisión de valores, parecen adaptarse mejor a las exigencias que imponen los

problemas extraidos de la realidad. Como ya ha sido comentado, en estos sistemas las

conexiones entre unidades poseen un valor numérico que se denomina "peso" de la

conexión. Cada unidad de proceso del sistema calcula la suma de los pesos que recibe

y somete el valor obtenido a la acción de una función no lineal cuyo resultado se

convierte en el valor que la unidad pasará o transmitirá a otras unidades conectadas

con ella. Este tipo de arquitectura puede realizarse sobre hardware analógico o

digital, pero a efectos de cálculo, puede considerarse como un tipo de computador

analógico.

Mediante la utilización de unidades como las descritas puede construirse

un sistema de reconocimiento estructurado en niveles y capaz de manejar

observaciones no totalmente ciertas, variando su grado de evidencia. En este sistema

pueden distinguirse dos tipos de unidades: unidades de entrada y unidades de salida.

Cada unidad de entrada representa un dato observable, y su valor puede interpretarse

de diversas formas: puede ser la probabilidad de que el dato representado esté

presente, la magnitud de una determinada cantidad continua, o la probabilidad de que

una cantidad se encuentre dentro de un intervalo fijado. La interpretación del valor

de las unidades depende de cada problema particular. Las unidades de salida

representan las hipótesis que se desea evaluar con el sistema.

-22 -

Page 27: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

La red más simple de este tipo contendría sólo unidades de entrada

conectadas directamente a las unidades de salida mediante un conjunto de conexiones

cuyos pesos son susceptibles de modificación. Con esta configuración no es necesario

asignar los pesos de las conexiones "a mano", esta estructura es muy semejante a una

propuesta por Rosenblatt a la que se denominó Perceptron. Como ya se demostró,

existe un algoritmo aplicable a esta red y tal que, dado un conjunto de vectores de

entrada con sus correspondientes vectores de salida, calcula de forma iterativa el

conjunto de pesos de las conexiones que hace posible que la red ajuste adecuadamente

la entrada y la salida. El algoritmo del Perceptron es siempre capaz de encontrar

dicho conjunto de pesos, si es que existe. El problema principal es que, para la

mayoría de las tareas que resultan de interés no existe un conjunto de pesos adecuado

en una red de dos niveles como la descrita.

En la mayoría de los casos el problema que se desea abordar no admite el

tratamiento que una red de dos niveles aplica a los datos de más bajo nivel,

considerando cada uno de ellos como una fuente de evidencia completamente

independiente del resto. Es necesario, para poder resolver estos problemas incorporar

a la red uno o más niveles intermedios de unidades, que suelen denominarse unidades

no visibles o escondidas. Estas unidades no visibles son las que realizan la

combinación de las observaciones primarias (los vectores de entrada) en datos de un

orden superior de correlación que contribuyan de forma más eficiente a la

determinación de los vectores de salida correctos. Una simple muestra de la

necesidad de este tipo de unidades es la resolución de un problema tan sencillo como

el reconocimiento de vectores desplazados un bit, ya sea hacia la derecha o hacia la

izquierda. Este problema no puede ser resuelto por una red de dos niveles porque cada

bit de entrada, considerado independientemente de los demás no proporciona ninguna

información útil para la determinación del desplazamiento. La información relevante

para la resolución del problema está contenida en el comportamiento conjunto de las

-23-

Page 28: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

combinaciones de todos los bits de entrada. Para poder manejar convenientemente

esta información hay que utilizar uno o más niveles de unidades escondidas, que

puedan extraer las combinaciones de información que conducirán al sistema a la

obtención de la salida adecuada.

Una vez justificada la necesidad de la existencia de las unidades

escondidas, se presenta el problema de averiguar cuál de las muchas combinaciones

posibles de estas unidades (de orden exponencial) es la más adecuada para poder

predecir correctamente las salidas. El algoritmo de aprendizaje del Perceptron no es

aplicable a este tipo de redes, por lo que se han ideado otro tipo de procedimientos y

técnicas que sí pueden aplicarse a redes con más de dos niveles.

Minsky y Papert [Minsky, 1969] realizaron diferentes estudios en esta

línea, tratando de descubrir un método para conseguir averiguar cuáles eran las

tareas que necesitaban el uso de unidades escondidas para su realización y cuáles no.

Sus trabajos les llevaron a demostrar que un buen criterio de clasificación de tareas

consiste en tomar como medida el número de unidades de entrada que deben

conectarse a cada una de las unidades escondidas. Esta medida, según fue demostrado

por ellos, determina el orden de los resultados estadísticos que pueden ser extraidos

del sistema. Sin embargo, sus descubrimientos se detuvieron aquí, sin haber

encontrado un procedimiento para que la red aprendiera la configuración adecuada de

los pesos de las unidades, e incluso sugiriendo la posible inexistencia de un

procedimiento general y simple capaz de realizarlo.

Las redes paralelas y sus derivaciones fueron ampliamente criticadas en

los años que siguieron a las publicaciones de Minsky y Papert. Principalmente se

argumentaba la escasa efectividad de las redes para las que sí existía algoritmo de

aprendizaje, lo que limitaba mucho el alcance de las arquitecturas neuronales. Sin

embargo, actualmente, con los avances alcanzados en el entendimiento de la

naturaleza del paralelismo y la sustancial mejora de los computadores utilizados

-24-

Page 29: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

como herramientas de trabajo, se ha despertado de nuevo el interés por este tipo de

arquitecturas, principalmente por su especial aplicación a tareas de percepción.

2.6. APRENDIZAJE DE REPRESENTACIONES

Las redes con estructura en tres niveles estudiadas por Minsky y Papert no

tienen libertad para elegir las representaciones internas porque los pesos entre las

conexiones de las unidades de entrada y las unidades escondidas del nivel intermedio

están predeterminados y el sistema no puede aprender. Si se permite que estos pesos

"aprendan", la red podrá determinar por sí misma lo que deben representar las

unidades escondidas. Si se extiende este esquema puede conseguirse un tipo de

aprendizaje muy interesante y bastante potente. La parte negativa de este sistema de

aprendizaje sería la dificultad para encontrar un procedimiento que sea capaz de

encontrar por sí mismo las representaciones internas adecuadas. Por otra parte, el

espacio de representaciones posibles es tan grande (depende exponencialmente del

número de unidades), que el procedimiento ha de ser necesariamente muy lento,

incluso si sólo explorase aleatoriamente el espacio de representaciones.

Sin embargo, diferentes invest igadores han propuesto varios

procedimientos que se presentan brevemente a continuación, de los cuales los más

interesantes son:

- Retropropagación del gradiente (Back-propagation)

-25-

Page 30: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

2.6.1. RETROPROPAGACIÓN DEL GRADIENTE

Este procedimiento fue descubierto de forma independiente por tres

investigadores, David Rumelhart, David Parker y Yann Le Cun. El procedimiento

realiza dos pasadas para cada vector de entrada presentado a la red. El paso hacia

adelante consiste en presentar el vector correspondiente en las unidades de entrada,

dejando que la actividad discurra desde las unidades de entrada a través de los

diferentes niveles de la red hasta producir un vector de salida. En el paso hacia atrás

se propaga hacia atrás el valor de la derivada del error (se considera como error la

diferencia entre el vector de salida obtenido y el vector de salida que se debía haber

obtenido realmente). Este procedimiento permite que la red calcule, para cada uno de

sus pesos, el gradiente del error respecto a dicho peso, y modifique los valores en la

dirección adecuada para producir una disminución del valor del error. De esta forma

el aprendizaje funciona mediante la realización del gradiente descendente a lo largo

de la superficie del error sobre el espacio de pesos configurado por la red.

El procedimiento de Retropropagación del gradiente ha mostrado ser

capaz de aprender un gran número de representaciones interesantes en las unidades

no visibles. Ha sido utilizado con éxito para problemas como el paso de información a

través de canales con ancho de banda muy pequeño o la obtención de filtros óptimos

para discriminar entre señales muy similares contaminadas por ruido.

Los autores Sejnowski y Rosenberg [Sejnowski, 1986] realizaron un trabajo

muy interesante en el que se mostró cómo se podía realizar el proceso de

entrenamiento de una red que trabaja con Retropropagación del gradiente para

transformar adecuadamente los vectores de su entrada, que representan una

-26-

Page 31: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

secuencia de letras, en vectores de salida representando su esquema fonético. Los

vectores de salida pueden utilizarse para alimentar un dispositivo de síntesis de voz,

obteniendo la secuencia hablada correspondiente al texto presentado en la entrada.

Los ejemplos utilizados en las pruebas de este sistema demostraron que la red era

capaz de extraer tanto las regularidades presentadas en los patrones de entrada,

como determinadas excepciones específicas que se encuentran en la pronunciación de

algunas palabras inglesas.

La Retropropagación del gradiente puede utilizarse también para obtener

las restricciones semánticas presentes en un conjunto de hechos. Este aspecto ha sido

estudiado por Geoffrey Hinton. Él trabajó con una red compuesta por cinco niveles de

unidades, a la que entrenó en el reconocimiento de 100 triadas relativos al

conocimiento sobre los miembros de dos familias de diferentes nacionalidades. Las

triadas eran del tipo (Victoria tiene-padre Christopher) o (Christopher tiene-esposa

Penélope), etc. Los vectores de entrada presentados al sistema representaban los dos

primeros términos de la triada, y los de salida el tercero de ellos. En las primeras

fases del entrenamiento los vectores de entrada no tenían excesivo sentido para la

red, puede decirse que los consideraba como símbolos arbitrarios. Sin embargo, tras

un cierto tiempo de entrenamiento, las triadas comenzaban a tener sentido para el

sistema, e incluso era capaz de generalizar el conocimiento adquirido para tratar

adecuadamente triadas en las que no había sido entrenado. Hinton observó también

mediante recopilación del conjunto de triadas que activaban cada una de las unidades

escondidas que éstas habían aprendido a representar ciertas propiedades que no se

habían utilizado en ningún patrón de entrada o salida, como "italiano" o "viejo".

El proceso de aprendizaje mediante Retropropagación del gradiente puede

verse, considerado localmente, como un simple proceso de ajuste de los pesos de las

conexiones. Pero, atendiendo al comportamiento global de la red, puede decirse que

ésta realiza aprendizaje estructural, creando términos nuevos para poder representar

-27-

Page 32: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

regularidades en el dominio del problema. Este ejemplo puede servir también para

ilustrar el tipo de representación distribuida que se utiliza en el sistema, ya que la

representación interna de la red sobre cada una de las personas reflejadas en los

vectores se plasma como un diferente patrón de activación de las unidades

escondidas.

El método de Retropropagación del gradiente presenta muchas similitudes

con el algoritmo de Baum-Welch, diseñado para realizar ajuste de parámetros en

autómatas de estado finito con funcionamiento estocástico. Estos autómatas se

utilizan ampliamente como modelos generativos en sistemas de reconocimiento del

lenguaje hablado. La semejanza de los dos procedimientos ha causado una gran

extensión del uso de redes conexionistas con procedimiento de aprendizaje de

Propagación Hacia Atrás para este tipo de problemas de reconocimiento. Las

posibilidades de las redes conexionistas han suscitado gran interés, ya que pueden

resolver muchas de las limitaciones que presentaban los autómatas de estado finito.

El problema más grave lo constituía el gran número de nodos que se necesitan para

poder representar en un autómata la información sobre los diferentes sonidos (2n,

siendo n el número de bits necesarios para codificar la información). Los sistemas

conexionistas resuelven perfectamente este problema, ya que permiten la activación

de varias unidades a la vez.

2.6.2. PROC:RDIMIENTO AR-P

El procedimiento de aprendizaje AR-P fue descrito por Andy Barto

[Barto,1985]. Con él mostró la forma en la que redes compuestas por unidades

sencillas con funcionamiento estocástico son capaces de aprender a cooperar con

objeto de maximizar una señal crítica que depende del vector de salida y es, a su vez,

-28-

Page 33: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

recibida por cada una de las unidades que componen la red. El método resulta mucho

más lento que el de propagación hacia atrás, principalmente por no utilizar

directamente el cálculo del gradiente para la modificación de los pesos. En lugar de

realizar este cálculo, trata de descubrir cuál es el efecto de la modificación de cada

peso de la red mediante experimentación con diferentes valores obtenidos variando el

peso original aleatoriamente. Sin embargo tiene la ventaja de no necesitar dos

pasadas diferentes para realizar el aprendizaje, por lo que parece acercarse más al

comportamiento real del cerebro humano.

2.7. SATISFACCIÓN DE RESTRICCIONES EN REDES PARALELAS

La consideración asumida hasta el momento de que la interpretación

perceptual (lo que se denomina en general reconocimiento) consiste en la

transformación de un cierto vector de entrada a través de sucesivos niveles de

unidades hasta obtener su adecuada clasificación es bastante restrictiva si se

consideran las tareas que se presentan con ejemplos reales. La mayoría de los

problemas de reconocimiento requieren la asimilación simultánea de varios niveles de

datos, y un resultado estructurado, en lugar de la obtención de una única categoría de

clasificación.

Para estas tareas es necesaria un red de tipo conexionista, pero que sea

capaz de almacenar la maraña de restricciones existentes en sus diferentes niveles,

tomándolas como condiciones límite del entorno y evolucionando hasta encontrar la

mejor solución que las cumpla. Se puede permitir que el sistema no cumpla la

totalidad de las restricciones para que pueda explorar todas las posibilidades

encontrando la verdadera solución óptima. Una buena forma de garantizar que la red,

una vez puesta en funcionamiento, llegará a un estado de reposo, consiste en

-29-

Page 34: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

demostrar que existe una determinada función de costo cuyo valor disminuye con

cada modificación de los pesos de las conexiones. Hummel y Zucker [Hummel, 1983]

demostraron la existencia de tal función para el caso de redes que transmiten valores

y cuyas conexiones son simétricas, es decir, el peso es el mismo sea cual sea la

dirección considerada. Aproximadamente al mismo tiempo, Hopfield [Hopfield, 1982]

descubrió una función de coste, que denominó energía, aplicable a redes con unidades

binarias con un valor umbral y conexiones simétricas. Este planteamiento es el

utilizado en el sistema conexionista denominado Máquina de Boltzmann, que es el

objeto principal de este trabajo y será presentada ampliamente en sucesivos

capítulos.

2.8. APLICACIONES DE LOS SISTEMAS CONEXIONISTAS

Las redes conexionistas han sido aplicadas a muchos tipos de problemas

diferentes, que van desde el área del cálculo numérico hasta las más complejas tareas

de reconocimiento de formas. En este último campo han sido utilizadas especialmente

en labores de visión computacional, campo para el que parecen especialmente

adecuadas.

Hopfield, por ejemplo, demostró el poder computacional de la red que él

mismo diseñó utilizándola para resolver el conocido "Problema del Viajante". Algunos

autores han utilizado las redes paralelas de este tipo para resolver problemas

puramente simbólicos como el aprendizaje de relaciones, mientras que otros han

resuelto problemas tan complejos como el "Problema de Hitchcock" o tan comunes

como la resolución de sistemas de ecuaciones.

-30-

Page 35: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

En definitiva, las arquitecturas conexionistas han demostrado su eficacia

en dominios muy diferentes, en los que son necesarias diferentes características. Este

hecho ha provocado la enorme popularidad que han adquirido estos sistemas en los

últimos años.

-3 1 -

Page 36: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

3. LA MÁQUINA DH BOLTZMANN

3.1. INTRODUCCIÓN

La investigación sobre las redes basadas en componentes neuronales fue

abandonada por sus escasos resultados a finales de los años sesenta. La publicación

del libro de Minsky y Papert [Minsky, 1969] sobre el Perceptron fue la última

registrada sobre este tema. Sin embargo, no se han abandonado los estudios de la

estructura del cerebro humano, con los que se intenta descubrir cuál es el mecanismo

que hace de él un perfecto reconocedor de patrones.

Siguiendo las ideas primitivas de las redes neuronales, y teniendo en

cuenta los avances realizados tanto en el campo de la neurofisiología como en el de la

microelectrónica, se ha "resucitado" de nuevo la investigación sobre redes de estas

características. En la universidad estadounidense Carnegie-Mellon, un equipo de

investigadores, con Geoffrey Hinton a la cabeza, ha desarrollado un sistema basado

en los principios de las redes conexionistas, pero cuya eficiencia supera grandemente

la de otros sistemas del mismo tipo presentados hasta el momento. Ellos han llamado

a su sistema Máquina de Boltzmann, en honor de Ludwing Boltzmann, fundador de la

-32-

Page 37: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

mecánica estadística. Más tarde podrá comprobarse que el nombre elegido se debe a

la fundamentación probabilística del funcionamiento del sistema.

La Máquina de Boltzmann trata de modelizar el funcionamiento del

cerebro humano, si bien es necesario tener en cuenta que algunas de sus

características difieren sustancialmente de la estructura real del mismo. Sin

embargo, el comportamiento global puede considerarse bastante semejante, ya que se

trata de una red neuronal capaz de realizar aprendizaje tras una fase de

entrenamiento.

Los autores definen el sistema como "una organización computacional

paralela, adecuada para la realización de tareas en las que es necesaria la

satisfacción de restricciones, interviniendo un gran núm ero de restricciones

denominadas "débiles'' (cuya satisfacción contribuye al éxito en la realización de la

tarea, y cuyo fallo no es excesivamente importante)".

3.2. ESTRUCTURA Y COMPORTAMIENTO DE LA MÁQUINA

DE BOLTZMANN

La Máquina de Boltzmann se compone de elementos de computación

primitivos denominados "unidades". Éstas se encuentran conectadas entre sí sin reglas

específicas mediante "uniones" bidireccionales. Todas las unidades de una red son

exactamente iguales, y el funcionamiento también es idéntico para todas ellas. Las

unidades se comportan como elementos binarios en cuanto a su estado. Es decir, en

cada instante, una unidad puede encontrarse en uno de sus dos posibles estados,

"activa" (on) o "inactiva" (off). El estado de una unidad cualquiera dentro de la red se

-33-

Page 38: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

determina en función de los estados de las otras unidades conectadas a ella y del

"peso" de las respectivas uniones.

Cada unión tiene asociado un valor numérico, que es llamado su "peso".

Este valor es el mismo en las dos direcciones de la conexión, es decir, las uniones

entre las unidades de la red son simétricas (esta restricción, no cumplida por las

conexiones neuronales del cerebro humano, es bastante fuerte). Los pesos de las

uniones pueden tomar valores numéricos de cualquier signo.

Figura 2. Representación de una posible topología de una Máquina de

Boltzmann.

Según esta descripción, la Máquina de Boltzmann puede clasificarse como

un sistema conexionista que transmite valores, ya que las conexiones entre las

uniones no transmiten ni marcadores que puedan ser almacenados en las unidades, ni,

por supuesto ningún tipo de mensajes, ya sean simples o complejos. Las unidades que

componen una Máquina de Boltzmann sólo son capaces de realizar la suma aritmética

-34-

Page 39: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

de los valores que reciben de otras unidades por medio de las conexiones, por lo que

se pueden considerar unidades de proceso muy simples.

Una red cuya topología se ajusta a la descrita para la Máquina de

Boltzmann puede ser la que muestra la figura 2. Como puede apreciarse en la figura,

no existe ningún t ipo de restricción en cuanto al número o configuración de las

uniones entre las distintas unidades.

El cálculo del estado de una unidad dentro de la red se realiza mediante el

procedimiento que se expone a continuación. Se considera que cada unidad posee un

valor umbral para pasar del estado inactivo al estado activo. Es decir, la unidad

estará en estado activo si la suma de los pesos de sus uniones con otras unidades

activas supera el valor umbral. En caso de que la suma no supere dicho valor, la

unidad se encontrará inactiva. Sin embargo, el comportamiento no es tan simple, ya

que los resultados obtenidos de esta forma no eran excesivamente satisfactorios. En

realidad, las unidades se comportan de forma probabilística. Este comportamiento

produce el mismo efecto que produciría un umbral no fijo, sino oscilante. La

oscilación del umbral vendría dada por el valor de la suma de los pesos; cuanto mayor

es el valor, mayor es la probabilidad de que la unidad pase al estado activo, que es lo

mismo que decir que ha disminuido el valor del umbral. De esta forma no puede

asegurarse que la misma entrada (los mismos pesos y las mismas unidades vecinas

activas) produzca la misma respuesta de forma determinista. Aunque no se conoce

con certeza el comportamiento de las neuronas del cerebro humano, sí parece estar

comprobado que no es determinista, por lo que cualquier mecanismo que pretenda

reproducir los patrones de funcionamiento del cerebro ha de tratar de evitar el

determinismo en la medida de lo posible.

Para modelizar el mundo real con este sistema, el significado que toma

cada uno de sus componentes es el siguiente:

-35-

Page 40: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

- Una unidad en estado activo o inactivo significa que el sistema

acepta o rechaza, respectivamente, una hipótesis elemental (representada

por la unidad) sobre el conjunto del sistema.

- El peso de la unión entre dos unidades representa una restricción

débil entre dos hipótesis. Si el valor del peso es positivo significa que las

dos hipótesis representadas por las unidades conectadas "tienden a

soportar" o a reforzar alguna otra hipótesis. Es decir, que si las dos

hipótesis son aceptadas (las dos unidades están activas), la probabilidad de

que la tercera sea aceptada aumenta. Por el contrario, si el valor del peso

es negativo, significa que las dos hipótesis no deben ser aceptadas

simultáneamente.

Normalmente en el tratamiento de este tipo de redes se utiliza la

convención de considerar los estados de las unidades como cifras binarias. Es decir, el

estado activo se representa con el valor 1, y el estado inactivo con el valor O. De esta

forma, las combinaciones de los estados de las unidades de la red pueden codificarse

como números binarios o incluso como vectores del mismo tipo, permitiendo un

manejo más sencillo de las configuraciones globales de la red en cada instante.

En cuanto al tratamiento de la red como entidad global, algunos autores la

consideran incluida en el grupo de mecanismos de "caja negra" [Forsyth, 1986]. Estos

mecanismos presentan una pequeña parte visible, pero su estructura interna

permanece oculta, de forma que sólo es posible apreciar su comportamiento en

cuanto a los resultados obtenidos, pero no muestra cómo llega a obtenerlos. La

Máquina de Boltzmann se ajusta a esta estructura considerando parte de sus unidades

como unidades de entrada, otras como unidades de salida, y manteniendo el resto

como unidades escondidas, pertenecientes a la "caja negra". Todas esta unidades, sin

embargo, son del mismo tipo y se comportan de la misma forma. Con este

-36-

Page 41: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

planteamiento la máquina se parece más a un mecanismo con el que se puede trabajar

y realizar modelizaciones mediante asignación explícita de los valores adecuados a

las unidades de entrada y salida.

La estructura de la Máquina de Boltzmann está muy relacionada con un

sistema descrito en el año 1982 por J.J. Hopfield [Hopfield, 1 982]. En este sistema

Hopfield asignaba a cada estado global de la red un valor numérico único, al que

denominó su "energía". La semejanza entre el sistema descrito por Hopfield y la red

ideada por Hinton, permite también asignar a los estados globales de la Máquina de

Boltzmann un valor de energía. Este valor depende de los estados de las unidades y de

los pesos de las uniones de acuerdo con la siguiente fórmula:

E = - "'""' w . . s . s . + "'""' 8 . s L_. IJ I J L_. ¡ ¡ i i

siendo:

Wij : peso de la unión entre las unidades i y j.

s¡ : valor binario correspondiente al estado de la unidad i; 1 si es

activa, O si es inactiva.

0¡ : umbral de la unidad i.

El significado de este valor global de una configuración de la red dada es

la medida en la que esa asignación de hipótesis (representadas por las unidades) no

cumple las restricciones implícitas en el dominio del problema (las restricciones están

representadas por la topología de la red y los pesos de las uniones que se hayan

establecido).

- 37-

Page 42: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Así pues, el funcionamiento de la red ante una determinada asignación de

valores a las unidades consideradas de entrada, ha de ir encaminado a modificar su

estructura interna (estados de las unidades y pesos de las conexiones), de forma que la

energía global de la red se minimice. Para ello, cada unidad elemental debe ser capaz

de comportarse de forma que contribuya a la minimización de la energía global de la

red.

Hopfield demostró en su trabajo que si se cumplen determinadas

condiciones, el sistema siempre evoluciona hasta alcanzar una situación de reposo en

la que el valor de la energía de la red es mínimo. Este mínimo no tiene por qué ser

necesariamente el mínimo global de la red, de hecho en la mayoría de los casos es

simplemente un mínimo local. Hopfield propuso un sencillo procedimiento para

encontrar una combinación de valores que constituyan un mínimo local del valor de la

energía. El procedimiento consiste en asignar a cada hipótesis (cada unidad), de sus

dos estados posibles, aquél que produzca el menor valor de la energía global, dado el

valor del resto de las hipótesis (el resto de las unidades de la red) en ese momento. Si

este proceso de decisión de estado es realizado por las unidades de la red de forma

asíncrona y se considera despreciable el tiempo de transmisión de los estados a través

de las conexiones, se alcanza un mínimo local de energía con toda seguridad.

Dado que las conexiones entre las unidades son simétricas, puede decirse

que la diferencia de energía global del sistema aceptando la hipótesis k (unidad k

activa) y rechazándola (unidad k inactiva), viene determinada de forma local por la

unidad k, independientemente del resto de las unidades de la red. El valor de esta

diferencia, denominado "hueco de energía" de la unidad k, se expresa mediante la

siguiente relación:

/::. Ek = 2 wki 8i - 8k i

-38-

Page 43: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

donde los símbolos tienen el mismo significado que en la fórmula de la

energía escrita anteriormente.

Así pues, del estudio de esta expresión puede concluirse la sencilla regla

de funcionamiento para las unidades que ya se había presentado. Además queda

también demostrado que el uso de esta regla consigue minimizar la energía global de

la red. La regla de decisión es, pues, la siguiente: para minimizar la contribución de

una unidad a la energía global, ésta debe adoptar el estado activo si la entrada que

recibe del resto de las unidades (suma de los pesos de sus uniones con otras unidades

activas) supera el valor de su umbral; de lo contrario, debe adoptar el estado inactivo.

En este momento puede hacerse una consideración sobre los valores 8¡,

correspondientes a los umbrales de las unidades, que han aparecido en las ecuaciones

anteriores. Estos valores pueden ser eliminados debido al hecho de que el efecto

producido por 8¡ en la enegía global del sistema es idéntico y de sentido contrario al

efecto de una unión con peso -8¡ entre la unidad i y una unidad especial que, por

definición, se encuentre siempre en estado activo. Esta unidad especial, que puede

denominarse "unidad cierta", no es necesario que exista de forma real en la

composición de la red, sin embargo, es conveniente suponer su existencia a efectos de

simplificación de los cálculos. Esta simplificación se deriva del hecho de que la

existencia de la "unidad cierta" permite tratar el umbral de una unidad de la misma

forma que se tratan las uniones entre nodos, evitando así añadir un término al

sumatorio en las fórmulas. El valor -8¡ que se introduce como el peso de la unión

entre la unidad i y la unidad cierta se denomina "sesgo" de la unidad i.

Si se supone la existencia de la unidad cierta en cualquier Máquina de

Boltzmann, las ecuaciones que rigen la energía global de la red y el hueco de energía

de una unidad pueden expresarse de la siguiente forma:

-39-

Page 44: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

E = - "" W . . S . S . L IJ 1 J i

Sin embargo, la seguridad de que el sistema alcanza siempre un mínimo

local no es suficiente para conseguir un mecanismo que pueda considerarse

modelizador del cerebro humano, y capaz de cierto tipo de aprendizaje. Las tareas en

las que es necesario satisfacer restricciones (aunque éstas sean en su mayoría débiles)

necesitan escapar de alguna manera de los mínimos locales, que significan soluciones

parciale, para poder encontrar la configuración que es el verdadero mínimo global,

es decir, la solución total.

Una forma de conseguir que el funcionamiento del sistema no lo conduzca

a detenerse en un mínimo local, permitiéndole encontrar diferentes estados de

equilibrio que constituyen mínimos locales hasta encontrar el mínimo global, es hacer

posible que la red pueda modificar su estado hacia una configuración de mayor

energía que la de partida. Con la regla de activación de las unidades que se ha

presentado anteriormente, la red pasaba siempre de estados de mayor energía a

estados de menor energía, pero nunca podía ocurrir lo contrario. De esta forma, si se

llega a un estado que es un mínimo local, la red no es capaz de salir de él porque para

ello necesitaría poder aumentar su energía en lugar de disminuirla.

Para conseguir este comportamiento se han revisado conceptos de los

sistemas termodinámicos, cuyo comportamiento en algunos aspectos es semejante al

de este tipo de redes. El algoritmo elegido se basa en el presentado por N. Metropolis

[Metropolis, 1953] concebido para estudiar las propiedades de los sistemas

termodinámicos. Según este algoritmo, puede asegurarse que la probabilidad de que el

estado de la unidad k sea activo, independientemente de su estado anterior es:

-40-

Page 45: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

1 pk = ____ !:i._E_k_

( 1 + e -r)

siendo:

ó.Ek : hueco de energía correspondiente a la unidad k.

T : parámetro que en los sistemas termodinámicos es la temperatura.

En este caso es un parámetro que se comporta de la misma forma

que la temperatura en un sistema físico.

/ (\J

_/

\ ( 1 ( f\ I ···

j V

Figura 3. Representación de una superficie ondulada con mínimos locales

y un único mínimo global.

Por lo tanto, para mejorar el funcionamiento del sistema se disminuye su

determinismo haciendo que las unidades se comporten de forma probabilística. Para

entender el por qué de este comportamiento, puede utilizarse una analogía con un

sistema físico muy sencillo. Supóngase una bola, por ejemplo metálica, situada sobre

-4 1 -

Page 46: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

una superficie ondulada como la de la figura 3. En ella existen diferentes lugares con

altura pequeña (mínimos), pero sólo uno de ellos es el que se encuentra más bajo que

los demás, es el mínimo global del sistema.

Si se deja caer la bola desde uno de los extremos, ésta recorrerá la

superficie cayendo en un mínimo local si éste se encuentra antes en su camino que el

mínimo global. Una vez situada en este punto, la bola no puede salir de él por sí

misma, por lo que nunca será capaz de alcanzar el mínimo global. Sin embargo, si se

agita fuertemente el conjunto, la bola comenzará a moverse aleatoriamente y tendrá

más probabilidad de conseguir saltar las barreras que se interponen entre su posición

y la del mínimo global. Si este proceso de agitación del sistema se realiza

convenientemente y con continuidad, el sistema alcanzará una situación denominada

"equilibrio térmico", en la cual la bola continuará desplazándose de un lugar a otro,

pero la probabilidad de que se encuentre en un lugar determinado de la superficie se

mantiene estable y sólo depende de la altura de la superficie en ese punto.

Además, en el equilibrio térmico también se cu mple que el logarit mo de la

probabilidad de encontrar la bola en dos posiciones diferentes de la superficie es

proporcional a la diferencia entre la energía de las dos posiciones. Esta propiedad fue

utilizada por Scott Kirpatrick [Kirpatrick, 1983] de IBM, con el nombre de "ruido

térmico" para conseguir evitar los mínimos locales en redes del tipo de las que se está

tratando.

Para introducir esta idea del "ruido térmico" en la Máquina de Boltzmann

sólo es necesario modificar la regla de decisión del estado de las unidades. Éstas

deben calcular la suma de los pesos de sus conexiones con otras unidades activas de la

misma forma que antes, pero en vez de activarse siempre que este valor es mayor que

su umbral y desactivarse si es menor, deben utilizar la regla probabilística presentada

anteriormente. Esta regla de decisión es aplicable a una partícula con dos estados de

energía posibles. Si se tuviera un sistema compuesto por este tipo de partículas

-42-

Page 47: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

conectadas entre sí y se so metiera a alta te mperatura dej ándolo enfr iar

progresivamente, llegaría a alcanzar el equilibrio térmico y durante el proceso de

enfriado, la probabilidad de que el sistema se encontrase en un determinado estado

seguiría la distribución de Boltzmann. Aplicando de nuevo esta analogía física a la red

conexionista presentada, se puede suponer que si las unidades individuales funcionan

de acuerdo con la fórmula de probabilidad vista, partiendo de un estado global

arbitrario de alta energía, la red llegará a alcanzar el estado de "equilibrio térmico",

y la probabilidad relativa de dos estados seguirá la distribución de Boltzmann, cuya

expresión es:

siendo:

P0 : probabilidad de que el sistema se encuentre en el estado global

a.

E0 : energía del estado global a de la red.

La utilización de esta fórmula en el desarrollo del sistema es la causa del

nombre de Máquina de Boltzmann asignado a la red.

La distribución de Bolt z m ann posee c iertas propiedades bastante

interesantes como las siguientes:

- Es una relación muy sencilla y fácil de manejar.

-43-

Page 48: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

- La diferencia de los logaritmos de las probabilidades de dos

estados es igual a la diferencia entre las energías de dichos estados

(fijada la temperatura al valor 1).

- La distribución de equilibrio es independiente del camino seguido

hasta alcanzar el estado de equilibrio.

- Está íntimamente relacionada con la Teoría de la Información.

A bajas temperaturas el sistema tiene una fuerte tendencia a situarse en

estados de baja energía, mientras que con valores de T altos la tendencia es bastante

más pequeña. Sin embargo, si la temperatura es alta, el equilibrio se alcanza con

mayor rapidez que si es baja, situación en la que se puede tardar mucho tiempo en

llegar a la situación de equilibrio. Para aprovechar esta circunstancia, se comienza

con un valor de temperatura alto, y se reduce progresivamente, observando los

diferentes estados por los que va pasando la red hasta estabilizarse. Este proceso se

corresponde con el templado de un sistema físico real (si mulated annealing).

A altas temperaturas la red tiende a ignorar las diferencias de energía

pequeñas y alcanza rápidamente la situación de equilibrio. La situación obtenida

puede considerarse un buen míni mo para el nivel más general y tosco de la estructura

global del sistema. Es decir, en este primer momento la configuración de la red

refleja la estructura del entorno, pero de forma muy general y poco afinada. A

medida que disminuye la temperatura, la red se hace más sensible a las diferencias de

energía y evolucionará hasta encontrar un mínimo mejor dentro de la escala de

afinado que había conseguido con el mínimo anteriormente encontrado. Este

procedimiento de búsqueda de la estructura tosca antes de depurar el resultado para

conseguir una mayor aproxi mación a la estructura real es muy útil en problemas en

los que han de satisfacerse una gran cantidad de restricciones débiles. Sin e mbargo, el

-44-

Page 49: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

procedimiento fracasa en los casos en los que la solución se encuentra en un mínimo

muy profundo y aislado.

3.3. REPRESENTACIÓN DEL CONOCIMIENTO EN LA MÁQUNA

DE BOLTZMANN

Hasta el momento se ha hablado de la Máquina de Boltzmann en cuanto a

su estructura y funcionamiento, pero no hay que olvidar que es un mecanismo que se

ha de utilizar para resolver problemas. Este hecho plantea una importante cuestión

¿cómo se representan en una Máquina de Boltzmann los conceptos para los que

usualmente utilizamos palabras?. Ya se han estudiado en capítulos anteriores las dos

principales formas de representación, local o distribuida. Ambas presentan ventajas e

inconvenientes, y ambas son válidas para cualquier arquitectura conexionista como la

Máquina de Boltzmann.

En una Máquina de Boltzmann una representación distribuida corresponde

a un mínimo de la energía de la red. Por ello, el problema de crear un conjunto de

representaciones distribuidas es equivalente al problema de crear una "arquitectura

de energías". El algoritmo de aprendizaje que se ha diseñado para esta arquitectura es

capaz de resolver este proble ma, por lo que se considera más adecuada la

representación distribuida para la Máquina de Boltzmann. El carácter difuso que

confiere a cada pieza de conocimiento este tipo de representación no es un problema

serio, ya que la simplicidad matemática de la distribución de probabilidad sobre la

que se fundamenta el algoritmo hace posible manej ar todos los pesos de las

conexiones distribuidos a lo largo de la red de forma coherente, basándose sólo en

información puramente local.

-45-

Page 50: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

4. APRENDIZAJE

4.1. INTRODUCCIÓN

La capacidad de aprender las consecuencias de las propias acciones es

fundamental para el comportamiento adapatativo de todos los organismos. La mayor

parte del estudio del comportamiento inteligente puede ser caracterizado como el

estudio de la capacidad para aprender acerca de las contingencias del mundo.

Hay poca distinción formal entre aprendizaje y memoria. Los estudios del

aprendizaje tienden a subrayar primariamente la adquisición de conocim iento.

Claramente ambos están tan interrelacionados que el estudio de uno debe estar ligado

necesariamente al estudio del otro. Es necesario analizar cómo se adquiere el

conocimiento en el interior del sistema de la me moria, es decir, cómo se establecen

las relaciones existentes entre las situaciones del entorno, las acciones del ser

humano y los efectos resultantes.

Algunos estudios han demostrado que cuando una persona aprende algo se

establecen nuevas vías en la red nerviosa del cerebro. Entre las ramificaciones

adyacentes de las células nerviosas se produce la sinapsis, que transm ite la

información. Es decir, en principio existen pocas conexiones dendríticas, pero a

-46-

Page 51: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

medida que se aprenden cosas se forman otras conexiones, permitiendo la sinapsis y

creando así vías para la transmisión de información. Por lo tanto, puede decirse que

el aprendizaje transforma la configuración y estructura del cerebro.

Las arquitecturas conexionistas pretenden simular este comportamiento

del cerebro, realizando aprendizaje mediante modificación de su estructura. La

mayoría de estas arquitecturas hacen uso de algorit mos que conducen la red a

situaciones en las que su estructura modeliza la del entorno que se les presenta.

4.2. APRENDIZAJE EN LA MÁQUINA DE BOLTZMANN

Uno de los principales aspectos de la Máquina de Boltzmann es que su

formulación permite la construcción de un algorit mo de aprendizaje independiente del

dominio de aplicación. Si se retoma la idea de la máquina como una caja negra entre

unas unidades externas de entrada y salida, es fácil imaginar cómo este mecanismo

puede utilizarse en tareas como las que se denominan de "aprendizaje" en máquinas

convencionales.

Las unidades de entrada se fijan con valores determinados, a la vez que se

fijan también los correspondientes valores de las unidades de salida. Una vez hecho

esto se deja que el sistema evolucione hasta llegar a la situación de equilibrio. Si se

repite este proceso con diferentes patrones de entrada y sus respectivos valores de

salida, finalmente la máquina habrá modificado sus valores internos capturando las

regularidades existentes en los sucesivos patrones presentados. De esta forma, si se le

presenta un nuevo patrón en las unidades de entrada y se deja que se estabilice, las

unidades de salida quedarán con los valores correspondientes. Es decir, la red es

-47-

Page 52: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

"entrenada" para "aprender" a obtener las salidas adecuadas para los patrones que se

le presentan en las unidades de entrada.

Este aprendizaje es realizado por la red mediante la modificación de los

valores de los pesos que tienen asignadas las uniones entre unidades. La dificultad se

reduce a la búsqueda de un algoritmo que consiga realizar tales modificaciones

automáticamente, haciendo posible la adaptación del sistema a la estructura del

entorno que le es presentado.

La búsqueda de algoritmos de este tipo comenzó con el estudio de las

redes conexionistas, y no puede decirse que tuviera mucho éxito. En la literatura

aparecen varios de ellos, pero su eficacia como verdaderos algoritmos de aprendizaje

es bastante cuestionable. Normalmente consistían en meras generalizaciones de

algorit mos de éxito probado con redes simples. El argumento más utilizado en contra

de esta generalización de algortimos de aprendizaje para estructuras simples a redes

más complejas es precisamente esta complej idad. Es decir, se argumenta que para

que una red sea capaz de realizar tareas interesantes debe contener ele mentos no

lineales y cuyo comportamiento no esté directamente determinado por la entrada. El

proble ma principal entonces en este t ipo de redes es que cuando funcionan

incorrectamente, es prácticamente imposible encontrar cuál de los pesos de las

conexiones es el que no es correcto. Este problema fue llamado de "asignación de

confianza", y causó duras críticas hacia las arquitecturas conexionistas.

El problema de asignación de confianza fue la causa de la desacreditación

del Perceptron, ya que, pese a la sólida fundamentación matemática de su teorema de

convergencia, tampoco pudo ser generalizado para redes en las que la tarea no

especificase directamente la forma en la que deben ser utilizadas cada una de las

unidades.

-48-

Page 53: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

La formulación de la Máquina de Boltzmann resuelve el problema de

asignación de confianza. Utilizando la regla de decisión probabilística que ya se ha

presentado, y dejando que la red evolucione hasta alcanzar el equilibrio térmico a una

determinada temperatura, se obtiene, como ya se ha visto, una relación muy simple

entre la probabilidad de un estado y su energía. Si se supone una red que evoluciona

libremente sin ningún valor fijado en sus unidades de entrada y salida, la relación

puede expresarse de la siguiente forma:

donde:

S L n Pª

= .!.. [sª Sª - p' l s W . . T ! J !J j !J

S¡ª : estado de la unidad i en el estado global a de la red.

p iJ : probabilidad de que las unidades y j estén activas cuando el

sistema se encuentre en equilibrio.

Esta fórmula permite manejar los logaritmos de las probabilidades de los

estados globales de la red. Por lo tanto, si se especifican directamente las

probabilidades Pa requeridas para cada estado global a, existe un modo directo de que

el sistema converja a un conjunto de pesos de sus uniones que consiga esas

probabilidades. Si bien es cierto que existe este método, también es cierto que no es

posible asegurar que tal conjunto de pesos exista, contrariedad que es necesario tener

en cuenta. Sin embargo, esta forma de aprendizaje no es excesivamente interesante,

ya que han de darse de antemano las probabilidades necesarias para los estados

globales completos. Es decir, que el entorno exterior al sistema es el que decide qué

representación interna debe ser utilizada. Evidentemente, los proble mas interesantes

no aparecen en estos casos sino en los casos en los que el entorno contiene

-49-

Page 54: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

restricciones i mplícitas de alto nivel. En tales casos, la red ha de elegir las

representaciones internas adecuadas para poder expresar las restricciones del entorno

de forma eficiente. Este es el tipo de aprendizaje que resulta verdaderamente

interesante.

Una vez constatada la posibilidad de que un sistema como la Máquina de

Boltzmann aprenda, es necesario encontrar la forma de representar la estructura

externa que se desea modelizar, cuestión no trivial en una red conexionista. Ya se ha

presentado la división de las unidades de la máquina en tipos según su situación,

entrada, salida o intermedias. La división puede expresarse también en dos tipos de

unidades, un conjunto no vacío de unidades visibles, y un conjunto, que puede estar

vacío, de unidades "escondidas" o no visibles. Las unidades visibles son las que actúan

como interface entre el sistema y su entorno; por ejemplo, durante la fase de

entrenamiento, los estados de estas unidades son fijados desde el exterior. Las

unidades no visibles no son accesibles desde el exterior. Su existencia se justifica para

representar o modelizar restricciones inherentes a los patrones de entrada que no

pueden representarse directamente conectando las unidades de entrada y las de

salida. Es decir, si existen restricciones de alto nivel en la estructura del entorno que

se quiere modelizar, la utilización de unidades no visibles para representar estas

hipótesis reduce el nivel de complejidad de todo el conjunto de unidades del sistema,

simplificando su funcionamiento y, sobre todo su inteligibilidad.

Considerando los dos posibles estados de cada unidad con los valores

binarios O y 1, se puede denominar "vector" a la recopilación de los estados de cada

una de las unidades de entrada o salida. Esta notación es la que se va a utilizar a

partir de este momento.

Durante el proceso de aprendizaje de la máquina se asume que cada uno

de los vectores de entrada que se asigna desde el exterior se mantiene fijo por el

tiempo necesario para permitir que la red alcance la situación de equilibrio térmico.

- 50-

Page 55: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Además, cualquier estructura que exista en las secuencia de vectores de entrada que

se presentan sucesivamente al sistema será ignorada por éste. De esta forma, la

estructura de un entorno concreto puede especificarse mediante la distribución de

probabilidad sobre los 2n posibles estados diferentes de las n unidades visibles de la

red. Si la red consigue ajustar su estructura interna de manera que consiga la misma

distribución de probabilidad sobre los 2n estados posibles cuando se la deja

evolucionar libremente hasta la situación de equilibrio térmico con todas las unidades

visibles no fijadas (sin vector de entrada del exterior), entonces puede decirse que la

red ha conseguido modelizar perfectamente el entorno, que es un modelo perfecto de

su estructura.

La obtención de un modelo perfecto que se comporte exactamente igual

que el entorno en el que ha sido entrenado es prácticamente imposible. Esto es debido

a la insuficiencia del número de pesos y de sesgos entre las unidades visibles y las no

visibles para poder representar las 2n probabilidades de los estados de las unidades

visibles. Sin embargo, aunque no se alcance la perfección, si las unidades no visibles

de la red son capaces de capturar las regularidades que existen en el entorno, puede

conseguirse una buena aproxi mación del sistema a las probabilidades reales del

entorno.

Para poder cuantificar la diferencia existente entre el modelo interno

conseguido por la red y el modelo real presentado, puede utilizarse la siguiente

fórmula, basada en conceptos de la Teoría de la Información:

donde:

P (V ) G = ) P(V ) Ln --ª - ª P' (V )

a a

- 5 1 -

Page 56: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

P(V 0) : probabilidad de que las unidades visibles de la red se

encuentren configurando el estado a de la red, cuando sus estados

están determinados por el entorno.

P ' (V 0) : probabilidad de que las unidades visibles de la red se

encuentren configurando el estado a de la red, cuando ésta

evoluciona libremente sin entrada fijada por el entorno.

Esta medida G, suele denominarse en algunas ocasiones divergencia

asimétrica de la ganancia de información. G mide en realidad la distancia existente

entre la distribución dada por P' (V 0) y la dada por P(V 0) . G vale cero cuando las

distribuciones son idénticas. Si no los son, su valor es un número real positivo.

Estudiando un poco la expresión de G se puede observar que el término

P '(V 0) depende de los pesos de las uniones entre las unidades, por lo tanto, el valor de

G puede variarse modificando los valores de los pesos dentro de la red. Para obtener

el valor del gradiente descendente en G, es necesario conocer la expresión de la

derivada parcial de G respecto a cada uno de los pesos. Esta expresión, que es muy

complicada en la mayoría de las redes de este tipo, resulta muy sencilla de calcular

en una Máquina de Boltzmann. La sencillez se debe principalmente a la simplicidad de

las relaciones existentes entre los pesos y las probabilidades de los estados en la

situación de equilibrio térmico. Como las probabilidades de los estados globales

vienen determinadas por las energías de los estados, y ést as a su vez vienen

determinadas por los pesos de las uniones, se puede obtener fácilmente la expresión

de la derivada parcial de G respecto a los pesos. Ésta es:

oG -- = -ow . . IJ

-52-

Page 57: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

donde:

PiJ : probabilidad media de que las unidades i y j estén activas cuando

las unidades visibles están fijadas por el entorno.

p 'iJ : probabilidad media de que las unidades i y j estén activas

cuando la red evoluciona libremente sin asignación de estados del

entorno.

Ambos valores de probabilidad han de ser medidos en estado de equilibrio

de la red. Es interesante apreciar la semejanza entre esta ecuación y la ecuación que

representa la derivada parcial del logaritmo de la probabilidad de un estado global de

la red.

De la observación de esta ecuación es fácil deducir lo que hay que hacer

para minimizar G. Como puede verse, G depende de los valores PiJ y P iJ cuando la red

está en equilibrio. Para conseguir disminuir el valor de G es suficiente con modificar

cada peso en una cantidad proporcional a la diferencia entre los valores de las dos

probabilidades. Es decir, de la forma que se indica en la siguiente expresión:

6.wiJ = B ( P¡J - p'iJ )

donde B es un factor de escala.

Esta es, pues, la modificación que debe realizarse en los pesos de las

uniones para conseguir minimizar el valor de G, es decir, para reducir al mínimo la

diferencia entre el modelo conseguido por la red y el modelo real del entorno. Pese a

lo que pueda pensarse, hay que observar que la modificación de los pesos, según esta

expresión, depende exclusivamente de información local de cada unión, no de

información global de la red. El peso de una unión se modifica dependiendo sólo de los

- 53 -

Page 58: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

valores de las dos unidades que conecta, y sin embargo, la modificación produce una

mejora en la medida global de adecuación, G.

Incluso con esta regla, sigue estando presente el problema de los mínimos

locales. Si la red estuviera compuesta solamente por unidades visibles conectadas

directamente entre sí (sin unidades no visibles), el espacio de valores de G sería

cóncavo, por lo que el gradiente no podría verse atrapado en mínimos locales. Si la

red contiene unidades escondidas, las diferentes formas de utilizar estas unidades

para representar las restricciones de alto nivel implícitas en la distribución de

probabilidad de los vectores del entorno pueden producir mínimos locales, con lo que

no se ha resuelto el proble ma.

El significado del proceso de minimización de G es el siguiente. Cuando se

haya conseguido el valor mínimo de G, la red habrá captado, tanto como le haya sido

posible, las regularidades presentes en el entorno. Sin embargo, también puede

interpretarse de otra forma; minimizando G, la red consigue encontrar el conjunto de

pesos de las uniones que puede ser capaz de generar el conjunto de vectores del

entorno. Se ha demostrado la equivalencia matemática entre la maxi mización de esta

relación de pesos y la minimización del valor de G .

4.3. ALGORITMO DE APRENDIZAJE

El presente proceso constituye la justificación matemática del algortimo

de aprendizaje utilizado en la Máquina de Boltzmann, cuya expresión es la siguiente:

Fase 1

- 54-

Page 59: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

la. Asignar el patrón de entrenamiento a las unidades de

entrada, y el patrón de la respuesta a las unidades de salida.

lb. Dejar que la red evolucione hasta alcanzar la situación

de equilibrio.

le. Aumentar en una cantidad pequeña, o, el peso de la

conexión entre todos los pares de unidades que se encuentren

simultáneamente activas en la situación de equilibrio.

Fase 2

2a. Quitar el patrón de las unidades de salida, es decir,

liberarlas, pero dejar el patrón en las unidades de entrada.

2b. Dejar que la red funcione y llegue al equilibrio de nuevo.

2c. Decrementar en la misma pequeña cantidad o el peso de

la conexión entre todos los pares de unidades que se

encuentren simultáneamente activas.

Estas dos fases deben repetirse tantas veces como sea necesario hasta que

se consiga que la red obtenga los valores adecuados de las unidades de salida en la

fase 2. Es decir, las fases se repiten hasta que la red es capaz de dar la respuesta

correcta cuando funciona con las salidas libres.

Este algoritmo de aprendizaje tiene una clara relación con un proceso

estudiado por los invest igadores Crick y Mitchison [Crick, 1983] sobre el

funcionamiento del cerebro de los mamíferos. Su teoría presenta lo que ellos

denominan "desaprendizaje", un proceso de aprendizaje inverso que se produce en la

fase REM del sueño de los mamíferos. En esta fase se registra un estado de

-55-

Page 60: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

excitación aleatoria en el cerebro, que le per mite funcionar l i br e m ente ,

produciéndose modificaciones en las sinapsis que disminuyen la probabilidad de los

estados ilegítimos. Cada fase del algortimo de aprendizaje simula un procedimiento

diferente, la fase 1 sería el procedi miento de aprendizaje , y la fase 2 el

procedi miento de "desaprendizaje" anteriormente descrito.

El comportamiento y la eficacia del algorit mo están determinadas por los

valores de los parámetros que intervienen en su formulación. Entre ellos hay que

destacar la importancia de 8 , que determina el tamaño de cada paso seguido en la

minimización de G. También tiene gran importancia el valor de los tiempos en los que

se esti man los valores de las probabilidades Pij y p 'ij· La elección adecuada de estos

valores no es fácil de realizar, y no existen prácticamente bases matemáticas que

permitan determinarlos. Por este motivo, los valores son elegidos en base a resultados

experimentales obtenidos mediante ensayo de diferentes valores concretos.

También existen problemas relacionados con la estimación de los valores

de Pij y p ii, ya que puede introducirse algún tipo de ruido en estas estimaciones,

llevando a pasos erróneos en la minimización del valor de G. Este efecto causado por

el ruido puede, sin embargo, disminuirse utilizando un valor pequeño de 8 o también

obteniendo las estimaciones de Pij y p ij mediante la recopilación de datos estadísticos

durante un tiempo suficientemente grande.

Una forma de asegurar que la red se acerque sie mpre al estado de

equilibrio consiste en mantener los pesos de las uniones en valores pequeños.

Pearlmutter ha demostrado que el aprendizaje funciona mucho mejor si se hacen

disminuir constantemente los pesos, además de modificarlos mediante el algorit mo de

aprendizaje. Debe hacerse disminuir cada peso de forma continua hacia cero con una

velocidad proporcional al valor absoluto del peso. Este proceso hace que los pesos

tengan valores pequef\os y conduce a la red a una situación relativamente estable en

la que la velocidad de decrecimiento del valor de los pesos se equilibra con el valor de

-56-

Page 61: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

la derivada parcial de G respecto a los pesos. De esta forma, el valor absoluto de cada

peso mide la i mportancia de éste en la modelización de la estructura del entorno.

Sin embargo, el procedimiento de decrecimiento de pesos presenta ciertas

características no deseables. La obligación de mantener los pesos en valores pequeños

imposibilita a la red para conseguir mínimos de energía muy profundos. Esto significa

que la red comete una gran cantidad de errores graves en los casos en los que el·

entorno consta de vectores bastante parecidos, pero con probabilidades de aparición

muy diferentes. Además, en tales casos los errores son imposibles de evitar. Si no se

desea eliminar este proceso de disminución de los pesos, puede conseguirse que la red

funcione con un rendimiento mejor dejándola evolucionar con valores de temperatura

(T) más bajos. Si bien con ello se consiguen menos errores en la modelización, el

aprendizaje empeora significativamente debido a la dificultad para alcanzar el

equilibrio con valores pequeños del parámetro T.

En la experimentación con la Máquina de Boltzmann se encontró además

otro problema; el caso en que sólo son válidas cierto nú mero de combinaciones de las

unidades visibles, no teniendo vector de salida correspondiente el resto de ellas. En

este caso hay que suponer que los vectores que no se van a presentar tienen

probabilidad de ocurrencia cero. Con la formulación dada para la M áquina de

Boltzmann es fácil comprobar que la única forma de que se asegure que ciertos

estados nunca van a darse, es que dichos estados tengan una energía infinitamente

grande. También es fácil darse cuenta de que para que un estado tenga energía

infinitamente grande, necesita que los valores de los pesos de las uniones sean

también infinitamente grandes.

La utilización de valores infinitamente grandes plant ea bast antes

problemas, por lo que hay que tratar de evitar que aparezcan. Esto se ha conseguido

con los denominados vectores de entrada "ruidosos". Estos vectores de entrada se

obtienen sometiendo los vectores correctos a un proceso en el que se modifica el

-57-

Page 62: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

valor de alguno de sus elementos, pero la probabilidad de que esto ocurra es pequeña.

Si se mantiene el ruido en ciertos límites, los vectores serán los correctos la mayoría

de las veces, pero sin embargo, es posible que aparezca cualquier combinación de

estados de las unidades de entrada, con lo que no es necesario el uso de valores

infinitamente grandes de los pesos de las uniones. Este método se ha utilizado en la

mayor parte de los ejemplos realizados por el equipo de Carnegie-Mellon, dando

buenos resultados. Sin embargo, parecen no estar totalmente satisfechos con su

funcionamiento, y continúan buscando otros métodos más adecuados.

4.4. CRÍTICA DE LOS PROCEDIMIENTOS DE APRENDIZAJE

El problema principal de todos los procedimientos de aprendizaj e

utilizados hasta el momento para redes multinivel, incluido el que se ha presentado

para la Máquina de Boltzmann, es su extrema lentitud. Esta lentitud no se produce

sólo en problemas complejos, sino que ya existe con problemas sumamente sencillos.

El inconveniente de tender a estacionarse en un mínimo local que presentan todos los

procedimientos de disminución del gradiente, es en la práctica un problema menor,

comparado con el de la velocidad de proceso. La lentitud se debe a que en cada

momento sólo se tiene información sobre un punto concreto, y no puede averiguarse

en qué forma se curvará la superficie de error para poder adelantar el cálculo. En

espacios multidimensionales la superficie de error contiene gargantas con una gran

curvatura. Cada pequeño paso del algoritmo hace interminable la llegada al mínimo

situado en una garganta, pero si se utilizan pasos muy grandes la divergencia con la

superficie real es demasiado grande para que el proceso pueda considerarse válido.

Sólo cabe esperar una sustancial mejora en la tecnología hardware que

permita aumentar la velocidad del aprendizaje. Sin embargo, parece que sólo una

- 58-

Page 63: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

mejora no sería suficiente, siendo necesario modificar de alguna forma los algoritmos

en sí mismos. Una solución puede ser la obtención de procedi m ientos que se

encarguen de dividir las redes conexionistas en módulos de tamaño reducido que

puedan aprender de forma independiente. Con ello, cada módulo resultaría más rápido

en su aprendizaje debido a la reducción de tamaño, y el conjunto funcionaría con

mayor velocidad, resolviéndose en parte el problema y permitiendo la aplicación de

estos sistemas a tareas hasta el momento inasequibles por su gran tamaño.

-59-

Page 64: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

5. EJEMPLO DE APRENDIZAJE EN UNA MÁQUINA DE BOLTZMANN

5.1. EL PROBLEMA DEL CODIFICADOR

El problema del codificador fue presentado por pri mera vez por el

investigador Sanjaya Addanki. Constituye una simple abstracción de la tarea

recursiva de comunicación de información entre los componentes de una red paralela.

Los creadores de la Máquina de Boltzmann consideraron útil e interesante probar la

eficacia de su algoritmo de aprendizaje con este problema, ya que se conoce cuál es

la solución, pero no es un trabajo trivial encontrarla.

La formulación explícita del proble ma es la que se m u estra a

continuación. Dos grupos de unidades visibles representan dos sistemas separados que

desean comunicarse sus estados. Llamemos a los dos conjuntos V1 y V2. Cada uno de

los conjuntos contiene v unidades. Los conjuntos no están conectados directamente,

sino por medio de un conjunto de h unidades no visibles, este conjuto se llamará H. Se

da la circunstancia de que el número de unidades no visibles, h, es menor que el

número de unidades de los conjuntos Vi. De esta forma, las unidades no visibles

pueden representar un cuello de botella a través del cual ha de transmitirse la

información.

-60-

Page 65: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Para simplificar el proble ma se considera que en cada instante sólo puede

estar activa una de las unidades de las v de cada grupo. Con esta restricción se

reduce el número de estados posibles para cada conjunto, de 2v a v. Esta reducción es

conveniente dada la limitación en la velocidad del algoritmo debido al uso de una

máquina secuencial (un computador convencional) para modelizar el comportamiento

de una máquina de proceso paralelo en la que los cambios se producen de forma

asíncrona y simultánea.

Para permitir la comunicación entre los dos grupos de unidades visibles,

debe cumplirse la relación h 2!: log2 v (relación evidente según la Teoría de la

Información). El grupo de trabajo realizó simulaciones para el caso extremo (h =

log2v) y para otros casos en los que la relación se satisfacía. En todos ellos se utilizó

como entorno para la máquina un conjunto de v vectores de longitud 2 v cuya

aparición era equiprobable. Cada uno de los vectores especificaba un estado en el que

estaban activas una unidad de V1 y la correspondiente de V2, manteniéndose todas las

demás inactivas.

La topología interna de la red se realizó de forma que todas las unidades

visibles estuvieran completamente conectadas entre sí y con las unidades de H, pero

las unidades no visibles no estaban completamente conectadas entre ellas.

Para comenzar las simulaciones se utilizaron pequeños ejemplos del

codificador, como el 4-2-4 (esta notación ha de entenderse de la siguiente forma: el

primer número identifica el número de unidades visibles de uno de los grupos, es

decir, v; el segundo número identifica el número de unidades no visibles, es decir, h.

El tercer número es reiterativo, ya que los dos grupos de unidades visibles tienen el

mismo nú mero de unidades por definición del problema, pero se incluye por la

simetría que confiere a la expresión). Posteriormente, tras la experiencia con estos

-6 1 -

Page 66: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

casos se simularon codificadores de mayor magnitud, hasta el codificador de 40-10-

40.

La estructura de la red para el codificador 4-2-4 podría ser la que se

muestra en la figura 4.

Figura 4. Posible estructura de la red para el codificador 4-2-4.

Para la simulación del codificador 4-2-4 se utilizó el siguiente ciclo de

funcionamiento:

l. Estimación de Pii : cada uno de los vectores patrón se asigna a las

unidades visibles. Se dejaba funcionar la red hasta llegar a la

situación de equilibrio dos veces. Una vez alcanzada esta situación

se tomaban datos estadísticos sobre la frecuencia en la que los pares

de unidades se activaban al mismo tiempo. Se utilizó la técnica de

los vectores "ruidosos" para evitar valores muy grandes de los pesos,

ya que no se utilizan los 2 v posibles estados de entrada. Los

resultados de las estadísticas fueron: cada bit activo de un vector

asignado era convertido en un bit inactivo con una probabilidad de

-62-

Page 67: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

0 . 1 5 , y cada bit inactivo era convertido en activo con una

probabilidad de 0.05.

2. Estimación de p ij : la red se dejó funcionar sin asignación de

vectores de entrada a un valor del parámetro T igual a 1 O hasta que

alcanzó la situación de equilibrio. El proceso se repitió varias veces,

obteniéndose al final estimaciones de la misma forma que se hizo

con Pij•

3. Actualización de los pesos: todos los pesos de las uniones se

incre ment aron o decre mentaron en una cant idad fij a de 2 ,

determinándose el signo del incremento utilizando el signo de la

diferencia (pii - p ij ).

Para cada proceso de evolución de la red hacia el estado de equilibrio

todas las unidades no visibles tomaban sus estados de forma aleatoria con igual

probabilidad para el estado activo e inactivo. Esta situación se corresponde con la

subida de temperatura del sistema (puede considerarse análogo a au mentar la

temperatura hasta el valor infinito). Después se dejó evolucionar el sistema dos veces

con T=20, dos veces con T=1 5, dos veces con T= 12 y cuatro veces con T=lO. Tras este

proceso de "enfriado", se consideró que el sistema había alcanzado el equilibrio, y se

tomaron valores estadísticos durante 10 unidades de tiempo con T=l O.

En el comportamiento del codificador se observaron tres fases diferentes

en la búsqueda del mínimo global de G. La ocurrencia de estas fases se mostró

relativamente insensible a los valores de los parámetros utilizados. La primera fase

comienza con todos los valores de los pesos iguales a cero (situación inicial de la red),

y se caracteriza por el desarrollo de pesos negativos en la mayor parte de las uniones

de la red. En la segunda fase, las unidades no visibles comienzan a tomar valores

positivos en los pesos de sus conexiones con algunas de las unidades visibles,

-63-

Page 68: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

observándose una clara tendencia a mantener simetría entre los signos y las

magnitudes de una conexión con una unidad de V1 y con la correspondiente de V2.

Esta fase termina cuando todas las unidades no visibles tienen pesos significativos en

sus conexiones con cada una de las unidades de V1, y pesos análogos en cada una de

sus conexiones con las unidades de V2.

La tercera fase es la más larga de todas. En ella el algoritmo de

aprendizaje resuelve los conflictos planteados y consigue llegar al valor del mínimo

global.

En los diferentes ejemplos de codificadores utilizados después, el

comportamiento del sistema era exactamente el mismo, variando sólo la velocidad

con la que se alcanzaba la solución y el número de iteraciones necesarias para ello.

5.2. COMUNICACIÓN DE INFORMACIÓN ENTRE MÓDULOS

El problema del codificador y su resolución mediante una Máquina de

Boltzmann sugiere un método para realizar la comunicación de símbolos entre los

componentes de una red computacional paralela. En 1 982 Feldman y Ballard

[Feldman, 1982] se ocuparon de este problema y propusieron dos métodos posibles

para la realización de esta tarea. Ellos trabajaban sobre un sistema de percepción

compuesto por dos módulos principales, el sistema de percepción de imágenes y el

sistema de generación de lenguaje hablado. Para describir los métodos utilizaron el

ejemplo de la transmisión del concepto "manzana agusanada" desde el lugar en el que

es reconocido en el sistema de percepción hasta el lugar en el que puede ser generada

la frase en el sistema de habla.

-64-

Page 69: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

El primer método de comunicación parte de la codificación de la

información perceptual en un conjunto de símbolos. Luego estos símbolos son enviados

en forma de mensajes al sistema de habla, que se encarga de decodificarlos de una

forma adecuada para obtener la pronunciación de las palabras que componen la frase.

Para poder utilizar este método la red debe disponer de un conjunto de líneas de

comunicación de propósito general, análogas al bus de un computador convencional,

que sirvan de medio de transmisión de los mensajes desde el sistema de visión al

sistema de habla. Este método presenta los siguientes problemas, que fueron descritos

también por Feldman y Ballard:

- Los mensajes complejos no pueden ser transmitidos de una vez,

sino que deben transmitirse de forma secuencial por medio de las

líneas de comunicación.

- Cada vez que se introduce un concepto nuevo en el sistema global,

los sistemas de visión y habla deben aprender un nuevo código común

que lo represente.

- El método no par e c e plausible c o m o m odel izac ión d e l

funcionamiento real del cerebro.

El segundo método utiliza un camino hardware individual y dedicado para

cada uno de los conceptos que han de ser comunicados entre los dos sistemas. El

método se basa en la idea de que la activación simultánea de "manzana" y

"agusanada" en el sistema de visión puede transmitirse a los lugares correspondientes

del sistema de habla por medio de conexiones únicas y dedicadas para estos

conceptos. En este caso, el proble ma principal reside en tener las conexiones

necesarias entre los conceptos y poder establecer nuevas conexiones a medida que se

adquieren nuevos conceptos. Estas conexiones no necesitan ser muy complejas, ya que

-65-

Page 70: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

sólo han de transportar información muy simple de carácter no simbólico, como por

ejemplo un nivel de activación.

El comportamiento de la Máquina de Boltzmann con el problema del

codificador muestra un método de comunicación de conceptos que posee lo mejor de

los dos métodos anteriores. Sus unidades de proceso son pequeñas y sus conexiones

transmiten un valor numérico, como en el segundo método. Además su proceso de

aprendizaje bien puede ser el utilizado por el cerebro hu mano. También permite, sin

embargo, que se transm itan distintos conceptos por las m is m as l íneas de

comunicación como requiere el primer método. Puede decirse incluso que la Máquina

de Boltzmann supera a estos dos métodos, ya que el aprendizaje de nuevos códigos

surge automáticamente como un proceso cooperativo a partir del algorit mo de

aprendizaje que minimiza el valor de G.

-66-

Page 71: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

6. COMPORTAMIENTO DE LOS SISTEMAS CONEXIONISTAS

6.1. INTRODUCCIÓN

Tras largos años de esfuerzos tratando de modelizar el comportamiento

inteligente sobre las mismas arquitecturas de computadores utilizadas para realizar

cálculo numérico, se comenzó a pensar en la conveniencia del uso de arquitecturas

diferentes, más cercanas a la estructura del cerebro humano. Así es como se llegó al

estudio de los sistemas masivamente paralelos. Estos sistemas, con su gran potencia

computacional per mit irían abordar c iertos proble mas que en las m áquinas

convencionales resultaban terriblemente lentos y pesados. La mayor parte de ellos

están fuertemente relacionados con el reconocimiento y la búsqueda en un espacio de

descripciones de gran tamaño. En general estos problemas deben su importancia a su

relación con procesos como la planificación y la inferencia, básicos en los sistemas de

Inteligencia Artificial. A continuación se detallan algunos de estos problemas,

analizando el comportamiento de los diferentes sistemas conexionistas en cada uno de

ellos.

-67-

Page 72: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

6.2. INTERSECCIÓN DE CONJUNTOS

El reconocimiento puede considerarse como un proble ma de intersección

de conjuntos, ya que consiste en encontrar, dentro de un conjunto de descripciones, la

que se ajusta de forma más adecuada a la descripción de la observación realizada.

Esta operación de intersección de conjuntos aparece con mucha frecuencia en las

bases de conocimiento de los sistemas de Inteligencia Artificial. En una máquina

secuencial la realización de una intersección de conjuntos requiere un tie mpo

proporcional al número de elementos que componen el más pequeño de los conjuntos

considerados. Normalmente estos conjuntos son bastante grandes y el costo de la

operación resulta muy elevado, principalmente en tiempo.

En las redes paralelas que transmiten marcadores, como las redes NETL,

las intersecciones de conjuntos se realizan en una sola operación de identificación,

una vez que se han identificado con marcadores diferentes los miembros de cada

conjunto. En las redes que transmiten valores la operación es también muy simple y

rápida. En estos sistemas se marcan los elementos de cada conjunto con una unidad de

activación y luego se buscan todas aquellas unidades cuyo valor de activación se

encuentre por encima del u mbral determinado por la suma de las activaciones

correspondientes a cada conjunto.

En una Máquina de Boltzmann la mayoría de los casos de intersección de

conjuntos pueden realizarse con un único proceso de funcionamiento de la red hasta

alcanzar la situación de equilibrio. En este sistema cada conjunto se representa por

una combinación de unidades activas, y la intersección resulta ser la unión de todas

esas combinaciones. La unión de la unidades activas funciona c o m o u n a

representación en términos d e intensidad de la intersección d e los conjuntos.

-68-

Page 73: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

6.3. CIERRE TRANSITIVO

En los sistemas basados en el conocimiento es frecuente el cálculo del

cierre de las relaciones transitivas que contienen. Este es el caso, por ejemplo, de las

relaciones del tipo "es un" de las redes semánticas, que son relaciones transitivas y

cuyo cierre es necesario a menudo para el mecanismo de la herencia.

Las máquinas secuenciales invierten en el cálculo de un cierre transitivo

un tiempo proporcional al tamaño del conjunto resultante. Cuanto mayor es el

resultado del cierre mayor es el tiempo que se tarda en calcularlo. En las redes que

transmiten marcadores, sin embargo, el tiempo es proporcional a la longitud de la

cadena más larga de relaciones que sea necesario seguir. Es decir, el tiempo es el

mismo que en un sistema secuencial si las relaciones forman una única y larga

cadena. En el caso en que las relaciones estén organizadas en forma de árbol con

muchas ramas, pero cortas, el tiempo invertido por la red paralela es mucho menor.

Las redes que transmiten valores obtienen un rendimiento similar al de las redes de

transmisión de marcadores.

La arquitectura de la Máquina de Boltzmann resulta menos adecuada para

esta operación, y la realiza de una forma bastante oscura. El cierre de la relación "es

un", por ejemplo, puede realizarse haciendo que el patrón de actividad de un elemento

incluya los patrones de todos los elementos situados por encima de él en la jerarquía.

Si se pone en funcionamiento la red con una parte de ese patrón y se deja que lo

complete por sí misma llegando a la situación de equilibrio, el estado resultante será

el cierre transitivo. Desgraciadamente, no se puede asegurar todavía que este

esquema funcione adecuadamente en bases de datos con gran cant idad de

-69-

Page 74: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

conocimiento altamente interrelacionado. Además, el procedim iento descrito no

puede extenderse directamente a otras relaciones transitivas como "parte de" o

"mayor que".

6.4. CONTEXTOS Y PARTICIONES

Las bases de conocimiento almacenan cierta información que puede

considerarse de carácter universal, pero la mayor parte de su contenido se refiere a

conocimiento válido sólo en determinados contextos. La información sobre lugares,

intervalos de tiempo, etc. puede variar su sentido según el contexto en el que se

utilice. El sistema que maneja la base de conocimiento ha de ser capaz de acceder a

la información de cada contexto en el momento y circunstancia adecuados, evitando

mezclar los datos correspondientes a diferentes contextos. De la misma forma ha de

distinguir los datos contextuales de la información universal, que puede utilizar en

cualquier momento. En este esquema de funcionamiento cada contexto actúa como un

añadido al conocimiento universal de la base, incorporando nuevos conocimientos de

carácter particular.

Así, la base de conocimiento puede considerarse constituida por diferentes

particiones de conocimiento de las cuales una o varias pueden ser activas en un

momento determinado. Una máquina secuencial que utilice una base de conocimiento

de este tipo debe contrastar la pertenencia de cada hecho con todas las particiones

activas antes de poder considerarlo válido y utilizarlo. El proceso de búsqueda en

cada una de las particiones consume una gran cantidad de tiempo, siendo proporcional

al tamaño de las mismas. Los sistemas que transmiten marcadores facilitan este

trabajo de forma considerable, ya que pueden identificar el árbol de contextos activos

rápidamente mediante la utilización de la operación de cierre transitivo. De esta

-70-

Page 75: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

forma todas las aserciones asociadas con tales contextos se encuentran activas,

evitándose la utilización errónea de aserciones pertenecientes a otros contextos no

activos. Este comportamiento es prácticamente idéntico en la redes de transmisión

de valores y en las Máquinas de Boltzmann, siendo posible, además, activar contextos

de forma gradual.

6.5. RECONOCIMIENTO POR MEJOR APROXIMACIÓN

Algunos problemas de reconocimiento pueden ser resueltos mediante la

intersección de conjuntos, como ya se ha mencionado. Esta operación es muy útil para

problemas en los que los datos son discretos, no presentan distorsión causada por el

ruido y todos los miembros de una clase poseen todas las características necesarias

para su identificación. Estos problemas pueden considerarse prácticamente ideales,

ya que no se presentan en la realidad. A menudo es suficiente con encontrar la

descripción que mejor se ajusta al conjunto de características observadas, sin

pretender que este ajuste sea perfecto. Tampoco todas las características observadas

son de la misma naturaleza, algunas tienen un alto nivel de confianza, mientras que

otras son bastante débiles.

Las redes que transmiten marcadores funcionan bastante mal en ajustes

imperfectos de este tipo, al contrario que las que transmiten valores, que resultan

ideales para esta tarea. Su buena disposición se debe a la posibilidad de que cada

observación transmita una cierta cantidad de "activación" a un número no fijado de

hipótesis. La intensidad o fuerza de cada activación depende del grado de confianza

atribuido a la observación y del peso de la conexión entre característica e hipótesis.

El elemento de la red que mejor se ajusta a las características deseadas es el que

posee el valor de activación mayor entre todos los que componen la red.

-7 1 -

Page 76: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Evidentemente, que su valor sea el mayor no asegura que sea el que se ajusta

perfectamente, pero sí que es el que reúne más semejanzas de todos los de la red. La

Máquina de Boltzmann tiene un comportamiento parecido, siendo también un

mecanismo muy adecuado para este tipo de tareas.

6.6. RECONOCIMIENTO GESTALT

Hasta el momento se ha presentado un tipo de procesos de reconocimiento

que discurrían desde abajo hacia arriba; se tomaban los datos y se trataba de

identificar mediante búsqueda el elemento que los posee todos o al menos una buena

parte de ellos. En el reconocimiento real, como el que realizamos los seres humanos,

el esque ma no es tan sencillo. Un objeto puede identificarse en base a sus

características, pero éstas, a su vez, sólo pueden determinarse en relación a otras y

en relación a la imagen perceptual obtenida hasta el momento. Es decir, cada

característica debe ser considerada dentro de su contexto, ya que de no hacerse así

resultará ambigua. Para conseguir este tipo de integración y a la vez distinción de

cada característica es necesario utilizar un conjunto de identidades para la totalidad

y para cada una de ellas. Ni el enfoque de arriba-abajo ni el de abajo-arriba

aisladamente pueden conseguirlo. Son necesarios varios niveles diferentes de

características y subcaracterísticas combinados en una compleja red de restricciones

relativas entre los niveles.

Esta descripción se ajusta casi perfectamente a la de la Máquina de

Boltzmann, por lo que ésta parece ser el mecanismo más adecuado para tareas de

reconoci miento de carácter complejo. Sin e mbargo, para que una M áquina de

Boltz mann pueda utilizarse en problemas reales, todavía es necesario probar

exhaustivamente su funcionamiento con sistemas verdaderamente grandes.

-72-

Page 77: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

La lista de tareas computacionales esenci ales para u n s ist e m a

"inteligente" es todavía más larga, pero las presentadas son las más relevantes de

ellas. Como se ha mostrado, ninguna de las arquitecturas mencionadas es la adecuada

para la totalidad de las tareas, pero cada una por separado funciona muy bien en

alguna de ellas. Del análisis realizado es posible deducir algunos de los objetivos que

han de alcanzarse en un futuro más o menos inmediato. Uno de ellos concierne

directamente a la Máquina de Boltzmann, cuyas propiedades han de ser exploradas

más profundamente, ya que parece la organización más prom etedora para el

tratamiento de problemas reales. En segundo lugar ha de intentarse combinar en un

solo sistema las característ icas más relevantes de cada una de las redes

individualmente.

-73-

Page 78: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

7. SIMULACIÓN DE LA MÁQUINA DE BOLTZMANN EN UN COMPUTADOR LISP

7 .l. INTRODUCCIÓN

El proyecto ha consistido en la construcción de un programa que simula el

comportamiento de una red neuronal con las características conexionistas. Se ha

elegido como ejemplo el de la Máquina de Boltzmann, aunque el prototipo construido

no contiene la totalidad de las características de este mecanismo. La idea principal

es la de construir una herramienta que permita experimentar con sistemas del tipo

conexionista, facilitando la construcción de la estructura de la red mediante un

interface adecuado y permitiendo seguir la evolución de los valores del conjunto

mediante marcadores en pantalla que se actualizan automáticamente.

Entre todas las aproximaciones conexionistas que ya se han presentado en

este trabajo, se eligió la Máquina de Bolt zmann por ser la arquitectura más

prometedora de todas ellas. Las investigaciones sobre su funcionamiento son muy

recientes, pero los resultados obtenidos en su faceta de mecanismo de aprendizaje

han sido excepcionalmente esperanzadores, lo que ha motivado la realización de este

trabajo. El programa recoge la mayor parte de las características de un Máquina de

Boltzmann, especialmente todas las referentes a su arqu itectura, pero su

-74-

Page 79: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

funcionamiento probabilístico no ha sido programado. Sin embargo, el programa es lo

suficientemente flexible para permitir modificar este comportamiento de forma muy

sencilla.

Debido a que las arquitecturas conexionistas han nacido dentro de la

Inteligencia Artificial, y por su especial importancia en la labor de aprendizaje, se ha

tratado de dar al programa un enfoque en esta línea. Por ello se ha utilizado, tanto en

las labores de documentación como de construcción, material de este área de la

Informática. Así pues se ha usado para la construcción del programa una máquina de

Inteligencia Artificial (máquina Lisp) y una de las herramientas de las que se dispone.

Estas herramientas se utilizan para la construcción de sistemas expertos, y aunque no

se pretendía exactamente construir un sistema experto, la estructura que se puede

desarrollar con estas herramientas resultaba bastante adecuada para la realización

del programa.

Ante el problema de la herramienta que debía ser utilizada para la

programación, la elegida fue el sistema de construcción de sistemas expertos KEE, de

la e mpresa IntelliCorp. Esta herra m ienta es de t ipo híbrido, y se basa

fundamentalmente en la utilización de marcos, reglas y métodos como representación

del conocimiento y utilización del mismo. A medida que se detalle la estructura del

programa se presentará parte de la composición de la herramienta. KEE funciona

sobre la mayor parte de las máquinas Lisp construidas hasta el momento. Este trabajo

en particular se ha realizado sobre un Explorer de Sperry.

-75-

Page 80: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

'l.2. ESTRUCTURA DE LA RED

La herramienta KEE permite realizar representación del conocimiento en

forma de marcos, que reciben el nombre de "unidades", con campos denominados

"slots", que poseen características propias llamadas "facetas". La estructura de la red

conexionista se ha realizado haciendo uso de estos componentes, aprovechando,

además el mecanismo de herencia que también proporciona la herramienta.

Una Máquina de Boltzmann está formada básicamente por unidades y

conexiones entre ellas. En el programa se han representado ambos mediante unidades

dentro de una base de conocimiento de KEE. Es decir, los elementos principales son

dos tipos de unidades: la unidad denominada NODOS representa la estructura de las

unidades de proceso de la red, y la unidad denominada UNIONES representa la

estructura de las conexiones entre las unidades de proceso. Los elementos principales

de cada una de estas unidades son los siguientes:

NODOS

- ESTADO: Contiene el valor del estado en que se encuentra la

unidad en cada momento. Tiene dos valores posibles, ACTIVO e

INACTIVO. No tiene un valor por omisión.

- IDENTIFICACIÓN: Contiene el tipo de unidad de que se trata. Su

valor puede ser ENTRADA, SALIDA o I NTE R M E D I O . El valor

INTERMEDIO corresponde a las unidades escondidas de la red. Este valor

es i mportante a la hora de la ejecución del algoritmo, ya que las unidades

-76-

Page 81: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

intermedias no pueden ser modificadas más que por el funcionamiento

interno de la red. No tiene valor por omisión.

- CONEXIONES: Contiene las unidades del tipo UNIONES que tienen

como uno de sus componentes ese nodo. No tiene valor por omisión.

- UMBRAL: Es el valor real del umbral de activación de la unidad.

Su valor por omisión es O.

- VALOR: Representa el valor que almacena la unidad, es decir, el

obtenido tras la suma de los valores de las unidades activas a las que está

conectada. Es un numero real. Su valor por omisión es -0 . 1 .

UNIONES

- PESO: Contiene el valor del peso de la conexión representada por

la unidad. Es un número real cuyo valor por omisión es O.

- PUNTOl: Representa una de las unidades que intervienen en la

conexión.

- PUNT02: Representa la segunda unidad que interviene en la

conexión.

Ade más exist e una unidad deno m i n ada RED, que cont iene las

características generales de la red, y de la cual dependen jerárquicamente los NODOS

y las UNIONES. Esta unidad contiene un slot básico, que se denomina DELTA y

contiene el valor corrector utilizado en el algoritmo de aprendizaje. Su valor es un

número real con valor 0.1 por omisión. El resto de los slots que componen la unidad

RED se utilizan para diferentes misiones dentro del sistema, y serán presentados más

adelante.

-77-

Page 82: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

RED< NODOS

UNIONES

Figura 5. Estructura jerárquica de las clases

principales.

Estas unidades básicas se organizan de forma jerárquica según el esquema

de la figura 5, en el que cada unidad se comporta a la vez como un clase en KEE.

A partir de esta estructura han de crearse los diferentes elementos de

cada red concreta. Es decir, las unidades que compongan la red se instalan como

miembros de la unidad NODOS, que está definida como una clase KEE. De la misma

forma se instalan como miembros de la clase UNIONES las que existan entre cada par

de unidades de la red. Esta tarea se puede realizar de una forma muy si mple mediante

la utilización de los menús que se han programado en el interface que se presentará

más adelante.

Existe otra unidad dentro de la base de conocimiento que no se encuentra

incluida en la estructura jerárquica. Esta unidad se llama CORRECCION y contiene

un valor activo. Se utiliza para resolver un problema de redondeo en las sumas que

presenta la aritmética de KEE. Este problema causaba pequeños errores en los slots

VALOR de los nodos, por lo que se incluyó dentro de la base de conocimiento. Es un

método que se encarga de obtener la cifra correcta cada vez que se actualiza el valor

de cualquiera de los nodos de la red.

Además de la estructura ya mencionada, cada una de las unidades posee

otros slots cuyo contenido tiene que ver con la ejecución del algorit mo o con el

interface de creación de la red. La mayor parte de estos slots son métodos, y algunos

de ellos se verán a lo largo de la presentación del trabajo. El resto puede ser

entendido fácilmente a partir de la documentación propia del programa.

-78-

Page 83: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

7 .3. ALGORITMO DB APRBNDIZAJB

El algoritmo de aprendizaje que se utiliza en el programa se corresponde

exactamente con el descrito en el apartado 3.1 . ALGORITMO DE APRENDIZAJE.

Como ya se ha explicado es un algoritmo iterativo que consta de dos fases distintas

que se repiten tantas veces como sea necesario hasta que la red consigue por sí

misma los vectores deseados.

Para la realización del algoritmo se utilizó el mecanismo de reglas que

proporciona KEE. Esta herramienta posee su propio lenguaje de reglas con el que se

puede hacer referencia a cualquier unidad, y dentro de ella al valor de cualquiera de

sus slots o de sus facetas. Con este lenguaje, que se llama TellAndAsk pueden

expresarse cualquier tipo de relaciones o condiciones entre los componentes de una

base de conocimiento de KEE. Las reglas tienen la estructura típica, con una parte

izquierda y una parte derecha, con la particularidad de que KEE distingue dos tipos de

partes derechas de las reglas. Uno de ellos está encabezado por la partícula THEN, y

debe contener una expresión del lenguaje TellAndAsk; el segundo tipo va encabezado

por la partícula DO y puede contener cualquier expresión de Lisp o de las funciones

que utiliza KEE para manejar sus estructuras. El primer tipo de parte derecha,

encabezado por THEN, se utiliza para realizar aserciones sobre hechos de la base de

conocimiento. El segundo tipo se utiliza para realizar acciones más complejas, que

normalmente involucran métodos escritos al efecto.

Una de las reglas que se utilizan en el programa puede servir de ejemplo

para ver la estructura general de las reglas:

( IF (( THE ESTADO OF ?NODO IS ACTIVO ) AND

-79-

Page 84: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( THE CONEXIONES OF ?NODO IS ? CON ) ANO

( THE ACTUALIZACION OF ?CON IS NO ) ANO

( THE PUNT02 0F ?CON IS ?NODO ) ANO

( THE ESTADO OF ( THE PUNTOl OF ? CON ) IS ACTIVO )

THEN (THE ACTUALIZACION OF ?CON IS SI )

DO ( PUT.VALUE ?CON 'PESO ( + ( GET.VALUE ?CON 'PESO )

( GET.VALUE 'RED 'DELTA ))))

Como puede verse las reglas presentan un formato muy similar al lenguaje

natural inglés. En este ejemplo puede verse cómo se pueden utilizar variables no

asignadas dentro de las reglas. Todas las palabras que comienzan por "?" son variables

que no tienen ningún valor cuando se empieza a ejecutar la regla. El sistema busca en

la base de conocimiento los valores que hacen cierta la expresión y ejecuta la regla

para todos ellos.

Las reglas pueden organizarse en forma jerárquica igual que las unidades,

lo que confiere al sistema una gran facilidad para estructurar el conocimiento que

posee. La estructura que se ha utilizado para organizar las reglas correspondientes al

algorit mo de aprendizaje de la red es la que se muestra en la figura 6.

Además de las reglas utilizadas, el algoritmo es guiado por un método de

nombre ALGORITMO contenido en un slot de la unidad RED. Este método se encarga

de disparar el razonamiento sobre las reglas adecuadas para la realización de cada

una de las fases del algoritmo. La secuencialidad inherente al algorit mo hace que su

realización mediante reglas no sea excesivamente elegante. El método realiza las

-80-

Page 85: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

-­/Rf:QLAS.coNTROL 11&!'.0l.AJ"UARJWJDA.PATllDN - - - - -R.l'IJAR.sALIDA.PATllDN

I Aflil..Al,ASIONAOIJN.PA TRON - -- - -R.AllONMllJN.PA TRON

/ lll:ILA.cALCl.a.O -- - - -R..cM CI• O I RfOLA.t:AlllBOJIOOJ'df: t ' - - - -R.cMBDJIESO.FASE 1 . 1

RfOLAS.ALOORITMO \ • "' · ·RJWlllOJIESO.FASE1.2 \ /Ar:ILAS.l'AR 1 llEOLA.fSTADO • : _ _ -A.ACTIVO

\ / -• ·R.INAOTIVO

\ RfOLAJNICIOJ'ASf t . llEQLAS.f ASES ( REGLA.VAlllA8l.E.FAE,1 - - - - -R.VARIAa..E.FASE 1

AfQl..AjJlAIQEN , : - ' -R.PUOS \., llEGLA.CAM8IOJJEIO.FAa2. - - .RJlAllMllQJIESO.f ASf.2• 1 • • ·R.VALCIAES \ / ,

-• ·RJ:AlmlOJIDOJ'AKZ.2

\ ·AEGLAS.f'ASE2 Rf:QLAJNEIOJ'AKZ • : - - .>ftJWTUALIZMllON

• • •1..-:ID.f'ASH ''·AEGLA.VARIAllLE.FASE2 - - - - -A.VAaL\8LE.FASE2

Figura 6. Estructura jerárquica de las reglas.

siguientes aserciones, que como podrá comprobarse es una ejecución de las diferentes

partes del algorit mo:

( ASSERT NIL REGLA.INICIO.FASEI )

( ASSERT NIL REGLA.ESTADO )

( ASSERT NIL REGLA.VARIABLE.FASE! )

( ASSERT NIL REGLA.CALCULO )

( ASSERT NIL REGLA.CAMBIO.PESO.F ASEl )

( ASSERT NIL REGLA.INICIO.FASE2 )

( ASSERT NIL REGLA.VARIABLE.FASE2 )

( ASSERT NIL REGLA.CALCULO )

( ASSERT NIL REGLA.CAMBIO. PESO.FASE ! )

Como se ve, el método sólo realiza un recorrido sobre las dos fases del

algorit mo, pero no se ocupa de tratar los resultados obtenidos y comprobar si es

-8 1 -

Page 86: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

necesario volver a ejecutar las dos fases de nuevo porque el vector de salida no era el

deseado. Para hacer esto es neceario un método que, esque máticamente, debe hacer:

MIENTRAS NO FIN DE PATRONES HACER:

- Asignar patrón de entrada

- Ejecutar las dos fases del algorit mo

- Comprobar la salida y decidir.

El método que realiza estas operaciones es el que se llama ITERACION

dentro de RED. Utiliza tres reglas para realizar su función:

- REGLA.ASIGNACION.PATRON: Pide que se escriban en la

pantalla los valores de los nodos que componen el patrón de entrada.

También los instala como los verdaderos valores de las unidades del

tipo NODOS correspondientes (las que no tienen ident ificación

INTERMEDIO).

- REGLA.ALGORITMO: Dispara la ejecución de las dos fases del

algorit mo sobre la red con los valores asignados anteriormente.

- REGLA.COMPROBAR.SALIDA: Dispara un método que actúa

sobre todos los nodos de la red cuya identificación es SALIDA. Este

método comprueba si el estado obtenido es igual al esperado y actúa

en consecuencia según sea el resultado de la comprobación.

Mediante estos métodos se puede entrenar a la red para que aprenda a

obtener las salidas adecuadas. El comportamiento de las unidades y los pesos de las

conexiones de la red puede verse en cada momento, ya que se ha incorporado a la

base de conoci miento un panel de imágenes. Este panel contiene los estados de todos

los elementos de la red representados en pequeñas ventanas, una para cada elemento,

-82-

Page 87: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

ya sea peso o unidad. Cada una de estas pequeñas ventanas se actualiza de forma

automática cuando se modifica el valor del elemento que representa. De esta forma

se puede seguir fácilmente la evolución de la estructura de la red.

El panel y los marcadores son elementos integrantes de la herramienta

KEE, y se incorporan a cualquier base de conocimiento de forma muy sencilla,

realizando selecciones sobre diferentes menús que también proporciona el sistema.

También se han incorporado actuadores para disparar los métodos de

forma inmediata. Estos son pequeñas ventanas situadas en la pantalla, que fuerzan la

ejecución del método asociado a ellas cuando son seleccionadas mediante el botón

izquierdo del ratón. Se utilizan para evitar la tediosa labor de escribir en el ejecutivo

de Lisp el comando necesario para que se produzca la ejecución de un método. Los

actuadores que se han utilizado son tres; el pri mero dispara la ejecución del algoritmo

de aprendizaje, el segundo fuerza la ejecución de un método denominado ORIGEN que

se encuentra en uno de los slots de la unidad RED y sirve para inicializar todos los

elementos de la red. Este método es necesario para poder regresar al estado inicial de

forma sencilla y rápida, sin tener que modificar los valores de las unidades y de los

pesos de las conexiones uno por uno. El tercero de los actuadores se utiliza para

comenzar la ejecución del interface que facilita la creación de los elementos de una

red concreta.

La herramienta KEE permite una programación totalmente interactiva,

por lo que es posible modificar la estructura de cada una de las imágenes que

aparecen en la pantalla mediante los botones del ratón y los menús que para ello

proporciona el sistema. Puede accederse además a la definición y edición de cada una

de las partes que componen el programa siguiendo el mismo método.

No se realiza la descripción exhaustiva y detallada de cada una de las

partes, unidades, slots, métodos, reglas y de más componentes del programa por

-83-

Page 88: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

considerar que se encuentra suficientemente documentado (facilidad que está

incorporada en la herramienta), y su exposición exhaustiva podría resultar demasiado

tediosa para el lector.

1.4. INTERFACE DE CREACIÓN DE LA RED

Hasta el momento se ha descrito la estructura y funcionamiento del

programa en cuanto a la modelización de la red y del algoritmo de aprendizaje de la

misma. Ya se ha mencionado anteriormente que las arquitecturas conexionistas han

de contener gran cantidad de unidades de proceso para que puedan ser utilizadas en

problemas verdaderamente útiles e interesantes. Por lo tanto, con el program a

realizado, la tarea de realizar ejemplos puede resultar bastante pesada, y a que es

necesario crear uno a uno todos los elementos de la red (nodos y uniones) y asignarles

los valores que han de tener (pesos, umbrales, estados, etc.). Si se desea construir una

red con gran cantidad de unidades de proceso, el trabajo de creación de la red puede

ser muy largo y tedioso. Aunque la herramienta utilizada para la realización del

programa es altamente interactiva y sencilla de utilizar, sería necesario conocer

bastante más a fondo el funcionamiento del sistema y la estructura del programa para

poder crear la red a partir de los menús de uso de las bases de conoci miento de KEE.

Por este motivo se ha pensado en la gran utilidad que puede tener la

realización de un módulo del programa que pudiera evitar a un potencial usuario la

necesidad de aprender a fondo las característ icas del programa y las de la

herramienta de construcción de sistemas expertos KEE. Este módulo no puede

considerarse como tal estrictamente hablando, ya que, al igual que el resto de las

partes integrantes del programa, está incluido en la estructura global, sin que pueda

-84-

Page 89: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

ser extraido como una porción independiente. Su función es la de permitir la creación

de los componentes de la red de forma sencilla y rápida.

Para crear una red con la estructura de la Máquina de Boltzmann, hay que

especificar todas las unidades que van a formar parte de ella, y para éstas los valores

concretos de sus slots principales. De igual forma hay que hacer con las uniones entre

las diferentes unidades, que también necesitan que se especifiquen algunos de los

valores de sus slots. El interface se llama mediante un actuador, como ya se ha

explicado anteriormente. Cuando se pulsa el botón izquierdo del ratón sobre la

ventana que ocupa el actuador comienza la ejecución del interface. En principio

aparece un menú de operaciones que pueden realizarse. Las operaciones posibles son

las siguientes:

- CREAR NODOS

- CREAR UNIONES

- SUPRIMIR NODOS

- SUPRIMIR UNIONES

El menú posee una tercera opción, FIN, que se utiliza para terminar la

sesión con el interface. Abandonar el intef ace no significa necesariamente que se

haya completado la red, puede abandonarse en cualquier momento y volver a

utilizarse posteriormente, volviendo a trabajar sobre lo ya realizado. Cuando se ha

abandonado el interface y se desea volver a utilizarlo sólo es necesario volver a

pulsar el botón izquierdo del ratón sobre la ventana del actuador.

Una vez hecha una selección en el menú general de operaciones el

programa solicita información sobre los valores de los slots principales de las

unidades que se desee crear, o pide el nombre de la unidad que se desea suprimir de la

base de conocimiento. Algunos de estos valores se solicitan mediante la aparición de

un menú en la pantalla. Otros, por el contrario, deben ser escritos por el usuario por

-85-

Page 90: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

medio del teclado. El programa está construido de tal forma que si se crea una

unidad, ya sea nodo o unión, sus slots principales toman valores por omisión, que son

los que tienen dichos slots en la estructura general de la clase, es decir, en las

unidades NODOS y UNIONES. Cuando se pide que se escriba el valor de un slot, se

proporciona la posibilidad de escoger el valor por omisión (llamado valor por defecto

en el interface) mediante la escritura de la letra "D" en lugar de un valor concreto

para el slot.

No es necesario seguir ningún orden en la creación de las diferentes

unidades, pero hay que tener en cuenta que si el valor de alguno de los slots de una

unidad depende de otra u otras unidades, como es el caso de los slots PUNTO! y

PUNT02 de las unidades UNIONES, que son de tipo NODOS, es necesario que los

nodos que vayan a escribirse como sus valores hayan sido creados con anterioridad.

Esto sucede por la propia construcción de la herramienta KEE, que realiza la

verificación de cada valor que se instala en los slots de una unidad, y no permite que

se haga referencia a unidades que no pertenezcan real mente a la base de

conocimiento. Esta característica ha facilitado mucho la labor de construcción del

interface, ya que no es necesario realizar comprobaciones exhaustivas sobre cada

dato que se escribe, es el propio sistema KEE el que se encarga de hacerlo.

Las funciones que gobiernan el interface se encuentran distribuidas entre

las tres unidades principales que componen el programa: RED, NODOS y UNIONES.

La función principal es la que se denomina OPERACIONES y se encuentra en un slot

de la unidad RED. Esta función es un método que se encarga de hacer aparecer el

menú principal y llamar a los métodos correspondientes a cada opción elegida. Los

métodos que crean o suprimen unidades de la base de conocimiento se encuentran

situados cada uno en la unidad sobre la que actúa, es decir, el método que crea nodos

se encuentra en un slot de la unidad NODOS, y el que crea uniones en un slot de la

unidad UNIONES. Esta organizacipón permite que se puedan realizar muy fácilmente

-86-

Page 91: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

modificaciones de cualquiera de los elementos que componen el interface. Los menús

que aparecen durante la ejecución del interface también están dentro de cada una de

las unidades en forma de slots de un tipo especial, y no constituyen una parte

independiente del programa.

-87-

Page 92: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

8. BIBLIOGRAFÍA

- Ackley, D.H., Hinton, G.E. y Sejnowski, T.J. : "A Learning Algorithm for

Boltzmann Machines", Cognitive Science 9, 147-169, 1985.

- Barto, A.G. : "Learning by Statistical Cooperation of Self-Interested

Neuron-Like Computing Elements", Hu man Neurobiology Vol. 4, NQ 4, Springer

Verlag, Nueva York, 1985

- Carpenter, G.A. y Grossberg, S. : "A Massively Parallel Architecture for

a Self-Organizing Neural Pattern Recognition Machine", Computer Vision, Graphics

and Image Processing 37, 54-1 1 5, 1986.

- Crick, F. y Mitchison, G. : "The Function of Dream Sleep", Nature, 304,

1 1 1-1 14, 1 983.

- Fahlman, S.E., Hinton, G.E. y Sejnowski, T.J. : "Massively Parallel

Architectures for A.I.: NETL, Thistle and Boltzmann Machines", Proceedings de la

AAAI Conference of Artificial lntelligence, Washington DC. 1 09-1 13, Kaufmann, Los

Altos, 1 983.

- Fahlman, S.E. y Hinton, G.E. : "Connectionist Architectures for

Artificial Intelligence", Computer, 100-109, Enero 1987.

-88-

Page 93: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

- Feldman, J.A. y Ballard, D.H. : "Connectionist Models and their

Properties", Cognitive Science, 6, 1982.

- Feldman, J.A. : "Conectionist Models and Parallelism in High Level

Vision", Computer Vision, Graphics and Image Processing 3 1 , 178-200, 1 985.

- Forsyth, R. y Rada, R. : "Machine Learning: Applications in E:rpert

Systems and Information Retrieval", Ellis Horwood, 1 986.

- Hinton, G.E. : "Learning in Massively Parallel Nets".

- Hinton, G.E. : "Parallel Models of Associative Memory", Erlbaum,

Hillsdale, N.J., 1981.

- Hinton, G.E., Sejnowski, T.J. y Ackley, D.H. : "Boltzmann Machine:

Constraint Satisfaction Networks that Learn", Technical Report CMU-CS-84- 1 1 9,

Carnegie-Mellon University, 1984.

- Hinton, G.E. y Sejnowski, T.J. : "Learning and Relearning in Boltzmann

Machines", de "Parallel Distributed Processing: E:rplorations in the Structure of

Cognition", Bradford Books, CAmbridge, MA, Vol 1, 1986.

- Hinton, G.E. : "Learning in Parallel Networks. Simulating Learning in a

Probabilistic System", Byte, Abril 1985.

- Hopfield, J.J. : "Neural Networks and Physical Systems with Emergent

Collective Computational Abilities", Proc. National Academy of Sciences USA, Vol.

79, NQ 8, Abril 1 982.

- Hummel, R.A. y Zucker, S. W. : "On the Foundations of Rela:ration

Labeling Processes", IEEE Trans. Pattern Analysis and Machine Intelligence, Vol.

P AMI-5, NQ 3, Mayo 1983.

-89-

Page 94: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

- K ienker, P.K., Sejnowski, T.J., Hinton, G.E. y Schumacher, L.E. :

"Separating Figure from Ground with a Parallel Network", Perception Vol. 1 5 NQ 2 ,

1 986.

- K irpatrick, S., Gelatt, C.D. y Vecchi, M.P. : "Optimization by Simulated

Annealing", Science 220, 1983.

- Metropolis, N., Rosenbluth, A., Rosenbluth, M., Teller, A. y Teller, E. :

"Equation of State Calculations for Fast Compu.ting Machines", Journal of Chemical

Physics 6, 1087, 1953.

- Minsky, M. y Papert, S. : "Perceptrons", MIT Press, Cambridge, 1 969.

- Rosenblatt, F. : "Principles of Neurodynamics: Perceptrons and the

Theory of Brain Mechanisms'', Spartan, Washington, D.C., 1961 .

- Rumelhart, D.E., Hinton, G.E. y Williams, R.J. : "Learning

Rpresentations by Back-propagating Errors", Nature Vol. 323, Octubre 1986.

- Sejnowski, T.J. y Rosenberg, C.R. : "NETTalk: A Parallel Network that

Learns to Read Aloud", Technical Report, JHU/EECS-86, John Hopkins University,

1986.

- Takeda, M. y Goodman, J. : "Neural Networks far Compu.tation: Number

Representations and Programming Complexity", Applied Optics Vol. 2 5 NQ 18,

Septiembre 1 986.

-90-

Page 95: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

9. APÉNDICES

-9 1 -

Page 96: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

APÉNDICE 1

Page 97: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

llED _..--NODOSUNIONES 1REOLAS.CONTROL _.,../:au.l'l.IAIUALDA:;-----R.FIJAR..PATAON

-......_ REGLAS.ASIGNACION.PA TRON---- -R.ASIGNAOION.PA TRON 1ReOLA.cALCULO-----R CAICll O I / .,. -= - - -A.CAMBIO.PESO..FASE 1 . 1 AEOLAS.ALOOAITMO\\ /REOLASJ'ASE 1

P.EOLA.PESOJ' 1 < . ' - -R.GAMBIO.PESO.F ASE 1 .2 REQLA.ESTADO · - - - -A.ACTIVO

• - • ·H.wACTf\IO llEOLA.l\IEICl.FASE 1 . f!EOU\S .F ASES/ AEGLA.VAllWR.E..F ,..1 - -- - -A.VARWILE..FASE 1

REfllASllAIBEN • :: - - -A.PESOS

\ AEGl.A.cAMlllO.PESO..Fk2 • - - JR.oMBO.PESO.F ASE2. 1

• • ·A.VALORES \ - • -R.cAlllmlO..PDOJ'ASl!Z.Z

·AEGLAS.l'ASE2REOLAJNCIOJ'ASEZ • :: - - ->R.ACTUAl..IZAOIO - • R.ftlaO.FASEZ AEGL\. VAAIABLE.FASE2 - - - - -R. VAAIABLE.FASE2

Page 98: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

APÉNDICE 2

Page 99: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

; ; ; - *- Mode : LISP ; P ackage : KEE ; Ba s e : l O . -*-

( BOLTZMANN ( " pr oyectos " " 1 4-Nov- 1 986 1 3 : 30 : 3 1 " "PROYECTOS " " 26-Aug- 1 987 1 0 : 58 : 58 " ) NIL ( KNOWLEDGEBASES ) NIL ( ) ( ( KBCOPY NIL METHOD METHOD NIL N I L )

( KBDELETE NIL METHOD METHOD NIL N I L ) ( KBLOAD NIL METHOD METHOD NIL NIL ) ( KBMETHODFILE ( BOLTZMANN ) ) ( KBSAVE NIL METHOD METHOD N I L NIL ) ( KBSI ZE 37 ) ( KEE. DEVELOPMENT . VERSION . NUMBER O ) ( KEE . MAJOR . VERSION . NUMBER 2 ) ( KEE . MINOB . VERSION . NUMBER 1 ) KEE . PATCH . VERSION . NUMBER 64 . 1 ) ( KEEVERSION KEE 2 . l ) ) )

( CORRECC ION ( " PROYECTOS " " 1 -Dec- 1 986 1 8 : 00 : 08 " " PROYECTOS " " 1 1 -Dec- 1 986 1 5 : 35 : 38 " ) NIL ( ( ACTIVEVALUE ACT IVEVALUES ) ) "Valor act ivo que expresa l o s numeras obtenidos para los valores d e l o s nodos y para los pesos

de las conex iones de forma cori:-ec.ta " ( ) ( ( AVPUT ( GLOBAL : LAMBDA ( SELF SLOT NUEVO VIEJO UNI DAD TIP O )

( PROG NIL ( RETURN L I ST ( GLOBAL : / ( FI XR (* 10 ( CAR NUEVO ) ) ) 1 0 . 0 ) ) ) ) ) ) ) )

( NODOS ( " pr oyect o s " " 1 4-Nov- 1 986 1 3 : 32 : 5 1 " " P ROYECTOS " " 26-ArJg- 1 98 7 9 : 2 2 : 53 " ) ( RE D ) ( ( CLASSES GENERICUNITS ) ) " Unidades < "

( ( COMPROBAI,,. SALIDA

( GLOBAL : LAMBDA ( SELF) ( CONO ( ( EQUAL ( GET . VALUE SELF ESTADO ) ( GE T . VALUE SELF sALIDA . PATRON ) )

( PUT . VALUE / RED / CORRECTO / SI ) ) ( T ( PUT . VALUE / RED / CORRECTO NO ) ) ) )

METHOD ( METHOD ) NIL ( ( COMMENT

"Comprueba si el estado del nodo des pues de la segunda fa se del a l gor i tmo es i gual al que :;_ r,di caba e l pat r on de entrnarn i e.n i: o ' ' '1 ) i

1 ;:,:JHEXIONES NIL N IL NIL N IL ( ( COMMENT ( " L i st a de las conexiones en las que i nt er vi ene el nodo " ) ) ) )

( ESTADO ( INACTI VO ) NIL ( ( ONE . OF ACTIVO I NACTIVO ) ) I U L ( ( COMMENT ( 11 E . t a d c a : "t 7--: " .::- ]_ r! 0 d o 11 \ i ::;.,Bf.. I .I.. IiY . i,iA ( l ) )

( I f'E:N'!' I F I CP.C I ON

Page 100: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ( OHE . CF ENTaADA SLIDA i TERMED I O ) ) N IL

( ( COMMENT ( " Funcion del nodo en la Led , ya sea e l emento de ENTRADA , I NTERMEDIO , o de SALIDA " ) )

( CARDINAL I TY . MAX ( 1 ) ) ) ) Sl>.LIDA . P ATRON

NIL NIL ( ( ONE . OF ACTIVO INACTIVO ) ) NIL ( ( CARDINALITY . MAX ( 1 ) )

( COMMENT " Contiene el estado del nodo para el patron de entrada . So l o es relevante si la identi f i cac

ion del nodo es SALIDA " ) ) ) ( UMBR.6.L

( 0 ) NI L ' ( REAL ) NIL ( ( COMMENT ( " Valor umbra l para calcular e l estado de act i vacion o inact i vacion del nodo" ) )

( CARDINAL ITY . MAX ( 1 ) ) ) ) ( VALOR

( -0 . l ) NIL ( REAL ) NIL ( ( AVUNITS ( #Unit ( CORRECCION BOLTZMANN ) ) )

( COMMENT ( " Va lor numer ico que t i ene el nodo , a part ir del cual se determina su e st ado de act i vacion

o inact i vaci on " ) ) ( CARDINALITY . MAX ( 1 ) ) ) )

( VARIABLE T ) NIL ( ( ONE . OF T N IL ) ) NIL ( COMMENT

( " Var iable bool eana ( T , NI L ) que ind i ca si el estado d e l nodo puede s er cambiado por el fun ci onamiento i nt erno

. de la r-ed . Su val or es NIL cuando el nodo es de ENTRADA o de SALIDA" ) )

( CARDINALITY . MAX ( 1 ) ) ) ) ( VER . SI . ACTIVA . A

( GLOBAL : LAMBDA ( SELF CONEX I ON ) ( P ROG ( ( NODO ( CONO ( ( EQUAL SELF ( GET . VALUE CONEXI ON ' PUNTO ! ) )

( GET . VALUE CONEXI ON 'PUNT0 2 ) ) ( T ( GET . VALUE CONEXION ' PUNTO l ) ) ) )

( P ESO . ARCO ( GET . VALUE CONEXION ' PESO ) ) ) ( CONO ( ( GET . VALUE NODO ' VARIABLE )

METHOD ( METHOD ) NIL ( ( COMMENT

( P UT . VALUE NODO ' VALOR ( + ( 6ET . VALUE NODO ' VALOR ) P ESO . ARCO ) ) ( COND ( ( >= ( 6ET . VALUE NODO ' VALOR ) ( GET . VALUE NODO ... UMBRAL ) )

( P UT . VALUE NODO 'ESTADO " ACTIVO ) ) ( T ( P UT .. V.LUE NODO ··· EST.DO ·· IHACTIUG ) :i ! )

(1 N I L ) ) ) )

( " Metodo que calcula e l estado de los nodos conectados con e l nodo propietar i o del met odo . Toma como at'gumentos el nndo pI'opietar io y una tm idad de UNIONES" \ l \ ) )

Page 101: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

\ ¡11,s:=i E B T N I L METHOD ( METHOD ) NIL ( ( COMMENT

E\ LA .. CAl_.CULü ) ,1

( ' ' Metodo que d i spar-a e l funci onam iento i nt er-no de la red a par t i r- de una determ i nada s it ua cion ut i l i zando REGLA . CALCULO " ) ) ) )

( CREAR . NODOS ( GLOBAL : LAMBDA ( SELF ) ( PROG ( DATO )

( TERP R I )

METHOD ( METHOD ) NIL .

( PRINTOUT T " NOMBRE DEL NUEVO NODO : 11 ) ( SETQ DATO ( CREATE . UN I T ( READ ) NIL N I L ' ( NODOS ) ) ) ( TERP R I ) ( P UT . VALUE DATO

' ESTADO ( M ENU ( GET . SLOT . MENU ' NODOS ' MENUESTADO 'OWN ) ) -· owN >

( P UT . VALUE DATO ' I DENTIFICACION ( MENU ( GET . SLOT . MENU ' NODOS ' MENU IDENTIF 'OWN ) ) ··· owN ) ¡ ¡

( ( CCMMENT " Cont iene la funcion que crea nuevo s n odo s " ) ) ) ( MENUESTADO

( ( " ACTIVO" ' ACTIVO ) ( " I NACT I VO " ' I NACTIVO ) ) NIL ( MENUITEM ) NIL ( ( TITLE ( " ESTADO DESEADO " ) )

( COMMENT " Menu para e l e g i r el estao de un nodo en el momento de. su creac ion'' ) ) ) ( MENUIDENTI F

( ( " ENTARDA " ·' ENTRADA ) ( " SALI DA " ·' SALIDA ) ( " INTERMEDIO " ' I NTERMEDIO ) ) NIL ( MENUITEM ) NIL ( ( TITLE ( " IDENTIFICACION DEL NODO " ) )

( COMMENT "Menu para e l eg ', r la ident i f i cacion del nodo en el momento de s u creaci o n " ) ) ) ( SUPRIMIR . NODOS ( GLOBAL : LF>, 1BDA ( SEU )

( TERPRI )

( E • . 6.CTIVO

( PlUNTOUT T " NOMBRE DEL NODO : " ) ( UN ITDELETE C READ ) ) )

METHOD ( METHO D ) N I L ( \ COMMENT " Cont i ene el rnet odo que s upt ime u n nodo d e la r-e•i " ) ) ) ) )

\ u proyect o s tl 1 1 -No·v- 1 986 l 2. : 33 : 24 u º P HOYECOS !I •: : c:.-c\- l S"2:6 1 0 : 57 : 55 ª ) NIL ( REGLA . ESTADO ) NH • .

( ) ( ( .SSERTION ( l/W f f AN ESTADO OF ?NODO IS ACTIVO ) ) )

( EXTERNAL . FORM ( !F ( ( TP.E V.to.LOR OF ?NODO IS ? X ) AND

( TR! UMBRAL OF ?NODO IS ?Y )

Page 102: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

- .- - • -. ,. .-. ,..., .... l" .·- - -.:-_ = .L ,-·. .: '--·' :_: :.: : · .i" ; ._';_). _ _:

; 2 J:c:rasz ( /i W f f ( ,6, V.6, LOR OF ' ! WDO IS n i # W f f ( A UMBR.6.L OF ? HODO IS ' Y ) /FW -: i ( > = '; X ' Y ) ) ) ) )

( R . ACTUALI ZACION ( " PROYECTOS " " 2 7 -Nov- 1 986 1 5 : 46 : 26 " " P ROYECTOS " " 1 0-Dec- 1 986 1 5 : 1 4 : 00 " ) NIL

( REGLA . INICI O . FASE ! REGLA . IHICI O . FASE2 ) NIL - -- -· . - -( ) ( ( ASSERT IOH ( #W f f ( AH ACTUALI ZACION OF ?CON IS NO ) ) )

( EXTERNAL . FORM ( IF ( ?CON IS IN UNIONES ) THEN ( THE ACTUALI Z AC ION OF ?CON IS NO ) ) ) ( P REMISE ( #W f f ( ?CON IS I N CLASS UNIONES ) ) ) ) )

( R . ASIGNACION . PATRON ( " PROYECTOS " " l l -0ec- 1 986 1 6 : 2 7 : 5 2 " "PROYECTOS " " 1 2 -Dec- 1 986 1 1 : 56 : 08 " ) NIL ( REGLAS . ASIGNACION . PATRON ) " P i de al u s uar i o los va lores cor respondient e s para l o s nodos de un patron " ( ( ( ACT ION ( ( P R I NTOUT T ( UN I T . NAME ?NODO ) " • • • • " ) ( PU T . VALUE ? NODO ·' VALOR ( GLOBAL : READ ) ) ) )

( EXTERNAL . FORM

( I F ( ( ? NODO IS IN NODOS ) AND ( ( THE IDENTIFICACION OF ? NODO I S ENTRADA ) OR

( TH E I DENTIFICACI ON OF

DO ( PRINTOUT T ( UN I T . NAME ?NODO ) " • • • • " ) ( PUT . VALUE ? NODO / VALOR ( GLOBAL : READ ) ) ) )

( P REMISE ( #Wff ( ? NODO IS IN CLASS NODOS )

?NODO IS SALIDA ) ) )

#W ff ( ( A N IDENTIFICACIOH OF ?NODO IS ENTRADA ) OR ( AN IDENTIFICACION OF ?NODO IS SALIDA ) ) ) ) )

( R . CALCULO ( " proyecto s " " 1 4-Nov- 1 986 1 3 : 34 : 32 " "PROYECTOS " " l l -Dec- 1 986 1 5 : 44 : 1 6 " ) NIL ( REGLA .CALCULO ) NIL

( ) ( ( f>.CT ION ( ( PRINT ? NODO ) ( PRINT ?DESTINO ) ( UNITMSG ?NODO / VE R . S I . ACTIVA . A ? DESTINO ) ) )

( A:3SERT ION )

( EXTERNAL . FORM ( IF ( AND ( THE ESTADO OF ?NODO IS ACTIVO ) ( THE CONEXIONES OF ?NODO IS ?DESTINO ) )

DO

PRINT ?NODO ) ( PH INT ?DESTINO) ( UHITMSG ?NODO ' VER . SI . ACTIVA . A ?DESTI NO ) ) )

( P REMISE ( #Wff ( AN ESTADO OF ?HODO IS ACTIVO ) ##Wff .< A CONEXIONES OF ?NODO I S ? DESTINO ) ) ) ) )

( R . CAMBIO . PESO . FASE l . l

Page 103: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

, . ! .! • .L.

( REGLA . CAMB I O . P ESO . FASE i )

NIL

( ) ( ( ACTION ( ( P UT . VALUE ?CON ' PESO ( + ( GET . VALUE ?CON ' P ESO ) ( GET . VALUE ' RED ' DELTA ) ) ) ) )

( ASSERTION ( #Wff C AN ACTUAL I ZACION OF ?CON IS SI ) ) ) ( EXTERNAL . FORM ( IF ( ( THE ESTADO OF ?NODO IS ACT IVO ) AND

TREN ( THE ACTUAL I ZACION OF ?CON IS SI ) DO ( P UT . VALUE ?CON

·· P ESO

( THE CONEXIONES OF ?NODO IS ?CON ) AND ( THE ACTUAL I Z ACION OF ?CON I S NO ) AND ( THE PUNTO ! OF ?CON IS ?NODO ) ANO ( THE ESTADO

OF ( THE PUNT0 2 OF ?CON ) IS

-

ACtr VO ) )

( + ( GET . VALUE ?CON ,. P ESO ) ( GET . VALUE ' RED ,. DELTA ) ) ) ) ) ( P REMISE ( l/Wff ( AN E!::TADO OF ?NODO IS ACTIVO ) #Wff ( A CONEXI ONES OF ?NODO I S ? CON )

#Wff ( AN ACTUAL I ZACION OF ?CON IS NO ) #Wff ( A PUNTO l OF ? CON IS ?NODO ) #Wf f ( A PUNT02 OF ?CON IS ?VAR2 ) #Wff C AN ESTADO OF ? VAR2 IS ACT I VO ) ) )

( WEIGHT ( 2 ) ) ) )

( R . CAMBI O . PESO . FASE I . 2 ( " PROYECTOS" " 2 7-Nov- 1 986 1 5 : 09 : 53 " " P ROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 6 : 40 " ) NIL ( REGLA . CAMB I O . P ESO . FASE ! ) NIL ( ) ( ( ACTION ( ( P UT . VALUE ?CON ' P ESO ( + ( GET . VALUE ?CON ' PÉSO ) ( GET . VALUE ' RED ' DELTA ) ) ) ) )

( ASSERTION ( #Wff ( AN ACTUALI ZACION OF ? CON IS S I ) ) ) ( EXTERNAL . FORM ( IF ( ( THE ESTADO OF ?NODO IS ACT IVO ) AND l \

THEN ( THE ACTUALI ZACION OF ?CON IS SI ) DO ( PU T . VALUE ?CON

,. P ESO

( THE CONEXIONES OF ?NODO IS ?CON ) ANO ( THE ACTUALI Z ACION OF ?CON IS NO ) ANO ( THE PUNT02 OF ?CON IS ? NODO ) ANO ( THE EST.o.Do

OF

( THE PUNTO l OF ?CON ) IS

(+ ( GET . VALUE ?CON ,. P ESO ) ( GET . VALUE ''P.ED .. DELTA ) ) ) ) ) ( PHEM I SE ( #Wff ( AN ESTADO OF ? !.fODC" I 3 .:..c'i'IVO ) tl W f f ( f.. CONEXI.JHES •:;; · · • ; I S o;COH )

Page 104: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

# W f f ( A P UNTO ! OF ? GQH IS ?VAR3 ) #Wff ( AN ESTADO OF ? V AB3 IS ACT IVO ) ) ) ) )

( R . CAMB IO . PESO . FASE2 . l ( " PROYECTOS " " 2 7-Nov- 1 986 1 6 : 1 6 : 45 " " P ROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 8 : 2 6 " ) NIL ( REGLA . CAMB I O . P ESO . FASE 2 ) NIL ( ) ( ( ACTION ( ( P UT . VALUE ?CON -' P ESO ( - ( GET . VALUE ?CON -' P ESO ) ( GET . VALUE '' RED ·' DELTA ) ) ) ) )

( ASSERT I ON l #Wff ( AN ACTUAL IZACION OF ?CON IS S I ) ) ) ( EXTERNAL . FORM ( I F ( ( THE ESTADO OF ?NODO IS ACTIVO ) AND

( !HE CONEXIONES OF ?NODO IS ?CON ) ANO

' ( THE ACTUALI ZACIO.H OF ?·:OH IS NO ) ..,.

THEN ( THE ACTUAL I ZACION OF ?CON IS S I ) DO ( P UT . VALUE ?CON

,. P ESO

ANO . ( THE PUNTO l OF ?CON IS ?NODO ) AFD ( THE ESTADO

OF ( THE PUNT02 OF ?CON )

IS ACTIVO ) )

( - ( GET . VALUE ?CON -' PESO ) ( GET . VALUE -' RE D -' DELTA ) ) ) ) ) ( P REMISE ( #W f f ( AH ESTADO OF ?NODO IS ACTIVO ) #Wff ( A CONEXIONES OF ?NODO I S ?CON )

#W f f ( ti.N ACTUALI ZACION OF ?CON IS NO ) #Wff ( A P :;NTOl OF ?CON IS ?NODO ) #W f f ( A PUNT02 OF ?CON IS ? VAR4 ) #Wff ( AH ESTADO OF ?VAR4 IS ACTIVO ) ) ) ) )

( R . CAMBI O . P ESO . FASE2 . 2 ( " PROYECTOS " " 2 7-Nov- ;_ 986 1 6 : 1 6 : 50 " " P ROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 8 : 23 " ) NIL t i ( REGLA . CAMB I O . P ESO . FASE2 ) NIL ( ) ( ( ACTION ( ( P UT . VALUE ?CON -' P ESO ( - ( GET . VALUE ?CON -' P ESO ) ( GET . VALUE -' RE D -' DELTA ) ) ) ) )

( ASSERTION ( #Wff ( AN ACTUALIZACION OF ?CON IS SI ) ) ) ( EXTERNAL . FORM ( IF ( ( !HE ESTADO OF ?NODO IS ACTI VO ) AND

THEN

( THE CONEXIONES OF ?NODO IS ?CON ) AND ( THE ACTUALI Z ACION OF ?CON I S NO ) AND

-•TT"Y.,... ,... , t' U f 1 V 1 OF ?CON I S ?NODO )

AND ( THE ESTADO

OF ( THE PUNT02 OF ?CON ) I S ACTIVO ) )

Page 105: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

DO ( P UT . V.LUE ? CON

,. PESO ( - ( GET . VALUE ?CON ... P ESO ) ( GET . VALUE ·' 1'ED ... DELTA ) ) ) ) )

( PREMISE ( #Wff ( AN ESTADO OF ?NODO IS ACT IVO ) #Wff ( A CONEXIONES OF ?NODO IS ?CON ) #Wff \ AN ACTUALI ZACION OF ?CON IS NO ) #Wff ( A P UNTO l OF ? CON IS ?NODO ) #W f f ( A PUNT02 OF ?CON IS ? VAR5 ) #Wff ( AN ESTADO OF ?VAR5 IS ACTIVO ) ) ) ) )

( R . COMPROBAR . SAL IDA ( " P ROYECTOS " " l l -Dec.- 1 986 ! 7 : 56 : 36 " "PROYECTOS " " l l -Dec.- 1 986 1 7 : 58 : 38 " ) NIL ( REGLA . COMPROBAR . SALIDA ) NIL ( ) ( ( ACi JON ( ( UNI TMSG ? NODO ... COMP ROBAR . SALIDA ) ) )

( EXTERNAL . FORM ( I F ( ( ?NODO IS IN NODOS ) AND ( THE I DENTIFICACION OF ?NODO IS SALIDA ) ) DO ( UN I TMSG ?NODO ' COMP ROBAR . SALIDA ) ) )

( P BEMISE ( #Wff ( ? NODO IS IN CLASS NODOS ) #Wff ( AN I DENTIFICACION OF ? NODO IS SAL I DA ) ) ) ) )

( R . FIJAR . SALIDA . PATRON ( " PROYECTOS " " l l -Dec.- 1 986 1 7 : 45 : 25 " "PROYECTOS" " 1 1 -Dec.- 1 986 1 7 : 48 : 09 " ) NIL ( REGLA . F IJAR . SALI DA . PATRON ) NIL

- -···- ---- .. . . . ·· - - -- ---·

( ) ( ( ACTION ( ( P UT . VALUE ?NODO ... SALIDA . PATRON ( GET . VALUE ?NODO ... ESTADO ) ) ) )

( E, :ERNAL . FORM ( I F ( ( ?NODO IS I N NODOS ) ANO ( THE I DENTIFICACION OF ?NODO I S SALIDA ) ) DO ( P UT . VALUE ?NODO ... SALIDA . PATRON ( GET . VALUE ?NODO ... ESTADO ) ) ) )

( PREMISE ( #Wff ( ?NODO IS I N CLASS NODOS ) #Wff ( AH I DENTIFICACION OF ?NODO I S SALI DA ) ) ) ) )

( R . INACTIVO ( " p oyect os " " 1 4-Nov- 1 986 1 3 : 33 : 24 " " PROYECTOS " " 1 9-Nov- 1 986 1 0 : 58 : 1 7 " ) NIL ( REGLA . ESTADO ) NIL ( ) ( ( ASSERTION ( #Wff ( AN ESTADO OF ?NODO IS INACTIVO ) ) )

( EXTERNAL . FORM ( IF ( ( THE VALOR OF ?NODO IS ? X ) AHD ( THE UMBRAL OF ?NODO IS ?Y ) ANO ( < ?X ?Y ) )

1 7E E3TADO OF ?NODO I S I MA C T I VO I J ) ( P REM I SE ( #Wff ( A VALOR OF ?NODO IS ? X ) #Wff ( A UMBRAL OF ? NODO IS ? Y ) #Wff ( < ?X ?Y ) J ) ) )

( R . IHICI O . FASE2 ( " PROYECTOS " " 1 9-Nov- 1 986 1 1 : 09 : 05 " "PROYECTOS" " l l -Dec.- 1 986 1 5 : 25 : 44 " ) NIL ( REGLA . INICI O . FASE 2 ) NIL

Page 106: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ( P UT . VALUE ?NODO ' VALOR ( - ( GET . VALUE ?NODO ' UMBRAL ) ( GET . V ALUE ' RED ' DELTA ) ) )

( ASSEBT NIL ' REGLA . ESTADO ) ) ) ( ASSERTION N I L ) ( EXTERNAL . FORM ( IF ( THE IDENTIFICAC ION O F ?NODO I S SALIDA )

DO ( PUT . VALUE ?NODO

' VALOR ( - ( GET . VALUE ?NODO ' UMBRAL ) ( GET . VALUE -'RED -' DELTA ) ) )

( ASSERT NIL ' REGLA . ESTADO ) ) ) ( P REMISE ( llWff ( .N I DENT I FICACION OF ?NODO IS SALI DA ) ) ) ( WEIGHT ( 0 ) ) ) )

( R . PESOS ( " P ROYECTOS " " 1 0-Dec- 1 986 1 5 : 32 : 4 1 " " P ROYECTOS " " 1 0-Dec- 1 986 1 5 : 32 : 4 1 " ) NIL ( REGLAS . ORIGEN ) NIL ( ) ( ( ASSERTION ( #Wff ( A P ESO O F ?CON I S 0 . 1 ) ) )

( EXTERM.L . FORM ( IF ( ? CON IS IN UNIONES ) THEN ( THE P ESO OF ? CON I S 0 . 1 ) ) ) ( P REMISE ( l/Wff ( ?CON IS IN CLASS UNIONES ) ) ) ) )

( R . VALORES ( " PROYECTOS" " 1 0-Dec-1 986 1 5 : 32 : 39 " " P ROYECTOS " " 1 0-Dec- 1 986 1 5 : 32 : 39 " ) NIL ( REGLAS . ORIGEN ) NIL ( ) ( ( ASSERT ION ( #Wff ( A VALOR O F ?NODO IS -0 . 1 ) ) )

( EXTERNAL . FORM ( IF ( ?NODO IS IN NODOS ) THEN ( THE VALOR OF ? NODO I S -0 . 1 ) ) ) ( P REMISE ( #Wff ( ?NODO I S I N CLASS NODOS ) ) ) ) )

( R . VARIABLE . FASE l ( " proyectos " " 1 4-Nov- 1 986 1 3 : 35 : 20 " " P ROYECTOS " " 26-Nov- 1 986 1 5 : 25 : 33 " ) NIL ( REGLA . VARI ABLE . FASE ! ) NIL ( ) ( ( ASSERTION ( #Wff ( A VARI ABLE OF ?NODO IS N I L ) ) )

( EXTERNAL . FORM ( IF ( OR ( THE I DENTIFICACION OF ?NODO IS ENTRADA ) ( THE IDENTIFICAC ION OF ?NODO IS SALI DA ) )

THEN ( THE VARIABLE OF ?NODO IS NIL ) ) )

( P REMISE ( #Wff ( ( AN IDENT I F ICAC ION OF ?NODO IS ENTRADA ) OR ( AN IDENTIFICACION OF ?NODO IS SAL IDA ) ) ) )

( WEIGHT ( l ) ) ) )

( R . VARIABLE . FASE2 ( " PROYECTOS " " 1 7-Nov- 1 986 1 6 : 30 : 00 " " P ROYECTOS" " 26-Nov- 1 986 1 5 : 3 1 : 55 " ) NIL ( REGLA . VARIABLE . FASE2 ( CLASSES GENERICUN I TS ) ) NIL ( ) ( ( ASSERT ION ( #W f f ( A VAR IABLE OF ?NODO IS NIL )

( EXTERNAt . FOUM r r r f THE I CET I F I CACION OF ? NODO IS ENTRADA l

Page 107: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

_j n c. .h ( THE VARI ABLE OF ? NODO I S N I L ) ) )

( P REM I SE ( #W f f ( AN I DENT I F I CAC ION OF ?NODO IS ENTRADA ) ) ) ) )

( RED ( " PROYECTOS " " 25-Nov- 1 986 1 7 : 00 : 24 " "PROYECTOS " " 26-Aug- 1 98 7 1 0 : 5 2 : 2 2 " ) NIL ( ( CLASSES GENERICUN ITS ) ) "Estructura ba s i ca de la r ed compuesta por NODOS y UN I ONES " ( ) ( ( ALGORITMO ( GLOBAL : LAMBDA ( SELF )

( ASSERT NIL ,. REGLA . INICIO . FASE l ) ( ASSERT NIL ' REGLA . ESTADO ) ( ASSERT NIL ·' REGLA . VARI/>.BLE . FASE l ) ( A SSERT NIL ,.REGLA . CALCULO ) ( ASSERT NIL ,. REGLA . CAMBIO . PESO . FASE;_.i ( ASSERT N I L ,. REGLA . INICI O . FASE 2 ) ( ASSERT NIL ·' REGLA . VARIABLE . FASE2 ) ( ASSERT NIL ,. REGLA . CALCULO ) ( ASSERT NIL ' REGLA . CAMBIO . PESO . FASE2 ) )

METHOD ( METHOD) NIL , ( ( COMMENT ( " Algo1 itmo que r ea l i za el apren•:Hzaj e ut i l i zando REGLAS . ALGOR I TMO " ) ) )

( ASIGNAR . PATRON ( GLOBAL : LAMBDA ( SELF )

( PRINTOUT T " ESCRI BA LOS VALORES CORRESPONDIENTES A CADA NODO : " ) ( ASSERT NIL ,. REGLAS . AS IGNACION . P ATRON ) )

METHOD ( METHOD ) NIL ( ( COMMENT .

"P ide al usuar i o los valores de los nodos de l a r ed ( un patron de entrenamient o ) " ) ) ) ( COMPROBACION

( GLOBAL : LAMBDA ( SELF ) ( ASSERT NIL ,. REGLA . COMPROBAR . SALIDA ) )

METHOD ( METHOD ) NIL ( ( COMMENT

¡ 1

''I:anza_ e_l

_r".azonamient o que compri..teba l a s sal idas despues •ie una ej ecuc i on del a l go r i t mo co n un patron" ) ) )

( CORRECTO ( NO ) NIL ( ( ONE . OF SI NO ) ) NIL ( ( CARDINALITY . MAX ( l ) )

( COMMENT 11 Val or· 'b o:-l ear.i.O ! C T J.Jn \

, ....... ..... .. .... " - ; t od o s l o s patr ones de ent raa la sal ida adecuada t r as la s egunda fa se del a l gor i t mo de aprendizaj e ª ) ) )

( DELTA ( 0 . 1 ) NIL ( REAL ) NIL ( ( COMMENT

( " Valor corrector de l o s p e s o s de las conexiones en : : i tmo de apendizaj e '' ) )

( CARDINALITY . MAX f l ) ) l l

1 - · • . .1. f O L J

Page 108: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

- . - . · . . , ...._ .... .i:....'-·, :.., "'- '._.,; .. "

( GLOBAL : LAMBDA I SELF ) ( UNI TMSG ' RED ' ASI GNAR . PATRON ) ( U NITMSG ' RED ' ALGORITMO ) ( UNITMSG ' RED ' COMPROBACION ) )

METHOD ( METHOD) NIL ( ( COMMENT " Metodo que real i za una iteracion comp l eta con t odos l o s patrones de entrada " ) ) )

( MENUOPERACIONES ( ( "CREAR NODOS " ,. N ) ( " CREAR UNIONES " ' U )

( " SUP RIMIR NODOS " ' SN) ( " SUPRIMIR UN I ONES " ·' SU )

NIL ( MENU ITEM ) NIL ;.,1

( " F I N " ' F ) )

( ( TITLE ( " OPERACIONES BASI CAS " ) ) ( FONT ( KE E . T ITLE . FONT ) )

( OP ERiCIONES ( GLOBAL : LAMBDA ( SELF )

( P ROG ( ( OPERAC I ON NIL ) ) ( DO NIL

( ( EQ OP,!':RAC ION ' F ) )

( COMMENT " Menu pr incipal de c r eacion de la red" ) ) )

( SETQ OPERACION ( MENU ( GET . SLOT . MENO ·' RED ,. MENUOPERACIONES ... OWN ) ) ) ( COND ( ( EQ O PERAC I ON ' N )

METHOD ( METHOD ) NIL

( UN ITMSG ' NODOS ' CREAR . NODOS ) ) ( ( EQ OP ERACION ' U )

( UNITMSG ' UN IONES ,. CREAR . UNIONES ) ) ( ( EQ OPERACION 'SN )

( UN ITMSG ' NODOS 'SUPRIMIR . NODOS ) ) ( ( EQ OPERACIO ' S U )

( UNI TMSG ' UN IONES 'SUPRIM . UN I ONES ) ) ) ) ) )

( ( COMMENT " Cont i ene l a funcion que se ocupa del menu pr incipal d e operac iones " ) ) ) ( ORI GEN ( GLOBAL : LAMBDA ( SELF )

( ASSERT NIL ' R EGLAS ,ORIGEN ) ) METHOD ( M ETHOD ) NIL

t i

( ( COMMENT " In i c i a l i za l a red" ) ) ) ( \\IMAGE . P ANEL H IL ) ) )

( REGLA . C.l\LCULO ( " pr·oyeet o s " 11 1 4-ficv- 1 986 1 3 : 34 : 32 " " P ROYECTOS " " 5-Dec-1 986 1 3 : 44 : 52 " ) ( REGLAS . FASE2 REGLF.S . FASE l ( RULES RULESYSTEM2 i ) ( ( RULE . CLASSES RULESY57EM 2 ) )

( ( ,6,SSERTION ( PREMISE ) )

( ( AHD . TRACE ) ( FC . TRACE ) ( IMMEDIATE . RULE . APPLICATION . MODE ( ON ) C OR . TRACE ) ( PANEL . TRACE ) ( STEPPER . MODE )

Page 109: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( BEGLA . CAMB I O . P ESO . FASEl

( " P ROYECTOS " " 26-Nov- 1 986 1 5 : 23 : 38 " " P ROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 7 : 1 9 " ) ( REGLAS . FASE l ) ( ( CLASSES GENERICUNITS ) ( RULE . CL.6.SSES RULESYSTEM2 ) ) "Clase de i:·eglas que s e oc.upan de la mod i fieae ion •ie los pesos de las eonexiones s egun l a pr- im

er a fase del al gor itmo de aprendizaj e " ( ( ASSERTION )

( PREMISE ) ) ( ( AND . TRACE)

( FC . TRACE ) ( IMMEDIAT E . RULE . APPLICATION . MODE ( ON ) ) C OR . TRACE ( OFF ) ) ( PANEL . TRACE ) ( STEP PER . MODE) ( TEXT . TRACE ) ) )

( REGLA . Cl>.! ·1BIO . P ESO . F.6.SE2 ( " PB.OYECTOS" " 26-Nov- 1 986 1 5 : 28 : 26 " " P ROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 8 : 45 " ) ( REGLAS . FASE2 ) ( ( CU:SSE:S GENERICUNI TS ) ( RULE . CLASSES RULESYSTEM2 ) ) " Cl ase de r eglas que se oc.upan de la modificacion de los pesos de las conexiones s egun la s egu

nda fase del algor itmo de aprendizaj e " ( ( ASSERTION )

( PREMISE ) ) ( ( AND . TRACE )

( FC . TRACE ) ( I MMEDIAT E . RULE . APPLICATION . MODE ) C OR . TRACE ) ( P ANEL . TRACE ) ( STEPP ER . MODE) ( TEXT . TRACE ) ) )

( REGLA . COMPROBAR . SALI DA ( " P ROYECTO S " " l l -Dec-1 986 1 7 : 56 : 1 2 " " PROYECTOS " " 1 2-Dc- 1 986 1 1 : 45 : 47 " ) ( REGLAS . CONTROL ( RULES RULESYSTEM 2 ) ) ( ( RULE . C[ ASSES RULESYSTEM2 ) ) NIL ( ( ASSERT . MODE ( REPLACE ) )

( ASSERTION ) ( P REM ISE ) )

( ( ANO. TRAC E ) ( FC . TRACE ) ( I MMEDIATE . RULE . APPLICATION . MODE ) C OR . TRACE ) ( P ANEL . TRACE ) ( STEP PER . MODE) ( TEXT . TRACE ) ) )

( REGLA . ESTADO -( " proyect o s " " 1 4-Nov- 1 986 1 3 : 33 : 24 " " PROYECTO S " " 5-Dec-1 986 1 3 : 44 : 1 3 " ) ( REGLAS . FASE2 REGLAS . FASE! ( RULES RULESYSTEM 2 ) ) RULE . CLASSES RULESYSTEM 2 ) ) "Regla comun a las dos fa ses . Determina l o s estados de todos los nodos de la red a part ir- de 1

e s valores de cada uno de e l l o s " ( ( ..SSERT . MODE ( REPL.6.CE ) )

Page 110: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ASSERT I OH )

( P REMISE ) ) ( ( ANO . TRACE)

( FC . TRACE ) ( I MMEDIATE . RULE . APPLICAT I ON . MODE ) C OR . TRACE ) ( P ANEL . TRACE ) ( STEPPER . MODE) ( TEXT . TRACE ) ) )

( REGLA . FIJAR . SALIDA . PATRON ( "P ROYECTOS " " l l -Dec-1 986 1 7 : 44 : 50 " " PROYECTOS" " 1 2 -Dec- 1 986 1 1 : 45 : 52 " ) ( REGLAS . CONTROL ( RULES RULESYSTEM2 ) ) ( ( RULE . CLASSES RULESYSTEM 2 ) ) "Una vez leido el patron

valores correspondiente s " ( ( ASSERT . MODE ( REPLACE ) )

( ASSERTION ) ( P REMISE ) )

( ( AND . TRACE)

de entrada , as igna a l s l ot SALIDA . FA 10N de las 1mi d.ades de s a l i •ia los ...

( FC . TR:!'.CE ) ( IMMEDIATE . RULE . APPLICAT I ON . MOD E ) C OR . TRACE ) ( P ANEL . TRACE ) ( STEPPER . MODE ) ( T EXT . TRACE ) ) )

( REGLA . I NICIO . FASE! ( " PROYECTOS" " 2 7-Nov- 1 986 1 5 : 47 : 1 5 " " PROYECTOS" " 5-Dec- 1 986 1 3 : 46 : 49 " ) ( REGLAS . FASE ! ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUNI TS ) ) " Regla que se ut i l iza para preparar todos l o s nodos para l a pr imera fase del a l gor i tmo . Cont ie

ne una unica regla R . ACTUALI Z ACION , que tambien es ut i l i zada en la segunda fase del a l goritmo de aprendizaj e "

( ) ( ) )

( REGLA . INICI O . FASE2 ( " PROYECTOS " " 26-Nov- 1 986 1 5 : 28 : 2 7 " " PROYECTOS" " 5- Dec- 1 986 1 3 : 50 : 46 " ) ( REGLAS . FASE2 ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUNITS ) ) " Regla que s e ut i l i za para preparar todos l o s nodos para l a s eg unda fase del a l gor itmo " ( ) ( ) )

( REGLA . VARIABLE . FASE l

( REGLAS . FASE ! ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUNITS ) ) " Regla que a s i gna los valores del s l ot VARIABLE de tÓdos los nodos de la r ed en funci on de su

ident i ficacion y de las r e s t r icciones de la pr imera fase" ( ) ( ) )

Page 111: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( REGL.<\S . FP.SE2 )

( ( BULE . CLASSES BULESYSTEM2 ) ( CLASSES GENEBICUNITS ) )

" Regla que a s igna l o s valores del s l ot VARIABLE de t odos l o s nodos de l a r ed en func ion de su

ident i ficacion y de l a s r e s t r icciones de la segunda fas e "

( )

( ) )

( REGLAS . ALGORITMO ( " PROYECTOS " " 26-Nov- 1 986 1 4 : 43 : 1 8 " " P ROYECTOS " " 5-Dec- 1 986 1 3 : 38 : 46 " ) ( ( RULES RULESYSTEM 2 ) ) ( ( RULE . CLASSES RULESYSTEM 2 ) ) "Clase de reglas que cont iene t oda s las reglas necesar i a s en e l a lgor i t mo de aprendizaj e de l a

red"

( ( ASSERT[ · 10DE ( REPLACE ) ) ) ( ( RESOLVPr CONFLICT LEAST . PREMISE . COMPLEXITY)

( RETRACT N I L NIL N I L N I L N IL ) ) )

( REGLAS . ASIGNACION . P ATRON ( " PROYECTOS" " l l -Dec- 1 986 1 6 : 26 : 1 8 " " P ROYECTO S " " 1 2-Dec:- l c¡,:,6 1 1 : 56 : 33 " )

( REGLAS . CONTROL ( RULES RULESYSTEM2 ) ) ( ( RUL E . CLASSES RULESYSTEM2 ) ) "P ide al us uar i o l o s va l or e s cor re spondientes para l o s nodos de un patron "

( ( ASSERT . MODE ( REPLACE ) ) ( ASSERTION ) ( PREM I SE ) )

( ( AND . TRACE ) ( FC . TRACE ) ( I MMEDIAT E . RULE . APPLICATION . MODE ) ( OR . TRACE ) ( P ANEL . TRACE ) ( STEPPER . MODE) ( TEXT . TRACE ) ) )

( REGLAS . CONTROL ( ''PROYECTOS" " 1 2 -Dec- 1 9

'6 1 1 : 43 : 36 " "PROYECTOS " " 1 2-Dec- 1 986 1 1 : 45 : 1 7 " )

( REGLAS . ALGORITMO ) t 1 ( ( RULE . CLASSES RULESYST EM 2 ) ( CLASSES GENERICUNITS ) ) NIL ( ( ASSERT . MODE ( REPLACE ) ) ) ( ) )

( REGLAS . FASE l ( " PROYECTOS " " 26-Nov- 1 986 1 4 : 44 : 09 " " PROYECTOS " " 1 2-Dec- 1 986 1 1 : 42 : 56 " )

( REGLAS . FASES ) ( ( RULE . CLA33i<:S iWLESYSTEM2 ) ( CLASSES GENERICUIHTS ) ) " C lase e e ¿ l a s que cont i ene todas l a c e g l a s c e fer idas a l a pc i meca fase del a l goc i t mo de ap

l:'endizaj e "

( ( WEIGHT ( O ) ) ) ( ( RESOLVE . CONFL ICT LEAST . PREMISE . COMPLEXI TY ) ) )

( REGLAS . FASE2 ( " PROYECTOS" " 2 .:', -- . . : ·.- - : 36 1 4 : 44 : 1 0 " " P ROYECTOS " " 1 2-Dec-1 986 1 1 : 43 : 1 0 " )

( REGLAS . F..SES )

Page 112: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

"l. -.... - 1 -. . -..i.. ·::.. :;::¡

r-Ecndizaj e " ( ( WEIGHT ( l ) ) ) ( ( RESOLVE . CONFLICT LEAST . PREMISE . COMPLEXITY ) ) )

( REGLAS . FASES ( "P ROYECTOS" " 1 2-Dec-1 986 1 1 : 39 : 20 " " P ROYECTOS" " 1 2-Dec- 1 986 1 1 : 4 1 : 46 " ) ( REGLAS . ALGORITMO ( RULES RULESYSTEM 2 ) ) ( ( RULE . CLASSES RULESYSTEM 2 ) ) " Reglas que ej ecutan las dos fases del a l gor itmo" ( ) ( ) )

( REGLA S . ORIGEN ( " P ROYECTOS " " 1 0-Dec- 1 986 1 5 : 28 : 5 1 " " P ROYECTOS " " l l -Dec- 1 986 17 : 04 : 50 " ) ( ( RULES RULESYSTEM 2 ) ) ( ( RULE . CLASSES BULESYSTEM 2 ) ) "Coloca los va lores de t odos los nodos y los de todas las conexiones " ( ( ASSERT . MODE ( REP LACE ) )

( ASSERTION ) ( PRElü:SE ) )

( ( ANO . TRACE ) ( FC . THACE ) ( I MMEDIATE . RULE . APPLICATION . MODE ) C OR . TRACE ) ( P ANEL . TRACE ) ( STEPPER . MODE) ( T EXT . TRACE ) ) )

( UNIONES ( "pt'oyectos " " 1 4-Nov- 1 986 1 3 : 30 : 4 1 " " P ROYECTOS " " 26-Aug- 1 98 7 9 : 48 : 1 2 " ) ( RED ) ( ( CLASSES GENERICUNITS ) ) "Conexiones o arcos entr e los nodos de la red" ( ( ACTUALI ZACION

( NO ) NIL ( ( ONE . OF SI NO ) ) NIL ( ( COMMENT

( " Valor booleano ( SI , NO ) que determina s i el peso de la conexion ha s ido actual izado en la fase corres pondiente del algori tmo de aprendizaj e ( s umandole o r e s t andole DELTA ) " ) )

( CARDINALITY . MAX ( 1 ) ) ) ) ( P ESO

( 0 ) NIL ( :CAL ) :-: !L ( ( Cüi'lMEiH · ( " Va l or numet' ico a s i gnado a l :i cone:: i on entr· e dos :iodo s " ) )

( AVUNITS ( llUnit ( CORRECCION BOLTZ MANJ:O ) ) ) ) ( P UNTO l NIL

N IL ( NODOS ) NIL ( ( COMMENT ( " Uno de l os dos nodos asoci ados a l a conexi on " ) ) ( CARDINALITY . MAX ( 1 ) ) ) )

( PUNT02 HIL F I L

Page 113: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( NODOS ) NIL ( ( COMMENT ( " Uno d e los dos nodos a s ociados a l a conexion " ) ) .::ARD I NALITY . MAX ( l ) )

( ( CREAR . UNIONES ( GLOBAL : LAMBDA ( SELF ) •

( PROG ( DATO VALOR N ) ( TE RPRI ) ( P RINTOUT T " NOMBRE DE LA NUEVA UNI ON : " ) ( SETQ DATO ( CREATE . UNIT ( READ ) NIL NIL ' ( UNI ONES ) ) ) ( TERPRI ( P R INTOUT T " P ESO ( D para e l valor por de fect o ) : " ) ( SETQ VALOR ( READ ) ) ( P UT . VALUE DATO

C TERPRI )

'PESO ( CONO ( ( EQ VALOR ' D ) 0 )

( T VALOR ) )

( P RI NTOUT T "PRIMER NODO CONECTADO : " ) ( SETQ N C READ ) ) ( P UT . VALUE DATO ' PUNTO! N ) ( PUT . VALUE N

' CONEXIONES ( CAR ( AP PEND ( GET . VALUE N 'CONEXIONES ) ( LIST DATO ) ) ) )

( TERPRI ) ( P RINTOUT T "SEGUNDO NOD CONECTADO : " ) ( SETQ N ( READ ) ) ( P UT . VALUE DATO ' PUNT02 N ) ( PUT . VALUE N

' CONEXIONES

i l

( CAR ( AP P END ( GET . VALUE N 'CONEXIONES ) ( LIST DATO ) ) ) ) ) ) METHOD ( METHOD ) NIL ( ( COMMENT " Cont i ene la func.ion que c.r· ea 1.m i ones entr·e ne-do s " ) ) )

( SUPRIMIR . UNIONES ( GLOBAL : LAMBDA ( SELF )

KBEnd

( 'T'l<'lH>T \ ' ... - - · - -· - I

( PR!ATOUT T " NOMPF DE LA UP I 0f : " l ( UNITDELE7E

METHOD ( METHOD ) NIL ( ( COMMENT " Cont iene la funcion que s upr ime uniones " ) ) ) ) )

Page 114: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

APÉNDICE 3

Page 115: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

"' • I 1! .. • -- - r - - - - - ----------------·-- ---- __ _ --

, .

Page 116: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

: ' ' : ; ; ; • i L -i i

! • ¡ ! ! ; i • ª i i i 1

1 i ¡ ; ! •

\

.. .. .---·-· "·\·1. - ..--- .. - - - ... -- ...... f: ........ -': HL.t::L .. .. : P.t:. L E::::---- HEGl. .. j

¡:··,. i':f:ETHUO .. CTU.;S;. TOH U 3 g Z 7

/:<:,, .ETHDD ,AGTüA TüR u 4 4 :3 9 .. . . . · - - - · - .. . ..... ..... ... - - · - . · - · . ....... - ...... - - -

__ __ _ __ .. : _· -L ·_YJ;t=JJ_-L!!_ .ll"l!..r t.;--=t! !_ü :O:: _____ -·--. . • .:· .· .:;::.,:;:·: ..... ::, VET;AL =!HA: =:H :: B 1 .. .. .. r . VE . . T.LlAL . . RA. f n..; .uuH 1 U ,:j L 9

!·.!:·;.·:.· > ..... ·¡"·. VFHT!f':AI _ TRAFFi:-: _ ! !fHT f: :-:t ::; fi :=t . . . .

·' .. .. - -- - - - - - -- - - - - - -- .. - - --- --- - - - - - - -

,.-:

:;:::,:¡;:>:·:·.: :

:= : ::::: ::

:

:: : ... ;:.·: .. :.·:.·:./.:.

f: .. :·::·

··:·_:_'.::: ..... ·:;.::· ..... > ·:. ,; : ;; ; o;G;;\:=:.:TUA TUR (: 3 2 : 4 . . . .. . .. •.·· .-·

.. ::::::·.o:·:.-.. f ·: .. _... - .- OiGifi:iETEH O 3 2 9 7

i:.·..:-.:'.• ::- ··" .. .-.

/ J1:i:iiuii:"Tü ii: .::: i"'1 ..¡ ):,:.· ·:> -· ......... .. . -· .... ...· -- !!..J" !l'l..-l! !! !! "!' l!: !L- 11 L-.11 I!: 'U' "!..!' "-!' ._,. 11

-,.-.::·-.

·::.:.:_ .. : __ .

_ .. -· -· .

..

:-::r-=:..:c:::: n '":J: "':2= :: a -:::;: .-

. -

- -- -- -· :-.--:::=::... • - · . - u ...: • .......... . .. . -- - -- -- -o/.-:_.':- :- -- -_ _ - ni:1iMFTFP. f: :i :i fi 7 ;AGES ] ;; -:: :: : : - -

=:=:·=_:_==:= 1lltii" .-... -- -- - -- - - _ 1 ne .. 1nn 1 a- 1-t 1 1 - _-; -, 1 1

-"--.-

-

..;.:.:'_ ·-._ '· - .: -- -- - ;;:·; : :

v.-'' . . - - . -

- . !!..J' !' '!...-!! li!l'Pll- 1 !- ! "!..P ,_. 'U' !' 'U'

;.·-:··: ... :_--. . :· .... .... ·-. -- LliGif".iETEH U 3 3 6 6 -.-.-;;,.:: ... ·"' . ... ·-. . . _ , ,_' •. '· . . .... · ... ... u;u;'!'ETER o 3 3 6 8

'.;.::::_.>.·,.-·· .. :---... :

· ·-'· - · - · · · - - - - -

· .. ..·LJ!t::!r?:"!!:. ! !:.H U i:! ! U i/:':: .. : ·.> .. : .. \ .... ··.. ..._

,. · ,_ ·· · .. · ... · .. Ll§LliETEH O 3 3 7 2 ;f :··:·:::.::··ü!füMETER 0 3 3 7 4

· . , ·, \ .. , \ . .-. a .r- a a. J1 .- • .-n .n. .,.,, .r¡, -:P r-\¡:• . . ,\•\'· ... \ .. ' L•!t!m!:. ! t.• -a u E u

··- !\"· .. \.' -.. '-: LliGif'iETEH U 3 3 7 8 \··:· .. :·-.. · .. x .... ·· OU]!:'!'ETEH03380 · ., \ ''·. · ,, '•.

\ '· \ \ <: fJiGfi:1ETER 0 3 3 8 2 •,_ \ \ \ ' !. • • :-.. ;."'-:. ¡ ¡¡¡_ -- · · ·· .-. .. -. --· ...... .:;

• · . '· • : :n :umr 1 r tt 1 1 .,"'1; .'1i: n !.l-1, '• ",

- - - - - - · - - - - - - - - - - -

\'• ..:', [fü::iiriETHs u 3 3 B f,; ··,; ·. ;MALlE =PAf-EL [E 3 2 5

·-.... _

·-----..... _._

HEGLP. .. . ·-.;

¡ <

Page 117: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Ntll lllt'" t- ., , .,f lf l ; - - ; t-¡_. ; . . . • •

Nnnn7 '<. rsri>nn L -r-:7!:;:: I - - -- - - - -• r··•:n¡ _ ACT I VO _

Nnnn · rsr 1-nn --------... ' - - - .. - . ¡ • · · - ! • n ' •

J\IUUU!>'::; t.:; l !,LJU

¡ - -· . . .. . . .

NilrITT G> rsTM1fl

1_:-·

F RCTIUO

r""!'!

p·;':Ef'*''''] r"''!w:· r·lr!r"i'!'"

11.1""" ('01ª'ª"!it:11

r·M'ee;1:!1 f "lf"PPt!,,

1 ;1 1r·J , ;., ·-. f't- "º _

.. 10_._1 __ .. 1 10 . 3

r·MMitJ''I

1'""'1' .

r't!M'fl !!l:t1L/\S ./\Lblt1tt 1 Mlt ':- !ti: 1 l!P.t: 1 Ht-1 1 '-. l lHlht-N - - - --- - - - - - -- - -- - - - - -- - --- -- -- - ---- - - --

1

COl.t=:l""'lhod

Ht- 1 1 "•: -'I hllHl l Mf l - - - - - -- - - - - -- -

Page 118: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

APÉNDICE 4

Page 119: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

(Outpu1:) The REO Uni1:. in· BOl.,;"ZM.,.NN Knowledge Ba.se : . . ·.

. .. . ' , ' . . - - ----- - - - - --- --- - ""'- ' ___ __ __........._ ___ - --- -- ----"-'-"'---"- --"'-"-'-.,__-

Unit: RED in lmowled.ge ba.se BOL TZMANN Crea.ted by PROYECTOS on 2.5- Nov- 1 9 3 6 1 7 : 0 0 : 2.4 Ivlodified by PROYECTOS on 2.6 - Aug- 1 9 8 '7 9 : 3 3 : 0 5

S1..i.bcl.::..sses: NODOS, UNIONES Iv!ember Of. (GLASSES in tb OENEP.IGUl'JITS) Estructura basica. de la red compuesta por N"ODC•S y UNIONES

OT,im slc-t: ALGORITMO from RED Inherit.a.nce: METHOD ValueClass: (METHOD in kb KEEDATATYPES) "" Comment,: " Algoritni.o que rea.liza el .:i.prendiza.je ut.iliza.ndo REGLAS.ALGO

IRITMO" "\l a.lues: 1 BOLTZivIANN> RE:D:: .6.U::7C)RITMO!methoc.l.I

10\.Tli. slot: ASIGfvAR.PATRmv froiY1 RED Ir1herita11ce: METHOD Va.lueCla.ss: (METHO!J in l:b KEE!JATATYPES) Comment: " Pide al u.su.ario los valores de los nodos de la red ( un patron de

entrenamiento)" Values: ! BOL TZMANN> RED:: ASIGNAR. P ATRON!n1ethodl

Own slot: COMPROBACION from RED Inheritance: METHOD V alueClass: (METHOD in kb KEEDAT A TYPES) Comment: " La.nz.:i. el ra.zona.miento que comprueba la.s sa.lidas despu.es d.e u.

na ejecucion del algoritmo con un p.;:,.tron" Val u.es: ! BOL TZivIANN> RED: : COMPROBACION! methodl

Ovm slot.: CORRECTO from RED Inheritance: OVERRIDE. VALUES ValueClass: ( ONE.OF SI NO) Cardinality.Iviax: 1 , ·

Comment: " Valor boolea.no ( SI,NO) que sirve para ci.veriguar si todos los pa.t rones de entrada han da.do la sa.lida adecuada tras la segunda fase del algori tr!Lo de a.prendizaje"

Values: NO

Own slot: DEGOMPOSiTiON.GOMPLETE from CLASSES Inherita.nce: UNION ValueClass: ( LIST. oF· (GLASSES in kb GENERICUNITS) ) Comment: " A c:oiúplete dec0Inpoz.it.ii:1r1 is - h.:51 .-:i1 ..

subclasses of this clas.:; which jcdnt.ly

Page 120: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

-DJnpu+;TtiEncUniwDl.c;'fM -;Knowled!WdJase+r-.,-, -----";p:r-.-.:-=-:ri''' -. ' · - · - - - - . - - - - - - - - -- - ---- --- --= ---

O'wn slot: OECOMPOSITION .DISJOINT from CLASSES Inherita.nce: IJN!ON VaiueC1a.ss: (Lif::T.OF' (CLASSES íri kb GENERiCUNITS)) Conuúent: " A disjoint decomposition is a list of

subcla.sses of' this class which sha.re no

members. More th.3.n one disjoint

decorúposition n1ay be specifie•:i.

Ovn-1 slot.: DELTA f'ron.1 REO Inheritance: OVE.RR!DE. VALUES \la.luec1.:i.ss: (REAL in kb !<.EEOATATYPES) Comment: "Valor corrector de los pesos de 1-:i.s conexiones en el .:i.lg·c·rit;·no de

aprendizaje"

Ca.rdinality. Ivíax:

Va.lues: O . 1

Own slot: ITERAGION from REO Inheríta.nce: METHOD \l.3.lu.eClass: (METHOD in kb KEEOATATYPES) Comment: "l'-.-ietodo que rea.liza. u.na iteracion completa con todos los pa.trone

s de entracla"

Values: IBOLTZMANN"> RED: : ITERACIOr:r ' ·aethodl

Ü»\l'n slot: MEMBERS.DAT ATYPE from GLASSES Inheritance: OVERRIDE ValueCla.ss: (OATATYPE in, kb KEEOATATYPES) Va.lues: (UNIT in kb KEEOATATYPES)

Own slot: MEMBERSHlr> f'rom CL ,SSES Inheritance: METHOO

'

Valu.eCla.ss: (METHOD in kb KEEOATATYPES) Cardinality.Max: 1

Ca.rdinality. 1vI:in: 1

Va.l u.es: IvIEivIBER- DISJOINTP! IvIETHOD

Own slot: MENUOPERACIONES from REO

1 1:;r!i::;: ; LEEEOAT ATYPES) i 'T1tle º ()PE::FC_i!..,.(:ICJrre::f::: E:.:.t. ... )IC..i.S11 ; ; F";::n.t: KE:E:. Trr:;-_.:. F"CJI-JT .

Cüff1i11ent; " I,!eriu. principal el.e crea.cion el.e la red"

Page 121: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

. . - ------------ - - - - - - - • - __:'. - - - ---- - "-- - - - - -- - - - - '_ - - d' -

Own slot: OPERACIOl'JES ftom REO Inherita.nce: METHOO V al ueClass: (METHOO in l:b KEEDA TA TYPES) Comment: " i:::;ontiene la f1J.ncion que se ocupa. del rüenu principa.l ele opera.ci

or1es11

Va-11_i.es: I BOLTZivii·.NN"> RED: : OPER.l!..CIClI··l"E;';! methodl

(o·wn slot: ORIGEl',J from RED 1 Inheritance: METHOD

11 \l.:i.lueCla.ss: (METHOD in l:b KEEDATATYPES) Comi·nent: " Inicializa. la_ recl"

I Va.lues: I BOLTZivIANN> RED:: ORIGEN! n1ethodl

¡

J 1

0-wn slc.t: SUBGLASSP f'rorn GLASSES Inherit.:i.nce: METHOD Val ueCla.ss: (METHOD in kb KEEIJA TA TYPES ) Cardinality. Ivlin: 1

c.:i.rd.ina.lity. Ma.x: 1

Va.lu.es: SUBCLASS-DISJOIHTP!J'./IETHOD

Own slot: \!MAGE.PANEL from P.ED Inherita.nce: OVERRIOE. VALUES Values: lMAGE.PANEl 03254

1 L_

Page 122: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Unit: UNIONES in knowledge ba.se BOL TZMANl"J Gre.:J.tetJ. by proyecos on 1 4- Nov- 1 986 1 3: 3 0 : 4 1

1Iviodified b y PROYECTOS on 2.6 - Aug- i % ·/ 9 :43 : i 2.

Su.percla.sses: RED Ivlember Of: (CLASSES in lfü GEl".!ERICUNITS ) Members: CON 67, CON 57, GON 5 6 , GON 4 6 , CON 4 5 , GON 3 6 , GON 35,

GON 26, GON 2 5, GON 1 6, GON 1 5

Conexiones o arcos entre los nodos de la red

I\·1ember slot: ACTUAUZACION from UNIONES Inheritance: OVERRIOE. VALUES Va.lueCla.ss: ( OI'.JE. O:::)F· SI NCi) Cormnent: "Va.lor boolea.no ( SI, NO) que determina. si el peso de la. conexion

1ha. sido .:i.ct.ualiz.:'.\d.o en ia. fo.se correspondiente del algoritmo de a.prendiza.je ( s l . . ... · 1· -' - 1 - - rP.e;t • 1· -' - ' - ¡·,-¡:¡·T ,\ ., H 1 U.H.l•::I. !l.J.U t. U -· .-·:t. 1l_1Ul -· -·L- 1 .......... 1 Ca.rdinality. Ivlax: 1

Valu.es: NO

1

Member slot: PESO from UNIONES Inheritance: OVERRIDE . VALUES Va.lueClass: (REAL in kb KEEDATATVPES) Comment: " Va.lor numerico a.signado a la conexion e ntre d.os nodos" A vunits: CORRECCtor,¡ Values: O.O

Ivlember slot: PUNTO 1 from UNIONES Inheritance: OVERRIOE. VALUES Valu.eClass: NODOS Con:unent.: " Uno de los dos nodos asociados a. la. conexion" Cardina.lity.Ivia.x: 1

Va.lues: Unknown

Ivlember slot: PUNT02 from UNIONES Inheritance: OVERRIOE. VALUES V' a.l ueClass: NODOS Comment: " Uno de los dos nodos asociados a la conexion" Ca.rd.inality. 1' .. 1ax: 1 \7a.11J.es: Unknown

i Ovn. slo: CP.EAP- ... ::NES from Uf'Jiüf'JES

f 1 r1 n F". ·r 1 r.,=i r1 1""":P.. riin- 1 nf\il l \; .;:- l i_i e'-' i .:<. 5 :::: ( fri!:: T HO!Jl.=-1 !r1-,_,_1:·1·1'!<1'_=.:1t:.•ü/l.! PL: .. r! ;et_ v.. 1--1-_1.:s1:1)1· ,_-, r· ·1.:,·" C1:1:rilr.üe11t: 11 CorJ.tie11e .J. .. ....... ¿ "'l. ._. ._. ._..... e:r1tre r1od.os11

Page 123: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Ovm slot: OECOMPOSITION.COMPLETE from CLASSES Inherita.nce: UNION Va.lueCla.ss: ( LIST.OF (CLASSES in kb GENERICUNITS )) CoJ.mYtent: 11

A complete decomposition is a list of subcla.sses of this cla.ss which jointly subsume all the members of this cla.ss. l"ti:ore t.ba.n one complete decomposition may be specified.

Vaiues: Unknown

O•,Jm slot: DECOMPOSITION .OIS.JOll"JT from CLASSES Inherit.ance: UNION Va.llJ.eCla.ss: ( LIST. C)F' (CLASSES in kb GENERICUNíTS)) Comment: 11

A disjoint decon:q:iosition is a list of ;:;ubcla.sses of t,his cla.ss '>'<hich sha.re no mern.bers. Ivlore than one disjoint decomposition ma.y be specified.

·r...1a.11_1.es: Unkno ... 11n

Own slot: MEMBERS.DATATVPE from CLASSES Inheritance: OVERRIOE '\.la.lueCla.ss: (OATATVPE in kb KEEOATATVPES) Values: (UNIT in kb KEEDATATVPES)

Own slot,: MEMBERSHIP from CLASSES Inheritance: METHOD Valu.eClass: (METHOD in kb KEEDATATVPES) Cardinality.Max: 1

Cardin.:i.lity.Min: 1

Values: MEMBER- DISJOINTP!.IvlETHOD

Own slot: SUBGLASSP frorn. GLASSES Inherita.nce: METHOD ./.:i.lueCI.:..ss: (METHOD in kb KEEDAT ATVPES ) C.:ndin.:i.lity. Ivlin: 1 Ca.rchna.lít.y..Ivla.x: 1 Val1e:=;: :=>UBC.'l _A_ SS-DISJi'.:::1rNTP! .I'il:E:T!-!()['•

jc•wn slüt. su¡:mvim .Ul\HOl'i.IES üe;m UNiüNES lnherita:nce: METHOD

Page 124: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

Unit: f'.!ODOS in knm.i.,Tledge b.:i.se BOL TZMANl"J lcrea.ted by proyect,os on 1 4- Nov- 1 9 8 6 1 3 : 32: .5 1

¡r,·-i:; _b_s=- -·;ECTOf; on 2-6- Aug- i 9 8 '7 9 :2-2: 5 3 1 .::. U.fJt:'r•-=10.·::.i::::.: nc:.u

Iviember Of: (CLASSES in kb GENERfGUNfTS) Members: N0007, N0006 , NOD05, NOD0 4, N0003, N0002, NOD0 1

Unid.:i.c.l.es o

Iviember slot: COMPROBAR.SALIDA frorn NODOS Inheritance: METHOD Va.l u.eCla.ss: (METHOD in kb KEEOA TA TYPES)

1 Comment: " Comprueba si el estado del nodo despues de l.:i. segunda fase del algoritmo es igua.l a.l que ind.icaJ.:i.::i. el pa.tron de entrena.miento" 1 \7.:.i.l1J.e;;.: !B()LTZlvlANN> N()DOS: COlv1Pf:.OB.6.R.SALIDA.! methodl 1 1 Iviember zlot: GONEXIOl"JES from NODOS

Inherita.nce: OVERRIDE. VALUES Comment: " Lista. de las conexiones en las que interviene el nodo" Va.lues: Unl:;:no>•.Tn

Ivlember slot: ESTADO from NODOS Inheritance: OVERRIOE. VALUES Va.lueCla.ss: ( ONE.OF i·.CTIVO INACTIVO) Cor.nment: " Estado actual del nodo" c.::i.rdina.lit,y. Ivlax: 1 Values: INi·.CTIVO

Iviember slot: IDENTIFIGACION from NODOS Inheritance: OVERRIDE. VALUES ValueClass: ( ONE.OF ENTRADA SALIDA INTERMEDIO) Conwiler1t: " Funcion del nodo en la red, ya sea elemento de EI'-ITRADA,INT

ERivlEDIO,o de SALIDA" Ca.rdina.lity. :M:a.x: 1 Values: IN'TERivlEDIO

Ivlember slot: SAUDA.PATRON from NODOS Inherita.nce: OVERRIDE.VALUES .lalueClass: (C)NE.OF ACTI\l() INACTI\7C)) c.:i.rcl.in.:..lity. Ivl.:..x: 1

Page 125: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

1 Ivien:1ber slot: UMBRAL

1

Inherita.nce: OVERRIOE. VALUES Va.lueC'.la.ss: (REAL in kb KEEOATATYPES ) Cormnent: " Va.lor umbra.l pa.ra calcu.la.r el esta.do ele a.ctiva.cion o ina.ctiva.ci

en del nodo" Ca.rdinality. Ma.x: Va.lu.es: O.O

Member slot: VALOR from NOOOS Inherit.:i.nce: OVERR!DE, VALUES ValueClass: (REAL in kb KEEDATATYPES) .t. vu.nits: GORREGGION Comment: " \.la.lor numerico que tiene el nodo, .1 pa.rtir del cu.a.l se determin

.:.. su est.:i.do de act.i,.ra.cion o in.:i.ctiva.cion" 1:::a.rd.ina.lity.r .... 1.1x: Va.lues: - 0 . 1

hviember slot: VARIABLE from NOOOS Inheritance: OVERRIDE. VALUES Va.lueCla.ss: ( ONE.OF T NIL) Comment: " Variable boole.:i.na. (T, NIL) que indica si el esta.do del nodo pu.ed

e ser ca.mbiado por el funciona.miento interno de l.:i. red. Su va.lor es :NIL cua.nd o el nodo es de ENTRADA o de SALIDA"

Ca.rdin.1lity. Ivlax: 1 Values: T

Ivlember slot: VER.SI .ACTIVA.A from NODOS Inherita.nce: METHOO Va.lueClass: (METHOD in kb KEEDATATYPES) Comment: "1vletodo que calcula el estado de los nodos conectados con el nod

o propieta. io del metrodo. Toma. como .:i_rgumentos el nodo propietario y una un idad de UdIONES"

Values: I BOL TZMANN> NODOS: VER.SI. ACTIVA. A! method.I

Own slot: CALCULO from NODOS 1 Inherit.ance: METHOO

I Va.lu.eClass: (METHOO in kb KEEOATATYPES)

\ Con:nüent: " Iviet.odo que dispa.r.1 el funciona.miento interno el.e la. red a partir 1 de una determina.da situacion u.tiiizando RE:Ca_.A.C'..e..u::.UL/)" t \l alues: I fü)LTZMANN> NODOS: : C."'.LC'.ULO! J.üethodl 1

kc<.:'!! slot: CREAR.NODOS f'roTn NODOS i Ir..heritance: METHOO

.

Va.lueCla.ss: (METHOO in kb KEEOATATYPES)

Page 126: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

-(Output-) "The ·NODOS Unit-in BOLTZtJIANN Knowletlge Base ·

O>•m slot: OEGOMPOSITION .COMPLETE f'rom GLASSES Inherita.nce: UNION VaiueClass: (LIST.OF (CLASSES in kb GENERICUNITS)) Comment: " A complete decomposition is a list, of subcl.:..sses of this cl.:i.ss which jointly subsume a.11 t.he members of this class. IVIore than one complete decomposition may be specified.

Values: Unlmown

0'.!m slot: OECOMPOSITION.D!SJOlf-JT frmT1 GLASSES f Inherit.c<.nc:e: UN!ON ValueClass: ( LIST.OF· (CLASSES in kb GENERICUNITS) ) Comment: " A disjoint decomposition is ,:i. list of subcla.sses of this clo.ss which sha.re no members. Iviore than one disjoint decomposition may be specified.

Vo.lues: Unkno't11n

Own slot: MEMBERS.OATATYPE from CLASSES Inherit 0 •• nce: OVERRIOE Va.lué .. :..ss: (OATATYPE in kb KEEOATATYPES) Values: (UNIT in kb KEEDATATYPES)

Own slot: MEMBERSHIP from CLASSES Inheritance: METHOD ValueClass: (METHOD in l:;:b KEEDATATYPES) Ca.rdir· :i.lity.Ivla.x: 1

Cardinality. Min: 1

V al u.es: :MEiv!BER- DISJOINTP! IvIETHOD

Ovm slot: MENUEST AOO from NODOS Inheritance: OVERRIOE. VALUES Va.lueCla.ss: (MENUITEM in kb KEEOATATYPES)

Comrilent: " Ivlenu p.:..ra. elegir el estado de un nodo en el mmnento de su ere acio.11"

J

1 Titie: " E:ST.e.D() DE:SE:ADO"

• • - 111 - -· "' • (''fl , .. -;" ' OTJr-;..,..E· ' C'.,...I' 70)' "'II«r t. (''TI rr-1" • V <:1. __ J:!i:), l •"'- _ ,, '- l._ ..,_ l · .'-1. -· l '' . \. • • -· '' · J ( C::H_H)'TE It·IACTI\1C:i)) i

Page 127: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

l 1

O>.•ln slot: MENUIOENTIF from NODOS Inherit.a.nce: OVERRllJE. VALUES Valu.eClass: (MENUITEM in kb KEEDATATYPES) Title: " IDENTIFICACION DEL NODO" Comment: "11/fenu. para elegir la identificacion del nodo en el :n:10mento de s

u. crea.cion" V.:i.lues: ( " ENTi·.RDA" ( QUOTE ENTR.".D.".)) ( " SALIDA"

( QUOTE SALIDA)) ( " INTERMEDIO" (QUOTE INTERivIEDIO))

Own slot: SUBGLASSP from GLASSES Inherita.nce: METHOO Valu.eClass: (METHOO in kb KEEOATATYPES) Cardina.lity.Ivliri: 1

Cardina.lity.lvlax: 1 Values: SUBCLASS- [m;JOINTP! Iv1ETHOD

Own slot.: SIJPRIMIR.NOOOS from NODOS Inherít.a.nce: METHOD Va.lu.eClass: (METHOO in kb KEEOATATYPES) Comment: " Contiene el metodo que su.prime un nodo de la red" .la.lues: IBOLTZ1'11ANN>NODOS: : SUPRI1\·:TIR.NODOS!met.hodl

Page 128: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

APÉNDICE 5

Page 129: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

; ; ; -*- Mode : L ISP ; Package : KEE ; Ba s e : l O . -*-

( BOL T ZM.6.NN ( " pr· oyect o s " " 1 4-Nov- 1 986 1 3 : 30 : 3 1 " "PROYECTOS " " 2 6-Aug- 1 98 7 9 : 49 : 0 1 " ) NIL ( KNOWLEDGEBASES ) NIL ( ) ( ( KBCOPY ( ( BEFORE ( BEFOREKBCOP YIMAGE SELF KB NEWKB ) ) ( AFTER ( AFTERKBCOPY I MAGE SELF

METHOD METHOD NIL H I L )

( KBDELETE ( ( BEFORE ( BEFOREKBDELETEIMAGE SELF KB . OR . REF NOASKP RELOADP ) ) ) METHOD METHOD NIL N I L )

( KBLOAD ( ( AFTER ( AFTERKBLOADIMAGE SELF KBSTB.EAM QU IETP NOREL INKP KB ) ) ) METHOD METHOD NIL NI L )

( KBMETHODFILE ( BOLT Z MANN ) ) ( KBSAVE ( ( BEFORE ( BEFOREKBSAVEI MAGE SELF KB QUIETP MAKEMODE NEWDIRECTORY ) ) )

METHOD METHOD NIL NIL )

( KBSIZE 86 ) ( KEE . DEVELOPMENT . VERSION . NUMBER O ) ( KEE . MAJOR . VERS ION . NUMBER 2 ) ( KEE . MINOR . VERSION . NUMBER 1 ) ( KEE . PATCH . VERS ION . NUMBER 64 . 1 ) ( KEEVERS JN KEE2 . l ' ) )

l.1

( CON 1 5 ( " pr- oyect o s " " 1 4-Nov- 1 986 1 3 : 40 : 33 " " P ROYECTOS" " 1 2-Dec- 1 986 1 1 : 32 : 56 " ) NIL ( UNIONES ) r! L ( ) ! ( ACTUAL I ZACION ( NO ) )

I P !':SO N!!. : p ;:NT O l ( NODO l ) ) ( P iT02 ilOD05 ) ) )

( CON1 6 ( " pr·oyectos " " 1 4-Nov- 1 986 1 3 : 40 : 33 " " PROYECTOS " " 1 2-Dec- 1 986 1 1 : 32 : 57 " ) NIL \ u1;r;Es ) N' l l-: ;

KB NEWKB ) ) )

Page 130: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( C O N 2 5 ( " pr·oyec.t os " " 1 4-Nov- 1 986 1 3 : 40 : 35 " " P ROYECTOS " " 1 2-Dec- 1 986 1 1 : 3 2 : 57 " ) NIL ( UNI ONES ) NIL ( ) ( ( ACTUALI ZAC ION ( NO ) )

( P ESO ( O . 1 ) ) ( P UNTO ! ( NOD02 ) ) ( PUNT02 ( NODOS ) ) ) )

( CON26 ( " pr·oyec.t os " " l •¡-Nov- 1 986 1 3. : 40 : 34 " " P ROYECTOS " " 1 2-Dec - 1 986 1 1 : 32 : 58 " ) NIL ( UNIONES ) NIL ( ) ( ( ACTUAL I Z ACION ( NO ) )

( PESO ( 0 . 1 ) ) ( P UNTOl ( NOD02 ) ) ( P UNT02 ( NOD06 ) ) ) )

( CON35 ( " pr-oyec.tos " " 1 4-Nov- 1 986 1 3 : 40 : 35 " " P ROYECTOS " " 1 2 -Dec.- 1 986 1 1 : 32 : 58 " ) NIL ( UNIONES ) NIL ( ) ( ( ACTUALI ZACION ( NO ) )

( PESO ( 0 . 1 ) ) ( P UNTO l ( NOD03 ) ) ( PUNT02 ( NODOS ) ) ) )

( CON36 ( " pr-oyec.t os " " 1 4-Nov- 1 986 1 3 : 40 : 36 " "PROYECTOS " " 1 2-Dec- 1 986 1 1 : 32 : 58 " ) NIL ( UNIONES ) NIL ( ) ( ( ACTUALI ZACION ( NO ) )

( P ESO ( 0 . 1 ) ) ( P UNTOl ( NOD03 ) ) ( P UNT02 ( NOD06 ) ) ) )

f .-..""\ lY 1, r.:­\ '-'\Jl! f-....1 ( " pr· oyec.t o s " " 1 4-Nov- 1 986 1 3 : 40 : 35 " " P ROYECTOS " " 1 2-Dec- 1 986 1 1 : 32 : 59 " ) NIL ( UNIONES ) NIL ( ) ( ( ACTUALI ZACION ( NO ) )

( P ESO ( O • l ) ) ( P UHTO l ( NODOLt ) l

Page 131: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

\, h ', .. n .. \, .. ) J J I

( CON46 ( " pr oyect os " " 1 4-Nov-1 986 1 3 : 40 : 35 " " PROYECTOS" " 1 2-Dec-1 986 1 1 : 32 : 59 " ) NIL

( UNIONES )

N I L

( ) ( ( ACTUALI Z ACION ( NO ) )

( P ESO ( O . l ) ) ( P UNTO l ( NOD04 ) ) ( P UNT02 ( ff0D06 ) ) ) )

( CON56 ( " PROYECTOS" " 25-Nov-1 986 1 6 : 49 : 1 1 " " PROYECTOS" " 1 2-Dec- 1 986 1 1 : 33 : 2 1 " ) NIL ( UNI ONES ) N I L

( ) ( ( ACTUALI Z AC ION ( SI ) )

( PESO ( O • l ) ) ( P UNTOl ( NODOS ) ) ( PUNT02 ( NOD06 ) ) ) )

( CON57 ( " proyect o s " " 1 4-Nov- 1 986 1 3 : 40 : 36" " PROYECTOS " " 1 2 -Dec- 1 986 1 1 : 33 : 02 " )

NIL ( UN IONES ) N I L ( ) ( ( ACTUAL I ZAC ION ( NO ) )

( P ESO ( 0 . 2999999996 ) ) ( P UNTO l ( NODOS ) ) ( P UNT0 2 ( NOD07 ) ) ) )

( CON67 ( " proyectos " " 1 4-Nov- 1 986 1 3 : 40 : 36 " " PROYECTOS" " 1 2-Dec- 1 986 1 1 : 33 : 02 " )

NIL ( U NIONES ) NIL ( ) ( ( ACTUALI ZACION ( NO ) )

( PESO ( 0 . 2999999996 ) ) ( P UNTO l ( NOD06 ) ) ! P UNT02 ( HOD07 ) ) ) )

(• iHREC( I ON ! " PROYECTOS " " l -Dec- 1 986 1 8 : 00 : 08 " " P ROYECTOS " " l l -Dec- 1 986 1 5 : 35 : 38 " ) N I L ( ( ACTIVEVALUE ACTIVEVALUES ) )

"Valor· activo que expresa los numeros obt enidos para los val or· e s de los nodos y :par a l o s P• de las conexiones de forma correct a "

( )

l l AVPUT i LAMBDA ( SELF SLOT HUEVO V IEJO UNI DAD TIPO l

Page 132: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

.. _. \ ,' / u ( AR HUEV O ) ) ) 1 0 . 0 ¡ ) ) ) ¡ ¡ ¡ ¡

( DIGIACTUATOR03294 ( " P ROYECTOS " " 25-Nov - 1 986 1 7 : 34 : 09 " "PROYECTOS " " 26-Aug- 1 987 9 : 48 : 48 " ) NIL ( ( DIGIACTUATOR ACTIVEIMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : CP TFONT ) ( HE IGHT 37 ) ( I MAGE . WAS . PAI NTED N IL ) -( O BJECT . DI SPLAYED #Slot ( VALOR NODO l BOLTZ MANN OWN ) ) ( REGION ( 99 3 1 0 78 3 7 )

N I L NIL NIL ( ( I CON . REGION ( 99 310 1 25 48 ) ) ( EXPAND . BEGION ( 99 3 1 0 7 8 37 ) ) ) )

( SAVED . VALUES -0 . 1 ) ( SUPER . IMAGE #Un i t ( I MAGE . PANEL03254 BOLTZMANN ) ) ( TITLE " NODO l / s VALOR " ) ( TITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( VALUE . WAS . SAVED T ) ( WI DTH 78 ) ( W INDOW " A F l avor I n s t ance"

NIL NIL NIL ( ( I CON . WI NDOW NIL ) ( EXPAND . WINDOW NIL) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

( DIGIMETER03297 ( " PROYECTOS " " 25-Nov - 1 986 1 7 : 35 : 04 " " P ROYECTOS" " 26-A1..1g- 1 987 9 : 48 : 49 " ) NIL ( ( DIG IMETER ACTI VE IMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : CP TFONT ) ( HEIGHT 3 7 ) ( I MAGE . WAS . PAI NTED N I L ) ( OBJECT . DISPLAYED #Slot ( VALOR NOD02 BOLTZMANN OWN ) ) ( REGION ( 1 0 1 265 7 7 3 7 )

NIL NIL NIL ( ( I CON . REGIOH ( 1 0 1 265 1 25 48 ) ) C EXPAND . REGION ( 1 0 1 265 7 7 37 ¡ \ \ \

( SAVED . VALUES -0 . l l

¡ SUPER . IMAGE #Un i t ( IMAGE . PAL032 OL T Z MANH ) J ( T ITLE " NOD0 2 ' s VALOR " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( VALUE . WA S . SAVED T ) ( W IDTH 7 7 ) ( W INDOW " A F lavor I n s tance"

NIL NIL

Page 133: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ( ICON . W INDOW N I L ) ( EXPAND . W I NDOW MI L ) ( CURRENT . W I NDOW ( EXPAND ) ) ) ) ) )

( DIGIMETER0330 1 ( " PROYECTOS" " 2 5-Nov- 1 986 1 7 : 36 : 08 " " P ROYECTOS " " 26-Aug- 1 987 9 : 48 : 49 " ) NIL ( ( DIGIMETER ACTIVEIMAGES ) I MAGES ) NIL

( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 39 ) ( I MAGE . WAS . PAINTED N I L ) ( OBJECT . DI SP LAYED #Sl ot ( VALOR NOD03 BOLTZMANN OWN ) ) ( REGION ( 1 0 2 2 1 6 73 39 )

NIL N IL NIL (( IBON,·REGION ( 1 0 2 2 1 6 1 25 48 ) ) ( EXPAND . REGI ON ( 1 0 2 2 1 6 7 3 39 ) ) ) )

SAVED . VALUES -0 . 1 ) ( SUPER . IMAGE #Unit ( I MAGE . P ANEL03254 BOLTZMANN J ) ( TITLE " NOD03,. s VALOR " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUNIT ( N I L ) ) ( VALUE . WAS . SAVED T ) ( WIDTH 73 ) ( WI NDOW " A F l avo Instanc.e "

NIL NIL N IL ( ( ICON . WINDOW N I L ) C EXPAND . WINDOW NIL ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

( DIGIMETER03304 ( " PROYECTOS " " 25-Nov- 1 986 1 7 : 37 : 00 " "PROYECTOS " " 26-Attg- 1 98 7 9 : 48 : 50 " ) NIL ( ( DIGIMETER ACTIVEIMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEI GHT 39 ) ( I MAGE . WAS . PAINTED NIL ) ( OBJECT . DISPLAYED #Slot ( VALOR NOD04 BOLTZMANN OWN ) ) ( REGION ( 1 05 1 68 69 39 )

N I L NIL NIL ( ( I CON . REG ION ( 1 03 1 7 1 1 2 5 48 ) ) ( EXP AND . REG ION ( 1 05 1 68 69 39 ) ) ) )

I SAVED . VALUES -0 . l ) ( SUPER . IMAGE #Un i t ( I MAGE . PANEL03 254 BOLTZMANN ) ) ( T ITLE " NOD04 ,. s VALOR " ) ( TITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NI L ) ) ( VALUE . WAS . SAVED T ) ( 'iH DTH 69 ) r n nmow " /l. F' l a vor· In st.;.nc.e"

NIL

Page 134: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ( I COH . W I NDOW N I L ) ( EXPAND . W I NDOW N I L ) ( CURRENT . W I NDOW ( EXPAND ¡ J ; ) ; )

( DIG IMETER03307 ( " PROYECTOS " " 25-Nov-1 986 1 7 : 38 : 1 1 " " PROYECTOS " " 26-Aug- 1 987 9 : 48 : 50 " ) NIL ( ( DIG IMETER ACT IVEIMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : CPTFONT ) ( HEIGHT 37 ) ( I MAGE . WAS . P AINTED NI L ) ( OBJECT . DISPLAYED #Slot ( VALOR NODOS BOLTZ MANN OWN ) ) ( REGION ( 1 09 1 2 1 65 37 )

N I L NIL NIL ( ( ICON . REGION ( 1 09 1 2 1 1 25 48 ) ) ( EXPAND . REGION ( 1 09 1 2 1 65 37 ) ) ) )

( SAVED . VALUES 1 . 1 ) ( SUPER . I MAGE #Un it ( I t1AGE . PANEL03254 BOLTZMANN ) ) ( TITLE " NODOS ' s VALOR " ) ( TITLEFONT FONTS : HL l OB ) ( TOPUNIT ( N IL ) ) ( VALUE . WAS . SAVE T ) ( WIDTH 65 ) ( WINDOW " A Flavor Instance"

NIL N I L N IL ( ( ICON . WI NDOW NIL ) ( EXPAND . WINDOW NIL ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

( DIGIMETER033 1 0 ( " PROYECT.OS" " 25-Nov- 1 986 1 7 : 38 : 55 " " P ROYECTOS " " 26-Aug- 1 987 9 : 48 : 5 1 " ) NIL ( ( DIGIMETER ACTIVEIMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 39 ) ( I MAGE . WAS . PAINTED NIL ) ( OBJECT . DISPLAYED #Slot ( VALOR NOD06 BOLTZMANN OWN ) ) ( REGION ( 1 07 7 1 65 39 )

NIL NIL NIL I CCN . RES!C ( ! 07 71 1 25 4! ) ) ( EXPAND . REG ION c : o7 7 1 65 37 ) ) ) )

( SUPER . IMAGE #Un i t ( I MAGE . FANEL03254 BOLTZMANN ) ) ( TI TLE " NOD06 ' s VALOR " ) ( T ITLEFONT FONl'S : HL l OB ) ( TOPUNIT ( N I L ) ) ( VALUE . WAS . SAVED T ) ( W IDTH 65 ) ( W INDOW " A Flavor In st ance "

N I L NIL

Page 135: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

._ i_ I<:OH . \;;" : · D()"..¡j I I ) ( EX P ,t:-, f D . :; :: 1·:LOW H I L ) ( CUHRENT . W I NDOW ·'. EX:· r.I r , )

( DIG IMETER033 l 3 ( " PB.OYECTOS " " 2 5-Nov- 1 986 1 7 : 39 : 39 " " PROYECTOS " " 26-Aug- 1 98 7 9 : 48 : 5 1 " ) NIL ( ( DIG IMETER ACTIVEIMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 40 ) ( I MAGE . WAS . PAI NTED M I L ) ( OBJECT . DISPLAYED l/Slot ( VALOR NODO? BOLTZ MANN OWN ) ) ( REG ION ( 1 05 1 8 68 40 )

NIL ,i N IL NIL ( ( ICON . REGION ( 1 06 2 0 1 25 48 ) ) ( EXPAND . REGION ( 1 05 18 68 40 ) ) ) )

( SAVED . VALUES -0 . 1 ) ( SUPER . IMAGE l/Uni t ( IMAGE . PANEL03254 BOLTZMANN ) ) ( TI TLE " NOD0 7 / s VALOR " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( V ALUE . WAS . SAVED T ) ( 'i H DTH 68 ) ( WINDOW " A Fl avor Instance"

NIL NIL N IL ( ( ICON . WINDOW N I L ( EXPAND . W IMDOW NIL t ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( DIGIMETER03366 ( " PROYECTOS" " 2 5-Nov- 1 986 1 7 : 40 : 39 " " P ROYECTOS " " 2 6-Aug- 1 98 7 9 : 48 : 52 " ) NIL ( ( DIGIMETER ACTIVEIMAGES ) I MAGES ) NIL

( ) ( ( BORDER 4 ) ; 1

( FONT FONTS : MEDFNB ) ( HEI GHT 4 1 ) ( IMAGE . WAS . PAINTED NIL ) ( OBJECT . DISP LAYED lfSlot ( PESO CON 1 5 BOLTZ MANN OWN ) ) ( REGION ( 2 1 7 303 85 4 1 )

NIL NIL N!L ( ( !C0 . !nN ( 2 1 7 303 1 ! 5 48 ) ) ( EXPAND . RF@TON ( 2 1 7 303 85 4 1 ) ) ) )

( SUPEB . IMAGE #U· ' · f I M t GE . PANEL03254 BOLTZMANN ) )

I TI TLEFONT FONTS : HL l OB ) ( TOPUNIT ( N I L ) ) ( VALUE . WAS . SAVED T ) ( W IDTH 85 ) ( W INDOW " A F lavor I n s t ance"

NIL N I L P T ' , . . .... L

- -. ,-' ' ...... ..., ..... ... . . .. .... ... . .:,,J .... . .

. . ·: · , - - " i.. :" -;-·, (',,.'": . ·.::· ·.·-. . . . ...... ' -, ._ ,,_ ... , _,_..._.._ 1 .J. • i1 .... .. l *-J -W- i• , __ ._.._ ,- , ,.¡ ¡.¡ I J 1 J J

Page 136: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( " PROYECTOS " " 2 5-Nov- 1 986 1 7 : 4 1 : 06 " " PROYECTOS " " 2 6-Ai:.ig- 1 98 7 9 : 4 8 : 52 " ) NIL ( ( DIG IMETER ACTIVEI MAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 4 2 ) ( IMAGE . WAS . PAINTED N I L ) ( O BJECT . DI SP LAYED #Slot ( PESO CON 1 6 BOLTZMANN OWN ) ) ( REG I ON ( 2 2 0 253 85 4 2 )

N I L N I L NI L ( ( ICON . REGION ( 2 1 9 259 1 1 5 48 ) ) ( EXPAND . REGION ( 2 2 0 253 85 42 ) ) ) )

( SAVED . VALUES 0 . 1 ) ( SUPER . IMAGE #Un it ( IMAGE . P ANEL03 254 BOLTZMANN ) ) ( TITLE " CON 1 6 ' s P ESO " ) ( T ITLEFONT FONTS : HL I OB ) ( TOPUNIT ( N I L ) ) ( VALUE . WAS . SAVED T ) ( W IDTH 85 ) ( W INDOW " A Fl avor Instance"

N I L N I L N I L ( ( ICON . WI NDOW N I L ) ( EXPAND . WI NDOW N I L ) ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( DIG IMETER03370 ( " PROYECTOS" " 2 5-Nov- 1 986 1 7 : 4 1 : 4 2 " " P ROYECTOS " " 26-Aug- 1 987 9 : 48 : 53 " ) NIL ( ( DIGIMETER ACTIVEIMAGES ) IMAGES )

- - NIL - - -( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 4 1 ) ( I MAGE . WA S . PAINTED N I L ) ( OBJECT . D I SP LAYED #Slot ( PESO CON26 BOLTZMANN OWN ) ) ( REGION ( 2 19 1 48 84 4 1 )

N I L N I L N I L ( ( ICON . BEGION ( 2 2 2 2 0 3 1 1 5 48 ) ) ( EXPAND . REGION ( 2 1 9 1 48 8 4 4 1 ) ) ) )

( SAVED . VALUES 0 . 1 ) ( SUPEB . IMAGE #Un i t ( IMAGE . P ANEL03254 BOLTZMANN ) )

( T J TLE " CON26 ' s ?ESO " )

( T I TLEFONT FONS : HL l OB )

TQPUNIT NIL ) ) ( VALUE . WAS . SAVED T ) ( WI DTH 84 ) ( W INDOW " A F lavor Instance "

N I L N I L N IL ( ( I CON . W I HDOW N : L ) ( EXPAND . WI NDOW ( CUBBENT . WI NDOW ( EXPAND ) ) ) ; ; ;

Page 137: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( D I GIMETEB033 7 2

( " P ROYECTOS " " 2 5-Nov - 1 '786 1 7 : 4 2 : 04 " " P ROYECTOS" " 2 6-Aug- 1 98 7 9 : 48 : 53 " )

NIL ( ( DIGIMETER ACT IVEIMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : BIGFNT ) ( HEI GHT 4 4 ) ( I MAGE . WAS . PAINTED NIL ) ( OBJECT . DISPLAYED #Slot ( PESO CON25 BOL T ZMANN OWN ) ) ( REGION ( 2 20 201 83 44 )

N I L N IL NIL 1 ( ( ICON . REGION 2 2 5 1 55 1 1 5 48 ) ) ( EXPAND . REGION ( 2 2 0 2 0 1 83 44 ) ) ) )

( SAVED . VALUES 0 . 1 ) ( SUPE R . IMAGE #Unit ( I MAGE . P ANEL03254 BOLT Z MANN ) ) ( TITLE " CON25 ' s PESO " ) ( T ITLEFONT FONTS : HL l OB ) ( T O P U N I T ( E I L ) ) ( VALUE . WAS . SAVED T ) ( W IDTH 83 ) ( W INDOW " A Fl.;ivoi:- I n s tanee "

N I L NI L

NIL ( ( ICON . WINDOW N IL ) ( EXPAND . WINDOW N I L ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

( OIGI METER033 7 4 ( " PROYECTOS" " 25-Nov- 1 986 1 7 : 42 : 40 " " PROYECTOS " ' 26-Aug- 1 98 7 9 : 48 : 54 " ) NIL ( ( DIGIMETER ACTIVEIMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : BIGFNT ) ( HEIGHT 4 4 ) ( I MAGE . WAS . PAINTED N I L )

' ¡ 1

- OBJECT .DISPL-AYED- #Slot-H tSSO CON35 BOLTZMANN OWN ) )­( REGION ( 2 2 1 93 82 44 )

N I L NIL NIL

( ( ICON . REGION ( 2 2 8 99 1 1 5 48 ) ) ( EXPAND . REGION ( 2 2 1 93 8 2 44 ) ) ) ) ( SAVED . VALUES 0 . 1 )

( SUPER . I MAGE #Unit ( IMAGE . P AMEL03254 BOLT ZMANN ) )

, '"1· ... , r'1 t,·r , ,.P1· H'n "J"PC· .. u r , n L· • \ - -- ... .... .... .. .... .. . . ...,. ... . .... _ . ..... .1..1 .1.

·· ......

( TOPUNIT OIIL ) ) ( VALUE . WAS . SAVED T )

( WIDTH 8 2 ) ( 'i H NDOW " A Fl avor- Instanee "

H I L N I L N I L ( ( I C0N . W! NDOW 1 ! !:. ( Y.'f ' ' '. ' . \·' I rno N I L ) ( CURREN! . ?. ! !DOW ( E:XP.6.!D ) ) ) ) ) )

Page 138: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

•. " '" é (··::r:.:CTO S " " 2 5-lfov- 1 c;·s6 1 7 : L¡ 3 : 1 3 " " P B.OYECTO S " " 2 6-.t>.ug- 1 98 7 c;· : 48 : .S 4 " ) N I L ( ( DIGIMETER ACTIVEIMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HE IGHT 42 ) ( I MAGE . WAS . PAI NTED N I L ) ( OBJECT . D ISP LAYED #Slot ( PESO CON45 BOLTZMANN OWN ) ) ( REGION ( 3 28 304 8 1 42 )

N I L N IL NIL ( ( I CON . REGION ( 230 43 1 1 5 48 ) ) ( EXPAND . REGION ( 32 8 304 8 1 42 ) ) ) )

( SAVED . VALUES 0 . 1 ) ( SUPER . IMAGE llUni t ( I t1AGE . PANEL03254 BOLTZMANN ) ) ( TI TLE " CON45 ' s PESO " ) ( T I TLEFONT FONTS : HL l OB ) ( TOPUN IT ( N I L ) ) ( VALUE . WAS . SAVED T ) ( W I DTH 8 1 ) ( W INDOW " A Flavor I n s t ance "

NIL NIL N IL ( ( ICON . WI NDOW N I L ) ( EXPAND . WI NDOW N I L ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

( DI G IMETER033 78 ( " PROYECTOS " " 25-Nov- 1 986 1 7 : 43 : 46 " " P ROYECTOS " " 26-Aug- 1 987 9 : 48 : 54 " ) NIL ( ( DIG it1ETER ACTIVE IMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HE I GHT 4 1 ) ( I MAGE . WAS . P A INTED N I L ) ( OBJECT . DI SPLAYED llSlot ( PESO CON46 BOLTZMANN OWN ) ) ( REGION ( 324 2 54 93 4 1 )

NIL NIL IHL ( ( I CON . REG I ON ( 330 305 1 1 5 48 ) ) ( EXPAND . REG ION ( 324 254 93 4 1 ) ) ) )

( SAVED .ALUES - O r l ) ( SUPER . I MAGE #Unit ( I MAGE . PANEL03 254 BOLTZMANN ) ) ( T I TLE " COM46 ·' s P ESO " ) ( TTTLErorT FONTS : rrr. 1 0[: ) ( TOPUNIT ( M :2:L ) )

( WI DTH 93 ) ( WI NDOW " A F l avor- I n s t ance "

N I L NI.L N IL ( ( I CO N . WI NDOW N I L ) ( EXPAND . W I NDOW N I L ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

Page 139: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

N I L

( ( DIGIMETER ACTIVEIMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEI GHT 43 ) ( IMAGE . WAS . P A INTED NIL ) ( OBJECT . DISPLAYED #Slot ( PESO CON36 BOLTZMANN OWN ) ) ( BEGION ( 2 24 40 84 43 )

NIL NIL NIL ( ( ICON . REGION ( 32 2 2 : 1 1 5 48 ) ) ( EXPAND . REGION ( 2 2 4 40 84 43 ) ) ) )

( SAVED . VALUES 0 . 1 ( SUPER . IMAGE #Uní t ( I MAGE . PANEL032 54 BOLTZM.t1NN ) ) ( TITLE "CON36 / s PESO " ) ( TITLEFONT FONTS : HL l OB ) ( TOP UNIT ( NIL ) ) ( VALUE . WAS . SAVED T l

( W IDTH 84 ) ( W INDOW " A F l avor· I n s tance"

NIL NI L NIL ( ( ICON . WI NDOW NIL ) ( EXPAND . WI NDOW N I L ( CURBENT . WI NDOW ( EXPAND ) ) ) ) ) )

( DIGI METEB.03382 ( " P ROYECTOS" " 2 5-Nov- 1 986 1 7 : 45 : 1 0 " " PROYECTOS " " 26-Au- 1 987 9 : 48 : 55 " ) NIL ( ( DIGIMETER ACTI VE IMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4

( FONT FONTS : MEDFNB ) ( HE I GHT 42 ) ( I MAGE . WAS . P A INTED NIL ) ( OBJECT . DISP LAYED l/S l ot ( PESO CON57 BOLTZMANN OWN ) ) ( REGION ( 325 1 47 99 42 )

NIL N IL NIL ( ( ICON . REGION ( 324 205 1 1 5 48 ) ) ( EXPAND . REGION ( 32 5 1 47 99 42 ) ) ) )

( SAVED . VALUES 0 . 3 ) ( SUPER . IMAGE #Unit ( IMAGE . P ANEL03254 BOLTZMANN ) ) ( TI TLE " CON57 / s PESO " ) t T ITLEFONI FONTS : HL l OB )

( VALDE . WAS . SAVED T ) ( WI DTH 99 ) ( WINDOW " A F lavor Instance "

NIL NIL N IL ( f ICON . WI NDOW NIL ) ( EXPAND . r unnw !L ) ( CURRENT . WI NDOW ( EXP AND ) ) ) ) )

Page 140: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

\ L ..;,. i.:: ..:. : ·- - - -·· - - - --

( " PRC<:.-:::;: Tos · ' _ 5 - fcv- l S\:::.6 1 7 : 45 : 4 2 " '1 P RO YECTOS 11 " 2 6-P.ug- i 98 7 9 : 4E : 56 1l j !H L l ( D I G I METER ACT I V E IMAGES ) I MAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 43 ) ( I MAGE . WAS . P AINTED NIL ) ( OBJECT . DISPLAYED #Slot ( PESO CON67 BOLT ZMANN OWN ) ( REGION ( 327 92 95 43 )

NIL NIL NIL ( ( I CON . REGION ( 3 24 1 4 7 1 1 5 48 ) ) ( EXPAND . REGION ( 32 7 92 95 43 ) ) ) )

( SAVED . VALUES 0 . 3 ) ( SUPE R . IMAGE #Uni t ( IMAGE . PANEL03254 BOLTZMANN ) ) ( T ITLE " CON6 7 "' s PESO " ) ( T I T LEFONT FONTS : HL l O B ) ( TOPUNIT ( NIL ) ) ( VALUE . WAS . SAVED T )

( WID'.lfi 95 ) ( WINDOW " A F l avor In s t ance "

NIL NI L N IL ( ( ICON . WI NDOW N I L ) ( EXPAND . WI NDOW NIL ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

( DIG IMETER03386 ( " PROYECTOS" " 25-Nov- 1 986 1 7 : 46 : 03 " " PROYECTOS" " 26-Aug- 1 987 9 : 48 : 56 " ) NIL ( ( DIG I METER ACTIVEIMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : MEDFNB ) ( HEIGHT 4 1 ) ( IMAGC . WAS . P AINTED NIL ) ( OBJECT . DISP LAYED l/Slot ( PESO CONS6 BOLTZMANN OWN ) ) ( REGION ( 324 200 94 4 1 )

NIL NIL NIL ( ( ICON . REGION ( 326 94 1 1 5 48 ) ) ( EXPAND . REGION ( 32 4 2 00 94 4 1 ) ) ) )

( SAVED . VALUES 0 . 1 ) ( SUPER . IMAGE #Un i t ( IMAGE . PANEL03 254 BOLTZMANN ) ) ( TI TLE " CON56 ' s P ESO " ) ( T ITLEFCNT FONTS : HL ! 0P ) ( T1)l?UNIT ( !HL ) ) VALUE . WAS . SMVED T j ( W IDTH 94 )

( W I NDOW "A F lavol.' I ns t ance " NIL NIL N IL ( ( ICON . W INDOW NIL ) ( EXPAND . WI NDOW NIL ) ( CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

Page 141: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

H I L ( ( I MAGE . P ANEL ACTIVEI MAGES ) IMAGES )

NIL

( ) ( ( BORDER 1 2 )

( HEIGHT 3 7 7 ) ( I MAGE . WAS . PAINTED ( NI L ) ) ( IMAGES

( #Uni t ( METHOD . ACTUATOR03927 BOLTZ MANN )

( OBJECT . DI SPLAYED #KB ( BOLTZMANN ) ) ( REGION ( 3 4 459 3 7 7 )

NIL H I L N I L

#Un i t #Un i t #Un i t #Un i t #Unit ltun i t ur· -· i t lii•1.ü t #Unit #Un i t #Unit #Un i t #Unit #Un i t #Uni t llUnit #Un i t ltunit

#Un i t #Uni t #Un i t #Uni t t/Unit llUnit #Un i t #Un i t #Un i t

( METHOD . ACTUATOR04439 BOLTZMANN ) ( METHOD . ACTUATOR03346 BOLTZMANN ) ( DI G I METER03386 BOLTZMANN ) ( DI G I METER03384 BOLTZMANN ) ( DI G IMETER03382 BOLTZMANN ) ( DI G I METER03380 BOLTZMANN ) ( DIGI METER0337B BOLTZ MAN N ) ( DI G IMETER03376 BOLTZMANN ) ( D IGIMETER0337 4 BOLTZMANN ) ( DI G I METER033 7 2 BOLT ZMANN ) ( DI G I METER03370 BOLTZMANN J ( DIGI METER03368 BOLT ZMANN ) ( D I G I METER03366 BOLTZMANN )

( D I G I METER03 3 1 3 BOLTZMANN) ( ERTICAL . TRAFF I C . L IGHT033 1 2 BOLT ZMAN N ) ( 0I G I METER033 1 0 BOLTZMANN ) ( VERT ICAL . TRAFFI C . LIGHT03309 BOLTZ MANN ) ( DI G I METER03307 BOLTZ MANN ) ( VERTICAL . TRAFFIC. LIGHT03306 BOLTZ MANN ) ( DI G IMETER03304 BOLTZMANN ) ( VERTICAL . TRAFFIC . LI GHT03303 BOL T Z MANN ) ( DI G IMETER03301 BOLTZMANN ) ( VERTI CAL . TRAFFIC . LIHT03299 BOLTZ MANN ) ( DI GIMETER03297 BOL1 1ANN ) ( VERTICAL . TRAFFI C . LIGHT03296 BOLTZ MANN ) ( DI G I ACTUATOR03294 BOLTZ MANN ) ( VERT I CAL . TRAFFIC . LIGHT03293 BOLTZ MAHN ) )

¡ _I

( ( ICON . REGION ( 2 6 2 4 2 48 ) ) ( EXPAND . REGION ( 3 4 459 37 7 ) ) ) ) ( TI TLE " I mage Panel for RED in KB VERSION " ) ( T ITLEFONT FONTS : HL I OB ) ( TOPUNIT #Un it ( RED BOLTZMANN ) ) ( W IDTH 459 ) ( W I NDOW " A Flavor Instance "

NIL NIL N IL

( IMAGES

T..1 ·1 r • ,, .... ..... . : :U2ET . WI HDOW ( : CON ) ) ) ) ) )

( " PROYECTOS " " 25-Nov- 1 986 1 7 : 30 : 1 0 " " PROYECTOS " " 2 5-Nov- 1 986 1 7 : 30 : 1 3 " ) NIL ( ( CLASSES GENERICUJ.i :i T S ) )

Page 142: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

¡ ( DELETE DELETE . ALL . I MAGES METHOD METOD ) ( DELETE . ALL . I MAGES DELETE . ALL . I MAGES METHOD METHOD) ( DONT . RECREATE . IMAGES . AFTER . KBLOAD ASKUSER MIL OME . OF T NIL ASKUSER ) ) ( RECREATE . ALL . IMAGES RECREATE . ALL . IMAGES METHOD METHOD ) ( SAVE . ALL . IMAGES SAVE . ALL . IMAGES METHOD METHOD ) ( USER . DELETE . ALL . I MAGES USER . DELETE . ALL . IMAGES METHOD METHO D ) ( USER . BECREATE . ALL . IMAGES USER . RECREATE . ALL . IMAGES METHOD METHOD ) ) )

( METHOD . ACTUATOB.03346 ( " P ROYECTOS" " 2 6-Nov- 1 986 1 5 : 07 : 04 " " P ROYECTOS" " 2 6-Aug- 1 987 9 : 48 : 44 " ) NIL ( METHOD . ACTUATOR ACTIVEIMAGES ) IMAGES ) NIL

( ) ( BORDER 4 )

( FONT FONTS : HL6 ) ( HEIGHT 1 33 ) ( IMAGE . WAS . P AINTED N I L ) ( OBJECT . DISPLAYED #Slot ( RETRACT REGLAS . ALGORITMO BOLTZ MANN OWN ) ) ( REGION ( 1 7 7 1 2 2 40 1 33 )

NIL M IL NIL ( ( ICON . REGION ( 1 8 1 95 2 1 0 48 ) ) ( EXPAND . REGION ( 1 7 7 1 2 2 40 1 33 ) ) ) )

( SAVED . VALUES j RULESYSTEM2 > RULE . CLASSES : RETRACT ! method f ) ( SUPER . IMAGE l/Uni t ( IMAG E . P ANEL03254 BOLTZMANN ) ) ( TITLE " REGLAS . ALGORITMO '" s RETRACT " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( VALUE . WAS . SAVED T ) ( ' DTH 40 ) ( W INDOW " A F l avor I n s t ance"

NIL NIL N IL ( ( ICON . WINDOW N I L ) ( EXPAND . WINDOW NIL ) (CURRENT . WI NDOW ( EXPAND J ) ) ) ) )

( METHOD . ACTUATOR03927 ( " P ROYECTOS" " 1 0-Dec- 1 986 1 5 : 35 : 52 " " PROYECTOS" " 26-Aug- 1 98 7 9 : 48 : 44 " ) NIL ( ( METHOD . ACTUATOR ACTIVEIMAGES J IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : HL 6 ) ( HEIGHT 7 1 ) ( I MAGE . WA S . P A I TED N I L J ( 0BJEC! . D ISPLY0 rr 5 1 0 : O !GEN RED BOLIZMAMN un n ¡ ¡ ( REGION ( 1 76 35 4 1 7 1 )

NIL NIL NIL ( ( I CON . REGION ( 1 8 1 237 1 09 48 ) ) EXPAND . REGION ( 1 76 35 4 1 7 1 ) ) ) )

( SAVED . VALUES I BOLTZMANN>RED : : ORI GEN ! method l ) ( SUPER . IMA6E #U i t ( I MAGE . PANEL03254 BOLTZMAHH ) )

( TITLE " BED ' ! O B I GE N " l

Page 143: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

·.-' .;. -, J. ;. . . _ ,_ - ::. " ; - -( TOPUiHT ( H l L ) ) ( VALUE . WAS . SAVED T ) ( W IDTH 4 1 ) ( WINDOW ºA Fl avor- In stance º

NIL

lf'.tt NIL ( ( ICON . WINDOW NIL ) ( EXPAND . WI NDOW N I L ) ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( METHOD . ACTUATOR04439 ( " P ROYECTOS" " 26-Nov- 1 986 1 5 : 35 : 00 " " PROYECTOS" " 26-Aug- 1 987 9 : 48 : 45 " ) NIL ( ( METHOD . ACTUATOR ACTIVEit1AGES ) It1AGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : HL6) ( HEI GHT 62 ) ( I MAGE . WAS . P AINTED N I L ) ( OBJECT . DISPLAYED #S l ot ( ALGORITMO RED BOLTZ MANN OWN ) ) ( REG ION ( 3 28 2 1 1 1 7 6 2 )

NIL NIL NI L ( ( ICON . REGION ( 328 2 1 1 33 48 ) ) ( EXPAND . REGION ( 32 8 2 1 1 1 7 6 2 ) ) ) )

( SAVED . VALUES I BOLTZMANN>RED : : ALGORITMO ! method J ) ( SUPER . IMAGE #Unit ( IMAGE . PANEL03254 BOLTZMANN ) ) ( TI TLE " RED '° s ALGORITMO " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( VALUE . WAS . SAVED T ) ( W IDTH 1 1 7 ) ( WINDOW "A F lavor- Ins tance "

NIL NIL NIL ( ( !CON . WINDOW N I L ) ( EXPAND . WIHDOW NIL ) ( CURRENT . WINDOW ( EXPAHD ) ) ) ) ) )

( NODO! ( "pr-oyectos " " 1 4-Nov- 1 986 1 3 : 32 : 5 1 " " PROYECTOS " " 1 2-Dec- 1 986 1 1 : 33 : 1 3 " NIL ( NODO S ) NIL ( ) ( ( CONEXIONES ( CON 1 5 C ON 1 6 ) )

( EST.O.DO ( I N.CTIVO ) ) ( I DFNT I TCACION ( ENTRADA ) ) ( VALOH ( -0 . 1 ) ) ( VAEI APLE ( f?!L ) ) ) J

( NOD02 ( " :pr- oyectos " " 1 4-Nov- 1 986 1 3 : 32 : 5 1 " " PROYECTOS" " 1 2-Dec:.- 1 986 1 1 : 33 : 1 3 " ) NIL ( NODO S ) NIL )

Page 144: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

\ __, . _ _ , , _ -.,., \ - ; ·-· - - - · .., , I

( l DENT I F I C A C I O N ( ENTRADA ) ) ( VP..LOH ( -0 . l ) )

( VARIABLE ( N I L ) ) ) )

( NOD03 ( " proyect o s " " 1 4-Nov- 1 986 1 3 : 32 : 5 1 " " P ROYECTOS " " 1 2-Dec- 1 986 1 1 : 33 : 1 4 " ) NIL ( NODO S ) N IL ( ) ( ( CONEXI ONES ( CON35 CON36 ) )

( ESTADO ( INACTIVO ) ) ( I DENTIFICACION ( ENTRADA ) ) ( VALOR ( -0 . 1 ) ) ( VARIABLE ( NI L ) ) ) )

( N0004 ( " pr oyectos " " 1 4-Nov-1 986 1 3 : 32 : 5 1 " " P ROYECTOS " " 1 2-Dec- 1 986 1 1 : 33 : 1 4 " ) NIL ( NODOS ) NIL ( ) ( ( CONEXIONES ( CON45 CON46 ) )

( ESTADO ( INACTIVO ) ) ( I DENTIFICAC ION ( ENTRADA ) ) ( VALOR ( -0 . 1 ) ) ( VARIABLE ( NI L ) ) ) )

( NODOS ( " pr oyectos " " 1 4-Nov- 1 986 1 3 : 32 : 5 1 " " PROYECTOS " " J. .:'.-Dec- 1 986 1 1 : 33 : 1 8 " ) NIL ( NODOS ) NIL ( ) ( ( CONEXIONES ( CON 1 5 CON25 CON35 CON45 CONS6 CONS7 ) )

( ESTADO ( ACTIVO ) ) ( VALOR ( l . l ) ) ) )

( NOD06 ( " pr oyect o s " " 1 4-Nov- 1 986 1 3 : 32 : 52 " " PROYECTOS " " 1 2-Dec- 1 986 1 1 : 33 : 1 6 " ) NIL ( NODO S ) NIL ( ) ( ( CONEXIONES ( SON ! 6 C0N 2 rnu ? CON6 CON56 CON67 ) )

( ESADO ( AC!!VO ) ) ( I DEl T IF I CACION ( IHTERf:::J::c .. :: ,= . .. :: ( VALOR ( l . l ) ) ( VARI ABLE ( T ) ) l )

!JODO? ( " :pr oyect o s " " 1 4-Nov- 1 986 1 3 : 32 : ::, : ; • ' ' ? EOYECTOS" " 1 2-Dec- 1 986 1 1 : 33 : 1 0 " ) ¡;¡IL

Page 145: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( NODOS ) NIL ( ) ( ( CONEXIONES ( CON57 CON67 ) )

( ESTADO ( I NACTIVO ) ) ( I DENTIFICACION ( SALIDA ) ) ( VALOR ( -0 . 1 ) ) ( VARI ABLE ( NI L ) ) ) )

( NODOS ( " pr oyectos " " 1 4-Nov- 1 986 1 3 : 32 : 5 1 " " P ROYECTOS " " 2 6-Aug- 1 987 9 : 2 2 : 53 " ) ( RE D ) ( ( CLASSES GENERICUNITS ) ) " Un idades o " ( ( COMP ROBAR . SALIDA

( LAMBDA ( SELF ) ( COND ( ( EQUAL ( G ::: I . VALUE SELF '" ESTADO ) ( GET . VALUE SELF ··· sAL IDA . P ATRON ) )

· ( P U'f . VAL U E ,· RED - ,. CORRECTO - ¿ S I-)------ --- --( T ( P U T . VALUE '" RED '" CORRECTO '" NO ) ) ) )

METHOD ( METHOD ) NIL ( ( COMMENT

"Comprueba s i el estado del nodo despues de la segunda fase del a l gor itmo es i gual al q indicaba el patr-on de entr-enamiento " ) ) )

( CONEXIONES NIL N IL NIL NIL ( ( COMMENT ( " Li s ta de las conexiones en l a s que interviene e l nodo " ) ) ) )

( ESTADO ( INACTIVO ) NIL ( ( ONE . OF ACTIVO INACTIVO ) ) NIL ( ( COMMENT ( " Es tado actual del nodo " ) ) ( CARDI NALITY . MAX ( 1 ) ) ) )

( IDENTIFICACION ( INTERMEDI O ) NIL ( ( ONE . OF ENTRADA SALIDA INTERMED I O ) ) NIL ( ( COMMENT

( " Funcion del nodo en la r-ed , ya sea e lemento de ENTRADA , INTERMED I O , o de SAL IDA " ) ) ( CARDIN.<\LITY . MAX ( l ) ) ) )

( SAL I DA . PATRON NIL N I L f ( ONE . OF ACT IVO INACT IVO ) ) N I L : \ C RDINAL I TY . MX ( l J )

( COMMENT '' Cont iene el es tado del nodo par-a el patr-on de entada . So l o es r e l evant e si la i dent i fi

ion del nodo es SAL I D A " ) ) ) ( UMBRAL

Page 146: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( -0 . 1 ) N I L ( REAL ) NIL ( ( AVUNITS ( #Unit ( CORRECCION BOLTZMANN ) ) )

( COMMENT ( " Va lor numer ico que tiene el nodo , a partir del cual se determina su estado de act ivacj

o inact i vacion " ) ) ( CARDINALITY . MAX ( 1 ) ) ) )

( VARIABLE ( T ) N IL ( ( ONE . OF T N IL ) ) NIL ( ( COMMENT

( " Variable booleana ( T , NIL ) que indica si el e,._'ado del nodo puede s er cambiado por el j ci onamiento interno de l a red . Su val or es NIL cuando e l nodo es de ENTRADA o de SALIDA " ) )

( CARD INALITY . MAX ( 1 ) ) ) ) ( VER . SI . ACT IVA . A

( LAMBDA ( SELF CONEX I ON ) ( P R OG ( ( NODO ( COND ( ( EQUAL SELF ( GET . VALUE CONEXION 'PUNTO l ) )

( GET . VALUE CONEXION ' PUNT02 ) ) ( T ( GET . VALUE CONEXION ' P UNTO l ) ) ) )

( P ESO . ARCO ( GET. VALUE CONEX I ON ... P ESO ) ) J- - ­(COND ( ( GET . VALUE NODO ,. VARIABLE )

METHOD ( METHOD ) NIL ( ( COMMENT

( P U T . VALUE NODO ,. VALOR ( + ( GET . VALUE NODO -' VALOR ) P ESO . ARCO ) ) ( CONO ( ( > = ( GET . VALUE NODO ' VALOR ) ( GET . VALUE NODO -' UMBRAL ) )

( PUT . VALUE NODO ' ESTADO ' ACTI VO ) ) ( T ( P UT . VALUE NODO ' ESTADO ' INACTIVO ) ) ) )

( T HIL ) ) ) )

( " Metodo que cal cu l a el estado de l o s nodos conectados con e l nodo propiet ar i o del met Toma como argumentos el nodo propiet ar i o y una unidad de UNIONES " ) ) ) ) )

( ( CALCULO ( L AMBDA ( SELF )

( ASSERT NIL ' REGLA . CALCULO ) ) METHOD ( METHOD ) NIL ( ( COMMENT

( " Metodo que d i s para el funcionamiento interno de la red a par t i r de una det erminada s i cion ut i l izando REGLA . CALCULO " ) ) ) )

( CREAR . NODOS ( LAMBDA ( SELF ) ( PB.OG ( DATO)

( CLI : TERPRI )

( STQ DATO ( CBEATE . URIT ( SLI : TERPRI ) ( P UT . VALUE DATO

' ESTADO

,· ...... .,.. - - - -'· l_. !_, .! ; .'_"- .'2. :.' ¡ L NIL ' ( NODOS ) ) )

( MENO ( GET . SLOT . MENU --- NODOS .. MENUESTADO ' OWN ) ) ' OWN )

( PUT . VALUE DATO ' I DENTIF ! CACION ( ME:HU ( GET . SLOT . HENU · to;:,;. _::_, , , i1,i ü I DENTIF ·· OWN ) )

Page 147: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( MENUESTADO

( f· 1E"i HOD ) !H L

( ( COMMENT " Cont iene la funcion que crea nuevos nodo s " )

( ( ' ' .t..CTI VO " ··· ,t.,C T I VO ) ( " I NACTIVO" ... I NACT I V O ) NIL ( MENU I TE M NIL ( ( T I TLE ( " ESTADO DESEADO " )

( COMMENT " Menu :par-a e l egir el estado de un nodo en e l momento de su creacion" ) ) ) ( MENUI DENTIF

( ( " ENTARDA " ' ENTRADA ) ( " SALIDA " 'SALIDA ) ( " I NTERMED I O " ' INTERMEDIO ) N I L ( MENUITEM ) NIL ( ( TITLE ( " I DENTIFICAC ION DEL NODO " ) )

( COMMENT " Menu par a e l egir la ident i ficacion del nodo en e l momento de su cr-eacion " ) ) ) ( SU P R I MI R . NODOS ( LAMBDA ( SELF )

( CL I : TERPRI ) ( PlU NTOUT T " NOMBRE DEL NODO : " ) ( UNI TDELETE ( CLI : REA!J ) ) )

METHOD ( METHOD) N I L ( ( COMMENT " Cont iene e l met odo que supr i me u n nodo de l a red " ) ) ) ) )

( P RUEBA ( " P ROYECTOS " " 1 2 -Dec- 1 986 1 1 : 50 : 1 6 " ) NIL ( ( ENT ITIES GENERICUNITS ) ) NIL ( ) ( )

( R . ACTIVO ( " proyectos " " 1 4-Nov- 1 986 1 3 : 33 : 24 " " PROYECTO S " " 1 9-Nov- 1 986 1 0 : 57 : 55 " ) NIL ( REGLA . ESTADO ) NIL ( ) ( ( ASSERTION ( llWff C AN ESTADO OF ?NODO IS ACTIVO ) ) )

( EXTERNAL . FORM ( IF ( ( THE VALOR OF ?NODO . IS ? X ) AND

THEN

• P ?EMISE ( # f f ( A VAL0S

( R . ACTUALI ZACION

( THE UMBRAL OF ?NODO IS ?Y ) AND ( >= ? X ? Y ) )

( " PROYECTOS" " 2 7-Nov- 1 986 1 5 : 46 : 26 " " PROYECTOS" " 1 0-Dec- 1 986 1 5 : 1 4 : 00 " ) NIL ( REGLA . I NICI O . FASE! REGLA . INIC10 . FASE2 )

.>=

Page 148: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( R . ASIGNACION . P ATRON

( " PROYECTOS " " l l -Dec- 1 986 1 6 : 2 7 : 5 2 " " P ROYECTOS " " 1 2 -Dec- 1 986 1 1 : 56 : 08 " ) NIL ( REGLAS . ASIGNACION . PATRON ) "Pide al us uar i o l o s val ores correspondientes par a l o s nodos de un patron " ( ) ( ( ACT ION ( ( P RI NTOUT T ( UNIT . NAME ?NODO ) " • • • • " ) ( P UT . VALUE ?NODO ' VALOR ( READ ) ) ) )

( EXTERNAL . FORM ( IF ( ( ? NODO IS IN NODOS ) ANO

( ( THE IDENT IFICACION OF ?NODO IS ENTRADA ) OR ( THE IDENTIF ICACION

OF

DO ( P RINTOUT T ( UNIT . NAME ?NODO ) " • • • • " ) ( PUT . VALUE ?NODO ' VALOR ( READ ) ) ) )

( P REMISE ( #W f f ( ? NODO IS IN CLASS NODOS )

?NODO IS SALIDA ) ) )

#W f f ( ( AN IDENT IFICACION OF ?NODO IS ENTRADA ) OR ( AN IDENTIFICACION OF ?NODO IS SAL IDA ) ]

( R . CALCULO ( " proyect os " " 1 4-Nov- 1 986 1 3 : 34 : 32 " " PROYECTOS " " l l-Dec- 1 986 1 5 : 44 : 1 6 " ) NIL ( REGL.A. . CALCULO ) NIL ( ) ( ( ACTION ( ( PRINT ?NODO ) ( PRINT ?DESTINO ) ( UN ITMSG ? NODO ' VER . SI . ACTIVA . A ?DESTI NO ) ) )

( ASSERTI ON ) ( EXTERNAL . FORM ( IF ( AND ( THE ESTADO OF ?NODO I S ACTIVO )

( THE CONEXIONES OF ? NODO IS ? DESTINO ) ) DO ( PR INT ?NODO ) ( PR INT ? DESTINO ) ( UNITMSG ?NODO ' VER . SI . ACTIVA . A ? DESTINO ) ) )

( P REMISE ( #Wff ( AN ESTADO OF ?NODO I S ACTIVO ) #Wff ( A CONEXI ONES OF ? NODO IS ?DESTINO ) ) ) ) )

( R . CAMBIO . PESO . FASE l . l ( " PROYECTOS " " 1 7-Nov- 1 986 1 6 : 29 : 00 " " PROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 6 : 45 " ) N I L

( REGLA . CAMBI O . PESO . FASE ! )

, , .' 1 r 7""' ....., :- .', r TT T':"" . · -· .,-! '-.J l' J .. '-' .C-U f!..- f". r, 1 -• - · - . -·· ' · . . ' ·. ' · : .: '--""': . _! .' ·' ·'

1 A3Si6TI0N ( #Wff ( AH ACTUAL I Z ACIUN UF CON l S I J J ) ( EXTERNAL . FORM ( IF ( ( THE ESTADO OF ?NODO IS ACTIVO ) ANO

( THE CONEXIONES OF ?NODO IS ? CON ) ANO ( THE ACTUALIZACION OF ':'CON IS H O ) .A.NO f THE PUNTO I OF ?CON IS ?ROP0 ' 1-\i;D

Page 149: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

THEN ( THE ACTUALI ZACION OF ?CON IS S I ) DO ( P UT . VALUE ?CON

' P ESO

OF ( THE PUNT02 OF ?CON ) IS IKTIVO ) )

( + ( GET . VALUE ?CON ,. P ESO ) ( GET . VALUE ' RED ,. DELTA ) ) ) ) ) ( P REMISE ( #Wff ( AN ESTADO OF ?NODO IS ACTI VO ) #Wff ( A CONEXI ONES OF ?NODO IS ? CON )

í . ( WE I GHT ( 2 ) ) ) )

( R . CAMBIO . PESO . FASE l . 2

#Wff ( AN ACTUALI Z ACION OF ?CON I S NO ) /IWff ( A P UNTO l OF ? CON IS ?NODO ) #Wff ( A P UNT02 OF ?CON IS ? VAR2 ) #Wff ( AN ESTADO OF ? VAS2 IS ACT I VO ) ) )

( " P ROYECTOS " " 2 7-Nov- 1 986 1 5 : 09 : 53 " " PROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 6 : 40 " )

NIL ( REGLA . CAMB I O . P ESO . FASE ! ) NIL • ( ) ( ( ACT ION ( ( P UT . VALUE ?CON ' P ESO ( + ( GET . VALUE ?CON ,. PESO ) ( GET . VALUE ,. RED ' DELTA ) ) ) ) )

( ASSERT ION ( #Wff ( .l\N ACTUALI ZACI ON OF ? CON IS S I ) ) ) ( EXTERNAL . FORM ( IF ( ( THE ESTADO OF ?NODO IS ACTIVO ) AND

i .

ll THEN

( THE CONEXIONES OF ?NODO IS ? CON ) ANO ( THE ACTUAL I Z AC ION OF ?CON IS NO ) ANO ( THE PUNT02 OF ?CON I S ?NODO ) ANO ( THE ESTADO

OF ( THE PUNTO l OF ?CON ) IS ACTIVO ) )

( THE ACTUAL I Z AC ION OF ?CON IS S I ) DO ( PUT . VALUE

( P BEM ISE ( #Wff ( AN ESTADO OF

( R . CAMBIO . P ESO . FASE 2 . l

?CON - -- · -

'' P ESO ( + ( GET . VALUE ?CON ,. P ESO ) ( GET . VALUE ,. RED ' DELTA ) ) ) ) )

? NODO IS ACTI VO ) #Wff ( A CONEXI ONES OF ?NODO I S ?CON ) #Wff ( AN ACTUAL I ZACION OF ?CON IS NO ) #Wff ( A PUHT02 OF ?CON IS ?ffODO ) #Wff ( A PUNTO ! OF ?CON IR ?UAF ) #Wff AN ESTADO O F ? VAR3 I S ACTIVO ) l ) l )

( " PROYECTOS " " 2 7 -Nov- 1 986 1 6 : 1 6 : 45 " " P ROYECTOS " " l ODec- 1 986 1 4 : 1 8 : 26 " ) NIL ( REGLA . c.<>.MB I O . P ESO . FASE2 ) NIL

' ' l .

, l .t-.. . . r = ·· :

Page 150: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

THEN ( THE ACTUAL I ZACION OF ?CON IS S I ) DO ( P UT . VALUE ?CON

'' P ESO

( T HE CONEX iONES OF ? NODO I S ?GO ) .ó,HD ( THE ACTUALI ZACION OF ?CON IS NO ) AND ( THE PUNTO! OF ?CON IS ?NODO ) AND ( THE ESTADO

OF ( THE PUNT02 OF ?CON ) IS ACTI VO ) )

( - ( GET . VALUE ?CON / PESO ) ( GET . VALUE / RED / DELTA ) ) ) ) ) ( PREM ISE ( #W f C AN ESTADO OF ?NODO IS ACTIVO ) #Wff ( A CONEXIONES OF ? NODO IS ? CON )

#W f f ( AN ACTUALI Z ACION OF ?CON I S NO ) #Wff ( A PUNTO l OF ? CON IS ?NODO ) # W f f ( A PUNT02 OF ? CON IS ?VAR 4 ) # W f f ( AN ESTADO O F ? VAR4 IS ACTIVO ) ) ) ) )

( R . CAMBIO . PESO . FASE2 . 2 ( " PROYECTOS" " 2 7-Nov- 1 986 1 6 : 1 6 : 50 " " P ROYECTOS" " 1 0-Dec- 1 986 1 4 : 1 8 : 23 " ) NIL ( REGLA . CAMBI O . PESO . FASE2 ) NIL ( ) ( ( ACTION ( ( PUT . VALUE ?CON / P ESO ( - ( GET . VALUE ?CON ·' P ESO ) ( GET . VALUE / RED / DELTA ) ) ) ) )

( ASSERTION ( llW :: f C AN ACTUAL I Z ACION OF ? CON IS SI ) ) ) ( EXTERNAL . FORM ( I F ( ( THE ESTADO OF ?NODO IS ACTIVO ) AND

THEN ( THE ACTUALI ZACION OF ?CON IS SI ) DO ( P UT . VALUE ?CON

·· l' ESO

( THE CONEXIONES OF ?NODO IS ?CON ) AND ( THE ACTUAL I Z ACION OF ?CON IS NO ) AND ( THE PUNTO! OF ?CON IS ?NODO ) AND ( THE ESTADO

OF ( THE PUNT02 OF ?CON ) IS ACTIVO ) )

( P REM :SE ( #Wff ( Aíl ESTADO OF ?NODO IS ACTIVO ) #Wff ( A CONEXI ONES OF ?NODO IS ?CON ) #Wff ( AN ACTUALI ZACION OF ?CON I S NO )

·#Wf f ( A PUNTO! OF ? CON IS ?NODO )

1 0 . coM ROBAR . SAL IDA ; ; - .., _ ;--, -= _ - , , ,.... r. · - . ..... ,.... . .... ! l ¡_- !.'. '·-' : ::.._ . . _ . .;. ,_; ·::'·

#Wff ( A PUNT02 OF ?CON IS ?VAR5 ) #Wf f C AN ESTADO OF ?VAR5 IS ACTIVO ) ) ) ) )

, , · . .., - -.' _: - l •"'::'' . - -, ,-, .--

Page 151: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

H I L

( REGLA . COMPROBAR . SA L I DA )

NIL ( ) ( ( ACT I ON ( ( UNITMSG ?NODO / COMPROBAR . SALIDA ) ) )

( EXTERNAL . FORM ( IF ( ( ?NODO IS IN NODOS ) ANO ( THE I DENT IFICACION OF ?NODO IS SAL IDA ) DO ( UNITMSG ?NODO ' COMPROBAR . SALI DA )

( P REM ISE ( #Wff ( ?NODO IS IN CLASS NODOS ) l/Wff ( AN I DENTIFICACION OF ?NODO IS SALI DA ) ) ) ) )

( R . FIJAR . SALIDA . PATRON ( " P ROYECTOS" " l l -Dec- 1 986 1 7 : 45 : 25 " " P ROYECTOS " " l l -Dec- 1 986 1 7 : 48 : 09 " ) NIL ( REGLA . F IJAR . SALIDA . PATRON ) NIL ( ) ( ( ACTION ( ( P UT . VALUE ?NODO ' SALIDA . PATRON ( GET . VALUE ?NODO ··· ESTADO ) ) ) )

( EXTERNAL . FORM ( IF ( ( ?NODO IS IN NODOS ) AND ( THE I DENTIFI CAC ION OF ?NODO IS SALIDA ) ) DO ( P UT . VALUE ? NODO ... S.t\LIDA . PATRON ( GET . VALUE ?NODO ·' ESTADO ) J ) )

( PREMISE ( #Wff ( ?NODO IS IN CLASS NODOS ) l/Wff ( AN I DENTIFICACION OF ? NODO I S SALIDA ) ) ) ) )

( R . INACTI VO ( " :proyectos " " 1 4-Nov- 1 986 1 3 : 33 : 24 " " PROYECTOS" " 1 9-Nov- 1 986 1 0 : 58 : 1 7 " ) NIL ( REGLA . ESTADO NIL ( ) ( ( ASSERTION ( l/Wff ( AN ESTADO OF ?NODO IS INACTIVO ) )

( EXTERNAL . FORM ( I F ( ( THE VALOR OF ?NODO IS ? X ) ANO

THEN

( THE UMBRAL OF ?NODO IS ?Y ) ANO ( < ? X ?Y ) )

( THE ESTADO OF ?NODO IS INACTI VO ) ) ) ( PREMISE ( ltWff ( A VALOR OF ?NODO IS ? X ) l/Wff ( A UMBRAL OF ?NODO IS ?Y ) #tWff ( < ?X ? Y ) ) ) ) J

( R . INICIO . FASE2 ( " P ROYECTOS" " 1 9-Nov- 1 986 1 1 : 09 : 05 " " P ROYECTOS" " l l -Dec- 1 986 1 5 : 25 : 44 " ) NIL ( REGLA . INICIO . FASE2 NIL ( ) ( ( ACTION

( ( F UT . VALUE ?NODO ... V..LOR ( - ( GET . VALUE ?NODO " UMBRAL ( GET . VALUE " RED ' DELTA ) ) )

I EXTERMAL . FORM t l f ( THE I DENTIF ICACION OF ?NODO IS SAL IDA ) DO ( P UT . VALUE ?NODO

' VALOR · · ( - ( SET. VALUE · ?NODO ' UMBRAL )- ( 6ET . V.4LUE ·' RED ·' DELTA ) )

( ASSERT NIL / REGLA . ESTADO ) ( PREMISE ( #Wff ( AN I DENTIFICAC I ON OF ?NOOO I S SALI DA ) ) ) ( WE I GHT ( 0 ) ) i )

Page 152: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

H I L

( REGLAS . ORI GEN ) NIL ( ) ( ( ASSERT I ON ( #Wff ( A PESO OF ?CON IS 0 . 1 ) ) )

- ·- ,J - t. : .:. ¡ ¡ )

( EXTERNAL . FORM C IF ( ?CON IS IN UNIONES ) THEN ( THE P ESO OF ? CON IS 0 . 1 ) ) ) ( P REMISE ( #Wff ( ?CON I S IN CLASS UNIONES ) ) ) ) )

( R . VALORES ( " P ROYECTOS" " 1 0-Dec- 1 986 1 5 : 32 : 39 " " P ROYECTOS " " 1 0-Dec- 1 986 1 5 : 32 : 39 " ) NIL ( REGLAS . ORIGEN ) NIL ( )

'

( ( ASSERTION ( #Wff ( A VALOR OF ?NODO IS -0 . ) ) ) ( EXTERNAL . FORM ( IF ( ?NODO IS IN NODOS ) THEN ( THE VALOR OF ? NODO IS -0 . 1 ) ) ) ( P REM ISE ( #W f f ( ?NODO IS IR CLASS NODOS ) ) ) ) )

( B. . VAB I ABLE . FASE l ( " pr· oyect o s " " 1 4-Nov- 1 986 1 3 : 35 : 20 " " PROYECTOS " " 26-Nov- 1 986 1 5 : 25 : 33 " ) NIL ( REGLA . VARIABLE . FASE l ) NIL ( ) ( ( ASSERTION ( #W f f ( A VARIABLE OF ?NODO IS NIL ) ) )

( EXTERNAL . FORM ( IF ( OR ( THE I DENTIFICACION OF ? NODO I S ENTRADA ) ( THE I DENTIFICACION OF ? NODO I S SALIDA ) )

THEN ( THE VAR I ABLE OF ?NODO IS N I L ) ) )

( PREMISE ( #Wff ( ( AN IDENTIFICACION OF ?NODO IS ENTRADA ) OR C AN IDENTIFICACION OF ?NODO IS SAL IDA ) )

( WEIGHT ( 1 ) ) ) )

( R . VARIABLE . FASE2 ( " P ROYECTOS " " 1 7-Nov- 1 986 1 6 : 30 : 00 " " P ROYECTOS " " 26-Nov- 1 · 36 1 5 : 3 1 : 55 " ) NIL 1 < (REGLA . VARIABLE . FASE2 ( CLASSES GENERICUNITS ) ) NIL ( ) ( ( ASSERTION ( #Wff ( A VARIABLE OF ?NODO IS NIL ) ) )

( EXTERNAL . FORM ( IF ( THE IDENTIFICACION OF ?NODO IS ENTRADA ) THEN ( THE VARI ABLE OF ?NODO IS NI L ) ) )

( PREM ISE ( #Wff ( AN I DENTIFICACION OF ?NODO I S ENTRADA ) ) ) ) )

( " PROYECTOS " " 25-Nov- l 9.S6 1 7 : 00 : 24 " " P ROYECTC·t'.· ' ' " ;;: 6-A1.1g- 1 98 7 9 : 33 : 05 " ) NIL ( ( CLASSES GENERICUNITS ) ) "Es truct ura ba s i ca de l a red compue sta por NODOS y U N I ONES" ( ) ( ( ALGORITMO ( LAMBDA ( SELF )

CASET FIL ' REGLA . INICIO . FASE ! ) ( ASSERT IL / RGLA . ESTADO )

Page 153: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ASSERT NIL ' REGLA . VARIABLE . FASE l ) ( ASSERT NIL ... REGLA . CALCULO ) ( ASSERT N I L ' REGLA . CAMB I O . PESO . FASE l ) ( ASSERT NIL ' REGLA . INICIO . FASE2 ) ( ASSERT NIL ' REGLA . VARIABLE . FA SE2 ) ( ASSERT N I L ' REGLA . CALCULO ) ( A SSERT NIL ' REGLA . CAMBIO . PESO . FASE2 ) )

METHOD ( METHOD ) NIL ( ( COMMENT ( " Algor itmo que rea l i za e l apr endi zaj e ut i l izando REGLAS . ALGORITMO" ) ) ) )

( AS I GNAR . PATRON ( LAMBDA ( SELF )

( P RINTOUT T " ESCRI BA LOS VALORES CORRESPONDIENTES A CADA NODO : " ) ( ASSERT N I L ' REGLAS . ASIGNACION . PATRO!; )

METHOD "-( METHOD) NIL ( ( COMMENT

" P i de al u s uar i o los va lores de los nodos de la r e d ( un patron de entrenamiento ) " ) ) ) ( COMPROBACION

( L.CiMBDA ( SELF ) ( ASSERT N I L ' REGLA . COMPROBAR . SALIDA ) )

METHOD ( METHOD ) N I L ( ( COMMENT

"Lanza el razonamiento que comprueba l a s s a l idas despues de una ej ecucion del algori tmo co n un patr-on " ) ) )

( CORRECTO ( NO ) N I L ( ( ONE . OF S I NO ) ) NIL ( ( CARDINALITY . MAX ( 1 ) )

( COMMENT " Va l or booleano ( SI , NO ) que s irve pat'a aver-iguar- si todos los patrones de entrada han dado ·.

la sal i da adecuada tras la segunda fase del a lgor itmo de aprendizaj e " ) ) ) ( DELTA

( Q , 1 ) ¡ I N I L ( REAL ) NIL ( ( COMMENT

( " Va l or corrector- de los pesos de las conexiones en el a l gor- itmo de aprendizaj e " ) ) ( CARDINALI TY . MAX ( 1 ) ) ) )

( I TERACION ( LAMBDA ( SELF)

( UITMSG ' RED ' ASI GNAR . PATRON ) ! UNITSe ' RED ' A0 ITMO ) ( UNITMSG ' RED ' CM? RDBACI0H ) )

( METHOD ) N I L ( ( COMMENT " Metodo que real iza una iteracion completa c o n t odos los patrones d e entrada " ) ) )

( MENUOPERACIONES ( ( "CREAR NODOS " ' N ) ( "CREAR UNIONES" ,· u )

( " SUPRIMIR NODOS " ' SN) ( " SUPRIMIR UNIONES " ' ST_!) ( " F I N " ,· F ) )

Page 154: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( ME!W ITEM ) NIL ( ( TITLE ( " OPERACI ONES BASICAS " ) ) ( FONT ( KEE . TITLE . FONT ) )

( OPERACIONES ( LAMBDA ( SELF )

( P ROG ( ( OPERACI OH NIL ) ) ( DO N I L

( ( EQ OPERACION / F ) )

( COMMENT "Menu pr i nc. ipal d e c.reac.ion •ie la ted " ) ) )

( SETQ OPERACION ( MENU ( GET . SLOT . MENU ·' RED ... MENUOPERACIOHES ... OWN ) ) ) ( COND ( I EQ OPERAC I ON ... N )

METHOD ( METHOD ) HIL

( UNITMSG ... NODOS / CREAR . NODOS ) ) ( ( EQ OPERACI ON ' U )

( UNI TMSG 'UNIONES ... CREAR . UNIONES ) ) f ( EQ OPERACI ON / SN )

( UNI TMSG ' NODOS ' SUPRIMIR . NODOS ) ) ( EQ CPERACION ' SU ) ( UNI TMSG ' UNIONES ' SUPRIMIR . UNIONES ) ) ) ) ) )

( ( COMMENT " Cont iene la func. ion que se oapa del menu pr inc.i rel d operaciones " ) ) ) ( ORIGEN ( LAMBDA ( SELF )

( ASSERT •HI L ' REGLAS . OR IGEN ) ) METHOD ( METHOD ) N I L ( ( COMMENT " Inicializa la red" ) ) )

( \IMAGE . PANEL ( #Unit ( IMAGE . PAHEL03254 BOLTZMAHN ) ) ) ) )

REGLA . CALCULO ( " proyecto s " " 1 4-Nov- 1 986 1 3 : 34 : 32 " " P f IECTOS " " 5-Dec.- 1 986 1 3 : 44 : 2 " ) ( REGLAS . FASE2 REGLAS . FASE! ( RULES RULESYSTEM 2 ) ) ( ( RULE . CLASSES RULESYSTEM2 ) ) "Regla c.omun a las dos fases que s e oc.upa del funcionamiento interno de la red" ( ( ASSERTIOH)

( PREMISE ) ) ( ( ANO . TRACE)

( FC . TRACE ) ( I MMEOIATE . RULE . APPLICATION i :·10DE ( ON ) ) ( OR . TRAC E ) ( P ANEL . TRAC E ) ( STEPPER . MODE) ( TEXT . TRACE ) ) )

( REGLA . CAMBIO . PESO . FASE! ( " P ROYECTOS " " 26-Nov- 1 986 1 5 : 23 : 38 " " P ROYECTOS " " 1 0-Dec.- 1 986 1 4 : 1 7 : 1 9 " ) ( REGLAS . FASE l j ( ( 1::L.tJ.SSES •3E!;E::i= :- '.,7ji I :- ) ( RULE . CLASSES RULESYS!Et,l 2 ) ) , 1 C l ; e dE r ocupan de la modi f icc i oD i 0 p s o s de las conexiones s gun la nr i rfi

ea fase del a l gor 1 T 1110 ae apr end i zaj e 1i ( ( ASSERTION >

( PREMISE ) ) ( ( ANO . TRACE)

( FC . TRACE ) ! IMMEDIATE . RULE . APPLIC.!.TION . MODE ( ON ) ) C OR . TRACE ( OFF ) )

Page 155: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( P .6.NEL . TRACE ) ( STEP PER . MODEJ ( TEXT . TRACE ) ) )

( REGLA . CAMBIO . PESO . FASE2 ( " P ROYECTOS" " 26-Nov- 1 986 1 5 : 28 : 26 " " P ROYECTOS " " 1 0-Dec- 1 986 1 4 : 1 8 : 45 " ) ( REGLAS . FASE2 ) ( ( CLASSES GENERICUN I TS ) ( RULE . CLASSES RULESYSTEM 2 ) ) "Clase de r-eglas q•le s e ocupan de la rnod i ficaci on de los pesos de las conexiones segun la segu

nda fase del al gor- itrno de apr-endizaj e " ( ( ASSERTION )

( PREMISE ) ) ( ( AND . TRACE )

( FC . TRACE ) ( IMMEDIATE . RULE . APPLICATION . MODE ) ( OR . TRACE ) ( P ANEL . TRACE ) ( STEPPER . MODE) ( TEXT . TRACE ) ) )

( REGLA . COMPROBAR . SALIDA ( " PROYECTOS" " l l -Dec- 1 986 1 7 : 56 : 1 2 " " PROYECTOS" " 1 2-Dec- 1 986 1 1 : 45 : 4 7 " ) ( REGLAS . CONTROL ( RULES RULESYSTEM 2 ) ) ( ( RULE . CLASSES RULESYSTEM2 ) ) NIL ( ( ASSERT . MODE ( REPLACE ) )

( ASSERTION ) ( P REMISE ) )

( ( ANO . TRACE ) ( FC . TRACE ) (' MEDIATE . RULE . APP L I CATION . t·: JDE ) ( OR . TRACE ) ( PANEL . TRACE ) ( STEPPER . MODE) (TEXT . TRACE ) ) )

( REGL\ . ESTADO ( "pl' oyectos " " 1 4-Nov- 1 986 1 3 : 33 : 2 4 " " P ROYECTOS " " 5-Dec- 1 986 1 3 : 44 : 1 3 " ) C REGLAS . FASE2 REGLAS . FASE! ( RULES RULESYSTEM 2 ) ) ( ( RULE . CLASSES RULESYSTEM2 ) ) "Regla comun a las dos fases . Deter-mina l o s estados de t odos l o s nodos de la r- ed a par-tir- de 1

os val or-es de cada uno de e l l o s " ( ( ASSER T . MODE ( REPLACE ) )

( ASSERT I OH ) ( PREMISE ) )

( ( AND . TRACE ) ( FC . TRACE ) ( IMMEDIATE . BULE . A P P L I CATION . MODE l

( OR . TP..". <: ( PANEL . Tr\ . .'\CE ) ( STEPPER . MODE J ( TEXT . TRACE ) ) )

( REGLA . FI JAR . SALIDA . PATRON ( " PROYECTOS" " l l -Dec- 1 986 1 7 : 44 : 50 " " P ROYECTOS " " 1 2-Dec:- 1 986 1 1 : 45 : 52 " ) ( REGLAS . GONTROL ( rrn:..ES RULESYSn!:M2 ) )

Page 156: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

. , GE . CLASSES RULESYSTEM2 ) ) " U c. a vez l e i do e l patron de entrada , as i gna a l s l ot SALIDA . P .ó.TRON de l a s unida•ie s •ie s a l ida los

valores correspondientes " ( ( ASSERT . MODE ( REPLACE ) )

( ASSERT ION ) ( P REMISE ) )

( ( ANO . TRACE) ( FC . TRACE ) ( I MMEDIATE . RULE . APPLICATION . MODE ) ( OR . TRACE ) ( PANE L . TRACE ) ( STEPPER . MODE ) ( TEXT . TRACE ) ) )

( REGLA . INICIO . FSEl ( " PROYECTOS " " 2 7-Nov- 1 986 1 5 : 47 : 1 5 " " P ROYECTOS" " 5-Dec- 1 986 1 3 : 46 : 49 " ) ( REGLAS . FASE ! ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUNITS ) ) " Regla que se util iza para preparar todos los nodos para l a primera fase del a lgor itmo . Cont ie

ne una un ica regl a R . ACTUALI ZACION , que tambien es ut i l i zada en la segunda fase del algor i tmo de apt' en d i zaj e "

( ) ( ) )

( REGLA . INICI O . FASE2 ( " PROYECTOS " " 26-Nov- 1 986 1 5 : 28 : 2 7 " " P ROYECTOS " " 5-Dec- 1 986 1 3 : 50 : 46 " ) ( REGLAS . FASE2 ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERI CUNITS ) ) " Regla que s e ut i l iza par·a pr eparar todos los nodos para l a s egunda fase del a l gor itmo" ( ) ( ))

( REGLA . VARIABLE . FASE! ( " PROYECTOS" " 2 6-Nov- 1 986 1 5 : 23 : 35 " " P ROYECTOS" " 5-Dec- 1 986 1 3 : 48 : 2 2 " ) ( REGLAS . FASE ! ) . ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERI CUNITS ) ) " Regla que a s i gna l o s valores del s lot VARIABLE de t odos los nodos de la r ed en funci on de su

ident i ficacion y de las restr i cc i ones de la pr imer a fa s e " ( ) ( ))

( REGLA . VARIABLE . FASE2 ( " PROYECTOS " " 26-Nov- 1 986 1 5 : 28 : 25 " " PROYECTOS " " 5-Dec- 1 986 1 3 : 52 : 30 " ) ( REGLAS . FASE2 ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUN I TS ) ) " Regla que a s i gna l o s valor·es del s l ot VARIABLE de t odos l os nodos de la r· e·i en fun-:ion de s u

ident i fi cacion y d e l a s restr iccione s d e la segunda fa s e "

( )

( REGLAS . ALGOR ITMO ( " PROYECTOS " " 2 6-Nov- 1 986 1 4 : 43 : 1 8 " " PROYECTOS" " 5-Dec- 1 986 1 3 : 38 : 46 " ) ( ( RULES RULESYSTEM2 ) ) ( ( RULE . CLASSES RULESYSTEM2 ) ) "Clase de regl a s que cont i ene t odas la s reelas necesar i a s en e l al gor itmo de aprend i z j e d e l

Page 157: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

r- ed" ( ( ASSERT . MODE ( REPLACE ) ) ) ( ( RESOLVE . CONFLICT LEAST . PREMISE . COMPLEXI TY l

( RETRACT NIL NIL NIL N I L NIL ) ) )

( REGLAS . ASIGNACION . PATRON ( " P ROYECTOS" " l l -Dec- 1 986 1 6 : 26 : 1 8 " " PROYECTO S " " 1 2-Dec- 1 986 1 1 : 56 : 33 " ) ( REGLAS . CONTROL ( RULES RULESYSTEM2 ) ) ( ( RULE . CLASSES RULESYSTEM2 ) ) "P ide al usuar io los valores correspondientes para l o s nodos de un patron" ( ( ASSERT . MODE ( REPLACE ) )

( ASSERTION ) ( P REMISE )

( ( AND . TRACE ) ( FC . TRACE ) ( IMMEDIATE . RULE . APPL ICATION . MODE ) ( OR . TRACE ) ( P ANEL . TR.O.CE ) ( STEPPEI L MODE ) ( TEXT . TRACE ) ) )

( REGLAS . CONTROL ( " PROYECTOS " " 1 2-Dec- 1 986 1 1 : 43 : 36 " " PROYECTOS" " 1 2 -Dec- 1 986 1 1 : 45 : 1 7 " ) ( REGLAS . ALGORI TMO ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUNITS ) ) NIL ( ( ASSERT . MODE ( REPLACE ) ) ) ( ) )

( REGLAS . FASE ! ( " P ROYECTOS " " 26-Nov- 1 986 1 4 : 44 : 09 " " PROYECTOS" " 1 2-Dec- 1 986 1 1 : 42 : 56 " ) ( REGLAS . FASES ) ( ( RULE . CLASSES RULESYSTEM2 ) ( CLASSES GENERICUNITS ) ) " Clase de r eglas que conti ene todas las r eglas referidas a l a primera fase del algoritmo de ap

rendizaj e " ( ( WEIGHT ( 0 ) ) ) ( ( RESOLVE . CONFLICT LEAST . PREMISE . COMPLEXITY ) ) )

( REGLAS . FASE2 ( "P ROYECTOS" " 26-Nov- 1 986 1 4 : 44 : 1 0 " " P ROYECTO S " " 1 2-Dec- 1 986 1 1 : 43 : 1 0 " ) ( REGLAS . FASES ) ( ( RULE . CLASSES RULESYST EM 2 ) ( CLASSES GENERICUN I TS ) ) "Clase de r eglas que contiene todas las reglas r efer idas a la s egunda fase del algor i t mo de ap

rendizaj e " ( ( WEIGHT ( 1 ) l ) ( ( RESOLVE . CONFLI CT LEAST . PREMISE . COMP LEXI TY ) ) J

'· D.r:GLAS . FASES ( " PROYECTOS " " 1 2-Dec-1 986 1 1 : 39 : 20 " " P ROYECTOS " " " 1 2-Dec-1 986 1 1 : 4 1 : 46 " ) ( REGLAS . ALGORITMO ( RULES RULESYSTEM2 ) ) ( ( RULE . CLASSES RULESYSTEM2 ) ) " Reglas que ej ecutan las dos fases del al gor itmo" ( ) ( ) )

Page 158: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( REGLAS . OR IGEN ( " PROYECTOS " " 1 0-Dec- 1 986 1 5 : 28 : 51 " " P ROYECTOS" " l l -Dec- 1 986 1 7 : 04 : 50 " ) ( ( RULES RULESYSTEM2 ) ) ( ( RULE . CLASSES RULESYSTE112 ) ) "Coloca los va l ores de t odos los nodos y los de t odas las conexiones " ( ( ASSERT . MODE REPLACE ) )

( ASSERT ION ) ( P REM ISE ) )

( ( ANO . TRACE ) ( FC . TRACE ) ( I MMEDIATE . RULE . APP L I CATION . MODE ) C OR . TRACE ) ( P ANEL . TRACE ) ( STEPPER . MODE ) ( TEXT . TRACE ) ) )

( UNIONES ( " pl:'oyect os " ' ' 1 4-Hov- 1 986 1 3 : 30 : 4 1 " " P ROYECTOS " " 2 6-Aug- 1 987 9 : 48 : 1 2 " ) ( RED ) ( ( CLASSES GENERICUN I TS ) ) "Conexi orres o ai:-cos entre los nodos de la red"; ( ( ACTUALI ZACION

( NO ) NIL ( ( ONE . OF SI NO ) ) NIL ( ( COMMENT

( " Va l oI' bool eano ( SI , NO ) que •:ietermina si el peso de la conexion ha sido actua l i zado en la fase coi:-respondiente del algor itmo de aprendizaj e ( sumandole o i:- estandole DELTA ) " ) )

( CARDINALITY . MAX ( 1 ) ) ) ) ( PESO

( 0 ) N IL ( REAL ) NIL ( ( COMMENT ( " Valoi:- numer i co a s ignado a la conexion enti:-e dos nodos " ) )

( AVUNI TS ( #Unit ( CORRECCION BOLTZMANN ) ) ) ) ) ( P UNTO l NIL

NIL ( NODOS ) NIL ( ( COMMENT ( " Uno de los dos nodos a s ociados a l a conexion " ) ) ( CARDINAL I TY . MAX ( 1 ) ) ) )

C PUNT02 NIL HIL ( N ODOS ) NIL ( ( COMMENT ( " Uno de l o s dos nod o 2 s i ados a la coneion " ) ) ! CARDINALITY . MAX ( 1 ) ) ) ) )

r p :os ( DTO VALOF F )

( P RINTOUT T " HOi'1BP.E DE. LA HUEVA UNIOH : " ) ( SETQ DATO ( CREATE . UNIT ( CLI : READ ) N I L NIL ' ( UNI ONES ) ) ) ( CLI : TERPRI ) ( P RINTOUT T " P ESO ( D par· a el valor por defect o ) : " ) ( SETQ VALOR ( CLI : READ ) ) ( P UT . VALUE DATO

Page 159: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

METHOD ( t 1ETHOD ) NIL

· owN J ( CLI : TERPI.U )

( T VALOR ) )

( P RINTOUT T " P RIMER NODO CONECTADO : " ) ( SETQ N ( CLI : READ ) ) ( P UT . VALUE DATO ' PUNTO! N ) ( PUT . VALUE N

' CONEXIONES ( CAR ( AP P EN D ( GET . VALUE N ' CONEXIONES ) ( LI ST DATO ) ) )

( CLI : TERP R I J ( P RINTOUT T " SEGUNDO NOD CONECTADO : " ) ( SETQ N ( CLI : READ ) ) ( P UT . VALUE DATO ' P UNT02 N ) ( PUT. VALUE N

' CONEXIONES ( CAR ( AP P END ( GET . VALUE N 'CONEXIONES ) ( t.IST DATO ) ) ) ) ) )

( ( COMMENT " Cont i ene la func i on que cr-ea uniones ent r- e nodos " ) ) ) ( SUPRIMIR . UN IONES ( LAMBDA ( SELF )

( CL I : TERPRI ) ( PRINTOUT T " NOMBRE DE LA UIHON : ;, ) ( UNITDELETE ( CLI : READ ) ) )

METHOD ( METHOD) NIL ( ( COMMENT " Cont iene la funcion q•Je s upr-ime uni ones " ) ) ) ) )

( VERTICAL . TRAFFIC . LIGHT03293 ( " PROYECTOS" " 25-Nov- 1 986 1 7 : 33 : 28 " " PROYECTOS " " 2 6-Aug- 1 98 7 9 : 48 : 45 " ) N I L ( ( VERTICAL . TRAFIC . LI GHT AC: JEIMAGES ) IMAGES ) NIL ( ) ( ( BORDER 4 )

( FONT FONTS : HL6 ) ( HEIGHT 39 ) ( IMAGE . WAS . PAIHTED H I L ) ( LAST . V.l\LUE . D ISPr .. YED ( INAC7IVO ) ) ( OBJECT . DISP LAYED ' #Slot ( ESTADO NODOl BOLTZMANN OWN ) ) ( REGION ( 1 9 309 75 3 9 )

N I L N I L NIL ( ( ICON . REGIOR ( 1 9 309 131 48 ) ) ( EXPAND . REGIOR ( 1 9 309 75 39 ) ) ) )

( RELAY . BEGIONS . AL I ST ( ( ( ACTIVO O O 65 7 ) ( INACTI VO O 7 65 7 ) ) ) ) ( SAVE D . VALUES INACT I VO ) ( SUF ER . I MAGE #Unit ( IMAGE . PANEL03 254 BOLTZMANN ) ) ( T ITLE " NODO l ' s ESTADO " ) ( T ! 1 _ 0NT FONTS : HL l OB J

( V P E . WAS . SAVED T ) ( WIDTH 75 ) ( WINDOW "A Flavo I n s t ance"

NIL NIL HH. 1 • l C0 . i I NDOW N I L ) ( EXPAND . WINDOW NILJ I CURRENT . WI NDOW ( EXPAND ) ) ) ) ) )

Page 160: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( VEBT I CAL . TBAFF I C . LIGHT03296 ( " PROYECTO S " " 25-Nov- 1 986 1 7 : 34 : 43 " " PROYECTOS " " 26-Aug- 1 98 7 9 : 48 : 46 " ) NIL ( ( VERTICAL . TRAFFIC . LI GHT ACT I VEIMAGES ) IMAGES ) NIL

( ) ( ( BORDER 4 )

( FONT FONTS : HL6 ) ( HE IGHT 3 9 ) ( IMAGE . WAS . PAINTED NIL ) ( LAST . VALUE . DISPLAYED ( INACTIVO ) ) ( OBJECT . DISPL1WED #S l ot ( ESTADO NOD02 BOLTZMANN OWN ) ) ( REGION ( 2 1 264 74 39 )

NIL N IL NIL ( ( !CON . REGION ( 2 1 264 1 3 1 48 ) ) ( EXPAND . REG ION 2 1 264 7 4 39 ) ) ) )

( REU..Y . REGIONS . ALIST ( ( ACTIVO O O 64 7 ) ( INACTIVO O 7 64 7 ) ) ) ) ( SAVED . VALUES INACT I VO ) ( S UPER . IMAGE ttuni t ( IMAGE . PANEL03254 BOLTZMANN ) ) ( T : rr.. : " NOD0 2 ' s ESTADO " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUNIT · NI L ) ) ( VALUE . WAS . SAVED T ) ( WIDTH 7 4 ) ( WINDOW " A Flavo Instance "

NIL NIL N IL ( ( ICON . WINDOW NIL ) EXPAND . WINDOW N I L ) ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( VERTICAL . TRAFF I C . LIGHT03299 ( "PROYECTOS" " 25-Nov- 1 986 1 7 : 35 : 4 2 " " PROYECTOS " " 26-Aug- 1 98 7 9 : 48 : 46 " NIL ( ( VERTICAL . TRAFFIC . LIGHT ACTIVEIMAGES ) IMAGES ) NIL ( ) ( ( BORDFR 4 )

( FONT FONTS : HL6) ( HEIGHT 4 0 ) ( IMAGE . WA S . PAINTED N I L ) ( LAST . VALUE . DISPLAYED ( INACTIVO ( OBJECT . DISPLAYED #Slot ( ESTADO NOD03 BOLTZMANN OWN ) ) ( REGION ( 23 2 1 6 73 4 0 )

NIL N IL !H L ( ( I CON . REGION ( 2 3 2 1 6 1 3 1 48 ) ) ( EXPAND . REGION ( 23 2 1 6 73 40 ) ) ) )

( Ut:LAY . UTI:G I ONS . ALIS'! ( t.CTIV0 0 (' 6 3 ? ) !".:T!VO O 7 6 7 ) ) ) SAVED . VALUES IHACT!VJ ) SUFEB . IMAE #Uni t ( I t1AG . PANE02254 BOLT Z r1AN?: ) ) ( T!TLE " NOD0.3 ·' s ESTADO " ) ( TITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( VALUE . WA S . SAVED T ) ( WI DTH 7 3 ) ( WINDOW " A F l avo Instance "

Page 161: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

!E L N IL ( ( ICON . WI NDOW N I L ) ( EXPAND . WI NDOW N I L ) ( CURREN T . W I NDOW ( EXPAND ) ) ) ) ) )

( VERTICAL . TRAFFI C . LIGHT03303 ( " PROYECTOS" " 25-Nov- 1 986 1 7 : 36 : 38 " " PROYECTOS" " 26-Aug- 1 987 9 : 48 : 47 " ) NIL ( ( VERTICAL . TRAFF I C . LIGHT ACTIVEIMAGES ) IMAGES ) NIL

( ) ( ( BORDER 4 )

( FONT FONTS : HL6) ( HEIGHT 4 0 ) ( IMAGE . WAS . PAINTED N I L ) ( LAST . VALUE . DISPLAYED ( INACTIVO ) ) ( OBJECT . DISPLAYED l/Slot ( ESTADO NOD04 BOLTZMANN OWN ) ) ( REGION ( 2 2 1 69 73 40

NIL NIL HIL ( ( I CON . REGION ( 2 2 1 69 131 4 8 ) ) ( EXPAND . REG ION ( 2 2 1 6 9 73 40 ) ) ) )

( RELAY . REGIONS . ALIST ( ( ( ACTIVO O O 63 7 ) ( INACTIVO O 7 63 7 ) ) i ) ( SAVED . VALUES INACT I VO ) ( SUPER . IMAGE l/Unit ( IMAGE . PANEI.03254 BOLTZMANN ) ) ( TI TLE " NOD04 ,. s ESTADO " ) ( T ITLEFONT FONTS : HL l OB ) ( TOPUHIT ( N IL ) ) ( VALUE . WAS . SAVED T ) ( WI DTH 73 ) ( W INDOW " A F lavor Instance"

NIL HIL N IL ( ( ICON . WINDOW N I L ) ( EXPAND . W INDOW NIL ) ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( VERTICAL . TRAFFIC . LIGHT03306 ( " PROYECTOS" " 25-Nov- 1 986 1 7 : 3 7 : 54 " " P ROYECTOS " ' 26-Aug- 1 987 9 : 48 : 47 " ) NIL ( ( VERTICAL . TRAFFI C . L IGHT ACTIVEIMAGES ) IMAGES ) NIL

( ) ( ( BORDER 4 )

( FONT FONTS : HL6) ( HEIGHT 40 ) ( IMAGE . WAS . P AINTED N I L ) ( LAST . VALUE . DISPLAYED ( ACTIVO ) ) ( OBJECT . DISPLAYED l/Sl ot ( ESTADO NODOS BOLTZMANN OWN ) ) ( REGION ( 24 1 20 7 1 40 )

N I L NIL NIL ( ( ICON RE6!0N ( 24 1 0 ! 2 1 48 ) ) ! XPND RE51 0! ( 2 4 ! 2 0 71 0 ) ) )

( RELAY . REGI ONS . ALIST ( ( ( ACTIVO O O 61 7 ) ( INACTIVO O 7 6 1 7 ) ) ) ) ( SAVED . VALUES ACTIVO ) ( SUPER . IMAGE l/Unit ( IMAGE . PANEL03254 BOLTZMANN ) l ( TITLE " NODOS,. s ESTADO " )

( TITLEFONT FONTS : HL I OB )

Page 162: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( TOPUNIT ( N I L ) ) ( VALUE . WAS . SAVED T ) ( W I DTH 7 1 ) ( W INDOW " A F l avo I n s t a n c e "

N I L N I L NIL ( ( ICON . W I NDOW N I L ) ( EXPAND .WINDOW NIL ) ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( VERTICAL . TRAFFIC . LIGHT03309 ( " PROYECTOS " " 25-Nov-1 986 1 7 : 38 : 38 " " PROYECTOS " " 2 6-Aug- 1 98 7 9 : 48 : 48 " ) NIL ( ( VERTI1, ·. L . TRAFFIC . L IGHT ACTIVEIMAGES ) IMAGES ) NIL 11ii· ( ) ( ( BORDER 4 )

( FONT FONTS : HL 6 ) ( HEIGHT 39 ) ( I MAGE . WAS . P A I NTED NI L ) ( LAST . VALUE . D ISPLAYED ( ACTIVO ) ) ( OBJECT . D I SPI AYED l/Sl ot ( ESTADO NOD06 BOLTZMANN OWN ) ) ( REGION ( 24 3 69 39 )

N I L N IL N I L ( ( I CON . REGION ( 24 73 1 3 1 48 ) ) ( EXPAND . REGION ( 24 7 3 69 39 ) ) ) )

( RELAY . REGIONS . ALIST ( ( ( ACTIVO O O 59 7 ) ( INACTIVO O 7 59 7 ) ) ) ) ( SAVED . VALUES ACTIVO ) ( SUPER . IMAGE t/Unit ( IMAG E . PANEL03254 BOLTZMANN ) ) ( TI TLE " NOD06 ' s ESTADO" ) ( TITLEFONT FONTS : HL l OB ) ( TOPUNIT ( NIL ) ) ( VALUE . WAS . SAVED T ) ( WI DTH 69 ) ( W INDOW " A Fl avo I n stanc e "

N I L N I L N I L 1 , ( ( ICON . W INDOW N I L ) ( EXPAND . WINDOW N I L ) ( CURRENT . WINDOW ( EXPAND ) ) ) ) ) )

( VERTICAL . TRAFFIC . LIGHT033 1 2 ( " PROYECTOS " " 25-Nov- 1 986 1 7 : 39 : 23 " "PROYECTOS " " 2 6-Aug- 1 98 7 9 : 48 : 48 " ) NIL ( ( VERTICAL . TRAFFIC . L I GHT ACTIVE IMAGES J I MAGES )

NIL ( ) ( BORDER 4 i

( CiE:i(;.;7 - , ( IMAGE . AS . E A I RTED N I L ) ( LAST . VALUE . D ISPLAYED ( INACTIVO ) ) ( OBJECT . DISPLAYED #Slot ( ESTADO NOD07 BOLTZMANN OWN ) ) ( REGION ( 26 1 8 65 40 )

NIL NIL H I L ( ( I CC: ; . :: :_ :. : : . , 2 ó 1 3 1 3 1 48 ) ) ( EXP.lir1D . iiEG : :;r; \ 2 6 l S 6 5 .:.O ) ) ) )

Page 163: Trabajo Fin de carreraoa.upm.es/44682/1/PFC_CARMEN_TARRAT.pdf2.1. introducciÓn 6 2.2. clasificaciÓn de los sistemas conexionistas 10 2.3. representaciones distribuidas 13 2.4. el

( SAVED . VALUES I NACTIVO )

( SUPER . IMAGE #Unit ( I MAGE . PANEL03254 BOLTZMANN ) )

( TITLE " NOD07 / s ESTADO " )

( TITLEFONT FONTS : HL l OB )

( TOPUNIT ( NIL ) )

( VALUE . WAS . SAVED T )

( I HDTH 65 )

( W INDOW " A Flavo Instance "

N I L

NIL

NIL

( ( I CO N . WINDOW N I L ) ( EXPAND . WI NDOW N I L ) ( CURRENT . WINDOW C EXPAND ) ) ) ) ) )

KBEnd