História de Guerra - Cobertura do Tabuleiro de Xadrez
-
Upload
leilani-tillman -
Category
Documents
-
view
40 -
download
1
description
Transcript of História de Guerra - Cobertura do Tabuleiro de Xadrez
1
História de Guerra - Cobertura do Tabuleiro de Xadrez
Professora Dra. Diane CastonguayAndré da Cunha Ribeiro – [email protected]
Geoflávia Guilarducci de Alvarenga – [email protected]
Projeto e Análise de Algoritmos
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
História de Guerra - Cobertura do Tabuleiro de Xadrez - Parte I
Próximo
4
Voltar
Rei
5
Voltar
Dama
6
Voltar
Cavalo
7
Voltar
Bispo
8
Voltar
Torre
9
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
Idéias Centrais – História de Guerra
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
Este problema parece bem maduro para solução de pesquisa exaustiva de combinação;
O algoritmo do backtracking (regressão)
Busca exaustiva
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 enquantok = k - 1 (*backtrack*)
fim enquanto
17
A história de guerra seria solucionável usando a técnica Backtracking, dependendo do tamanho do espaço de procura.
Considerações
18
BackTracking Sua eficiência depende da sofisticação do
esquema de “poda” da árvore de soluções.
Podagem (Pruning)
Como efetuar essa Como efetuar essa
podagem ?podagem ?
19
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.
Podagem (Pruning)
20
Á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.
Podagem
21
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.
Podagem aplicada à História de Guerra
22
Exemplos:
1. Remoção de simetrias
Considerando as simetrias
ortogonais e diagonais, haverá
somente 10 posições diferentes
para a Rainha.
Podagem aplicada à História de Guerra
23
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.
Podagem aplicada à História de Guerra
24
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?
Podagem aplicada à História de Guerra
25
BackTracking
+ Podagem
=Eliminação acima de 95% do espaço
de pesquisa.
Cobertura do Tabuleiro de Xadrez
26
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.
Cobertura do Tabuleiro de Xadrez
27
Dois tipos de ataques num quadrado: ataque forte e ataque fraco.
Cobertura do Tabuleiro de Xadrez
28
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.
Cobertura do Tabuleiro de Xadrez
29
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.
Considerações Finais
30
Configuração gerada pelo algoritmo:
Considerações Finais
31
Percurso do Cavalo no Tabuleiro de Xadrez
Problema das 8 Rainhas
Problema do Casamento Estável
Outros problemas [2]
32
Uma ou mais estratégias de podagem
usadas de maneira inteligente podem
otimizar o trabalho de problemas de buscaproblemas de busca
ou de pesquisa combinatóriapesquisa combinatória de maneira
surpreendente.
Lição Aprendida
33
[01] http://www2.toki.or.id/book/AlgDesignManual/BOOK/BOOK/NODE$.htm
[02] Wirth, Niklaus. Algoritmos e Estruturas de Dados. Editora LTC, 1989.
Referências Bibliográficas
34
Dúvidas ?Dúvidas ?
35
FimFim
Obrigado !Obrigado !
André da Cunha RibeiroAndré da Cunha Ribeiro
Geoflávia Guilarducci de AlvarengaGeoflávia Guilarducci de Alvarenga