Inteligência Artificial Agenda

Propaganda
Inteligência Artificial
Universidade da Madeira
Inteligência Artificial
Procura Informada
Agenda
z
Parte 1
z
z
Introdução á Procura
Informada ou Heurística
Best-First Search
z
z
z
z
z
Parte 2
z
Processo de Procura
z
z
z
Pesquisa Gulosa (Greedy)
Algoritmo A*
Algoritmo IDA* (Iterative
Deepning A*)
Algoritmo SMA*
z
z
z
z
z
z
Heurística e sua aplicação
Função de Avaliação
Admissibilidade
Consistência
Dominância
Qualidade
Estratégias de Definição
de Heurísticas
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égias de Busca Exaustiva (Cega)
z
z
encontram soluções para problemas pela geração 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ó actual ao nó
inicial para decidir qual o próximo nó da fronteira a ser expandido.
z
esta medida não conduz necessariamente a busca na direcção do
objectivo.
z
Estes métodos devem ser exaustivos porque são métodos gerais, isto é,
são independentes do problema.
z
Por isto chamam-se de Procura Cega, não Informados ou débeis.
Como encontrar um barco perdido?
z
z
não podemos procurar no oceano inteiro...
observamos as correntes 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égias de Busca Heurística
z
z
utilizam conhecimento específico do problema na escolha do
próximo nó a ser expandido
barco perdido
zcorrentes
z
z
marítimas, vento, etc...
Introduz uma métrica que permite ao agente de busca
estimar a distância desde o estado actual até um
objectivo.
A métrica pode expressar distância, custo ou uma
medida abstracta.
z
A utilização desta métrica permitirá escolher o próximo
nó da fronteira a ser expandido.
z
A função que calcula este tipo de métricas denomina-se
função 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ística será então uma estimação adequada
do custo ou longitude do passo (no espaço de procura)
desde um estado até um objectivo.
z
Diremos que subestima a distância se a sua estimação
até o objectivo é menor ou igual a distância real.
z
É sempre possível calcular a função heurística, mas é
necessário, dado que a heurística balança o ganho
entre a eficiência da procura e o custo computacional
de calcular a heurística.
Exemplo
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
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
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
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á que demora muito tempo encontrar uma solução
para um dado problema;
Complexidade da memória:
z
z
Será que todas as pesquisas encontram uma solução, no
caso desta existir;
Será que temos de
efectuamos uma busca;
ter
muita
memória
quando
Óptima:
z
Será que é encontrada a melhor solução quando esta
existe.
7
Inteligência Artificial
Universidade da Madeira
Notação
z
Dado um nó n
g (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.
z
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ó.
Expandir o nó cujo estado é previsto como o mais
perto do nó final, com base na estimativa feita pela
função heurística h.
Tem de existir um conhecimento prévio dessas
funções.
h (n) = Custo estimado do caminho mais barato
desde o estado correspondente ao nó n 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ção heurística que
seja admissível, isto é, que não ultrapasse o custo real
da solução.
z
Distância directa (h SLD) é admissível porque o caminho
mais curto entre dois pontos é sempre uma linha recta.
z
h (n) deve ser zero quando o nó n tenha associado um
estado correspondente ao estado final (Objectivo), ver
no exemplo.
z
Tenta sempre ser 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ística straight-line
(Linha recta), que vamos chamar de h SLD.
z
Se o objectivo é a Cancela, então temos de saber quais
as distâncias straight-line até á Cancela.
z
z
Por exemplo, h SLD (Ponta de Sol) = 366.
Vejamos o progresso da pesquisa gulosa best-first
usando h SLD para a pesquisa da Ponta de Sol 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é ao 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)
Ex. Caniçal Æ Machico Æ Caniçal Æ…
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
Qual o caminho a
escolher?
z
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ó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ém todos os nós em 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
z
escolher uma função heurística ADMISSÍVEL
Nunca sobrestima o custo real do caminho
que passa por n, ou seja:
z
h (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ção, porém
boas funções heurísticas diminuem significativamente
esse custo.
Guarda todos os nós expandidos na memória.
Possibilita o backtracking.
Eficiência óptima
z
Entre as várias soluções possíveis encontra sempre
primeiro a melhor.
Memória limitada (Memory-bounded)
Os recursos computacionais não são
infinitos.
z Necessidade
de fazer a pesquisa
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* :
Limite para a profundidade dado pelo valor de
f.
z O limite é incrementado para o menor valor
da iteração (repetição) anterior.
z
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
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.
z
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ção a Procura
Informada ou Heurística
Best-First Search
z
z
z
z
z
Parte 2
z
Processo de Procura
z
z
z
Pesquisa Gulosa (Greedy)
Algoritmo A*
Algoritmo IDA* (Iterative
Deepning A*)
Algoritmo SMA*
z
z
z
z
z
z
Heurística e sua aplicação
Função de Avaliação
Admissibilidade
Consistência
Dominância
Qualidade
Estratégias de Definição
de Heurísticas
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:
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.
z
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ções heurísticas são específicas para cada
problema. Estas funções podem ser pouco certas ou
podem não encontrar a melhor resposta, no entanto a sua
utilização permite a libertação do uso das análises
combinatórias.
Por outro lado, a implementação de uma função
heurística é difícil, já que é difícil medir precisamente o
valor de uma determinada solução e é difícil medir
determinados conhecimentos de forma a permitir que seja
efectuada uma análise 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ível definir mais do que
uma função heurística, pelo que devemos utilizar a
função que domina todas as outras funções possíveis.
Uma função hi domina outra função hk se hi (n)≥ hk (n)
para qualquer n no espaço de estados.
Esta propriedade reflecte-se directamente no número de
nós expandidos para cada heurística.
Caso existam muitas funções heurísticas para o mesmo
problema, e nenhuma domine as outras, devemos
definir a função h para cada nó, da seguinte forma:
h (n) = max(h1(n), h2(n),…, hm(n))
Qualidade
z
z
z
A qualidade de uma função heurística é medida através de “effective
branch” factor (b *), que descreve o quanto um processo de procura
está concentrado em atingir o seu objectivo.
É calculado através da fórmula:
N = 1 + b* + (b*)2 + … + (b*)d
Uma boa função h terá um valor de b* muito próximo de 1
30
Inteligência Artificial
Universidade da Madeira
Qualidade: Voltando ao 8-puzzle
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
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ção h1 representa um limite inferior de h (n), mas
não fornece uma estimativa da dificuldade, em termos
de números de passos para atingir a configuração
objectivo.
A tabela que compara a qualidade das 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ção da complexidade das condições
que envolvem a procura e excluir qualquer consideração
que possa ser considerada irrelevante para resolução do
problema.
Quanto menos um problema for relaxado, melhor será a
função heurística correspondente, sendo a eficiência da
busca aumentada através do custo de admissibilidade
ao usar a função h.
Uma vez que as soluções num modelo relaxado nunca
são superiores em termos de custo ao problema original,
as funções heurísticas determinadas através destes
modelos são admissíveis e consistentes.
Relaxação das restrições do problema
Exercício de 5’
z No 8-puzzle
O que foi relaxado em h1?
z O que foi relaxado em h2?
z
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ção directa da peça para o seu lugar
objectivo. Neste caso, o número de passos necessários
para atingir o objectivo é simplesmente a soma do
número de peças fora do lugar (h1(n)).
z
Um modelo menos relaxado seria, permitir que as peças
pudessem ser movidas para um quadrado adjacente. O
número de passos necessários para atingir o objectivo
neste caso seria a soma das distâncias que cada peça
está do seu destino (h2(n)).
Uso de informação estatística
z
z
z
Consiste na melhoria das funções heurísticas através do uso de
dados estatísticos recolhidos através dos resultados obtidos numa
amostra da população.
Por exemplo, no caso do 8 – puzzle, pode-se começar por executar
uma busca usando uma base de 100 configurações distintas,
depois de efectuada a computação dos resultados se em 90% dos
casos a função h retorna o mesmo valor então a h (n) será atribuído
o respectivo valor.
Esta estratégia possui a vantagem de expandir menos nós, embora
por outro lado, elimina a admissibilidade, uma vez que nos
restantes 10% dos casos do problema referido, poderá ser possível
que a função de avaliação super estime o custo da 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ções do puzzle.
Cada exemplo resolvido é constituído por um estado do caminho da
solução e o custo actual da 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ção h (n).
Os métodos de aprendizagem indutivos são mais eficazes quando
fornecidos com características de um estado que são relevantes
para a sua avaliação.
A característica “número de peças mal colocadas no puzzle” (x1(n))
pode-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ísticas relativas ao custo das soluções obtidas na
utilização de 100 configurações do puzzle. Pode-se determinar, por
exemplo, que quando x1(n) = 5, o custo de solução médio é cerca
de 14.
Uma segunda característica x2(n) pode ser “o número de pares de
peças adjacentes que também são adjacentes no estado objectivo”.
De forma a prever h (n), uma abordagem comum é utilizar uma
combinação linear de forma a combinar x1(n) e x2(n), através da
seguinte 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ção aos custos da solução.
35
Inteligência Artificial
Universidade da Madeira
Análise de Performance
z
A performance na resolução de um problema baseado no
paradigma da procura de estados pode ser aumentado em termos
de tempo e espaço recorrendo a duas abordagens:
z
z
z
z
Tomar mais precisa a função heurística.
Modificar o espaço de estados de modo a simplificar o processo.
Os algoritmos que modificam o espaço de estados durante o
processo de procura recorrem essencialmente ao corte de
caminhos no espaço ou seleccionam caminhos analisando os
próximos nós a serem expandidos.
Estes algoritmos realizam retrocessos inteligentes e alguns deles
baseiam-se na selecção de operadores que á partida têm maior
probabilidade de gerar estados com bons valores heurísticos.
Algoritmos de Procura Local
z
Em muitos problemas de Optimização,
caminho para a solução é irrelevante;
o
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ória – normalmente uma
quantidade constante.
Conseguem encontrar boas soluções em espaços de
estados infinitos (contínuos) para os quais os
Algoritmos 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ésia?
z
z
z
Um ciclo em que o movimento é feito continuamente
na direcção que corresponde a um aumento de
altitude.
O ciclo termina quando atinge um ‘pico’, ou seja, uma
localização tal que nenhum dos pontos vizinhos
possui maior altitude.
Não olha para além dos vizinhos imediatos ao estado
(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áveis nas quais o
Algoritmo de Hill Climbing pode ficar ‘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ó pode mover-se com taxa crescente de variação.
z
z
Restrição do algoritmo
Ex.: jogo 8-números: mover uma peça para fora da sua
posição correcta para dar passagem a outra peça que
está fora do lugar tem taxa de variação negativa!!!
Planaltos
z
Uma região do espaço de estados onde a função de avaliação dá o mesmo
resultado.
z
Todos os movimentos locais são iguais (taxa de variação zero).
z
z
O algoritmo pára depois de algumas tentativas.
z
z
f (n) = f (filhos (n))
Restrição do algoritmo
Ex.: jogo 8-números: nenhum movimento possível vai influenciar no
valor de f, pois nenhum 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ção que leva ao pico,
nenhum dos operadores válidos conduz o algoritmo
nessa direcção.
z
Os movimentos possíveis têm taxa de variação zero ou
negativa.
z
z
Restrição do problema e do algoritmo
Ex.: rotas: quando é necessário permutar entre dois pontos e o
caminho resultante não está conectado.
Algoritmo Trepa Colinas:
Problema das 8 Rainhas
Formulação de Estado - Completo
z
Estados: configurações de n rainhas (0 <= n <= 8), uma
por coluna, sem que existam pares de rainhas que se
ataquem.
z
Função Sucessor: Retorna todos os possíveis estados
gerados pelo movimento de uma única rainha para outra
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ção Heurística de Custo
z
z
z
z
h = 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ém denominado Procura Local Gulosa - porque
não ‘olha ’ para 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í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,
z
g – 5, h – 3.
43
Inteligência Artificial
Universidade da Madeira
Problema 8 Rainhas
z
Neste caso temos um 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ção: reinício aleatório (random restart)
z
z
Cada busca é executada
z
z
z
O algoritmo realiza uma série de buscas a partir de estados
iniciais gerados aleatoriamente.
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 buscas.
z
Objectivo!!!
44
Inteligência Artificial
Universidade da Madeira
Trepa Colinas : análise
z
O algoritmo é completo?
z
SIM, para problemas de optimização
z
z
NÃO, para problemas onde os nós não são estados completos
z
z
z
Uma vez que cada nó tratado pelo algoritmo é sempre um estado
completo (uma solução).
Ex.: jogo dos 8-números
Semelhante à busca em profundidade
O algoritmo é óptimo?
z
TALVEZ, para problemas de optimização
z
NÃO, para problemas onde os nós não são estados completos
z
Quando iterações (repetições) suficientes forem permitidas...
Trepa Colinas: análise
z
O sucesso deste método depende muito do formato da
superfície do espaço de estados:
z
z
Se há poucos máximos locais, o reinício aleatório
encontra uma boa solução rapidamente
Caso contrário, o custo de tempo é exponencial.
45
Inteligência Artificial
Universidade da Madeira
Anelamento Simulado
z
Este algoritmo é semelhante à Trepa Colinas , porém oferece
meios para se escapar de máximos locais.
z
z
z
z
z
Quando a busca fica “presa” em um máximo local, o algoritmo não
reinicia a busca aleatoriamente;
Ele retrocede para escapar desse máximo local;
Esses retrocessos são chamados de passos indirectos;
Apesar de aumentar o tempo de busca, esta estratégia consegue
escapar dos máximos locais.
Analogia com cozimento de vidros ou metais:
z
Processo de resfriar um líquido gradualmente até ele se solidificar;
Anelamento Simulado
z
z
O algoritmo utiliza um mapeamento de resfriamento de
instantes de tempo (t) em temperaturas (T).
Nas iterações iniciais, não escolhe necessariamente o
“melhor” passo, e sim um movimento aleatório:
z
z
z
Se a situação melhorar, esse movimento será sempre escolhido
posteriormente;
Caso 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óximo-nó] - Valor[nó-atual]
T = Temperatura
46
Inteligência Artificial
Universidade da Madeira
Anelamento Simulado
z
Com o tempo (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ções suaves.
z
Isto é, se o mapeamento diminui T suficientemente devagar no tempo,
o algoritmo irá encontrar um máximo global óptimo.
Críticas à Busca Heurística
z
Solução de problemas, usando técnicas de busca
heurística:
z
z
z
Função de avaliação: compromisso (conflito) entre
z
z
z
Dificuldades em definir e usar a função de avaliação;
Não consideram conhecimento genérico do mundo (ou “senso
comum”);
Tempo gasto na selecção de um nó e
Redução do espaço de busca
Achar o melhor nó a ser expandido a cada passo pode
ser tão 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.
z Costa,
Simões, Inteligência Artificial.
Fundamentos e Aplicações. Cap 3.3. – 3.4
48
Inteligência Artificial
Universidade da Madeira
FIM
49
Download