O Problema das N-Rainhas

Objectivo

Familiarizar os alunos com a sincronização e comunicação entre processos em arquitecturas multiprocessador, através da utilização de spinlocks e do mapeamento de ficheiros em memória partilhada.

Descrição

Desenvolver uma aplicação que permita resolver em paralelo o problema das N-rainhas. O problema das N-rainhas consiste em encontrar todas as combinações possíveis de N rainhas num tabuleiro de dimensão N por N tal que nenhuma das rainhas ataque qualquer outra. Duas rainhas atacam-se uma à outra quando estão na mesma linha, na mesma coluna ou na mesma diagonal do tabuleiro. Na figura que se segue pode ver-se as posições atacadas por uma rainha colocada num tabuleiro de dimensão 7 por 7 e ao lado uma possível solução para esse mesmo tabuleiro.

Implementação