Introdução à Inteligência Artificial
1. O que se Pretende com a IA?
  • O que estamos tentando fazer?
  • O que foi conseguido até agora?
  • E se conseguirmos mesmo?
    • Será que a criação de autômatos mais inteligentes e fortes do que os humanos são desejáveis?
    • Será justo escravizar esses autômatos?
    • A raça humana será necessária depois?
  • Definição de IA
    • Não existe uma definição clara de IA porque:
    • Não existe uma boa definição de Inteligência
    • O que é considerado investigação em IA é muito vasto e está em contínua mudança.
2. Inteligência vs Inteligência Artificial
  • Algumas definições de inteligência:
    • Capacidade de aprender e perceber como lidar com novas situações; utilização habilidosa do conhecimento [Webster].
    • Capacidade para aplicar conhecimento na manipulação do ambiente ou para pensar abstratamente, medida por um critério objetivo [Webster].
    • Capacidade para adquirir, analisar, perceber e aplicar criativamente o conhecimento.
    • Capacidade para raciocinar (pensar) e manipular de forma inteligente a informação.
  • A IA deriva de diversos outros campos:
    • Lingüística, Filosofia, Neurologia, Ciências Cognitivas, Matemática, Psicologia, Engenharia e Ciências da Computação.
3. Definição de Inteligência Artificial
  • IA é a ciência para construir máquinas para fazer coisas que requerem inteligência quando feitas pelo homem, Minsky, 1968.
  • IA é a parte das ciências da computação que está preocupada com o projeto de sistemas inteligentes, ou seja, sistemas que exibem características que associamos com inteligência no comportamento humano - perceber linguagem natural, aprendizagem, raciocínio, resolver problemas, etc., Feigenbaum, 1981.
  • IA é o estudo das idéias que possibilitam aos computadores serem inteligentes, Winston, in Artificial Intelligence, 1984.
  • IA é o estudo das capacidades mentais através do uso de modelos computacionais, Charniak e McDermott, 1985.
  • Um campo de estudo que procura explicar e emular o comportamento inteligente em termos de processos computacionais, Schalkoff, 1990.
  • Estudo de técnicas para resolver problemas exponencialmente complexos em tempo polinomial explorando o conhecimento do domínio do problema, Rich & Knight, 1991.
  • Estudo das computações que tornam possível a percepção, raciocínio e ação, Winston, 1992.
  • Estudo do desenvolvimento e utilização de computadores para imitarem a inteligência humana.
  • Campo multidisciplinar que abrange as ciências da computação, neurologia, filosofia, psicologia, matemática, robótica, lingüística; e dedicado à reprodução dos métodos e resultados do raciocínio humano e da atividade do cérebro.
4. Preocupação com o Pensamento vs Comportamento?
  • Modelar Humanos ou seres ideais?
  • Ação Racional: Agente que sempre toma a melhor ação possível na situação!
  • Algumas definições do campo da IA:
    • Construir sistemas que pensam como os humanos
    • Construir sistemas que agem como os humanos
    • Construir sistemas que pensam racionalmente
    • Construir sistemas que agem racionalmente
5. Construir Sistemas que Pensam como Humanos
  • Maquinas com cérebros, Automatização do pensamento humano.
  • Como fazer isto?
    • Desenvolver uma teoria precisa do funcionamento do cérebro, através de experimentação e introspecção e depois, escrever um programa de computador que a implemente.
  • Como podemos saber quando é que estamos fazendo algo correto?
    • Apresentar o problema a um humano e a um computador
    • Fazer um rastreio dos passos seguidos para obter as soluções
    • Comparar os resultados
  • Notas:
    • Esta aproximação está mais preocupada com a captura do processo do que com os resultados do processo
    • É preferível que o programa obtenha a resposta errada se o humano fizer o mesmo.
  • Fazer coisas que (nós pensamos) que requerem inteligência.
  • Fazer coisas que atualmente os humanos fazem melhor que os computadores.
  • Como fazer isto?
    • Implementar todas as tarefas cognitivas, ou seja:
      • Processamento de linguagem natural (para comunicação)
      • Representação do conhecimento (para armazenar informação)
      • Raciocínio automático (para responder a perguntas)
      • Aprendizagem (para adaptação a novas situações)
      • Visão por computador (para percepção)
      • Robótica (para movimentar-se e manipular objetos)
  • Como podemos saber quando é que estamos certos?
    • Escrever programa que realize as tarefas cognitivas
    • Comparar resultados com os de um humano (exemplo: Teste de Turing)
  • Notas:
    • As técnicas que o computador usa não precisam ser semelhantes às que um humano usa!
    • Investigadores não se preocupam (muito) com o processo usado para obter os efeitos, mas sim com os efeitos!
    • Preferível resposta errada se for a que um humano dá!
6. O Teste de Turing
  • Alan Turing foi talvez o primeiro a estudar a IA!
  • Computador é interrogado por um Humano!
  • Será que o consegue enganar?
    • Sim? Então é Inteligente!
  • Sem Interação Física (via teclado+monitor)
  • Capacidades do Computador:
    • Processamento de Linguagem Natural, Representação do Conhecimento, Raciocínio Automático, Aprendizagem
  • Teste Total de Turing: Físico!
    • Necessária Visão por Computador e Robótica
    • Ainda não foi conseguido!
7. Construir Sistemas que Pensam Racionalmente
  • Pensamento Racional: Processo de raciocínio irrefutável
    • Capturar o processo de raciocínio correto
    • Estratégias para resolver problemas complexos
  • Como fazer isto?
    • Desenvolver um modelo formal do raciocínio (lógica formal) que conduza sempre à resposta correta e Implementar esse modelo
  • Como podemos saber quando é que estamos corretos?
    • Provar que resultados do raciocínio programado estão corretos
  • Notas:
    • É muito difícil representar certa informação de maneira formal, especialmente quando os dados são contraditórios ou incompletos.
    • A maioria dos algoritmos para raciocínio formal são muito complexos.
    • Investigadores não ficam contentes se o sistema der a resposta errada a partir dos dados certos, mesmo que os humanos também o façam.
    • O objetivo é que o processo seja correto!
8. Construir Sistemas que Agem Racionalmente
  • Emular o comportamento inteligente
  • Atuar de forma que os objetivos desejados sejam atingidos
  • Como fazer isto?
    • Descobrir como tomar as decisões corretas, o que pode significar pensar racionalmente ou ter reflexos racionais.
    • Habilidades cognitivas para percepção e ação.
  • Como podemos saber quando é que estamos corretos?
    • Quando os objetivos são atingidos
  • Notas:
    • Vamos utilizar esta abordagem ("agente racional")!
    • Investigadores querem que o sistema "faça a coisa correta"
    • Investigadores não estão preocupados se o processo é o mesmo do humano.
    • Mas querem ter a certeza que o sistema irá agir de forma adequada
9. Exercícios
  • Será que as seguintes tarefas podem atualmente ser executadas por computadores?
  1. Jogar razoavelmente um jogo de Tênis (ou Ping-Pong).
  2. Jogar um jogo de Xadrez como um profissional.
  3. Conduzir um automóvel numa auto-estrada pouco movimentada.
  4. Conduzir um automóvel no centro de São Paulo.
  5. Inventar uma anedota com piada.
  6. Traduzir Português para Inglês em tempo real.
  7. Fornecer aconselhamento legal numa dada área.
  • Quais as dificuldades nas tarefas que não podem?
10. Subáreas da Inteligência Artificial
10.1. Resolução de Problemas
  • Bastante sucesso inicial nesta área!
  • Resolução de puzzles
  • Xadrez (Damas, Otelo).
  • Utilização de técnicas de pesquisa e de redução de problemas
10.2. Raciocínio Lógico
  • Provar coisas através da manipulação de uma base de fatos.
10.3. Programação Automática
  • Escrever um programa de computador a partir de uma breve descrição.
  • Algum sucesso com métodos semi-automáticos.
  • Alguns sistemas de detecção de erros.
10.4. Compreensão de Linguagem e modelagem semântica
  • Um dos primeiros problemas
  • Algum sucesso em domínios limitados
  • Como podemos entender a linguagem escrita/falada?
  • Inclui responder a perguntas, traduzir entre linguagens, aprender a partir do texto escrito, reconhecimento de voz.
  • Alguns aspectos:
    • Associar uma palavra falada com a palavra real.
    • Compreender a linguagem.
    • Sintaxe: Como formar frases gramaticalmente corretas?
    • Semântica: Compreender o significado das palavras e frases
    • Contexto
    • Conversação
10.5. Reconhecimento de Padrões
  • Identificação de objetos, formas ou sons auxiliada por computador.
  • Necessário para a compreensão de fala e de imagem.
  • Necessita da aquisição do sinal e extração de características
10.6. Sistemas Especialistas (Expert Systems)
  • Área mais recente
  • Projetistas chamados de "Engenheiros do Conhecimento!".
  • Traduzir o que um especialista sabe e as regras que usa para tomar decisões para um programa de computador
  • Problemas incluem:
    • Aquisição do conhecimento (como obter a informação)
    • Explicação (das respostas)
    • Modelos do conhecimento (o que fazer com a informação)
    • Manipulação da incerteza
10.7. Planejamento, Robótica e Visão
  • Planear como executar as ações
  • Reconhecimento de objetos em imagens. Aprendizagem ("Machine Learning")
  • Podemos lembrar as soluções em vez de as calcular novamente?
  • Podemos deduzir fatos adicionais a partir dos dados?
10.8. Redes Neurais
  • Podemos modelar os aspectos físicos do cérebro (neurônios)?
10.9. Linguagens e Ambientes
  • Novas linguagens e ambientes adequadas à IA. Exemplos:
    • LISP, Prolog, CLIPS, PLR
    • Linguagens Orientadas por Objetos (em parte)
    • Programação automática
    • "Agent Oriented Languages"
11. Fundamentos da IA
11.1. Filosofia (428 bc - presente)
  • Platão, Sócrates, Aristotles
    • Parte racional do cérebro!
    • Silogismos para raciocinar a partir de premissas e chegar a conclusões.
    • Exemplo Clássico: "Socrates is a man! All men are mortal! Therefore, Socrates is mortal!".
    • Intuição vs Lógica
  • Decartes (1596 ac)
    • Distinção entre mente e matéria
    • Dualismo (alma)
  • Leibnitz (1646 ac)
    • Materialismo (tudo opera segundo leis físicas)
  • Francis Bacon, John Locke
    • Empiricismo: "Nothing is in the understanding that was not first in the senses"
  • David Hume, Bertrand Russel
    • Indução, positivismo lógico
  • Newell, Simon (1972)
    • Programa GPS ("Mens-ends analysis)
    • Example: "I want to take my son to the school. What is the difference between what I have and what I want? One of distance. What changes distance? My car. My car won’t work! What is needed to make it work? A new battery! What has new batteries? An auto repair shop. I want the repair shop to put a new battery; but the shop doesn’t know I need one. What is the difficulty? One of communication. What allows communication? A telephone... and so on"
    • Classificar as coisas em termos de funções e oscilar entre fins, funções requeridas e meios para as fazer!
11.2. Matemática (800-presente)
  • Formalização matemática, lógica, computação, probabilidades, teoria da decisão.
  • Al Khowarazmi - Noção de algoritmo (século IX)
  • Aristótles, Boole (1847) – Lógica.
  • Gottlob Frege - lógica de primeira ordem
  • Turing (1936) - Máquina de Turing
  • Cook, Karp - Complexidade dos problemas, NP-completos
  • Cardano, Fermat, Laplace, Pascal, Bayes, Von Neumann
11.3. Psicologia (1879-presente)
  • Helmhotz, Wundt (1879)
  • Comportamentalismo (Watson e Thorndike)
  • Psicologia Cognitiva (William James)
11.4. Engenharia da Computação (1940-presente)
  • Para termos IA, necessitamos de Inteligência e um Artefato (melhor é o computador)
  • Abacus, máquina de somar (Pascal, século XVII), máquina de multiplicar (Leibniz 1694), computação (Babbage 1792-1871).
  • Computador Robinson (Turing 1940), Z-3 (Zuse 1941)
  • IBM 701 (Rochester, 1952).
  • Software (Sistemas Operativos, Linguagens de Programação, ferramentas)
11.5. Linguística (1957-presente)
  • Comportamento Verbal (Skinner, 1957).
  • Representação do conhecimento, linguagem natural.
12. História da IA
  • Gestação da IA (1943-1956)
    • McCulloch, Pitts, Shannon, Turing, Minsky, McCarthy, Rochester, Newell, Simon (MIT, CMU, Stanford, IBM)
    • Dartmouth College Workshop (1956) - Nascimento da IA
  • Entuasiasmo Inicial, Grandes Expectativas (1952-69)
    • GPS, Xadrez, Damas, Lisp (1958), Mundo dos Blocos, Analogy
  • Uma Dose de Realidade (1966-1974)
  • Sistemas Baseados em Conhecimento (1969-1979)
    • Dendral, Mycin, Prospector.
  • IA Torna-se uma Indústria (1980-1988)
    • Sistemas Periciais, Visão por Computador, Robótica.
  • O Regresso das Redes Neurais (1986-1996)
  • Eventos Recentes (1987-presente)
12.1. Précursores da IA
  • George Boole inventou a álgebra booleana, Suas idéias se incorporam como base da matemática e filosofia.
  • Lewis Carrol mostrou de maneira bem humorada, como a lógica pode encerrar raciocínios pouco usuais.
  • Alan Turing propôs um teste para decidir se um computador exibe inteligência.
12.2. Épocas
  • Época Pré-histórica (até 1875, quando Camillo Golgi visualizou o neurônio).
    • Objetivo: criar seres e mecanismos apresentando comportamento inteligente.
    • Metodologia: Mecanismos usando mecânica de precisão.
    • Limitações: Complexidade dos mecanismos; dificuldades de construção.
  • Época Antiga (1875-1943) (McCulloch & Pitts)
    • Objetivo: Entender a inteligência Humana.
    • Metodologia: Estudos de psicologia e neurofisiologia.
    • Limitações: Grandes distâncias entre a psicologia e a neurofisiologia.
  • Época Pré-Classica (1943-1956)
    • Objetivo: Simular a inteligência Humana em situações pré-determinadas.
    • Metodologia: Inspiração na Natureza, Nascimento da Cibernética.
    • Limitações: Limitação das capacidades computacionais.
  • Época Clássica (1956-1970)
    • Objetivo: Simular a inteligência Humana e expandir ao máximo as aplicações da IA.
    • Metodologia: Solucionadores gerais de problemas e lógica.
    • Limitações: Subestimação da complexidade computacional dos problemas.
  • Época Romântica (1970-1980)
    • Objetivo: Simular a inteligência humana em situações pré-determinadas.
    • Metodologia: formalismos de representação de conhecimento adaptados ao tipo de problema, mecanismos de ligação procedural visando maior eficiência computacional.
    • Limitações: Subestimação da quantidade de conhecimento necessária para tratar mesmo o mais banal problema de senso comum.
  • Época Moderna (1980-1990)
    • Objetivo: Simular o comportamento de um especialista humano ao resolver problemas em um domínio específico.
    • Metodologia: Sistemas de regras, representação da incerteza, popularização do Prolog.
    • Limitações: Subestimação da complexidade do problema de aquisição do conhecimento.
13. O Estado da Arte
  • Sucesso de marketing
    • Deep Blue ao ganhar do campeão mundial de xadrez
  • Algumas aplicações em que o sucesso impressiona
    • Sistemas comerciais de reconhecimento de fala
    • Sistemas especialistas para auxílio ao diagnóstico médico que segundo alguns podem ser melhores que o médico para algumas especialidades
    • Operação automatizada de veículos
  • Alguns problemas ainda não resolvidos
    • Falar com computadores
    • Possibilidade de reconhecimento de vários objetos em uma grande gama de contextos
    • Máquinas com grande capacidade de aprendizado
    • Tradução entre linguagens com termos coloquiais, figuras de linguagem, etc.

[Voltar]