resolução busca

56
Resolução de problemas por meio de busca Jeneffer Ferreira Lázaro Email:jenefferferreira@gmai l.com CAPÍTULO 3 - Stuart Russel e Peter Norving

Upload: gabi-freitas

Post on 19-Jan-2016

32 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Resolução Busca

Resolução de problemas por meio de busca

Jeneffer Ferreira LázaroEmail:[email protected]ÍTULO 3 - Stuart Russel e Peter

Norving

Page 2: Resolução Busca

Recapitulando – Agentes Inteligentes

• Os agentes reativos baseiam em suas ações através de um mapeamento direto de estados em ações.

• Tais agentes não podem operar bem em ambientes para os quais esse mapeamento seria grande demais para armazenar e levaria muito tempo para se aprender.

Page 3: Resolução Busca

Introdução• Os agentes baseados em objetivos podem ter sucesso,

considerando ações futuras e a conveniência de seus resultados.

• O agentes de resolução de problemas são agentes baseados em objetivos.

• Os agentes de resolução de problemas decidem o que fazer encontrando sequencias de ações que levam a estados desejáveis. – Devem maximizar sua medida de desempenho.

Page 4: Resolução Busca

Agentes de resolução de problemas

• Exemplo: Suponha um agente em férias na cidade de Arad na Romênia. Suas medidas de desempenho são:– Melhorar o bronzeado– Melhorar seu conhecimento no idioma Romeno– Ver as paisagens, apreciar a vida noturna (ver como ela é)– Evitar ressacas, etc.

• Suponha ainda que o agente tenha uma passagem aérea não-reembolsável para partir de Bucareste no dia seguinte.

• Faz sentido adotar o objetivo de chegar a Bucareste. • Os demais cursos podem ser rejeitados sem nenhuma

consideração adicional.

Page 5: Resolução Busca
Page 6: Resolução Busca

Resolução de Problemas por meio de Busca

• O objetivo vai ser representado por um conjunto de estados

• Ações fazem o agente mudar de um estado para outro

• O agente deve encontrar um conjunto de ações (de preferência o melhor) que o levem do estado inicial ao estado final

Page 7: Resolução Busca

Representação da solução de problemas

• Podemos representar a solução de problemas como uma sequencia de estados, que leva de um estado inicial até um estado final, onde cada estado é um estado admissível, isto é, produzido a partir de um estado anterior através de uma ação.

Page 8: Resolução Busca

Formulação de objetivos

• Baseada na situação atual e na medida de desempenho do agente.

• Os objetivos ajudam a organizar (direciona) o comportamento, limitando os objetivos que o agente está tentando alcançar.

Page 9: Resolução Busca

Formulação de problemas

• É o processo de decidir que ações e estados devem ser considerados, em função de um objetivo.

• Considera-se a possibilidade de se atingir um mesmo objetivo através de caminhos (ações e estados) diferentes.

Page 10: Resolução Busca

Busca solução• Um agente com várias opções imediatas, de valor desconhecido,

pode decidir o que fazer primeiro examinando várias sequencias possíveis de ações que levem a estados de valor conhecido, e escolher a melhor.

• Um algoritmo de busca recebe um problema como entrada (percepção) e retorna uma solução (ação) sob a forma de uma sequencia de ações.

• Depois que uma solução é encontrada, as ações que ela recomenda podem ser executadas.

Page 11: Resolução Busca

Tarefas para a resolução de problemas

• Passos:– Formulação do OBJETIVO• Nível de detalhe das ações

– Formulação do PROBLEMA• Decidir quais ações e estados considerar

– Busca• Dada uma sequencias de ações, qual a melhor?

– Execução• Formulação Busca Execução

Page 12: Resolução Busca

Exemplo: Viagem na Romênia• Estamos em Arad, com uma passagem de volta saindo de Bucarest

– O objetivo é chegar em Bucarest• Estados (Formulação do problema)

– Conjunto de cidades– Ações– Dirigir de uma cidade para outra

• Solução– Sequencia de cidades

Page 13: Resolução Busca

Estrutura básica de um agente resolvedor de problemas

Page 14: Resolução Busca

Agentes de resolução de problemas

• Agentes de Resolução de problemas ← Agentes de ambiente– Ambiente é estático: não ocorrem mudanças no ambiente

durante o processo de formulação e resolução do problema– Ambiente é observável: o estado inicial é conhecido– Ambiente é discreto: os cursos alternativos de ação podem ser

enumerados– Ambiente determinístico: As soluções para os problemas são

sequencias de ações únicas. Isto impossibilita a ocorrência de ações inesperadas.

Page 15: Resolução Busca

Problemas e soluções bem definidos• Um problema pode ser definido formalmente por quatro

componentes:1. Estado inicial: é o estado inicial dado. Por exemplo: Em(Arad)

• Uma descrição das ações possíveis estão disponíveis para o agente. A formulação mais comum utiliza uma função sucessor.Dado um estado particular xx, SUCESSOR(x) SUCESSOR(x) retorna um conjunto

de pares ordenados <ação, sucessor>, <ação, sucessor>, em que cada ação é uma ação válida no estado xx e cada sucessor é um estado que pode ser alcançado a partir de xx aplicando-se a ação.

• Ex.: Em(Arad) a função sucessor retornaria:

Page 16: Resolução Busca

Exemplo: viajar pela Romênia

16

Page 17: Resolução Busca

Problemas e soluções bem definidos

• Espaço de Estados: É a conjunção do estado inicial e a função sucessor do problema. – Trata-se do conjunto de todos os estados acessíveis a

partir do estado inicial. – Forma um grafo em que os nós são estados e os arcos

entre os nós são ações.

• Caminho: Trata-se de uma sequencia de estados conectados por uma sequencia de ações.

Page 18: Resolução Busca

Problemas e soluções bem definidos

• Teste de Objetivo: é um teste que determina se um dado estado é um estado objetivo.– É possível a existência de um conjunto de estados

objetivos possíveis e o teste simplesmente verifica se o estado dado é um deles.

• Custo de caminho: é uma função que atribui um custo (valor) numérico a cada caminho.– O agente de resolução de problemas escolhe uma função de

custo que reflete sua própria medida de desempenho. – No exemplo do agente de Arad, o tempo é essencial e,

portanto, considera-se o caminho mais rápido aquele com a menor distância percorrida.

Page 19: Resolução Busca

Problemas e soluções bem definidos

• Custo de passo: é o custo por se adotar a ação aa para ir do estado x ao estado y, ou seja, denota-se c(x,a,y).

• Para o caso do agente que se desloca de Arad à Bucareste, trata-se das distância das rotas entre os diversos municípios interligados entre as duas cidades.

Page 20: Resolução Busca

Problemas e soluções bem definidos• Solução Ótima

• Uma solução para um dado problema é um caminho desde o estado inicial até o estado objetivo.

• A qualidade da solução é medida pela função de custo de caminho.

• Uma solução é considerada ótima quando apresenta o menor custo de caminho entre todas soluções.

Page 21: Resolução Busca

Exemplo: Viagem na Romênia• Estados

– Conjunto de cidades• Estado Inicial

– Arad• Ações (Função Sucessor)

– Dirigir de uma cidade para outra• Teste do Objetivo

– Estar em Bucareste• Custo

– Distância entre as cidades

Page 22: Resolução Busca

Exemplo: Aspirador de Pó• Estados:

– o agente pode estar em 1 de 2 locais possíveis, que podem estar sujos ou limpos (8 estados)

• Estado inicial:– qualquer um

• Sequencia de ações (Função Sucessor)

– esq, dir, aspira• Teste de objetivo:

– todos os locais limpos• Custo:

– cada ação tem custo 1

Page 23: Resolução Busca

Exemplo: 8-Puzzle• Estados– Posição de cada uma das peças e do espaço no tabuleiro

• Estado Inicial– Qualquer um

• Ações (Função Sucessor)– Cima, Baixo, Dir, Esq

• Teste do objetivo– Checar se a configuração foi atingida

• Custo– Cada ação tem custo 1

Page 24: Resolução Busca

• Nas Torres de Hanoi, existem 3 pinos (A,B,C). Uma “torre” de discos no primeiro pino (A), com o menor disco no topo e o maior na base. O objetivo é mover todos os discos da torre A para a torre C. Você deverá mover um disco de cada vez e observando que um disco maior nunca poderá ficar sobre o menor disco.– Modele o espaço de estados para este problema, defina o estado

inicial, Ações (Função Sucessor), Teste do objetivo (estado final) e Custo do Caminho.

Page 25: Resolução Busca

• O problema de missionários e canibais em geral é enunciado como a seguir: Três missionários e três canibais estão em um lado de um rio, juntamente com um barco que pode conter uma ou duas pessoas. Descubra um meio de fazer todos atravessarem o rio, sem deixar que um grupo de missionários de um lado fique em número menor que o número de canibais nesse lado do rio. – Modele o espaço de estados para este problema, defina o estado

inicial, Ações (Função Sucessor), Teste do objetivo (estado final) e Custo do Caminho.

Page 26: Resolução Busca

Problemas do mundo real

• Problema de roteamento– Encontrar a melhor rota de um ponto a outro (aplicações:

redes de computadores, planejamento militar, planejamento de viagens aéreas)

• Problemas de tour– Visitar cada ponto pelo menos uma vez

• Caixeiro viajante– Visitar cada cidade exatamente uma vez– Encontrar o caminho mais curto

Page 27: Resolução Busca

Problemas do mundo real

• Projeto de proteínas– Encontrar uma sequência de aminoácidos que serão

incorporados em uma proteína tridimensional para curar alguma doença.

• Pesquisas na Web– É fácil pensar na Web como um grafo de nós conectados

por links

Page 28: Resolução Busca

Em busca de soluções• Depois de formular alguns problemas, agora precisamos

resolvê-los.– É feito por meio de uma busca em todo espaço de estados.

• A arvore de busca é gerada pelo estado inicial e pela função sucessor que, juntos definem o espaço de estados.

• Em geral, podemos ter um grafo de busca em lugar de uma árvore de busca, quando o mesmo estado pode ser alcançado a partir de vários caminhos.

Page 29: Resolução Busca

Em busca de soluções• A raiz da árvore de busca é um nó de busca

correspondente ao estado inicial – exemplo: Em (arad)

• O primeiro passo é testar se esse é um estado objetivo.

Page 30: Resolução Busca

30

Page 31: Resolução Busca

• Um nó é uma estrutura de dados com cinco componentes:– Estado: O estado no espaço de estados ao que o nó

corresponde;– Nó-pai: O nó na árvore de busca que gerou este nó;– Ação: A ação que foi aplicada ao PAI para gerar o nó;– Custo-do-caminho: O custo, tradicionalmente denotado por

g(n), do caminho desde o estado inicial até o nó indicado pelos ponteiros do pai.

– Profundidade: O número de passos ao longo do caminho desde o estado inicial.

Page 32: Resolução Busca

Critério de Avaliação das Estratégias de Busca

• Completeza: sempre encontra uma solução se esta existir

• Otimização: encontra a solução ótima (menor custo)

• Complexidade de tempo: tempo gasto para encontrar uma solução

• Complexidade de espaço: memória necessária para encontrar uma solução.

Page 33: Resolução Busca
Page 34: Resolução Busca

Critérios de avaliação das estratégias de busca

• O fator de ramificação de um nó é o seu número de vizinhos.

• As complexidades de tempo e espaço são medidas em termos de:– b : Fator de ramificação máximo da árvore de busca.– d : Profundidade da solução de menor custo.– m : Profundidade máxima do espaço de estados

Page 35: Resolução Busca

Buscas sem informação ou busca cega

• Algoritmos que não recebem nenhuma informação sobre o problema além de sua formulação.

• É preciso definir– problema– solução

Page 36: Resolução Busca

Busca Cega• Também conhecida como busca exaustiva.• Não sabe qual o melhor nó na fronteira a ser expandido, isto é,

não conhece o menor custo de caminho desse nó até um nó final (objetivo)

• Estratégias de busca (ordem de expansão dos nós)– Busca em Largura– Busca em Profundidade– Busca em Profundidade Limitada– Busca de Custo Uniforme– Interative Deepening– Busca bidirecional

Page 37: Resolução Busca

Busca Heurística

• Estima qual o melhor nó da fronteira a ser expandido com base em funções heurísticas => tem conhecimento.

• Estratégia de Busca– Best-first search (melhor escolha)

Page 38: Resolução Busca

Busca em Largura (ou extensão) • O nó raiz é expandido primeiro e, em

seguida, todos os sucessores dele, depois todos os sucessores desses nós...

• Todos os nós em uma dada profundidade são expandidos antes de todos os nós do nível seguinte.

Page 39: Resolução Busca

Busca em Largura em uma árvore binária

• Objetivo: encontrar o nó D

Page 40: Resolução Busca

Busca em Largura: análise• Completa?– Sim, se a largura máxima da árvore (b) for finita

• Ótima?– O nó objetivo mais raso não é necessariamente o nó

ótimo• Complexidade de Memória– Mantém todos os nos a serem expandidos

Page 41: Resolução Busca

Busca em Largura: análise• Complexidade de tempo e espaço: – Espaço de estados em que cada estado tem b sucessores

(portanto, a uma profundidade n, bn estados são gerados).– Supondo que a solução esteja a uma profundidade d:

b + b2 + ...+bd + (bd+1 - b) = O(bd+1)

– No pior caso a solução está no último nó de d, portanto todos os irmão do objetivo tem seus filhos gerados (daí

vem o d+1);

– checa o nó, sem checar se filhos (daqui o “-b”).

Page 42: Resolução Busca

Busca em profundidade

• Expande o nó mais profundo na borda atual da árvore

• Não havendo mais sucessores, a busca retorna à próxima profundidade acima que não foi explorada.

Page 43: Resolução Busca

43

Page 44: Resolução Busca

Busca em profundidade: análise

• Só precisa armazenar um único caminho da raiz até um nó folha, e os nós irmãos não expandidos

• Nós cujos descendentes já foram completamente explorados podem ser retirados da memória

• Ramificação b e profundidade máxima m, a complexidade espacial é: O(bm)

Page 45: Resolução Busca

Busca em profundidade: análise• Pode fazer uma escolha errada e ter que percorrer um

caminho muito longo (as vezes infinito), quando uma opção diferente levaria a uma solução rapidamente (ex. nó C na fig. anterior)

• Portanto, a busca em profundidade não é completa e nem ótima!– Esta estratégia deve ser evitada quando as árvores

geradas são muito profundas ou geram caminhos infinitos (Se pegar um caminho infinito pode não achar a solução por isso não é completa)

• Complexidade temporal: no pior caso, todos os nós são gerados, portanto:

O(bm)– Para problemas com várias soluções, esta estratégia pode

ser bem mais rápida do que a busca em largura

Page 46: Resolução Busca

Busca por aprofundamento iterativo• Combina busca em profundidade com busca em

largura• Faz busca em profundidade aumentando

gradualmente o limite de profundidade• Método de busca preferido quando se tem espaço

de busca grande e profundidade não conhecida• Evita o problema de caminhos muito longos ou

infinitos impondo um limite máximo de profundidade para os caminhos gerados.

Page 47: Resolução Busca

Busca por aprofundamento iterativo• Esta estratégia tenta limites com valores

crescentes, partido de zero, até encontrar a primeira solução.– Fixa profundidade = i, executa a busca– Se não chegou a um objetivo, recomeça busca

com profundidade = i + n (n qualquer)

• Piora o tempo de busca, porém melhora o custo de memória

Page 48: Resolução Busca
Page 49: Resolução Busca

Busca por aprofundamento iterativo - Análise

• É ótima e completa– Com n = 1 e operadores com custo iguais

• Custo de memória– Necessita armazenar apenas b.d nós para um espaço de

estados com fator de ramificação b e limite de profundidade d

• Custo de tempo– O(bd)

• Bons resultados quando o espaço de estados é grande e de profundidade desconhecida

Page 50: Resolução Busca

Como evitar estados repetidos• Um processo de busca pode perder tempo

expandindo nós já explorados antes• Estados repetidos podem levar a laços

infinitos• Detecção de estados repetidos: comparar

os nós prestes a serem expandidos com nós já visitados. Se o nó já tiver sido visitado, será descartado em vez de expandido.

Page 51: Resolução Busca

Como evitar estados repetidos: Soluções

1. Não retornar ao estado “pai”

2. Não retornar a um ancestral

3. Não gerar qualquer estado que já tenha sido criado antes (em qualquer ramo)

Page 52: Resolução Busca

Exercícios

Page 53: Resolução Busca

• Apresente a ordem de visita dos nós da árvore da figura abaixo para cada uma das estratégias (escolha nós mais à esquerda na árvore em todos os casos):

• Objetivo : nó 12a) Busca em profundidadeb) Busca em profundidade iterativa (aumentando o nível de 1 a cada

iteraçãoc) Busca em largura

Page 54: Resolução Busca

• Apresente a ordem de visita dos nós da árvore da figura abaixo para cada uma das estratégias (escolha nós mais à esquerda na árvore em todos os casos):

• Objetivo : nó La) Busca em profundidadeb) Busca em profundidade iterativa (aumentando o nível de 1 a cada

iteraçãoc) Busca em largura

Page 55: Resolução Busca

• Apresente a ordem de visita dos nós da árvore da figura abaixo para cada uma das estratégias (escolha nós mais à esquerda na árvore em todos os casos):

• Objetivo : nó La) Busca em profundidadeb) Busca em profundidade iterativa (aumentando o nível de 1 a cada

iteraçãoc) Busca em largura

Page 56: Resolução Busca

Referencia

• Baseado no Cap. 3 do livro de Stuart Russel e Peter Norving - “Inteligência Artificial”, 2a ed.