*capítulo 3 (russel & norvig) - lyfreitas.com.br · utilizam somente a informação...

48
*Capítulo 3 (Russel & Norvig) 1

Upload: dinhtu

Post on 30-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

*Capítulo 3 (Russel & Norvig)1

� Estratégias de busca sem informação� Busca em largura� Busca de custo uniforme (menor custo)

� Busca em profundidade

� Busca em profundidade limitada� Busca de aprofundamento iterativo em profundidade

2

� Utilizam somente a informação disponível quando dadefinição do problema

� As estratégias de busca diferenciam-se apenas pelaordem em que expandem os nós da árvore de busca

� Estratégias que exploram primeiramente nós mais promissorescom uso de informação extra-problema serão vistas mais tarde� busca informada ou heurística

3

Resolução de problemas por meio de buscas

4

� Dentre os nós da fronteira, expande o mais raso (sempreexplora o caminho mais curto antes)

� A fronteira é uma FILA (FIFO) – nós sucessores vão para o final da fila de fronteira

5

Explorados={A}Fronteira=B<C

6

Explorados={A, B}Fronteira=C<D<E

7

Explorados={A, B, C}

Fronteira=D<E<F<G

� Completa? Sim (se b é finita)� Ótimo? Sim (se custo for igual para todos os passos)� Tempo? 1+b+b2+b3+… +bd = O(bd)� Espaço? O(bd) (mantém todos os nós na memória)

� Espaço� Guarda todos os nós na memória

� Os que já foram explorados� Os que estão na fronteira

8

Resolução de problemas por meio de buscas

9

� Estende a BUSCA EM LARGURA de modo a encontrar a solução ótima para qualquer valor de passo

� Estratégia: expandir o nó n que apresentar menor custode caminho = g(n)

� Fronteira = fila ordenada pelo g(n)

� Sofre ligeira alteração em relação à busca em largura:� Teste de objetivo é feito quando um nó é selecionado paraexpansão (e não quando é gerado)

� Se o nó já está na fronteira, mesmo assim é necessário verificarse o caminho encontrado é mais barato que aquele guardado

10

11

� Difícil avaliar em termos de b e d, porque é expande nós emfunção do custo� Então, usa C* é o custo da solução ótima

� Completude: garante, se cada step custar mais do queépsilon (>= 0 de valor muito baixo)

� Optimalidade: sim, se expandir os nós respeitando g(n)

� Complexidade espacial: O(b1+[C*/ε])� Se custo for igual para todos os steps, então C*=d.ε, e a complexidade será igual a da busca por largura

� Complexidade de tempo: O(b1+[C*/ε])� idem

12

� A complexidade de tempo e espaço pode ser maior do que a da busca em largura, pois pode examinar grandescaminhos com pequenos passos antes de examinarcaminhos com grandes passos que podem levar maisrapidamente a solução ótima.

1

13

40

30

1

2

5

80

Resolução de problemas por meio de buscas

14

� Expande o nó de maior profundidade que esteja nafronteira da árvore de busca

� Fronteira = PILHA (LIFO)

15

16

17

18

19

20

21

22

23

24

25

Busca em grafo Busca emárvore

Busca com Backtracking

Espacial Idem à busca emlargura O(bd)

O(b.m) � O(m)

26

Tempo O(bm)

Completo Sim, se o espaço de estados for finito

Não é completo, poisnão eliminaloops da árvore

Optimalidade Não, pois retorna a 1a. Solução encontrada

Idem ao do lado

� A baixa complexidade espacial da busca emprofundidade com busca em árvore fez com que fosse aplicado em� Satisfação de restrições (Constraint satisfaction)

� Satisfabilidade em lógica Prop. (Propositional satisfability)

� Programação lógica (Logic programming)

27

Resolução de problemas por meio de buscas

28

� Tenta amenizar o problema da busca em profundidadeem espaços de estado de tamanho infinito

� Impõe um limite l para a máxima profundidade a ser expandida

� Nós na profundidade l são tratados como se nãotivessem sucessores

29

� Problemas deste artifício:� Se l < d a solução não será encontrada

� e, portanto, é fonte de incompletude

� Se l > d não encontra o ótimo

� O problema é determinar o valor de l!� O problema é determinar o valor de l!� Um modo é pegar o diâmetro do espaço de estados do grafo� Ex. Tamanho máximo do caminho que liga uma cidade a outra

� neste caso, é 9 – Neamt-Lugoj ou Neamt-Timisoara

30

� Complexidade de tempo: O(bl)

� Complexidade de espaço: O(b.l)

31

� Estratégia utilizada em conjunto com busca emprofundidade para encontrar o melhor limite l � aumentar gradualmente l até encontrar um estado objetivo.

� Isto ocorre quando a profundidade alcançar d

(profundidade do objetivo mais raso)

32

A

33

A

34

A

35

B C

A

36

B C

A

37

B C

A

38

B C

A

B C

39

B C

E F G H

A

B C

40

B

E F G H

C

A

B C

41

B

G HE F

C

A

B C

42

B

G HE F

C

A

B C

43

B

G HE F

C

A

B C

44

B

E F

C

G H

A

B C

45

B

E F

C

G H

A

B C

46

B

E F

C

G H

Limite l=3

47

� Completa? Sim, quando b for finito = busca em largura

� Ótima? Sim, se custos dos passos forem iguais

� Tempo? O(bd) = busca em largura

� Espaço? O(b.d) = busca em profundidade

48