pi_máquina diferencial de babbage

Upload: lascarmo

Post on 02-Mar-2016

186 views

Category:

Documents


0 download

TRANSCRIPT

INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIADO TRINGULO MINEIRO CAMPUS UBERLNDIA CENTROCURSO SUPERIOR DE LICENCIATURA EM COMPUTAO

Jean Pereira de SLouise CarmoMagno de Oliveira Paz

Trabalho InterdisciplinarCharles Babbage e a maquina diferencial

UBERLNDIA, MG2013

1

Trabalho InterdisciplinarCharles Babbage e a maquina diferencial

Trabalho interdisciplinar das disciplinas.Introduo informtica, Matemtica Discreta e Lgica de Programao.Prof. Fabio HenriqueProf. Dr. Andr LemosProf. Eliane Borela

UBERLNDIA, MG2013

Sumrio

Conhecendo Charles Babbage3Trabalhos publicados ao longo de sua carreira como matemtico e cientista:5Babbage e suas maquinas de computar ou calcular6A mquina Diferencial6Componentes e Funcionamento7E a Maquina diferencial de Babbage finalmente funciona!8A Mquina Analtica10Componentes e Funcionamento11Um paralelo entre as maquinas de Babbage e os processadores atuais12Explique o princpio matemtico de funcionamento da maquina diferencial de Charles Babbage.13Desenvolver um programa que realize o funcionamento da maquina diferencial de Babbage em linguagem C++16Referncias Bibliogrficas20

Conhecendo Charles Babbage

Para entender o que levou Babbage a se dedicar integralmente at o resto de sua vida as suas maquinas (diferencial e analtica), necessrio conhecer um pouco mais da histria deste homem.Charles Babbage nasceu em Londres, em 26 de setembro de 1791, Era filho de Benjamim Babbage, um banqueiro, o que influenciou seu interesse por clculos e nmeros, e consequentemente pelo desenvolvimento de maquinas de computar. Essas mquinas seriam as percursoras das maquinas de calcular. Sempre foi um aluno autodidata de lgebra, e quando entrou no Trinity College, em Cambridge, no ano de 1811, percebeu que sabia mais sobre matemtica do que seu tutor, ento resolveu fundar a Analytical Society visando promover a matemtica. Tambm reformulou a matemtica de Newton, e ensinou na universidade, trabalhou como matemtico especializado no calculo de funes.Por volta de 1816, foi eleito Fellow of the Royal Society, e em 1820, foi um membro proeminente na fundao da Astronomical Society ( posteriormente renomeada de Royal Astronomical Society). Foi nesta poca que Babbage comeou a interessar-se pelas maquinas de calcular. No ano seguinte inventou a Maquina Diferencial que compilava tabelas matemticas, que s foi concluda em 1832, quando teve a ideia de desenvolver uma maquina melhor, que no realizaria apenas clculos matemticos, mas qualquer tipo de calculo. Dessa ideia, surgiu a Maquina Analtica, em 1856, que tinha muitas das caractersticas de funcionamento dos computadores atuais, e na poca foi considerado um manipulador de smbolos.Apesar de toda a sua dedicao, o nvel de tecnologia necessria para a construo da mquina era muito superior ao que havia disponvel na poca, e mesmo tendo o reconhecimento de vrias instituies cientificas de renome, o governo britnico acabou por suspender o subsidio para sua maquina diferencial em 1832. Sem os recursos financeiros necessrios para a manuteno do projeto, este agonizou por alguns anos, mas finalmente foi encerrado em 1842.No perodo de 1828 1839, Babbage ocupou a The Lucasian Chair of Mathematics, em Cambridge. A Ctedra Lucasian de Matemtica (The Lucasian Professorship of Mathematics) a mais famosa cadeira no meio acadmico do mundo, principalmente devido em grande parte aos antigos titulares da cadeira, o professor Stephen Hawking, que um famoso fsico, e Sir Isaac Newton, que foi o segundo titular da cadeira. Nessa cadeira j estiveram vrios homens que tiveram grandes influencias sobre as mentes do mundo todo, atravs de seu conhecimento e feitos na cincia e tecnologia [footnoteRef:1] [1: Bruen, Robert]

Babbage alm de ser uma importante figura na histria da computao com suas maquinas diferencial e analtica, tambm foi um polmata (aquele que tem conhecimento profundo de vrias cincias) que atuou em muitas reas da matemtica e fora dela. Sua atuao estendeu-se a criptoanalise, probabilidades, cincias atuarias, astronomia, economia e religio entre outras. Aps dez anos, Babbage saiu da Ctedra para dedicar-se integralmente a desenvolver pessoalmente suas maquinas. Mas apesar de todo o seu esforo, no teve sucesso na construo de suas maquinas, e grande parte desse fracasso deveu-se ao fato do governo no ter conseguido dar suporte ao seu trabalho. Em 1933, Babbage conheceu a aristocrata Ada Lovelace[footnoteRef:2], que ficou fascinada pelas suas maquinas. Com isso, Ada tornou-se uma competente estudante de matemtica, o que era incomum para uma mulher na poca. Ela traduziu artigos sobre as maquinas de Babbage para o primeiro ministro da Itlia, e sob a superviso atenta de Babbage, adicionou longas notas, o que constituem a melhor descrio contempornea das maquinas, das ideias de Babbage a respeito da sua capacidade de funcionamento. [2: http://projects.exeter.ac.uk/babbage/ada.html]

Ada pode ser considerada a primeira programadora do mundo, sendo uma das primeiras assistentes, logo aps os trs filhos de Babbage. Ela refez alguns clculos que Babbage havia realizado anos antes, que para Ada eram exerccios de estudante. O fracasso de sua empreitada fez com que no final de sua carreira, j em declnio, Babbage tornou-se um homem amargurado e desapontado. Ele faleceu em casa, na cidade de Londres, em 18 de outubro de 1871.Aps sua morte, seu filho, Henry Prevost Babbage deu continuidade ao seu projeto da maquina analtica, que no foi finalizada, e apenas rodava alguns programas com erros embaraosamente bvios.Charles Babbage foi um individuo extraordinrio que Infelizmente, no foi reconhecido na sua poca.Trabalhos publicados ao longo de sua carreira como matemtico e cientista: A Comparative View of the Various Institutions for the Assurance of Lives(1826) Table of Logarithms of the Natural Numbers from 1 to 108, 000(1827) Reflections on the Decline of Science in England(1830) On the Economy of Machinery and Manufactures(1832) Ninth Bridgewater Treatise(1837) Passages from the Life of a Philosopher(1864)

Babbage e suas maquinas de computar ou calcular

Em 1823, Babbage, que j havia inventado uma maquina que calculava e imprimia tabelas por meio de diferenas, e comprometeu-se com o Governo, para supervisionar a construo desta maquina. Durante o tempo em que o governo subsidiou a construo da maquina diferencial, foram gastos de 17.000.Uma parte considervel desse montante foram adiantamentos para o pagamento dos trabalhadores, e Babbage reembolsou ao governo. Babbage no recebeu nenhum xelim por sua inveno ou servio. No inicio de 1833 a construo foi suspensa, devido a insatisfao dos trabalhadores, e durante os doze meses em que esteve aguardando regularizar a situao, Babbage descobriu um princpio de uma ordem inteiramente nova, uma maquina com uma capacidade quase ilimitada de realizar as operaes aritmticas mais complicadas, surge assim, a ideia da maquina analtica.A mquina DiferencialDiversos inventores no sculo XIX estavam frustrados com os constantes erros encontrados nas tabelas de clculos matemticos realizados manualmente, e tentavam construir maquinas que fizessem esse trabalho corretamente. Mas Babbage foi um visionrio, e por no ter uma tecnologia a altura do seu invento ( a maquina diferencial), foi ridicularizado por aqueles que acreditavam ser uma tarefa impossvel, o que infelizmente se mostrou uma realidade na poca. Babbage no viveu para presenciar o amplo uso de sua impressora na navegao, engenharia, bancos e seguradoras.

Maquina Diferencial n1, Xilogravura de 1853

A gravura acima retrata uma parte da maquina diferencial n1 construda em 1833, e atualmente exposta no Museu de Cincias de Londres. Na legenda original l-se: Impresso de uma xilogravura de uma pequena parte da Maquina Diferencial n1 do Sr Babbage, de propriedade do governo, atualmente depositado no Museu em South Kensington. Foi iniciada em 1823, essa parte foi colocada em 1833. A construo foi abandonada em 1842. Essa placa foi impressa em junho de 1853. Essa parte foi a exposio de 1862..Infelizmente restam poucas partes dos prottipos das maquinas de computao de Babbage, mas anos depois do fim de seu projeto, o sueco George Scheutz teve sucesso na construo de uma maquina impressora baseando-se nos projetos da Mquina Diferencial de Babbage de 1854. Essa maquina imprimia tabelas astronmicas, e atuariais matemticos com uma preciso sem precedentes, e foi usado pelos governos britnico e norte-americano.

Componentes e Funcionamento

A mquina diferencial foi construda a partir de trs colunas mecnicas, duas colunas de soma e uma coluna de transporte. Cada somador construdo a partir de uma parte traseira, dois somadores empilhados, e a parte de cima. Ambas as colunas so mecanicamente idnticas a do somador. A coluna de transporte semelhante em estrutura a uma coluna adicionadora, sendo composta da parte inferior por uma unidade de reteno, uma unidade completa de transporte e uma unidade superior.As unidades de transporte so essencialmente um adicionador simples, para suportar apenas a funo de transporte de entrada, permitindo assim, que a coluna de transporte seja mais estreita que a do somador. As colunas so ligadas umas as outras com onze pinos de conexo rpida, alm deles, as nicas ligaes entre colunas adjacentes a engrenagem de transporte de sada de uma coluna a direita da engrenagem de transporte de entrada de uma coluna a esquerda e uma parte de elo da cadeia. Quando os pinos so retirados, cada coluna separa facilmente a partir da coluna adjacente.Cada unidade em uma coluna repousa firmemente na unidade abaixo e mantida no lugar com quatro pinos de conexo rpida. Os pinos no so para carregar o rolamento enquanto a mquina est funcionando, mas so fortes o suficiente para manter as unidades conectadas, enquanto a mquina levanta a parte de cima para o transporte. Excetuando-se os pinos de conexo rpida, a nica ligao entre unidades empilhadas o acoplamento da unidade e eixos de dgitos atravs de acopladores baseados em pinos que facilmente se elevam separados. Quando os pinos so retirados, cada unidade desconecta da unidade de baixo quando levantada.As colunas devem ser separadas umas das outras, antes de poderem ser divididas em unidades bsicas. A Maquina diferencial pode ser dividida em unidades bsicas, que podem ser reagrupadas em colunas. Documento de Babbage sobre os principios tericosda maquina para calcular tabelas

E a Maquina diferencial de Babbage finalmente funciona![footnoteRef:3] [3: Babbage printer finally runs. Disponvel em : http://news.bbc.co.uk/2/hi/science/nature/710950.stm ]

O site da BBC, em 13 de abril de 2000, noticiava que finalmente a parte final da maquina diferencial de Babbage, projetada 150 anos antes havia sido finalmente construda, e estaria em uma exposio no Museu da Cincia em Londres. A retomada da construo iniciou-se em 1991, quando uma equipe de engenheiros utilizou os desenhos originais para construir um dispositivo de trs toneladas e 4.000 peas que funciona perfeitamente e foi batizado de maquina diferencial n2. Nove anos depois, construram a impressora, que pesa cerca de 2,5 toneladas e est em fase de testes finais.

A impressora tambm composta de 4.000 partes, imprime automaticamente os resultados de um calculo e pode ser programada pelo utilizador para apresentar a informao de formas diferentes. Esses resultados podem ser impressos em uma folha de papel ou em chapas para utilizao em uma prensa de impresso convencional.

Engenheiros trabalhando na maquina diferencial n2

A maquina diferencial n 2 foi finalizada em 1991

A Mquina Analtica

Esta inveno de Babbage foi considerada um dos mais curiosos e importante inventos dos tempos modernos: se consideramos o engenho e habilidade exibida no arranjo das partes, ou a grande utilidade e importncia dos resultados. Seu efeito provvel sobre os ramos particulares da cincia, s pode ser comparado com essas melhorias rpidas se seguiram com o surgimento da mquina a vapor.A mquina analtica, consistia na formao e impresso de tabelas matemticas de todos os tipos, totalmente livre de erro em cada cpia individual: Os cientistas da poca no conseguiam ter uma ideia correta da forma e do arranjo da mquina, ou do seu modo de operao, apesar de ser extremamente simples na sua construo, e executaria todas as suas operaes com o auxlio de uma energia mecnica muito insignificante. Seu plano pode ser dividido em duas partes, a mecnica e a matemtica.A mquina idealizada por Babbage foi construda em 1842 e colocada em operao, juntamente com seus desenhos em uma exposio no Museu da Cincia em Londres.

Componentes e Funcionamento

Charles Babbage teve a inspirao para sua nova maquina ao observar o projeto de Joseph-Marie Jacquard, que revolucionou o trabalho manual com sua maquina de tear, que automatizava o processo de tecelagem para obter vrios padres de desenhos.

De acordo com FONSECA FILHO (2010), A maquina analtica poderia realizar conjuntos mutveis de instrues, e portanto, servir a diferentes funes mais tarde isso ser chamado de software... Ele (Babbage) percebeu que para criar estas instrues precisaria de um tipo inteiramente novo de linguagem e a imaginou como nmeros, flechas e outros smbolos. Ela serviria para Babbage programar a maquina analtica, com uma longa srie de instrues condicionais, que lhe permitiriam modificar suas aes em resposta a diferentes situaes.[footnoteRef:4] [4: Fonseca Filho, Cluzio]

Para realizar a funo de impressora, Babbage teve que colocar dispositivos de entrada e sada de dados. A entrada era feita atravs de trs tipos de cartes: cartes de nmeros, diretivos e de operao. Esses cartes tinham como funo respectivamente, o input de constantes de um problema, controles para o movimento dos nmeros e para a execuo das operaes.

As duas inovaes de maior impacto na maquina diferencial eram, primeiramente o conceito de transferncia de controle que permitia maquina comparar quantidades e, dependendo dos resultados da comparao, desviar para outra instruo ou sequencia de instrues. E a outra inovao consistia em possibilitar que os resultados dos clculos pudessem alterar outros nmeros e instrues colocadas na maquina, permitindo que o computador modificasse seu prprio programa..[footnoteRef:5] [5: Idem]

.

Um paralelo entre as maquinas de Babbage e os processadores atuais

A maquina diferencial considerada um computador primitivo e a maquina analtica a precursora dos conceitos de armazenamento e desenvolvimento de software. Apesar de que as ideias para armazenamento de informaes ficaram somente nos planos megalomanacos de Babbage, esse conceito bem prximo aos computadores atuais. O sistema de cartes foi vital para o desenvolvimento dos computadores eletrnicos aps a segunda guerra mundial, quando se construram maquinas que ocupavam uma sala. A estrutura da maquina diferencial foi a base das maquinas de calcular por muito tempo, e depois os conceitos foram incorporados no processamento das operaes pelos computadores. Babbage era um homem muito a frente de seu tempo, por isso teve problemas em finalizar suas obras, j que a maioria das peas e tecnologia s foram realmente desenvolvidas sculos depois.A sua maquina analtica amais complexa, e que teve maior influncia na criao dos computadores modernos, visto que o software uma das partes importantes do computador. Outros matemticos, como Alan Turing e Von Neuman, utilizaram muitos conceitos dos estudos de Babbage como base para o seu trabalho, o desenvolvimento de maquinas computacionais, como o The Bomb e o ENIAC.A cincia da computao deve muito de seu progresso a Charles Babbage, um visionrio, mal compreendido em sua poca.

Explique o princpio matemtico de funcionamento da maquina diferencial de Charles Babbage.

Mtodo de Newton de diferenas

O clculo utilizado em todos os ramos das cincias fsicas, na cincia da computao, estatstica, engenharia, economia e todas as reas que o problema possa ser modelado matematicamente e uma soluo tima desejada.O exemplo mais evidente deste clculo 2 lei de Newton que usa a expresso taxa de variao que se refere a derivao do movimento de um corpo igual a fora resultante que age sobre ele na mesma direo.

Mtodo das Diferenas:Temos que conceituar as diferenas como sendo um f(x) de uma funo calculada com dois valores atribudos varivel x.Expresso da frmula:

f(x) = f(x1) - f(x2)

O clculo diferencial consiste em reduzir gradualmente os valores de x1 e x2 por uma pequena parte df(x). Assim, o diferencial uma pequena parte infinitesimal f(x) que vai gerar um mtodo de integrao de diferenas.

A verificao do clculo atravs de um polinmio do segundo grau.

P(x) = 2x2 3x + 2P(x) = 2x2 3x + 2

Assumindo a seguir os valores para x:

,,,

Para P(0) temos:

P(0) = 2(02 ) (3*0) + 2P(0) = 2

Assim comeamos o valor para o prximo valor P(0,1).

Para P(0,1) temos:P(0,1) = 2(0,12 ) (3*0,1) + 2P(0,1) = 2(0,01) 0,3 + 2P(0,1) = 0,2 + 1,70P(0,1) = 1,72

Para P(0,2) temos:P(0,2) = 2(0,22 ) (3*0,2) + 2P(0,2) = 2(0,04) 0,6 + 2P(0,2) = 0,08 + 1,40P(0,2) = 1,48

Para P(0,3) temos:P(0,3) = 2(0,32 ) (3*0,3) + 2P(0,3) = 2(0,09) 0,9 + 2P(0,3) = 0, + 1,70P(0,1) = 1,72

Para P(0,4) temos:P(0,4) = 2(0,42 ) (3*0,4) + 2P(0,4) = 2(0,16) 1,2 + 2P(0,4) = 0,32 + 0,8P(0,4) = 1,12P(0)= 2 1,72 = 0,28P(0,1)=1,72 1,48 = 0,24P(0,2)=1,48 1,28 = 0,20P(0,3)=1,28 1,12 = 0,16

Agora, se pegarmos o valor da diferena entre os dois primeiros valores, teremos uma segunda coluna de resultados formados por esta diferena:

O ponto importante a ser observado que existe uma coluna que apresentar valores constantes para a srie. Assim, podemos afirmar que o valor do grau n do polinmio + 1, ter na coluna ( n+1) o valor constante da srie como ilustrado abaixo:

A coluna PROVA foi gerada a partir da soma dos valores da coluna 2 com os valores da coluna 1.

Desenvolver um programa que realize o funcionamento da maquina diferencial de Babbage em linguagem C++

#include #include #include int main(){ int grau, x, contador1, contador2, soma, coeficientes[256], resultados[256], par[256], impar[256];printf("--------------------------------------------------------------\n");printf("Programa que calcula polinomios usando o metodo das diferencas\n");printf("Simulacao da Maquina Diferencial de Babbage\n");printf("Jean de Sa, Louise Carmo, Magno de Oliveira Paz\n");printf("Primeiro Periodo de Licenciatura em Computacao\n");printf("--------------------------------------------------------------\n"); printf("Digite o grau do polinomio: "); scanf ("%d", &grau); printf("\nEntre com o valor de x: "); scanf ("%d", &x); for (contador1=grau; contador1>=0; contador1--) { printf ("\nDigite o coeficiente para x^%d: ",contador1); scanf ("%d", &coeficientes[contador1]); } printf("\nTeremos entao o seguinte polinomio:"); printf (" \nF(x) = "); for (contador1=grau; contador1>0; contador1--) { printf ("%d",coeficientes[contador1]); printf ("x^%d", contador1); printf (" + "); } printf ("%d", coeficientes[0]); printf ("\n"); for (contador1=0; contador1