Inteligência Artificial Agenda

Propaganda
Inteligência Artificial
Universidade da Madeira
Inteligência Artificial
Procura Informada
Agenda
z
Parte 1
z
z
Introduç
Introdução á Procura
Informada ou Heurí
Heurística
BestBest-First Search
z
z
z
z
z
Parte 2
z
Processo de Procura
z
z
z
Pesquisa Gulosa (Greedy
(Greedy))
Algoritmo A*
Algoritmo IDA* (Iterative
(Iterative
Deepning A*)
Algoritmo SMA*
z
z
z
z
z
z
Heurí
Heurística e sua aplicaç
aplicação
Funç
Função de Avaliaç
Avaliação
Admissibilidade
Consistência
Dominância
Qualidade
Estraté
Estratégias de Definiç
Definição
de Heurí
Heurísticas
Aná
Análise de Performance
Algoritmos de Procura
Local
z
z
Trepa Colinas
Annealing Simulado
1
Inteligência Artificial
Universidade da Madeira
Procura Heurística - Informada
Estraté
Estratégias de Busca Exaustiva (Cega)
z
z
encontram soluç
soluções para problemas pela geraç
geração sistemá
sistemática de
novos estados, que são comparados com o objectivo;
z
são ineficientes na maioria dos casos:
z
z
são capazes de calcular apenas o custo de caminho do nó
nó actual ao nó
nó
inicial para decidir qual o pró
próximo nó
nó da fronteira a ser expandido.
z
esta medida não conduz necessariamente a busca na direcç
direcção do
objectivo.
z
Estes mé
métodos devem ser exaustivos porque são mé
métodos gerais, isto é,
são independentes do problema.
z
Por isto chamamchamam-se de Procura Cega, não Informados ou dé
débeis.
Como encontrar um barco perdido?
z
z
não podemos procurar no oceano inteiro...
observamos as correntes marí
marítimas, o vento, etc...
Procura Heurística - Informada
z
Para obter resultados práticos propõe-se
considerar a estrutura particular do espaço
de busca para uma classe particular de
problemas, isto é, propõe-se utilizar
características próprias do problema
particular para ajudar no processo de
busca.
z
Isto é chamado Procura Heurística ou
Informada.
2
Inteligência Artificial
Universidade da Madeira
Procura Heurística - Informada
z
Estraté
Estratégias de Busca Heurí
Heurística
z
z
utilizam conhecimento especí
específico do problema na escolha do
pró
próximo nó
nó a ser expandido
barco perdido
zcorrentes
z
z
marí
marítimas, vento, etc...
Introduz uma métrica que permite ao agente de busca
estimar a distância desde o estado actual até
até um
objectivo.
A mé
métrica pode expressar distância, custo ou uma
medida abstracta.
z
A utilizaç
utilização desta mé
métrica permitirá
permitirá escolher o pró
próximo
nó da fronteira a ser expandido.
expandido.
z
A funç
função que calcula este tipo de mé
métricas denominadenomina-se
funç
função heurí
heurística
Heurística
z
Uma heurística é uma técnica que permite
melhorar a eficiência da procura.
z
A palavra Heurística vem do grego Heuriskein
que significa “Descobrir” e é também a origem
de Eureka que provem da expressão “heurika”
que ficou famosa por Arquimedes.
3
Inteligência Artificial
Universidade da Madeira
Heurística
z
Uma heurí
heurística será
será então uma estimaç
estimação adequada
do custo ou longitude do passo (no espaç
espaço de procura)
desde um estado até
é
um
objectivo.
at
z
Diremos que subestima a distância se a sua estimaç
estimação
até
até o objectivo é menor ou igual a distância real.
z
É sempre possí
possível calcular a funç
função heurí
heurística, mas é
necessá
necessário, dado que a heurí
heurística balanç
balança o ganho
entre a eficiência da procura e o custo computacional
de calcular a heurí
heurística.
Exemplo
Distância
Distância
2 4 8
7 3 5
1 6
2 3 4
1
5
8 7 6
Estado Actual
Estado Final
(
h1
2 4 8
7 3 5
1 6
)=?
Estimando a distância
4
Inteligência Artificial
Universidade da Madeira
Exemplo
Distância
Distância
2 4 8
7 3 5
1 6
2 3 4
1
5
8 7 6
Estado Actual
Estado Final
(
h1
2 4 8
7 3 5
1 6
)=
A quantidade de
peças for a do lugar
=7
Exemplo
2 4 8
7 3 5
1 6
h1
(
2 4 8
7 3 5
1 6
)
=7
Estado 1
2 3 4
1
5
8 7 6
2 4 8
7 3 5
1
6
Estado Final
Estado 2
h1
(
2 4 8
7 3 5
1 6
)
=6
5
Inteligência Artificial
Universidade da Madeira
Exemplo
Distância
Distância
2 4 8
7 3 5
1 6
2 3 4
1
5
8 7 6
Estado Actual
Estado Final
(
h2
2 4 8
7 3 5
1 6
)
=?
Outra heurística?
Exemplo
Distância
Distância
2 4 8
7 3 5
1 6
2 3 4
1
5
8 7 6
Estado Actual
Estado Final
(
h2
2 4 8
7 3 5
1 6
)
=
Número de movimentos
necessários para colocar cada
peça no seu lugar
= 10
6
Inteligência Artificial
Universidade da Madeira
Exemplo
2 4 8
7 3 5
1 6
h2
(
248
735
16
)
= 10
Estado 1
2 3 4
1
5
8 7 6
2 4 8
7 3 5
1
6
Estado Final
Estado 2
h2
(
248
735
1 6
)
=9
Com que critérios avaliamos uma
pesquisa:
Na semana anterior vimos estes critérios:
z Completude:
z
z
Complexidade do tempo:
z
z
Será
Será que demora muito tempo encontrar uma soluç
solução
para um dado problema;
Complexidade da memória:
z
z
Será
Será que todas as pesquisas encontram uma soluç
solução, no
caso desta existir;
Será
Será que temos de
efectuamos uma busca;
ter
muita
memó
memória
quando
Óptima:
z
Será
Será que é encontrada a melhor soluç
solução quando esta
existe.
7
Inteligência Artificial
Universidade da Madeira
Notação
z
Dado um nó n
zg
(n) = custo desde o nó inicial até n.
z h (n) = função heurística aplicada ao nó n.
Isto é o custo estimado desde n até uma
solução.
z h * (n) = custo real de um caminho óptimo
desde n até uma solução.
z f (n) = g (n) + h (n) custo estimado de uma
solução que passa pelo nó n.
Busca pela Melhor Escolha
Best-First Search
z
Busca genérica onde o nó de menor custo
“aparente” na fronteira do espaço de
estados é expandido primeiro.
z
Duas abordagens básicas:
1. Pesquisa Gulosa (Greedy search)
2. Algoritmo A*
8
Inteligência Artificial
Universidade da Madeira
Pesquisa Gulosa
z
z
Semelhante à busca em profundidade com
backtracking.
O seu objectivo é:
z
z
z
z
Minimizar o custo estimado para atingir um nó
nó.
Expandir o nó
nó cujo estado é previsto como o mais
perto do nó
nó final, com base na estimativa feita pela
funç
função heurí
heurística h.
Tem de existir um conhecimento pré
prévio dessas
funç
funções.
h (n) = Custo estimado do caminho mais barato
desde o estado correspondente ao nó
nó n até
até a um
estado objectivo (final).
Pesquisa Gulosa
z
Algoritmo:
função Busca-Gulosa (problema,h)
retorna uma solução ou falha
Busca-Melhor-Escolha (problema, h)
9
Inteligência Artificial
Universidade da Madeira
Pesquisa Gulosa
z
Devemos sempre escolher uma funç
função heurí
heurística que
seja admissí
admissível, isto é, que não ultrapasse o custo real
da soluç
solução.
z
Distância directa (h SLD) é admissí
admissível porque o caminho
mais curto entre dois pontos é sempre uma linha recta.
z
h (n) deve ser zero quando o nó
nó n tenha associado um
estado correspondente ao estado final (Objectivo), ver
no exemplo.
z
Tenta sempre ser rá
rápido na sua pesquisa.
Um exemplo de Busca Gulosa:
z
Veremos como isto funciona na pesquisa de rotas na
Madeira, usando a distância heurí
heurística straightstraight-line
(Linha recta), que vamos chamar de h SLD.
z
Se o objectivo é a Cancela, então temos de saber quais
as distâncias straightstraight-line até
até á Cancela.
z
z
Por exemplo, h SLD (Ponta de Sol) = 366.
Vejamos o progresso da pesquisa gulosa bestbest-first
usando h SLD para a pesquisa da Ponta de Sol até
até
Cancela.
10
Inteligência Artificial
Universidade da Madeira
Madeira com distâncias em linha recta (km)
Partida Æ Ponta de Sol
A distância em linha recta até
até ao nó
nó objectivo (Cancela) é de 366 km
11
Inteligência Artificial
Universidade da Madeira
Madeira com distâncias em linha recta (km)
Neste caso o caminho mais perto será…
12
Inteligência Artificial
Universidade da Madeira
Madeira com distâncias em linha recta (km)
Aqui será…
13
Inteligência Artificial
Universidade da Madeira
Madeira com distâncias em linha recta (km)
Chegamos ao nó objectivo…
14
Inteligência Artificial
Universidade da Madeira
Propriedades/Características da pesquisa
Gulosa:
z
Não é Completa
z
Nós repetidos podem originar caminhos infinitos (loop
(loop))
Ex. Caniç
ç
al
Æ
Machico
Æ
Caniç
ç
al
Æ
…
Cani
Cani
z
Partida Æ Machico
Propriedades/Características da pesquisa
Gulosa:
z
Não é Óptima: escolhe o caminho que é mais
económico à primeira vista.
z Partida Madalena do Mar
z Chegada Monte
z Qual
o caminho a
escolher?
15
Inteligência Artificial
Universidade da Madeira
Propriedades/Características da pesquisa
Gulosa:
z
z
Custos de busca mínimos.
Complexidade Temporal : O (bn) (b é o factor de
ramificação, e n o nível da solução).
z
z
z
Porquê?
Pode acontecer no pior caso, todos os nó
nós tenham
de ser expandidos ou visitados.
Complexidade Espacial : O (bn) (b é o factor de
ramificação, e n o nível da solução).
z
z
Porquê?
Manté
Mantém todos os nó
nós em memó
memória.
Olhemos estes métodos:
z
Custo Uniforme:
z
z
z
z
Busca Gulosa
z
z
z
z
Ordena a partir de g
Completo e Óptimo
Caro
Ordena a partir de h
Não é completo nem é óptimo
Porem é melhor em termos computacionais
Será possível combina-los?
16
Inteligência Artificial
Universidade da Madeira
Algoritmo A*
Na pesquisa A* a avaliação de cada nó é
uma combinação:
f (n) = g (n) + h (n)
z g (n) – Custo do caminho desde o nó
inicial até n.
z h (n) – Estimativa do custo desde n até ao
nó objectivo.
z
Algoritmo A*
z
f (n) – custo estimado de uma solução que
passa por n.
Objectivo:
Minimizar f (n) Æ Solução menor custo total
z
z
Nó de menor valor f (n) é expandido.
17
Inteligência Artificial
Universidade da Madeira
Algoritmo A*
Algoritmo A*
A
366=0+366
S
T
Z
393=140+253
447=118+129
A
F
O
R
413=220+193
415=239+176 671=291+380
646=280+366
S
B
591=338+253
450=450+0
449=75+374
C
P
526=366+160
B
S
417=317+100
C
553=300+253
R
- Objectivo
- Solução
f(n) = g(n) + h(n)
418=418+0
615=455+160
607=414+193
função de avaliação em cada nó
18
Inteligência Artificial
Universidade da Madeira
Algoritmo A*: Função Admissível
z
É possível provar que a pesquisa A* é
completa e óptima, com uma restrição:
z escolher
z
uma função heurística ADMISSÍVEL
Nunca sobrestima o custo real do caminho
que passa por n, ou seja:
zh
(n) <= h * (n)
Algoritmo A*
Pode-se demonstrar o seguinte:
z Sejam h1 e h2 , duas heurísticas
admissíveis tais que para todo nó n
z
z h1(n) <=
h2(n) <= h * (n)
Então o algoritmo A* utilizando h2 expandirá
menos nós que utilizando h1.
19
Inteligência Artificial
Universidade da Madeira
Algoritmo A*
z
Complexidade de tempo:
z
z
Custo de espaço: O (b d)
z
z
z
Exponencial com o comprimento da soluç
solução, poré
porém
boas funç
funções heurí
heurísticas diminuem significativamente
esse custo.
Guarda todos os nó
nós expandidos na memó
memória.
Possibilita o backtracking.
backtracking.
Eficiência óptima
z
Entre as vá
várias soluç
soluções possí
possíveis encontra sempre
primeiro a melhor.
Memória limitada (Memory-bounded)
Os recursos computacionais não são
infinitos.
de fazer a pesquisa
z Necessidade
parametrizando o limite da memória
disponível, mantendo a completude e
optimização.
z
20
Inteligência Artificial
Universidade da Madeira
Algoritmo IDA*
z
Modificações ao Algoritmo A* :
z Limite
para a profundidade dado pelo valor de
f.
z O limite é incrementado para o menor valor
da iteração (repetição) anterior.
O corte é feito pelo menor valor de f (n) da
iteração corrente, que excede o limite.
z Expande todos os nós dentro de um
determinado contorno, o limite de f (n).
z
IDA*
z
Expande todos os
nós dentro de um
contorno, o limite
de f (n).
21
Inteligência Artificial
Universidade da Madeira
Algoritmo IDA*
z
Completo: se o caminho é mais curto, cabe na
memória disponível.
z
Óptimo: se o caminho óptimo é mais curto, cabe
na memória disponível.
z
Complexidade de Espaço: O (b * d)
z
Complexidade de Tempo :O(b2d)
SMA*
É uma versão (simplificada) do A*.
z Faz uso de toda a memória disponível.
z Estratégia:
z
z Ir
expandindo o melhor nó-folha até
preencher a memória.
z Para expandir o próximo nó, descarta o nó
com pior valor de f.
z Esse valor é guardado no antecessor do nó
descartado.
22
Inteligência Artificial
Universidade da Madeira
SMA*
SMA*
23
Inteligência Artificial
Universidade da Madeira
SMA*
SMA*
24
Inteligência Artificial
Universidade da Madeira
SMA*
SMA* é completo se a menor
profundidade da solução é menor que o
espaço em memória.
z SMA* é óptimo se consegue alcançar
solução óptima, dentro da memória, senão
retorna a melhor possível.
z Complexidade de Espaço / Tempo :
Exponencial
z
FIM PARTE 1
25
Inteligência Artificial
Universidade da Madeira
Introdução
à
Inteligência Artificial
Procura Informada
Agenda
z
Parte 1
z
z
Introduç
Introdução a Procura
Informada ou Heurí
Heurística
BestBest-First Search
z
z
z
z
z
Parte 2
z
Processo de Procura
z
z
z
Pesquisa Gulosa (Greedy
(Greedy))
Algoritmo A*
Algoritmo IDA* (Iterative
(Iterative
Deepning A*)
Algoritmo SMA*
z
z
z
z
z
z
Heurí
Heurística e sua aplicaç
aplicação
Funç
Função de Avaliaç
Avaliação
Admissibilidade
Consistência
Dominância
Qualidade
Estraté
Estratégias de Definiç
Definição
de Heurí
Heurísticas
Aná
Análise de Performance
Algoritmos de Procura
Local
z
z
Trepa Colinas
Annealing Simulado
26
Inteligência Artificial
Universidade da Madeira
Heurística e a sua Aplicação
z
A heurística é utilizada:
z Como
técnica de busca para a obtenção de
metas em problemas não algorítmicos que
geram “explosões” combinatórias.
z Como um método aproximado de resolução de
problemas utilizando funções de avaliação de
tipo heurístico.
z Como um método de poda (corte) para
estratégias de programas de jogos.
Heurística e a sua Aplicação
z
z
Numa busca, podemos aplicar dois tópicos de
heurística, a decisão sobre qual nó será feita a
expansão e a decisão sobre quais os nós que
devem ser descartados.
Numa busca podemos definir duas situações:
z O universo é totalmente conhecido, pelo que a
heurística será realizada através da atribuição
de números.
z O universo não é totalmente conhecido, no
qual a heurística será realizada através da
aplicação de regras.
27
Inteligência Artificial
Universidade da Madeira
Heurística e a sua Aplicação
z
z
As funç
funções heurí
heurísticas são especí
específicas para cada
problema.
problema. Estas funç
funções podem ser pouco certas ou
podem não encontrar a melhor resposta, no entanto a sua
utilizaç
utilização permite a libertaç
libertação do uso das aná
análises
combinató
combinatórias.
Por outro lado, a implementaç
implementação de uma funç
função
heurí
heurística é difí
difícil, já
já que é difí
difícil medir precisamente o
valor de uma determinada soluç
solução e é difí
difícil medir
determinados conhecimentos de forma a permitir que seja
efectuada uma aná
análise matemá
matemática do seu efeito no
processo de busca.
Características das Heurísticas
Admissibilidade
z Consistência
z Dominância
z Qualidade
z Análise de Performance
z
28
Inteligência Artificial
Universidade da Madeira
Admissibilidade
z
Uma boa função heurística deve ser admissível,
isto é, nunca subestimar o custo real da
solução, no exemplo anterior a distância é
admissível pois o caminho mais curto entre dois
pontos é sempre uma linha recta.
z
Na escolha de uma função h (n) é sempre
melhor utilizar uma função heurística com
valores altos, desde que seja admissível.
Consistência
z
A propriedade de consistência pode ser definida
como: uma heurística h (n) é consistente se,
para cada nó n e para cada sucessor n’ de n,
gerado por qualquer acção a, o custo estimado
de atingir o objectivo a partir de n não é superior
ao custo de em cada passo obter n’ mais o
custo estimado de atingir o objectivo a partir de
n ’.
29
Inteligência Artificial
Universidade da Madeira
Dominância
z
z
z
z
Em alguns problemas é possí
possível definir mais do que
uma funç
função heurí
heurística, pelo que devemos utilizar a
funç
função que domina todas as outras funç
funções possí
possíveis.
Uma funç
função hi domina outra funç
função hk se hi (n)≥
(n)≥ hk (n)
para qualquer n no espaç
espaço de estados.
Esta propriedade reflectereflecte-se directamente no nú
número de
nós expandidos para cada heurí
heurística.
Caso existam muitas funç
funções heurí
heurísticas para o mesmo
problema, e nenhuma domine as outras, devemos
definir a funç
função h para cada nó
nó, da seguinte forma:
h (n) = max(h1(n), h2(n),…
h2(n),…, hm(n))
hm(n))
Qualidade
z
z
z
A qualidade de uma funç
função heurí
heurística é medida atravé
através de “effective
branch”
branch” factor (b *), que descreve o quanto um processo de procura
está
está concentrado em atingir o seu objectivo.
É calculado atravé
através da fó
fórmula:
N = 1 + b* + (b*
)2 + … + (b*
)d
(b*)2
(b*)d
Uma boa funç
função h terá
terá um valor de b* muito pró
próximo de 1
30
Inteligência Artificial
Universidade da Madeira
Qualidade: Voltando ao 8-puzzle
Distância
Distância
2 4 8
7 3 5
1 6
2 3 4
1
5
8 7 6
Estado Actual
Estado Final
(
h1
2 4 8
7 3 5
1 6
)=
A quantidade de
peças for a do lugar
=7
Qualidade: Voltando ao 8-puzzle
Distância
Distância
2 4 8
7 3 5
1 6
2 3 4
1
5
8 7 6
Estado Actual
Estado Final
(
h2
2 4 8
7 3 5
1 6
)
=
Número de movimentos
necessários para colocar cada
peça no seu lugar
= 10
31
Inteligência Artificial
Universidade da Madeira
Qualidade
z
z
A funç
função h1 representa um limite inferior de h (n), mas
não fornece uma estimativa da dificuldade, em termos
de nú
números de passos para atingir a configuraç
configuração
objectivo.
A tabela que compara a qualidade das funç
funções
definidas:
Estratégias de Definição
z
Existem três estratégias genéricas para
definir heurísticas.
1.
2.
3.
Relaxação das restrições do problema
através da elaboração de modelos
relaxados.
Uso de informação estatística.
Identificar os atributos mais relevantes do
problema.
32
Inteligência Artificial
Universidade da Madeira
Relaxação das restrições do problema
z
z
z
Consiste na diminuiç
diminuição da complexidade das condiç
condições
que envolvem a procura e excluir qualquer consideraç
consideração
que possa ser considerada irrelevante para resoluç
resolução do
problema.
Quanto menos um problema for relaxado, melhor será
será a
funç
função heurí
heurística correspondente, sendo a eficiência da
busca aumentada atravé
através do custo de admissibilidade
ao usar a funç
função h.
Uma vez que as soluç
soluções num modelo relaxado nunca
são superiores em termos de custo ao problema original,
as funç
funções heurí
heurísticas determinadas atravé
através destes
modelos são admissí
admissíveis e consistentes.
Relaxação das restrições do problema
Exercício de 5’
z No 8-puzzle
zO
que foi relaxado em h1?
z O que foi relaxado em h2?
33
Inteligência Artificial
Universidade da Madeira
Relaxação das restrições do problema
z
No 8 – puzzle o problema pode ser relaxado, permitindo
a movimentaç
movimentação directa da peç
peça para o seu lugar
objectivo. Neste caso, o nú
número de passos necessá
necessários
para atingir o objectivo é simplesmente a soma do
número de peç
peças fora do lugar (h1(n)).
z
Um modelo menos relaxado seria, permitir que as peç
peças
pudessem ser movidas para um quadrado adjacente. O
número de passos necessá
necessários para atingir o objectivo
neste caso seria a soma das distâncias que cada peç
peça
está
está do seu destino (h2(n)).
Uso de informação estatística
z
z
z
Consiste na melhoria das funç
funções heurí
heurísticas atravé
através do uso de
dados estatí
estatísticos recolhidos atravé
através dos resultados obtidos numa
amostra da populaç
população.
Por exemplo, no caso do 8 – puzzle, podepode-se começ
começar por executar
uma busca usando uma base de 100 configuraç
configurações distintas,
depois de efectuada a computaç
computação dos resultados se em 90% dos
casos a funç
função h retorna o mesmo valor então a h (n) será
será atribuí
atribuído
o respectivo valor.
Esta estraté
estratégia possui a vantagem de expandir menos nó
nós, embora
por outro lado, elimina a admissibilidade, uma vez que nos
restantes 10% dos casos do problema referido, poderá
poderá ser possí
possível
que a funç
função de avaliaç
avaliação super estime o custo da soluç
solução.
34
Inteligência Artificial
Universidade da Madeira
Identificar os atributos
mais relevantes do problema
z
z
z
z
z
Consiste em apreender com base na experiência. No exemplo
anterior, esta abordagem consiste em resolver com dezenas de
configuraç
configurações do puzzle.
Cada exemplo resolvido é constituí
constituído por um estado do caminho da
soluç
solução e o custo actual da soluç
solução a ser atingida a partir desse
ponto.
A partir destes exemplos, pode ser utilizado um algoritmo de
aprendizagem indutivo para construir uma funç
função h (n).
Os mé
métodos de aprendizagem indutivos são mais eficazes quando
fornecidos com caracterí
características de um estado que são relevantes
para a sua avaliaç
avaliação.
A caracterí
característica “número de peç
peças mal colocadas no puzzle”
puzzle” (x1(n))
podepode-se revelar útil para prever a distância actual de um estado a
partir de um objectivo.
Identificar os atributos
mais relevantes do problema
z
z
z
z
A partir das estatí
estatísticas relativas ao custo das soluç
soluções obtidas na
utilizaç
utilização de 100 configuraç
configurações do puzzle. PodePode-se determinar, por
exemplo, que quando x1(n) = 5, o custo de soluç
solução mé
médio é cerca
de 14.
Uma segunda caracterí
característica x2(n) pode ser “o nú
número de pares de
peç
peças adjacentes que també
também são adjacentes no estado objectivo”
objectivo”.
De forma a prever h (n), uma abordagem comum é utilizar uma
combinaç
combinação linear de forma a combinar x1(n) e x2(n), atravé
através da
seguinte fó
fórmula:
h (n) = c1x1(n) + c2x2(n)
As constantes c1 e c2 são definidas como valores positivos ou
negativos consoante a necessidade de adequar os dados actuais
em relaç
relação aos custos da soluç
solução.
35
Inteligência Artificial
Universidade da Madeira
Análise de Performance
z
A performance na resoluç
resolução de um problema baseado no
paradigma da procura de estados pode ser aumentado em termos
de tempo e espaç
espaço recorrendo a duas abordagens:
z
z
z
z
Tomar mais precisa a funç
função heurí
heurística.
Modificar o espaç
espaço de estados de modo a simplificar o processo.
Os algoritmos que modificam o espaç
espaço de estados durante o
processo de procura recorrem essencialmente ao corte de
caminhos no espaç
espaço ou seleccionam caminhos analisando os
pró
próximos nó
nós a serem expandidos.
Estes algoritmos realizam retrocessos inteligentes e alguns deles
deles
baseiambaseiam-se na selecç
selecção de operadores que á partida têm maior
probabilidade de gerar estados com bons valores heurí
heurísticos.
Algoritmos de Procura Local
z
Em muitos problemas de Optimização, o
caminho para a solução é irrelevante;
z
O Estado Solução é ele próprio a Solução
z
Queremos: Tentar encontrar o Melhor Estado de
acordo com uma Função Objectivo.
36
Inteligência Artificial
Universidade da Madeira
Algoritmos de Procura Local
z
z
z
Espaço de Estados = conjunto de configurações
‘completas’;
Encontrar configurações que respeitem as
restrições.
Ex.: 8-rainhas
Nestes casos, podemos usar Algoritmos de
Procura Local.
Algoritmos de Procura Local
z
Utilizam um único estado, o estado actual, e
procuram melhora-lo.
z
z
Os caminhos seguidos pelo Algoritmo não são
guardados.
Duas Vantagens:
z
z
Usam muito pouca memó
memória – normalmente uma
quantidade constante.
Conseguem encontrar boas soluç
soluções em espaç
espaços de
estados infinitos (contí
(contínuos) para os quais os
Algoritmos Sistemá
Sistemáticos são inadequados.
37
Inteligência Artificial
Universidade da Madeira
Exemplo: n-rainhas
z
z
Colocando n rainhas num tabuleiro n × n, tal que não
exista duas rainhas numa mesma linha, coluna ou
diagonal.
Vejamos para o caso em que n=4
Trepa Colinas (Hill Climbing)
z
Como subir ao Pico Ruivo num dia com nevoeiro intenso
e sofrendo de amné
amnésia?
z
z
z
Um ciclo em que o movimento é feito continuamente
na direcç
direcção que corresponde a um aumento de
altitude.
O ciclo termina quando atinge um ‘pico’
pico’, ou seja, uma
localizaç
localização tal que nenhum dos pontos vizinhos
possui maior altitude.
Não olha para alé
além dos vizinhos imediatos ao estado
(localizaç
(localização) actual.
38
Inteligência Artificial
Universidade da Madeira
Trepa Colinas
!
!
39
Inteligência Artificial
Universidade da Madeira
Máximo Global
Máximo
Local
Trepa Colinas:
Circunstâncias Indesejáveis
z
Existem 3 circunstâncias indesejá
indesejáveis nas quais o
Algoritmo de Hill Climbing pode ficar ‘preso’
preso’ :
z
z
z
Máximos Locais
Planaltos
Encostas e Picos
40
Inteligência Artificial
Universidade da Madeira
Máximos locais
z
O algoritmo pára no máximo local.
z
Pois só
só pode movermover-se com taxa crescente de variaç
variação.
z
z
Restriç
Restrição do algoritmo
Ex.: jogo 88-números: mover uma peç
peça para fora da sua
posiç
posição correcta para dar passagem a outra peç
peça que
está
está fora do lugar tem taxa de variaç
variação negativa!!!
Planaltos
z
Uma região do espaç
espaço de estados onde a funç
função de avaliaç
avaliação dá
dá o mesmo
resultado.
z
Todos os movimentos locais são iguais (taxa de variaç
variação zero).
z
z
O algoritmo pá
pára depois de algumas tentativas.
z
z
f (n) = f (filhos (n))
Restriç
Restrição do algoritmo
Ex.: jogo 88-números: nenhum movimento possí
possível vai influenciar no
valor de f, pois nenhum nú
número vai chegar ao seu local objectivo.
41
Inteligência Artificial
Universidade da Madeira
Encostas e Picos
z
Apesar de estar em uma direcç
direcção que leva ao pico,
nenhum dos operadores vá
válidos conduz o algoritmo
nessa direcç
direcção.
z
Os movimentos possí
possíveis têm taxa de variaç
variação zero ou
negativa.
z
z
Restriç
Restrição do problema e do algoritmo
Ex.: rotas: quando é necessá
necessário permutar entre dois pontos e o
caminho resultante não está
está conectado.
Algoritmo Trepa Colinas:
Problema das 8 Rainhas
Formulaç
Formulação de Estado - Completo
z
Estados:
Estados: configuraç
configurações de n rainhas (0 <= n <= 8), uma
por coluna, sem que existam pares de rainhas que se
ataquem.
z
Funç
Função Sucessor: Retorna todos os possí
possíveis estados
gerados pelo movimento de uma única rainha para outra
posiç
posição na mesma coluna Æ(8 x 7 = 56 sucessores).
42
Inteligência Artificial
Universidade da Madeira
Algoritmo Trepa Colinas :
Problema das 8 Rainhas
z
Funç
Função Heurí
Heurística de Custo
z
z
z
z
h = nú
número de pares de rainhas que se estão a
atacar mutuamente, quer directa quer indirectamente.
Mínimo Global Æ (h) = 0.
Se existir mais do que um sucessor, escolhe o
melhor sucessor aleatoriamente de entre o conjunto
de melhores sucessores.
É també
também denominado Procura Local Gulosa - porque
não ‘olha ’ para alé
além dos estados sucessores imediatos.
Problema 8 Rainhas
z
z
z
Nomeando cada rainha a, b, c, d, e, f, g,
h a partir da coluna mais á esquerda
Possí
Possíveis ataques:
z Diagonal Direita:
z (a, b), (a, c), (b, c), (d, e), (d, f),
z (d, g), (e, f), (e, g), (f, g)
z Diagonal Esquerda:
z (b, d), (c, e), (g, h)
z Ataques Horizontais:
z (a, e), (b, f), (b, h), (f, h), (c, g)
Número de Ataques por cada Rainha:
z a – 3, b – 5, c – 4, d – 4, e – 5, f – 5,
g – 5, h – 3.
z
43
Inteligência Artificial
Universidade da Madeira
Problema 8 Rainhas
z
Neste caso temos um má
máximo local com h = 1
Trepa Colinas
z
z
Nos casos apresentados, o algoritmo chega a um
ponto de onde não tem mais progresso.
Soluç
Solução: reiní
reinício aleató
aleatório (random
(random restart)
restart)
z
z
Cada busca é executada
z
z
z
O algoritmo realiza uma sé
série de buscas a partir de estados
iniciais gerados aleatoriamente.
aleatoriamente.
Até
Até que um nú
número má
máximo estipulado de iteraç
iterações seja
atingido, ou
Até
Até que os resultados encontrados não apresentem melhora
significativa.
O algoritmo escolhe o melhor resultado obtido com as
diferentes buscas.
z
Objectivo!!!
44
Inteligência Artificial
Universidade da Madeira
Trepa Colinas : análise
z
O algoritmo é completo?
z
SIM, para problemas de optimizaç
optimização
z
z
NÃO, para problemas onde os nó
nós não são estados completos
z
z
z
Uma vez que cada nó
nó tratado pelo algoritmo é sempre um estado
completo (uma soluç
solução).
Ex.: jogo dos 88-números
Semelhante à busca em profundidade
O algoritmo é óptimo?
z
TALVEZ, para problemas de optimizaç
optimização
z
NÃO, para problemas onde os nó
nós não são estados completos
z
Quando iteraç
iterações (repetiç
(repetições) suficientes forem permitidas...
Trepa Colinas: análise
z
O sucesso deste mé
método depende muito do formato da
superfí
í
cie
do
espaç
superf
espaço de estados:
z
z
Se há
há poucos má
máximos locais, o reiní
reinício aleató
aleatório
encontra uma boa soluç
solução rapidamente
Caso contrá
contrário, o custo de tempo é exponencial.
45
Inteligência Artificial
Universidade da Madeira
Anelamento Simulado
z
Este algoritmo é semelhante à Trepa Colinas , poré
porém oferece
meios para se escapar de má
máximos locais.
z
z
z
z
z
Quando a busca fica “presa”
presa” em um má
máximo local, o algoritmo não
reinicia a busca aleatoriamente;
Ele retrocede para escapar desse má
máximo local;
Esses retrocessos são chamados de passos indirectos;
Apesar de aumentar o tempo de busca, esta estraté
estratégia consegue
escapar dos má
máximos locais.
Analogia com cozimento de vidros ou metais:
z
Processo de resfriar um lílíquido gradualmente até
até ele se solidificar;
Anelamento Simulado
z
z
O algoritmo utiliza um mapeamento de resfriamento de
instantes de tempo (t
(t) em temperaturas (T
(T).
Nas iteraç
iterações iniciais, não escolhe necessariamente o
“melhor”
melhor” passo, e sim um movimento aleató
aleatório:
z
z
z
Se a situaç
situação melhorar, esse movimento será
será sempre escolhido
posteriormente;
Caso contrá
contrário, associa a esse movimento uma probabilidade de
escolha menor do que 1.
Essa probabilidade depende de dois parâmetros, e
decresce exponencialmente com o agravamento
causado pelo movimento, e-ΔE/T, onde:
ΔE = Valor[pró
Valor[próximoximo-nó] - Valor[nó
Valor[nó-atual]
atual]
T = Temperatura
46
Inteligência Artificial
Universidade da Madeira
Anelamento Simulado
z
Com o tempo (diminuiç
(diminuição da temperatura), este algoritmo passa a
funcionar como Trepa Colinas .
z
O algoritmo é óptimo e completo se o mapeamento de resfriamento
tiver muitas entradas com variaç
variações suaves.
z
Isto é, se o mapeamento diminui T suficientemente devagar no tempo,
o algoritmo irá
irá encontrar um má
máximo global óptimo.
Críticas à Busca Heurística
z
Soluç
Solução de problemas, usando té
técnicas de busca
heurí
í
stica:
heur
z
z
z
Funç
Função de avaliaç
avaliação: compromisso (conflito) entre
z
z
z
Dificuldades em definir e usar a funç
função de avaliaç
avaliação;
Não consideram conhecimento gené
genérico do mundo (ou “senso
comum”
comum”);
Tempo gasto na selecç
selecção de um nó
nó e
Reduç
Redução do espaç
espaço de busca
Achar o melhor nó
nó a ser expandido a cada passo pode
ser tão difí
difícil quanto o problema da busca em geral.
47
Inteligência Artificial
Universidade da Madeira
Fontes Consultadas
z
z
z
z
z
Russel, Norvig, Artificial Intelligence: A Modern
Approach, Cap. 4.
Costa,
Simões,
Inteligência
Artificial.
Fundamentos e Aplicações. Cap 3.3., 3.4
Acetatos Prof. Guillermo Simari. Universidad
Nacional del Sur, Argentina
Acetatos Alunos IIA semestre 2004/2005 e
2005/2006
Acetatos
Prof.
Geber
Ramalho.
CIN.
Universidade Federal de Pernambuco, Brasil.
Leituras
LIVROS
z Russel, Norvig, Artificial Intelligence: A
Modern Approach, Cap. 4.
Simões, Inteligência Artificial.
z Costa,
Fundamentos e Aplicações. Cap 3.3. – 3.4
48
Inteligência Artificial
Universidade da Madeira
FIM
49
Download