Revisão I – AP1 Prof. Alexandre Monteiro Recife ‹#› Contatos Prof. Guilherme Alexandre Monteiro Reinaldo Apelido: Alexandre Cordel E-mail/gtalk: [email protected] [email protected] Site: http://www.alexandrecordel.com.br/fbv Celular: (81) 9801-1878 Inteligência Artificial O que é inteligência Artificial? O que diferencia inteligência artificial de inteligência natural? 3 Paradigmas da IA Simbólico: metáfora lingüística/lógica • Sistemas de produção Conexionista: metáfora cérebro • Redes neurais Evolucionista: metáfora teoria da evolução natural • Algoritmos genéticos Probabilista: probabilidade • Redes bayesianas IA Distribuída: metáfora social • Sistemas multiagentes 4 O que é um agente Agente é qualquer entidade que:? • percebe seu ambiente através de sensores (ex. câmeras, microfone, teclado, finger...) • age sobre ele através de atuadores (ex. vídeo, autofalante, impressora, braços, ftp, ...) Mapeamento: seqüência de percepções => ação ambiente Agente sensores ? Raciocinador atuadores modelo do ambiente 6 Propriedades de Ambientes de Tarefas Classes de ambientes • Físico: robôs • Software: softbots • Realidade virtual (simulação do ambiente físico): softbots e avatares Propriedades de um ambiente • Acessível (completamente observável) x inacessível (parcialmente observável • Estático (não muda) x dinâmico (muda) – semidinâmico (ações) • Determinista (conhece próximo estado) x estocástico (ñ-determinista) • Discreto x contínuo • Episódico (só depende das ações anteriores) x não-episódico (seqüêncial) • tamanho: número de percepções, ações, objetivos,... • Discreto (xadrez) x contínuo (dirigir táxi) • Agente único x multiagente 7 Algoritmo Básico Função agenteSimples (percept) retorna ação memória := atualizaMemória (memória, percept) ação := escolheMelhorAção(memória) memória := atualizaMemória (memória, ação) retorna ação Arquiteturas • Agente tabela • Agente reativo simples • Agente reativo baseado em modelos • Agente baseado em objetivos • Agente baseado em utilidade • Agente com aprendizagem autonomia complexidade Um problema de busca em IA pode ser definido em termos de... 1. um estado inicial - Em (Recife) - Estar (pobre) 2. um ou mais estados finais => definição do objetivo - Em (João Pessoa) - Estar (rico) 3. Espaço de Estados: - conjunto de todos os estados alcançáveis a partir do estado inicial por qualquer seqüência de ações. - pode ser representado como uma árvore onde os estados são nós e as operações são arcos. 4. Solução: - caminho (seqüência de ações ou operadores) que leva do estado inicial a um estado final (objetivo), passando de um estado para outro • Ex., dirigir de Recife a João Pessoa - Espaço de estados: todas as cidades da região de Recife a João Pessoa 8 9 Métodos de Busca Busca exaustiva (sem informação ou cega) • Não sabe qual o melhor nó da fronteira a ser expandido = menor custo de caminho desse nó até um nó final (objetivo). Busca heurística (com informação) • Estima qual o melhor nó da fronteira a ser expandido com base em funções heurísticas => conhecimento Busca Cega Estratégias para determinar a ordem de ramificação dos nós: 1. Busca em largura/extensão 2. Busca de custo uniforme 3. Busca em profundidade 4. Busca com aprofundamento iterativo (retrocesso) Direção da ramificação: 1. Do estado inicial para um estado final 2. De um estado final para o estado inicial 3. Busca bi-direcional 11 Busca pela Melhor Escolha (BME) Best-First Search Busca genérica onde o nó de menor custo “aparente” na fronteira do espaço de estados é expandido primeiro Duas abordagens básicas: 1. Busca Gulosa (Greedy search) 2. Algoritmo A* e suas variantes Algoritmo: Função-Insere - ordena nós com base na Função-Avaliação função Busca-Melhor-Escolha (problema,Função-Avaliação) retorna uma solução Busca-Genérica (problema, Função-Insere) Algoritmos de Melhorias Iterativas Dois exemplos clássicos •Subida da encosta (Hill-Climbing) •Têmpera simulada (Simulated Annealing) 12 Algoritmo BT Começando com uma solução inicial s0, a cada iteração, Um subconjunto V da vizinhança N(s) da solução corrente s é explorado O membro s0 de V com melhor valor nesta região segundo a função f(:) torna-se a nova solução corrente mesmo que s0 seja pior que s. Evitando Ciclos existe uma lista tabu T, a qual é uma lista de movimentos proibidos. A lista tabu clássica contém os movimentos reversos aos últimos |T| movimentos realizados |T| funciona como uma fila de tamanho fixo, • isto é, quando um novo movimento é adicionado à lista, o mais antigo sai. Assim, na exploração do subconjunto V da vizinhança N(s) da solução corrente s, ficam excluídos da busca os vizinhos s0 que são obtidos de s por movimentos m que constam na lista tabu Introdução Principal motivação para o estudo da computação evolutiva através de algoritmos genéticos é: •Otimização de processos complexo e que possuem um grande número de variáveis O que é otimizar? 15 Algoritmos Genéticos Funcionamento: GERAÇÕES População inicial População final Avaliação População atual Seleção Reprodução 16 Reprodução Permite obtenção de novos indivíduos Utiliza operadores genéticos •Transformam a população - Crossover (cruzamento ou recombinação) - Mutação 17 Crossover Diversas variações •Um ponto - Mais comum •Dois pontos •Multi-pontos •Uniforme 18