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ã