Inteligência Artificial Busca Professora Sheila Cáceres
Ja vimos: Agentes simples que baseiam ações em um mapeamento direto de estados. Porém: Y se o conjunto de estados e ações for muito grande? Daria problemas para armazenar e aprender Tópicos de Ambiente Web - Prof. Sheila Cáceres 2
Lembrando: Ag baseados em objetivos Agente tem um ou mais objectivos. Objetivo: Descreve situações desejaveis. Exemplo: O agente taxista tem como objectivo chegar a um destino. Chegando a um cruzamento, o agente decide avançar, virar à direita ou virar à esquerda em função do objectivo. Objetivo: destino do passageiro Além de ter as mesmas caraterísticas de um agente reativo simples, incrementa considerações sobre o futuro, a fim de alcançar os objectivos Tópicos de Ambiente Web - Prof. Sheila Cáceres 3
Agentes de resolução de problemas É um tipo de agente baseado em objetivos. Frente a um problema, o que faz? Encontra sequência de ações Estado desejável Tópicos de Ambiente Web - Prof. Sheila Cáceres 4
Agentes de resolução de problemas Agente Turista Cidade de Arad, Romenia Medida de desempenho: melhorar lingua romena ver paisagens apreciar vida noturna melhorar bronzeado etc, etc, etc. Problema de decisão Complexo: Muitos compromissos. Leitura de guias Tópicos de Ambiente Web - Prof. Sheila Cáceres 5
Mas, e se... O agente tem uma passagem não-reembolsável saindo de Bucareste para Brasil para amanhã. Objetivo: Chegar a Bucareste a tempo para o vôo. Rejeitar: ações que impedem a chegada a tempo a Bucareste. Problema Reduzido Objetivos ajudam a organizar o comportamento, põem limites. Tópicos de Ambiente Web - Prof. Sheila Cáceres 6
* Formulação de problemas Formulação de objetivos (baseada na situação atual e na medida de desempenho): primeiro passo para a resolução de problemas. Objetivo: Conjunto de estados do mundo (estados em que o objetivo é satisfeito). Tarefa do agente: descobrir que sequencia de ações o levará a um estado objetivo. Formulação de problemas: processo de decidir que ações e estados devem ser considerados, dado um objetivo. Ex de ação muito detalhada: girar o volante um grau para esquerda. Tópicos de Ambiente Web - Prof. Sheila Cáceres 7
No problema do turista em Arad Objetivo: dirigir para Bucareste Ações: dirigir desde uma cidade até outra (aquelas que causam transições entre estados do mundo). Estados: estar em uma determinada cidade. Tópicos de Ambiente Web - Prof. Sheila Cáceres 8
No problema do turista em Arad Se agente so sabe que existem 3 estradas saindo de Arad: Sibiu, Timisoara e Zerind (nenhuma atinge o objetivo). O agente não saberá qual das ações possíveis é melhor pois não sabe o suficiente sobre o estado que resulta da execução de cada ação. Agente escolheria uma das ações ao acaso. Se agente tiver mapa (conheçe estados e ações). Agente pode usar isso para considerar estágios subsequentes para descobrir o percurso que chegue a bucareste. Tópicos de Ambiente Web - Prof. Sheila Cáceres 9
* Busca Um agente com várias opções imediatas de valor desconhecido pode decidir o que fazer examinando primeiro diferentes sequencias de ações possíveis que levam a estados de valor conhecido, e depois escolhendo a melhor sequência. Tópicos de Ambiente Web - Prof. Sheila Cáceres 10
Algoritmo de Busca Recebe: um problema (formulado) como entrada. Retorna: solução (sequência de ações). Tópicos de Ambiente Web - Prof. Sheila Cáceres 11
* Execução Processo de fazer as ações devolvidas pelo algoritmo de busca. Tópicos de Ambiente Web - Prof. Sheila Cáceres 12
Fases para resolver um problema * Formular Buscar Executar Tópicos de Ambiente Web - Prof. Sheila Cáceres 13
Formulação de problemas Um problema é definido por quatro itens: 1.Estado inicial. Ex: Arad 2.Função sucessor: Retorna conjunto de pares <ação, sucessor> Ex: Sucessor(Arad)->{<Ir(Sibiu), Em(Sibiu)>,} 3.Teste de objetivo: determina se estado é objetivo Ex: {Em(Bucareste)} {Cheque-mate(x)} 4.Custo de caminho: Função de custo que reflete medida de desempenho. Custo numérico de cada caminho. Ex: cumprimento do caminho em km. Custo de passo: Custo para ir do est. x ao est. y Tópicos de Ambiente Web - Prof. Sheila Cáceres 14
Grafo (representação de estados) Espaço de estados: Conjunto de todos os estados acessíveis a partir do estado inicial. Definido implicitamente pelo estado inicial e a função sucessor. O espaço de estados pode-se representar em forma de grafo onde: Nós: estados Arcos: ações Caminho: Sequência de estados conectados por uma sequência de ações. Tópicos de Ambiente Web - Prof. Sheila Cáceres 15
No problema do turista em Arad Tópicos de Ambiente Web - Prof. Sheila Cáceres 16
Abstração Processo de remover detalhes de uma representação. Exemplo. Remover items irrelevantes para formular o problema do turista em arad como companheiros de viagem, o que toca no rádio, condições da estrada, etc. Tópicos de Ambiente Web - Prof. Sheila Cáceres 17
Miniproblema vs Problema do mundo real Miniproblema: pode ter descrição concisa e exata podendo ser usado com facilidade por diferentes algoritmos de busca. Problema do mundo real: Tendem a não apresentar uma única descrição. Tópicos de Ambiente Web - Prof. Sheila Cáceres 18
Miniproblema: Aspirador em pó Espaço de Estados: 8 estados possíveis [posição do agente(direita, esquerda), Direita(suja ou não), Esquerda(suja ou não)] Estado Inicial: Qualquer estado Estado Final: Estado 7 ou 8 (ambos quadrados limpos) Ações Possíveis: Mover para direita, mover para esquerda e limpar Função sucessor: Gera estados válidos que resultam da tentativa de executar as 3 ações (esquerda, direita, aspirar). Teste de objetivo: Verifica se todos os quadrados estão limpos Custo: Cada passo tem o custo 1, assim o custo do caminho é definido pelo número de passos. Ambiente maior teria n * 2^n estados. Tópicos de Ambiente Web - Prof. Sheila Cáceres 19
Aspirador de pó: Estados Possíveis Tópicos de Ambiente Web - Prof. Sheila Cáceres 20
Aspirador de pó: Espaço de estados Arcos denotam ações: L: left, R: right, S: suck Tópicos de Ambiente Web - Prof. Sheila Cáceres 21
Quebra cabeças de 8 peças Espaço de Estados: Uma descrição de estado especfica a posição de cada uma das oito peças em um dos nove quadrados. Estado Inicial: Qualquer estado; Função sucessor: gera estados válidos que resultam da tentativa de executar as quatro ações (espaço vazio se desloca para esquerda, direita, acima ou abaixo) Teste de objetivo: Figura (goal state) Custo: Cada passo tem o custo 1, assim o custo do caminho é definido pelo número de passos do caminho Tópicos de Ambiente Web - Prof. Sheila Cáceres 22
Quebra cabeças de 8 peças Tópicos de Ambiente Web - Prof. Sheila Cáceres 23
Quebra cabeças Quebra cabeças de blocos deslizantes são problemas NP-completos. 8-puzzle (3x3): 181.440 possíveis estados. 15-puzzle (4x4): 1.3 trilhões estados possíveis. 24-puzzle (5x5): 10^25 estados possíveis. Tópicos de Ambiente Web - Prof. Sheila Cáceres 24
Problema das 8 rainhas Objetivo: posicionar 8 rainhas em um tabuleiro de xadrez de ta forma que nenhuma rainha ataque qualquer outra Lembrando que: uma rainha ataca qualquer peña situada na mesma linha, coluna ou diagonal Formulação incremental: Ampliação. Inicia com um estado vazio e cada ação acrescenta uma rainha ao estado. Formulação de estados completos. Inicia com as 8 rainhas e as desloca pelo tabuleiro Em ambos casos, o custo do caminho não importa, Tópicos de Ambiente Web - Prof. Sheila Cáceres 25 porque apenas o estado final é importante
Problema das 8 Rainhas Quasi solução Tópicos de Ambiente Web - Prof. Sheila Cáceres 26
8 Rainhas (incremental) Espaço de Estados: Qualquer disposição de 0 a 8 rainhas no tabuleiro Estado Inicial: Nenhuma rainha no tabuleiro; Estado Final: Qualquer estado onde as 8 rainhas estão no tabuleiro e nenhuma esta sendo atacada; Função sucessor: Colocar uma rainha em um espaço vaio do tabuleiro; Teste objetivo: 8 rainhas estão no tabuleiro e nenhuma é atacada Tópicos de Ambiente Web - Prof. Sheila Cáceres 27
8 Rainhas (completos) Estados: disposições de n rainhas uma por coluna nas n colunas mas a esquerda sem que nenhuma ataque outra Função sucessor: Adicione uma rainha a qualquer quadrado na coluna vazia mas a esquerda, de modo que não seja atacada por qualquer outra rainha. Tópicos de Ambiente Web - Prof. Sheila Cáceres 28
Problema de tour Visitar cada cidade pelo menos uma vez começando e terminando em Bucareste. Ações são viagens entre cidades adjacentes. Cada estado incluiria além da posição atual, o conjunto de estados que o agente ja visitou. Ex: Em (Vaslui); Visitados (Bucareste, Urziceni, Vaslui) Teste objetivo: agente em Bucareste e as 20 cidades visitadas. Tópicos de Ambiente Web - Prof. Sheila Cáceres 29
Problema do caixeiro viajante Problema de tour onde cada cidade deve ser visitada exatamente uma vez. Objetivo: encontrar percurso mais curto. NP-dificil Tópicos de Ambiente Web - Prof. Sheila Cáceres 30
BUSCA Para resolver os problemas formulados precisamos buscar em todo o espaço de estados. Para isso pode-se usar uma árvore de busca explícita. Expandir o estado atual aplicando a função sucessor para gerar novos estados. Busca: seguir um caminho, deixando os outros para depois. A estratégia de busca determina qual estado expandir. Tópicos de Ambiente Web - Prof. Sheila Cáceres 31
Exemplo de árvore debusca Estado inicial Tópicos de Ambiente Web - Prof. Sheila Cáceres 32
Exemplo de árvore debusca Depois de expandir Arad Tópicos de Ambiente Web - Prof. Sheila Cáceres 33
Exemplo de árvore debusca Depois de expandir Sibiu Tópicos de Ambiente Web - Prof. Sheila Cáceres 34
Descrição do algoritmo geral de busca em árvore Tópicos de Ambiente Web - Prof. Sheila Cáceres 35
Árvore de busca!= espaço de estados Há 20 estados no mapa da romenia (mapa de estados). Há infinitos caminhos a percorrer (árvore de busca com número infinito de nós). Caminho infinito: Arad-- Sibiu-- Arad-- Sibiu-- Arad--... Tópicos de Ambiente Web - Prof. Sheila Cáceres 36
Estado vs nó Um estado é uma (representação de) uma configuração física. Um nó é uma estrutura de dados que é parte da árvore de busca e inclui estado,nó pai, ação, custo do caminho g(x), profundidade. Tópicos de Ambiente Web - Prof. Sheila Cáceres 37
Borda A coleção de nós que foram gerados, mas ainda não foram expandidos é chamada de borda ou fronteira. Geralmente implementados como uma fila A maneira como os nós entram na fila determina a estrategia de busca. Tópicos de Ambiente Web - Prof. Sheila Cáceres 38
Bibliografia Inteligencia Artificial de Stuart Russell e Peter Norvig, Capítulo 3. Tópicos de Ambiente Web - Prof. Sheila Cáceres 39