Vous êtes sur la page 1sur 42

lnteligncia Artificial

Estratgias de Busca No Informada

Reviso: incio

Definio de Problema: 4 itens


1. 2.

Estado inicial do agente Descrio das possveis aes do agente:


Pela funo sucessor: suc (estado-atual) = (ao, estado-sucessor) Pelo conjunto de operadores. Pode ser um conjunto de estados-objetivos ou Propriedade mais abstrata (ex. cheque-mate em xadrez) avalia numericamente cada soluo (medida de desempenho)

3.

Um teste de trmino:

4.

Uma funo de custo da soluo

Definio de Soluo
O estado inicial e a funo sucessor definem o espao de estados do problema O espao de estados descrito por um grafo onde os vrtices representam estados e as arestas, aes. Um caminho no espao de estados uma seqncia de estados conectada por uma seqncia de aes. Uma soluo para um problema um caminho do estado inicial para um estado meta (objetivo). A qualidade da soluo medida pela funo de custo da soluo.
4

Como encontrar a soluo?


Uma vez formulado o problema, o estado meta deve ser buscado no espao de estados A busca representada em uma rvore de busca:
1. Raiz: corresponde ao estado inicial. 2. Expande-se o estado corrente: aplica-se a funo sucessor ao estado corrente, gerando um novo conjunto de sucessores. 3. Escolhe-se o prximo estado a expandir seguindo uma estratgia de busca 4. Prossegue-se at sucesso (atingir estado meta retorna soluo) ou falha
5

rvore de busca para o jogo dos 8 nmeros


4 7 5 1 2 8 6 3
right

up

down

4 7
down

5 1 2

8 6 3
right

4 5 1 7 2

8 6 3

4 7

5 1 2

8 6 3

1 4 7

2 5 8

3 6
6

Medida de Desempenho na Busca (1)


Desempenho de um algoritmo de busca:
Completo: se existir uma soluo, ela certamente encontrada? timo: a busca encontra a soluo de menor custo? Complexidade temporal: quanto tempo demora para encontrar a soluo? Complexidade espacial: quanto de memria usada para realizar a busca? Em IA a rvore de busca tipicamente infinita complexidade expressa por:
b : fator de ramificao (branching) ou nmero mximo de sucessores de um n; d : profundidade (depth) do n-meta mais prximo da raiz; m : comprimento mximo de um caminho no espao de estados.
7

Medida de Desempenho na Busca (2)


Custo total = custo da soluo + custo da busca
custo da soluo (ex. TSP: caminho total, em km) custo da busca (tipicamente depende da complexidade em tempo) Problema: relacionar custo da soluo (km) com o da busca (seg)

Espao de estados grande:


compromisso (conflito) entre a melhor soluo (menor custo da soluo) e a soluo mais eficiente (menor custo da busca)

Reviso: fim

Mtodos de Busca
Busca no informada (busca cega / exaustiva)
No tem informao sobre qual sucessor mais promissor para atingir a meta. Estratgias de Busca (ordem de expanso dos
ns): busca em largura busca de custo uniforme busca em profundidade busca em profundidade limitada 10 busca em prof. com aprofundamento iterativo busca bidirecional

Busca no informada
A busca no informada (ou busca cega) no possui estimativas sobre qual sucessor mais promissor para atingir a meta. Fronteira : todos os ns gerados e ainda no expandidos (ou visitados) da rvore de busca.
: Ns expandidos : Ns da fronteira
Fronteira
11

Estratgias de Busca Cega


Busca em Largura Busca de Custo Uniforme Busca em Profundidade Busca em Profundidade Limitada Busca em Profundidade com Aprofundamento Iterativo Busca Bidirecional Evitando Estados Repetidos Busca com Conhecimento Incompleto
12

Busca em Largura
Ordem de expanso dos ns:
1. N raiz 2. Todos os ns de profundidade 1 3. Todos os ns de profundidade 2, etc

Fronteira = FIFO (first-in-first-out) insere no fim da fila


A F=[A] B F=[BC] A C D B E A C D B E F A C G
13

F=[CDE]

F=[DEFG]

Desempenho da busca em largura


Completa?
Se b finito, completa: se um n-meta estiver a uma profundidade d, a busca em largura sempre ir encontr-lo.

tima?
Nem sempre caminho mais curto (n-meta mais prximo da raiz) melhor caminho tima se o custo do caminho for uma funo no-decrescente da profundidade do n (ex: todas aes tm mesmo custo)
14

Desempenho da busca em largura


Complexidade de tempo
Meta em d, cada n tem b filhos. No pior caso, vem (teste ao expandir cada n): 1 + b + b2 + b3 + ... + bd + (bd+1 - b) = O (bd+1)

Complexidade de espao
Mantm todos ns gerados (ou est na fronteira ou ancestral e est na lista de visitados) 1 + b + b2 + b3 + ... + bd + (bd+1 - b) = O (bd+1)
15

Busca de Custo Uniforme


Modifica a busca em largura:
Em vez de expandir o n gerado primeiro, expande o n da fronteira com menor custo de caminho (da raiz ao n)

Fronteira

insere em ordem crescente de custo

No se importa com o nmero de passos, mas com o custo total g(n) d o custo do caminho da raiz ao n n
Na busca em largura: g(n) = profundidade (n)
16

Busca de Custo Uniforme


Exerccio: gerar a rvore de busca usando busca de custo uniforme

A
1 5 5 5 10

15

17

Busca de Custo Uniforme


Fronteira do exemplo anterior
F = {S}
testa se S o estado objetivo, expande-o e guarda seus filhos A, B e C ordenadamente (segundo custo) na fronteira

F = {A, B, C}
testa A, expande-o e guarda seu filho GA ordenadamente obs.: o algoritmo de gerao guarda na fronteira todos os ns gerados, testando se um n o objetivo apenas quando ele retirado da lista (i.e., visitado ou expandido)! 18

Busca de Custo Uniforme


Fronteira do exemplo anterior
F= {B, GA, C}
testa B, expande-o e guarda seu filho GB ordenadamente

F= {GB, GA, C}
testa GB e pra!

19

Busca de Custo Uniforme

20

Desempenho da Busca de Custo Uniforme


Completa? S se custo de cada ao , n
uma constante pequena positiva
Loop infinito: quando expande n que tem ao de custo=0 levando de volta ao mesmo n.

tima? S se g(sucessor(n)) > g(n)


custo no mesmo caminho sempre cresce (i.e., no tem ao com custo negativo ou 0)

Complexidade de tempo e de espao


C*=custo da soluo tima (custo de cada ao) Pior caso: O (b1+C*/ ), o que pode ser bem maior que bd
21

Busca em Profundidade
Ordem de expanso dos ns:
1. N raiz 2. Primeiro n de profundidade 1 3. Primeiro n de profundidade 2, etc

Fronteira = LIFO (last-in-first-out) insere no incio da fila


22

Busca em Profundidade
Aqui, todos os sucessores so gerados durante a expanso.

...
Neste exemplo, ns com profundidade 3 no tm sucessores. Ns sem sucessores e j expandidos so apagados. 23

Desempenho da Busca em Profundidade


Esta estratgia no completa (caminho pode ser infinito) nem tima.Se usar uma estratgia que no permite estados repetidos nem caminhos redundantes, ela completa. Complexidade espacial:
mantm na memria o caminho que est sendo expandido no momento, e os ns irmos dos ns no caminho para possibilitar o retrocesso (backtracking) Apaga subrvores j visitadas Para espao de estados com fator de ramificao b e profundidade mxima m (m pode ser >> d), requer O (bm) bm+1 de memria
24

Desempenho da Busca em Profundidade


Complexidade temporal: O (bm), no pior caso.
Para problemas com vrias solues, esta estratgia pode ser bem mais rpida do que a busca em largura. Esta estratgia deve ser evitada quando as rvores geradas so muito profundas ou geram caminhos infinitos.
25

Variante: Busca com Retrocesso


(backtracking search) Parecida com BP, mas somente UM sucessor gerado em cada iterao
na BP, todos os sucessores so gerados na expanso do n pai

Portanto, requer s O(m) de memria


BP requer O(bm) de memria

Restrio: deve ser capaz de retornar ao pai e criar o novo sucessor


26

Busca com Aprofundamento Limitado


Evita o problema de rvores no limitadas ao impor um limite mximo ( l ) de profundidade para os caminhos gerados.
O domnio do problema estabelece a profundidade limite. Problema: definir limite l adequado! Completa? Somente se l d. tima? No, exceto se l = d. Complexidade espacial: O (b . l ) Complexidade temporal: O (b l ) no pior caso.
BP caso particular, com l =
27

Busca com Aprofundamento Iterativo (BAI)


Tenta limites com valores crescentes, partindo de zero, at encontrar a primeira soluo (em d).
Combina vantagens da busca em largura (BL) com as da busca em profundidade (BP). Em geral, a estratgia preferida de busca cega para quando o espao de estados muito grande e a profundidade da soluo d desconhecida.

Possui uma variante, a Busca com Comprimento Iterativo (BCI) analogia entre BAI e BL, e BCI e Custo Uniforme: usa incremento iterativo do custo do caminho em vez de incremento na profundidade (mas BCI no eficiente!) 28

Desempenho da BAI
Completa? Sim se b for finito (idem BL). tima? Sim se o custo do caminho for uma funo crescente com a profundidade do n (idem BL). Complexidade espacial:

O (bd) (idem BP)

29

Desempenho da BAI
Complexidade temporal: ns na profundidade
da menor soluo (d) so gerados 1 vez, em d-1 so gerados 2 vezes, .... na profundidade 1 so gerados d vezes:

(d)b + (d-1)b2 + (d-2)b3 + ... + (1)bd = O (bd)


OBS: BL gera alguns ns em d+1 e BAI no gera. BL: O (bd+1) Na realidade, BAI mais rpida que BL.
30

Busca Bidirecional (1)


Busca em duas direes (duas buscas simultneas):
para frente, a partir do n inicial, e para trs, a partir do n final (objetivo)

A busca pra quando o n a ser expandido por uma busca se encontra na fronteira da outra busca. Motivao: bd/2 + bd/2 < bd.
Ou: a rea de dois crculos de raio R menor que a rea de um crculo de raio 2R

31

Busca Bidirecional (2)


Para BL nas duas direes: O (bd/2) no tempo e no espao. Completude e otimalidade: idem BL.
possvel utilizar estratgias diferentes em cada direo da busca (podendo sacrificar desempenho)

Porm, encadeamento reverso (da meta para o incio) s possvel se todas as aes no espao de estado forem reversveis. Outro problema: quando h vrios estados-meta ou quando muito difcil computar os estadosmeta pelo teste de trmino (ex. estados para cheque-mate).
32

Evitando Estados Repetidos (1)


Problema geral em Busca
expandir estados j previamente encontrados e expandidos

inevitvel quando h operadores reversveis


ex. encontrar rotas, canibais e missionrios, 8-nmeros, etc. a rvore de busca potencialmente infinita
33

Evitando Estados Repetidos (2)


Espao de estados
Nvel Nvel Nvel

rvore de busca Exemplo:

1 2 3

Nmero de estados= d+1;

2d caminhos na rvore de busca (combinaes


possveis de caminhos de A ao ltimo estado, no nvel d).

...
Nvel d

Idia:
podar (prune) estados repetidos, para gerar apenas a parte da rvore que corresponde ao grafo do espao de estados (que finito!)
34

Evitando Estados Repetidos (3)


Problema: deve armazenar todos ns gerados!
Alm da lista de fronteira (tambm chamada de open list), os algoritmos precisam da lista de ns visitados / expandidos (closed list) Cada n gerado comparado com aqueles da closed list: se for repetido, descarta aquele de caminho com custo pior. Pode ser implementado mais eficientemente com hash tables BP e BAI: perdem propriedade de complexidade linear no espao.
35

Busca com Conhecimento Incompleto


E se o ambiente no for totalmente observvel, determinstico e o agente no souber as conseqncias de suas aes?
1.

2.

3.

Problemas conformantes (sem sensores): no sabe seu estado inicial e, assim, cada ao poderia levar a muitos estados sucessores. Problemas contingenciais: quando o ambiente parcialmente observvel ou suas aes possuem incertezas. Se a incerteza causada por aes de outro agente, um problema com adversrio. Problemas de explorao: quando os estados e a dinmica do ambiente so desconhecidos, o agente precisa atuar para descobr-los (caso extremo dos problemas contingenciais).
36

Problemas Conformantes (sem sensores)


Estado de crena (belief state bs): conjunto de estados em que o agente acredita estar. Busca ocorre no espao de bs:
aes so aplicadas nos bs, gerando bs sucessores ( sucessores da ao aplicada a cada estadobs) Soluo: caminho que leva a um bs que s contenha estados-meta Mesmo procedimento para aes no determinsticas

37

Exemplo com o agente aspirador


Bs inicial = {1, 2, 3, 4, 5, 6, 7, 8} Se aplicar a=Right em bs, vem: bs={2, 4, 6, 8} ... Assim, seq=[Right, Suck, Left, Suck] uma soluo!

38

Espao de estados do agente aspirador sem sensores

: bs
39

Problemas Contingenciais (1)


incertezas e observabilidade parcial Nenhuma seqncia fixa de aes garante a soluo. Muitos problemas reais so contingenciais pois a predio exata impossvel. Planejamento condicional:
no meio da soluo so inseridas aes de sensoriamento que direcionam a execuo. A soluo normalmente uma rvore, onde aes so selecionadas em funo das contingncias sensoriadas.

Uso de abordagem probabilstica

40

Problemas Contingenciais (2)


Planejamento contnuo:
monitora e atualiza seu modelo do mundo continuamente, mesmo quando em deliberao; assim que tiver um plano parcial, executa; rev metas, inclui novas metas, descarta metas, etc. Projetado para interagir indefinidamente com o ambiente. Tambm usado em problemas de explorao.

41

Problemas Contingenciais (3)


Monitoramento da execuo e replanejamento:
agente planeja uma soluo e a executa, monitorando a execuo; se ocorrer contingncias e o plano precisar ser revisado, o agente replaneja a partir do estado que estiver. contingncia Planejamento Replanejamento

42

Vous aimerez peut-être aussi