Loading AI tools
Da Wikipédia, a enciclopédia livre
A máquina analítica, também conhecido como engenho analítico foi proposto pelo professor de matemática e pioneiro da ciência da computação Charles Babbage. A maquina foi descrita pela primeira vez em 1837, como a sucessora da Maquina Diferencial (um design para um computador mecânico mais simples).[1]
A maquina analítica incorporava uma unidade lógica aritmética, fluxo de controle na forma de ramificações condicionais, loops e memória integrada, tornando-o o primeiro projeto para um computador de uso geral que poderia ser descrito em termos modernos como Turing-completo.[2]
Em outras palavras, a estrutura lógica da Maquina analítica era essencialmente a mesma que dominou o design de computadores na era eletrônica.[3] A Maquina analítica é uma das realizações mais bem sucedidas de Charles Babbage.
Babbage nunca foi capaz de concluir a construção de nenhuma de suas máquinas devido a conflitos com seu engenheiro-chefe e financiamento inadequado.[4] Não foi até o final da década de 1940 que os primeiros computadores de uso geral foram realmente construídos, mais de um século depois de Babbage ter proposto o pioneiro mecanismo analítico em 1837.[3]
A primeira tentativa de Babbage em um dispositivo de computação mecânica, a Máquina de Diferenças, era uma máquina de propósito especial projetada para tabular logaritmos e funções trigonométricas avaliando diferenças finitas para criar polinômios aproximados. A construção dessa máquina nunca foi concluída; Babbage teve conflitos com seu engenheiro-chefe, Joseph Clement, e, em última instância, o governo britânico retirou seu financiamento para o projeto.
Durante esse projeto, Babbage percebeu que um design muito mais geral, a máquina analítica, era possível. O trabalho no design da máquina analítica começou por volta de 1833.[5][6]
A entrada, consistindo de programas ("fórmulas") e dados, seria fornecida à máquina por meio de cartões perfurados, um método utilizado na época para direcionar teares mecânicos, como o tear Jacquard. Para saída, a máquina teria uma impressora, um traçador de curvas e um sino. A máquina também seria capaz de perfurar números em cartões para leitura posterior. Ela empregava aritmética com ponto fixo de base 10.
Haveria uma memória capaz de armazenar 1.000 números de 50 dígitos decimais cada (aproximadamente 16,6 kB). Uma unidade aritmética (o "moinho") seria capaz de realizar todas as quatro operações aritméticas, além de comparações e, opcionalmente, raízes quadradas. Inicialmente (1838), ela foi concebida como uma máquina de diferenças curvada sobre si mesma, em um layout geralmente circular, com a longa memória saindo de um lado. Desenhos posteriores (1858) mostram um layout de grade regular. Assim como a unidade central de processamento (CPU) em um computador moderno, o moinho dependeria de seus próprios procedimentos internos, a serem armazenados na forma de pinos inseridos em tambores rotativos chamados "tambores", para executar algumas das instruções mais complexas especificadas pelo programa do usuário.[7]
A linguagem de programação a ser usada pelos usuários era semelhante à linguagens assembly modernas. Loops e ramificações condicionais eram possíveis, e assim, a linguagem concebida teria sido Turing-completa, conforme definido posteriormente por Alan Turing. Três tipos diferentes de cartões perfurados foram usados: um para operações aritméticas, um para constantes numéricas e outro para operações de carga e armazenamento, transferindo números da memória para a unidade aritmética ou vice-versa. Havia três leitores separados para os três tipos de cartões. Babbage desenvolveu cerca de duas dezenas de programas para a máquina analítica entre 1837 e 1840, e um programa posteriormente. Esses programas tratavam de polinômios, fórmulas iterativas, eliminação gaussiana e números de Bernoulli.
Em 1842, o matemático italiano Luigi Federico Menabrea publicou uma descrição da máquina em francês, baseada em palestras que Babbage deu quando visitou Turim em 1840.[8] Em 1843, a descrição foi traduzida para o inglês e extensivamente anotada por Ada Lovelace, que havia se interessado pela máquina oito anos antes. Em reconhecimento às suas adições ao artigo de Menabrea, que incluíam uma maneira de calcular os números de Bernoulli usando a máquina (considerado amplamente o primeiro programa de computador completo), ela foi descrita como a primeira programadora de computadores.
No final de sua vida, Babbage procurou maneiras de construir uma versão simplificada da máquina e montou uma pequena parte dela antes de sua morte em 1871.Monthly Notices of the Royal Astronomical Society (em inglês). [S.l.]: Priestley and Weale. 1910. p. 517</ref>
Em 1878, um comitê da British Association for the Advancement of Science descreveu a máquina analítica como "uma maravilha de engenhosidade mecânica", mas recomendou contra sua construção. O comitê reconheceu a utilidade e o valor da máquina, mas não pôde estimar o custo de construí-la e tinha dúvidas sobre se a máquina funcionaria corretamente após ser construída.[9][10]
Intermitentemente de 1880 a 1910,[11] o filho de Babbage, Henry Prevost Babbage, estava construindo uma parte do moinho e do aparato de impressão. Em 1910, ela foi capaz de calcular uma lista (com falhas) de múltiplos de pi.[12] Isso constituía apenas uma pequena parte da máquina; ela não era programável e não tinha armazenamento. (Imagens populares dessa seção às vezes foram rotuladas erroneamente, dando a entender que era todo o moinho ou mesmo toda a máquina.) O "moinho da máquina analítica" de Henry Babbage está em exibição no Science Museum em Londres. Henry também propôs a construção de uma versão de demonstração da máquina completa, com uma capacidade de armazenamento menor: "talvez para uma primeira máquina, dez (colunas) seriam suficientes, com quinze rodas em cada uma".[13] Essa versão poderia manipular 20 números de 25 dígitos cada, e o que poderia ser feito com esses números ainda seria impressionante. "É apenas uma questão de cartões e tempo", escreveu Henry Babbage em 1888, "... e não há motivo para não usar (vinte mil) cartões, se necessário, em uma máquina analítica para os fins do matemático".
Em 1991, o Museu da Ciência de Londres construiu um exemplar completo e funcional da Máquina de Diferenças No. 2 de Babbage, um design que incorporava refinamentos descobertos durante o desenvolvimento da máquina analítica. Esta máquina foi construída usando materiais e tolerâncias de engenharia que estariam disponíveis para Babbage, afastando a sugestão de que os projetos de Babbage não poderiam ter sido produzidos usando a tecnologia de fabricação de sua época.[14]
Em outubro de 2010, John Graham-Cumming iniciou a campanha "Plano 28" para arrecadar fundos por "assinatura pública" para possibilitar o estudo histórico e acadêmico sério dos planos de Babbage, com o objetivo de posteriormente construir e testar um design virtual totalmente funcional, que por sua vez permitiria a construção da máquina analítica física.[15][16][17] Até maio de 2016, a construção real não havia sido tentada, uma vez que não se conseguia obter uma compreensão consistente dos desenhos originais de Babbage. Em particular, não estava claro se ela poderia lidar com as variáveis indexadas necessárias para o programa de Bernoulli de Lovelace.[18] Em 2017, o esforço "Plano 28" relatou que um banco de dados pesquisável de todo o material catalogado estava disponível, e uma revisão inicial dos volumosos Livros de Rascunhos de Babbage havia sido concluída.[19]
Muitos dos desenhos originais de Babbage foram digitalizados e estão disponíveis online.[20]
Não se sabe se Babbage chegou a registrar um conjunto explícito de instruções para a máquina da maneira de um manual de processador moderno. Em vez disso, ele mostrou seus programas como listas de estados durante sua execução, mostrando qual operador era executado em cada etapa com pouca indicação de como o fluxo de controle seria guiado.
Allan G. Bromley assumiu que o baralho de cartas poderia ser lido nas direções para frente e para trás como uma função de ramificações condicionais após testar condições, o que tornaria a máquina Turing-completa:
...os cartões poderiam ser ordenados para se mover para a frente e para trás (e, portanto, fazer loops)...
A introdução pela primeira vez, em 1845, de operações do usuário para uma variedade de funções de serviço, incluindo, mais importante, um sistema eficaz para o controle do usuário sobre o looping nos programas do usuário. Não há indicação de como a direção de virada dos cartões de operação e variáveis é especificada. Na ausência de outras evidências, tive que adotar a mínima suposição padrão de que tanto os cartões de operação quanto os de variáveis só podem ser virados para trás, conforme necessário para implementar os loops usados nos programas de amostra de Babbage. Não haveria dificuldade mecânica ou de microprogramação em colocar a direção do movimento sob o controle do usuário.
Em seu emulador da máquina, o Fourmilab diz:
O Leitor de Cartões da Máquina não é restrito a simplesmente processar os cartões em uma cadeia, um após o outro, do início ao fim. Ele pode, além disso, ser direcionado pelos próprios cartões que lê e aconselhado se a alavanca de inicialização do Moinho estiver ativada, avançar a cadeia de cartões para frente, pulando os cartões intermediários, ou para trás, fazendo com que os cartões previamente lidos sejam processados novamente.
Este emulador fornece um conjunto de instruções simbólicas escrito, embora tenha sido construído pelos seus autores em vez de ser baseado nos trabalhos originais de Babbage. Por exemplo, um programa fatorial seria escrito como:
N0 6 N1 1 N2 1 × L1 L0 S1 – L0 L2 S0 L2 L0 CB?11
onde o CB é a instrução de ramificação condicional ou "cartão de combinação" usado para fazer o fluxo de controle pular, neste caso, para trás por 11 cartões.
Babbage entendia que a existência de um computador automático despertaria interesse no campo agora conhecido como eficiência algorítmica, escrevendo em suas Passagens da Vida de um Filósofo: "Assim que uma máquina analítica existir, ela necessariamente guiará o curso futuro da ciência. Sempre que algum resultado for buscado por sua ajuda, surgirá então a pergunta - Por qual curso de cálculos esses resultados podem ser obtidos pela máquina no menor tempo possível?"
A partir de 1872, Henry continuou diligentemente com o trabalho de seu pai e, posteriormente, intermitentemente na aposentadoria em 1875.[21]
Percy Ludgate escreveu sobre a máquina em 1914[22] e publicou seu próprio design de motor analítico em 1909.[23][24] Foi detalhadamente elaborado, mas nunca foi construído, e os desenhos nunca foram encontrados. A máquina de Ludgate seria muito menor (cerca de 8 pés cúbicos (230 L), correspondendo ao cubo com lado de 2 pés (61 cm)) do que a de Babbage e, hipoteticamente, seria capaz de multiplicar dois números de 20 dígitos decimais em cerca de seis segundos.
Em seu trabalho "Ensaios sobre Automática" (1914), Leonardo Torres Quevedo, inspirado por Babbage, projetou uma máquina teórica de cálculo eletromecânica que seria controlada por um programa somente de leitura. O artigo também contém a ideia de aritmética de ponto flutuante.[25][26][27] Em 1920, para celebrar o 100º aniversário da invenção do aritmômetro, Torres apresentou em Paris o Aritmômetro Eletromecânico, que consistia em uma unidade aritmética conectada a uma máquina de escrever (possivelmente remota), na qual comandos poderiam ser digitados e os resultados impressos automaticamente.[28][29]
O artigo de Vannevar Bush, "Análise Instrumental" (1936), incluiu várias referências ao trabalho de Babbage. No mesmo ano, ele iniciou o projeto da Máquina Aritmética Rápida para investigar os problemas da construção de um computador digital eletrônico.[30]
Apesar desse trabalho preliminar, o trabalho de Babbage caiu no esquecimento histórico, e a máquina analítica era desconhecida pelos construtores de máquinas de computação eletromecânicas e eletrônicas nas décadas de 1930 e 1940, quando começaram seus trabalhos, resultando na necessidade de reinventar muitas das inovações arquitetônicas propostas por Babbage. Howard Aiken, que construiu a calculadora eletromecânica rapidamente obsoleta, a Harvard Mark I, entre 1937 e 1945, elogiou o trabalho de Babbage provavelmente como uma maneira de melhorar sua própria estatura, mas nada sabia sobre a arquitetura da máquina analítica durante a construção da Mark I, e considerou sua visita à parte construída da máquina analítica como "a maior decepção da minha vida". A Mark I não mostrou influência da máquina analítica e carecia da característica arquitetônica mais perspicaz da máquina analítica, a ramificação condicional. J. Presper Eckert e John W. Mauchly também não estavam cientes dos detalhes do trabalho da máquina analítica de Babbage antes da conclusão de seu projeto para o primeiro computador eletrônico de propósito geral, o ENIAC.[31][32]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.