Inteligência Artificial Prof.: Marcelo B. de Almeida Capítulo 01 Introdução De todas as capacidades mentais que o homem possui sem dúvida alguma a mais importante delas é a inteligência. É tão importante que chegamos a denominar a nossa espécie como homo sapiens - Homem sábio. E durante milhares de anos, tentamos responder uma questão: Como o homem pode perceber, compreender, prever e manipular um mundo muito maior e mais complicado do que ele próprio. Foi tentando responder a esta e a outras questões que surgiu a Inteligência Artificial Objetivo A Inteligência Artificial tenta não apenas compreender, mas também construir entidades inteligentes. Aplicabilidade Atualmente a I.A. está presente desde áreas de uso geral, como aprendizado e percepção, até tarefas específicas como jogos de xadrez, demonstração de teoremas matemáticos, criação de poesia e diagnósticos de doenças. Antes de começar... Antes de começarmos a falar de Inteligência Artificial temos que trabalhar com alguns conceitos que podem facilitar o entendimento são eles: O que é Inteligência? O que é Raciocínio? O que é Razão? O que é Inteligência? Capacidade de resolver situações problemáticas novas mediante reestruturação dos dados perceptivos. (Aurélio, 1999 ) De uma maneira bastante simplista ser inteligente é: Saber resolver problemas de forma racional O que é ser racional? Saber resolver problemas de forma racional Racional – Quem raciocina ou faz uso da razão. Raciocínio – Operação mental pela qual, de dois ou mais juízos, se tira outro por conclusão. Ex.: Sócrates é um homem; todos os homens são mortais; então, Sócrates é mortal. Razão – Faculdade do espírito com que o homem reflete, compara, conhece, julga. Uma experiência simples Observe as operações abaixo 11 x 11 = 121 111 x 111 = 12321 1111 x 1111 = 1234321 Agora responda qual é o resultado da seguinte operação: 111111111 x 111111111 O resultado e 12345678987654321 Como foi que você resolveu? O começo Agora que temos um pouco de conhecimento sobre o que é inteligência podemos definir Inteligência Artificial. Definição de I.A. O conceito de I.A. varia em torno de duas perspectivas: - Quanto aos processos de pensamento humano - Quanto ao comportamento Processos de pensamento e raciocínio D e s e m p e n h o h u m a n o Sistemas que pensam como seres humanos Sistemas que pensam racionalmente “o novo e interessante esforço para fazer os computadores pensarem… máquinas com mentes, no sentido literal.” (Haugeland, 1985) “O estudo das faculdades mentais pelo uso de modelos computacionais.” (Charniak e McDermott, 1985) “[Automatização de] atividades que associamos ao pensamento humano, atividades como a tomada de decisões, a resolução de problemas, o aprendizado…” (Bellman, 1978) “O estudo das computações que tornam possível perceber, raciocinar e agir.” (Winston, 1992) Sistemas que atuam como seres humanos Sistemas que atuam racionalmente “A arte de criar máquinas que executam funções que exigem inteligência quando executadas por pessoas” (Kurzweil, 1990) “A inteligência Computacional é o estudo do projeto de agentes inteligentes.” (Poole et al., 1998) Comportamento R a c i o n a l i d a d e As abordagens Baseado na tabela anterior temos quatro abordagens: - Agindo de forma humana: a abordagem do teste de Turing - Pensando de forma humana: a estratégia de modelagem cognitiva - Pensando racionalmente: a abordagem das “Leis do pensamento” - Agindo racionalmente: a abordagem de agente racional Examinando as quatro abordagens 1 - Agindo de forma humana: a abordagem do teste de Turing O teste de Turing consiste em um interrogador humano, depois de propor algumas perguntas por escrito, não descobrir se as respostas escritas vem de uma pessoa ou não. Para este teste o computador precisaria ter as seguintes características: Processamento de linguagem natural para permitir que ele se comunique com sucesso em um idioma natural. Representação de conhecimento para armazenar o que sabe ou ouve. Raciocínio automatizado para usar as informações armazenadas com finalidade de responder perguntas e tirar novas conclusões. Aprendizado de máquina para se adaptar a novas circunstâncias e para detectar e extrapolar padrões. Examinando as quatro abordagens Teste Total de Turing O Teste Total de Turing além das características anterior inclui também: Visão computacional para perceber objetos Robótica para manipular objetos e movimentar-se Apesar de permanecer relevante durante 50 anos, os pesquisadores têm dedicado pouco esforço à aprovação no teste total de Turing, acreditando que é mais importante estudar os princípios básicos da inteligência do que reproduzir em exemplar. O desafio do “vôo artificial” teve sucesso quando os pesquisadores pararam de imitar os pássaros e estudaram a aerodinâmica. Os textos de engenharia aeronautica não definem como objetivo de seu campo criar “máquinas que voem exatamente como pombos a ponto de poderem enganar até mesmo outros pombos”. Examinando as quatro abordagens 2 - Pensando de forma humana: a estratégia de modelagem cognitiva Se pretendemos dizer que um dado programa pensa como um ser humano, temos de ter alguma forma de determinar como os seres humanos pensam. A ciência cognitiva reúne modelos computacionais da I.A. e técnicas experimentais da psicologia para tentar construir teorias precisas e verificáveis a respeito dos processos de funcionamento da mente humana. A ciência cognitiva de verdade se baseia necessariamente na investigação experimental de seres humanos ou animais. Examinando as quatro abordagens 3 - Pensando racionalmente: a abordagem das “Leis do pensamento” O filósofo grego Aristóteles foi um dos primeiros a tentar a codificar o “pensamento correto”, baseado em seus silogismo Aristóteles afirmava que: argumentos corretos sempre surgiam de premissas corretas. Ex.: Sócrates é um homem; todos os homens são mortais; então, Sócrates é mortal. Segundo Aristóteles essas leis do pensamento deveriam governar a operação da mente; seu estudo deu início ao campo da Lógica. Obstáculos encontrados: Nem todo conhecimento informal pode ser expresso em termos formais exigidos pela notação lógica. Diferença entre ser capaz de resolver um problema em princípio e resolvê-lo na prática. Examinando as quatro abordagens 4 - Agindo racionalmente: a abordagem de agente racional Um agente é algo que age. Um agente computacional difere de programas comuns nos seguintes aspectos: - Ser autônomo; Perceber seu ambiente; Persistir por um determinado período de tempo; Adaptar-se a mudanças; Ser capaz de assumir metas de outros. Um agente computacional age para alcançar o melhor resultado ou o melhor resultado esperado. Examinando as quatro abordagens Conclusões: Pensar de forma racional é diferente de agir de forma racional. Chegar a conclusões corretas é parte daquilo que caracteriza um agente racional. Por exemplo: Afastar-se de uma situação perigosa não necessita de um pensamento lógico mais elaborado no entanto, é uma forma de agir racionalmente. Todas as habilidades necessárias à realização do teste de Turing existem para permitir ações racionais. Vantagens desta abordagem: - Ela é mais geral do que a lei do pensamento; - Ela é mais acessível ao desenvolvimento do que as estratégias baseadas no comportamento humano. Os fundamentos da I.A As disciplinas que contribuíram com idéias, pontos de vista e técnicas para I.A. foram: Filosofia: Regras formais podem ser usadas para obter conclusões válidas? Como a mente ( o intelecto) se desenvolve a partir de um cérebro físico? De onde vem o conhecimento? Como o conhecimento conduz à ação? Matemática: Quais são as regras formais para obter conclusões válidas? O que pode ser computado? Como raciocinamos com informações incertas? Economia: Como devemos tomar decisões para maximizar o lucro? Como devemos fazer isso quando outros não podem nos acompanhar? Como devemos fazer isso quando o lucro pode estar distante no futuro? Os fundamentos da I.A Neurociência: Como o cérebro processa informações? Psicologia: Como os humanos e os animais pensam e agem? Engenharia de computadores: Como podemos construir um computador eficiente? Teoria de controle e cibernética: Como os artefatos podem operar sob seu próprio controle? Lingüística: Como a linguagem se relaciona ao pensamento? História da I.A. O primeiro trabalho conhecido como I.A. foi realizado por McCulloch e Pitts (1943) Esses dois pesquisadores propuseram um modelo de neurônios artificiais, no qual cada neurônio se caracteriza por estar “ligado” ou “desligado” Inteligência Artificial Prof.: Marcelo B. de Almeida Capítulo 02 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. Um agente humano tem olhos, ouvidos e outros órgãos como sensores, e tem mãos, pernas, boca e outras partes do corpo que servem como atuadores. Um agente robótico poderia ter câmeras e detectores de infravermelho funcionando como sensores e vários motores como atuadores. Agentes inteligentes Agente Sensores percepções Ambiente ? Atuadores Ações Agentes inteligentes Percepção – Chamaremos de percepção quando um agente receber em qualquer momento informações do seu ambiente. Seqüência de percepções – chamaremos de seqüência de percepções uma lista completa de tudo que um agente percebeu. Se pudermos descrever a escolha de ação do agente para tudo aquilo que ele pode perceber, então poderemos dizer quase tudo a respeito desse agente. Função de agente – é a descrição do comportamento do agente de acordo a uma dada seqüência de percepções em que resulta em ações específicas. Tabulação da função de agente A tabulação da função de agente é uma tabela que contém todas as seqüências de percepções e suas respectivas ações A B Seqüência de percepções Ação [A,Limpo] Direita [A,Sujo] Aspirar [B,Limpo] Esquerda [B,Sujo] Aspirar [A,Limpo],[A,Limpo] Direita [A,Limpo],[A,Sujo] Aspirar ... [A,Limpo],[A,Limpo], [A,Limpo] Direita [A,Limpo],[A,Limpo], [A,Sujo] Aspirar ... Função de agente x Programa de agente Função de agente é uma descrição matemática abstrata Programa de agente é a implementação da função de agente. Bom comportamento Agente Racional – é aquele que faz uma ação certa de acordo com uma dada percepção. Uma ação certa é aquela que fará o agente obter maior sucesso. Então, neste caso precisaremos de algum método para medir este sucesso. Este método fornecerá uma descrição completa da tarefa que o agente deve realizar Medidas de desempenho Chamaremos de medida de desempenho o critério para se medir o sucesso do comportamento do agente. Ao ser inserido em um ambiente, um agente gera uma seqüência de ações de acordo com as percepções que recebe. Estas ações fazem o ambiente mudar de estado. Se estas mudanças são desejáveis, isto quer dizer que o agente funcionou bem. Bom comportamento Não existe uma medida fixa apropriada para todos os agentes. Esta medida deve ser imposta pelo projetista No exemplo do aspirador de pó poderíamos medir o desempenho pela quantidade de sujeira coletada durante um período de tempo. As conseqüências deste método seria: Depois da sala limpa o agente despejaria tudo no chão e tornaria a limpar novamente O mais apropriado seria recompensar o agente por deixar o chão limpo. Ex.: Ele poderia ser recompensado por cada quadrado limpo em cada período de tempo. Bom comportamento Como regra geral é melhor projetar medidas de desempenho de acordo com o resultado realmente desejado no ambiente. Racionalidade Racionalidade é – Dada uma seqüência perceptiva, o agente escolhe, segundo seus conhecimentos, as ações que satisfazem melhor seu objetivo. Onisciência, aprendizado e autonomia Onisciência seria ter conhecimento de absolutamente tudo o que acontece em volta Ex.: os dois amigos... Racionalidade não é o mesmo que perfeição. A racionalidade maximiza o desempenho esperado, enquanto a perfeição maximiza o desempenho real. Bom comportamento Aprendizado – A configuração inicial do agente poderia refletir algum conhecimento anterior do ambiente, mas à medida que o agente ganha experiência, isso pode ser modificado e ampliado. Ex.: Caso do besouro Autonomia – Quando um agente se baseia em suas próprias percepções. A natureza dos ambientes A natureza dos ambientes Ambiente de tarefas são essencialmente os problemas para os quais os agentes são as soluções. Especificando o ambiente de tarefas Nas discursões anteriores, especificamos a medida de desempenho, o ambiente, atuadores e sensores do agente. Ao agrupamento de todos esses itens daremos o nome de ambiente de tarefas. Ao projetar um agente, a primeira etapa deve ser especificar o ambiente de tarefa de forma tão completa possível. A natureza dos ambientes Por exemplo: um motorista de táxi automatizado. 1ª etapa: Definir a medida de desempenho (o critério utilizado para medir o do agente) sucesso Chegar ao destino correto? Minimizar o consumo de combustível e desgaste? Minimizar o tempo e/ou custo de viagem? Maximizar a segurança e o conforto dos passageiros e maximizar os lucros? 2ª etapa: Definir o ambiente (quais as dificuldades existentes) O táxi deve lidar com tipos de estradas diferentes? A estrada contém tráfego?(animais, pedestres, buracos, policiamento) O táxi deve interagir com passageiros potenciais e reais? Obs.: quanto mais restrito o ambiente, mais fácil se torna o problema de projetar A natureza dos ambientes 3ª etapa: Os atuadores (quais os sensores utilizados) Controle do acelerador? Controle sobre a direção e frenagem? Sistema de comunicação com o passageiro? GPS para a localização? Sensores no motor? (para saber o estado mecânico do motor) Sonar ou infravermelho? (para calcular distancias e detectar barreiras) Um periférico de entrada para o passageiro possa solicitar um destino A natureza dos ambientes Descrição do ambiente de tarefa para um táxi automatizado Tipo de Agente Motorista de táxi Medida de desempenho Ambiente Viagem segura, rápida, dentro da lei, confortável, maximizar lucros Estradas, outros tipos de tráfego, pedestres, clientes Atuadores Direção, Acelerador, freio, sinal, buzina, visor Sensores Câmeras, sonar, velocimetro, GPS, hodometro, acelelometro, sensores do motor, teclado A natureza dos ambientes Outros exemplos: Tipo de Agente Medida de desempenho Ambiente Atuadores Sensores Sistema de diagnóstico médico Paciente saudável, minimizar custo, processos judiciais Paciente, hospital, equipe Exibir perguntas, testes, diagnósticos, tratamento, indicações Entrada pelo teclado para sintomas, descobertas, respostas do paciente Sistema de análise de imagem de satélite Definição correta da categoria da imagem Link de transmissão de satélite em órbita Exibir a categorização da cena Arrays de pixels em cores Robô de seleção de peças Percentagem de peças em bandejas corretas Correia transportadora com peças; bandejas Braço e mão articulados Câmera, sensores angulares articulados Controlador de refinaria Maximizar pureza, rendimento, segurança Refinaria, operadores Válvulas, bombas, aquecedores, mostradores Sensores de temperatura, pressão, produtos químicos. Entrada pelo teclado Instrutor de inglês interativo Maximizar a nota do aluno em teste Conjunto de alunos, testes de agência Exibir exercícios, sugestões, correções Entrada pelo teclado A natureza dos ambientes Propriedade de um ambiente Os ambientes de tarefa podem ser divididos em: Completamente observável x parcialmente observável Deterministico x Estocástico Episódico x Seqüencial Estático x Dinâmico Discreto x Contínuo Propriedades de um ambiente Completamente observável x parcialmente observável O ambiente é completamente observável se os sensores do agente detectam todos os aspectos que são relevantes para a escolha da ação. Ambientes completamente observáveis são convenientes porque o agente não precisa manter qualquer estado interno para controlar o mundo. Um ambiente é parcialmente observável devido ao ruído e a sensores imprecisos. Ex.: Aspirador de pó com apenas um sensor de sujeira local não pode saber se há sujeiras em outros quadrados. Propriedades de um ambiente Deterministico 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 é deterministico.(ex.: Jogo de xadrez) Caso contrário ele é estocástico. (ex.: motorista de táxi... Ondas do mar, folhas que caem) Propriedades de um ambiente Episódico x Seqüencial No ambiente episódico a experiência do agente é dividido em episódios. Cada episódio consiste em o agente perceber e então agir. Cada episódio não depende das ações que ocorreram em episódios anteriores. (Ex.: Robô de seleção de peças) Caso contrário ele é seqüencial (Ex.: Jogo de xadrez) Propriedades de um ambiente Estático x Dinâmico Estático – o ambiente não muda enquanto o agente escolhe a ação a realizar. (ex.: jogo de xadrez sem relógio) semi-estático - Se o ambiente não muda enquanto o agente delibera, mas o “escore” do agente muda.(ex.: jogo de xadrez com relógio) Dinâmico – quando o ambiente muda enquanto o agente escolhe a ação a realizar. (ex.: Motorista de táxi) Propriedades de um ambiente Discreto x contínuo Discreto - quando existe um o número limitado de ações e percepções distintas claramente definidas. (ex.: jogo de xadrez) Contínuo – percepção e ações mudam em uma faixa contínua de valores. (ex.: motorista de táxi)