• No se han encontrado resultados

Aplicaci´ on de la SNN a la resoluci´ on de puzzles

6. Multic´ odigos en la actividad en r´ afagas

7.4. Aplicaci´ on de la SNN a la resoluci´ on de puzzles

En esta secci´on se describe c´omo utilizar el paradigma SNN en la resoluci´on de puzzles rompecabezas. Este paradigma define un m´etodo de b´usqueda distinto del esquema general presentado en la Secci´on 7.3.1. Ahora, las unidades de procesamiento son las neuronas, que tratan de encontrar los mejores ajustes de forma local. Para aplicar la SNN a este problema concreto, basta con fijar las definiciones, condiciones de la red y restricciones que en la Secci´on 7.2.1 se indica que dependen del problema espec´ıfico que se desea resolver:

• El n´umero de neuronas de la red es igual al n´umero de piezas del puzzle a resolver. • Para simplificar la implementaci´on, la firma neuronal va a ser el n´umero de neu-

rona. Existen algoritmos de ajuste que utilizan m´etricas para representar y resu- mir las caracter´ısticas f´ısicas de las piezas o fragmentos [Kishon and Wolfson, 1987, Kishon et al., 1990, Wolfson, 1990]. Algunas de estas m´etricas representan los objetos mediante “firmas de forma”, cadenas de caracteres que se obtienen por aproximaci´on a las curvas de contorno. En un caso general, las firmas neuronales de las c´elulas de la SNN podr´ıan ser estas firmas de forma, lo que incrementar´ıa el rendimiento del algoritmo de ajuste. Aqu´ı no utilizamos este tipo de firma porque nuestro inter´es no se centra en los algoritmos de ajuste.

• Los datos neuronales de cada c´elula son una pieza del puzzle (ver Figura 7.2), exis- tiendo una relaci´on uno a uno entre neuronas y piezas.

• Nuestra investigaci´on se va a centrar en la resoluci´on de puzzles can´onicos, por lo que el n´umero m´aximo de vecinos es cuatro, uno por cada lado de la pieza contenida en la neurona (superior, inferior, izquierdo y derecho). En un caso m´as general, esta restricci´on se podr´ıa extender f´acilmente a m´as de cuatro vecinos. El orden de los vecinos es importante, inferior-superior e izquierdo-derecho son vecinos opuestos. Por

7.4. Aplicaci´on de la SNN a la resoluci´on de puzzles 109 24 10 18 26 12 17 25 19 11

Camino seguido por un mensaje (10−11−12−19) Vecindario de la neurona 18 Conexiones nuevas 24 26 12 10 11 19 17 25 18

Figura 7.2: Ejemplo de SNN aplicada a la resoluci´on de puzzles rompecabezas. Panel izquierdo: Posible estado de un fragmento de la SNN en una iteraci´on del algoritmo. Cada neurona tiene una firma neuronal que la identifica (en este caso, el n´umero de neurona, 10, 11, 12, etc) e informaci´on necesaria para resolver el problema (en este caso, las piezas del puzzle). Panel derecho: Reconfigu- raci´on de la red cuando las neuronas 18 y 25 del panel izquierdo reconocen sus firmas. La pieza de la neurona 25 debe estar a la izquierda de la de la neurona 18 y no debajo.

ejemplo, en el panel izquierdo de la Figura 7.2, el vecindario de la neurona 18 lo forman las neuronas 11, 17, 19 y 25. La topolog´ıa de la red tiene condiciones de contorno peri´odicas.

• Cuando dos neuronas contienen piezas con lados complementarios (lados que el algo- ritmo de ajuste indica que encajan correctamente), la informaci´on neuronal de ambas c´elulas es relevante para la otra, por lo que ambas comienzan a reconocer su firma. Por la definici´on del problema, cuando una neurona aprende la firma de otra, la red se puede reconfigurar para colocar las piezas en su posici´on correcta. Por ejemplo, en el panel izquierdo de la Figura 7.2, las neuronas 18 y 25 contienen dos piezas com- plementarias, por lo que cada una de ellas debe reconocer la firma de la otra. En la soluci´on del puzzle (Figura 7.1), la pieza de la neurona 25 est´a a la izquierda de la de la neurona 18, por lo que no est´an “bien colocadas”. Cuando la red se reconfigura (panel derecho de la Figura 7.2), (i) las conexiones 17-18 y 25-26 se rompen, (ii) las neuronas 17 y 25 se intercambian y (iii) la 18 y la 25 se conectan en la posici´on correcta. En el ejemplo, como consecuencia de la reconfiguraci´on de la red, las neuronas 18 y 25 temporalmente pasan a tener s´olo tres vecinas.

• Cuando una neurona pertenece a un cl´uster, (i) no procesa la parte de su contexto de informaci´on local que hace referencia a sus vecinas y (ii) no a˜nade sus datos neuronales a los mensajes que emite.

10 10 12 10 11 11 12 19 10 11 10 11 12 11 10 11 12 19 Iteración #1 Iteración #2 Iteración #3 Iteración #4

Mensaje de entrada Mensaje de salida

Mensaje de salida Mensaje de entrada

Mensaje de entrada Mensaje de salida

10

Mensaje de salida

Figura 7.3: Transmisi´on sin´aptica en la SNN. El ejemplo muestra un mensaje que sigue la ruta indicada en el panel izquierdo de la Figura 7.2 considerando Ncontext= 3. El n´umero que hay dentro

de cada pieza representa la firma neuronal correspondiente. En la iteraci´on no 1 el mensaje s´olo

contiene la informaci´on neuronal de la neurona 10. En las iteraciones no2 y no 3 se a˜nade la de las

neuronas 11 y 12. Finalmente, en la iteraci´on no 4, cuando el mensaje alcanza su tama˜no m´aximo,

la neurona 19 elimina la informaci´on neuronal de la neurona 10 para a˜nadir la suya.

• La propagaci´on de informaci´on es monosin´aptica, es decir, que en cada iteraci´on del algoritmo las neuronas reciben y procesan ´unicamente un mensaje de entrada (Figu- ra 7.3).

Con estas definiciones es posible implementar el algoritmos general descrito en la Sec- ci´on 7.2 para el caso particular de la soluci´on del puzzle rompecabezas. En el Ap´endice C se proporciona un pseudoc´odigo de esta implementaci´on.