1 Buscando Solues Busca iterativa otimizao CIn UFPE
1 Buscando Soluções Busca iterativa (otimização) CIn- UFPE
2 Problemas de Otimização n Definição • Problema onde se busca a melhor de todas soluções segundo uma dada função de avaliação ou função objetivo n “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 n 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 CIn- UFPE
3 Problemas de Otimização n 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Ó!! n 1001 problemas práticos (comércio, indústria, etc. ) CIn- UFPE
4 Problemas de Otimização n 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 n 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 CIn- UFPE
5 Problemas de Otimização n Job shop • agendar tarefas de forma a minimizar o tempo ajuste entre elas – Linhas de montagem n Caxeiro Viajante • Visitar cidades uma única vez minimizando a rota total percorrida – redes de computadores, . . . n 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 CIn- UFPE
6 Problemas de Otimização n 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 n 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 CIn- UFPE
7 Técnicas de Otimização n Matemáticas ou exatas • • • Branch and bound Programação Dinâmica Programação Linear Algoritmos gulosos Indução Matemática. . . n Heurísticas • • • Hill-Climbing Simulated Annealing Busca tabu Algoritmos Genéticos Redes neurais. . . CIn- UFPE
Algoritmos de (locais) Melhorias Iterativas n 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. n Hill-Climbing: Subida da Encosta ou Gradiente Ascendente • só faz modificações que melhoram o estado atual. n Simulated Annealing: Resfriamento Simulado • pode fazer modificações que pioram o estado temporariamente, para possivelmente melhorá-lo no futuro. CIn- UFPE 8
9 Subida da Encosta: algoritmo n 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. n Algoritmo: função Hill-Climbing (problema) retorna uma solução variáveis locais: corrente (o nó atual), próximo (o próximo nó) corrente Faz-Nó( Faz-Nó Estado-Inicial[problema]) Estado-Inicial loop do próximo sucessor de corrente de maior valor (expande nó corrente e seleciona seu melhor filho) se Valor[próximo] < Valor[corrente] (ou >, para minimizar) Valor então retorna corrente (o algoritmo pára) corrente próximo end CIn- UFPE
Exemplo de Subida da Encosta: TSP (travel salesman problem) 10 n Cálculo da menor rotas com 5 nós: • estado inicial = (N 1, N 2, N 3, N 4, N 5) • 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 E 1 = {N 1, N 2, N 3, N 4, N 5} f(e 1) = 10 e 2 = {N 2, N 1, N 3, N 4, N 5} f(e 2) = 14 e 3 = {N 1, N 2, N 4, N 3, N 5} f(e 3) = 9 e 5 = {N 4, N 2, N 1, N 3, N 5} f(e 5) = 10 e 4 = {N 1, N 2, N 3, N 5, N 4} f(e 4) = 12 e 6 = {N 5, N 2, N 4, N 3, N 1} f(e 6) = 11 CIn- UFPE
11 Subida da Encosta n O algoritmo move-se sempre na direção que apresenta maior taxa de variação para f n Isso pode acarretar em 3 problemas: 1. Máximos locais 2. Planícies (platôs) 3. Encostas e picos CIn- UFPE
12 Máximos locais n 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) n 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 CIn- UFPE
13 Platôs (Planícies) n 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)) n o algoritmo pára depois de algumas tentativas CIn- UFPE
14 Encostas e Picos n 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 CIn- UFPE
15 Subida da Encosta Iterativa n Nos casos acima, o algoritmo chega a um ponto de onde não faz mais progresso. n Solução: reinício aleatório (random restart) • O algoritmo realiza uma série de buscas a partir de estados iniciais gerados aleatoriamente. n 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. n O algoritmo escolhe o melhor resultado obtido com as diferentes buscas. CIn- UFPE
16 Subida da Encosta: análise n O algoritmo é completo? • SIM, uma vez que cada nó tratado pelo algoritmo é sempre um estado completo (uma solução) n O algoritmo é ótimo? • TALVEZ, quando iterações suficientes forem permitidas. . . Mas custa caro! n 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. CIn- UFPE
Resfriamento/Recozimento Simulado (ou Moqueca Simulada) 17 n 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 n Apesar de aumentar o tempo de busca, essa estratégia consegue escapar dos máximos locais n Analogia com cozimento de vidros ou metais: • processo de resfriar um líquido gradualmente até ele se solidificar CIn- UFPE
18 Resfriamento Simulado n O algoritmo utiliza um mapeamento de resfriamento de instantes de tempo (t) em temperaturas (T) • pode ser uma função ou pares (t, T) n 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. n Essa probabilidade depende de dois parâmetros, e decresce exponencialmente com a piora causada pelo movimento, e-DE/T, onde: DE = Valor[próximo-nó] - Valor[nó-atual] T = Temperatura CIn- UFPE
19 Resfriamento Simulado: algoritmo n 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) corrente Faz-Nó( Faz-Nó Estado-Inicial[problema]) Estado-Inicial for t 1 to do T mapeamento[t] Se T = 0 então retorna corrente próximo um sucessor de corrente escolhido aleatoriamente DE Valor[próximo] - Valor[corrente] Valor Se DE > 0 então corrente próximo senão corrente próximo com probabilidade = e. DE/T CIn- UFPE
20 Resfriamento Simulado n Com o tempo (diminuição da temperatura), este algoritmo passa a funcionar como Subida da Encosta. n 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. CIn- UFPE
21 Otimização n Espaço contínuo? n 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/v 102/10228. html) CIn- UFPE
22 Críticas à Busca Heurística n 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”) n 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. CIn- UFPE
- Slides: 22