Anda di halaman 1dari 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 la, 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 signica que la reina est en esa posicin, y un 0 que la casilla est vaca. Representacin ineciente, 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 la en la que se encuentra la reina dentro de dicha columna. Ms eciente 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 la, 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 la - columna (Diagonal descendente) Mismo valor de la + 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 eciente, 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 conguracin inicial del tablero, se intenta colocar una reina en cada la de la columna actual, generndose nuevas conguraciones 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 conguracin inicial, y cada uno de los nodos siguientes van generando nuevas conguraciones 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 nal 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

Anda mungkin juga menyukai