história de guerra - cobertura do tabuleiro de xadrez

Post on 31-Dec-2015

37 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. Tópicos. O jogo de Xadrez Idéias Centrais - PowerPoint PPT Presentation

TRANSCRIPT

1

História de Guerra - Cobertura do Tabuleiro de Xadrez

Professora Dra. Diane CastonguayAndré da Cunha Ribeiro – andre@cefetrv.edu.br

Geoflávia Guilarducci de Alvarenga – geoflavia@inf.ufg.br

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

top related