aula07.ppt [modo de compatibilidade] -...
TRANSCRIPT
![Page 1: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/1.jpg)
Sistemas Inteligentes
![Page 2: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/2.jpg)
Busca com informação e exploração
Capítulo 4 – Russell & Norvig
Seção 4.1, 4.2 e 4.3
2
![Page 3: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/3.jpg)
Busca com informação (ou heurística)
• Utiliza conhecimento específico sobre o problema para encontrar soluções de forma mais eficiente do que a busca cega.– Conhecimento específico além da definição do problema.
• Abordagem geral: busca pela melhor escolha.– Utiliza uma função de avaliação para cada nó.
– Expande o nó que tem a função de avaliação mais baixa.
– Dependendo da função de avaliação, a estratégia de busca muda.
3
![Page 4: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/4.jpg)
Busca pela melhor escolha
• Idéia: usar uma função de avaliação f(n) para cada nó.– estimativa do quanto aquele nó é desejável
� Expandir nó mais desejável que ainda não foi expandido
• Implementação:
Ordenar nós na borda em ordem decrescente de acordo com a função de avaliação
• Casos especiais:– Busca gulosa pela melhor escolha
– Busca A*
4
![Page 5: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/5.jpg)
Busca gulosa pela melhor escolha
• Função de avaliação f(n) = h(n) (heurística)
= estimativa do custo de n até o objetivo
ex., hDLR(n) = distância em linha reta de n até Bucareste.
• Busca gulosa pela melhor escolha expande o nó que parece mais próximo ao objetivo de acordo com a função heurística.
5
![Page 6: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/6.jpg)
Romênia com custos em kmDistância em linha reta para Bucareste
6
![Page 7: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/7.jpg)
Exemplo de busca gulosa pela melhor escolha
7
![Page 8: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/8.jpg)
Exemplo de busca gulosa pela melhor escolha
8
![Page 9: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/9.jpg)
Exemplo de busca gulosa pela melhor escolha
9
![Page 10: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/10.jpg)
Exemplo de busca gulosa pela melhor escolha
10
![Page 11: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/11.jpg)
Busca gulosa pela melhor escolha
• Não é ótima, pois segue o melhor passo considerando somente o estado atual.
– Pode haver um caminho melhor seguindo algumas opções piores em alguns pontos da árvore de busca.
• Minimizar h(n) é suscetível a falsos inícios.
– Ex. Ir de Iasi a Fagaras• Heurística sugerirá ir a Neamt, que é um beco sem saída.
• Se repetições não forem detectadas a busca entrará em loop.
11
![Page 12: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/12.jpg)
Propriedades da busca gulosa pela melhor escolha
• Completa? Não – pode ficar presa em loops, ex., Iasi � Neamt � Iasi � Neamt
• Tempo? O(bm) no pior caso, mas uma boa função heurística pode levar a uma redução substancial
• Espaço? O(bm) mantém todos os nós na memória
• Ótima? Não
12
![Page 13: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/13.jpg)
Busca A*
• “A estrela”
• Ideia: evitar expandir caminhos que já são caros
• Função de avaliação f(n) = g(n) + h(n)
– g(n) = custo até o momento para alcançar n
– h(n) = custo estimado de n até o objetivo
– f(n) = custo total estimado do caminho através de n até o objetivo.
13
![Page 14: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/14.jpg)
Exemplo de busca A*
14
![Page 15: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/15.jpg)
Exemplo de busca A*
15
![Page 16: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/16.jpg)
Exemplo de busca A*
16
![Page 17: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/17.jpg)
Exemplo de busca A*
17
![Page 18: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/18.jpg)
Exemplo de busca A*
18
![Page 19: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/19.jpg)
Exemplo de busca A*
19
![Page 20: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/20.jpg)
Heurística Admissível
• Uma heurística h(n) é admissível se para cada nó n,
h(n) ≤ h*(n), onde h*(n) é o custo verdadeiro de alcançar o estado objetivo a partir de n.
• Uma heurística admissível nunca superestima o custo de alcançar o objetivo, isto é, ela é otimista.
• Exemplo: hDLR(n) (distância em linha reta nunca é maior que distância pela estrada).
• Teorema: Se h(n) é admissível, A* usando algoritmo BUSCA-EM-ARVORE é ótima.
20
![Page 21: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/21.jpg)
Prova que A* é ótima com heurística admissível
• Assuma um nó objetivo não-ótimo G2, e seja C* o custo da solução ótima. Então, como G2não é ótimo e h(G2) = 0, sabemos que:
f(G2) = g(G2) + h(G2)
= g(G2) > C*
• Considere qualquer nó de borda n que esteja num caminho de solução ótimo. Se h(n) não superestimar o custo de completar o caminho de solução, então: f(n) = g(n) + h(n) ≤≤≤≤ C*.
21
![Page 22: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/22.jpg)
Prova que A* é ótima com heurística admissível (cont.)
• Logo, se f(n) ≤ C* < f(G2), G2 não será expandido e A* deve retornar uma solução ótima.
• Isso vale para busca em árvore, para outras estruturas de busca pode não valer.
• Na busca em grafos temos que assegurar que o caminho ótimo para qualquer estado repetido seja o primeiro a ser seguido.
– Requisito extra para h(n): consistência
22
![Page 23: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/23.jpg)
Consistência (ou monotonicidade)
• Uma heurística é consistente (ou monotônica) se para cada nó n, cada sucessor n' de n gerado por qualquer ação a,
h(n) ≤ c(n,a,n') + h(n') (desigualdade triangular)
• Se h é consistente, temosf(n') = g(n') + h(n')
= g(n) + c(n,a,n') + h(n') ≥ g(n) + h(n) = f(n)
• Isto é, f(n) é não-decrescente ao longo de qualquer caminho.
• Teorema: Se h(n) é consistente, A* usando BUSCA-EM-GRAFOS é ótima.
23
![Page 24: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/24.jpg)
A* é ótima com heurística consistente
• A* expande nós em ordem crescente de valores de f.
• Gradualmente adiciona “contornos” de nós.
• Contorno i tem todos os nós com f=fi, onde fi < fi+1
Se h(n)=0 temos uma
busca de custo
uniforme ⇒ círculos
concêntricos.
Quanto melhor a
heurística mais
direcionados ao
objetivo serão os
círculos
24
![Page 25: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/25.jpg)
Propriedades da Busca A*
• Completa? Sim (a não ser que exista uma quantidade infinita de nós com f ≤ f(G) )
• Tempo? Exponencial no pior caso
• Espaço? Mantém todos os nós na memória
• Ótima? Sim
• Otimamente eficiente– Nenhum outro algoritmo de busca ótimo tem garantia de
expandir um número de nós menor que A*. Isso porque qualquer algoritmo que não expande todos os nós com f(n) < C* corre o risco de omitir uma solução ótima.
25
![Page 26: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/26.jpg)
Exemplo: Heurísticas Admissíveis
• Para o quebra-cabeça de 8 peças:– h1(n) = número de peças fora da posição– h2(n) = distância “Manhattan” total (para cada peça
calcular a distância em “quadras” até a sua posição)
26
![Page 27: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/27.jpg)
Medindo a qualidade de uma heurística
• Fator de ramificação efetiva
– A* gera N nós
– Profundidade da solução é d
– O fator de ramificação efetiva b* a partir de
– Exemplo: se A* encontra uma solução à profundidade 5 utilizando 52 nós, então o b*=1,92
– Heurística bem projetada teria b* próximo de 1
27
![Page 28: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/28.jpg)
Exemplo: Quebra-cabeça de 8 peças
28
IDS � busca por aprofundamento iterativo
![Page 29: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/29.jpg)
Dominância
• h2 é melhor que h1 e muito melhor que a busca por aprofundamento iterativo.
• h2 é sempre melhor que h1 pois
• h2 domina h1
• Como ambas heurísticas são admissíveis, menos nós serão expandidos pela heurística dominante.– Escolhe nós mais próximos da solução.
29
![Page 30: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/30.jpg)
Como criar heurísticas admissíveis?
1. A solução de uma simplificação de um problema (problema relaxado) é uma heurística para o problema original.
– Admissível: a solução do problema relaxado não vai superestimar a do problema original.
– É consistente para o problema original se for consistente para o relaxado.
30
![Page 31: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/31.jpg)
Exemplo: Quebra-cabeça de 8 peças
• h1 daria a solução ótima para um problema “relaxado” em que as peças pudessem se deslocar para qualquer lugar.
• h2 daria a solução ótima para um problema “relaxado” em que as peças pudessem se mover um quadrado por vez em qualquer direção.
31
![Page 32: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/32.jpg)
Como criar heurísticas admissíveis?
2. Usar o custo da solução de um subproblema do problema original.
Calcular o custo da solução exata sem se preocupar com os *Limite inferior do custo do problema completo
32
![Page 33: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/33.jpg)
Como criar heurísticas admissíveis?
3. Banco de dados de padrões:
– Armazenar o custo exato das soluções de muitos subproblemas.
– Para um determinado estado procurar o subproblema referentes àquele estado.
– Exemplo: todas as configurações das 4 peças na figura anterior.
33
![Page 34: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/34.jpg)
Algoritmos de Busca Local
• Em muitos problemas de otimização o caminho para o objetivo é irrelevante.
– Queremos apenas encontrar o estado objetivo, não importando a seqüência de ações.
– Espaço de estados = conjunto de configurações completas.• Queremos encontrar a melhor configuração.
– Neste caso podemos usar algoritmos de busca local.• Mantêm apenas o estado atual, sem a necessidade de manter a
árvore de busca.
34
![Page 35: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/35.jpg)
Busca de Subida de Encosta
• Valor crescente até um pico (nenhum vizinho mais alto)
• A busca de subida de encosta não examina valores de estados além dos vizinhos imediatos– “É como subir o Everest em meio a um nevoeiro durante uma crise de
amnésia”
35
![Page 36: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/36.jpg)
Busca de Subida de Encosta
• Elevação é a função objetivo: queremos encontrar o máximo global.
• Elevação é o custo: queremos encontrar o mínimo global.
• O algoritmo consiste em uma repetição que percorre o espaço de estados no sentido do valor crescente (ou decrescente).
• Termina quando encontra um pico (ou vale) em que nenhuma vizinho tem valor mais alto.
36
![Page 37: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/37.jpg)
Busca de Subida de Encosta
• Não mantém uma árvore, o nó atual só registra o estado atual e o valor da função objetivo.
• Não examina antecipadamente valores de estados além dos valores dos vizinhos imediatos do estado atual.
37
![Page 38: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/38.jpg)
Busca de Subida de Encosta
• Problema: dependendo do estado inicial pode ficar presa em máximos (ou mínimos) locais.
38
![Page 39: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/39.jpg)
Busca de Subida de Encosta:Problema das 8-rainhas
39
![Page 40: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/40.jpg)
Busca de Subida de Encosta:Problema das 8-rainhas
40
![Page 41: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/41.jpg)
Subida de encosta: melhorias
• Movimento lateral para evitar platôs
– Porém pode ocorrer repetição infinita, temos que impor um limite para o número de movimentos laterais.
• Subida de encosta com reinícios aleatórios.
– Conduz várias buscas a partir de vários estados iniciais escolhidos aleatoriamente.
– É completa, pois no pior acaso irá acabar gerando o estado objetivo como estado inicial, porém é ineficiente.
41
![Page 42: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/42.jpg)
Busca de têmpera simulada (simulated annealing)
• Combina a subida de encosta com um percurso aleatório resultando em eficiência e completeza.
• Subida de encosta dando uma “chacoalhada” nos estados sucessores.
– Estados com avaliação pior podem ser escolhidos com uma certa probabilidade.
– Esta probabilidade diminui com o tempo.
42
![Page 43: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/43.jpg)
Busca de têmpera simulada• Escapa de máximos locais permitindo alguns passos “ruins”
mas gradualmente decresce a sua freqüência.
43
![Page 44: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/44.jpg)
Propriedades da busca de têmpera simulada
• Pode-se provar que se T decresce devagar o suficiente, a busca pode achar uma solução ótima global com probabilidade tendendo a 1.
• Muito usada em projetos de circuitos integrados, layout de instalações industriais, otimização de redes de telecomunicações, etc.
44
![Page 45: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/45.jpg)
Busca em feixe local
• Manter k estados em vez de um.
• Começa com k estados gerados aleatoriamente.
• A cada iteração, todos os sucessores dos kestados são gerados.
• Se qualquer um deles for o estado objetivo, a busca para; se não seleciona-se os k melhores estados da lista pra continuar.
45
![Page 46: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/46.jpg)
Algoritmos genéticos
• Um estado sucessor é gerado por meio da combinação de dois estados pais.
• Começa com k estados gerados aleatoriamente (população).
• Um estado é representado por um string de um alfabeto finito (normalmente strings de 0s e 1s).
• Função de avaliação (função de fitness). Valores mais altos pra estados melhores.
• Produz a próxima geração de estados por seleção, mutação e crossover.
46
![Page 47: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/47.jpg)
Algoritmos genéticos
• Função de fitness: número de pares de rainhas que não estão se atacando (min = 0, max = 8 × 7/2 = 28)
• 24/(24+23+20+11) = 31%
• 23/(24+23+20+11) = 29% etc
47
![Page 48: aula07.ppt [Modo de Compatibilidade] - inf.ufsc.bralexandre.goncalves.silva/courses/14s2/ine5633/... · – Neste caso podemos usar algoritmos de busca local. • Mantêm apenas o](https://reader033.vdocuments.pub/reader033/viewer/2022052922/5c1671f609d3f263628c362b/html5/thumbnails/48.jpg)
Algoritmos genéticos
48