• Nenhum resultado encontrado

ENIAC 1943-1946 Harvard Mark

7 A revolução do hardware e do software

7.6 A inteligência artificial

É um dos ramos da Ciência da Computação merecedor de especial destaque, pela sua gama de influência nas pesquisas e novas áreas que se abriram a partir do seu início. É aquela área da Computação, em termos mais gerais, voltada para o estudo de técnicas de construção de programas que permitam ao computador simular aspectos do comportamento da inteligência, tais como jogar xadrez, provar teoremas lógicos, compreender partes específicas de uma linguagem natural como, por exemplo, o português, etc.

Os primórdios da Inteligência Artificial (IA a partir de agora) remontam à década de 1940. Começou a predominar nesses anos o movimento ciberneticista, que acreditava entre outras coisas que a atividade humana poderia um dia ser estudada por meio de modelos matemáticos, como se faz com outros tantos fenômenos da natureza. Seguindo os trabalhos de Gödel, muitos matemáticos imbuíram-se do objetivo de formalizar a noção de procedimento e definir o que poderia ser feito através de um algoritmo, e vieram a tona os trabalhos de Turing, Church, Kleene e Post*. Os resultados desses esforços acabaram por ser

equivalentes e se estabeleceram os limites do que é computável†.

No ano de 1943 foram publicados os trabalhos de Warren McCulloch e Walter Pitts, que propuseram um modelo de neurônios artificiais, onde cada neurônio era caracterizado como sendo “on” ou “off”, e era representado por uma chave onde “on” seria a resposta a estímulos por um dado número de neurônios vizinhos. Eles mostraram que qualquer função computável poderia ser processada por algum tipo de rede de neurônios conectados e que os conectivos lógicos poderiam ser implementados através de estruturas de rede simples [MP43]. Estão presentes aqui as pesquisas de Claude Shannon, que entre outras coisas descreveu em termos lógicos o funcionamento de certos sistemas físicos, e vice-versa: sistemas físicos que poderiam representar um raciocínio lógico. A fusão das idéias de Shannon e Boole, associadas a um tratamento simplificado do neurônio do cérebro humano,

* Como foi visto, Turing desenvolveu a Máquina de Turing, Church desenvolveu o cálculo-lambda (que forneceu a base para a linguagem LISP, desenvolvida por McCarthy, uma das favoritas do pessoal da IA), Kleene desenvolveu a teoria das funções recursivas, enquanto Emil Post introduziu sistemas para reescrita de cadeias de símbolos (a gramática de Chomsky é um caso particular disso).

Como um dos subprodutos do trabalho de Church, ficou estabelecido que tudo aquilo que um ser humano possa fazer manipulando símbolos, seguindo um finito e bem definido conjunto de regras, uma máquina equipada com o conveniente programa também poderá fazê-lo.

tornou possível o trabalho de McCulloch e Pitts, que propuseram um modelo de neurônio artificial (há um trabalho sobre este assunto em [Arb87]). Queriam esses dois pesquisadores mostrar que se os neurônios artificiais pudessem efetuar computações lógicas, estaria aberto o caminho para simular o raciocínio humano.

Os trabalhos de Warren McCulloch e Walter Pitts tiveram grande sucesso e outros trabalhos apareceram, mas logo foram objeto de fortes críticas. Frank Rosemblatt e seus colegas da Universidade de Cornell projetaram uma máquina parecida com o modelo de MccUlloch e Pitts, denominada Perceptron*. Marvin Minsky e Seymour Papert mostraram

algumas limitações dos perceptrons, como por exemplo a impossibilidade de executarem operações lógicas do tipo “ou exclusivo”. De qualquer maneira surgiu uma primeira vertente da emergente IA: a que buscava a simulação do cérebro humano do ponto de vista físico, para simular a atividade mental, e que fará surgir anos mais tarde, na década de 1970, a Ciência Cognitiva ou Conexionismo, que está apoiada em um paradigma da IA de processamento serial da informação e no “approach” da manipulação simbólica para a lingüística.

Outra vertente por onde se encaminharam os estudos da IA foi a chamada Inteligência Artificial simbólica, que buscava a representação e a simulação dos estados e do comportamento mentais através de programas computacionais. A representação e simulação da inteligência não estaria na construção de um determinado tipo de hardware, mas no desenvolvimento de um software que opere sobre dados. Isto teve profundos reflexos nas pesquisas posteriores e suscitou inúmeros debates, sobretudo na filosofia, sobre as relações entre a mente e o cérebro†. Em [Tei97], há um capítulo sobre as grandes objeções levantadas

ao termo IA no sentido forte, o qual diz que um computador adequadamente programado é uma mente e reproduz estados mentais.

Em 1950 Turing introduziu através de um artigo, Computing Machinery and Intelligence, o chamado ‘Turing Test”‡, considerado também um dos primeiros esforços no campo da

Inteligência Artificial [RN95]. Mais tarde o próprio Turing (1953) escreveu um programa de xadrez para computadores que tinham a arquitetura de von Neumann. Ao mesmo tempo, Marvin Minsky e Deam Edmonds, do Departamento de Matemática de Princeton, construíram o primeiro computador baseado em rede neural, em 1951, o SNARC. Era um computador analógico para simular uma rede de 40 neurônios [RN95].

John McCarthy, outra figura influente da IA, após formar-se em Princeton, dirigiu- se ao Dartmouth College e convenceu Minsky, Shannon e Nathaniel Rochester, um pesquisador da IBM, a ajudá-lo a trazer pesquisadores interessados em teoria dos autômatos, redes neurais e no estudo da inteligência. Allen Newell e Herbert Simon, da Carnegie Mellon

* Pode-se imaginar um Perceptron como um dispositivo para o reconhecimento de um conjunto de padrões, não específico, isto é, com capacidade de “aprender” a reconhecer os padrões de um conjunto após um número finito de tentativas. † Na verdade tais indagações remontam ao filósofo Renè Descartes que introduziu a primeira fissura no pensamento

filosófico de até então, ao cavar um fosso profundo entre a matéria e o espírito humano.

Ele propôs uma definição de “pensamento” usando um jogo: um homem teria de decidir, baseado em uma conversa via teletipo, se a entidade que estava na sala ao lado, respondendo a um teste, era um ser humano ou um computador. Se a distinção não pudesse ser feita, então poderia ser dito que o computador estava “pensando” [Tur36].

University elaboraram o LT (Logic Theorist)*, um programa capaz de trabalhar não-

numericamente e que provou a maioria dos teoremas do segundo capítulo do Principia Mathematica, de Russell e Whitehead. Em 1952, Arthur Samuel mostrou que os computadores não fazem somente o que se lhes pede, mas são capazes de “aprender”. Outros programas provadores de teoremas se seguiram ao LT e em 1958, com McCarthy surgiu o LISP, que se tornou a linguagem de programação predominante para IA a partir daí.

McCarthy seguiu para Stanford na busca da representação do raciocínio através da lógica formal (seu trabalho recebeu grande impulso quando J. A. Robinson elaborou um algoritmo completo para a prova de teorema na lógica de primeira ordem). Estas aplicações da lógica incluíam robótica e um projeto para demonstrar a completa integração entre raciocínio lógico e atividade física. Minsky estava mais interessado em descobrir programas para resolver problemas que exigiam inteligência para serem solucionados: problemas de analogia geométrica que aparecem nos testes de QI, problemas de álgebra, etc.

Os anos de 1966 a 1974 foram marcados por um certo ceticismo diante das dificuldades que começaram a ser encontradas, como por exemplo a não tratabilidade de muitos problemas de IA, acentuada pelos primeiros estudos dos problemas não-polinomiais determinísticos, NP, e pelas limitações das estruturas básicas usadas para gerar comportamento inteligente, como por exemplo os algoritmos de aprendizado por back-

propagation [RN95].

A década de 1970 marcou a busca pelos sistemas baseados em conhecimento e pelos

sistemas especialistas, protagonizada inicialmente por Ed Feigenbaum, Bruce Buchanan e Joshua

Lederberg. Os sistemas especialistas são solucionadores de problemas acoplados a grandes bancos de dados onde o conhecimento humano específico sobre determinado assunto encontra-se armazenado. O sistema deverá fornecer respostas a consultas, dar conselhos a um leigo sobre um determinado assunto, auxiliar especialistas, ensinar, etc. A idéia subjacente é que a inteligência não é somente raciocínio mas também memória. A grande meta é a preservação do conhecimento de especialistas após a morte destes. O problema, ainda em aberto, é a difícil tarefa de se representar o conhecimento, aliás nome de uma nova área surgida dentro da IA para solucionar os inúmeros problemas surgidos, principalmente os de como representar o “senso comum”, o “sexto sentido” ou ainda a intuição, termos que resistem a uma conceituação clara. Ou ainda qualquer tipo de conhecimento não representável por uma expressão simbólica como ensinar alguém a jogar bola. Como formalizar estas coisas? Mais ainda: até que ponto a formalização é um instrumento eficiente para a representação do conhecimento? De qualquer maneira surgiram os sistemas especialistas para diagnóstico médico, manipulação de linguagens, etc.

Lembrando o trabalho de H.J. Bremermann citado no item anterior (A Computação

como Ciência), sobre os limites físicos que impedem a construção de um dispositivo com

velocidade ‘ilimitada’ (maior que a da luz por exemplo), deve-se reparar que esses mesmos limites estão presentes também dentro das reações químicas e nos impulsos elétricos que se dão nas complexas conexões dos neurônios do cérebro. Se a mente humana consegue resolver determinados problemas intratáveis (o problema da parada na máquina de Turing

* Newell e Simon também inventaram a linguagem IPL, para processamento de listas, para escrever o LT. Como não tinham compilador, traduziram manualmente para o correspondente código de máquina.

por exemplo) e funciona de maneira algorítmica (como pensa determinada corrente de estudiosos da simulação da mente por computador), as operações mentais tem algo a mais do que as características físicas do cérebro humano. Ou então há processamentos mentais não algorítmicos, e se cai no problema da impossibilidade de uma representação formal disso. São debates em aberto e que geram um saudável intercâmbio de idéias entre a Computação e outras áreas do conhecimento humano como a Psicologia, Biologia e Filosofia.

Também a robótica demandou estudos da área de IA, principalmente no que se refere à Visão Computacional. Os anos da década de 1980 foram os da introdução da IA na indústria e um retorno ao uso de redes neurais. De 1987 para cá houve uma mudança tanto no conteúdo quanto na metodologia das pesquisas em IA. Agora é mais comum trabalhar em teorias existentes do que a proposição de novas, e basear-se em teoremas rigorosos ou em fortes evidências experimentais do que sobre intuição. O campo do reconhecimento da voz é um exemplo disto.