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