Histria de Guerra Cobertura do Tabuleiro de Xadrez
História de Guerra - Cobertura do Tabuleiro de Xadrez Projeto e Análise de Algoritmos Professora Dra. Diane Castonguay André da Cunha Ribeiro – andre@cefetrv. edu. br Geoflávia Guilarducci de Alvarenga – geoflavia@inf. ufg. br 1
Tópicos n n n n 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 2
História de Guerra - Cobertura do Tabuleiro de Xadrez - Parte I Próximo
Rei Voltar 4
Dama Voltar 5
Cavalo Voltar 6
Bispo Voltar 7
Torre Voltar 8
Idéias Centrais – História de Guerra n n 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 n Configurações que simultaneamente ameaçam 63 quadrados foram conhecidas por muitos anos 9
10
11
12
13
Vejamos algumas considerações n Considere as 8 peças principais do xadrez Quantos modos as peças podem ser posicionadas no tabuleiro de xadrez? n O número de posições aproximado é de 1015 n 14
Busca exaustiva n Este problema parece bem maduro para solução de pesquisa exaustiva de combinação; n O algoritmo do backtracking (regressão) 15
Backtrack(A) Calcule S 1, 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 = (a 1, a 2, a 3, …, an) é uma solução, imprima isso. k=k+1 fim enquanto k = k - 1 (*backtrack*) fim enquanto 16
Considerações n A história de guerra seria solucionável usando a técnica Backtracking, dependendo do tamanho do espaço de procura. 17
Podagem (Pruning) n Back. Tracking ¨ Sua eficiência depende da sofisticação do esquema de “poda” da árvore de soluções. Como efetuar essa podagem ? 18
Podagem (Pruning) n 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. 19
Podagem n Árvore pode ser “podada” através do uso de heurísticas de acordo com a aplicação. n Há uma redução da complexidade de busca de maneira significativa. 20
Podagem aplicada à História de Guerra n Back. Tracking => gera uma combinação exaustiva de posições. Mas algumas poderiam ter sido podadas. n Quais são as posições candidatas a serem podadas? n São aquelas que não oferecem ameaça para uma dada peça. 21
Podagem aplicada à História de Guerra n Exemplos: n 1. Remoção de simetrias ¨ Considerando as simetrias ortogonais e diagonais, haverá somente 10 posições diferentes para a Rainha. 22
Podagem aplicada à História de Guerra n Exemplos: (cont. ) n 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. 23
Podagem aplicada à História de Guerra n Exemplos: (cont. ) n 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? 24
Cobertura do Tabuleiro de Xadrez Back. Tracking + Podagem = Eliminação acima de 95% do espaço de pesquisa. 25
Cobertura do Tabuleiro de Xadrez n 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. 26
Cobertura do Tabuleiro de Xadrez ¨ Dois tipos de ataques num quadrado: ataque forte e ataque fraco. 27
Cobertura do Tabuleiro de Xadrez n 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. 28
Considerações Finais n 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. 29
Considerações Finais n Configuração gerada pelo algoritmo: 30
Outros problemas [2] n Percurso do Cavalo no Tabuleiro de Xadrez n Problema das 8 Rainhas n Problema do Casamento Estável 31
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. n 32
Referências Bibliográficas [01] http: //www 2. toki. or. id/book/Alg. Design. Manual/BOOK/ NODE$. htm [02] Wirth, Niklaus. Algoritmos e Estruturas de Dados. Editora LTC, 1989. 33
Dúvidas ? 34
Fim Obrigado ! André da Cunha Ribeiro Geoflávia Guilarducci de Alvarenga 35
- Slides: 35