Top Banner
BUSCA LOCAL (PARTE 4 Resolução de problemas por meio de busca) (C)Russell & Norvig, capítulo 4 1
34

Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Dec 16, 2018

Download

Documents

truongmien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

BUSCA LOCAL (PARTE 4 – Resolução de problemas por meio de busca)

(C)Russell & Norvig, capítulo 4

1

Page 2: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Roteiro

• Algoritmos de Busca Local

– Subida de encosta (Hill-climbing)

– Têmpera Simulada (Simulated Anealing)

– Feixe Local (Local beam)

– Algoritmos Genéticos

2

Page 3: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

INTRODUÇÃO Resolução de problemas por meio de busca local

3

Page 4: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Algoritmos de Busca Local

• Em muitos problemas de otimização – o caminho ao objetivo é irrelevante (a sequência de ações), – só interessa o estado objetivo = solução

• Exemplos

– problemas de otimização – satisfação de restrições (ex. N-Rainhas – configuração final)

• Espaço de estados

– conjunto de configurações “completas” do mundo

– Ex. um arranjo das n-rainhas no tabuleiro

• Nestes casos, podem ser usados algoritmos de busca local

4

Page 5: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Vantagens da Busca Local

5

Vantagens em relação às buscas cega e informada:

1. usam pouca memória (normalmente, uma quantidade constante de

memória)

2. podem encontrar soluções razoáveis/factíveis em espaços de

estados grandes ou infinitos (e também contínuos) para os quais

algoritmos sistemáticos como os de busca cega e informada não são

adequados.

Page 6: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Algoritmos de Busca Local

6

Estado corrente

Vizinho escolhido

Estratégia:

Manter um só estado (ou poucos) como o “atual" e tentar melhorar o mesmo movimentando-se para estados vizinhos imediatos

vizinhos

Page 7: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Algoritmos de Busca Local

7

Máximo global

Máximo local

Função o

bje

tivo

planície

Estado corrente Espaço de

estados

máx. local em platô

localização

elev

ação

objetivo

Page 8: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Busca Local: solução

inicial s1

s2

s3

s4

s5

s6

Em geral, a solução consiste em encontrar um estado (não um caminho) cujo valor

da função objetivo seja possivelmente ótimo. Há a valoração da função objetivo

(sabe-se que um estado é melhor do que outro) e esta valoração é usada para guiar

a busca. Em muitos casos não há objetivo explícito/implícito (ex. Problema da

mochila) que permita usar um procedimento de decisão para saber se um estado

objetivo foi atingido, então, outros critérios devem ser usados para interromper a

busca.

função o

bje

tivo

Page 9: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Algoritmos de Busca Local

9

Se o objetivo é maximizar temos que encontrar

o maior pico, se for minimizar, o vale mais

profundo.

Completo: se o algoritmo consegue atingir um

estado objetivo desde que ele exista.

Ótimo: se consegue encontrar o mínimo/máximo

para a função de custo.

Page 10: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

SUBIDA DE ENCOSTA (HILL CLIMBING)

Solução de problemas por busca

10

Page 11: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Subida de Encosta (Hill-climbing)

11

Metáfora: escalando o Everest no meio de uma tempestade de neve com amnésia”

// melhor vizinho

Page 12: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Formulação: cada estado tem as 8 rainhas no tabuleiro, uma por coluna.

• Ação: movimentar uma rainha para qualquer posição na sua coluna.

• Função sucessora: dado um estado e uma ação, retorna o estado alcançado.

– Para cada estado, há 56 estados sucessores: 8 rainhas x 7 posições

12

Subida de Encosta: 8-rainhas

Função objetivo: é uma

heurística h= número de pares de

rainhas que se atacam direta ou

indiretamente

Estado objetivo: configuração

com h=0 (mínimo global) somente para as soluções

perfeitas

Page 13: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Neste estado, h=17 (há 17 ataques entre rainhas)

• Qual a melhor ação (por uma escolha gulosa)?

13

Subida de encosta: 8-rainhas

Page 14: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Resposta: qualquer movimento que leve uma das rainhas na sua coluna a uma posição marcada com 12

14

Subida de encosta: 8-rainhas

Page 15: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

15

Subida de encosta: 8-rainhas

Um mínimo local com h = 1

Page 16: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

Subida de encosta: problemas

16

Os máximos locais não estão

interconectados. Qualquer passo

a partir deles leva a um valor mais baixo

máximo global

Ficar parado num mínimo local

Cumeeiras

Platôs

Page 17: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

17

SUBIDA DE ENCOSTAS: PROBLEMAS

fonte: http://cee.uma.pt/edu/iia/acetatos/iia-Procura%20Informada-PeB.pdf

Page 18: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

18

subida de encosta: problemas

fonte: http://cee.uma.pt/edu/iia/acetatos/iia-Procura%20Informada-PeB.pdf

Page 19: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Solução para os problemas – fazer reinício aleatório (random restart)

– O algoritmo realiza uma série de buscas a partir de estados iniciais gerados aleatoriamente.

• Cada busca é executada – até que um número máximo estipulado de

iterações seja atingido, ou

– até que os resultados encontrados não apresentem melhora significativa.

• O algoritmo escolhe o melhor resultado obtido com as diferentes execuções (diferentes reinícios).

• Cada execução produz apenas uma solução!

19

SUBIDA DE ENCOSTA: RANDOM RESTART

Page 20: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

TÊMPERA SIMULADA (SIMULATED ANNEALING)

Solução de problemas por busca

20

Page 21: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Idéia: fugir de máximo local permitindo alguns movimentos “ruins”, mas diminuindo gradualmente a frequência destas movimentações – a temperatura T que fornece energia para estas movimentações

decresce ao longo do tempo

21

Têmpera Simulada

Page 22: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Metáfora 1: têmpera de metais e de vidro

• Metáfora 2: uma bola de ping-pong numa tábua cheia de buracos tende a cair na primeira depressão (mínimo local), mas se chacoalharmos a tábua freneticamente ela fará movimentos bruscos. A medida que o tempo passa, diminuimos o frenetismo e a bola faz movimentos menos bruscos

22

Têmpera Simulada: metáforas

Page 23: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Pode ser provado que:

Se T decresce de maneira suficientemente lenta, a busca por têmpera simulada encontrará um ótimo global com probabilidade próxima de 1 (100%)!!!

• Muito usado para projetar – layout de VLSI,

– escalonamento de vôos

– etc.

23

Propriedades da Têmpera Simulada

Page 24: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

24

TÊMPERA SIMULADA

// T schedule é a função que retorna T dado um tempo t

// faz uma ação ruim de tempos // em tempos

// se next é melhor que o current

Page 25: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

25

TÊMPERA SIMULADA

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1 1

00

97

94

91

88

85

82

79

76

73

70

67

64

61

58

55

52

49

46

43

40

37

34

31

28

25

22

19

16

13

10

7

4

1

p x T

P

T=Temperatura

p=e e/T

Simulação para T decaindo de 100 a 0 e e constante e igual a -10.

Probabilidade de ocorrem movimentos ruins.

Com o passar do tempo, T.S. passa a se comportar como o subida de

encosta (e constante e igual a -10)

Page 26: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

26

TÊMPERA SIMULADA

Temperatura

p=e e/T

Simulação para T decaindo de 100 a 0 e e constante e igual a -1000.

probabilidade de ocorrem movimentos ruins, com o passar do tempo, TS

passa a se comportar como o subida de encosta – não faz movimentos

ruins

0

0,000005

0,00001

0,000015

0,00002

0,000025

0,00003

0,000035

0,00004

0,000045

0,00005

10

0

97

94

91

88

85

82

79

76

73

70

67

64

61

58

55

52

49

46

43

40

37

34

31

28

25

22

19

16

13

10

7

4

1

p x T

P

Page 27: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

BUSCA EM FEIXE LOCAL Soluções de problemas por busca

27

Page 28: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Monitora k estados ao invés de um só

• Começa com k estados selecionados aleatoriamente

• Em cada iteração, todos os sucessores de todos os k estados são gerados

• Se qualquer um dos estados é o objetivo então para;

• Se não seleciona os k melhores da lista completa e repete – nesta seleção, considerar os estados ‘pais’

28

BUSCA EM FEIXE

Page 29: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

29

BUSCA EM FEIXE

Máximo global

Máximo local

Máximo local “plano”

Função objetivo

planície

Estado corrente

Espaço de

estados

platô

K estados iniciais

Estados sucessores

Page 30: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

30

BUSCA EM FEIXE

Máximo global

Máximo local

Máximo local “plano”

Função objetivo

planície

Estado corrente

Espaço de

estados

platô

K estados iniciais

Estados sucessores

K=3

Page 31: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

ALGORITMOS GENÉTICOS Soluções de problemas por busca

31

Page 32: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Um estado sucessor é gerado combinando dois estados “pais”

• Inicia com k estados gerados aleatoriamente (população)

• Um estado é representado como uma string sobre um alfabeto finito (em geral uma string de 0s e 1s)

• Função de avaliação (função de fitness). Valores mais altos para estados melhores

• Produção da próxima geração de estados através de seleção, crossover e mutação

32

Algoritmos Genéticos

Page 33: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

• Função de “Fitness” (“ajuste” apropriado): número de

• pares de rainhas não-atacantes (min = 0, = 8 × 7/2 = 28) max

• 24/(24+23+20+11) = 31%

• 23/(24+23+20+11) = 29% etc

33

Algoritmos Genéticos

População inicial Função de

Fitness Seleção Crossover Mutação

Page 34: Informed search algorithms - dainf.ct.utfpr.edu.brtacla/IA/015a-Busca-Local.pdf · •Algoritmos de Busca Local –Subida de encosta ... –Feixe Local (Local beam) –Algoritmos

34

Algoritmos Genéticos

População inicial Função de

Fitness Seleção Crossover Mutação