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

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

Projeto e Análise de Algoritmos

Apresentações semelhantes


Apresentação em tema: "Projeto e Análise de Algoritmos"— Transcrição da apresentação:

1 Projeto e Análise de Algoritmos
História de Guerra - Cobertura do Tabuleiro de Xadrez Projeto e Análise de Algoritmos Professora Dra. Diane Castonguay André da Cunha Ribeiro – Geoflávia Guilarducci de Alvarenga –

2 Tópicos O jogo de Xadrez Idéias Centrais
Problema da cobertura do tabuleiro de xadrez O algoritmo do backtracking Técnica de Podagem (Pruning) Podagem aplicada à História de Guerra Considerações Finais Lição Aprendida

3 História de Guerra - Cobertura do Tabuleiro de Xadrez - Parte I
Próximo

4 Rei Voltar

5 Dama Voltar

6 Cavalo Voltar

7 Bispo Voltar

8 Torre Voltar

9 Idéias Centrais – História de Guerra
O jogo de xadrez inspirou vários problemas de combinação Em 1848, Kling propôs a seguinte questão: Se todos os 64 quadrados do tabuleiro podem ser fortemente ameaçados simultaneamente por um arranjo das 8 peças principais no tabuleiro de xadrez Configurações que simultaneamente ameaçam 63 quadrados foram conhecidas por muitos anos

10

11

12

13

14 Vejamos algumas considerações
Considere as 8 peças principais do xadrez Quantos modos as peças podem ser posicionadas no tabuleiro de xadrez? O número de posições aproximado é de 1015

15 Busca exaustiva Este problema parece bem maduro para solução de pesquisa exaustiva de combinação; O algoritmo do backtracking (regressão)

16 Backtrack(A) Calcule S1, conjunto dos primeiros elementos candidatos da solução A. k = 1 enquanto k > 0 faça enquanto Sk <> 0 faça (*avanço*) ak = próximo elemento de sk sk = sk - ak se A = (a1, a2, a3, …, an) é uma solução, imprima isso. k = k + 1 fim enquanto k = k - 1 (*backtrack*)

17 Considerações A história de guerra seria solucionável usando a técnica Backtracking, dependendo do tamanho do espaço de procura.

18 Como efetuar essa podagem ?
Podagem (Pruning) BackTracking Sua eficiência depende da sofisticação do esquema de “poda” da árvore de soluções. Como efetuar essa podagem ?

19 Podagem (Pruning) Técnica de eliminação de busca que atua no momento que estabelecemos que tal solução parcial não pode ser estendida na solução que nós almejamos.

20 Podagem Árvore pode ser “podada” através do uso de heurísticas de acordo com a aplicação. Há uma redução da complexidade de busca de maneira significativa.

21 Podagem aplicada à História de Guerra
BackTracking => gera uma combinação exaustiva de posições. Mas algumas poderiam ter sido podadas. Quais são as posições candidatas a serem podadas? São aquelas que não oferecem ameaça para uma dada peça.

22 Podagem aplicada à História de Guerra
Exemplos: 1. Remoção de simetrias Considerando as simetrias ortogonais e diagonais, haverá somente 10 posições diferentes para a Rainha.

23 Podagem aplicada à História de Guerra
Exemplos: (cont.) 1. Remoção de simetrias (cont.) Uma vez que a Rainha é colocada, há 2080 modos diferentes para posicionar um par de Torres ou Cavalos. 64 lugares para localizar o Rei. 32 lugares para cada um dos Bispos.

24 Podagem aplicada à História de Guerra
Exemplos: (cont.) 2. Sp que já tivéssemos colocado 7 peças no tabuleiro, e juntas elas cobririam todos menos 10 quadrados no tabuleiro; e a peça restante fosse o Rei. Existe alguma posição possível para colocar o Rei de forma que todos os quadrados são ameaçados?

25 Cobertura do Tabuleiro de Xadrez
BackTracking + Podagem = Eliminação acima de 95% do espaço de pesquisa.

26 Cobertura do Tabuleiro de Xadrez
Considerações usadas na solução: Os tabuleiros de xadrez podem ter qualquer número de peças, e mais de uma peça num quadrado.

27 Cobertura do Tabuleiro de Xadrez
Dois tipos de ataques num quadrado: ataque forte e ataque fraco.

28 Cobertura do Tabuleiro de Xadrez
Passos principais do algoritmo: Listar todas as configurações dos tabuleiros nas quais todo quadrado é fracamento atacado. Filtrar a lista considerando bloqueios e tabuleiros com n ou pouco menos quadrados seguros.

29 Considerações Finais Sobre o algoritmo:
Não encontrou uma configuração que cobrisse todos os 64 quadrados, porém, mostrou que é possível cobrir um tabuleiro com 7 peças se a Rainha e um Cavalo possam ocupar o mesmo quadrado.

30 Considerações Finais Configuração gerada pelo algoritmo:

31 Outros problemas [2] Percurso do Cavalo no Tabuleiro de Xadrez
Problema das 8 Rainhas Problema do Casamento Estável

32 Lição Aprendida Uma ou mais estratégias de podagem usadas de maneira inteligente podem otimizar o trabalho de problemas de busca ou de pesquisa combinatória de maneira surpreendente.

33 Referências Bibliográficas
[01] [02] Wirth, Niklaus. Algoritmos e Estruturas de Dados. Editora LTC, 1989.

34 Dúvidas ?

35 Geoflávia Guilarducci de Alvarenga
Fim Obrigado ! André da Cunha Ribeiro Geoflávia Guilarducci de Alvarenga


Carregar ppt "Projeto e Análise de Algoritmos"

Apresentações semelhantes


Anúncios Google