31
Busca não informada Capítulo 3 Parte II Leliane Nunes de Barros [email protected]

Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

1

Busca não informada

Capítulo 3Parte II

Leliane Nunes de [email protected]

Page 2: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

2

Agente baseado em metas• Formulação de problema

– estado inicial: – ações: – função custo: – teste de meta:

• Nós da árvore de busca -– estado– o nó pai– ação– profundidade– o custo do caminho da

raiz até o nó

• Árvore de Busca

Page 3: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

3

Algoritmo de busca geralfunção Busca-Geral(problema, estratégia) devolve uma solução, ou

falhainicializa a árvore de busca com o estado inicial do problemalaço faça

se não há mais candidatos para expandir então devolve falhaescolha um nó folha para expandirse o nó contém um estado meta então devolve a soluçãosenão expanda o nó de acordo com a estratégia

fim

Obs: estratégia = QUEUING-FN

Page 4: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

4

Estratégias de busca• A estratégia de busca é definida pela ordem em que nós

são expandidos• Estratégias são avaliadas através das seguintes

dimensões:– completeza (encontra a solução se existir uma) – complexidade de tempo (número de nós gerados e expandidos)– complexidade de espaço (número de nós na memória)– solução ótima (encontra a solução de menor custo)

Page 5: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

5

Estratégias de busca

• Complexidade é medida em termos de:b - fator de ramificação da árvore de buscad - profundidade da solução de menor custom - profundidade máxima do espaço de busca

Page 6: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

6

Estratégias de busca não-informadaVariam quanto a ordem em que nós são expandidos:

– Busca em largura - Breadth first– Busca de custo uniforme– Busca em profundidade - Depth first– Busca em profundidade limitada– Busca em profundidade iterativa– Busca bidirecional

Não possuem informação sobre a distância do nó àmeta.

Page 7: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

7

Estratégias de busca não-informada(outros nomes)• Busca cega• Busca exaustiva• Busca completa• Busca de força bruta• Busca sistemática

Page 8: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

8

Busca em Largura

QUEUING-FN at-end

Page 9: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

9

K

G

C

F

J

N

I

M

O

H

B

L

D

A

E

A BDG CEKL EFODH IICO M NF JI ...

A

GB D

KC LE

E OF HD

C

I

II

M

FN

J

O

Busca em Largura

Busca em Largura

Page 10: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

10

Algoritmo de busca em largurafunção Busca-Geral(problema, estratégia) devolve uma solução, ou

falhainicializa a árvore de busca com o estado inicial do problemalaço faça

se não há mais candidatos para expandir então devolve falhaescolha um nó folha para expandirse o nó contém um estado meta então devolve a soluçãosenão expanda o nó de acordo com a estratégia

fim

Obs: estratégia = fila (FIFO)

Page 11: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

11

Propriedades da busca em largura

• Completa?• Solução ótima?• Tempo?• Espaço?

Page 12: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

12

Propriedades da busca em largura

• Completa? Sim. Garante encontrar a solução (se existir uma)

• Solução ótima? Sempre encontra primeiro a solução mais rasa. Solução ótima primeiro se a função custo for não-decrescente com a profundidade do nó.

• Tempo? l + b + b2 + b3 + ... + bd = O(bd)• Espaço? O(bd) (guarda todos os nós na memória)

Page 13: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

13

Busca em larguraProf. Nós Tempo Memória0 1 1 ms 100 bytes2 111 .1 s 11 Kbytes4 11.111 11 s 1 Mbytes6 106 18 min 111 Mbytes8 108 31 hs 11 Gbytes10 1010 128 dias 1 Tbytes12 1012 35 anos 111 Tbytes14 1014 3500 anos 11.111 Tbytes

B=10 1000 nós/seg 100 bytes/nó

Page 14: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

14

Busca em largura (BFS)

• Desvantagens:– complexidade exponencial: O(bd)– problema de memória maior que o de tempo

• Vantagens:– garante encontrar a solução– encontra a solução mais próxima da raiz

g(n) = Profundidade(n)

Page 15: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

15

Busca de custo uniforme

Problema de roteamento

C

A

GS

1 10

515

5 5

S0

A

S

51B C

15

A

S

5

11

B C15

A

S

1011

B C15

G

G G

B

Page 16: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

16

Busca em profundidade (DFS)

Expande os nós de profundidade maior / b*m nós armazenados

QUEUING-FN at-front

Page 17: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

17

Busca em profundidade

profundidade d

Loop infinito

profundidade máxima m

Page 18: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

18

Algoritmo de busca emprofundidade

função Busca-Geral(problema, estratégia) devolve uma solução, oufalhainicializa a árvore de busca com o estado inicial do problemalaço faça

se não há mais candidatos para expandir então devolve falhaescolha um nó folha para expandirse o nó contém um estado meta então devolve a soluçãosenão expanda o nó de acordo com a estratégia

fim

Obs: estratégia = pilha (LILO)

Page 19: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

19

Propriedades da busca em profundidade

• Completa?• Tempo?• Espaço?• Solução ótima?

Page 20: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

20

Propriedades da busca em profundidade

• Completa? Não. Falha em espaços com profundidade infinita, ou com loops. Se modificadopara evitar estados repetidos é completo em espaçosfinitos

• Tempo? O(bm): ruim se m é muito maior que d• Espaço? O(bm) linear com m• Solução ótima? Não

DFS pode realizar ciclos infinitos. Requer um espaço de busca finito e não cíclico (cheque por estados repetidos)

Page 21: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

21

Busca em profundidade (DFS)• Expande os nós de profundidade maior

– requer pouca memória (bm versus bm)

– não garante encontrar a solução ótima.– não recomendado para grandes árvores de busca ou

quando a profundidade máxima é desconhecida.

Busca Prof. Nós MemóriaBFS 12 1012 111 TbytesDFS 12 120 12 Kbytes

Page 22: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

22

Busca em profundidade limitada

• Exemplo de roteamento no mapa daRomenia: caminho máximo: passar pelas 20 cidades

• Mesma complexidade da DFS • Tempo? O(bl)• Espaço? O(bl)

Page 23: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

23

Busca em profundidade limitada

OradeaZerind

Arad

Timisoara

Lugoj

Mehadia

Dobrete Craiova

Sibiu

Rimnicu Vilcea

Fagaras

PitesteBucharest

Giurgiu

Urziceni

Neamt

Iasi

Vaslui

Hisrova

Eforie

Profundidade máxima para 20 cidades: 19

Page 24: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

24

Busca em profundidade iterativa

...

Limite = 0

Limite = 1

Limite = 2

Limite = 3

Page 25: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

25

Propriedades da busca emprofundidade iterativa• Completa? Sim• Tempo? O(bd)• Espaço? O(bd) • Solução ótima? Sim, se custo = l (por passo).

Page 26: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

26

Busca em profundidade

K

G

C

F

J

N

I

M

O

H

B

L

D

A

E

AB DCEIMNJ FI F MNJ FI ...

A

GB D

KC LE

E OF HD

C

I

II

M

FN

J

O

backtrackingAB DCEIMNJ FI F E GKOI ...Evitando nós repetidos:

Page 27: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

27

Busca em profundidade iterativa

K

G

C

F

J

N

I

M

O

H

B

L

D

A

E

A

GB D

KC LE

E OF HD

C

I

II

M

FN

J

O

AA B D GA B D C E G K LA B D C E F E I G K O L D H

IJ

Page 28: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

28

Direções de busca

• Encadeamento para frente (Forward chaining): – começa do estado atual até encontrar o estado.– gera sucessores

• Encadeamento para trás (Backward chaining): – começa do estado gol até encontrar o estado atual do

mundo (só possível se o estado meta for conhecido).– gera precessores (operadores reversíveis ?)

• Biderecional ...depende da estrutura do espaço de problema

Page 29: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

29

Exemplos de direções:

• 8-puzzle: gol e estado inicial sãoconhecidos

• 8-rainhas, xadrez: o gol não é explícito

Page 30: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

30

Busca bidirecional

• útil se o estado inicial e o gol são conhecidos• similar a busca de custo uniforme com a

diferença de começar a busca com o estadoinicial e gol, expandindo nós em ambas as direções com a esperança de se encontraremno meio

• Alternativas: – Expande alternativamente a partir dos dois lados– Expande o lado com menor número de nós na lista

Page 31: Busca não informada Capítulo 3 - IME-USPleliane/IAcurso2006/slides/Aula4...3 Algoritmo de busca geral função Busca-Geral(problema, estratégia) devolve uma solução, ou falha

31

Propriedades da busca biderecional

• Completa? Sim• Tempo? O(bd/2)• Espaço? O(bd/2) (guarda todos os nós na

memória)• Solução ótima? Sim