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

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

CIn- UFPE 1 Buscando Soluções Busca iterativa (otimização)

Apresentações semelhantes


Apresentação em tema: "CIn- UFPE 1 Buscando Soluções Busca iterativa (otimização)"— Transcrição da apresentação:

1 CIn- UFPE 1 Buscando Soluções Busca iterativa (otimização)

2 CIn- UFPE 2 Problemas de Otimização Definição Problema onde se busca a melhor de todas soluções segundo uma dada função de avaliação ou função objetivo “Busca clássica” ou planejamento Qual é a solução? É difícil achar uma mas assim que se acha pára-se de buscar –Ex. encontrar uma rota entre duas cidades Otimização Qual é a melhor solução? É fácil achar uma mas difícil saber se é a melhor pois a função de avaliação só permite comparações entre soluções... –Ex. Girar a antena para melhorar a imagem da TV

3 CIn- UFPE 3 Problemas de Otimização Como resolvê-los? Começar com o estado inicial (configuração completa, solução aceitável), e melhorá-la iterativamente. Não interessa o caminho percorrido!!! A SOLUÇÃO É UM NÓ!! 1001 problemas práticos (comércio, indústria, etc.)

4 CIn- UFPE 4 Problemas de Otimização Localização de Facilidades Distribuir facilidades maximizando a satisfação dos demandantes –Escolher localização de torres de celular em uma cidade de forma a minimizar o risco de algum telefone ficar descoberto –Escolher localização de armazéns de forma a minimizar o deslocamento dos caminhões de entrega até os clientes Coloração de grafos: colorir mapas usando o mínimo de cores e sem usar mesmas cores em países vizinhos –distribuir freqüências Estações de Rádio Base (ERB) de forma a aumentar as possibilidades de conexão entre telefones celulares sem permitir interferências

5 CIn- UFPE 5 Problemas de Otimização Job shop agendar tarefas de forma a minimizar o tempo ajuste entre elas –Linhas de montagem Caxeiro Viajante Visitar cidades uma única vez minimizando a rota total percorrida –redes de computadores,... Mochila (knapsack) Dado um conjunto de objetos, cada qual com um preço e uma utilidade, determinar um subconjunto com preço total igual a P que tenha uma utilidade total máxima. –Alocação de recursos com restrições financeiras

6 CIn- UFPE 6 Problemas de Otimização Os estados podem ser representados sobre uma superfície (= a função de avaliação) a altura de qualquer ponto na superfície corresponde a sua avaliação O algoritmo se “move” pela superfície em busca de pontos mais altos/baixos o ponto mais alto/baixo (máximo/mínimo global) corresponde à solução ótima

7 CIn- UFPE 7 Técnicas de Otimização Matemáticas ou exatas Branch and bound Programação Dinâmica Programação Linear Algoritmos gulosos Indução Matemática... Heurísticas Hill-Climbing Simulated Annealing Busca tabu Algoritmos Genéticos Redes neurais...

8 CIn- UFPE 8 Algoritmos de (locais) Melhorias Iterativas Guardam apenas o estado atual (o local), e não vêem além dos vizinhos imediatos do estado. Contudo, muitas vezes são os melhores métodos para tratar problemas reais complexos. Hill-Climbing: Subida da Encosta ou Gradiente Ascendente só faz modificações que melhoram o estado atual. Simulated Annealing: Resfriamento Simulado pode fazer modificações que pioram o estado temporariamente, para possivelmente melhorá-lo no futuro.

9 CIn- UFPE 9 Subida da Encosta: algoritmo O algoritmo não mantém uma árvore de busca: guarda apenas o estado atual e sua avaliação É simplesmente um “loop” que se move na direção crescente (para maximizar) ou decrescente (para minimizar) da função de avaliação. Algoritmo: Hill-Climbing função Hill-Climbing (problema) retorna uma solução variáveis locais: corrente (o nó atual), próximo (o próximo nó) Faz-NóEstado-Inicial corrente  Faz-Nó(Estado-Inicial[problema]) loop do próximo  sucessor de corrente de maior valor (expande nó corrente e seleciona seu melhor filho) ValorValor se Valor[próximo], para minimizar) então retorna corrente (o algoritmo pára) corrente  próximo end

10 CIn- UFPE 10 Exemplo de Subida da Encosta: TSP (travel salesman problem) Cálculo da menor rotas com 5 nós: estado inicial = (N1, N2, N3, N4, N5) f = soma das distâncias diretas entre cada nó, na ordem escolhida operadores = permutar dois nós quaisquer do caminho restrição = somente caminhos conectados são estados válidos estado final = nó onde valor de f é mínimo e3 = {N1, N2, N4, N3, N5} f(e3) = 9 E1 = {N1, N2, N3, N4, N5} f(e1) = 10 e2 = {N2, N1, N3, N4, N5} f(e2) = 14 e4 = {N1, N2, N3, N5, N4} f(e4) = 12 e6 = {N5, N2, N4, N3, N1} f(e6) = 11 e5 = {N4, N2, N1, N3, N5} f(e5) = 10

11 CIn- UFPE 11 Subida da Encosta O algoritmo move-se sempre na direção que apresenta maior taxa de variação para f Isso pode acarretar em 3 problemas: 1. Máximos locais 2. Planícies (platôs) 3. Encostas e picos

12 CIn- UFPE 12 Máximos locais Definição Em contraste com máximos globais, são picos mais baixos do que o pico mais alto no espaço de estados (solução ótima) O algoritmo pára no máximo local a função de avaliação é menor para todos os estados filhos do estado atual, apesar de o objetivo estar em um ponto mais alto –essa função utiliza informação “local” só é permitido movimento com taxa crescente de variação

13 CIn- UFPE 13 Platôs (Planícies) Definição Uma região do espaço de estados onde a função de avaliação dá o mesmo resultado –f(n) = f(filhos(n)) o algoritmo pára depois de algumas tentativas

14 CIn- UFPE 14 Encostas e Picos Apesar de existir uma direção que leva ao pico, nenhum dos operadores válidos sozinhos conduz o algoritmo nessa direção os movimentos possíveis têm taxa de variação zero ou negativa seria preciso encadear operadores para melhorar a avaliação

15 CIn- UFPE 15 Subida da Encosta Iterativa Nos casos acima, o algoritmo chega a um ponto de onde não faz mais progresso. Solução: reinício aleatório (random restart) O algoritmo realiza uma série de buscas a partir de estados iniciais gerados aleatoriamente. Cada busca é executada até que um número máximo estipulado de iterações seja atingido, ou até que os resultados encontrados não apresentem melhora significativa. O algoritmo escolhe o melhor resultado obtido com as diferentes buscas.

16 CIn- UFPE 16 Subida da Encosta: análise O algoritmo é completo? SIM, uma vez que cada nó tratado pelo algoritmo é sempre um estado completo (uma solução) O algoritmo é ótimo? TALVEZ, quando iterações suficientes forem permitidas... Mas custa caro! O sucesso deste método depende muito do formato da superfície do espaço de estados: se há poucos máximos locais, o reinício aleatório encontra uma boa solução rapidamente caso contrário, o custo de tempo é exponencial.

17 CIn- UFPE 17 Resfriamento/Recozimento Simulado (ou Moqueca Simulada) Este algoritmo é semelhante à Subida da Encosta, porém sem reiniciar a busca o algoritmo admite retroceder para situações piores com certa probabilidade que diminui com o tempo esses retrocessos são chamados de passos indiretos Apesar de aumentar o tempo de busca, essa estratégia consegue escapar dos máximos locais Analogia com cozimento de vidros ou metais: processo de resfriar um líquido gradualmente até ele se solidificar

18 CIn- UFPE 18 Resfriamento Simulado O algoritmo utiliza um mapeamento de resfriamento de instantes de tempo (t) em temperaturas (T) pode ser uma função ou pares (t,T) Nas iterações iniciais, não escolhe necessariamente o “melhor” passo, e sim um movimento aleatório: se a situação melhorar, esse movimento é escolhido; caso contrário, associa a esse movimento uma probabilidade de escolha menor do que 1. Essa probabilidade depende de dois parâmetros, e decresce exponencialmente com a piora causada pelo movimento, e -  E/T, onde:  E = Valor[próximo-nó] - Valor[nó-atual] T = Temperatura

19 CIn- UFPE 19 Resfriamento Simulado: algoritmo Resfriamento-Simulado função Resfriamento-Simulado (problema,mapeamento) retorna uma solução variáveis locais: corrente, próximo, T (temperatura que controla a probabilidade de passos para trás) Faz-NóEstado-Inicial corrente  Faz-Nó(Estado-Inicial[problema]) for t  1 to  do T  mapeamento[t] Se T = 0 então retorna corrente próximo  um sucessor de corrente escolhido aleatoriamente ValorValor  E  Valor[próximo] - Valor[corrente] Se  E > 0 então corrente  próximo senão corrente  próximo com probabilidade = e  E/T

20 CIn- UFPE 20 Resfriamento Simulado Com o tempo (diminuição da temperatura), este algoritmo passa a funcionar como Subida da Encosta. O algoritmo é ótimo e completo se o mapeamento de resfriamento variar suavemente isto é, se o mapeamento diminui T suficientemente devagar no tempo, o algoritmo vai encontrar um máximo global ótimo.

21 CIn- UFPE 21 Otimização Espaço contínuo? Dados n computadores num plano, determinar onde colocar um hub de forma que todos os computadores fiquem ligados ao hub utilizando o mínimo possível de fio. (http://acm.uva.es/p/v102/10228.html)

22 CIn- UFPE 22 Críticas à Busca Heurística Solução de problemas usando técnicas de busca heurística: dificuldades em definir e usar a função de avaliação não consideram conhecimento genérico do mundo (ou “senso comum”) Função heurística: compromisso (conflito) entre tempo gasto na seleção de um nó e redução do espaço de busca Achar o melhor nó a ser expandido a cada passo pode ser tão difícil quanto o problema da busca em geral.


Carregar ppt "CIn- UFPE 1 Buscando Soluções Busca iterativa (otimização)"

Apresentações semelhantes


Anúncios Google