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