Você está na página 1de 31

Agente solucionador de problemas (guiado por objetivo)

O agente reativo
Escolhe suas aes com base apenas nas percepes atuais
no tem estado interno portanto, no pode pensar no futuro

No sabe aonde vai


4 5 1 2 8 6 3

1 4 7

2 5 8

3 6

O Agente solucionador de problemas


busca uma seqncia de aes que leve a estados desejveis (objetivos).
CIn- UFPE

Agentes solucionadores de problemas


O que um problema em I.A.? Como formul-lo? Como buscar a soluo do problema?
Busca cega Busca heurstica

Quais so os tipos de problemas?

Quais so as aplicaes?

CIn- UFPE

Soluo de Problemas: definies


Um problema em IA definido em termos de... 1) um espao de estados possveis, incluindo:
um estado inicial um (ou mais) estado final = objetivo exemplo 1: dirigir de Recife a Cajazeiras
espao de estados: todas as cidades da regio

exemplo 2: jogo de 8-nmeros


incio: 4 5 8 1 6 7 2 3 fim: 1 2 3 4 5 6 7 8

2) um conjunto de aes (ou operadores) que permitem passar de um estado a outro


ex1. dirigir de uma cidade a outra
CIn- UFPE

Soluo de Problemas: definies


Definio do objetivo:
propriedade abstrata
ex., condio de xeque-mate no Xadrez

conjunto de estados finais do mundo


ex., estar em Cajazeiras

Soluo:
caminho (seqncia de aes ou operadores) que leva do estado inicial a um estado final (objetivo).

Espao de Estados:
conjunto de todos os estados alcanveis a partir do estado inicial por qualquer seqncia de aes.

CIn- UFPE

Solucionando o problema:
formulao, busca e execuo
Formulao do problema e do objetivo:
quais so os estados e as aes a considerar? qual (e como representar) o objetivo?

Busca (soluo do problema):


processo que gera/analisa seqncias de aes para alcanar um objetivo soluo = caminho entre estado inicial e estado final. custo do caminho = qualidade da soluo

Execuo:
executar a soluo completa encontrada, ou intercalar execuo com busca: planejamento
CIn- UFPE

Exemplos de formulao de problema


Jogo de 8 nmeros:
estados = cada possvel configurao do tabuleiro estado inicial = qualquer um dos estados possveis teste de trmino = ordenado, com branco na posio [3,3] operadores = mover branco (esquerda, direita, para cima e para baixo) custo do caminho = nmero de passos da soluo

Ida para Cajazeiras:


estados = cada possvel cidade do mapa estado inicial = Jeremoabo teste de trmino = estar em Cajazeiras operadores = dirigir de uma cidade para outra custo do caminho = nmero de cidades visitadas, distncia percorrida, tempo de viagem, grau de divertimento, etc
CIn- UFPE

rvore de busca para o jogo dos 8 nmeros


4
7

up

5 1 2

8 6 3
right

down

4 7
down

5 1 2

8 6 3
right

4 1 7

5 2

8 6 3

4 7

5 1 2

8 6 3

1 4 7

2 5 8

3 6
CIn- UFPE

Jeremoabo Cajazeiras

CIn- UFPE
8

Agentes Solucionadores de Problemas


formulao, busca e execuo
funo Agente-Simples-SP(p) retorna uma ao entrada: p, um dado perceptivo estado Atualiza-Estado (estado, p) se s (seqncia de aes) est vazia ento o (objetivo) Formula-Objetivo (estado) problema Formula-Problema (estado, o) s Busca (problema) ao Primeira (s, estado) s Resto (s, estado) retorna ao
CIn- UFPE

10

Medida de Desempenho na Busca


Desempenho de um algoritmo de busca:
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

Espao de estados grande:


compromisso (conflito) entre a melhor soluo e a soluo mais barata

CIn- UFPE

11

Custo diferente => Soluo diferente


Funo de custo de caminho
(1) nmero de cidades visitadas, (2) distncia entre as cidades, (3) tempo de viagem, etc.

Soluo mais barata:


(1) Canudos, Belm do S. Francisco, Salgueiro, ... (2) Canudos, Belm do S. Francisco, Salgueiro, ... (3) Canudos, Juazeiro, Pretrolina, Cabrob, Salgueiro

CIn- UFPE

12

Importncia da formulao
Jogo das 8 Rainhas
dispor 8 rainhas no tabuleiro de forma que no possam se atacar
no pode haver mais de uma rainha em uma mesma linha, coluna ou diagonal

somente o custo da busca conta


no existe custo de caminho

Existem diferentes estados e operadores possveis


essa escolha pode ter conseqncias boas ou nefastas na complexidade da busca ou no tamanho do espao de estados
CIn- UFPE

13

Formulaes para 8 Rainhas


Formulao A
estados: qualquer disposio com n (n 8) rainhas operadores: adicionar uma rainha a qualquer quadrado 64^8 possibilidades: vai at o fim para testar se d certo estados: disposio com n (n 8) rainhas sem ataque mtuo (teste gradual) operadores: adicionar uma rainha na coluna vazia mais esquerda em que no possa ser atacada melhor (2057 possibilidades), mas pode no haver ao possvel estados: disposio com 8 rainhas, uma em cada coluna operadores: mover uma rainha atacada para outra casa na mesma coluna
CIn- UFPE

Formulao B

Formulao C

14

Tipos de Problemas
Existem 4 tipos
Problemas de estado nico (o mais tratado por busca!)
Problemas de mltiplos estados Problemas contingenciais

Problemas exploratrios

Tudo depende do conhecimento do agente...

CIn- UFPE

15

Exemplo: Agente Aspirador de P

Formulao do problema:
estados = mostrados na figura estado inicial = qualquer um dos estados possveis teste de trmino = os dois quartos limpos operadores = mover direita, mover esquerda, aspirar custo do caminho = quantidade de aes realizadas
CIn- UFPE

16

Tipo 1: Problemas de estado nico


Conhecimento do agente
sabe em que estado est (mundo totalmente acessvel) sabe o efeito de cada uma de suas aes
=> sabe onde est depois de uma seqncia qualquer de aes

Cada ao leva a um nico estado


ex. aspirador de p:
estado inicial = 5 seqncia de aes = [direita, aspirar] leva ao estado 8 (final)

Tcnica a aplicar: Busca


CIn- UFPE

Espao de estado do agente aspirador

18

Tipo 2: Problemas de mltiplos estados


Conhecimento do agente
no sabe seu estado inicial (percepo deficiente), mas sabe o efeito de suas aes, OU no sabe o efeito das aes (execuo deficiente), mas sabe seu estado inicial lei de Murphy: aspira poeira existente e tambm pode jogar poeira
quando o quarto j estava limpo

O agente deve raciocinar sobre os conjuntos de estados aos quais ele pode chegar pelas aes. Nestes casos, sempre existe uma seqncia de aes que leva a um estado final. Tcnica a aplicar: Busca
CIn- UFPE

Exemplo - problema tipo 2

20

Tipo 3: Problemas contingenciais


Conhecimento do agente:
o agente no enxerga o ambiente inteiro OU o agente no sabe precisar o efeito das aes
exs. agente enxerga apenas o quarto onde est, dirigir com mapa

No h seqncia prvia de aes que garanta a soluo do problema O agente precisa intercalar busca e execuo
ex. o agente s pode decidir aspirar quando chegar ao quarto {1,5} -> [aspirar, direita, aspirar se existe poeira]

Tcnica a aplicar: Planejamento


O agente constri uma rvore de aes, onde cada ramo lida com uma possvel contingncia.
CIn- UFPE

21

Tipo 4: Problemas exploratrios


Conhecimento do agente:
o agente no conhece seus possveis estados E o agente no sabe o efeito de suas aes
ex. estar perdido em uma cidade desconhecida sem mapa.

O agente deve explorar seu ambiente, descobrindo gradualmente o resultado de suas aes e os estados existentes.
Se o agente sobreviver, ter aprendido um mapa do ambiente, que poder ser reutilizado em problemas subseqentes.

Tcnica a aplicar: Aprendizagem

CIn- UFPE

Aplicaes de Busca: Toy Problems


Jogo das n rainhas

22

Jogo dos n nmeros (n-puzzle)


Criptoaritmtica Palavras cruzadas
send + more --------money

Canibais e missionrios

CIn- UFPE

23

Aplicaes: Problemas Reais


Clculo de rotas
rotas em redes de computadores sistemas de planejamento de viagens planejamento de rotas de avies Caixeiro viajante

Alocao (Scheduling)
Salas de aula Mquinas industriais (job shop)

Projeto de VLSI
Cell layout Channel routing
CIn- UFPE

24

Aplicaes: Problemas Reais


Navegao de robs:
generalizao do problema da navegao robs movem-se em espaos contnuos, com um conjunto (infinito) de possveis aes e estados
controlar os movimentos do rob no cho, e de seus braos e pernas requer espao multi-dimensional

Montagem de objetos complexos por robs:


ordenar a montagem das diversas partes do objeto

etc...

CIn- UFPE

25

Busca em Espao de Estados


Uma vez o problema bem formulado... o estado final deve ser buscado Em outras palavras, deve-se usar um mtodo de busca para saber a ordem correta de aplicao dos operadores que lavar do estado inicial ao final Uma vez a busca terminada com sucesso, s executar a soluo (= conjunto ordenado de operadores a aplicar)

CIn- UFPE

Busca em Espao de Estados: Gerao e Teste


Fronteira do espao de estados
ns (estados) a serem expandidos no momento.

26

Algoritmo:
Obs: o algoritmo comea com a fronteira contendo o estado
inicial do problema.
1. Selecionar o primeiro n (estado) da fronteira do espao de estados; - se a fronteira est vazia, o algoritmo termina com falha. 2. Testar se o n um estado final (soluo): - se sim, ento retornar n - a busca termina com sucesso. 3. Gerar um novo conjunto de estados pela aplicao dos operadores ao estado selecionado; 4. Inserir os ns gerados na fronteira, de acordo com a estratgia de busca usada, e voltar para o passo (1).
CIn- UFPE

27

Exemplo: viajar de Jeremoabo a Cajazeiras


estado inicial => Jeremoabo

Jeremoabo
canudos Paulo Afonso Aracaju

Jeremoabo canudos Petrolina Paulo Afonso Aracaju

B. do S. Francisco

CIn- UFPE

Busca em Espao de Estados: Implementao


Espaos de Estados
podem ser representados como uma rvore onde os estados so ns e as operaes so arcos.

28

Os ns da rvore podem guardar mais informao do que apenas o estado: so uma estrutura de dados com 5 componentes:
1. o estado correspondente 2. o seu n pai 3. o operador aplicado para gerar o n (a partir do pai) 4. a profundidade do n 5. o custo do n (desde a raiz)
CIn- UFPE

29

Busca em Espao de Estados: implementao


Algoritmo: Funo-Insere: controla a ordem de insero de ns na fronteira do espao de estados.

funo Busca-Genrica (problema, Funo-Insere) retorna uma soluo ou falha

fronteira Faz-Fila (Faz-N (Estado-Inicial [problema] ) ) loop do se fronteira est vazia ento retorna falha n Remove-Primeiro (fronteira) se Teste-Trmino [problema] aplicado a Estado [n] tiver sucesso ento retorna n fronteira Funo-Insere (fronteira, Operadores [problema]) CIn- UFPE

30

Mtodos de Busca
Busca exaustiva - cega
No sabe qual o melhor n da fronteira a ser expandido = menor custo de caminho desse n at um n final (objetivo). Estratgias de Busca (ordem de expanso dos ns):
caminhamento em largura caminhamento em profundidade

Direo de Busca:
Do estado inicial para o objetivo Do objetivo para o estado inicial

Busca heurstica - informada


Estima qual o melhor n da fronteira a ser expandido com base em funes heursticas => conhecimento Estratgia de busca: best-first search (melhor escolha)

Direo de Busca: idem busca cega


CIn- UFPE

Critrios de Avaliao das Estratgias de Busca


Completude:
a estratgia sempre encontra uma soluo quando existe alguma?

31

Custo do tempo:
quanto tempo gasta para encontrar uma soluo?

Custo de memria:
quanta memria necessria para realizar a busca?

Otimalidade/qualidade (optimality):
a estratgia encontra a melhor soluo quando existem diferentes solues?

CIn- UFPE