Busca em Espaço de Estados Parte3 Estratégias de busca com custo de ação Disciplina: Inteligência Artificial Universidade de Itaúna César Augusto Oliveira cesaroliveira18@hotmail.com
Revisão
Busca baseada em informação Como um agente pode utilizar informações sobre o espaço de estados para evitar que os algoritmos se percam?
Estratégia geral Busca pela melhor escolha (Best-First Search): um nó é selecionado para expansão com base em uma função de avaliação f(n) que mede a distância até o objetivo Faz uso de uma função heurística
Estratégias de busca com custo de ação Consideram que as ações (mudança de um estado para outro) possuem um custo associado, dependendo da dificuldade que se tem para executá-las. O objetivo da busca é encontrar um caminho até o estado final, preferencialmente, com o menor custo associado
Estratégias de busca com custo de ação A escolha do nó a ser expandido é baseado em uma função f(n) (função de avaliação) Principais algoritmos - Busca pelo menor custo ou melhor primeiro - Busca pela melhor estimativa ou busca gulosa (usa função heurística) - Busca A* (usa função heurística)
Busca pelo menor custo ou melhor primeiro O nó a ser expandido é aquele que possui o menor custo acumulado associado (g(n)) - f(n) = g(n) Todos os sucessores do nó expandido são inseridos na árvore A busca é finalizada quando um estado final é expandido Garante que a seqüência de ações encontrada é a com menor custo associado (solução ótima)
Exemplo: Sair da cidade 1 e ir até a cidade 9
Busca pelo menor custo ou melhor primeiro Muitos caminhos são gerados: Grande quantidade de memória gasta - Um caminho só pode ser retirado da memória quando foi encontrado um outro menor para o mesmo nó Tempo é considerado superior a qualquer outro algoritmo - Muitas vezes, é inviável a utilização deste algoritmo Semelhante à busca em amplitude
Função Heurística Função que descreve o quão bom é um estado Guia algoritmos baseados em busca pela melhor escolha na direção mais promissora, sugerindo que caminho seguir Matematicamente: h(n) = custo estimado do caminho mais econômico do nó n até um nó objetivo Se n é objetivo, então h(n)=0 É escolhida caso a caso, de acordo com a natureza do problema
Busca pela melhor estimativa ou busca gulosa Tenta expandir o nó mais próximo da meta, partindo do princípio que isso levará a uma solução mais rápida A avaliação dos nós é feita utilizando a função: f(n)=h(n) Exemplo: Problema: ir de Arad a Bucareste Heurística: distância em linha reta. h(n) é a distância em linha reta até Bucareste
MAPA DA ROMÊNIA EM CUSTOS
Distância em linha reta:
Busca gulosa: Exemplo
Busca gulosa:exemplo
Busca gulosa: avaliação Complexidade: Não expandiu nenhum nó fora do caminho da solução: baixo custo de busca!
Busca gulosa: avaliação Não garante a solução ótima. Pouca memória é gasta: - É necessário armazenar apenas o caminho que está sendo explorado e poucos nós adicionais com valores heurísticos não muito promissores até aquele momento. O tempo gasto, no pior caso, é próximo do tempo gasto para se atingir o nível mais profundo da árvore Pode entrar em loop se não detectar a expansão de estados repetidos Semelhante à busca em profundidade
Busca A* Forma mais amplamente conhecida de busca pela melhor escolha Avalia nós fazendo: f(n) = g(n) + h(n) g(n): custo para alcançar cada nó h(n): custo para ir do nó até o objetivo
Busca A* Este algoritmo garante encontrar a solução ótima desde que a função heurística seja válida Muitos nós são gerados (como na busca pelo menor custo) Quantidade de memória gasta intermediária entre os algoritmos de busca pelo menor custo e pela melhor estimativa. - Apesar de guardar todos os caminhos para os nós gerados, o número de nós gerados é bem menor que o número da busca pelo menor custo Embora o tempo de busca seja menor que o da busca pelo menor custo, ainda possui o problema de muitos estados gerados, tornando, algumas vezes, inviável a utilização deste algoritmo.
Problemas reais solucionados com algoritmos de busca Problemas de tour: - Definições de rotas, horários de vôos e conexões de empresas aéreas Problema do caixeiro viajante - Viagens de vendedores - Movimento de máquinas industriais Layout de VLSI - Deseja-se posicionar os componentes na placa de circuito respeitando-se as restrições físicas, minimizando a área utilizada, os retardos, etc. e maximizando o rendimento industrial
Problemas reais solucionados com algoritmos de busca Navegação de robôs Seqüência automática de montagem de objetos Projeto de proteínas a partir de aminoácidos Pesquisa na Internet (páginas, assuntos relacionados, compras, etc.)
Bibliografia Livros -BITTENCOURT, Guilherme. Inteligência Artificial – Ferramentas e Teorias. Editora da UFSC. 1998. - REZENDE, Solange Oliveira. Sistemas inteligentes: fundamentos e aplicações. Barueri: Manole, 2003. - RUSSEL, Stuart; NORVIG, Peter: Inteligência Artificial. Campus, São Paulo, 2004. Slides - BITTENCOURT, Guilherme. Transparências de Inteligência computacional. Disponível em: http://www.das.ufsc.br/gia/iaftapoio/ tra-soft.pdf - LINDEN, Ricardo. Transparências de Inteligência Artificial. Disponível em: http://www.fsma.edu.br/linden/IA_Aula02.ppt
Bibliografia Applets Puzzle8 - Artificial Intelligence Test. Disponível em: http://www.permadi.com/java/puzzle8/ Jarros - Racha Cuca. Disponível em: http://rachacuca.com.br/jarros/ ou http://www.mathsisfun.com/games/jugs-puzzle.html Missionários e Canibais - Racha Cuca. Disponível em: http://rachacuca.com.br/jogos/missionarios-e-canibais/ ou http://www.plastelina.net/games/game2.html Lobo, ovelha e couve - Racha Cuca. Disponível em: