Está en la página 1de 25

Problema de las N Reinas

Resolucin paralela

Indice
Introduccin al problema
Representacin y Soluciones
Resolucin secuencial
Resolucin paralela
Conclusiones
Bibliografa
2

Introduccin

Introduccin

El problema de las N reinas consiste en


situar N reinas en un tablero de ajedrez de
NxN sin que se amenacen entre ellas.
Una reina amenaza a otra si est en la
misma fila, columna o diagonal.

Introduccin
Movimientos posibles de una reina en el
tablero:

Representacin y Soluciones

Representacin
Para representar el problema, se podra
plantear como una matriz de NxN
enteros, donde un 1 significa que la reina
est en esa posicin, y un 0 que la casilla
est vaca.
Representacin ineficiente, se usa ms
espacio del necesario.
7

Representacin
Otra opcin es hacer uso de un vector de
N enteros, donde cada posicin
corresponde a una columna del tablero, y
el entero representa la fila en la que se
encuentra la reina dentro de dicha
columna.
Ms eficiente y ms sencilla de usar.
8

Soluciones
Como cada posicin del vector representa
una columna, no pueden situarse dos
reinas en la misma columna.
Si el vector tiene varios enteros iguales,
quiere decir que esas reinas estn en la
misma fila, por lo que sera incorrecta la
solucin.
Queda el problema de las diagonales.
9

Soluciones

Dos reinas estn en la misma diagonal si:


Mismo valor de fila - columna
(Diagonal descendente)
Mismo valor de fila + columna
(Diagonal ascendente)

10

Soluciones
Una posible solucin en un tablero de N=8:

S=(6,4,2,0,5,7,1,3)
11

Resolucin secuencial

12

Resolucin secuencial
La solucin secuencial se podra plantear
como un backtracking.
Complejidad: O(n!)
Problema: Poco eficiente, para tamao
grande del tablero puede tardar
demasiado.
13

Resolucin secuencial
Otra posibilidad es usar una bolsa de
tareas.
Eliminamos los vectores que no sean
prometedores, es decir, que al tratar de
situar una nueva reina sta amenace a
alguna otra.

14

Resolucin secuencial
Dada una configuracin inicial del
tablero, se intenta colocar una reina en
cada fila de la columna actual,
generndose nuevas configuraciones que
se insertan en la bolsa de tareas.
Esta ser la versin tomada como base
para la solucin paralela.
15

Resolucin paralela

16

Resolucin paralela

La solucin inmediata en OpenMP sera


que cada hilo tomase una tarea de la
bolsa, genere las tareas correspondientes
a partir de ella, y repetir esto hasta que no
queden tareas.

17

Resolucin paralela
En MPI se puede plantear de forma
similar, con gestin de tareas, solo que
habr un nodo maestro que controle las
tareas por realizar, y los dems nodos son
los encargados de pedir tareas y enviar
las nuevas al master.
En este caso pueden darse varias
opciones:
18

Resolucin paralela
El nodo maestro genera una sola
configuracin inicial, y cada uno de los
nodos siguientes van generando nuevas
configuraciones e insertndolas en la
bolsa.
En este caso se producen grandes
cantidades de comunicaciones.
19

Resolucin paralela
Otra opcin es que el nodo maestro
genere una cantidad inicial de tareas a
resolver, y luego las reparta entre todos
los nodos.
El reparto puede ser dinmico o esttico.
En este caso las comunicaciones se
reducen al principio para repartir, y al
final para obtener los resultados.
20

Conclusiones

21

Conclusiones
A priori, antes de realizar los desarrollos
y las pruebas, se pueden sacar una serie
de conclusiones interesantes.
La opcin de una tarea inicial y que cada
nodo genere y aada a la bolsa parece ms
interesante para OpenMP, por la cantidad de
comunicaciones que se produciran en MPI.
22

Conclusiones
Si en la versin con tareas iniciales, el reparto
es esttico, se puede producir desequilibrio en
la carga de trabajo.
El reparto de las tareas de forma dinmica
puede solucionar el problema del
desequilibrio en la cantidad de tareas, pero
ampliar el nmero de comunicaciones entre
el nodo maestro y el resto.
23

Bibliografa

24

Bibliografa

Introduccin a la Programacin Paralela


http://es.wikipedia.org/wiki/Problema_de_las_ocho_reinas
http://euitio178.ccu.uniovi.es/wiki/index.php/TP:n_reinas__Backtracking
http://www.lcc.uma.es/~av/Libro/CAP7.pdf
http://itaim.vtrbandaancha.net/paper/nreinas3.pdf

25

También podría gustarte