[go: up one dir, main page]
More Web Proxy on the site http://driver.im/Saltar para o conteúdo

Máquina analítica

Origem: Wikipédia, a enciclopédia livre.
Parte da Maquina analítica proposta por Babbage, Museu de Londres

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]

Dois tipos de cartões perfurados foram usados para programar a máquina. Primeiro plano: "cartões operacionais", para inserção de instruções; plano de fundo: "cartões variáveis", para inserção de dados

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]

Moinho da máquina analítica de Henry Babbage, construído em 1910, no Museu da Ciência (Londres)

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]

Conjunto de Instruções

[editar | editar código-fonte]

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.

Influência Prevista

[editar | editar código-fonte]

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?"

Ciência da Computação

[editar | editar código-fonte]

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]

[editar | editar código-fonte]
  • "Moriarty by Modem", uma história curta de Jack Nimersheim, descreve uma história alternativa em que a máquina analítica de Babbage foi de fato concluída e foi considerada altamente classificada pelo governo britânico. Os personagens de Sherlock Holmes e Moriarty haviam sido na realidade um conjunto de programas protótipo escritos para a máquina analítica. Esta história curta acompanha Holmes enquanto seu programa é implementado em computadores modernos e ele é forçado a competir contra seu arqui-inimigo mais uma vez nas contrapartes modernas da máquina analítica de Babbage.[33]
  • Uma configuração semelhante é usada por Sydney Padua na webcomic "As Empolgantes Aventuras de Lovelace e Babbage".[34][35] Ela apresenta uma história alternativa onde Ada Lovelace e Babbage construíram a máquina analítica e a usam para combater o crime a pedido da Rainha Vitória.[36] A história em quadrinhos é baseada em uma pesquisa detalhada sobre as biografias e correspondências de Babbage e Lovelace, que são então distorcidas para efeito humorístico.
  • O projeto online Orion's Arm apresenta a Machina Babbagenseii, computadores mecânicos inspirados em Babbage totalmente conscientes. Cada um tem o tamanho de um grande asteroide, sendo capaz de sobreviver apenas em condições de microgravidade, e processa dados a 0,5% da velocidade de um cérebro humano.[37]
  • Charles Babbage e Ada Lovelace apareceram em um episódio de Doctor Who, S12 E2 "Spyfall Parte 2", onde a máquina pode ser vista exibida e referenciada.Referências
  1. Bromley, Allan G. (Setembro de 1982). «Charles Babbage's Analytical Engine, 1838» (PDF). Charles Babbage’s Analytical Engine, 1838. Consultado em 30 de Maio de 2019 
  2. «Let's build Babbage's ultimate mechanical computer». New Scientist. Consultado em 30 de Maio de 2019 
  3. a b «The Engines». Consultado em 30 de Maio de 2019 
  4. Weber, Alan S. (2000). Nineteenth century science : a selection of original texts. Peterborough, Ont.: Broadview Press. ISBN 1551111659. OCLC 40982548 
  5. Collier 1970, p. chapter 3.
  6. Bromley 1982, p. 196.
  7. «The Babbage Pages: Calculating Engines». Projects.ex.ac.uk. 8 de janeiro de 1997. Consultado em 1 de agosto de 2012 
  8. Menabrea, Mr. L.-F. (1842). «Notions sur la machine analytique de M. Charles Babbage». Bibliothèque universelle de Genève. 41: 352–376 – via Bibnum 
  9. Report of the Forty-Eighth Meeting of the British Association for the Advancement of Science (Relatório). London: John Murray. 1879. pp. 92–102. Consultado em 20 de dezembro de 2015 
  10. «The Analytical Engine (Report 1879)». Fourmilab.ch. Consultado em 20 de dezembro de 2015 
  11. Britain), Institute of Actuaries (Great (1950). Proceedings of the centenary assembly of the Institute of Actuaries (em inglês). [S.l.]: Printed for the Institute of Actuaries at the University Press. 178 páginas 
  12. Randell, Brian (21 de dezembro de 2013). «2.3. Babbage's Analytical Engine. H. P. Babbage (1910)». The Origins of Digital Computers: Selected Papers (em inglês). [S.l.]: Springer. ISBN 9783642618123 
  13. «The Analytical Engine (Henry P. Babbage 1888)». Fourmilab.ch. Consultado em 1 de agosto de 2012 
  14. «A Modern Sequel — The Babbage Engine». Computer History Museum. Consultado em 1 de agosto de 2012 
  15. «Campaign builds to construct Babbage Analytical Engine». BBC News. 14 de outubro de 2010 
  16. «Building Charles Babbage's Analytical Engine». Plan 28. 27 de julho de 2009. Consultado em 1 de agosto de 2012 
  17. Markoff, John (7 de novembro de 2011). «It Started Digital Wheels Turning». The New York Times (em inglês). ISSN 0362-4331. Consultado em 10 de junho de 2021. Cópia arquivada em 1 de janeiro de 2022  Verifique o valor de |url-access=limited (ajuda)
  18. «Spring 2016 report to the Computer Conservation Society». Plan 28. Consultado em 29 de outubro de 2016 
  19. «Spring 2017 report to the Computer Conservation Society». blog.plan28.org. Consultado em 13 de junho de 2017 
  20. «The Babbage Papers». Science Museum Group. 1821–1905. Cópia arquivada em 13 de abril de 2020 
  21. «The Babbage Engine – Key People – Henry Provost Babbage». Computer History Museum. Consultado em 8 de fevereiro de 2011. Cópia arquivada em 20 de fevereiro de 2011 
  22. Horsburg, E. M. (Ellice Martin); Napier Tercentenary Exhibition (1914). «Automatic Calculating Machines by P. E. Ludgate». Modern instruments and methods of calculation : a handbook of the Napier Tercentenary Exhibition. Gerstein – University of Toronto. [S.l.]: London : G. Bell. pp. 124–127 
  23. Ludgate, Percy E. (abril de 1909). «On a proposed analytical machine». Scientific Proceedings of the Royal Dublin Society. 12 (9): 77–91  Available on-line at: Fano.co.UK Arquivado em 7 agosto 2019 no Wayback Machine
  24. «The John Gabriel Byrne Computer Science Collection» (PDF). Consultado em 8 de agosto de 2019. Arquivado do original (PDF) em 16 de abril de 2019 
  25. L. Torres Quevedo. Ensayos sobre Automática – Su definicion. Extension teórica de sus aplicaciones, Revista de la Academia de Ciencias Exacta, Revista 12, pp. 391–418, 1914.
  26. Torres Quevedo, Leonardo. Automática: Complemento de la Teoría de las Máquinas, (pdf), pp. 575–583, Revista de Obras Públicas, 19 November 1914.
  27. Torres Quevedo. L. (1915). "Essais sur l'Automatique – Sa définition. Etendue théorique de ses applications", Revue Génerale des Sciences Pures et Appliquées, vol. 2, pp. 601–611.
  28. Randell 1982, p. 6, 11–13.
  29. Bromley 1990.
  30. «Percy Ludgate's Analytical Machine». fano.co.uk. From Analytical Engine to Electronic Digital Computer: The Contributions of Ludgate, Torres, and Bush by Brian Randell, 1982, Ludgate: pp. 4–5, Quevedo: pp. 6, 11–13, Bush: pp. 13, 16–17. Consultado em 29 de outubro de 2018 
  31. «J. Presper Eckert Interview 28 October 1977». Consultado em 9 de fevereiro de 2011. Arquivado do original em 24 de julho de 2010 
  32. «Computer Oral History Collection, 1969–1973, 1977» (PDF). Consultado em 9 de fevereiro de 2011. Arquivado do original (PDF) em 11 de novembro de 2010 
  33. Nimersheim, Jack (1995). «Moriarty by Modem». Sherlock Holmes in Orbit. [S.l.]: DAW Books. pp. 287–302. ISBN 9780886776367. Consultado em 11 de novembro de 2023. Cópia arquivada em 20 de junho de 2003 
  34. «Dangerous experiments in comics». 2D Goggles. Consultado em 1 de agosto de 2012 
  35. «Experiments in Comics with Sydney Padua». Tor.com. 26 de outubro de 2009. Consultado em 1 de agosto de 2012 
  36. «The Client | 2D Goggles». Sydneypadua.com. Consultado em 1 de agosto de 2012 
  37. «Machina Babbagenseii». Orion's Arm. 2014. Consultado em 7 de maio de 2016 

Ligações externas

[editar | editar código-fonte]
Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.