Your SlideShare is downloading. ×
Busca tabu
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Busca tabu

2,276
views

Published on

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,276
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
84
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Busca TabuLucas Fernandes - abril 2011
  • 2. Roteiro Algoritmos de busca Funcionamento Heurísticas Código Metaheurísticas Problema das n-Rainhas Busca local Execução do TSM Busca tabu Conceitos básicos
  • 3. Algoritmos de buscaDois tipos Força bruta HeurísticaVantagens e desvantagensBusca em listasBusca em árvoresBusca em grafos
  • 4. Heurísticas em algoritmosde buscasAs heurísticas são funções usadas como alternativasem algoritmos de buscaVisam diminuir o tempo computacional de uma buscaNem sempre apresentam uma solução ótimaO trabalho de escolher uma heurística adequada paraum problema geralmente é feito pela IA
  • 5. Tipos de heurísticas Heurística de construção: uma ou mais soluções são construídas elemento a elemento, baseando-se em critérios até que se encontre a solução Heurísticas de busca em vizinhança: parte de uma solução possível e tenta melhorar a mesma através de trocas, remoções ou inserções, até que seja atingido algum critério (geralmente uma solução ideal) Heurísticas sistemáticas: a árvore de espaço de soluções é percorrida sob critérios de ramificação e corte da mesma
  • 6. Tipos de heurísticas Heurísticas híbridas: resulta da combinação de uma ou mais heurísticas, de tipos diferentes Metaheurísticas: o tipo mais sofisticado, consiste de uma heurística simples que é analisada por um procedimento que explora o problema e seu espaço de soluções
  • 7. Exemplos de uso deheurísticasBusca de melhor caminho em um grafoBusca de virusDesktops semânticos
  • 8. MetaheurísticaGeralmente utilizada quando não se conhece umalgoritmo eficiente para resolver o problemaSão usadas para melhorar os resultados obtidos porfunções heurísticas“Evoluem” com o tempo, aprendendo sobre o que foifeito anteriormente de maneira a melhorar as próximassoluçõesTermo cunhado por Fred Glover, em 1986
  • 9. Busca localÉ também considerada uma metaheurísticaBusca uma solução ótima dentro de um conjunto desoluções possíveis (o espaço de busca)Parte de uma solução candidata inicial para a umasolução vizinha, i.e. vértices vizinhos em um grafoGeralmente, cada solução candidata tem mais de umasolução vizinha. A escolha de qual será a próxima deveser feita tomando em consideração apenas avizinhança da solução candidata atual, por isso échamada de busca local
  • 10. Busca localÉ iterativa, métodos para encerrar a busca podeminvolver o tempo de execução ou um certo número deiterações sem apresentar melhora na soluçãoConsiderada um algortimo de busca incompleto umavez que pode encerrar sem ter encontrado umasolução ótimaNa prática é pouco provável que a solução encontradaem pouco tempo seja próxima da ótima, por issoforam feitas várias tentativas de melhorar o algortimo,resultando por exemplo na busca tabu
  • 11. Busca tabuUm algoritmo de busca baseado em metaheurísticaUm método de otimização matemática, da classe dosmétodos de pesquisa localMelhora os métodos de pesquisa local usandoestruturas de memória
  • 12. Busca tabuMuito usada nas telecomunicações e em otimizaçãode trajetóriasEstudada principalmente no ramo da IASurgiu na década de 70Fred Glover formalizou sua estrutura também em 1986
  • 13. Busca tabuÉ uma estratégia para resolver problemas deotimização combinatorial as quais a aplicação abrangeda teoria de grafos e conjuntos de matróides àproblemas de programação linear gerais, puros emistos. É um procedimento adaptativo com ahabilidade de fazer uso de muitos outros métodos,como algoritmos de programação linear e heurísticasespecializadas, que são dirigidas para superar aslimitações da otimização local. (Glover, 1988)
  • 14. Conceitos básicosSolução Vizinhança Inicial Original Corrente Modificada (reduzida ou espandida) Melhor TabuMovimento Status Atributos Regra de ativação Valores
  • 15. FuncionamentoBusca possíveis soluções a partir de um pontoconhecidoCaso seja uma solução possível, marca o ponto comotabu para que ele não seja visitado repetidamentePara que todos os pontos sejam visitados, ao contrárioda busca local, a busca tabu modifica a estrutura devizinhos a cada solução
  • 16. FuncionamentoBusca o ótimo local, mesmo que seja necessário fazermovimentos que não melhorem a solução em relaçãoao passo atualMantém uma lista de soluções já visitadas, chamadade lista tabu para evitar que elas sejam revisitadas
  • 17. Procedimento Gerar solução heurístico inicial e inicializar PARAR estruturas de memóriaRestrições tabu Não Lista de Construir candidatos estruturas de Sim Mais iterações? Critério de vizinhos aspiração modificadas Regras de escolhas Escolher melhor Atualizar estruturas Curto e longomodificadas para vizinho de memória prazodiversificação e intensificação Recomeçar Executar Atualizar melhorReligar caminhos procedimentos solução Oscilação especializados estratégica
  • 18. Códigok := 1.generate initial solutionWHILE the stopping condition is not met DO    Identify N(s). (Neighbourhood set)    Identify T(s,k). (Tabu set)    Identify A(s,k). (Aspirant set)    Choose the best s‘ |  N(s,k) = {N(s) - T(s,k)}+A(s,k).    Memorize s’ if it improves the previous best known solution    s := s’.    k := k+1.END WHILE
  • 19. Memória a curto prazoO principal objetivo da memória a curto prazo é evitarmovimentos reversos e ciclos
  • 20. Exemplo 1Após um movimento que muda o valor de xi de 0 para1, gostariamos que o valor de xi não volte a ser 0numa próxima iteração Atributo a recordar: i Regra de ativação tabu: move(xi←0) é tabu se i é tabu-ativo
  • 21. Exemplo 2Após um movimento que muda as posições doselementos i e j, gostariamos que na próxima iteraçãoos valores de i e j não mudassem novamente Atributo a recordar: i e j Regra de ativação tabu: move(i j) é tabu se ambos i e j são tabu-ativos
  • 22. Tabu, or not tabu, that is thequestion. Somente movimentos podem ser tabu. Atributos não são tabu, somente podem ser tabu-ativos Um movimento pode ser tabu se conter um ou mais atributos tabu-ativos A classificação de um movimento tabu (tabu ou não tabu) é determinada pela regra de ativação
  • 23. Movimento O movimento Sim O movimentocontém atributos é tabu? tabu-ativos? Sim Não Não O movimento satisfaz o critério de aspiração? Movimento Sim Não permitido Movimento não permitido
  • 24. Flexidade de buscaO número de movimentos permitidos na vizinhança dasolução corrente depende de: Tipo de movimento Regras de ativação tabu Número de movimentos permitidos Critério de aspiração
  • 25. Número de movimentospermitidosEstático O número de movimentos (TabuTenure) é fixo e se mantém durante toda a busca Os atributos se mantém tabu-ativos pelo mesmo número de iteraçõesDinâmico O valor do TabuTenure não é constante durante a busca A duração dos atributos também varia
  • 26. Critério de aspiração Por objetivo Um movimento tabu se torna permissível se possibilitar uma solução melhor do que um valor aspirado Por direção da busca Um movimento tabu se torna permissível se a direção da busca (melhorando ou não) não se alteraO critério de aspiração permite aceitar uma solução baseado em sua qualidade, mesmo que tal solução faça movimentos da lista tabu.
  • 27. Lista de candidatos São usados para reduzir o número de soluções examinadas em um determinada iteração Elas isolam regiões da vizinhança contendo movimentos que se aproximam de atributos desejáveis
  • 28. Problema das n-RainhasConsiste em colocar rainhas em um tabuleiro dexadrez, onde elas só são capazes de executar os seusmovimentos tradicionais de modo que elas nãoconsigam capturar umas as outrasOu seja, nenhuma rainha pode estar na mesma linha,coluna ou diagonal da outraUma simplificação do problema á chamada deproblema das 8 rainhas, onde são usadas 8 rainhas notabuleiro
  • 29. Problema das n-RainhasÉ um problema computacionalmente muito caro de seresolverSão possíveis 4.426.265.368 (64!/(56!8!)) com oitorainhas no tabuleiro, mas apenas 92 soluções existemnesse cenário (12 únicas)Diversas heurísticas existem para que esse problematorne-se computacionalmente viável, uma delas é abusca tabu
  • 30. Algoritmon-Rainhas