Inteligência Artificial. Inteligência Artificial



Documentos relacionados
Inteligência Artificial. Metodologias de Busca

CTC-17 Inteligência Artificial Problemas de Busca. Prof. Paulo André Castro

Busca em Espaço de Estados

Best-first search. Pesquisa informada. Best-first search Pesquisa gananciosa (greedy) Best-first search

Utilização do SOLVER do EXCEL

Respostas dos Exercícios Cap. 2 Russell & Norvig

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

CAP. I ERROS EM CÁLCULO NUMÉRICO

Resolução de Problemas Com Procura. Capítulo 3

Correlação e Regressão Linear

Projeto e Análise de Algoritmos Projeto de Algoritmos Tentativa e Erro. Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br

Faculdade Alagoana de Administração FAA Ciência da Computação. (Resolução de Problemas em) Espaço de Estados

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

PROGRAMAÇÃO LINEAR. Resolução de problemas de programação linear usando o comando Solver, no Excel.

Arquitetura de Rede de Computadores

Chord. Tecnologias de Middleware. Fernando Martins - fmp.martins@gmail.com

Projeto e Análise de Algoritmos

MÓDULO 6 INTRODUÇÃO À PROBABILIDADE

Sistemas Inteligentes Lista de Exercícios sobre Busca

Análise de Algoritmos: Melhor caso, pior caso, caso médio

Licenciatura em Engenharia Electrotécnica e de Computadores 1998/99. Erros

Tarefa Orientada 14 Subconsultas

Meta-heurísticas. Métodos Heurísticos José António Oliveira meta-heurísticas

APLICAÇÕES DA DERIVADA

6 Construção de Cenários

1. Avaliação de impacto de programas sociais: por que, para que e quando fazer? (Cap. 1 do livro) 2. Estatística e Planilhas Eletrônicas 3.

Exercícios Teóricos Resolvidos

Solução de problemas por meio de busca (com Python) Luis Martí DEE/PUC-Rio

Busca Heurística - Informada

O QUE É E COMO FUNCIONA O CREDIT SCORING PARTE I

IBM1018 Física Básica II FFCLRP USP Prof. Antônio Roque Aula 6. O trabalho feito pela força para deslocar o corpo de a para b é dado por: = =

Dadas a base e a altura de um triangulo, determinar sua área.

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

Protocolo TCP/IP. Neste caso cada computador da rede precisa de, pelo menos, dois parâmetros configurados:

Módulo 4. Construindo uma solução OLAP

Análise de complexidade

IA: Busca Competitiva. Ricardo Britto DIE-UFPI

4.2 Modelação da estrutura interna

Pedro Ribeiro 2014/2015

Trabalho de Implementação Jogo Reversi

IA: Problemas de Satisfação de Restrições. Prof. Msc. Ricardo Britto DIE-UFPI

Instituto Politécnico de Beja. Escola Superior de Tecnologia e Gestão

Jogos vs. Problemas de Procura

Hoje estou elétrico!

CAPÍTULO 2. Grafos e Redes

Aula 03 Custos de um algoritmo e funções de complexidade

Departamento de Matemática - UEL Ulysses Sodré. Arquivo: minimaxi.tex - Londrina-PR, 29 de Junho de 2010.

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 11 Problemas com Satisfação de Vínculos

CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches

Contagem I. Figura 1: Abrindo uma Porta.

Resolução de sistemas lineares

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Arrendamento de espaço num armazém

Pisa 2012: O que os dados dizem sobre o Brasil

Método Simplex - Variantes V 1.1, V.Lobo, EN / ISEGI, 2008

Diagrama de transição de Estados (DTE)

Variantes sobre o método Simplex: Método do grande M

5. EXPERIÊNCIAS E ANÁLISE DOS RESULTADOS Os Programas de Avaliação

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Capítulo 4 - Roteamento e Roteadores

Transcrição Automática de Música

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Disciplina: Suprimentos e Logística II Professor: Roberto Cézar Datrino Atividade 3: Transportes e Armazenagem

Programação Básica em STEP 7 Operações Binárias. SITRAIN Training for Automation and Drives. Página 6-1

Organização e Arquitetura de Computadores I

DESENVOLVER E GERIR COMPETÊNCIAS EM CONTEXTO DE MUDANÇA (Publicado na Revista Hotéis de Portugal Julho/Agosto 2004)

Uma análise econômica do seguro-saúde Francisco Galiza Outubro/2005

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Aula 04 Método de Monte Carlo aplicado a análise de incertezas. Aula 04 Prof. Valner Brusamarello

Somatórias e produtórias

MÉTODOS DE RESOLUÇÃO DE PROBLEMAS EM IA. Busca em espaço de estados. Estados e Operadores. Jogo dos 8. Sumário. Exemplo: jogo dos 8

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

1. Ambiente de Trabalho

Aplicações de Escritório Electrónico

Programação em papel quadriculado

Métodos de Busca. Estratégias de Busca Cega

Pesquisa Sequencial e Binária. Introdução à Programação SI2

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO As Normas da família ISO 9000

CAPÍTULO 1 MEDIÇÃO E O ERRO DE MEDIÇÃO

computador-cálculo numérico perfeita. As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Resolução de problemas por meio de busca. Capítulo 3 Russell & Norvig Seções 3.1, 3.2 e 3.3

12-Função Horária da Posição do Movimento Uniforme

Tópico 3. Limites e continuidade de uma função (Parte 2)

Ivan Guilhon Mitoso Rocha. As grandezas fundamentais que serão adotadas por nós daqui em frente:

Escolha da Objectiva. Quais as principais características das objectivas que servem de base para a escolha das suas lentes?

OBI2014 Caderno de Tarefas

Ministério das Finanças Instituto de Informática. Departamento de Sistemas de Informação

ISO/IEC 12207: Gerência de Configuração

Problemas de Satisfação de Restrições

Protocolo em Rampa Manual de Referência Rápida

Indicadores de transferência e de abandono no ensino superior português

Planeamento de um Posto de Abastecimento de Combustível

Pipeline. Todos os estágios devem estar prontos ao mesmo tempo para prosseguir.

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

Transcrição:

Inteligência Artificial Procura Informada Agenda Parte 1 Introdução á Procura Informada ou Heurística Best-First Search Pesquisa Gulosa (Greedy( Greedy) Algoritmo A* Algoritmo IDA* (Iterative( Deepning A*) Algoritmo SMA* Parte 2 Processo de Procura 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 Trepa Colinas Annealing Simulado 1

Procura Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática tica de novos estados, que são comparados com o objectivo; são ineficientes na maioria dos casos: são capazes de calcular apenas o custo de caminho do nón actual ao nón inicial para decidir qual o próximo nón da fronteira a ser expandido. esta medida não conduz necessariamente a busca na direcção do objectivo. Estes métodos m devem ser exaustivos porque são métodos m gerais, isto é, são independentes do problema. Por isto chamam-se de Procura Cega, não Informados ou débeis. d Como encontrar um barco perdido? não podemos procurar no oceano inteiro... observamos as correntes marítimas, o vento, etc... Procura Heurística - Informada 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 prias do problema particular para ajudar no processo de busca. Isto é chamado Procura Informada. Heurística ou 2

Procura Heurística - Informada Estratégias de Busca Heurística utilizam conhecimento específico próximo nón a ser expandido barco perdido correntes marítimas, vento, etc... do problema na escolha do Introduz uma métrica que permite ao agente de busca estimar a distância desde o estado actual até um objectivo. A métrica m pode expressar distância, custo ou uma medida abstracta. A utilização desta métrica m permitirá escolher o próximo nó da fronteira a ser expandido. A função que calcula este tipo de métricas m denomina-se função heurística Heurística Uma heurística é uma técnica t que permite melhorar a eficiência da procura. A palavra Heurística vem do grego Heuriskein que significa Descobrir e é também m a origem de Eureka que provem da expressão heurika que ficou famosa por Arquimedes. 3

Heurística Uma heurística será então uma estimação adequada do custo ou longitude do passo (no espaço o de procura) desde um estado até um objectivo. Diremos que subestima a distância se a sua estimação até o objectivo é menor ou igual a distância real. É sempre possível calcular a função heurística, mas é necessário, dado que a heurística balança 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 Estado Actual 2 3 4 1 5 8 7 6 Estado Final 2 4 8 7 3 5 1 6 h 1 ( ) =? Estimando a distância 4

Exemplo Distância 2 4 8 7 3 5 1 6 Estado Actual 2 3 4 1 5 8 7 6 Estado Final 2 4 8 7 3 5 1 6 h 1 ( ) = A quantidade de peças for a do lugar = 7 2 4 8 7 3 5 1 6 Estado 1 2 4 8 7 3 5 1 6 Estado 2 Exemplo 2 4 8 7 3 5 1 6 h 1 ( ) = 7 2 4 8 7 3 5 1 6 h 1 ( ) = 6 2 3 4 1 5 8 7 6 Estado Final 5

Exemplo Distância 2 4 8 7 3 5 1 6 Estado Actual 2 3 4 1 5 8 7 6 Estado Final 2 4 8 7 3 5 1 6 h 2 ( ) =? Outra heurística? Exemplo Distância 2 4 8 7 3 5 1 6 Estado Actual 2 3 4 1 5 8 7 6 Estado Final 2 4 8 7 3 5 1 6 h 2 ( ) = Número de movimentos necessários para colocar cada peça no seu lugar = 10 6

2 4 8 7 3 5 1 6 Estado 1 2 4 8 7 3 5 1 6 Estado 2 Exemplo 2 4 8 7 3 5 1 6 h 2 ( ) = 10 2 4 8 7 3 5 1 6 h 2 ( ) = 9 2 3 4 1 5 8 7 6 Estado Final Com que critérios rios avaliamos uma pesquisa: Na semana anterior vimos estes critérios: rios: Completude: Será que todas as pesquisas encontram uma solução, no caso desta existir; Complexidade do tempo: Será que demora muito tempo encontrar uma solução para um dado problema; Complexidade da memória: Será que temos de ter muita memória quando efectuamos uma busca; Óptima: Será que é encontrada a melhor solução quando esta existe. 7

Notação Dado um nón n g (n) = custo desde o nón inicial até n. h (n)( = função heurística aplicada ao nón n. Isto é o custo estimado desde n até uma solução. h * (n)( ) = custo real de um caminho óptimo desde n até uma solução. f (n)( ) = g (n)( ) + h (n)( ) custo estimado de uma solução que passa pelo nón n. Busca pela Melhor Escolha Best-First Search Busca genérica onde o nón de menor custo aparente na fronteira do espaço o de estados é expandido primeiro. Duas abordagens básicas: b 1. Pesquisa Gulosa (Greedy( search) 2. Algoritmo A* 8

Pesquisa Gulosa Semelhante à busca em profundidade com backtracking. O seu objectivo é: 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çã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 n até a um estado objectivo (final). Algoritmo: Pesquisa Gulosa função Busca-Gulosa (problema,h) retorna uma solução ou falha Busca-Melhor Melhor-Escolha (problema, h) 9

Pesquisa Gulosa Devemos sempre escolher uma função heurística que seja admissível, isto é,, que não ultrapasse o custo real da solução. Distância directa (h SLD ) é admissível porque o caminho mais curto entre dois pontos é sempre uma linha recta. h (n) deve ser zero quando o nón n tenha associado um estado correspondente ao estado final (Objectivo), ver no exemplo. Tenta sempre ser rápido r na sua pesquisa. Um exemplo de Busca Gulosa: 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. Se o objectivo é a Cancela, então temos de saber quais as distâncias straight-line até á Cancela. 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

Madeira com distâncias em linha recta (km) Partida Ponta de Sol A distância em linha recta até ao nón objectivo (Cancela) é de 366 km 11

Madeira com distâncias em linha recta (km) Neste caso o caminho mais perto será 12

Madeira com distâncias em linha recta (km) Aqui será 13

Madeira com distâncias em linha recta (km) Chegamos ao nó objectivo 14

Propriedades/Características sticas da pesquisa Gulosa: Não é Completa Nós s repetidos podem originar caminhos infinitos (loop( loop) Ex. Caniçal al Machico Caniçal al Partida Machico Propriedades/Características sticas da pesquisa Gulosa: Não é Óptima: ptima: escolhe o caminho que é mais económico à primeira vista. Partida Madalena do Mar Chegada Monte Qual o caminho a escolher? 15

Propriedades/Características sticas da pesquisa Gulosa: Custos de busca mínimos. m Complexidade Temporal : O (bn( bn) ) (b é o factor de ramificação, e n o nível n da solução). Porquê? Pode acontecer no pior caso, todos os nós n s tenham de ser expandidos ou visitados. Complexidade Espacial : O (bn( bn) ) (b é o factor de ramificação, e n o nível n da solução). Porquê? Mantém m todos os nós n s em memória. Olhemos estes métodos: m Custo Uniforme: Ordena a partir de g Completo e Óptimo Caro Busca Gulosa Ordena a partir de h Não é completo nem é óptimo Porem é melhor em termos computacionais Será possível combina-los? 16

Algoritmo A* Na pesquisa A* a avaliação de cada nón é uma combinação: f (n) = g (n) + h (n) g (n) Custo do caminho desde o nón inicial até n. h (n) Estimativa do custo desde n até ao nó objectivo. Algoritmo A* f (n) custo estimado de uma solução que passa por n. Objectivo: Minimizar f (n) Solução menor custo total Nó de menor valor f (n) é expandido. 17

Algoritmo A* Algoritmo A* A 366=0+366 S 393=140+253 T 447=118+129 449=75+374 Z A F O R 646=280+366 415=239+176 671=291+380 413=220+193 S B C P S 591=338+253 450=450+0 526=366+160 417=317+100 553=300+253 - Objectivo - Solução f(n) = g(n) + h(n) B 418=418+0 615=455+160 607=414+193 função de avaliação em cada nó C R 18

Algoritmo A*: Função Admissível É possível provar que a pesquisa A* é completa e óptima, com uma restrição: escolher uma função heurística ADMISSÍVEL Nunca sobrestima o custo real do caminho que passa por n,, ou seja: h (n) <= h * (n) Algoritmo A* Pode-se demonstrar o seguinte: Sejam h 1 e h 2, duas heurísticas admissíveis tais que para todo nón n h 1 (n) <= h 2 (n) <= h * (n) Então o algoritmo A* utilizando h 2 expandirá menos nós n s que utilizando h 1. 19

Algoritmo A* Complexidade de tempo: Exponencial com o comprimento da solução, porém boas funções heurísticas diminuem significativamente esse custo. Custo de espaço: O (b d ) Guarda todos os nós n s expandidos na memória. Possibilita o backtracking. Eficiência óptima Entre as várias v soluções possíveis encontra sempre primeiro a melhor. Memória limitada (Memory( Memory-bounded) Os recursos computacionais não são infinitos. Necessidade de fazer a pesquisa parametrizando o limite da memória disponível, mantendo a completude e optimização. 20

Algoritmo IDA* Modificações ao Algoritmo A* : Limite para a profundidade dado pelo valor de f. 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. Expande todos os nós n s dentro de um determinado contorno, o limite de f (n). Expande todos os nós s dentro de um contorno, o limite de f (n). IDA* 21

Algoritmo IDA* Completo: se o caminho é mais curto, cabe na memória disponível. Óptimo: se o caminho óptimo é mais curto, cabe na memória disponível. Complexidade de Espaço: O (b * d) Complexidade de Tempo :O(b 2d ) SMA* É uma versão (simplificada) do A*. Faz uso de toda a memória disponível. Estratégia: Ir expandindo o melhor nó-folha até preencher a memória. Para expandir o próximo nó, n, descarta o nón com pior valor de f. Esse valor é guardado no antecessor do nón descartado. 22

SMA* SMA* 23

SMA* SMA* 24

SMA* SMA* é completo se a menor profundidade da solução é menor que o espaço o em memória. SMA* é óptimo se consegue alcançar ar solução óptima, dentro da memória, senão retorna a melhor possível. Complexidade de Espaço o / Tempo : Exponencial FIM PARTE 1 25

Introdução à Inteligência Artificial Procura Informada Agenda Parte 1 Introdução a Procura Informada ou Heurística Best-First Search Pesquisa Gulosa (Greedy( Greedy) Algoritmo A* Algoritmo IDA* (Iterative( Deepning A*) Algoritmo SMA* Parte 2 Processo de Procura 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 Trepa Colinas Annealing Simulado 26

Heurística e a sua Aplicação A heurística é utilizada: Como técnica t de busca para a obtenção de metas em problemas não algorítmicos que geram explosões combinatórias. Como um método m aproximado de resolução de problemas utilizando funções de avaliação de tipo heurístico. Como um método m de poda (corte) para estratégias de programas de jogos. Heurística e a sua Aplicação Numa busca, podemos aplicar dois tópicos t de heurística, a decisão sobre qual nón será feita a expansão e a decisão sobre quais os nós n s que devem ser descartados. Numa busca podemos definir duas situações: O universo é totalmente conhecido,, pelo que a heurística será realizada através s da atribuição de números. n O universo não é totalmente conhecido,, no qual a heurística será realizada através s da aplicação de regras. 27

Heurística e a sua Aplicação 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 rias. Por outro lado, a implementação de uma função heurística é difícil, já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 tica do seu efeito no processo de busca. Características das Heurísticas Admissibilidade Consistência Dominância Qualidade Análise de Performance 28

Admissibilidade 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. 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 A propriedade de consistência pode ser definida como: uma heurística h (n) é consistente se, para cada nón n e para cada sucessor n 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 n mais o custo estimado de atingir o objectivo a partir de n. 29

Dominância 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 o de estados. Esta propriedade reflecte-se directamente no número n de nós 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ó, n, da seguinte forma: h (n) = max(h1(n), h2(n),, hm(n)) Qualidade A qualidade de uma função heurística é medida através s de effective branch factor (b *), que descreve o quanto um processo de procura está concentrado em atingir o seu objectivo. É calculado através s da fórmula: f N = 1 + b* + (b*( b*)2 + + (b*( b*)d Uma boa função h terá um valor de b* muito próximo de 1 30

Qualidade: Voltando ao 8-puzzle8 Distância 2 4 8 7 3 5 1 6 Estado Actual 2 3 4 1 5 8 7 6 Estado Final 2 4 8 7 3 5 1 6 h 1 ( ) = A quantidade de peças for a do lugar = 7 Qualidade: Voltando ao 8-puzzle8 Distância 2 4 8 7 3 5 1 6 Estado Actual h 2 ( 2 4 8 7 3 5 1 6 ) = = 10 2 3 4 1 8 7 5 6 Estado Final Número de movimentos necessários para colocar cada peça no seu lugar 31

Qualidade A função h1 representa um limite inferior de h (n), mas não fornece uma estimativa da dificuldade, em termos de números n de passos para atingir a configuração objectivo. A tabela que compara a qualidade das funções definidas: Estratégias de Definição Existem três estratégias genéricas para definir heurísticas. 1. Relaxação das restrições do problema através s da elaboração de modelos relaxados. 2. Uso de informação estatística. stica. 3. Identificar os atributos mais relevantes do problema. 32

Relaxação das restrições do problema 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 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 s destes modelos são admissíveis e consistentes. Relaxação das restrições do problema Exercício cio de 5 5 No 8-puzzle8 O que foi relaxado em h 1? O que foi relaxado em h 2? 33

Relaxação das restrições do problema No 8 puzzle o problema pode ser relaxado, permitindo a movimentação directa da peça a para o seu lugar objectivo. Neste caso, o número n de passos necessários para atingir o objectivo é simplesmente a soma do número de peças fora do lugar (h 1 (n)). 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 (h 2 (n)). Uso de informação estatística stica Consiste na melhoria das funções heurísticas através s do uso de dados estatísticos sticos recolhidos através 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, n 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

Identificar os atributos mais relevantes do problema 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 m 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 A partir das estatísticas 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 m é cerca de 14. Uma segunda característica x2(n) pode ser o o número n de pares de peças adjacentes que também 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 s da seguinte fórmula: f 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

Análise de Performance 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 o recorrendo a duas abordagens: Tomar mais precisa a função heurística. Modificar o espaço o de estados de modo a simplificar o processo. Os algoritmos que modificam o espaço o de estados durante o processo de procura recorrem essencialmente ao corte de caminhos no espaço o ou seleccionam caminhos analisando os próximos nós 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 Em muitos problemas de Optimização, o caminho para a solução é irrelevante; O Estado Solução é ele próprio prio a Solução Queremos: Tentar encontrar o Melhor Estado de acordo com uma Função Objectivo. 36

Algoritmos de Procura Local Espaço 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 Utilizam um único estado, o estado actual, e procuram melhora-lo. lo. Os caminhos seguidos pelo Algoritmo não são guardados. Duas Vantagens: Usam muito pouca memória normalmente uma quantidade constante. Conseguem encontrar boas soluções em espaços de estados infinitos (contínuos) nuos) para os quais os Algoritmos Sistemáticos ticos são inadequados. 37

Exemplo: n-rainhas 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) Como subir ao Pico Ruivo num dia com nevoeiro intenso e sofrendo de amnésia? 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

Trepa Colinas!! 39

Máximo Global Máximo Local Trepa Colinas: Circunstâncias Indesejáveis Existem 3 circunstâncias indesejáveis nas quais o Algoritmo de Hill Climbing pode ficar preso : Máximos Locais Planaltos Encostas e Picos 40

Máximos locais O algoritmo pára p no máximo m local. Pois sós pode mover-se com taxa crescente de variação. Restrição do algoritmo Ex.: jogo 8-números: 8 mover uma peça a para fora da sua posição correcta para dar passagem a outra peça a que está fora do lugar tem taxa de variação negativa!!! Planaltos Uma região do espaço o de estados onde a função de avaliação dád o mesmo resultado. Todos os movimentos locais são iguais (taxa de variação zero). f (n) = f (filhos (n)) O algoritmo pára p depois de algumas tentativas. Restrição do algoritmo Ex.: jogo 8-números: 8 nenhum movimento possível vai influenciar no valor de f, pois nenhum número n vai chegar ao seu local objectivo. 41

Encostas e Picos Apesar de estar em uma direcção que leva ao pico, nenhum dos operadores válidos v conduz o algoritmo nessa direcção. Os movimentos possíveis têm taxa de variação zero ou negativa. 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 Estados: : configurações de n rainhas (0 <= n <= 8), uma por coluna, sem que existam pares de rainhas que se ataquem. 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

Algoritmo Trepa Colinas : Problema das 8 Rainhas Função Heurística de Custo h = número n 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 m denominado Procura Local Gulosa - porque não olha para além m dos estados sucessores imediatos. Problema 8 Rainhas Nomeando cada rainha a, b, c, d, e, f, g, h a partir da coluna mais á esquerda Possíveis ataques: Diagonal Direita: (a, b), (a, c), (b, c), (d, e), (d, f), (d, g), (e, f), (e, g), (f, g) Diagonal Esquerda: (b, d), (c, e), (g, h) Ataques Horizontais: (a, e), (b, f), (b, h), (f, h), (c, g) Número de Ataques por cada Rainha: a 3, b 5, c 4, d 4, e 5, f 5, g 5, h 3. 43

Problema 8 Rainhas Neste caso temos um máximo m local com h = 1 Trepa Colinas Nos casos apresentados, o algoritmo chega a um ponto de onde não tem mais progresso. Solução: reinício aleatório (random( restart) O algoritmo realiza uma série s de buscas a partir de estados iniciais gerados aleatoriamente. Cada busca é executada Até que um número n máximo m 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. Objectivo!!! 44

Trepa Colinas : análise O algoritmo é completo? SIM, para problemas de optimização Uma vez que cada nón tratado pelo algoritmo é sempre um estado completo (uma solução). NÃO, para problemas onde os nós n s não são estados completos Ex.: jogo dos 8-números8 Semelhante à busca em profundidade O algoritmo é óptimo? TALVEZ, para problemas de optimização Quando iterações (repetições) suficientes forem permitidas... NÃO, para problemas onde os nós n s não são estados completos Trepa Colinas: : análise O sucesso deste método m depende muito do formato da superfície do espaço o de estados: Se háh poucos máximos m locais, o reinício aleatório encontra uma boa solução rapidamente Caso contrário, rio, o custo de tempo é exponencial. 45

Anelamento Simulado Este algoritmo é semelhante à Trepa Colinas meios para se escapar de máximos m locais. Quando a busca fica presa em um m reinicia a busca aleatoriamente; Ele retrocede para escapar desse máximo m local;, porém m oferece em um máximo local, o algoritmo não Esses retrocessos são chamados de passos indirectos; Apesar de aumentar o tempo de busca, esta estratégia consegue escapar dos máximos m locais. Analogia com cozimento de vidros ou metais: Processo de resfriar um líquido l gradualmente até ele se solidificar; Anelamento Simulado 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: Se a situação melhorar, esse movimento será sempre escolhido posteriormente; Caso contrário, 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 E = Valor[próximo ximo-nó] - Valor[nó-atual atual] T = Temperatura 46

Anelamento Simulado Com o tempo (diminuição da temperatura), este algoritmo passa a funcionar como Trepa Colinas. O algoritmo é óptimo e completo se o mapeamento de resfriamento tiver muitas entradas com variações suaves. Isto é,, se o mapeamento diminui T suficientemente devagar no tempo, o algoritmo irá encontrar um máximo m global óptimo. Críticas à Busca Heurística Solução de problemas, usando técnicas t de busca heurística: Dificuldades em definir e usar a função de avaliação; Não consideram conhecimento genérico do mundo (ou senso comum ); Função de avaliação: compromisso (conflito) entre Tempo gasto na selecção de um nón e Redução do espaço o de busca Achar o melhor nón a ser expandido a cada passo pode ser tão difícil quanto o problema da busca em geral. 47

Fontes Consultadas Russel, Norvig, Artificial Intelligence: : A Modern Approach, Cap.. 4. Costa, Simões, Inteligência Artificial. Fundamentos e Aplicações õ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 Russel, Norvig, Artificial Intelligence: : A Modern Approach, Cap.. 4. Costa, Simões, Inteligência Artificial. Fundamentos e Aplicações ões. Cap 3.3. 3.4 48

FIM 49