45
TÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

Embed Size (px)

Citation preview

Page 1: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

TÓPICOS DE I.A.Métodos de Busca

Busca em Espaços de Estado

Prof. Mário Dantas

Page 2: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

2

BUSCA EM ESPAÇOS DE ESTADO

Conceito:

É uma técnica de I.A. que “... proporciona um

meio de solucionar problemas complexos,

para os quais não há disponível uma

abordagem mais direta nem uma estrutura

na qual qualquer técnica direta disponível

possa ser inserida” (FERNANDES, 2005).

Page 3: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

3

BUSCA EM ESPAÇOS DE ESTADO

Questões Importantes:

Existe garantia que o sistema para resolução de

problemas encontrará uma solução?

Este sistema chegará sempre ao final, ou ele

poderá ficar preso num laço infinito?

Quando uma solução é encontrada, é garantido

que ela seja ótima?

Page 4: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

4

BUSCA EM ESPAÇOS DE ESTADO

Questões Importantes:

Qual é a complexidade do processo de busca em

termos de tanto de consumo de tempo como de

consumo de memória?

Como se pode reduzir, da forma mais eficiente, a

complexidade da busca?

Como se pode projetar uma aplicação para que

ela utilize uma linguagem de representação o

mais eficientemente possível?

Page 5: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

5

BUSCA EM ESPAÇOS DE ESTADO

Teoria dos Grafos

Um grafo consiste:

Conjunto de NÓS;

Conjunto de ARCOS (Elos);

Criada no século XVII;

Pontes de Konigsberg.

Leonhard Euler (1707 a 1783)

Page 6: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

6

BUSCA EM ESPAÇOS DE ESTADO

Teoria dos Grafos

Os NÓS representam os Estados, por

exemplo, o resultados de inferência lógicas

ou as diferentes configurações de um

tabuleiro;

Os ARCOS representam as transições entre

estados, por exemplo, as inferências lógicas

ou movimentos válidos de um jogo.

Page 7: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

7

BUSCA EM ESPAÇOS DE ESTADO

Jogo da Velha

Page 8: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

8

BUSCA EM ESPAÇOS DE ESTADO

Web site

http://www.aharef.info/static/htmlgraph/

Page 9: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

9

BUSCA EM ESPAÇOS DE ESTADO

Em sistemas especialistas os estados

descrevem o nosso conhecimento sobre um

caso do problema em algum estágio de um

processo de raciocínio. O conhecimento do

especialista, na forma de regras SE... ENTÃO,

nos permite gerar informação nova. O ato de

aplicar uma regra é representado como um

arco entre estados.

Page 10: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

10

BUSCA EM ESPAÇOS DE ESTADO

Uma árvore é um grafo no qual dois nós têm, no

máximo, um caminho entre eles. As árvores

freqüentemente tem raízes e, neste caso, elas são

normalmente desenhadas com a raiz no topo,

como um grafo radicado. Como cada nó de uma

árvore tem apenas uma caminho de acesso, a

partir de qualquer outro nó, é impossível para um

caminho circular continuamente através de uma

seqüência de nós, originando um laço.

Page 11: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

11

BUSCA EM ESPAÇOS DE ESTADO

Nós = (a, b, c, d, e) Arcos = {(a,b), (a,d), (b,c), (c,b), (c,d), (d,a),

(d,e) (e,c), (e,d)}

a.

b.

d.

c.

e.

Grafo direcionado rotulado

Page 12: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

12

BUSCA EM ESPAÇOS DE ESTADO

Árvore Relações de Parentesco

a.

b.

d.

c.

e.

f. g.

h.

i. j.

Page 13: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

13

REPRESENTAÇÃO DE PROBLEMAS POR ESPAÇOS DE ESTADOS

Um espaço de estado é representado pelo

conjunto {N, A, S, DO}, onde:

N representa os nós ou estados do grafo.

Eles correspondem aos estados de um

processo de solução de problema;

A representa os arcos entre os nós. Eles

correspondem aos passos de um processo de

solução de problema;

Page 14: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

14

REPRESENTAÇÃO DE PROBLEMAS POR ESPAÇOS DE ESTADOS

S representa um subconjunto não vazio de N, contém o(s) estado(s) inicial(is) do problema;

DO representa um subconjunto não vazio de N, contém o(s) estado(s) objetivo(s) do problema.

Page 15: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

15

REPRESENTAÇÃO DE PROBLEMAS POR ESPAÇOS DE ESTADOS

Os estados e, DO são descritos usando:

Uma propriedade mensurável dos estados

encontrados na busca;

Uma propriedade do caminho desenvolvido na

busca, por exemplo, os custos de transição para

o arco do caminho.

Um caminho solução é um caminho através

deste grafo de um nó S para um nó em DO.

Page 16: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

16

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS

Entre as principais destacam-se a busca em a

busca em Amplitude e a busca em Profundidade;

Na busca em profundidade, quando um estado é

examinado, todos os seu filhos e os descendentes

de seus filhos são examinados antes de qualquer

um de seus irmãos;

Apenas quando não forem encontrados

descendentes de um estado é que seus irmãos são

considerados.

Page 17: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

17

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM PROFUNDIDADE

A, B, E, K, S, L, T, F, M, C, G, N, H, O, P, U, D, I, Q, J, R

a.

b.

d.

c.

e.

f. g.

h.

i. j.

k.

l. m. n.

o.

q.

r.p.

s. t. u.

1 2

Page 18: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

18

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM PROFUNDIDADE Implementação do algoritmo de busca em profundidade:função busca_em_profundidade;inicio abertos := [iniciar]; fechados := []; enquanto abertos <> [] faça inicio remova o estado mais à esquerda em abertos, chame-o de X; se X for um objetivo, então retorne SUCESSO senão inicio gere filhos de X; coloque X em fechados; descarte filhos de X se já estiverem em abertos ou fechados; coloque os filhos que restam no final à esquerda de abertos; fim fim retorne FALHAfim.

Page 19: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

19

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM PROFUNDIDADE

Nesse algoritmo os estados descendentes

são adicionados e removidos a partir do final

esquerdo da lista de abertos. Assim nessa

implementação a estrutura de dados usada é

a pilha (LIFO). Com isso a busca é

direcionada para os estados gerados mais

recentemente, produzindo uma ordem que

avança em profundidade;

Page 20: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

20

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM PROFUNDIDADE Configuração das listas de abertos e fechados:

1. abertos = [A]; fechados=[ ]2. abertos = [B,C,D]; fechados=[A];3. abertos = [E,F,C,D]; fechados=[B,A];4. abertos = [K,L,F,C,D]; fechados=[E,B,A];5. abertos = [S,L,F,C,D]; fechados=[K,E,B,A];6. abertos = [L,F,C,D]; fechados=[S,K,E,B,A];7. abertos = [T,F,C,D]; fechados=[L,S,K,E,B,A];8. abertos = [F,C,D]; fechados=[T,L,S,K,E,B,A];9. abertos = [M,C,D](como L já está em abertos);

fechados=[F,T,L,S,K,E,B,A];10. abertos = [C,D]; fechados=[M,F,T,L,S,K,E,B,A];11. abertos = [G,H,D]; fechados=[C,M,F,T,L,S,K,E,B,A];12. e assim por diante, até que U seja encontrando ou

abertos = [ ]

Page 21: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

21

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM PROFUNDIDADE

Na busca em profundidade não se tem

garantia que o caminho mais curto até um

estado foi localizado na primeira vez que

este estado é encontrado;

Isso pode ser feito utilizando um atributo

TAMANHO_CAMINHO e varrendo toda a

árvore.

Page 22: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

22

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM AMPLITUDE

A busca em amplitude, por outro lado,

explora o espaço nível por nível, apenas

quando não houver mais estados a serem

explorados num determinado nível é que o

algoritmo se moverá para o próximo.

Page 23: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

23

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM AMPLITUDE

A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P Q, R, S, T, U

a.

b.

d.

c.

e.

f. g.

h.

i. j.

k.

l. m. n.

o.

q.

r.p.

s. t. u.

1

2

Page 24: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

24

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM AMPLITUDE

função busca_em_amplitude;inicio abertos := [iniciar]; fechados := []; enquanto abertos <> [] faça inicio remova o estado mais à esquerda em abertos, chame-o de X; se X for um objetivo, então retorne SUCESSO senão inicio gere filhos de X; coloque X em fechados; descarte filhos de X se já estiverem em abertos ou fechados; coloque os filhos que restam no final à direita de abertos; fim fim retorne FALHAfim.

Page 25: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

25

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM AMPLITUDE

A lista de abertos é implementado como uma fila

(FIFO);

Os estados são adicionados à direita da lista e

removidos pela esquerda;

Os estados filhos que já foram descobertos são

descartados;

Se o algoritmo encerrar porque a condição

“enquanto” não for mais satisfeita (abertos=[ ]),

então ele varreu o grafo inteiro sem encontrar o

estado objetivo.

Page 26: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

26

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM AMPLITUDE

Configuração das listas de abertos e fechados:1. abertos = [A]; fechados=[ ]2. abertos = [B,C,D]; fechados=[A];3. abertos = [C,D,E,F]; fechados=[B,A];4. abertos = [D,E,F,G,H]; fechados=[C,B,A];5. abertos = [E,F,G,H,I,J]; fechados=[D,C,B,A];6. abertos = [F,G,H,I,J,K,L];

fechados=[E,D,C,B,A];7. abertos = [G,H,I,J,K,L,M](pois L já está em

abertos); fechados=[F,E,D,C,B,A];8. abertos = [H,I,J,K,L,M,N];

fechados=[G,F,E,D,C,B,A];9. e assim por diante, até que U seja encontrando

ou abertos = [ ]

Page 27: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

27

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA EM AMPLITUDE

A busca em amplitude garante que o caminho mais curto entre o estado inicial e o objetivo será encontrada, caso exista;

Pode-se manter outras informações nas listas de estados, como os ancestrais junto a cada estado, com isso pode-se refazer o caminho percorrido até o estado meta;

Page 28: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

28

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS

Entre as características mais significativas a

escolha entre as duas abordagens se incluem:

A importância de se encontrar o caminho mais curto

até o objetivo;

Fator de ramificação de espaço;

Disponibilidade de tempo computacional e de

recursos de memória;

A média de comprimento dos caminhos até o objetivo;

Se queremos todas soluções ou apenas a primeira

encontrada.

Page 29: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

29

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

De acordo com Polya (1945), heurística é “o

estudo dos métodos e das regras de

descoberta e invenção”.

Na busca em espaços de estado, heurísticas

são formalizadas como regras para escolher

aqueles ramos que tem maior probabilidade

de levarem a uma solução aceitável para o

problema.

Page 30: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

30

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

As heurísticas são usadas basicamente

quando:

Um problema pode não ter uma solução exata por

causa das ambigüidades inerentes na formulação

do problema ou pela disponibilidade de dados. Ex.:

medicina e visão;

Um problema pode ter uma solução exata, mas o

custo computacional de encontrá-la pode ser

proibitivo. Ex.: jogo de xadrez.

Page 31: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

31

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

Uma heurística é apenas um conjectura informada

sobre o próximo passo a ser tomado na solução e

um problema;

Pode levar um algoritmo encontrar uma solução sub-

ótima ou não levá-lo a encontrar a solução de um

problema, isto é inerente das heurísticas;

As “regras práticas” usadas por especialista humano

para resolver problemas de forma eficiente são

essencialmente heurísticas quanto a sua natureza.

Page 32: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

32

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

Os algoritmos heurísticos são constituídos de duas partes:

Medida heurística;

Algoritmo (parte que usa as medidas).

Page 33: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

33

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

O jogo-da-velha

Cada um dos nove primeiros movimentos temos oito

respostas, que por sua vez tem sete movimentos;

Assim em uma busca exaustiva teríamos um espaço

de 9! = 362.880;

Analisando o jogo observamos que é possível reduzir o

espaço por simetria.

Assim não existem nove movimentos iniciais, mas

apenas três.

Page 34: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

34

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

X

X

X

X O X O O

X

O

X

X

O

X

O

Page 35: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

35

X

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

X

X

3 4 2

Page 36: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

36

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS – BUSCA HEURÍSTICA

X

O

X

O

X

O

X X

O

X

X

O

X

X

O

X

X

O

X X

X O

X

O

X

X

O

X

X

4

3 4 4 5 5 4 4 4

Page 37: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

37

ALGORITMO DE BUSCA HEURÍSTICA

funcao busca_melhor_escolha;

inicio

abertos := [inicio];

fechados := [];

enquanto aberto <> [] faça

inicio

remova o estado mais à esquerda em abertos, chame-o de X;

se X = objetivo, então retornar o caminho de início até X;

senão início

gere filhos de X;

para cada filho X faça

caso

o filho não está em abertos nem em fechados:

início

atribua um valor heurítico ao filho;

acrescente o filho em abertos;

fim;

Page 38: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

38

ALGORITMO DE BUSCA HEURÍSTICA

o filho está em abertos:

se o filho foi alcançado por um caminho mais curto então atribua ai estado em abertos o caminho mais curto;

o filho já está em fechados:

se i filho foi alcançado por um caminho mais curto então

início

remova o estado de fechados;

acrescente o filho em abertos;

fim;

fim;

coloque x em fechados;

reordene estados em abertos pelo mérito heurístico (melhor mais à esquerda)

fim;

retorne FALHA;

fim.

Page 39: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

39

ALGORITMO DE BUSCA HEURÍSTICA

Considerações:

cada estado retém informação sobre seu

ancestral;

determina se estado já foi alcançado por um

caminho mais curto;

retorna o caminho de solução final;

estados duplicados não são aceitos;

Page 40: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

40

ALGORITMO DE BUSCA HEURÍSTICA

Considerações:

lista de abertos é ordenada de acordo com os

valores heurísticos desses estados (fila de

prioridades);

o próximo estado pode ser de qualquer nível do

espaço de estados;

o algoritmo se recupera de erros e acaba

encontrando o objetivo correto.

Page 41: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

41

p.3

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS

a.5

b.4d.6c.

4

e.5 f.5 g.4 h.3 i. j.

k.

l. m. n.

o.2 q.

r.

s. t. u.

Page 42: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

42

ESTRATÉGIAS PARA BUSCA EM ESPAÇO DE ESTADOS Configuração das listas de abertos e fechados:

1. abertos = [A5]; fechados=[ ]

2. avaliar A5; abertos = [B4,C4,D6]; fechados=[A5];

3. avaliar B4; abertos = [C4,E5,F5,D6]; fechados=[B4,A5];

4. avaliar C4; abertos = [H3,G4,E5,F5,D6];

fechados=[C4,B4,A5];

5. avaliar H3; abertos = [O2,P3,G4,E5,F5,D6];

fechados=[H3,C4,B4,A5];

6. avaliar O2; abertos = [P3,G4,E5,F5,D6];

fechados=[O2,H3,C4,B4,A5];

7. avaliar P3; a solução foi encontrada!

Page 43: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

43

CÓDIGO JAVA – SUBIDA DA ENCOSTA

Page 44: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

44

CÓDIGO JAVA – ESTADOS DO JOGO-DOS-8

Page 45: T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas

45

REFERÊNCIAS

LUGER, George F.. Inteligência Artificial: estruturas e estratégias para a solução de problemas complexos. Porto Alegre: Bookmann, 2004. Capítulos 3 e 4.

FERNANDES, Anita Maria da Rocha. Inteligência Artificial: noções gerais. Florianópolis: Visual Books, 2005.

Site: <http://www.inf.furb.br/~jomi/> acessado em 10 de fev. de 2010