Resolução de problemas via busca

Propaganda
Resolução de
problemas via
busca
Aula #4.1 – EBS 564 – IA
Prof. Luiz Fernando S. Coletta
[email protected]
Campus de Tupã
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)
2
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)

Busca aleatória no espaço de estados
(chances de soluções razoáveis diminuem com o
aumento do espaço de estados)
3
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)

Busca aleatória no espaço de estados
(chances de soluções razoáveis diminuem com o
aumento do espaço de estados)

Busca local com algoritmo guloso (expande
para o caminho vizinho menos custoso)
4
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)

Busca aleatória no espaço de estados
(chances de soluções razoáveis diminuem com o
aumento do espaço de estados)

Busca local com algoritmo guloso (expande
para o caminho vizinho menos custoso)

Algoritmo A* (função obj. f(n) = g(n) + h(n))
5
Resolução via busca

Algoritmo A*
– Distâncias em vermelho: função de custo g(n)
– Distâncias em verde: função de estimativa h(n)
6
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)

Busca aleatória no espaço de estados
(chances de soluções razoáveis diminuem com o
aumento do espaço de estados)

Busca local com algoritmo guloso
(expande para o caminho vizinho menos custoso)

Algoritmo A* (função obj. f(n) = g(n) + h(n))
7
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)

Busca aleatória no espaço de estados
(chances de soluções razoáveis diminuem com o
aumento do espaço de estados)

Busca local com algoritmo guloso (expande
para o caminho vizinho menos custoso)

Algoritmo A* (função obj. f(n) = g(n) + h(n))

Busca de custo uniforme (armazena e
verifica todos os estados na borda)
8
Resolução via busca

Tentativa e Erro (proibitiva em muitos casos)

Busca aleatória no espaço de estados
(chances de soluções razoáveis diminuem com o
aumento do espaço de estados)

Busca local com algoritmo guloso (expande
para o caminho vizinho menos custoso)

Algoritmo A* (função obj. f(n) = g(n) + h(n))

Busca de custo uniforme (armazena e
verifica todos os estados na borda)
9
Resolução via busca

Algoritmo A*
– f(n) = g(n) + h(n)
10
Resolução via busca

Algoritmo A*
– f(n) = g(n) + h(n)
Estimativa (heurística) de n até a meta
Busca de custo uniforme até n
11
Resolução via busca

Algoritmo A*
– f(n) = g(n) + h(n)
Estimativa (heurística) de n até a meta
Busca de custo uniforme até n
– Otimalidade: quando a função h(n) não
superestima o custo até a meta;
12
Resolução via busca

Algoritmo A*
– f(n) = g(n) + h(n)
Estimativa (heurística) de n até a meta
Busca de custo uniforme até n
– Otimalidade: quando a função h(n) não
superestima o custo até a meta;
Como posso obter estimativas, h(n), que não superestimam o custo?
13
Resolução via busca

Algoritmo A*
– f(n) = g(n) + h(n)
Estimativa (heurística) de n até a meta
Busca de custo uniforme até n
– Otimalidade: quando a função h(n) não
superestima o custo até a meta;
Como posso obter estimativas, h(n), que não superestimam o custo?
– Uso de memória: muitas vezes cresce
exponencialmente em relação ao comprimento para a
solução (esgota a memória do computador facilmente)
14
Resolução via busca

Aplicações
– Planejamento e otimização de rotas
• Li, J., & Sun, X. X. (2008). A Route Planning's Method for Unmanned
Aerial Vehicles Based on Improved A-Star Algorithm. Acta
Armamentarii, 7, 788-792.
• Popirlan, C., & Dupac, M. (2009). An optimal path algorithm for
autonomous searching robots. Annals of the University of CraiovaMathematics and Computer Science Series, 36(1), 37-48.
• Siregar, B., Gunawan, D., Andayani, U., Lubis, E. S., & Fahmi, F. (2017,
January). Food Delivery System with the Utilization of Vehicle Using
Geographical Information System (GIS) and A Star Algorithm. In
Journal of Physics: Conference Series (Vol. 801, No. 1, p. 012038). IOP
Publishing.
• Weidong, Z., Chao, Y., Chun, W., & Jing, H. (2008). Agriculture Machinery
Operation Guidance System Based on GPS and GIS. Journal of
Heilongjiang
15
Resolução via busca

Aplicações
– Eficiência energética em redes de sensores
• Ghaffari, A. (2014). An energy efficient routing protocol for wireless
sensor networks using A-star algorithm. Journal of applied research
and technology, 12(4), 815-822.
• Rana, K., & Zaveri, M. (2011). A-star algorithm for energy efficient
routing in wireless sensor network. In Trends in Network and
Communications (pp. 232-241). Springer Berlin Heidelberg.
• AlShawi, I. S., Yan, L., Pan, W., & Luo, B. (2012). Lifetime enhancement in
wireless sensor networks using fuzzy approach and A-star
algorithm. IEEE Sensors journal, 12(10), 3010-3018.
16
Resolução via busca

Aplicações
– Inteligência em jogos
17
Exercício 2 (para entregar)

Encontre o caminho de menor custo de A
até E usando o algoritmo A*. Indique seus
passos e informe qual é o custo ótimo.
1
A
B
12
5
2
4
E
D
C
3
2
18
Resolução via busca

Há problemas em que o caminho para a
solução é irrelevante;

Para esses problemas pode-se optar por uma
busca local
19
Resolução via busca

Há problemas em que o caminho para a
solução é irrelevante;

Para esses problemas pode-se optar por uma
busca local
Verificamos que a busca local pode ser ruím
ao tentarmos encontrar um caminho ótimo,
mas é mais econômica na questão
de espaço de memória
20
Resolução via busca

Busca Local
– Algoritmos operam a partir de um único estado
atual (ao invés de vários caminhos);
21
Resolução via busca

Busca Local
– Algoritmos operam a partir de um único estado
atual (ao invés de vários caminhos);
– Busca ocorre em vizinhos do estado atual;
22
Resolução via busca

Busca Local
– Algoritmos operam a partir de um único estado
atual (ao invés de vários caminhos);
– Busca ocorre em vizinhos do estado atual;
– O caminho seguido não é armazenado;
23
Resolução via busca

Busca Local
– Algoritmos operam a partir de um único estado
atual (ao invés de vários caminhos);
– Busca ocorre em vizinhos do estado atual;
– O caminho seguido não é armazenado;
– Tipicamente uma função objetivo, f(n), é
usada para guiar a caminhada no espaço de
estados;
24
Resolução via busca

Busca Local
– Algoritmos operam a partir de um único estado
atual (ao invés de vários caminhos);
– Busca ocorre em vizinhos do estado atual;
– O caminho seguido não é armazenado;
– Tipicamente uma função objetivo, f(n), é
usada para guiar a caminhada no espaço de
estados;
• f(n) é uma função heurística, neste caso
25
Resolução via busca

Espaço de estados da busca local
26
Resolução via busca

Espaço de estados da busca local
Busca-se uma solução máxima (ou mínima) global
27
Resolução via busca

Algoritmos para Busca Local
– Subida de encosta (Hill Climbing)
– Busca Tabu
– Simulated Annealing
– Algoritmos Genéticos
28
Resolução via busca

Algoritmos para Busca Local
– Subida de encosta (Hill Climbing)
– Busca Tabu
– Simulated Annealing
No que se diferenciam
do Hill Climbing?
– Algoritmos Genéticos
29
Exercício 3 (para entregar)

Qual a diferença essencial do Hill Climbing
para a Busca Tabu, Simulated Annealing e
algoritmos genéticos? O que essa
diferença possibilita na exploração do
espaço de estados?
30
Resolução via busca

Hill Climbing
– Busca local cujos movimentos se dão
impreterivelmente na direção de valores
crescentes/decrescentes da função objetivo;
31
Resolução via busca

Hill Climbing
– Busca local cujos movimentos se dão
impreterivelmente na direção de valores
crescentes/decrescentes da função objetivo;
– Termina quando um pico (mínimo ou máximo)
é alcançado;
32
Resolução via busca

Hill Climbing
– Busca local cujos movimentos se dão
impreterivelmente na direção de valores
crescentes/decrescentes da função objetivo;
– Termina quando um pico (mínimo ou máximo)
é alcançado;
– Move-se apenas para "estados vizinhos” ao
corrente;
33
Resolução via busca

Hill Climbing
– Exemplo do problema das 8 rainhas:
34
Resolução via busca

Hill Climbing
– Exemplo do problema das 8 rainhas:
f(n): número de pares de rainhas sob
ataque mútuo:
Ótimo local, f(n) = 1
35
Resolução via busca

Hill Climbing
– Pequeno exemplo:
f(n) = 5
f(n) = 2
f(n) = 0
36
Resolução via busca

Hill Climbing
– Pequeno exemplo:
f(n) = 5
f(n) = 2
f(n) = 0
– Para 8 rainhas: espaço de estados com
aproximadamente 17 milhões de estados.
37
Resolução via busca

Hill Climbing
– Dificuldades do algoritmo:
38
Resolução via busca

Hill Climbing
– Dificuldades do algoritmo:
• Ótimos locais: picos mínimos ou máximos de
abrangência local;
39
Resolução via busca

Hill Climbing
– Dificuldades do algoritmo:
• Ótimos locais: picos mínimos ou máximos de
abrangência local;
• Platôs: áreas do espaço de estados onde a
função objetivo é constante (plana).
40
Próxima aula:
→ 10/04
→ Sala 6
Material em http://luizcoletta.com/ebs564/
Prof. Luiz Fernando S. Coletta
[email protected]
Campus de Tupã
Download