Como Aristóteles criou o Computador

Os filósofos que ele influenciou prepararam o terreno para a revolução tecnológica que refez o nosso mundo.

Por Chris Dixon. Tradução por Rafael R. Testa (com hyperlinks para referências).

A história dos computadores é frequentemente contada como uma história de objetos, desde o ábaco até a máquina de Babbage e as máquinas de decifrar códigos da Segunda Guerra Mundial. Na verdade, ela é melhor entendida como uma história de ideias, principalmente ideias que surgiram da lógica matemática, uma disciplina obscura e parecida com um culto, que se desenvolveu pela primeira vez no século XIX. A lógica matemática foi iniciada por filósofos-matemáticos, mais notavelmente George Boole e Gottlob Frege, que foram inspirados pelo sonho de Leibniz de uma “linguagem universal de conceitos” e pelo sistema lógico antigo de Aristóteles.

Inicialmente, a lógica matemática era considerada uma matéria extremamente abstrata, sem aplicações práticas. Como comentou um cientista da computação: “Se, em 1901, um observador talentoso e simpático fosse convidado a avaliar as ciências e nomear o ramo que seria o menos frutífero no século seguinte, ele poderia muito bem ter escolhido a lógica matemática.” No entanto, essa disciplina acabou fornecendo a base para um campo que teria mais impacto no mundo moderno do que qualquer outro.

A evolução da ciência da computação a partir da lógica matemática culminou na década de 1930, com dois artigos marcantes: “Uma Análise Simbólica de Circuitos de Comutação e Relés“, de Claude Shannon, e “Sobre Números Computáveis, com uma Aplicação ao Problema da Decisão“, de Alan Turing. Na história da ciência da computação, Shannon e Turing são figuras imponentes, mas a importância dos filósofos e lógicos que os precederam é frequentemente negligenciada.

Uma história bem conhecida da ciência da computação descreve o artigo de Shannon como “possivelmente a tese de mestrado mais importante e notável do século.” Shannon escreveu esse artigo enquanto era estudante de engenharia elétrica no MIT. Seu orientador, Vannevar Bush, construiu um computador protótipo conhecido como o Analisador Diferencial, que podia calcular rapidamente equações diferenciais. O dispositivo era principalmente mecânico, com subsistemas controlados por relés elétricos, organizados de forma ad hoc, pois ainda não havia uma teoria sistemática subjacente ao design de circuitos. O tópico da tese de Shannon surgiu quando Bush recomendou que ele tentasse descobrir tal teoria.

O artigo de Shannon é, em muitos aspectos, um artigo típico de engenharia elétrica, cheio de equações e diagramas de circuitos elétricos. O que é incomum é que a principal referência foi uma obra de filosofia matemática com 90 anos de idade, As Leis do Pensamento, de George Boole.

Hoje, o nome de Boole é bem conhecido pelos cientistas da computação (muitas linguagens de programação têm um tipo de dado básico chamado “booleano”), mas em 1938 ele era raramente lido fora dos departamentos de filosofia. O próprio Shannon encontrou a obra de Boole em uma aula de filosofia na graduação. “Aconteceu que ninguém mais estava familiarizado com os dois campos ao mesmo tempo”, comentou ele mais tarde.

Boole é frequentemente descrito como matemático, mas ele se via como filósofo, seguindo os passos de Aristóteles. As Leis do Pensamento começa com uma descrição de seus objetivos: investigar as leis fundamentais das operações da mente humana:

O objetivo do tratado a seguir é investigar as leis fundamentais daquelas operações da mente pelas quais o raciocínio é realizado; expressá-las na linguagem simbólica de um Cálculo e, sobre essa base, estabelecer a ciência da Lógica… e, finalmente, recolher… algumas prováveis indicações sobre a natureza e constituição da mente humana.

Ele então presta homenagem a Aristóteles, o inventor da lógica e a principal influência em seu próprio trabalho:

Em sua forma antiga e escolástica, de fato, o assunto da Lógica está quase exclusivamente associado ao grande nome de Aristóteles. Como foi apresentado à Grécia antiga nas disquisições em parte técnicas, em parte metafísicas de O Órganon, assim, com pouca mudança essencial, continuou até os dias de hoje.

Tentar melhorar o trabalho lógico de Aristóteles foi um movimento intelectualmente ousado. A lógica de Aristóteles, apresentada em seu livro de seis partes, O Órganon, ocupou um lugar central no cânone acadêmico por mais de 2.000 anos. Acreditava-se amplamente que Aristóteles havia escrito quase tudo o que havia para dizer sobre o tema. O grande filósofo Immanuel Kant comentou que, desde Aristóteles, a lógica “não conseguiu dar um único passo adiante e, portanto, parece estar concluída e completa.”

A observação central de Aristóteles foi que os argumentos são válidos ou inválidos com base em sua estrutura lógica, independentemente das palavras não-lógicas envolvidas. O esquema de argumento mais famoso que ele discutiu é conhecido como o silogismo:

  • Todos os homens são mortais.
  • Sócrates é um homem.
  • Portanto, Sócrates é mortal.

Você pode substituir “Sócrates” por qualquer outro objeto e “mortal” por qualquer outro predicado, e o argumento permanecerá válido. A validade do argumento é determinada exclusivamente pela estrutura lógica. As palavras lógicas — ”todos,” “é,” e “portanto” — estão fazendo todo o trabalho.

Aristóteles também definiu um conjunto de axiomas básicos a partir dos quais derivou o restante de seu sistema lógico:

  • Um objeto é o que é (Lei da Identidade)
  • Nenhuma proposição pode ser verdadeira e falsa ao mesmo tempo (Lei da Não Contradição)
  • Toda proposição é verdadeira ou falsa (Lei do Terceiro Excluído)

Esses axiomas não eram destinados a descrever como as pessoas realmente pensam (isso seria o domínio da psicologia), mas sim como uma pessoa idealizada, perfeitamente racional, deveria pensar.

O método axiomático de Aristóteles influenciou um livro ainda mais famoso, Os Elementos, de Euclides, que é estimado como o segundo livro mais publicado de todos os tempos, perdendo apenas para a Bíblia.

Fragmento dos Elementos (Wikimedia Commons)

Embora seja ostensivamente sobre geometria, Os Elementos se tornou um livro didático padrão para ensinar o raciocínio dedutivo rigoroso. (Abraham Lincoln disse uma vez que aprendeu a argumentação jurídica sólida estudando Euclides.) No sistema de Euclides, as ideias geométricas eram representadas como diagramas espaciais. A geometria continuou a ser praticada dessa forma até René Descartes, na década de 1630, mostrar que a geometria poderia ser representada como fórmulas. Seu Discurso do Método foi o primeiro texto matemático no Ocidente a popularizar o que agora é a notação algébrica padrão — x, y, z para variáveis, a, b, c para quantidades conhecidas, e assim por diante.

A álgebra de Descartes permitiu aos matemáticos ultrapassar as intuições espaciais e manipular símbolos usando regras formais precisamente definidas. Isso mudou o modo dominante da matemática de diagramas para fórmulas, levando, entre outras coisas, ao desenvolvimento do cálculo, inventado aproximadamente 30 anos depois por Isaac Newton e Gottfried Leibniz, de forma independente.

O objetivo de Boole era fazer pela lógica aristotélica o que Descartes havia feito pela geometria euclidiana: libertá-la dos limites da intuição humana, dando-lhe uma notação algébrica precisa. Para dar um exemplo simples, quando Aristóteles escreveu:

  • Todos os homens são mortais.

Boole substituiu as palavras “homens” e “mortais” por variáveis, e as palavras lógicas “todos” e “são” por operadores aritméticos:

  • x = x * y

Que poderia ser interpretado como “Tudo no conjunto x também está no conjunto y.”

As Leis do Pensamento criou um novo campo acadêmico—lógica matemática—que, nos anos seguintes, se tornou uma das áreas mais ativas de pesquisa para matemáticos e filósofos. Bertrand Russell chamou As Leis do Pensamento de “a obra na qual a matemática pura foi descoberta.”

A percepção de Shannon foi que o sistema de Boole poderia ser mapeado diretamente para circuitos elétricos. Na época, os circuitos elétricos não tinham uma teoria sistemática governando seu design. Shannon percebeu que a teoria certa seria “exatamente análoga ao cálculo das proposições usado no estudo simbólico da lógica.”

Ele mostrou a correspondência entre circuitos elétricos e operações booleanas em um gráfico simples:

Correspondência entre circuitos elétricos e operações booleanas de Shannon (tese de mestrado, MIT 1940)

Essa correspondência permitiu aos cientistas da computação importar décadas de trabalho em lógica e matemática de Boole e lógicos subsequentes. Na segunda metade de seu artigo, Shannon mostrou como a lógica booleana poderia ser usada para criar um circuito que somava dois dígitos binários.

Ao encadear esses circuitos somadores, operações aritméticas arbitrariamente complexas poderiam ser construídas. Esses circuitos se tornariam os blocos de construção básicos do que hoje são conhecidos como unidades lógicas aritméticas, um componente chave nos computadores modernos.

Circuito somador (University of Virginia)

Outro modo de caracterizar a conquista de Shannon é que ele foi o primeiro a distinguir entre a camada lógica e a camada física dos computadores. (Essa distinção tornou-se tão fundamental para a ciência da computação que pode parecer surpreendente para os leitores modernos o quão perspicaz foi essa ideia na época—um lembrete do ditado que “a filosofia de um século é o senso comum do próximo.”)

Desde o artigo de Shannon, um vasto progresso foi feito na camada física dos computadores, incluindo a invenção do transistor em 1947 por William Shockley e seus colegas nos Laboratórios Bell. Os transistores são versões dramaticamente melhoradas dos relés elétricos de Shannon — a melhor maneira conhecida de codificar fisicamente operações booleanas. Nos 70 anos seguintes, a indústria de semicondutores encheu mais e mais transistores em espaços menores. Um iPhone de 2016 tem cerca de 3,3 bilhões de transistores, cada um sendo um “interruptor de relé” como os mostrados nos diagramas de Shannon.

Enquanto Shannon mostrou como mapear a lógica no mundo físico, Turing mostrou como projetar computadores na linguagem da lógica matemática. Quando Turing escreveu seu artigo, em 1936, ele estava tentando resolver “o problema da decisão,” identificado pela primeira vez pelo matemático David Hilbert, que perguntou se existia um algoritmo que pudesse determinar se uma proposição matemática arbitrária era verdadeira ou falsa. Em contraste com o artigo de Shannon, o de Turing é altamente técnico. Seu significado histórico reside principalmente não na resposta ao problema da decisão, mas no modelo de design de computadores que ele forneceu ao longo do caminho.

Turing estava trabalhando em uma tradição que remonta a Gottfried Leibniz, o gigante filosófico que desenvolveu o cálculo independentemente de Newton. Entre as muitas contribuições de Leibniz ao pensamento moderno, uma das mais intrigantes foi a ideia de uma nova linguagem que ele chamou de “característica universal,” que, ele imaginava, poderia representar todo o conhecimento matemático e científico possível. Inspirado em parte pelo filósofo religioso do século XIII Ramon Llull, Leibniz postulou que a linguagem seria ideográfica, como os hieróglifos egípcios, exceto que os caracteres corresponderiam a conceitos “atômicos” da matemática e da ciência. Ele argumentou que essa linguagem daria à humanidade um “instrumento” que poderia melhorar a razão humana “em um grau muito maior do que os instrumentos ópticos” como o microscópio e o telescópio.

Ele também imaginou uma máquina que pudesse processar essa linguagem, que ele chamou de calculus ratiocinator.

Se surgissem controvérsias, não haveria mais necessidade de disputa entre dois filósofos do que entre dois contadores. Pois bastaria pegar seus lápis nas mãos e dizer um ao outro: Calculemos—Vamos calcular.

Leibniz não teve a oportunidade de desenvolver sua linguagem universal ou a máquina correspondente (embora ele tenha inventado uma máquina de calcular relativamente simples, o stepped reckoner). A primeira tentativa crível de realizar o sonho de Leibniz veio em 1879, quando o filósofo alemão Gottlob Frege publicou seu tratado lógico revolucionário Begriffsschrift. Inspirado pela tentativa de Boole de melhorar a lógica aristotélica, Frege desenvolveu um sistema lógico muito mais avançado. A lógica ensinada em aulas de filosofia e ciência da computação hoje—lógica de primeira ordem ou lógica de predicados—é apenas uma ligeira modificação do sistema de Frege.

Frege é geralmente considerado um dos mais importantes filósofos do século XIX. Entre outras coisas, ele é creditado por catalisar o que o notável filósofo Richard Rorty chamou de “a virada linguística” na filosofia. Enquanto a filosofia iluminista estava obcecada com questões de conhecimento, a filosofia após Frege tornou-se obcecada com questões de linguagem. Seus discípulos incluíam dois dos mais importantes filósofos do século XX—Bertrand Russell e Ludwig Wittgenstein.

A maior inovação da lógica de Frege foi que ela representava de forma muito mais precisa a estrutura lógica da linguagem comum. Entre outras coisas, Frege foi o primeiro a usar quantificadores (“para todo,” “existe”) e a separar objetos de predicados. Ele também foi o primeiro a desenvolver conceitos que hoje são fundamentais na ciência da computação, como funções recursivas e variáveis com escopo e vinculação.

A linguagem formal de Frege— o que ele chamou de sua “conceitografia” — é composta por símbolos sem significado que são manipulados por regras bem definidas. A linguagem só adquire significado por uma interpretação, que é especificada separadamente (essa distinção mais tarde seria chamada de sintaxe versus semântica). Isso transformou a lógica no que os eminentes cientistas da computação Allan Newell e Herbert Simon chamaram de “o jogo dos símbolos,” “jogado com símbolos sem sentido de acordo com certas regras puramente sintáticas.”

Todo o significado havia sido expurgado. Tinha-se um sistema mecânico sobre o qual várias coisas podiam ser provadas. Assim, o progresso foi feito inicialmente afastando-se de tudo o que parecia relevante para o significado e os símbolos humanos.

Como Bertrand Russell famosamente comentou: “Matemática pode ser definida como o assunto no qual nunca sabemos sobre o que estamos falando, nem se o que estamos dizendo é verdadeiro.”

Uma consequência inesperada do trabalho de Frege foi a descoberta de fraquezas nos fundamentos da matemática. Por exemplo, Os Elementos de Euclides — considerado o padrão de rigor lógico por milhares de anos — revelou-se cheio de erros lógicos. Porque Euclides usava palavras comuns como “linha” e “ponto”, ele — e séculos de leitores — se enganaram ao fazer suposições sobre sentenças que continham essas palavras. Para dar um exemplo relativamente simples, no uso comum, a palavra “linha” implica que, se você tem três pontos distintos em uma linha, um ponto deve estar entre os outros dois. Mas quando você define “linha” usando lógica formal, descobre-se que o conceito de “entre” também precisa ser definido — algo que Euclides negligenciou. A lógica formal torna lacunas como essa fáceis de identificar.

Essa percepção criou uma crise nos fundamentos da matemática. Se Os Elementos — a bíblia da matemática — continha erros lógicos, quais outros campos da matemática também os continham? E o que dizer das ciências, como a física, que eram baseadas na matemática?

A boa notícia é que os mesmos métodos lógicos usados para descobrir esses erros também podiam ser usados para corrigi-los. Matemáticos começaram a reconstruir os fundamentos da matemática desde o início. Em 1889, Giuseppe Peano desenvolveu axiomas para a aritmética, e em 1899, David Hilbert fez o mesmo para a geometria. Hilbert também delineou um programa para formalizar o restante da matemática, com requisitos específicos que qualquer tentativa deveria satisfazer, incluindo:

  • Completude: Deveria haver uma prova de que todas as proposições matemáticas verdadeiras podem ser provadas no sistema formal.
  • Decidibilidade: Deveria haver um algoritmo para decidir a verdade ou falsidade de qualquer proposição matemática. (Esse é o “problema da decisão” ou “Entscheidungsproblem” mencionado no artigo de Turing.)

Reconstruir a matemática de uma forma que satisfizesse esses requisitos ficou conhecido como o programa de Hilbert. Até a década de 1930, esse era o foco de um núcleo de lógicos, incluindo Hilbert, Russell, Kurt Gödel, John Von Neumann, Alonzo Church e, claro, Alan Turing.

O programa de Hilbert prosseguiu em pelo menos duas frentes. Na primeira, lógicos criaram sistemas lógicos que tentavam provar se os requisitos de Hilbert eram satisfatórios ou não.

Na segunda frente, matemáticos usaram conceitos lógicos para reconstruir a matemática clássica. Por exemplo, o sistema de Peano para a aritmética começa com uma função simples chamada função sucessora, que aumenta qualquer número em um. Ele usa a função sucessora para definir recursivamente a adição, usa a adição para definir recursivamente a multiplicação e assim por diante, até que todas as operações da teoria dos números estejam definidas. Ele então usa essas definições, junto com a lógica formal, para provar teoremas sobre a aritmética.

O historiador Thomas Kuhn observou certa vez que “na ciência, a novidade emerge apenas com dificuldade.” A lógica na era do programa de Hilbert era um processo tumultuoso de criação e destruição. Um lógico construía um sistema elaborado e outro o destruía.

A ferramenta favorita de destruição era a construção de declarações paradoxais autorreferenciais, que mostravam que os axiomas dos quais eram derivadas eram inconsistentes. Uma forma simples desse “paradoxo do mentiroso” é a sentença:

  • Esta sentença é falsa.

Se é verdadeira, então é falsa, e se é falsa, então é verdadeira, levando a um ciclo interminável de autocontradição.

Russell fez o primeiro uso notável do paradoxo do mentiroso na lógica matemática. Ele mostrou que o sistema de Frege permitia que conjuntos autorreferenciais contraditórios fossem derivados:

Seja R o conjunto de todos os conjuntos que não são membros de si mesmos. Se R não é um membro de si mesmo, então sua definição dita que ele deve conter a si mesmo, e se contém a si mesmo, então contradiz sua própria definição como o conjunto de todos os conjuntos que não são membros de si mesmos.

Isso ficou conhecido como o paradoxo de Russell e foi visto como uma falha séria na conquista de Frege. (O próprio Frege ficou chocado com essa descoberta. Ele respondeu a Russell: “Sua descoberta da contradição me causou a maior surpresa e, eu quase diria, consternação, já que abalou a base sobre a qual eu pretendia construir minha aritmética.”)

Russell e seu colega Alfred North Whitehead propuseram a tentativa mais ambiciosa de completar o programa de Hilbert com o Principia Mathematica, publicado em três volumes entre 1910 e 1913. O método do Principia era tão detalhado que demorou mais de 300 páginas para chegar à prova de que 1+1=2.

Russell e Whitehead tentaram resolver o paradoxo de Frege introduzindo o que chamaram de teoria dos tipos. A ideia era dividir as linguagens formais em múltiplos níveis ou tipos. Cada nível podia fazer referência a níveis inferiores, mas não ao seu próprio nível ou a níveis superiores. Isso resolveu os paradoxos autorreferenciais, de fato, banindo a autorreferência. (Essa solução não foi popular entre os lógicos, mas influenciou a ciência da computação — a maioria das linguagens de computador modernas tem recursos inspirados na teoria dos tipos.)

Os paradoxos autorreferenciais mostraram, em última análise, que o programa de Hilbert nunca poderia ser bem-sucedido. O primeiro golpe veio em 1931, quando Gödel publicou seu agora famoso teorema da incompletude, que provou que qualquer sistema lógico consistente, poderoso o suficiente para englobar a aritmética, deve também conter declarações que são verdadeiras, mas que não podem ser provadas como verdadeiras. (O teorema da incompletude de Gödel é um dos poucos resultados lógicos que foi amplamente popularizado, graças a livros como Gödel, Escher, Bach e A Nova Mente do Imperador.)

O golpe final veio quando Turing e Alonzo Church provaram de forma independente que nenhum algoritmo poderia existir para determinar se uma proposição matemática arbitrária era verdadeira ou falsa. (Church fez isso inventando um sistema totalmente diferente chamado cálculo lambda, que mais tarde inspiraria linguagens de programação como Lisp.) A resposta para o problema da decisão foi negativa.

A percepção chave de Turing veio na primeira seção de seu famoso artigo de 1936, Sobre Números Computáveis, com uma Aplicação ao Problema da Decisão. Para formular rigorosamente o problema da decisão (o “Entscheidungsproblem”), Turing primeiro criou um modelo matemático do que significa ser um computador (hoje, máquinas que se encaixam nesse modelo são conhecidas como “máquinas de Turing universais”). Como o lógico Martin Davis descreve:

Turing sabia que um algoritmo é tipicamente especificado por uma lista de regras que uma pessoa pode seguir de maneira precisa e mecânica, como uma receita em um livro de culinária. Ele foi capaz de mostrar que tal pessoa poderia ser limitada a algumas ações básicas extremamente simples, sem alterar o resultado final da computação.

Então, ao provar que nenhuma máquina realizando apenas essas ações básicas poderia determinar se uma conclusão proposta seguia ou não a partir das premissas fornecidas usando as regras de Frege, ele conseguiu concluir que nenhum algoritmo para o problema da decisão existe.

Como subproduto, ele encontrou um modelo matemático de uma máquina de computação universal.

Em seguida, Turing mostrou como um programa poderia ser armazenado dentro de um computador ao lado dos dados sobre os quais ele opera. No vocabulário de hoje, diríamos que ele inventou a arquitetura de “programa armazenado” que está na base da maioria dos computadores modernos:

Antes de Turing, a suposição geral era que, ao lidar com tais máquinas, as três categorias—máquina, programa e dados—eram entidades totalmente separadas. A máquina era um objeto físico; hoje a chamaríamos de hardware. O programa era o plano para realizar uma computação, talvez incorporado em cartões perfurados ou conexões de cabos em uma placa de circuitos. Finalmente, os dados eram a entrada numérica. A máquina universal de Turing mostrou que a distinção entre essas três categorias é uma ilusão.

Essa foi a primeira demonstração rigorosa de que qualquer lógica de computação que pudesse ser codificada em hardware também poderia ser codificada em software. A arquitetura que Turing descreveu mais tarde foi apelidada de “arquitetura de Von Neumann”— mas os historiadores modernos geralmente concordam que veio de Turing, como, aparentemente, o próprio Von Neumann admitiu.

Embora, em um nível técnico, o programa de Hilbert tenha sido um fracasso, os esforços ao longo do caminho demonstraram que grandes áreas da matemática poderiam ser construídas a partir da lógica. E, após as percepções de Shannon e Turing—mostrando as conexões entre eletrônica, lógica e computação—agora era possível exportar essa nova maquinaria conceitual para o design de computadores.

Durante a Segunda Guerra Mundial, esse trabalho teórico foi posto em prática quando laboratórios governamentais recrutaram um número de lógicos de elite. Von Neumann juntou-se ao projeto da bomba atômica em Los Alamos, onde trabalhou no design de computadores para apoiar a pesquisa em física. Em 1945, ele escreveu a especificação do EDVAC—o primeiro computador baseado em lógica com programa armazenado—que é amplamente considerado o guia definitivo para o design moderno de computadores.

Turing juntou-se a uma unidade secreta em Bletchley Park, a noroeste de Londres, onde ajudou a projetar computadores que foram fundamentais para decifrar os códigos alemães. Sua contribuição mais duradoura para o design prático de computadores foi sua especificação do ACE, ou Motor de Computação Automática.

Sendo os primeiros computadores baseados em lógica booleana e arquiteturas de programas armazenados, o ACE e o EDVAC eram semelhantes em muitos aspectos. Mas eles também tinham diferenças interessantes, algumas das quais prenunciaram debates modernos sobre o design de computadores. Os designs preferidos de Von Neumann eram semelhantes aos processadores CISC (“complexos”) modernos, incorporando funcionalidades ricas no hardware. O design de Turing era mais semelhante aos processadores RISC (“reduzidos”) modernos, minimizando a complexidade do hardware e transferindo mais trabalho para o software.

Von Neumann achava que a programação de computadores seria um trabalho tedioso e burocrático. Turing, por outro lado, disse que a programação de computadores “deveria ser muito fascinante. Não há perigo real de que se torne enfadonha, pois qualquer processo que seja completamente mecânico pode ser entregue à máquina em si.”

Desde a década de 1940, a programação de computadores tornou-se significativamente mais sofisticada. Uma coisa que não mudou é que ela ainda consiste principalmente em programadores especificando regras para que os computadores sigam. Em termos filosóficos, poderíamos dizer que a programação de computadores seguiu a tradição da lógica dedutiva, o ramo da lógica discutido acima, que lida com a manipulação de símbolos de acordo com regras formais.

Na última década, ou algo assim, a programação começou a mudar com a crescente popularidade do aprendizado de máquina, que envolve criar estruturas para que as máquinas aprendam por meio de inferência estatística. Isso aproximou a programação do outro ramo principal da lógica, a lógica indutiva, que trata de inferir regras a partir de instâncias específicas.

As técnicas de aprendizado de máquina mais promissoras de hoje usam redes neurais, que foram inventadas pela primeira vez na década de 1940 por Warren McCulloch e Walter Pitts, cuja ideia era desenvolver um cálculo para neurônios que pudesse, como a lógica booleana, ser usado para construir circuitos de computador. As redes neurais permaneceram esotéricas até décadas depois, quando foram combinadas com técnicas estatísticas, que permitiram que melhorassem à medida que eram alimentadas com mais dados. Recentemente, à medida que os computadores se tornaram cada vez mais capazes de lidar com grandes conjuntos de dados, essas técnicas produziram resultados notáveis. A programação no futuro provavelmente significará expor redes neurais ao mundo e deixá-las aprender.

Isso seria um segundo ato apropriado para a história dos computadores. A lógica começou como uma maneira de entender as leis do pensamento. Ela então ajudou a criar máquinas que podiam raciocinar de acordo com as regras da lógica dedutiva. Hoje, a lógica dedutiva e indutiva estão sendo combinadas para criar máquinas que tanto raciocinam quanto aprendem. O que começou, nas palavras de Boole, como uma investigação “sobre a natureza e constituição da mente humana” pode resultar na criação de novas mentes—mentes artificiais—que talvez um dia igualem ou até superem as nossas.

Leave a comment

Your email address will not be published. Required fields are marked *