A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

 ALGORITMOS E TECNICAS DE PROGRAMACAO II BRUNO SENA, NATÁLIA MARCONDES E NAYRA DE OLIVEIRA.

Apresentações semelhantes


Apresentação em tema: " ALGORITMOS E TECNICAS DE PROGRAMACAO II BRUNO SENA, NATÁLIA MARCONDES E NAYRA DE OLIVEIRA."— Transcrição da apresentação:

1  ALGORITMOS E TECNICAS DE PROGRAMACAO II BRUNO SENA, NATÁLIA MARCONDES E NAYRA DE OLIVEIRA

2 Colocar N rainhas (N>3) em um tabuleiro NxN de forma que elas não se ataquem Obs: As rainhas podem se atacar na horizontal, vertical e horizontais, ou seja, o objetivo é colocar uma rainha por linha/coluna e diagonal.

3  Backtracking é um algoritmo que representa o refinamento por força bruta, técnicamente, muitas soluções podem ser eliminadas sem ser explicitamente examinadas.  Segue o padrão de busca em profundidade, ou seja, a arvore é percorrida sistematicamente até o fim, quando encontra um erro (falha) entra em ação o mecanismo backtracking que faz com que o sistema retorne pelo mesmo caminho, buscando encontrar soluções alternativas.  As principais aplicações desse algoritmo são para encontrar todos os 2^n subconjuntos de um conjunto S com n elementos.

4 Exemplo: Objetivo: encontrar as 4 primeiras bolas vermelhas. A algoritmo backtracking é muito mais complexo de ser implementado, aqui estamos apenas trabalhando com a ideia implementada.

5 Exemplo desse problema no exercício das rainhas, sendo O rainhas e X posições onde não é possivel colocar rainhas, na 5ª linha ja haviam sido ocupadas todas as posições disponíveis e o programa seria encerrado. Nesse contexto, o backtracking é um ótimo auxiliar.

6 Interação com o usuário, while e if simples que apenas obedecem as vontades do usuário de visualizar as opções e a quantidade delas.

7  O numero de rainhas é igual a dimensão do tabuleiro, e como só é possivel colocar uma rainha por linha ou coluna, apenas estamos trabalhando com um vetor xadrez que esta associado a coluna que a rainha esta disposta.  A função Ataque determina se a posição testada pode conter uma rainha.

8  A função Rainha varre todo o tabuleiro, e cada posição acessada, verifica junto a função Ataque se a Rainha pode ser colocada ali.  O resto do código são comandos de comparação, impressão, interação com o usuário, etc.. Não convém aqui explicações detalhadas.

9 Exemplo de saída do nosso código OitoRainhas_Final. Vamos executa-lo agora para mostrar todas as 92 soluções do problema.


Carregar ppt " ALGORITMOS E TECNICAS DE PROGRAMACAO II BRUNO SENA, NATÁLIA MARCONDES E NAYRA DE OLIVEIRA."

Apresentações semelhantes


Anúncios Google