Pesquisar as postagens

sexta-feira, 2 de dezembro de 2016

A INVENÇÃO DO COMPUTADOR: ERA a.T. – OU “ANTES DE TURING”


Existe uma quase unanimidade sobre qual teria sido o primeiro computador (ou máquina de calcular) da humanidade: o ábaco. Ele é anterior à invenção da roda – foi descoberto um tipo de ábaco, de 4 mil a.C., na China e no Oriente Próximo. 

O ábaco seria uma máquina de executar cálculos, pois o processamento continua sendo feito por humanos. Não há processamento do programa de execução de cálculos.

A primeira máquina de calculas, mecânica, foi produzida por William Schickard, da Universidade de Tubingen, em 1623. Schickard era amigo de Johannes Keppler. Este, descobriu as principais leis que regem os movimentos planetários. Evidentemente tinha que executar uma série de cálculos, o que é muito cansativo. Schickard criou então uma máquina para auxiliar o amigo.

Infelizmente a Guerra dos Trinta Anos não permitiu que nenhum modelo pronto chegasse a nós.
Em 1630 foi dado um passo adiante com a invenção da régua de cálculo. São duas réguas em escala logarítmica. Ao deslizá-las é possível executar contas de multiplicar e dividir. Seu inventor foi William Oughtred.

O modelo aperfeiçoado por Mannheim ficou conhecido por ser obrigatório a qualquer cientista no século XIX.

O passo seguinte foi dado por Blaise Pascal, um dos matemáticos mais importantes da história. Aos 19 anos, ele já tinha um modelo pronto. Era uma máquina que unia engrenagens e hastes. Operava adições e subtrações de números com até oito dígitos. Ainda existem sete Máquinas de Pascal funcionando.

O alemão Gottfried Leibniz foi um dos grandes gênios da história. Escreveu sobre filosofia, um plano militar para invadir o Egito, um compêndio da Casa de Hanôver em 15 volumes e ... uma máquina de calcular que deixava a de Pascal na poeira, de 1673.

O projeto de sua máquina de executar cálculos era do seu tempo na universidade. Basicamente, o funcionamento básico de uma máquina de calcular nasceu nesse trabalho. Como se não bastasse, ele criou a primeira na base binária (os famosos zeros e uns ...).

Embora genial, sua invenção não impressionou a Royal Society inglesa, onde Leibniz apresentou seu projeto pela primeira vez. Ainda assim, com o tempo foi incrementando melhorias: a máquina era capaz de executar adições e subtrações, divisões e multiplicações, e calcula raízes quadradas.

Leibniz se tornou tão empolgado por sua invenção que imaginava que, no futuro, elas fariam juízes obsoletos. Os Tribunais do futuro, supunha, seriam presididos por máquinas de calcular. Elas emitiriam sentenças e vereditos.

O passo seguinte foi dado por um homem de espírito prático. O francês Joseph-Marie Jacquard era um técnico do ramo de tecelagem. No início do século XIX ele revolucionou essa indústria ao criar um tear que funcionava por meio de cartões perfurados. Jacquard inventara o primeiro programa executado por uma máquina.

Esse tear de Jacquard propiciava o planejamento e a produção de tecidos com desenhos bastante complicados, pois somente deixava que as agulhas certas encostassem o tecido. Com o tempo os cartões foram se tornando cada vez mais elaborados.

Socialmente, as máquinas de Jacquard provocaram um conflito social em sua cidade, Lyon, na década de 1820. Sua máquina desempregava tecelões. Estes contra-atacavam, quebrando máquinas, invadindo fábricas. Essas máquinas se encontram em uso até hoje, na indústria têxtil.

Até o momento, a nossa história já desvendou a invenção de algumas partes bastante importantes que compõem um computador: máquinas capazes de executar cálculos complexos, programação, teoria dos números adequada a seu funcionamento.

Entretanto ainda era necessário que surgisse um gênio capaz de reuni-las em uma só máquina. Seu nome foi Charles Babbage – para muitos, o pai do computador.

Babbage nasceu em 1791, herdou uma fortuna, era afável e excepcional em matemática. Foi ele quem convenceu os patrióticos britânicos a utilizarem as notações de cálculo inventadas por Leibniz, em lugar daquelas mais confusas criadas por Newton. A insistência britânica estava relegando seus matemáticos ao isolamento científico.

A motivação de Babbage eram os múltiplos erros que assolavam as tabelas de cálculo utilizadas à época. A “Nautical Ephemeris for Finding Latitude and Longitude at Sea” continha mais de mil erros. Solucionar esse problema foi o desafio que Babbage se propôs.

O primeiro passo foi conseguir os recursos para a empreitada. Solicitou e conseguiu um subsídio do governo. O segundo passo foi batizá-la com um nome desscritivo de seu funcionamento: Máquina de diferenças nº 1, foi o nome escolhido. Esse nome se de à regra matemática utilizada: o método das diferenças múltiplas. Este necessita de um polinômio e de uma diferença constante.

Um exemplo bem simples:


Polinômio: f(x) = 2x + 1
X = 1, 2, 3, 4 ...
F(x) = 3, 5, 7, 9 ...
Diferença = 2, 2, 2, 2 ...


Observando o exemplo acima, percebe-se que a diferença entre os números, após aplicar o polinômio, é constante e igual a 2. Uma maneira fácil de realizar esses cálculos é aplicar o polinômio apenas ao primeiro X e usar a diferença (que é constante para toda a série) para chegar aos demais resultados.  Evidentemente o exemplo acima é o mais simples possível, mas poderia ser tornado bem mais complicado.

A máquina de Babbage era capaz de calcular números com até 20 dígitos, possuía memória para armazenar séries de números. Todas as operações derivavam de adições. Foram necessários avanços incríveis em engenharia para que se pudesse conceber sua construção.

Um obstáculo que deveria ser superado no futuro, entretanto, era a base numérica que usava: a máquina de Babbage era em base decimal.

Babbage iniciou a construção de sua máquina em 1823, mas jamais seria inteiramente acabada. Após mais de dez anos de trabalho intenso, Babbage já tinha um colosso composto por mais de 25 mil peças (embora nem todas elas estivesse prontas) ao custo de 17.470 libras, o equivalente à construção de dois navios de guerra.

Embora aplicando dinheiro de seu bolso, o custo já tinha alcançado cifras tão estratosféricas que o governo inglês se decidiu por suspender o projeto. Surgiu a piada de que a função da máquina de calcular era saber qual o tamanho do déficit público que ela criaria.

Mas a invenção expunha possibilidades fantásticas. Em 1827, Babbage usou uma parte da máquina, que usava “apenas” mil componentes, para realizar um teste: calcular tabelas de logaritmos, indo de 1 a 108.000. Os algarismos eram inseridos e as respostas saíam impressas.

A máquina deu conta do desafio e abriu caminha para a Máquina de diferenças nº 2, projeto iniciado na década de 1830. O grande avanço era que se tratava de uma máquina analítica controlada por programa externo.  Sua memória, agora, seria capaz de armazenar e realizar operações com os números armazenados.
O “processador” da máquina era um conjunto de bielas, 50 mil engrenagens e poderia executar cálculos com números de até 50 dígitos, em base decimal.

Contudo, o governo britânico não queria correr o risco de uma nova bancarrota e foi contra sua construção.
Durante alguns anos, Babbage teve ajuda de uma auxiliar “de luxo”: Lady Lovelace, ou Ada. Filha do poeta Byron. Foi tão importante na matemática, que a primeira linguagem de programação desenvolvida pelo Departamento de Defesa dos EUA recebeu seu nome.

Com o tempo, anos depois, decidiu-se pela construção da Máquina de diferenças nº 2, com pequenas alterações. A máquina toda pesava 3 toneladas e está exposta no Museu da Ciência de Londres ... em funcionamento. Um teste recente pelo qual psssou foi calcular 25 múltiplos de “PI”, até a 29ª casa decimal.

Bom. Em relação aos computadores que conhecemos, faltava superar um “pequeno” obstáculo. Quem corrigiria esse rumo seria um monstro da matemática: George Boole. EM 1854, ele publicou “Investigação das leis do pensamento”, que criou a conhecida álgebra booleana. Até então, a área da matemática que conhecemos como lógica era considerada parte da filosofia. Boole mudou isso, sugerindo uma série de axiomas que reduziam expressões como “e”, “não”, “ou” a operadores matemáticos da aritmética. Tais operadores funcionam num sistema binário: “verdadeiro ou falso”, “zero ou um”, “buraco ou não-buraco” ...
Tais instruções em formato binário podiam ser adaptadas a circuitos elétricos: ligado ou desligado. A unidade fundamental da informação em sistemas computacionais seria, agora, o bit: dígito binário, ou binary digit.

Na sequência dessas invenções, um estatístico americano, de nome Herman Hollerith, criou uma máquina que batizara de Máquina de Censo. Esta lia 288 buracos por cartão, armazenando essa informação. Lia até 80 cartões por minuto. Foi usada no censo americano de 1890 e reduziu o tempo de processamento, em relação ao censo de 1880, de três anos para seis semanas.

Diante do imenso sucesso, fundou sua própria companhia, que chamou de Tabulating Machine Company, para comercializar essas máquinas. Mais tarde sua companhia seria rebatizada para International Business Machine, ou IBM.

O cenário está quase todo completo. No entanto, ainda havia uma coisa a ser feita: preencher toda a base teórica, indicando que máquinas de processar e computar seriam capazes de fazer, quais as limitações teóricas a que estavam submetidas. Um matemático inglês de Cambridge se lançaria a essa tarefa: Alan Turing.

Nos primeiros anos da década de 1930, Cambridge era uma das instituições mais respeitadas do mundo no campo da matemática (e das ciências em geral). O físico Paul Dirac elevou sua fama no campo da física quântica; os matemáticos George Hardy e Arthur Eddington escreveram o nome da instituição na fundação da teoria da relatividade, comprovando os feitos de Einstein.

Em 1913, Russel e Whitehead, dois gigantes das ciências e professores em Cambridge, publicaram os “Principia Mathematica”: buscavam os fundamentos filosóficos da matemática. Esse passo era necessário para provar o rigor dela como ciência. Desejavam estabelecer axiomas lógicos incontestáveis. Não conseguiram.

Por exemplo, analise a proposição: “O que estou dizendo é falso.” Percebeu que é impossível determinar exatamente o que a frase quer dizer? Se for falso, então é verdade; se for verdade, então e falsa. É uma proposição indeterminável. Esse tipo de indefinição impedia a criação de axiomas lógicos fundamentais.

Em 1931, o austríaco Kurt Godel publicou um artigo que atacava esse problema. Suas observações soavam como se ele quisesse acabar com a matemática de vez. Godel tomou a seguinte proposição: “Esta afirmação não pode ser provada.” Em seguida mostrou que ela não poderia ser provada nem verdadeira nem falsa. Seria uma contradição. Ele demonstrou que, dentro de qualquer sistema matemático haverá proposições desse tipo.

Foi nesse pé que o matemático apaixonado por lógica, Turing, encontrou sua ciência predileta.

E entregou toda uma base teórica da computação. Graças a ele, mesmo antes da criação do primeiro computador, todos já sabíamos seus limites teóricos. A qualidade potencial de sua capacidade era compreendida: eles poderiam desenvolver sua própria inteligência artificial, por exemplo. Isso saiu da mente de Turing.

O início prático se deu quando Turing foi convocado, durante o esforço de guerra, na II GM, para desenvolver a supermáquina de calcular Colossus, projetada com a finalidade de decifrar a misteriosa máquina usada pelos nazistas, Enigma.

E assim chegamos ao momento em que toda a base teórica desenvolvida abriria caminho para um mundo novo e impensado até então ... com exceção de Turing.


Rubem L. de F. Auto


Fonte: livro “Turing e o computador em 90 minutos”       

Nenhum comentário:

Postar um comentário