Inteligência Artificial Introdução P R O FA . M S C . C I N T I A C A R VA L H O O L I V E I R A D O U TO R A N D A E M C I Ê N C I A D A C O M P U TA Ç Ã O - U F U M E S T R E E M C I Ê N C I A D A C O M P U TA Ç Ã O – U F U B A C H A R E L E M C I Ê N C I A D A C O M P U TA Ç Ã O - U FJ F Introdução Principais Avanços da Inteligência Artificial: ◦ A meta de se criar inteligência artificial pode ser traçada desde os primórdios da era computacional. Os cientistas que primeiro imaginaram isto foram: ◦ Alan Turing; ◦ John von Neumann entre outros. ◦ A primeira grande revolução foi o surgimento do campo das redes neurais artificiais, a segunda do aprendizado de máquinas e a terceira da computação evolutiva, em que os algoritmos genéticos são os exemplos mais conhecidos. 2 Agentes Inteligentes em IA Definição de IA: é o estudo de agentes inteligentes que recebem percepções do ambiente e executem ações. Ideia dos Agentes Inteligentes: sistemas que podem decidir o que fazer e quando fazer de forma autônoma. O campo da Inteligência Artificial: ele tenta não apenas compreender, mas também construir entidades inteligentes. A IA é uma das ciências mais recentes: começou logo após a Segunda Guerra Mundial, e o próprio nome IA foi cunhado em 1956. A IA: sistematiza e automatiza tarefas intelectuais. O conceito de racionalidade: um sistema é racional se “faz tudo certo”, com os dados que tem 3 Definições de IA Quatro estratégias para o estudo da IA ◦ Pensamento e Raciocínio (racional ou como seres humanos) ◦ Comportamento (racional ou como seres humanos) Um agente é simplesmente algo que age. Atributos de um agente: controle autônomo, perceber seu ambiente, persistir por um tempo prolongado, adaptar-se a mudanças e assumir metas de outros. Agente Racional: é aquele que age para alcançar o melhor resultado ou, quando há incerteza, o melhor resultado esperado. Um sistema é racional de “faz tudo certo” com os dados que tem. Agente Humano: simula o pensamento e comportamento humano. É necessário o estudo de psicologia e ciência cognitiva. 4 Agindo de Forma Humana Um computador precisaria ter as seguintes capacidades: ◦ Processamento de linguagem natural (comunicação); ◦ Representação de conhecimento (armazenar o que sabe); ◦ Raciocínio automatizado (tirar conclusões a partir das perguntas); ◦ Aprendizado de máquina (adaptarse à novas circunstâncias). 5 Pensando de Forma Humana Simular o pensamento humano ◦ Psicologia ◦ Ciência Cognitiva 6 Agindo de Forma Humana Teste de Turing Um humano não pode perceber, dado algumas perguntas, que as respostas vem de um computador. Ainda não solucionado Teste continua relevante mesmo após 60. anos. 7 Pensando Racionalmente Aristóteles: Codificar o pensamento correto. Raciocínio irrefutável. Silogismos (raciocínio dedutivo) que fornecem padrões para estrutura de argumentos que sempre levam a conclusões corretas ao receberem premissas corretas. Sócrates é um homem Todos os homens são mortais Então Sócrates é mortal 8 Agindo racionalmente Um agente é simplesmente algo que age. Um agente racional é aquele que age para alcançar o melhor resultado ou, quando há incerteza, o melhor resultado esperado. Um agente é simplesmente algo que age. Atributos de um agente: ◦ ◦ ◦ ◦ ◦ controle autônomo, perceber seu ambiente, persistir por um tempo prolongado, adaptar-se a mudanças e assumir metas de outros. 9 Fundamentos da IA Matemática (cerca de 800 d.C. até a atualidade) ◦ Lógica, Computação e Probabilidade ◦ Quais são as regras formais para obter conclusões válidas? ◦ O que pode ser computado? ◦ Como raciocinamos com informações incertas? Psicologia (de 1879 até a atualidade) ◦ Como os seres humanos e os animais pensam e agem? 10 O Estado da Arte O que a IA pode fazer hoje? É difícil uma resposta concisa, porque existem muitas atividades em vários subcampos: ◦ ◦ ◦ ◦ ◦ ◦ ◦ Planejamento Jogos Controle Autônomo Diagnóstico Planejamento Logísticos Robótica Reconhecimento de linguagem e resolução de problemas 11 Agentes Inteligentes 12 Agentes Inteligentes Um agente é tudo que pode ser considerado capaz de perceber seu ambiente por meio de sensores e de agir sobre esse ambiente por intermédio de atuadores. 13 Elementos Funcionais de um Agente Percepção: fazer referência às entradas perceptivas do agente em qualquer momento dado. Sequência de Percepções do Agente: é a história completa de tudo que o agente percebeu. ◦ a escolha de ação de um agente em qualquer instante dado pode depender da sequência inteira de percepções observadas até o momento. Função de Agente: descreve o comportamento do agente através do mapeamento para qualquer sequência de percepções específica para uma ação. Internamente ao Agente: a função de agente será implementada por um programa de agente. ◦ Função do Agente: descrição matemática abstrata. ◦ Programa do Agente: é uma implementação concreta, relacionada à arquitetura do agente. 14 O Bom Comportamento do Agente Ação certa: é aquela que fará o agente obter maior sucesso. Método para medir sucesso = medida de desempenho Medida de desempenho: critérios para se medir o sucesso do comportamento do agente. ◦ é melhor projetar medidas de desempenho de acordo com o resultado realmente desejado no ambiente, em vez de criá-las de acordo com o comportamento esperado do agente. Racionalidade: depende de quatro fatores, citando-os, medida de desempenho, conhecimento prévio do ambiente, ações que o agente pode executar, sequências de percepções até o momento. Agente racional autônomo: deve aprender o que puder para compensar um conhecimento prévio parcial ou incorreto. Cálculo da função do agente: quando o agente está sendo projetado, quando está deliberando sobre sua própria ação e à medida que aprende a partir da experiência. Trabalho da IA: é projetar o programa de agente que implementa a função de agente que mapeia percepções em ações 15 Composição de um Agente Execução do programa de agente: dispositivo ou arquitetura de computação com sensores e atuadores físicos. Agente = Arquitetura + Programa Função de agente: Mapeia percepções em ações Programa de agente: Implementa a função de Agente Arquitetura: Conjunto dos sensores, atuadores e mecanismo de computação (computador) INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 16 Ambiente de Tarefa Performance (desempenho) Enviroment (ambiente) Actuators (atuadores) Sensors (sensores) INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 17 Projetando um agente: Exemplo Motorista de táxi automatizado: ◦ Que medida de desempenho gostaríamos que nosso agente tivesse como objetivo? ◦ Qual é o ambiente de direção que o táxi enfrentará? ◦ Quais atuadores? ◦ Quais sensores? 18 PEAS: Outros Exemplos Sistema diagnóstico médico: ◦ Medida de desempenho: ◦ Paciente saudável, minimizar custos, processos judiciais. ◦ Ambiente: ◦ Paciente, hospital, equipe ◦ Atuadores ◦ Exibir perguntas, testes, diagnósticos, tratamentos, indicações ◦ Sensores ◦ Entrada pelo teclado para sintomas, descobertas, respostas do paciente 19 PEAS: Outros Exemplos Robô de seleção de peças ◦Medida de desempenho: ◦ Porcentagem de peças em bandejas corretas ◦Ambiente: ◦ Correia transportadora com peças, bandejas ◦Atuadores: ◦ Braço e mão articulados ◦Sensores: ◦ Câmera, sensores angulares articulados 20 PEAS: Outros Exemplos Instrutor de inglês interativo ◦Medida de desempenho: ◦ Maximizar nota de aluno em teste ◦Ambiente ◦ Conjunto de alunos, testes de agência ◦Atuadores ◦ Exibir exercícios, sugestões, correções ◦Sensores ◦ Entrada pelo teclado 21 Ambientes de tarefas Completamente observável X Parcialmente observável Determinístico X Estocástico Episódico X Sequencial Estático X Dinâmico Discreto X Contínuo Agente Único X Multiagente INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 22 Completamente observável X Parcialmente observável Completamente Observável ◦ Se os sensores de um agente permitem acesso ao estado completo do ambiente em cada instante, dizemos que o ambiente de tarefa é completamente observável Parcialmente Observável ◦ Um ambiente poderia ser parcialmente observável devido ao ruído e a sensores imprecisos ou porque partes do estado estão simplesmente ausentes nos dados do sensor. INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 23 Determinístico X Estocástico Se o próximo estado do ambiente é completamente determinado pelo estado atual e pela ação executada pelo agente, dizemos que o ambiente é determinístico; caso contrário, ele é estocástico (mudanças no ambiente) INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 24 Episódico X Sequencial Episódico ◦ A experiência do agente pode ser dividida em episódios (percepções e execução em uma única ação) ◦ A escolha da ação em cada episódio só depende do próprio episódio. ◦ Exemplo: um agente localiza peças defeituosas em uma linha de montagem. Sequencial ◦ A decisão atual pode afetar todas as decisões futuras. ◦ Exemplo: um agente que joga xadrez INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 25 Estático X Dinâmico Se o ambiente puder se alterar enquanto um agente está deliberando, dizemos que o ambiente é dinâmico para esse agente; caso contrário; ele é estático. Ambientes estáticos são fáceis de manipular, porque o agente não precisa continuar a observar o mundo enquanto está decidindo sobre a realização de uma ação, nem precisa se preocupar com a passagem do tempo INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 26 Discreto X Contínuo A distinção entre discreto e contínuo pode se aplicar ao estado do ambiente, ao modo como o tempo é tratado, e ainda às percepções e ações do agente. Por exemplo, um ambiente de estados discretos como um jogo de xadrez tem um número finito de estados distintos. Porém um agente inteligente para automatizar a tarefa de um taxi é um problema de estado contínuo e tempo contínuo: a velocidade e a posição do táxi e de outros veículos passam por um intervalo de valores contínuos e fazem isso suavemente ao longo do tempo. INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 27 Agente Único X Multiagente A distinção entre ambientes de agente único e de Multiagente pode parecer bastante simples. Por exemplo, um agente que resolve um jogo de palavras cruzadas sozinho está claramente em um ambiente de agente único, enquanto um agente que joga Xadrez está em um ambiente de dois agentes. ◦ Pode ser competitivo ou cooperativo INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 28 Exemplos INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 29 Exemplos INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 30 Ferramentas Matemáticas para o Projeto de Agentes Inteligentes O que pode ser inserido dentro de um agente? Em geral, todas as técnicas existentes em Inteligência Artificial. Agente = arquitetura + programa Existem quatro tipos básicos de programas de agentes: a) b) c) d) Agentes Reativos Simples; Agentes Reativos Baseados em Modelo; Agentes Baseados em Objetivos; Agentes Baseados na Utilidade. 31 Agentes Reativos Simples Selecionam suas ações com bases na percepção atual Agem por reflexo: regras condição-ação 32 Agentes reativos baseados em modelos Mantém algum tipo de estado interno que dependa do histórico de percepções. 33 Agente baseado em objetivos Informações sobre objetivos que descreva situações desejáveis INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 34 Agente baseado em utilidade Funciona escolhendo sem um estado mais útil Função de utilidade: determina o grau de satisfação do agente em relação a um determinado estado. INTELIGÊNCIA ARTIFICIAL: MSC. CINTIA OLIVEIRA 35 Agentes Baseados em Aprendizado INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 36 Agentes Baseados em Aprendizado Características: ◦ Turing (1950) propõe construir máquinas com aprendizagem e depois ensiná-las; ◦ Ambientes inicialmente desconhecidos sendo desvendados por algoritmos de aprendizado; ◦ Elemento de Aprendizado: responsável pela execução de aperfeiçoamentos; ◦ Elemento de Desempenho: responsável pela seleção de ações externas. Ele recebe percepções e decide sobre ações; INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 37 Agentes Baseados em Aprendizado ◦ O Elemento de aprendizado utiliza realimentação do crítico sobre como o agente está funcionando e decide como o elemento de desempenho deve ser modificado para melhorar o desempenho no futuro; ◦ Primeira Pergunta: que tipo de elemento de desempenho meu agente precisará ter para fazer isso depois de ter aprendido como fazê-lo? ◦ Crítico: informa ao elemento de aprendizado como o agente está se comportando em relação a um padrão fixo de desempenho. ◦ Gerador de Problemas: responsável por sugerir ações que levarão a experiências novas e informativas. Sugerir ações exploratórias. INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 38 Agentes Baseados em Conhecimento São agentes que ◦ Conhecem seu mundo através de uma Base de Conhecimento; ◦ Raciocinam sobre suas possíveis ações através de uma Máquina de Inferência. Eles Sabem: ◦ ◦ ◦ ◦ ◦ O estado atual do mundo (propriedades relevantes); Como o mundo evolui; Como identificar estados desejáveis do mundo; Como avaliar o resultado das ações; Conhecimento sobre conhecimento (meta-conhecimento); INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 39 Agentes Baseados em Conhecimento (Definições Importantes) Sistemas Baseados em Conhecimento: ◦ Têm uma Base de Conhecimento e uma Máquina de Inferência associada; ◦ Formalizam e implementam parte dos agentes. Qual a diferença entre Agentes e Sistemas Baseados em Conhecimento (SBC)? ◦ Agentes interagem com o ambiente onde estão imersos através dos SENSORES e ATUADORES; Base de Conhecimento: ◦ Contém sentenças em uma linguagem de representação de conhecimento; ◦ Representações de fatos e regras; ◦ Conhecimento em forma “tratável” pelo computador. Exemplo: Computador é um aparelho eletrônico. DX50 é um computador. Mecanismo (Máquina) de Inferência: ◦ Responsável por inferir, a partir do conhecimento da base, novos fatos ou hipóteses intermediárias/temporárias. Exemplo: DX50 é um aparelho eletrônico INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 40 Introdução ao Processo de Inferência Inferência (“Leis do Pensamento”) ◦ Filósofo Grego Aristóteles (SILOGISMOS) Sócrates é um homem Todos os homens são mortais Sócrates é mortal ◦ Como Inferir que PREMISSAS CORRETAS acarretam sempre CONCLUSÕES CORRETAS? Este é o papel da Lógica Matemática. Adequação Inferencial Em IA deu-se origem ao termo ADEQUAÇÃO INFERENCIAL, que é a capacidade de manipular as estruturas representacionais de modo a derivar novas estruturas que correspondem a novos conhecimentos, inferidos a partir de conhecimentos antigos. Inferência x Lógicos do Século XIX ◦ ◦ ◦ ◦ ◦ As leis do pensamento deram origem ao campo denominado LÓGICA. Notação precisa para declarações sobre todos os tipos de coisas no mundo e sobre as relações entre elas. George Boole (1847): Lógica Booleana. Frege (1879): Incluiu objetos e relações na LB e criou a lógica de Primeira Ordem. Tarski (1902-1983): Mostra como relacionar os objetos de uma lógica a objetos do mundo real. INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 41 Inferência x Limitações (da Lógica e da Computação) David Hilbert (1862-1943) Existe um algoritmo para determinar a verdade de qualquer proposição lógica envolvendo os números naturais? (Problema de Decisão, 1900). Gödel (1906-1978): Teorema da INCOMPLETEZA (1931) ◦ Existem verdades que não podem ser estabelecidas por qualquer algoritmo. INTELIGÊNCIA ARTIFICIAL: MSC. DANIELE C. OLIVEIRA 42