ia aula 03 busca 2012
DESCRIPTION
Notas de aula sobre busca.TRANSCRIPT
-
INF 1771 Inteligncia Artificial
Edirlei Soares de Lima
Aula 03 Resoluo de Problemas por Meio de Busca
-
Introduo
Agentes Autnomos: Entidades autnomas capazes de observar o ambiente e
agir de forma de forma autnoma com o objetivo de atingir determinado objetivo.
Tipos de Agentes: Agentes reativos simples;
Agentes reativos baseado em modelo;
Agentes baseados em objetivos;
Agentes baseados na utilidade;
Agentes baseados em aprendizado;
-
Problema de Busca
Objetivo: Conjunto de estados que satisfazem o objetivo.
Tarefa de Busca: Encontrar a sequencia de aes que leva do estado atual at um estado objetivo.
Quais so os estados?
Quais so as aes?
Nvel de abstrao?
-
Problema de Busca
Bucharest
Arad
Sibiu
Timisoara
Zerind
-
Problema de Busca
-
Problema de Busca
O processo de tentar encontrar uma sequencia de aes que leva de um estado at um estado objetivo chamado de busca.
Uma vez encontrada a soluo, o agente pode executar a sequencia de aes para chegar no objetivo.
Fases: Formular objetivo
Buscar objetivo
Executar sequencia de aes
-
Problema de Busca
function SIMPLE-PROBLEM-SOLVING-AGENT(percept) return an action
static: seq, an action sequence
state, some description of the current world state
goal, a goal
problem, a problem formulation
state UPDATE-STATE(state, percept)
if seq is empty then
goal FORMULATE-GOAL(state)
problem FORMULATE-PROBLEM(state,goal)
seq SEARCH(problem)
action FIRST(seq)
seq REST(seq)
return action
-
Definio do Problema
A definio do problema a primeira e mais importante etapa do processo de resoluo de problemas de inteligncia artificial por meio de buscas.
Consiste em analisar o espao de possibilidades de resoluo do problema, encontrar sequncias de aes que levem a um objetivo desejado.
-
Definio de um Problema
Estado Inicial: Estado inicial do agente.
Ex: Em(Arad)
Estado Final: Estado buscado pelo agente.
Ex: Em(Bucharest)
Aes Possveis: Conjunto de aes que o agente pode executar.
Ex: Ir(Cidade, PrximaCidade)
Espao de Estados: Conjunto de estados que podem ser atingidos a partir do estado inicial.
Ex: Mapa da Romnia.
Custo: Custo numrico de cada caminho.
Ex: Distncia em KM entre as cidades.
-
Consideraes em Relao ao Ambiente
Esttico: O Ambiente no pode mudar enquanto o agente est realizando a resoluo
do problema.
Observvel: O estado inicial do ambiente precisa ser conhecido previamente.
Determinstico: O prximo estado do agente deve ser determinado pelo estado atual + ao. A
execuo da ao no pode falhar.
-
Exemplo: Aspirador de P
Espao de Estados: 8 estados possveis (figura ao lado);
Estado Inicial: Qualquer estado;
Estado Final: Estado 7 ou 8 (ambos quadrados limpos);
Aes Possveis: Mover para direita, mover para esquerda e limpar;
Custo: Cada passo tem o custo 1, assim o custo do caminho definido pelo nmero de passos;
-
Exemplo: Aspirador de P
-
Exemplo: 8-Puzzle
Espao de Estados: 181.440 possveis estados;
Estado Inicial: Qualquer estado;
Estado Final: Figura ao lado Goal State;
Aes Possveis: Mover o quadrado vazio para direita, para esquerda, para cima ou para baixo;
Custo: Cada passo tem o custo 1, assim o custo do caminho definido pelo nmero de passos;
15-puzzle (4x4) 1.3 trilhes estados possveis. 24-puzzle (5x5) 10 estados possveis.
-
Exemplo: Xadrez
Espao de Estados: Aproximadamente 1040 possveis estados (Claude Shannon, 1950);
Estado Inicial: Posio inicial de um jogo de xadrez;
Estado Final: Qualquer estado onde o rei adversrio est sendo atacado e o adversrio no possui movimentos vlidos;
Aes Possveis: Regras de movimentao de cada pea do xadrez;
Custo: Quantidade de posies examinadas;
-
Exemplo: 8 Rainhas (Incremental)
Espao de Estados: Qualquer disposio de 0 a 8 rainhas no tabuleiro (1.8 x 10 possveis estados);
Estado Inicial: Nenhuma rainha no tabuleiro;
Estado Final: Qualquer estado onde as 8 rainhas esto no tabuleiro e nenhuma esta sendo atacada;
Aes Possveis: Colocar uma rainha em um espao vaio do tabuleiro;
Custo: No importa nesse caso;
* O jogo possui apenas 92 possveis solues (considerando diferentes rotaes e reflexes). E apenas 12 solues nicas.
-
Exemplo: 8 Rainhas (Estados Completos)
Espao de Estados: Tabuleiro com n rainhas, uma por coluna, nas n colunas mais a esquerda sem que nenhuma rainha ataque outra (2057 possveis estados);
Estado Inicial: Nenhuma rainha no tabuleiro;
Estado Final: Qualquer estado onde as 8 rainhas esto no tabuleiro e nenhuma esta sendo atacada;
Aes Possveis: Adicionar uma rainha em qualquer casa na coluna vazia mais esquerda de forma que no possa ser atacada;
Custo: No importa nesse caso;
-
Exerccios
Torre de Hani?
Canibais e Missionrios?
-
Exerccios
Torre de Hani:
Espao de Estados: Todas as possveis configuraes de argolas em
todos os pinos (27 possveis estados).
Aes Possveis: Mover a primeira argola de qualquer pino para o pino da direita ou da esquerda.
Custo: Cada movimento tem 1 de custo.
-
Exerccios
-
Exerccios
Canibais e Missionrios:
Espao de Estados: Todas as possveis configuraes validas de
canibais e missionrios em cada lado do rio (16 possveis estados).
Aes Possveis: Mover 1 ou 2 personagens (canibais ou missionrios) para o outro lado do rio. O nmero de canibais em um determinado lado do rio no pode ser maior do que o nmero de missionrios.
Custo: Cada movimento tem 1 de custo.
-
Exerccios
-
Aplicaes em Problemas Reais
Clculo de Rotas:
Planejamento de rotas de avies;
Sistemas de planejamento de viagens;
Caixeiro viajante;
Rotas em redes de computadores;
Jogos de computadores (rotas dos personagens);
Alocao
Salas de aula;
Mquinas industriais;
-
Aplicaes em Problemas Reais
Circuitos Eletrnicos:
Posicionamento de componentes;
Rotas de circuitos;
Robtica:
Navegao e busca de rotas em ambientes reais;
Montagem de objetos por robs;
-
Como Encontrar a Soluo?
Uma vez o problema bem formulado, o estado final (objetivo) deve ser buscado no espao de estados.
A busca representada em uma rvore de busca: Raiz: corresponde ao estado inicial;
Expande-se o estado corrente, gerando um novo conjunto de sucessores;
Escolhe-se o prximo estado a expandir seguindo uma estratgia de busca;
Prossegue-se at chegar ao estado final (soluo) ou falhar na busca pela soluo;
-
Buscando Solues
Exemplo: Ir de Arad para Bucharest
Arad
Sibiu Timissoara Zerind
Arad Fagaras Orades Rimnico Vilcea
-
Buscando Solues
O espao de estados diferente da rvore de buscas.
Exemplo:
20 estados no espao de estados;
Nmero de caminhos infinito;
rvore com infinitos ns;
-
Cdigo Descritivo Busca em rvore
Funo BuscaEmArvore(Problema, Estratgia) retorna soluo ou falha
Inicio
Inicializa a arvore usando o estado inicial do Problema
loop do
se no existem candidatos para serem expandidos ento
retorna falha
Escolhe um n folha para ser expandido de acordo com
a Estratgia
se Se o n possuir o estado final ento
retorna soluo correspondente
se no
expande o n e adiciona os ns resultantes a
arvore de busca
Fim
-
Pseudocdigo Busca em rvore
Funo BuscaEmArvore(Problema, fronteira) retorna soluo ou falha
Inicio
fronteira InsereNaFila(FazN(Problema[EstadoInicial]), fronteira)
loop do
se FilaVazia(fronteira) ento
retorna falha
n RemovePrimeiro(fronteira)
se n[Estado] for igual a Problema[EstadoFinal] ento
retorna Soluo(n)
fronteira InsereNaFila(ExpandeFronteira(n, Problema), fronteira)
Fim
- A funo Soluo retorna a sequncia de ns necessrios para
retornar a raiz da arvore.
- Considera-se fronteira uma estrutura do tipo fila.
-
Medida de Desempenho
Desempenho do Algoritmo: (1) O algoritmo encontrou alguma soluo?
(2) uma boa soluo? Custo de caminho (qualidade da soluo).
(3) uma soluo computacionalmente barata? Custo da busca (tempo e memria).
Custo Total Custo do Caminho + Custo de Busca.
-
Mtodos de Busca
Busca Cega ou Exaustiva: No sabe qual o melhor n da fronteira a ser expandido. Apenas
distingue o estado objetivo dos no objetivos.
Busca Heurstica: Estima qual o melhor n da fronteira a ser expandido com base em
funes heursticas.
Busca Local: Operam em um nico estado e movem-se para a vizinhana deste
estado.
-
Busca Cega
Algoritmos de Busca Cega:
Busca em largura;
Busca de custo uniforme;
Busca em profundidade;
Busca com aprofundamento iterativo;
-
Busca em Largura
Estratgia: O n raiz expandido, em seguida todos os ns sucessores so
expandidos, ento todos prximos ns sucessores so expandidos, e assim em diante.
A
B
D E
C
F G
-
Busca em Largura Pode ser implementado com base no pseudocdigo da funo
BuscaEmArvore apresentado anteriormente. Utiliza-se uma estrutura de fila (first-in-first-out) para armazenar os ns das fronteira.
Complexidade:
)( 1dbO
Profundidade (d) Ns Tempo Memria
2 1100 0.11 ms 107 KB
4 111,100 11 ms 10.6 MB
6 10 1.1 seg 1 GB
8 10 2 min 103 GB
10 10 3 horas 10 TB
12 10 13 dias 1 PB
14 10 3.5 anos 99 PB
* Considerando o nmero de folhas b = 10 e cada n ocupando 1KB de memria.
15
13
11
9
7
-
Busca em Profundidade
Estratgia: Expande os ns da vizinhana at o n mais profundo.
A
B
E F
D C
M N P Q
-
Busca em Profundidade
Pode ser implementado com base no pseudocdigo da funo BuscaEmArvore apresentado anteriormente. Utiliza-se uma estrutura de pilha (last-in-first-out) para armazenar os ns das fronteira.
Pode tambm ser implementado de forma recursiva.
Consome pouca memria, apenas o caminho de ns sendo analisados precisa armazenado. Caminhos que j foram explorados podem ser descartados da memria.
-
Busca em Profundidade
Uso de memria pela busca em largura em uma arvore com 12 de profundidade: 1000 TB.
Uso de memria pela busca em profundidade em uma arvore com 12 de profundidade: 118 KB.
Problema: O algoritmo pode fazer uma busca muito longa mesmo quando a resposta do problema esta localizado a poucos ns da raiz da rvore.
-
Busca de Custo Uniforme
Estratgia: Expande sempre o n de menor custo de caminho. Se o custo de todos
os passos for o mesmo, o algoritmo acaba sendo o mesmo que a busca em largura.
A
B
E F
D
G H
C
75
170
118
71 75 99 111
-
Busca de Custo Uniforme
A primeira soluo encontrada a soluo tima se custo do caminho sempre aumentar ao logo do caminho, ou seja, no existirem operadores com custo negativo.
Implementao semelhante a busca em largura. Adiciona-se uma condio de seleo dos ns a serem expandidos.
Complexidade: Onde:
C = custo da soluo tima;
= custo mnimo de uma ao;
)( )/(1 CbO
-
Busca com Aprofundamento Iterativo
Estratgia: Consiste em uma busca em profundidade onde o limite de profundidade incrementado gradualmente.
A
B
E F
D C
M N P Q
Limit 0
Limit 1
G H
P Q
Limit 2
Limit 3
-
Busca com Aprofundamento Iterativo
Combina os benefcios da busca em largura com os benefcios da busca em profundidade.
Evita o problema de caminhos muito longos ou infinitos.
A repetio da expanso de estados no to ruim, pois a maior parte dos estados est nos nveis mais baixos.
Cria menos estados que a busca em largura e consome menos memria.
-
Busca Bidirecional
Estratgia: A busca se inicia ao mesmo tempo a partir do estado inicial
e do estado final.
A
B
D E
C
G
N M
-
Comparao dos Mtodos de Busca Cega
Criterio Largura Uniforme Profundidade Aprofundamento Iterativo
Bidirecional
Completo? Sim Sim , No Sim Sim ,
timo? Sim Sim No Sim Sim ,
Tempo
Espao
)( 1dbO )()/(1 CbO )( mbO )(
dbO )( 2/dbO
)( 2/dbO)(bdO)(bmO)()/(1 CbO )( 1dbO
b = fator de folhas por n. d = profundidade da soluo mais profunda. m = profundidade mxima da rvore. completo se b for finito. completo se o custo de todos os passos for positivo. timo se o custo de todos os passos for idntico. se ambas as direes usarem busca em largura.
-
Como evitar estados repetidos?
Estados repetidos sempre vo ocorrer em problema onde os estados so reversveis.
Como evitar?
No retornar ao estado pai.
No retorna a um ancestral.
No gerar qualquer estado que j tenha sido criado antes (em qualquer ramo). Requer que todos os estados gerados permaneam na memria.
-
Busca com Informao Parcial
Anteriormente supomos que o ambiente era esttico, completamente observvel e determinstico.
O que fazer se o conhecimento sobre os estados ou aes incompleto?
-
Busca com Informao Parcial
Agente sem sensores: em alguns casos o agente no tem nenhum sensor para saber em qual estado ele est.
Podendo estar em um de vrios possveis estados.
Cada ao pode levar o agente para um de vrios possveis estados sucessores.
Exemplo: Aspirador de p sem sensores.
-
Busca com Informao Parcial
O estado inicial um dos possveis estados {1, 2, 3, 4, 5, 6, 7, 8}.
Executar a ao MoverDireita sempre vai levar o agente para um dos estados {2, 4, 6, 8}.
A sequencia de aes [MoverDireita, Limpar] sempre vai levar o agente para um dos estados {4, 8}.
A sequencia de aes [MoverDireita, Limpar, MoverEsqueda, Limpar] sempre vai levar o agente para o estado 7.
-
Busca com Informao Parcial
O agente consegue atingir o estado objetivo sem saber onde ele comeou.
O agente deve raciocinar sobre o conjunto de estados que ele pode estar em vez de um nico estado.
Estados de crena.
A busca realizada no espao de estados de crena.
-
Leitura Complementar
Russell, S. and Novig, P. Artificial Intelligence: a Modern Approach, 2nd Edition, Prentice-Hall,
2003.
Captulo 3: Solving Problems by Searching