Vous êtes sur la page 1sur 10

1

Solucin de rompecabezas mediante algoritmos geneticos y multigrafos


Francisco Gindre

AbstractEl presente trabajo, analiza las diferentes tcnicas utilizadas en la resolucin automtica de rompecabezas. En el mismo se detallan los antecedentes encontrados en distintas publicaciones referidas a programacin heurstica, reconocimiento de patrones, descripcin de forma y soft computing. Conjuntamente detalla la terminologa clasificatoria de la problemtica. Fue realizado en el contexto de la investigacin Sistema Inteligente Robotizado (SIR), cuyo objetivo final es crear un sistema robtico que sea capaz de resolver problemas donde la heurstica es compleja o NP-Completa. El trabajo propone una aproximacin al problema armado de rompecabezas cuadrados, el cual fue demostrado como NPCompleto. Index Termsrompecabezas, algoritmos genticos, multigrafos.

alrededor del ao 1760. Desde ese entonces, de acuerdo con los registros de dicha asociacin [10], distintos fabricantes producen rompecabezas en variedad de formas, tamaos y tipos de piezas. A pesar de poseer una industria establecida, se encuentra una falta de terminologa unificada para definir los diferentes tipos de rompecabezas existentes. El trabajo de investigacin de antecedentes no fue ajeno a esta falta. Las distintas publicaciones sobre la materia introducen algunos trminos para clasificar los diferentes tipos de puzzles. Dichas definiciones sern detalladas a continuacin para su uso

I. INTRODUCCIN l objetivo del presente trabajo es estudiar las tcnicas de Soft Computing aplicadas a la resolucin de rompecabezas, como base para su aplicacin en un sistema robtico inteligente capaz de resolver problemas de la misma familia. Este trabajo fue realizado en el contexto de trabajo de la lnea de investigacin Sistema Inteligente Robotizado (SIR) perteneciente al AIGroup de la Universidad de Palermo y su correspondiente aporte a dicho estado. La actual seccin est dedicada a establecer una terminologa comn en lo que refiere a rompecabezas, posteriormente detalla el estado actual de la problemtica a abordar por esta publicacin. La seccin II, realiza una introduccin a los orgenes y fundamentos de la lnea SIR junto a las restricciones del problema. La tercera seccin, describe el flujo de trabajo del sistema propuesto. La cuarta seccin, ahondar en la conformacin de la estructura del Algoritmo Gentico (GA, por sus siglas en Ingls), sus componentes bsicos y su validacin en el ciclo de vida del sistema. La quinta seccin describe el mdulo principal de SIR. La sexta seccin describe los componentes involucrados en el AG utilizado por SIR. La sptima seccin relaciona esos elementos con la abstraccin del problema propuesta por la lnea de investigacin, basada en la Teora de Grafos [25]. Segn la Sociedad Americana de Rompecabezas (American Jigsaw Puzzle Society), el primer rompecabezas del cual se tiene registro, fue fabricado por un tallador y cartgrafo ingls
Francisco Gindre, AIGROUP, Universidad de Palermo. Mario Bravo 1050 10mo piso, Buenos Aires, Argentina. fgindre@aigroup.com.ar.

Figura 1.1. Rompecabezas Cuadrado

posterior en el presente trabajo. El trmino Rompecabezas Estndar (Standard Jigsaw Puzzle) [2], describe aquellos puzzles fabricados mediante figuras impresas o teidas en una superficie firme cortada en piezas de forma que estas se encastren unas con otras. Debe subrayarse que el trmino estndar solo describe la naturaleza del ensamblaje por medio del encastre nter pieza; no hace referencia alguna a su tamao o forma. Si es definido por el trmino Rompecabezas Cannico (Canonical jigsaw puzzle) [11], hace referencia a los puzzles cuyas piezas, conformadas por cuatro aristas, pueden ser rotadas en cuatro direcciones distintas. Dichas piezas al ser dispuestas en una grilla cuadrada, de forma contigua, conforman la imagen resultado. La definicin anterior, aunque ms detallada que la primera, no distingue la forma que debieran tomar los bordes de las piezas involucradas. Por lo que se considera al Rompecabezas cannico, un subconjunto de los Rompecabezas Estndar. Este subconjunto, incluye al tipo de rompecabezas objeto de la presente investigacin: Rompecabezas cuadrado (Square Jigsaw Puzzle) [12]. Este tipo (ver figura 1.q) refiere a los Rompecabezas cannicos cuyas piezas son cuadradas, es decir, con cuatro aristas rectilneas de tamao uniforme. Se debe a sta ltima caracterstica, que sean objeto de estudio de

2 anteriores [1][2][3][11][12] y del presente trabajo, puesto que la carencia de bordes curvilneos, posibilita la existencia de mltiples soluciones en imgenes que presenten gradientes y/o plenos de color. Otro subtipo de Rompecabezas cannico, es referido en los trabajos que prescinden de la imagen contenida en un rompecabezas estndar. Este subtipo definido como Rompecabezas apictrico [8][9] (ver figura 1.2) carece de imagen o tono cromtico alguno que permitiere establecer una adyacencia entre piezas, siendo as la forma de las mismas la caracterstica que define la solucin del problema. es la base para la demostracin de la propia problemtica del ensamblado de rompecabezas [2][7][13] como parte del conjunto NP-Completo. Por su <<NP-Completitud>> (NPCompleteness) la resolucin automatizada de rompecabezas, se convierte en una materia de especial inters en materias como la Optimizacin no lineal (Non-linear Optimization) [4], Programacin Basada en Restricciones (Constraint Based Programming) [2] y Programacin Dinmica (Dynamic Programming) [12]. La aplicacin de la resolucin de puzzles, es de gran importancia en disciplinas como la arqueologa, ciencia forense, restauracin de arte, curadura e ingeniera. La reconstruccin de documentos, hallazgos arqueolgicos o el reensamblado de maquinaria desmantelada, son tareas que demoran un tiempo considerable, surgiendo as una necesidad de automatizacin de este tipo de procesos [12][20]. El primer antecedente encontrado data de 1968, realizado por Freeman y Garder [9] quienes, dada la dificultad tcnica que representaba la extraccin de informacin pictrica del entorno en dicha poca, estudiaron el ensamblaje de rompecabezas apictricos. Crearon una rutina capaz de resolver un rompecabezas de ese estilo en 25 minutos (ver figura 1.3 3). Su trabajo sirvi como base para numerosos trabajos [1][2][3][5][7][8][11][12], incluyendo este trabajo.

Figura 1.2. Rompecabezas apictrico.

La tabla 1, resume los distintos tipos de rompecabezas detallados anteriormente.


TABLA 1. RESUMEN DE TIPOS DE ROMPECABEZAS

estn dar Forma final Cantidad de lados Tipo de armado Rotacin de pieza N/D 1 N/D Encas tre N/D

cannico rectangular 4 N/D Si

apictrico rectangular N/D Encastre N/D

cuadrado rectangular 4 Sin encastre si

Se encontraron varios antecedentes en trabajos de investigacin de diversas universidades. Desde el ao 1968 hasta el presente, el ensamblado y solucin de rompecabezas de diversos tipos ha sido objeto de estudio de varias disciplinas como la Visin Computarizada (Computer Vision) y sus derivados reconocimiento de patrones (Pattern Recognition), descripcin de forma (Shape Description), coincidencia de bordes (Boundary Matching), extraccin de caractersticas (Feature Extraction) y pareo heurstico (Heuristic Matching). A su vez, el proceso de ensamblado de Rompecabezas Cuadrados, guarda estrecha correlacin con el problema de mosaicos de Wang (Wangs tiling problem) [6], el cual ha sido clasificado como parte de los problemas NPCompletos 2. La clasificacin del problema de Wang como tal,

Figura 1.3 rompecabezas apictrico resuelto por el trabajo de Freeman y Garder

N/D : No determinado. NP-Completo: Clasificacin de la Teora de la complejidad computacional. Establece que los problemas del tipo NP-Completo (NP-C) no pueden ser resueltos en tiempo polinomial, o bien no se conocen formas rpidas de resolverlos. Es decir, por sus caractersticas, el tiempo requerido para la resolucin de un problema NP-C aumenta exponencialmente a medida
2

En su trabajo, Burdea y Wolfson [8], proponen que el armado de rompecabezas, es una actividad que se puede ver en la vida cotidiana en tareas como la reparacin o armado de componentes electrnicos, o incluso en la paleontologa y arqueologa. Enfocan el problema como una cuestin de ensamblaje de piezas, sin tomar en cuenta otros datos que no sea la forma fsica de la pieza. Para ello, al igual que Freeman y Garder, utilizan un rompecabezas apictrico. Las piezas de color blanco son identificadas por el sistema de visin computarizada y ensambladas de acuerdo a su mejor encaje
que el problema crece, alcanzando los miles de aos rpidamente. Su verificacin, por el contrario, es rpida o instantnea. 3 Figura extrada de [9]

3 por un brazo robtico. Introdujeron el concepto de solucin global como una forma de superar las limitaciones en el tamao de rompecabezas que tiene la aproximacin a la solucin de estos por medio de soluciones locales utilizada por los primeros. Reconocen la similitud del problema del ensamblado de rompecabezas con el problema del Viajante de comercio[4]. Aplican este problema al ensamblaje de las piezas exteriores identificadas por tener lados planos, formando as un marco que contendra la solucin de las piezas interiores. Arriban a soluciones cercanas del problema del viajante, por medio de algoritmos que utilizan heurstica y corrigen la aproximacin mediante datos extrados de la visin del robot. El interior del marco del rompecabezas obtenido es armado mediante la iteracin de un algoritmo llamado KBEST, que considera abordar el armado de los sucesivos marcos interiores de la misma forma del marco exterior sin tener las piezas cuadradas externas, guardando las K mejores soluciones dado que la heurstica suele no converger per se a una solucin nica. La solucin global se concluye como una suma de las K mejores soluciones parciales internas, por ende se disminuye la inexactitud de la heurstica mediante la comprobacin fsica del ensamble por la contraparte robtica. Los trabajos respecto a la resolucin de rompecabezas no solo se avocan a aquellos denominados cuadrados, sino tambin a aquellos basados en piezas de encastre. La investigacin llevada a cabo por Webster, LaFollete y Stafford en 1991 [14], comprende el armado de rompecabezas de este ltimo tipo y propone prescindir de aquella informacin que pueda aportar el contenido pictrico del rompecabezas, sino por el contrario solo el detalle de las formas de sus piezas y su adyacencia es determinada por puntos crticos en los istmos representados en las piezas. La publicacin realizada por Chung, Fleck y Forsyth [5], plantea la utilizacin eficiente de la informacin disponible en las piezas del rompecabezas, como el color y la forma. Los autores argumentan que la sola utilizacin de la forma de las piezas, dada su similitud, llevara a soluciones incorrectas. La captura del rompecabezas se realiza pieza a pieza, en un ambiente controlado de fondo plano, por una cmara de 6 mm, utilizando la paleta CIE LAB Colorspace. Desarrollaron 3 algoritmos para encontrar la solucin a un rompecabezas de encastre: AP, TSP/AP y TSP/Kbest. El algoritmo AP consiste en encontrar una solucin en base a un mecanismo de aproximacin, resolviendo los bordes del rompecabezas y luego el interior del mismo. TSP/AP, combina la tcnica de aproximacin y la resolucin del rompecabezas hallando el circuito ms corto entre piezas como si fuese el problema del viajante de comercio (Travelling Salesman Problem). Por ltimo TSP/Kbest, que combina la resolucin del puzzle KBEST propuesta en el paper [8] y el problema del viajante de comercio. En [3], la lnea de investigacin se propone la solucin de un rompecabezas cuadrado de MxN piezas, donde su contenido pictrico es capturado en una paleta de 1-bit (blanco y negro puro), que dada la similitud de las piezas no puede ser resuelto mediante soluciones parciales. Dicho trabajo, propone el uso de algoritmos genticos [15] como mecanismo de resolucin del rompecabezas. Los autores definen como poblacin a una matriz de NxM piezas, compuesta por individuos fila e individuos columna. As mismo utilizaron dos tipos de funciones de fitness 4 y operaciones tpicas de cruza y mutacin con lo son la cruza con punto fijo, self-crossover, mutacin, entre otras. Estas operaciones causan cambios en la poblacin en varios individuos fila o columna al mismo tiempo. Los experimentos utilizando puzzles de 7x7, 8x8 y 9x9 piezas con tres imgenes de prueba arrojaron resultados solo para las dos primeras dimensiones, siendo la ltima resoluble dependiendo de la imagen propuesta en la grilla. En [2], se hace un anlisis detallado de los inicios de la problemtica junto con antecedentes en los intentos de solucionarla. Presenta una recopilacin de distintos mtodos de resolucin posibles. Los desarrollos presentados por Tybon, abarcan la Programacin Lineal o Entera [21], algoritmos evolutivos y genticos[15], Simulated Annealing (SA, por sus siglas o recocida simulada en su traduccin al espaol), Bsqueda Tab [18][19] y programacin con restricciones. A su vez, realiza una comparacin en base a los resultados obtenidos aplicndolos a rompecabezas cannicos de distintas dimensiones: 2x2, 2x3, 2x4, 2x5, 3x4, 3x5 y 4x5. El autor concluye que la programacin evolutiva y la basada en restricciones son las metodologas ms favorables para resolver el problema del armado de rompecabezas. Un enfoque alternativo a [3], surge en el trabajo "Assembly of Puzzles by Connecting Between Blocks" [1]. Donde los autores proponen ensamblar un puzzle de 16x12 piezas con una paleta de color de 24 bits RGB, utilizando como antecedente el modelo de su trabajo anterior [3]. Coinciden en que el algoritmo gentico propuesto por el trabajo que los antecede tiene dificultades para encontrar la solucin global a medida que se incrementa la dimensin del rompecabezas y, que adems la paleta de binaria en blanco y negro presenta falsas adyacencias y limita la resolucin del problema. Como alternativa proponen utilizar una codificacin cromtica RGB que proporcione mayor informacin sobre los bordes de las piezas a ensamblar, y un ensamblado por bloques que aproveche las buenas adyacencias ya detectadas en contraposicin con la aleatoriedad del algoritmo gentico. La estrategia de ensamblaje consiste en encontrar sub bloques del rompecabezas, cuyas adyacencias sean las mejor clasificadas y partiendo de ellos, iterativamente efectuar el mismo proceso con los bloques ya ensamblados de mayor tamao hasta que se completa el armado del puzzle. Consiguen llegar a esa instancia hasta un 90% de las veces que intentaron armar un puzzle de 16x12 piezas, aunque explican que este porcentaje vara dependiendo de la fotografa propuesta en el rompecabezas, definen que la mayor variante se produce al incrementar el nmero de piezas.

4 Funcin que determina cun apto es un individuo dentro de un algoritmo evolutivo.

4 Una publicacin reciente [12], muestra como es posible solucionar rompecabezas cuadrados de hasta 10x10 piezas, utilizando tcnicas de Programacin Dinmica y Hungarian Procedure. Estas tcnicas muestran resultados con un desempeo superior a la aproximas pieza por pieza. El trabajo [12] se basa en la textura como informacin crucial para la reconstruccin de imgenes revueltas (scrambled images). En bsqueda de una propuesta de solucin a esta problemtica, surge investigacin Sistema Inteligente Robotizado (SIR) creada en a mediados de 2008 por el grupo de Inteligencia Computacional de la Universidad de Palermo (AIGROUP). El objetivo final de la lnea es el de crear un sistema robtico que sea capaz de resolver problemas donde la heurstica es compleja (NP-Completa). Para ello se genera un prototipo que paulatinamente ir creciendo de manera paramtrica y flexible acorde vaya incorporando distintas habilidades para resolver problemas especficos. Como primer desafo se propuso el ensamblar satisfactoriamente un rompecabezas de forma autnoma en un perodo de tiempo reducido, sin ms informacin sobre el rompecabezas a armar que las propias restricciones del problema y aquella agregadas para simplificar el espectro de la investigacin. Las que se detallan en la seccin II. II. INTRODUCCIN A LA LNEA SIR En los antecedentes citados, se identifican etapas genricas en la heurstica del armado automtico de rompecabezas: 1) identificacin de las piezas, 2) comparacin de las piezas y 3) armado del rompecabezas. SIR intenta recrear esos tres pasos genricos en una arquitectura modular que integre software, hardware y distintas tcnicas de reconocimiento de patrones y visin computarizada, que sea capaz de llevar a cabo la tarea asignada. Para ello, esta recreacin del proceso genrico se llevar a cabo en un ambiente controlado (desde ahora llamado Playground) el cual consta de varias restricciones de amplitud del problema planteado para hacer la solucin viable. 1) Restricciones al problema La primer restriccin se aplica a la orientacin y la forma de las piezas del rompecabezas. Se toma el modelo de rompecabezas cannico. Es decir, con piezas cuadradas uniformes. A su vez la disposicin de las piezas ser en rotaciones de 90 grados de forma tal que no haya inclinaciones angulares intermedias en ellas. Estarn en un tablero de color plano que permita diferenciar el color de fondo de los colores caractersticos del rompecabezas a ensamblar. La cantidad de piezas que conforman un rompecabezas vlido corresponde a un nmero entero positivo no primo. 2) Restricciones a las regiones de inters Las regiones de inters para la comparacin pieza a pieza, sern los bordes de las mismas y no su forma ni composicin total de la porcin de la imagen que stas representan. 3) Nivel de incertidumbre en las variables restantes Las variables restantes de la disposicin del rompecabezas como la topologa de la imagen, el nmero de piezas involucradas, la dimensin del rompecabezas o los colores predominantes en la imagen que este representa son totalmente desconocidas hasta que se capture el playground y se procese con los debidos mtodos. Pese a las restricciones enumeradas anteriormente, la comparacin pieza a pieza teniendo la rotacin de las mismas como un posible escenario, convierte el problema de comparacin de un tipo exponencial a un problema orden factorial, como fue descripto en la seccin anterior. III. ARQUITECTURA Y DESCRIPCIN DEL FLUJO DE TRABAJO SIR est compuesto por tres mdulos. Por su orden de aparicin; un mdulo de captura, compuesto por una cmara Web convencional controlada por un Framework 5 encargado de ejecutar la captura de la imagen. Esta imagen es procesada y filtrada por el mdulo de software dentro de este mdulo para luego ser analizada con distintas tcnicas de deteccin de patrones que permiten detectar las piezas unvocamente en el playground. La salida de este mdulo es una coleccin de piezas detectadas ordenada por su orden de aparicin en la captura. Esta coleccin es tomada por el mdulo lgico y convertida a una abstraccin de esa imagen capturada, cambiando el enfoque de una matriz de pxeles (mapa de bits) a piezas bien formadas y constituidas en un puzzle. Cada pieza es identificada unvocamente y sus bordes extrados y considerados como las nicas regiones de inters (ROI) necesarias para la resolucin del problema. La dimensin final del rompecabezas es desconocida hasta que la solucin es encontrada. El mdulo lgico se encarga de ejecutar el algoritmo gentico (ver seccin siguiente) que debe encontrar la solucin al puzzle dado. Lo hace por medio de una abstraccin del problema llevndolo a un problema de optimizacin de circuitos de la Teora de Grafos[25]. La salida de este mdulo es la solucin en s, cuyos pasos sern interpretados por el mdulo robtico quien la recibe va Bluetooth [23]. Este mdulo se encargar de armar las piezas. Est compuesto por kit de robtica LEGO MindStorms NXT [24], el cual fue elegido por su versatilidad, disponibilidad y facilidad de uso. IV. INTRODUCCIN A LOS ALGORITMOS GENTICOS Los Algoritmos Genticos estn basados en el concepto de la superviciencia del ms apto descripto en El Origen de las especies de Charles Darwin. Es John Holland [15] quien toma los conceptos de la Teora Evolutiva enunciada por Darwin, aplicndolos a la Inteligencia Computacional. El propsito de
5 Framework: es una estructura conceptual y tecnolgica de soporte definida, normalmente con artefactos o mdulos de software concretos, con base en la cual otro proyecto de software puede ser organizado y desarrollado. Tpicamente, puede incluir soporte de programas, bibliotecas y un lenguaje interpretado entre otros programas para ayudar a desarrollar y unir los diferentes componentes de un proyecto.

5 los algoritmos genticos es recrear los pasos de la evolucin biolgica en torno a un problema determinado, con el objetivo de optimizar las posibles soluciones hasta alcanzar la solucin generacin. En los recurrentes ciclos, las generaciones de la poblacin se incrementan. El nmero de generaciones creadas por el algoritmo gentico, es uno de los factores cruciales para la obtencin de resultados. Al igual que una funcin polinmica, un algoritmo gentico cuando es evaluado en el infinito, converge hacia una solucin o valor constante, o bien diverge. Es en la evaluacin del hallazgo de resultados ptimos (convergencia) o bien en la ausencia de stos (divergencia) donde se utiliza el numero de generaciones creadas. Este nmero se utiliza para poner un lmite a la ejecucin del algoritmo. V. FLUJO DE TRABAJO DEL MDULO LGICO De acuerdo a las restricciones del problema, una vez capturadas las piezas del entorno, stas son pasadas como nica informacin disponible al mdulo lgico. Al comenzar su ejecucin, el mdulo lgico contiene N piezas que deber ensamblar (lgicamente) como un rompecabezas de m piezas de ancho por n de alto. Siendo N un nmero no primo tal que:

(m. n ) = N tal que, m > 1 n > 1

Figura 4.1. El ciclo de los Algoritmos Genticos

m, n, N Z

(5.1 )

buscada mediante la evolucin de distintas soluciones candidatas. El elemento a ser evolucionado es comnmente denominado Cromosoma. Los Cromosomas estn compuestos por genes, que contienen sus caractersticas que los distinguen unos de otros. Un cromosoma, es a su vez un individuo perteneciente a una Poblacin. La poblacin es un conjunto de cromosomas, este conjunto va a ser modificado por el Algoritmo Gentico en la recreacin del proceso evolutivo, el cual se detalla en la figura 4.1 6. A medida que una poblacin evoluciona, se obtienen nuevas generaciones de cromosomas. La generacin a la cual pertenece un cromosoma, suele ser un atributo de los mismos. Para completar el ciclo evolutivo, es necesario realizar el apareamiento entre individuos, o mutaciones en algunos de ellos. Para ello se definen ciertas operaciones a realizarse con los cromosomas de una poblacin que se quiera evolucionar. Estas operaciones son llamadas Operadores Genticos[27]. La primera operacin, llamada cruza (crossover), consiste en tomar dos individuos (cromosomas) y cruzar sus genes en uno o mas puntos dados, generndose as dos nuevos cromosomas (descendencia). El segundo operador gentico, es la mutacin. Consiste en cambiar aleatoriamente uno o ms genes de un cromosoma. Existe un tercer operador, llamado self-crossover, siendo esta una operacin hbrida entre la cruza y la mutacin. El operador self-crossover fracciona en dos o ms partes el cromosoma y altera la secuencia de aparicin de estas partes. Una vez realizadas las cruzas y las mutaciones correspondientes, el ciclo vuelve a empezar con una nueva
6 Adaptacin y traduccin al espaol de la figura 15.1 del Libro Amit K.: Artificial Intelligence and Soft Computing Behavioral and cognitive modeling of the human brain, CRC Press, (2000).

Queda descartado por definicin (ver II.1) que las piezas sean ensambladas en hilera en la forma 1 por n 1 por m. Dado un nmero N de piezas, se procede a extraer las posibles dimensiones del rompecabezas objetivo. Para ello, se obtienen los k divisores de N, calculando as las posibles dimensiones que puede tomar un rompecabezas cuadrado dada una cantidad N de piezas (ver recuadro 5.2). Obtenidas las posibles dimensiones del rompecabezas, el mdulo lgico procede a ejecutar una instancia del algoritmo gentico por cada elemento del conjunto R (ver 5.2). Cada instancia del AG es configurada para una dimensin Ri . De forma que al termino de la ejecucin de cada una de esas instancias, se obtienen en total R# posibles soluciones. Esas soluciones candidatas, tienen un valor de adaptacin que fue determinado por la funcin de adaptacin del AG. El mdulo lgico descarta las de menor valor y conserva solo la que presente el valor mximo de la coleccin de soluciones candidatas. La figura 5.1 muestra el diagrama de actividades del flujo de trabajo.

6
Dado un rompecabezas de N piezas donde N = n m tal que m, n Z ^ m/N ^ n/N y

VI. DEFINICIN DE LOS COMPONENTES DEL ALGORITMO GENTICO. En la presente seccin se detallan los elementos bsicos del diseo del Algoritmo Genticos segn lo definido en [15][26]. A. Definiciones generales 1) Poblacin Un conjunto de cromosomas, ordenado de mayor a menor en funcin a su calificacin de adaptacin. 2) Cromosoma Individuo de una poblacin. Representa una solucin posible al puzzle. Esta compuesto por un conjunto de genes. La viabilidad de la solucin est determinada por la calificacin del todo el conjunto de genes que recibe por parte de la funcin de adaptacin (a ser detallada en seccin 6.G). Esta tiene dominio real [0:1], siendo 0 (cero) la solucin menos viable y 1 (uno) la solucin concreta del rompecabezas.
a) Cromosoma estril

m > 1 n > 1 ^ m, n , N Z R# dimensiones distintas del rompecabezas siendo, D = {x, x/N ^ x.n = N} (conjunto de divisores) y Q = {y, y/N ^ y = N/x x D} (conjunto de cocientes) Se define el conjunto de pares R que contiene las posibles dimensiones del rompecabezas como : R = {{(x,y)x,y tal que x.y = N ^ x D ^ y Q} - R' } siendo R' = {(y, x)/x D ^ y Q}, los pares conmutados de las dimensiones (x, y) posibles para cantidad de piezas disponibles.

(5.2)

El algoritmo gentico se ejecuta acorde al flujo de trabajo presentado en la figura 4.1. La poblacin, se genera aleatoriamente [27] conforme a los criterios de aceptacin de cromosomas ( ver seccin VI.B.1). La generacin aleatoria garantiza, que no existan sesgos en el espectro de bsqueda del algoritmo gentico. A partir de la poblacin inicial, comienza el ciclo evolutivo del AG (figura 4.1). Los cromosomas de la poblacin son evaluados por la funcin de adaptacin. Luego son traspasados a un pool 7 de seleccin donde se seleccionan los distintos cromosomas a ser afectados por los operadores genticos. Estos operadores son los encargados de generar la nueva descendencia de individuos que conformar una nueva generacin dentro de la poblacin. Tanto los progenitores de la nueva generacin como sus descendencia son situados en la poblacin nuevamente para que, de no alcanzarse una convergencia o una condicin de corte del AG, el ciclo vuelva a comenzar.

Es aquel que no puede ser involucrado en operaciones de cruza, mutacin u otras. Representa una solucin inviable que no cumple con los criterios de aceptacin de cromosomas que determinan un cromosoma vlido en trminos del problema. La valuacin de los cromosomas estriles es siempre 0 (cero)
b) Cromosoma frtil

Todo cromosoma que cumpla con los criterios de aceptacin de un cromosoma, an si este no presentase adyacencias que superen el umbral de aceptacin de adyacencia(ver A.5.1). La valuacin de la funcin de adaptacin sobre este tipo de individuos es siempre mayor (estricto) a 0 (cero).
c) Cromosoma solucin

Cromosoma frtil cuya valuacin de adaptacin alcanza el valor mximo de la funcin de adaptacin, o bien cumple con las condiciones de los criterios de convergencia del algoritmo gentico. Representa una solucin al rompecabezas propuesto. 3) Gen Representa una adyacencia entre dos piezas (por sus bordes). As como un conjunto de genes (cromosoma) esta sujeto a las especificaciones impuestas en los parmetros de aceptacin de cromosomas, los genes deben cumplir con los criterios de aceptacin de un gen para formar parte de un cromosoma frtil y por aadidura a un cromosoma solucin. Un gen esta compuesto por alelos. Dos alelos conforman internamente la adyacencia y de ellos se obtiene la valuacin o distancia entre bordes (ms adelante descripta como distancia entre vrtices)
Figura 5.1

4) Alelo Los alelos conforman los genes. Al tratarse un gen de una relacin entre bordes, cada uno de estos alelos contiene la informacin de la composicin del borde (pxeles), direccin geogrfica del mismo y pieza a la que pertenece. Los alelos estn sujetos a los criterios de aceptacin de alelos.

7 El trmino en Ingls pool hace alusin a un contenedor, o zona delimitada comn donde se sitan los objetos que ste agrupa.

7 5) Funcin de adaptacin o Fitness La funcin de adaptacin determinara cun aptos son los cromosomas de las distintas poblaciones. Puede tomar los siguiente valores. (6.1) La adaptacin de un individuo depende tanto de sta como de los distintos criterios de adaptacin a ser definidos posteriormente. 1) Pool de seleccin El pool de selecciones es una coleccin de cromosomas elegidos para la mutacin en base a los criterios de seleccin de cromosomas a ser evolucionados o apareados. La razn por la cual se los debe extraer de la poblacin para realizar las operaciones de evolucin, es la de evitar posibles clones o referencias dobles que resulten en una redundancia de cromosomas idnticos no aleatorios en una poblacin, los cuales podran resultar en una reduccin del espectro de bsqueda del algoritmo cayendo as en mximos o mnimos locales por errores o caractersticas del lenguaje de implementacin elegido. Una vez hechas las operaciones necesarias los cromosomas seleccionados del pool deberan ser restituidos a la poblacin antes de comenzar el ciclo del flujo de trabajo nuevamente. B. Criterios de aceptacin 1) Criterios de aceptacin de cromosomas Un cromosoma es vlido cuando este cumple con los siguientes requisitos.
a) Cantidad de Piezas esquina

topologa de un rompecabezas cannico la cantidad de piezas borde que deben quedar representadas en el cromosoma viene dada por la funcin: Dado un rompecabezas de m n ,

b(m, n) = (m 2) + (n 2) + (m 2) + (n 2) b(m, n) = 2 m+ 2 n 8 b(m, n) = 2(m n 4)


siendo m y n la base y altura del rompecabezas.
a) Cantidad de Piezas interiores

(6.2 )

Dada la topologa de un rompecabezas cannico la cantidad de piezas interiores que deben quedar representadas en el cromosoma viene dada por la funcin: j (m, n ) = (m 2)(n 2)

m > 1^ n > 1 (6.3 ) donde m y n representan las dimensiones del rompecabezas siendo m y n la base y la altura del rompecabezas respectivamente.
a) Completa validez de sus componentes

Consecuentemente sus componentes deben cumplir con sus respectivos criterios de aceptacin.
b) Cantidad total de genes en el cromosoma

Dada la topologa de un rompecabezas dinmico de m por n piezas, la cantidad de genes requeridos viene dada por la funcin: Dado un rompecabezas de m x n piezas,

Dada la topologa de un rompecabezas cuadrado (perteneciente al conjunto de los cannicos), la cantidad exacta de piezas esquina que deben quedar representadas en el cromosoma es de 4 (cuatro) unidades exclusivamente (definido en seccin I). Las piezas esquina se encuentran representadas como cuadrados de bordes puntuados en la figura 5.1

A(m, n) = 8 + 3(2(n 2) + 2(m 2)) + 4(m 2)(n 2), al distribuir A(m, n) = 8 + 3((2 n 4) + (2 m 4)) + 4(m.n 2 m 2 n+ 4), al distribuir (6.4 A(m, n) = 8 + 3(2n + 2m - 8) + 4mn - 8m - 8n +16 ) Al desarrollar el miembro restante, A(m, n) = 8 + 6 n+ 6 m 24 + 4 mn 8 m 8 n+ 16 al sumar cada trmino, A(m, n) = 4 mn 2 m 2 n, factoreando se obtiene : A(m, n) = 2 mn m n siendo m y n la base y la altura del rompecabezas respectivamente.
a) Cantidad total de piezas representadas

Figura 5.1 representacin de un rompecabezas cuadrado de m x n piezas

Dada la topologa de un rompecabezas cannico la cantidad de piezas que deben quedar representadas en el cromosoma viene dada por la funcin: (6.5) siendo m y n la base y la altura del rompecabezas respectivamente.

a)

Cantidad de Piezas borde

Son aquellas, que se encuentran en los bordes del rompecabezas entre las piezas esquina. Las piezas bordes tienen la caracterstica de poseer tres adyacencias. Dada la

8 como la ausencia de bucles y caminos redundantes representan algunas de los criterios de aceptacin de cromosomas descriptos anteriormente. A. Vrtices Los vrtices o nodos de un grafo representan las piezas de un rompecabezas cannico. Los vrtices pueden tener mltiples incidencias (conexiones entre nodos). En concordancia con la problemtica, la cantidad de incidencias por vrtice es de 2(dos) a 4 (cuatro) inclusive. B. Aristas Las aristas son las conexiones entre los vrtices de un grafo. Siendo stos ltimos piezas, las aristas representan adyacencias entre nodos y por ende piezas. Convenientemente, la teora de grafos estipula que las aristas cuentan con la propiedad de establecer pesos o distancias entre nodos. Por ello es posible la bsqueda de caminos que maximicen o minimicen las distancias entre vrtices. Esta distancia representara la similitud entre bordes de piezas diferentes propia de una adyacencia entre piezas. Dadas estas cualidades, las aristas representan un Gen dentro del problema de algoritmos genticos. C. Circuito o ciclos Un rompecabezas cannico desarmado, puede ser representado como un multi grafo donde todos sus vrtices son adyacentes entre s mediante 4 (cuatro) aristas diferenciadas por su valor de distancia a excepcin de los bucles que no son elementos de los multi grafos. Solucionar el puzzle significa encontrar un circuito que pase por todos los vrtices (piezas) respetando la cantidad de incidencias dadas por las ecuaciones que definen la cantidad de piezas ( ver criterios de aceptacin de cromosomas). Dicho circuito no solo debe cumplir con las restricciones impuestas a los cromosomas, genes y alelos, sino que a su vez debe minimizar la distancia recorrida por el circuito o ciclo. Es decir, que debe relacionar mediante las aristas a las piezas cuyos bordes se parecen mas, armando indefectiblemente el rompecabezas. Dado a que un circuito de este estilo es una solucin, encuentra su representacin en los cromosomas. La funcin de adaptacin es la responsable de determinar cuando se ha llegado a una solucin del rompecabezas. A. Matriz y Lista de incidencias La matriz de incidencias permite representar el grafo en un formato mas conveniente para las operaciones que alteran o verifican la topologa del mismo. Es esencial para la rpida validacin de la fertilidad de un cromosoma que se respete la cantidad de tipos de incidencias del rompecabezas que representan. Por su parte la lista de incidencias representa una variante mas econmica en trminos de uso de memoria ya que no representa la cantidad de nodos con incidencias nulas B. Matriz de Adyacencia Estas matrices resultaran convenientes en la validacin de los cromosomas.

Figura 7.2 . Comparacin borde a borde

2) Criterios de aceptacin de genes Se considera vlido un gen cuando este cumple con las siguientes condiciones:
a) Validez de los componentes que lo representan

La validez del gen es dada por la consecuente validez de los alelos


b) Validez del a adyacencia representada

Un gen se considera vlido cuando no representa una adyacencia invlida. Siendo esta ltima una adyacencia entre bordes de la misma pieza. 3) Criterios de aceptacin de alelos La validez de un alelo esta dada por los siguientes incisos:
a) Representacin de bordes reales

Un alelo debe representar el borde de pieza detectada y validada en el Playground, en su forma completa y correcta VII. ELEMENTOS ANLOGOS DE LA TEORA DE GRAFOS

Figura 7.1 Representacin de un Cromosoma solucin.

El paralelismo entre un rompecabezas cannico y la Teora de Grafos [25] puede hacerse mediante la siguiente analoga: A. Multi grafo Un multi grafo presenta una solucin al rompecabezas (Cromosoma. Ver Figura 7.1). Sus propiedades intrnsecas

9 C. Funcin de adaptacin o Fitness Dado un cromosoma (ciclo con restricciones), debe determinarse el grado de potencialidad de este como solucin final. Es decir que distancia se recorre por medio de los genes (aristas) que lo componen. Dicha operacin esta dada por la funcin de adaptacin y las funciones que la componen. La funcin de adaptacin se define como: tomados para administrar la naturaleza NP-Completa del problema determinaron la escalabilidad de esos enfoques. El enfoque expuesto en este trabajo, propone una forma de administrar la explosin combinatoria del problema mediante la combinacin de Algoritmos Genticos y elementos de la Teora de Grafos. IX. TRABAJO A FUTURO (7.1) Como trabajo a futuro, se defini la implementacin del Algoritmo Gentico. Dicha implementacin deber soportar varios tipos de heurstica y operadores genticos intercambiables en tiempo de ejecucin. Se establece como trabajo a futuro la implementacin del mdulo robtico y del mdulo de captura, as como su integracin con el resto de las partes del sistema. BIBLIOGRAFA
Murakami T., Toyama F. Shoji K. , Miyamichi J. : "Assembly of Puzzles by Connecting Between Blocks", (2008). [2] Tybon R.: "Generating solutions to the Jigsaw problem." Griffith University, (2004). [3] Toyama F. , Fujiki Y. , Shoji K. , Miyamichi J. : "Assembly of puzzles using a genetic algorithm." 16th International Conference on Pattern Recognition, (2002). [4] Papadimitriou, C.H., Yannakakis M. : "Shortest paths without a map". Proc. 16th ICALP. Lecture notes in computer science (SpringerVerlag.), (1989). [5] Chung M. G, Fleck, M. M, Forsyth D. A.: "Jigsaw puzzle solver using shape and color." Proceedings of ICSP (IEEE), 877-880, (1998). [6] Wang J.: Introduction to NP-Completeness, 91.502 Foundations of Computer Science, (2006). [7] Ville Lukkaril: The square tiling problem is NP- complete for deterministic tile sets. TUCS Technical Report No 754, March,(2006). [8] Burdea G. D., Wolfson H. J.: Solving jigsaw puzzles by a robot. IEEE Trans. Robotic. Autom. v5 i6. 752-764, (1989). [9] Freeman H. and Garder L.: Apictorial Jigsaw Puzzles: The Computer Solution of a Problem in Pattern Recognition, IEEE Trans, on Electronic Comp., Vol EC-13, No. 2, 118-127, April (1964). [10] McAdam D.: History of Jigsaw puzzles. American Jigsaw Puzzle Society. http://www.jigsaw-puzzle.org/jigsaw-puzzle-history.html. [11] Yao F.H., Shao G.F.: A shape and image merging technique to solve jigsaw puzzles, Pattern Recognition Letters 24 (2003) 1819-1835. (2003). [12] Alajlan, N.: Solving Square Jigsaw Puzzles Using Dynamic Programming and the Hungarian Procedure. American Journal of Applied Sciences 6(11): 1942-1948, (2009). [13] Altman T.: Solving the jigsaw puzzle problem in linear time. Applied Artificial Intelligence,3,(1989). [14] Webster R. W., LaFollete P. S., Stafford R. L.: Isthmus Critical Points for Solving Jigsaw Puzzles in Computer Vision. IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 21, NO. 5, 1271-1278. SEPTEMBER, (1991). [15] Holland, J. H.: Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor,(1975). [16] Koza, J.: Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press. ISBN 0-262-11170-5, (1975). [17] Kirkpatrik S., Gelatt C. D., Vecchi M. P.: Optimization by simulated annealing, Science, (1983). [18] Glover F.: Tabu search- Part I ORSA Journal on computing,(1990). [19] Glover F.: Tabu search- Part II ORSA Journal on computing,(1990). [20] Sagiroglu M. S., Ercil A.: A texture based matching approach for automated assembly of puzzles. Proceedings of 18th International Conference on Pattern Recognition, (PR06), IEEE Xplore Press, Hong Kong, pp: 1036-1041. DOI: 10.1109/ICPR.2006.184, (2006). [21] Dredsner E. C.: Tcnicas cuantitativas: el management cientfico aplicado a las decisiones en la economa de empresas. tercera edicin, Editorial Universo, Buenos Aires, (1998). [1]

dado un cromosoma x,

F ( x) = [1 P ( f (si ))]
i =1

A ( m, n )

El resultado de P(f(si)) es un x R / 0 x 1, como se debe representar una coincidencia mayor como una menor distancia se hace la negacin de dicho x mediante 1 - P(f(si)). De esa forma la sumatoria es capaz de mostrar la minimizacin de la longitud del circuito. La funcin de adaptacin tiene la capacidad de determinar la infertilidad de un cromosoma. A. Funcin de correlacin de un par de piezas a partir de una arista Esta funcin devuelve el par de bordes que estn relacionados por una arista (adyacencia). F(si ) = (B1,B2) , siendo (B1,B2) el par de bordes que relaciona la arista si . B. Funcin de porcentaje de coincidencias borde-a-borde Esta funcin es la que se encarga de determinar el porcentaje de pxeles que se parecen dada una arista si . P((B1,B2))= p , siendo p un intervalo entre 0 (cero coincidencias) y 1 (coincidencia total entre bordes) inclusive. La comparacin se realiza borde a borde (figura 7.2) y pxel a pxel (figura 7.3).

Figura 7.3 . comparacin pxel a pxel

La comparacin de la distancia cromtica (delta) de los valores RGB de cada pxel determina la similitud entre cada uno de los puntos del borde y consecuentemente del borde todo. En el caso de ilustrado en la figura 7.3 la distancia entre ambos pxeles es 0 (cero). El porcentaje de coincidencias entre los bordes ilustrados por la figura 7.2 es del 100%.

VIII. CONCLUSIN El anlisis de antecedentes muestra distintos enfoques escogidos para tratar la problemtica del rompecabezas. En base a [5][9][11][20] es posible aseverar que la extraccin de las piezas en su forma material y su posterior inclusin en el modelo computarizado, no representa el factor que limita el nmero de piezas que las soluciones propuestas por esos autores pueden manejar. En contraposicin, los medios

10
[22] Lego MindStorms NXT. http://mindstorms.lego.com/eng/default.aspx . [23] Bluetooth Technology. http://www.bluetooth.com [24] LeJOS, Java for Lego MindStorms. http://lejos.sourceforge.net/ [25] Balakrishnan, V. K.: Graph Theory, McGraw-Hill; 1 edition.(1997). [26] Bigus J. P., Bigus J.: Constructing Intelligent Agents with JavaTM: A Programmer's Guide to Smarter Applications, John Wiley & Sons, (1999). [27] Amit K.: Artificial Intelligence and Soft Computing Behavioral and cognitive modeling of the human brain, CRC Press, (2000). [28] Garey, M. and D. Johnson, Computers and Intractability; A Guide to the Theory of NP-Completeness, (1979). Francisco Gindre, nacido en la ciudad de La plata, Argentina el 8 de noviembre de 1984. Inici su formacin universitaria en la Universidad Nacional de La Plata en la carrera de Licenciatura en Informtica en 2003, continundolos en el segundo semestre de 2006 en la Universidad de Palermo. Sus antecedentes laborales datan del ao 2005, donde se desempe como Customer support representative, Tech support representative para un proyecto de la compaa Eastman Kodak en Teletech Argentina S.A y programador Java en Gameloft Argentina durante el ao 2008. Ingres como AYUDANTE AD HONOREM en la UNIVERSIDAD DE PALERMO de la materia Estructuras de datos y algoritmos en agosto de 2007, consiguiendo el cargo de DOCENTE 1 en noviembre de 2008, el cual que ejerce a la actualidad en dicha ctedra. En Marzo de 2009 fue designado bajo ese mismo cargo en la materia Introduccin a la programacin, a la cual sigue perteneciendo a la actualidad. En marzo de 2009 se incorpor al Laboratorio de Inteligencia Artificial de la UNIVERSIDAD DE PALERMO bajo la direccin de Daniela Lpez De Luise y la coordinacin del Ingeniero Gabriel Barrera, como ALUMNO INVESTIGADOR AD HONOREM, cargo que ejerce a la actualidad. En diciembre de ese ao fue nombrado INVESTIGADOR DESTACADO por el jurado de AIGROUP.

Vous aimerez peut-être aussi