Resolução de Problemas por Meio de Busca
Busca sem InformaçãoGilzamir F. Gomes 24 de agosto de 2010
Visão Geral
1. Busca em Inteligência Articial (Origens)
2. Componentes de um Sistema de Busca
3. Agente de Resolução de Problemas
4. Tipos de Problemas
Referências
1. http://www.aaai.org/AITopics/pmwiki/pmwiki.php/AITopics/Search 2. Gardner, Anne. Search: An Overview. AI Magazine. Inverno de
1980-1981.
3. http://www.cse.unsw.edu.au/~billw/cs9414/notes/mandc/mandc.html 4. http://cs-alb-pc3.massey.ac.nz/notes/59302/l03.html
5. http://cs-alb-pc3.massey.ac.nz/notes/59302/l04.html
Busca em Inteligência Articial
I Em 1976, Newel e Simon propuseram que o comportamento
inteligente surge da manipulação de entidades simbólicas que representam outras entidades, e que o processo pelo qual a inteligência surge é a busca heurística [1].
I Busca é um processo de formular e examinar alternativas [1]. I Esta é a essência da busca escolher uma opção agora e
deixar as outras para depois, no caso da primeira escolha não levar a uma solução. Nós continuamos escolhendo, testando e expandindo até que uma solução seja encontrada e mais nenhum estado possa ser expandido. A escolha de qual estado expandir primeiro é determinado pela estratégia da busca [1].
Busca em Inteligência Articial
Busca incorpora uma classe geral de algoritmos para explorar um espaço de problema am de encontrar uma solução. Virtualmente, qualquer problema pode ser resolvido por meio de um algoritmo de busca, embora busca possa ser ineciente para tarefas tais quais aritmética. Métodos de busca podem ser divididos em algoritmos sistemáticos e não sistemáticos [1].
Aplicações
I Compreensão de Linguagem Natural.
I Recuperação de Informação (Information Retrieval). I Programação Automática
I Robótica
I Análise de Cenas I Sistemas Especialistas
Nesta Aula
I Encontrar uma solução para um quebra cabeças. I Encontrar a prova de um teorema em lógica ou em
matemática.
I Encontrar o caminho mais curto conectando um conjunto de
pontos equidistantes (o problema do caixeiro viajante).
I Encontrar uma sequencia de movimentos que vence um jogo,
ou o melhor movimento para fazer determinada quantidade de pontos em um jogo.
Componentes de um Sistema de Busca
I Base de dados: descreve a situação do domínio de tarefa e o
objetivo.
I Conjunto de Operadores: operadores que são utilizados para
alterar a base de dados.
I Estratégia de controle: para decidir em determinado momento
Componentes de um Sistema de Busca
I Exemplo:provador de teoremas
I Base de dados: asserções representando axiomas, lemas e
teoremas já provados.
I Conjunto de Operadores: regras de inferência como modus
ponens e resolução.
I Estratégia de controle: quais regras de inferências primeiro
Agente para Resolução de Problemas por Meio de Busca
I Primeiro passo da busca consiste em se denir um objetivo. A
esta fase denominados formulação de objetivo.
I O segundo passo consiste em formular o problema: dado onde
estamos e o objetivo, um problema consiste nos componentes necessários para se sair de uma estado inicial e se chegar a um estado objetivo.
I O terceiro passo consiste na própria busca.
I O quarto passo consiste na execução da sequência de ações
Agente para Resolução de Problemas
Exemplo: Missionários e Canibais
I Missionários e Canibais: dado uma barco com capacidade para
transportar dois passageiros, como atravessar seis pessoas de uma margem do rio a outra. Das seis pessoas, três são canibais e as outras três são missionários.
I Formular objetivo
I Atravessar com segurança os missionários e os canibais I Formular problemas
I Estado: localização de todos os personagens
I Ações: atravessar dois personagens de uma única vez. I Encontrar uma solução
I Uma sequencia de travessias que levam do estado em que todos os personagens se encontram na margem esquerda até o estado em que todos os personagens estejam na margem direita do rio.
Exemplo: Romênia
I Em férias na Romênia; atualmente em Arad. I Voos chegam amanhã a Bucharest.
I Formulação de Objetivos:
I Está em Bucharest.
I Formulação de Problemas:
I Estados: várias cidades I Ações: dirigir entre cidades
I Encontrar uma solução:
I Sequência de cidades, por exemplo, Arad, Sibiu, Fagaras,
Exemplo: Romênia
Tipos de Problemas
I Determinísticos, completamente observáveis: problemas de
estado único.
I Não-observável: problema de adaptação
I O agente pode ter nenhuma ideia de onde ele está; solução (se
alguma) é uma sequencia.
I Não-determinístico e ou parcialmente observável: problemas de
contingências
I Percepções proveem novas informações sobre o estado atual. I Solução é um plano de contingência ou uma política. I Frequentemente intercala busca e execução.
I Espaço de estados desconhecido: problema de exploração
Exemplo: Mundo do Aspirador de Pó
Estado único. Começa em #5. Solução??
Exemplo: Mundo do Aspirador de Pó
Estado único. Começa em #5. Solução??
[Direita, Aspirar]
Adaptação, começa em {1,2,3,4,5,6,7,8}
Por exemplo: Direita leva para {2,4,6,8}. Solução??
Exemplo: Mundo do Aspirador de Pó
Estado único. Começa em #5.Solução?? [Direita, Aspirar]
Adaptação, começa em {1,2,3,4,5,6,7,8}
Por exemplo: Direita leva para {2,4,6,8}. Solução??
[Direita, Aspirar, Esquerda, Aspirar]
Contigência, começa em #5 Lei de Murphy: Aspirar pode sujar um tapete limpo Sensor local: sujeira, localização apenas Solução??
Exemplo: Mundo do Aspirador de Pó
Estado único. Começa em #5.Solução?? [Direita, Aspirar]
Adaptação, começa em {1,2,3,4,5,6,7,8}
Por exemplo: Direita leva para {2,4,6,8}. Solução??
[Direita, Aspirar, Esquerda, Aspirar]
Contigência, começa em #5 Lei de Murphy: Aspirar pode sujar um tapete limpo Sensor local: sujeira, localização apenas Solução??
Formulação de Problema de Estado Único
Um problema é denido por quatro itens:
1. Estado inicial. Por exemplo, em Arad.
2. Função sucessora: S(x) conjunto de pares ação-estado. Por exemplo, S(Arad) = {< Arad → Zerind, Zerind >, ...}.
3. Teste de objetivo:
3.1 Explicito, por exemplo, x = ”Em Bucharest”.
3.2 Implicito, por exemplo, N˜aoSujo(x). 4. Custo de caminho (aditivo)
4.1 Por exemplo, soma de distâncias, número de ações executadas, etc.
4.2 c(x, a, y) é o custo de passo, assumido ser ≥ 0.
Uma solução é uma seqüência de ações que levam de um estado inicial a um estado objetivo.
Selecionando um Espaço de Estados
I O mundo real é absurdamente complexoI espaços de estado devem ser abstraídos para resolução de
problemas
I Estado (Abstrato) = conjunto de estados reais.
I Ação (Abstrata) = combinação complexa de ações reais.
I Por exemplo, ”Arad → Zerind” representa um conjunto
complexo de possíveis rotas, desvios, paradas, etc.
I Para garantir executabilidade, qualquer estado em Arad deve
resultar em algum estado real ”em Zerind”.
I Solução (Abstrata) = conjunto de caminhos reais que são
solução no mundo real.
I Cada ação abstrata deve ser tão fácil quanto aquela do
Exemplo: Espaço de Estados do Mundo do Aspirador de Pó
Estados?? Ações??
Teste de objetivo?? Custo de caminho??
Exemplo: Espaço de Estados do Mundo do Aspirador de Pó
Estados?? sujeira e localização do robô (ignora quantidade de sujeira)
Ações??
Teste de objetivo?? Custo de caminho??
Exemplo: Espaço de Estados do Mundo do Aspirador de Pó
Estados?? sujeira e localização do robô (ignora quantidade de sujeira)
Ações?? Esquerda, Direita, Aspirar, Nada
Teste de objetivo?? Custo de caminho??
Exemplo: Espaço de Estados do Mundo do Aspirador de Pó
Estados?? sujeira e localização do robô (ignora quantidade de sujeira)
Ações?? Esquerda, Direita, Aspirar, Nada
Teste de objetivo?? Nenhuma sujeira nas salas
Exemplo: Espaço de Estados do Mundo do Aspirador de Pó
Estados?? sujeira e localização do robô (ignora quantidade de sujeira)
Ações?? Esquerda, Direita, Aspirar, Nada
Teste de objetivo?? Nenhuma sujeira nas salas
Exemplo: quebra-cabeça de oito peças
Estado Inicial Estado Objetivo
Estados?? Ações??
Teste de objetivo?? Custo de caminho??
Exemplo: quebra-cabeça de oito peças
Estado Inicial Estado Objetivo
Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)
Ações??
Teste de objetivo?? Custo de caminho??
Exemplo: quebra-cabeça de oito peças
Estado Inicial Estado Objetivo
Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)
Ações?? Mover espaço vázio para a esquerda, direita, cima e baixo.
Teste de objetivo?? Custo de caminho??
Exemplo: quebra-cabeça de oito peças
Estado Inicial Estado Objetivo
Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)
Ações?? Mover espaço vázio para a esquerda, direita, cima e baixo.
Teste de objetivo?? Estado objetivo dado.
Exemplo: quebra-cabeça de oito peças
Estado Inicial Estado Objetivo
Estados?? Localizações inteiras de tijolos (ignora posições intermediárias)
Ações?? Mover espaço vázio para a esquerda, direita, cima e baixo.
Teste de objetivo?? Estado objetivo dado.
Custo de caminho?? 1 por movimento
[Observação: soluções ótimas da família de quebra-cabeças de n peças é NP-Difícil.]
Montagem de Robôs
Estados?? coordenadas de valor real de ângulos de juntas de robôs.
Ações?? Movimentos continuos de juntas de robôs.
Teste de objetivo?? Montagem completa com nenhum robô incluído.
Algoritmos de Busca em Árvore
I Idéia básica:I oine, exploração simulada do espaço de estados por meio da
geração de sucessores de estados já explorados (expansão de estados).
Implementação: Estado versus Nó
I Um estado é uma (representação de) uma conguração física I Um nó é uma estrutura de dados constituindo parte da árvore
de busca
I inclui pai, lhos, profundidade, custo de caminho g(x).
I Estados não possuem pai, lhos, profundidade ou custo de
caminho!
I A função EXPAND cria novos nós, preenchendo seus vários
campos e utilizando a função SUCCESSORFN (função sucessora) do problema para criar os estados correspondentes.
Estratégias de Busca
I Uma estratégia é denida pela escolha da ordem de expansão
dos nós.
I Estratégias são avaliadas ao longo das seguintes dimensões:
I completeza: sempre encontra uma solução, se esta solução
existe?
I Complexidade de tempo: número de nós gerados/expandidos. I Complexidade de espaço: número máximo de nós em memória. I Otimização: sempre encontra uma solução de menor custo?
I Complexidade de tempo e de espaço são medidos em termo de:
I b: fator de ramicação máximo da árvore de busca. I d: profundidade da solução de menor custo.
Estratégias de Busca sem Informação
I Estratégias sem informação utilizam apenas as informações
disponíveis na denição do problema.
I Busca em amplitude
I Busca de custo Uniforme (??) I Busca em profundidade
I Busca em profundidade limitada I Busca de aprofundamento iterativo
Busca em Amplitude
I Expande o nó mais raso ainda não expandido. I Implementação:
Busca em Amplitude
I Expande o nó mais raso ainda não expandido. I Implementação:
Busca em Amplitude
I Expande o nó mais raso ainda não expandido. I Implementação:
Busca em Amplitude
I Expande o nó mais raso ainda não expandido. I Implementação:
Propriedades da Busca em Amplitude
I Completa?? I Tempo?? I Espaço?? I Ótima??
Propriedades da Busca em Amplitude
I Completa?? Sim (se b for nito) I Tempo??
I Espaço?? I Ótima??
Propriedades da Busca em Amplitude
I Completa?? Sim (se b for nito)
I Tempo?? 1 + b + b² + b3+ ... +bd+b(bd−1) = O(bd+1), isto é, exponencial em d.
I Espaço?? I Ótima??
Propriedades da Busca em Amplitude
I Completa?? Sim (se b for nito)
I Tempo?? 1 + b + b² + b3+ ... +bd+b(bd−1) = O(bd+1), isto é, exponencial em d.
I Espaço?? O(bd+1) (mantém todos os nós em memória)
Propriedades da Busca em Amplitude
I Completa?? Sim (se b for nito)
I Tempo?? 1 + b + b² + b3+ ... +bd+b(bd−1) = O(bd+1), isto é, exponencial em d.
I Espaço?? O(bd+1) (mantém todos os nós em memória)
I Ótima?? Sim (se custo de passo = 1); não ótima em geral.
Espaço é um grande problema; pode facilmente gerar nós a 100MB/s, então 24h =8640 GB.
Busca de Custo Uniforme
I Expande o nó de menor custo ainda não expandido. I Implementação:
I borda = lista ordenada por custo de caminho, menor primeiro.
I Equivalente à busca em amplitude se todos os custos de
passos forem iguais
I Completa?? Sim, se custo de passo ≥ , onde é uma
constante positiva pequena.
I Tempo?? # de nós com g ≤custo da solução ótima,
O(bdC∗/e
), onde C∗é o custo da solução ótima.
I Espaço?? # de nós com g ≤custo da solução ótima,
O(bdC∗/e
)
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Busca em Profundidade
I Expande o nó mais profundo ainda não expandido. I Implementação:
Propriedade da Busca em Profundidade
I Completa?? I Tempo?? I Espaço?? I Ótima??
Propriedade da Busca em Profundidade
I Completa?? Não, falha em espaços de profundidade innita,
espaços com laços
I Completa em espaços nitos.
I Tempo?? I Espaço?? I Ótima??
Propriedade da Busca em Profundidade
I Completa?? Não, falha em espaços de profundidade innita,
espaços com laços
I Completa em espaços nitos.
I Tempo?? O(bm): terrível se m é muito maior do que d.
I Mas se soluções são densas, pode ser muito mais rápida do
que a busca em amplitude. I Espaço??
Propriedade da Busca em Profundidade
I Completa?? Não, falha em espaços de profundidade innita,
espaços com laços
I Completa em espaços nitos.
I Tempo?? O(bm): terrível se m é muito maior do que d.
I Mas se soluções são densas, pode ser muito mais rápida do
que a busca em amplitude.
I Espaço?? O(bm), isto é, espaço linear! I Ótima??
Propriedade da Busca em Profundidade
I Completa?? Não, falha em espaços de profundidade innita,
espaços com laços
I Completa em espaços nitos.
I Tempo?? O(bm): terrível se m é muito maior do que d.
I Mas se soluções são densas, pode ser muito mais rápida do
que a busca em amplitude.
I Espaço?? O(bm), isto é, espaço linear! I Ótima?? Não.
Busca em Profundidade Limitada
I Busca em profundidade com limite de profundidade l, isto é,
nós na profundidade l não têm sucessores.
Propriedades da Busca de Aprofundamento Iterativo
I Completa?? I Tempo?? I Espaço?? I Ótima??
Propriedades da Busca de Aprofundamento Iterativo
I Completa?? SimI Tempo?? (d + 1)b0+db1+ (d − 1)b2+ ... +bd =O(bd)
I Espaço?? O(bd)
I Ótima?? Sim, se custo de passo = 1
I Pode ser modicada para explorar árvores de busca de custo
uniforme.
I Comparação numérica para b = 10 e d = 5, solução no nó
mais à direita:
I N(BAI ) = 50 + 400 + 3000 + 20000 + 100000 = 123450 I N(BA) = 10 + 100 + 1000 + 10000 + 100000 + 999990 =
1, 111, 100
I BAI é melhor porque outros nós na profundidade d não são
expandidos
I BA pode ser modicada para aplicar teste de objetivo quando
Estados Repetidos
I Falha para detectar estados repetidos pode tornar um
Resumo
I Formulação de problema normalmente requer abstrair detalhes
do mundo real para se denir um espaço de estados que pode ser explorado de forma viável.
I Várias buscas não informadas.
I Busca de Aprofundamento Iterativo utiliza apenas espaço
linear e não mais tempo do que qualquer outro algoritmo não-informado.
I Busca em grafo pode ser exponencialmente mais eciente do