Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nonel Thirer
Resumen - En los últimos años, varios documentos presentan algoritmos para Un problema como "resolver rompecabezas de Sudoku" requiere un algoritmo de implementación
resolver y generar acertijos de Sudoku. Algunos estudios prueban y confirman la específico, orientado al problema, debido a las restricciones dependientes del carácter del
posibilidad de utilizar el algoritmo genético (GA) para resolver y evaluar los acertijos problema.
de Sudoku. Los resultados son que GA puede resolver acertijos de Sudoku, pero no
Las principales etapas de la AG [9, 10] son: Inicialización de la población. - construir
de manera muy efectiva. Otros estudios prueban la posibilidad de una implementación
un banco inicial aleatorio de cromosomas. Cálculo de aptitud - calcula el " Puntuación
FPGA de un algoritmo "Solucionador de Sudoku" y se utilizan métodos de "fuerza
de aptitud " para cada cromosoma en el banco de cromosomas actual. El puntaje
bruta" debido a la necesidad de recursos excesivos para la implementación de otros
de aptitud de un cromosoma es la cantidad de ajustes necesarios para resolver el
algoritmos. Nuestro artículo analiza la posibilidad de una implementación FPGA de la
AG para resolver los acertijos. El artículo presenta algunas posibles adaptaciones del problema. Si se encuentra un cromosoma que resuelve el problema, el GA se
algoritmo general de GA, detiene. Selección - el GA elige varios cromosomas del banco actual, con respecto
a su puntaje de condición física calculado. Transversal - dos o más de los
sobre la población y cromosomas elegidos cambian aleatoriamente sus bits y forman un nuevo
definiciones de cromosomas, crossover y fases de mutación y cálculo de la función de cromosoma. Mutación - uno (o más) bits aleatorios se alterna en el cromosoma
aptitud para esta implementación de FPGA. recién construido.
Para una implementación FPGA de GA para resolver varios problemas (como los
Debido a que el rompecabezas de Sudoku se compone de un cuadrado de 9 * 9
conocidos MTSP / TSP -Problemas de vendedores múltiples / viajeros, CVRP - Problema
dividido en nueve sub cuadrados de 3 * 3, la población (P) consistirá en individuos
de enrutamiento de vehículos capacitados,
(cromosomas) definidos como una matriz de 81 elementos (P (i, j), i = 1 ... 9, j = 1 ... 9),
y así sucesivamente) se presentan métodos dependientes de
matriz subdividida en nueve bloques (B (1) ... B (9)) de nueve elementos cada uno y, por lo
problemas específicos o problemas [5, 6, 7, 8].
tanto, todo el rompecabezas es:
A. Módulos
SI. Paso de inicialización
Para verificar si un valor de 0001 a 1001 está presente una vez y solo una Los bloques de cruce y mutación proporcionan una nueva población generada.
vez en cada fila y cada columna, el algoritmo de aptitud verifica y penaliza si
un valor se repite en una fila o en una columna. La implementación de la AG requiere también bloques generales utilizados por dos o
más bloques especiales. Por lo tanto, un componente principal de la arquitectura de
Para reducir el tiempo de trabajo, es posible trabajar con una estructura hardware de la GA es la fuente de ruido pseudoaleatorio. El generador de números
basada en partes (subcromosomas) de todo el cromosoma (como la binarios pseudoaleatorios (PRBG) genera secuencias de bits pseudoaleatorias [8,11],
subpoblación de las poblaciones [11]) divididas en secuencias "grandes" utilizadas para seleccionar los grupos principales
Definimos 18 subcromosomas (nueve "subcromosomas de línea" y nueve (del bloque de selección) y secuencias "pequeñas" utilizadas para proporcionar los
"subcromosomas de columna"), cada subcromosoma con nueve elementos. Los elementos para el fases de cruce y mutación. Las "secuencias grandes" son larges de
elementos de cada subcromosoma de línea son: P (k, j), P (k, j + 1), P (k, j + 2), P k bits (de acuerdo con el tamaño de la población) y las secuencias "pequeñas" son
(k + 1, j), P (k + 1, j +1), P (k + 1, j + 2), P (k + 2, j), P (k + 2, j + 1), P (k + 2, j + 2) larges de 3 bits (solo los valores: 0001 a 1001). Por lo tanto, este PRBG reemplaza el
PRBG especial utilizado para cada tarea en otras implementaciones y permite la
(2) optimización de recursos de FPGA.
donde j = 1,4,7 yk = 1 para la línea 1 ... 3; k = 4 para la línea 4 ... 6, k = 7 para k = línea 7 ... 9)
De manera similar, los elementos de cada subcromosoma de la columna son P (k, j), P (k, j + 3),
P (k, j + 6), P (k + 3, j), P (k + 3, j + 3), P (k + 3, j + 6), P (k + 6, j), P (k + 6, j + 3), P (k + 6, j + 6) SI. Implementación de tubería
(3)
donde k = 1,2,3 y j = 1 para la columna 1 ... 3, j = 2 para la columna 4 ... 6: j = 3 para la Para mejorar la velocidad de ejecución del algoritmo, se deben utilizar
columna 7 ... 9 métodos de canalización, basados en la arquitectura modular [6] y también
También definimos la aptitud cromosómica como una función (suma) de la trabajando con partes ("subpoblaciones") de toda la población [11]. El uso de
aptitud para cada línea y para cada columna. Otro y "subpoblaciones" requiere un bloque de "transferencia" para permitir las
comunicaciones entre
2
subpoblaciones, pero permite para trabajar con un gran tamaño de El uso de un generador de números binarios pseudoaleatorios que proporciona todos
población utilizando una menor cantidad de recursos. los datos para las fases de selección, cruce y mutación de los padres requiere menos
recursos, en comparación con el uso de PRBG especial para cada tarea. Una
C. Parámetros de Implementación implementación adecuada de la tubería mejora la velocidad de ejecución y también
reduce la cantidad de recursos.
Una implementación flexible del algoritmo en un dispositivo FPGA específico requiere
que el usuario proporcione las posiciones y los valores de los elementos estáticos para Las tareas futuras son verificar la capacidad de esta implementación para
cada rompecabezas y que defina algunos parámetros de hardware como: resolver acertijos más difíciles y mejorar el método de evaluación del estado
físico.
• el tamaño de los miembros de la población
• el tamaño de la PRBG
• El número máximo de generaciones: detener el proceso si la
solución aún no se había logrado.
• la probabilidad de la mutación
R EFERENCIAS
Los parámetros de hardware anteriores dependen, por supuesto, de la naturaleza del
problema que necesita una solución (la dificultad del rompecabezas) y están
restringidos por las características específicas del chip FPGA. Una solución para la [1] Timo Mantere y Janne Koljonen, "Resolviendo y calificando el Sudoku
rompecabezas con algoritmos genéticos ", Nuevos desarrollos en Inteligencia
implementación es el uso de un kit de desarrollo Altera, basado en un chip FPGA Artificial y el Proceso de Web Semántica de los 12 th
Cyclone II y una RAM externa de 8 MB.
Conf. Inteligencia Artificial Finlandesa, PASO 2006, p.86-92 [2] KNDas, Sumit
Bathia, Shubbin Puri, Kusum Deep. "UNA
Recuperable Georgia para Resolviendo Sudoku Rompecabezas ",
RE. Rompecabezas de prueba www.cse.psu.edu/~sub194/papers/sudokuTechReport.pdf (dieciséis
páginas)
Para generar varios rompecabezas para probar el solucionador de Sudoku, se puede utilizar una [3] Kees van der Bok, Mottaqiallah Taouil, Panagiotis Afratis,
matriz de 9 * 9 como: Ioannis Sourdis, "The TU Delft Sudoku Solver on FPGA", IEEE Explorer, 2009,
p.526-529.
abcdefghidefghiabcghi [4] Pavlos Malakonakis, Miltiadis Smerdis, Euiripides Sotiriades,
abcdefbcaefdhigefdhig Apostolos Dollas, "Un solucionador de sudoku basado en FPGA basado en métodos
bca de recocido simulado", campo Programable
Internacional de tecnología .Conf, 2009, p.522-525 [5] N. Nedjah, LM Mourelle, "Un
problema eficiente e independiente
(4)
hardware implementación de genético algoritmo",
higbcaefdcabfdeighfde
Neurocomputing 71, 2007, p.88-94. [6] Tatshuito Tachibana, Yoshihiro Murata,
ighcabighcabfde
Naoki Shibata, Kelichi.
Yasumoto y Minoru Ito, "Implementación flexible de algoritmos genéticos en
FPGA", Proc. de la ACM / SIDA 14 th
fases del proceso: inicialización, estimación del estado físico, cruce y mutación. [10] Mao F.So, Angus Wu, "Implementación FPGA de cuatro pasos
Algoritmo de búsqueda genética ", Electrónica, Circuitos y Sistemas, Procedimiento de
ICECS'99, 1999, vol.2, p.1134-1146. [11] Nonel Thirer," Una implementación FPGA basada en
La definición del cromosoma como un conjunto de bloques y la definición de
canalización de un
subcromosomas permite un cálculo paralelo de funciones parciales de aptitud y,
Algoritmo genético ", ECTA 2011 Conf. Internacional sobre Teoría y Aplicaciones de
por lo tanto, mejora la velocidad del algoritmo, pero requiere recursos FPGA la Computación Evolutiva., (IJCCI 2011) París, Francia, 24-26 de octubre de 2011
adicionales. p.343-345.