Post on 04-Mar-2016
description
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