Professional Documents
Culture Documents
HISTRIA DA COMPUTAO:
O CAMINHO DO PENSAMENTO E DA TECNOLOGIA
PORTO ALEGRE
2007
EDIPUCRS, 2007
Capa: Vincius de Almeida Xavier
Diagramao: Carolina Bueno Giacobo e Gabriela Viale Pereira
Reviso: do autor
EDIPUCRS
Av. Ipiranga, 6681 - Prdio 33
Caixa Postal 1429
90619-900 Porto Alegre, RS - BRASIL
Fone/Fax: (51) 3320-3523
E-mail: edipucrs@pucrs.br
http://www.pucrs.br/edipucrs/
Prefcio
Esta obra se prope a um objetivo bastante ousado: recontar a histria da
computao a partir de um panorama de idias e modelos. Vence este desafio com galhardia.
Neste sentido, a escolha do nome foi feliz e adequada, dado que realmente busca um ponto
de vista original, fugindo de um simples relato de fatos em ordem cronolgica. Bebeu na
fonte de autoridades reconhecidas como o medievalista Jacques Le Goff, um dos criadores da
nova historiografia, ou de historiadores da cincia do peso de Karl Popper, Thomas Khun e
Imre Lakatos. To boa companhia certamente inspirou o autor na concepo de um todo
abrangente, atualizado e inter-relacionado.
Deixa claro, por exemplo, que aquelas geringonas desengonadas e enormes do
ps-guerra e o mais moderno e colorido equipamento atual, apresentam ainda muita coisa em
comum: rigorosamente seguem o mesmo princpio de funcionamento. verdade que os
computadores continuam a ganhar poder e velocidade de forma espantosa, numa evoluo
sem precedentes na tecnologia. Seguem possuindo os componentes estabelecidos por Von
Neumann h meio sculo, como tambm a sua idia de programa armazenado, que executado
separadamente do hardware, converteu-o em uma mquina de propsito geral. No entanto, o
processamento paralelo, a engenharia de software e a evoluo das comunicaes que
culminaram na Internet, elevaram a tecnologia a patamares jamais sonhados pelos
fundadores.
Por outro lado, para desenvolver as postulaes que fundamentaram tamanho
avano, os criadores primevos apoiaram-se em resultados abstratos e outros nem tanto de
pensadores do porte de Gdel, Hilbert e Turing, para citar alguns, devidamente creditados no
decurso da obra. Antes mesmo de se construir a primeira mquina baseada em rels, a estrada
para sua concepo estava aplainada pela contribuio destes visionrios, que propuseram
solues tericas bem frente de seu tempo e cuja realizao parecia, ento, impraticvel.
Esta a melhor contribuio do livro: demonstrar que a computao nasceu do
desejo de se compreender a capacidade que tem o homem em resolver problemas de forma
sistemtica. Assim, a tentativa de reproduzir mecanicamente estes procedimentos, muitos
deles exaustivamente repetitivos, lanou as bases para estabelecer a computao como a
conhecemos hoje.
A evoluo dos conceitos em informtica sempre esteve intrinsecamente ligada da
matemtica. Nas universidades, a computao nasceu dentro dos Departamentos de
Matemtica. Isto justifica o resumo da histria da matemtica, brilhantemente apresentado
segundo uma evoluo de conceitos. Evitando quebrar o ritmo e sem truncar a narrativa, dse ao luxo de fornecer fatos curiosos e pouco conhecidos como, s para exemplificar, a
dificuldade para a aceitao dos algarismos indo-arbicos por parte dos mercadores europeus,
pois alguns smbolos sendo parecidos, facilitaria a falsificao.
Todo o texto est tratado de forma leve e agradvel, sem se afastar do necessrio
rigor. A leitura flui como em um romance. No cansa com detalhes desnecessrios. Muito ao
contrrio, chegamos ao final desejando mais. Os anexos so oportunos, permitindo um
aprofundamento de tpicos ligados fundamentao, inadequados se includos no corpo
principal. Vale lembrar que o primeiro deles uma cronologia comparada, um grande esforo
Do autor
Fascinante! Ainda recordo esta palavra, dita por quem depois orientaria a minha
dissertao de mestrado, origem deste livro: somente iria para a frente na futura tese se
estivesse fascinado pelo assunto. E devo dizer que foi exatamente isso que aconteceu.
Excetuando-se alguns crculos mais tericos, normalmente considerado pela
maioria das pessoas, inclusive dentro da prpria Computao, que os dispositivos
computacionais, que hoje fazem parte do nosso cotidiano, surgiram, por volta da dcada de
1940. O sculo XX teve a glria de materializar tantos artefatos, em tantas reas, que
esquecemos que na verdade so resultado, fruto, do labor de muitos que nos precederam. A
Computao no escapa a essa lei. Nomes como Turing, Hilbert, Church, Frege e tantos
outros at chegar a Aristteles e aos babilnios de 4.000 a.C. misturam-se com lgica
matemtica, sistemas axiomticos, formalismo e lgebra. Ao se estudar um pouco, percebe-se
que toda essa tecnologia fruto de um devir de sculos, uma auto-estrada de quase 2000
anos, paciente e laboriosamente pavimentada por figuras que so desconhecidas por muitos
de ns, profissionais de informtica, ou s superficialmente conhecidas.
Procurar resgatar este lado humano e terico da computao, contribuir de alguma
forma para que outras pessoas da rea ou de fora dela possam apreciar desde outro ngulo os
alicerces deste imponente edifcio formado pela tecnologia dos computadores, entusiasmar
aqueles que esto entrando na rea de informtica, so os objetivos principais deste livro. No
pensei nada de novo, nem tive pretenses de originalidade. Afinal a histria j foi feita! Tudo
que escrevi j estava registrado. Apenas percebi que faltavam, e ainda faltam, trabalhos em
portugus que tratem dos conceitos e idias que fundamentaram a Computao. Logicamente
no esgotei nenhum tema, somente procurei traar uma linha coerente da evoluo destes
conceitos, aprofundando um pouco mais em um caso ou outro, procurando deixar uma boa
bibliografia, embora haja muitos livros que possam ser acrescentados. Espero que este
trabalho sirva como ponto de partida para outros, pois h muita coisa a ser feita para iluminar
e tornar mais acessveis determinados conceitos.
Gostaria de deixar constantes alguns agradecimentos. Em primeiro lugar ao prof.
Dr. Aluzio Arcela, do Departamento de Computao da UnB, orientador da minha
dissertao de mestrado e quem sugeriu e acompanhou aqueles meus primeiros estudos, base
desta obra. Ao prof. Dr. Nelson Gonalves Gomes, do Departamento de Filosofia da UnB,
que tanta pacincia teve para esclarecer alguns conceitos lgico-matemticos e fornecer
indicaes preciosas de bibliografia. E um especial agradecimento ao prof. Dr. Roberto Lins
de Carvalho (PUC-RJ) pelo incentivo que deu e entusiasmo que transmitiu ao tomar
conhecimento do que estava fazendo, sem o que possivelmente no teria me atrevido a
escrever coisa alguma. E aos amigos e colegas que me apoiaram e ajudaram na reviso desse
trabalho, e que acabaram por lhe dar uma forma mais amigvel.
Cluzio Fonseca Filho
ndice
1
1.1
2
2.1
2.2
2.3
3
3.1
3.2
3.3
3.4
3.5
4
INTRODUO
ORDENAO DOS ASSUNTOS
UMA REFLEXO SOBRE A HISTRIA
A HISTRIA E SUAS INTERPRETAES
A HISTRIA DA CINCIA
ENFOQUE HISTRICO ADOTADO
MOTIVAES PARA SE ESTUDAR A HISTRIA DA COMPUTAO
NECESSIDADE DE DISCERNIR FUNDAMENTOS
INCENTIVO EDUCAO PARA A QUALIDADE DO SOFTWARE
TORNAR CLAROS E LIGAR OS FATOS
ACOMPANHAR NOVAS TENDNCIAS
REVALORIZAR O FATOR HUMANO
EVOLUO DOS CONCEITOS
4.1 PRIMRDIOS
4.1.1 A EVOLUO DO CONCEITO DE NMERO E DA ESCRITA NUMRICA
4.1.2 DESENVOLVIMENTOS INICIAIS DA CINCIA DO CLCULO
4.1.3 A LGICA DE ARISTTELES
4.1.4 A CONTRIBUIO DOS MEGRICOS E ESTICOS
4.1.5 EUCLIDES E O MTODO AXIOMTICO
4.1.6 DIOPHANTUS, AL-KHARAZMI E O DESENVOLVIMENTO DA LGEBRA
4.1.7 A AUTOMATIZAO DO RACIOCNIO
4.2 A MECANIZAO DO CLCULO
4.2.1 LEIBNIZ, O PRECURSOR DA LGICA MATEMTICA MODERNA
4.2.2 O PROBLEMA DA NOTAO
4.3 A LGICA MATEMTICA NO SCULO XIX
4.3.1 BOOLE E OS FUNDAMENTOS DA LGICA MATEMTICA E DA COMPUTAO
4.3.2 A IMPORTNCIA DE FREGE E PEANO
4.4 O DESENVOLVIMENTO DA LGICA MATEMTICA
4.5 A CRISE DOS FUNDAMENTOS E AS TENTATIVAS DE SUPERAO
4.5.1 A FIGURA DE DAVID HILBERT
4.6 KURT GDEL: MUITO ALM DA LGICA
4.6.1 UM POUCO DE HISTRIA
4.6.2 VERDADE E DEMONSTRABILIDADE
4.6.3 OUTRAS CONQUISTAS
4.7 ALAN MATHISON TURING: O BERO DA COMPUTAO
4.7.1 A MQUINA DE TURING
4.7.2 O PROBLEMA DA PARADA E O PROBLEMA DA DECISO
4.7.3 OUTRAS PARTICIPAES
4.7.3.1 Decifrando cdigos de guerra
13
14
16
17
19
21
23
23
24
26
27
27
29
29
29
35
36
39
40
42
45
49
49
53
54
56
58
61
62
64
68
68
71
73
74
75
76
77
77
78
79
80
80
85
PR-HISTRIA TECNOLGICA
5.1
5.2
5.3
5.3.1
5.3.2
5.4
5.5
5.6
5.6.1
5.6.2
5.6.3
5.7
6
AS PRIMEIRAS MQUINAS
6.1
6.1.1
6.1.2
6.1.3
6.2
6.2.1
6.2.2
6.2.3
6.3
6.3.1
6.3.2
6.3.3
6.3.4
6.3.5
6.3.6
6.4
6.5
6.6
6.6.1
6.6.2
7
7.1
7.2
7.3
7.4
7.5
7.6
7.7
85
85
86
89
90
91
92
93
95
96
97
98
101
101
101
102
103
103
104
105
105
109
109
111
111
112
113
115
116
116
117
119
122
123
123
123
127
130
131
134
137
8
8.1
8.2
9
10
139
139
140
145
REFERNCIAS BIBLIOGRFICAS
147
154
174
175
179
180
182
186
187
191
ANEXO - ASTROLBIO
195
199
NDICE DE FIGURAS
204
1 Introduo
A cincia normalmente cumulativa, isto , constroem-se instrumentos mais
poderosos, efetuam-se medidas mais exatas, precisam-se melhor e ampliam-se os conceitos
das teorias, e assim por diante. Embora os paradigmas possam mudar, as pesquisas
normalmente evoluem com base em resultados do passado, que se constituem em
fundamentos de um desenvolvimento posterior. O cientista estar mais seguro em suas
pesquisas e mais preparado para novos desafios se souber como seu assunto especfico
evoluiu historicamente, quais as dificuldades maiores, as solues encontradas e os problemas
pendentes.
Nas cincias mais tradicionais Filosofia, Matemtica, Fsica, Biologia, etc.
existem sempre estudos de histria junto a muitos outros dedicados a pensadores, inventores
e conquistadores de primeira, segunda ou terceira grandeza, alm de inmeras monografias.
No caso da Computao, necessrio que apaream trabalhos para servir de base e referncia
aos estudantes, novos pesquisadores e aqueles interessados pelos aspectos tericos que esto
por detrs dessa tecnologia que domina o cotidiano neste fim e incio de milnios.
A Histria da Computao est marcada por interrupes repentinas, por mudanas
inesperadas e imprevistas, tornando-se difcil a viso da evoluo dos computadores mediante
uma mera enumerao linear de invenes-nomes-datas. O desejo de conhecer as vinculaes
que o trabalho de determinados homens estabeleceram no tempo vem acompanhado do
impulso de compreender o peso desses atos no conjunto da Histria da Computao. Buscar
uma compreenso dos fatos atravs dos acontecimentos que o precederam um dos
principais objetivos que estar presente neste estudo da Histria da Computao.
A computao um corpo de conhecimentos formado por uma infra-estrutura
conceitual e um edifcio tecnolgico onde se materializam o hardware e o software. A
primeira fundamenta a segunda e a precedeu. A teoria da computao tem seu
desenvolvimento prprio e independente, em boa parte, da tecnologia. Essa teoria baseia-se
na definio e construo de mquinas abstratas, e no estudo do poder dessas mquinas na
soluo de problemas. A nfase deste livro estar nessa dimenso terica, procurando mostrar
como os homens, atravs dos tempos, buscaram elaborar mtodos efetivos para a soluo de
diversos tipos de problemas.
A preocupao constante de minimizar o esforo repetitivo e tedioso produziu o
desenvolvimento de mquinas que passaram a substituir os homens em determinadas tarefas.
Entre essas est o computador, que se expandiu e preencheu rapidamente os espaos
modernos pelos quais circulam as pessoas. A partir do aparecimento da noo de nmero
natural, passando pela notao aritmtica e pela notao mais vinculada ao clculo algbrico,
mostra-se como apareceram regras fixas que permitiram computar com rapidez e preciso,
poupando, como dizia Leibniz, o esprito e a imaginao. Descartes acreditava no emprego
sistemtico do clculo algbrico como um mtodo poderoso e universal para resolver todos
os problemas. Esta crena juntou-se de outros e surgem as primeiras idias sobre mquinas
universais, capazes de resolver todos os problemas. Esta era uma crena de mentes poderosas
que deixaram obras respeitveis na Matemtica e nas cincias em geral [CO98].
13
Nestes ltimos dez anos vrios livros j foram publicados em outros idiomas.
14
15
causa e efeito para se poder deduzir, prever. (...) a Revoluo Francesa se explica pela subida
de uma burguesia capitalista: isto significa, simplesmente, (...) que a narrao da revoluo
mostra como essa classe ou seus representantes tomaram as rdeas do estado: a explicao da
revoluo o resumo desta e nada mais. Quando solicitamos uma explicao para a
Revoluo Francesa, no desejamos uma teoria da revoluo em geral, da qual se deduziria a
de 1789, nem um esclarecimento do conceito de revoluo, mas uma anlise dos antecedentes
responsveis pela exploso desse conflito (...). Busca-se portanto uma compreenso dos
fatos atravs dos acontecimentos que o precederam* [Vey82]. Toda verdadeira investigao
edifica-se estabelecendo-se com a mxima exatido possvel o j sabido, para depois poder
perguntar com exatido, de maneira que se possam encontrar respostas. S partindo da
informao adquirida podem ser feitas perguntas capazes de ter resposta, e no perguntas
deslocadas, no vazio, que nunca podero ser respondidas. necessrio caminhar passo a
passo, um aps o outro: em toda busca que se queira chegar a algo preciso estabelecer com
preciso o problema, planejar possveis linhas de ataque conceitual e valorar as aparentes
solues.
Tal enfoque ser um dos que estaro presentes neste estudo crtico da Histria da
Computao atravs de uma viso conceitual. Pode-se aplicar a essa histria a mesma
afirmao que faz Thomas Khun sobre a Histria da Cincia: est marcada por interrupes
repentinas, por inesperadas e imprevistas mudanas, exigindo modelos de conhecimento que
supom alteraes inesperadas no processo do seu desenvolvimento ([RA91], vol III). Em
funo desse fato torna-se difcil a viso da evoluo dos computadores mediante uma mera
enumerao linear de invenes-nomes-datas , forando-nos a tentar compreender as foras e
tendncias que, no passado, prepararam o presente. O desejo de conhecer as vinculaes que
os atos de determinados homens estabeleceram no tempo vai acompanhado do impulso de
compreender o significado de tais atos no conjunto da Histria da Computao.
Se a histria ou no cincia uma questo muito disputada entre vrios autores e tema ainda polmico. No tratado Histria
e Memria do medievalista francs Jacques Le Goff [Gof94], captulo Histria, item 1, desenvolve-se uma panormica geral
dessas correntes e tendncias existentes entre historiadores e tericos da histria.
Obviamente no se quer tirar aqui a importncia da datao. Como diz Le Goff, o historiador deve respeitar o tempo que,
de diversas formas, condio da histria e que deve fazer corresponder os seus quadros de explicao cronolgica
durao do vivido. Datar , e sempre ser, uma das tarefas fundamentais do historiador, mas deve-se fazer acompanhar de
outra manipulao necessria da durao a periodizao para que a datao se torne historicamente pensvel [Gof94].
No se dispensar este trabalho de ter uma cronologia, a partir da qual se possa situar no tempo os homens e os fatos mais
representativos de uma determinada corrente de idias ou descobertas. No anexo I h uma tabela da evoluo conceitual e
tecnolgica por data.
17
18
desse perodo o nascimento da revista francesa Annales, considerada uma das mais
importantes propulsoras da chamada Nova Histria. Nova Histria um termo que data de
1912, quando o estudioso americano James Harvey Robinson publicou um livro com esse
ttulo. Segundo Robinson, histria inclui todo trao e vestgio de tudo o que o homem fez ou
pensou desde seu primeiro aparecimento sobre a terra. Em relao ao mtodo, a nova
histria vai servir-se de todas aquelas descobertas que so feitas sobre a humanidade, pelos
antroplogos, economistas, psiclogos e socilogos [Bur92b].
Surgiu a idia de uma histria total, com a qual quiseram os autores da Escola dos
Annales advertir que, frente unilateralidade e reducionismo do materialismo dialtico, a
compreenso do passado exige que todos os dados polticos e institucionais, ideolgicos,
econmicos, sociais, da mentalidade humana, etc. fossem fundidos e integrados para
conseguir uma explicao correta. Uma tarefa rdua, na prtica quase impossvel, mas que
marca um ideal, uma direo, uma meta que preciso atingir.
Surgiram ainda outros enfoques como, por exemplo, a histria do ponto de vista
quantitativo, durante certo tempo em moda na Europa e Estados Unidos, que procura utilizar
fontes quantitativas, mtodos de contagem e at modelos matemticos na sua pesquisa
histrica, ou as histrias que abrangem um determinado campo da vida humana como a
histria da arte ou a histria das cincias [GN88].
O panorama atual, de acordo com os historiadores, o de uma histria fragmentada,
detectando-se alguns sinais de busca de uma sntese. Ainda se est a uma longa distncia da
histria total. Na verdade, difcil acreditar que esse objetivo possa ser facilmente
alcanado ou at que ser alcanado , mas alguns passos j foram e esto sendo dados em
sua direo.
Paralelamente a todos esses esforos, surgiram tambm os tericos da histria, que
se esforaram ao longo dos sculos para introduzir grandes princpios que pudessem fornecer
linhas gerais de compreenso para a evoluo histrica. A filosofia da histria o estudo da
realidade latente, ou melhor, do pano de fundo dos fatos histricos. Qual a natureza,
por exemplo, das crises de crescimento e decadncia de uma civilizao, quais foram as
causas? Sendo a histria no a simples crnica que apresenta os fatos de um modo minucioso,
mas sim sua investigao, que se esfora por compreender os eventos, captar relaes,
selecionar fatos, como fazer isso, qual a estrutura essencial da realidade histrica?
A filosofia da histria termo temido por muitos autores porque poderia supor
apriorismos, preconceitos, idealismos responder basicamente a duas questes
fundamentais:
o que so os fatos histricos historiologia morfolgica;
para qual fim se dirigem historiologia teleolgica.
Para aprofundar no assunto, em [Art94] h uma sntese das discusses e evoluo das polmicas.
20
Se bem que em outro contexto, pois tinha uma outra linha de pensamento historiogrfico, mas que serve tambm para o
enfoque adotado no trabalho.
21
Pense-se na Robtica por exemplo, onde esto includas a Inteligncia Artificial, as Linguagens de Programao, a
Computao Grfica, etc.
No anexo I encontra-se uma tabela cronolgica dos acontecimentos conceituais e tecnolgicos, que dar uma viso mais geral da
evoluo da Histria da Computao.
22
Um mtodo se diz formal quando o conjunto dos procedimentos e tcnicas utilizadas so formais, isto , tm um sentido
matemtico preciso, sobre o qual se pode raciocinar logicamente, obtendo-se completeza, consistncia, preciso, corretude,
conciso, legibilidade e reutilizao das definies abstratas.
24
Computao, como se ver, j dizia: A lgica simblica ou lgica matemtica nasce com a
vocao de ferramenta para inferncia mecanizada atravs de uma linguagem
simblica[Boo84]. Busca-se por essa vertente a criao de uma metalinguagem lgicomatemtica para o desenvolvimento de sistemas, de tal maneira que se possa constituir no
instrumento que transfere a preciso da matemtica aos sistemas. A figura abaixo, conforme
[Coe95], serve como ilustrao dessa idia.
Mundo
Real
Metalinguagem
Sistemas
Matemtica
Cincia da
Computao
lgebra
Filosofia
Lgica
Entre os aspectos estudados encontram-se: (i) verificao (prova de corretude): a prova de que um dado programa produz os
resultados esperados; (ii) terminao: a prova de que um dado programa terminar eventualmente a sua execuo; (iii)
derivao (desenvolvimento): construo de um programa que satisfaz a um conjunto de especificaes dadas; (iv)
transformao: modificao sistemtica de um programa dado para obter um programa equivalente, como estratgia para a
derivao de novos programas por analogia a solues conhecidas ou como mtodo de otimizao da eficincia de
programas [Luc82].
25
treinamento formal mais intenso na formao dos futuros cientistas da computao. Desde os
primeiros anos da universidade necessrio que se estudem os princpios matemticos, e em
alguns casos at fsicos (como se poder falar em Computao Grfica se no se sabe quais
so as propriedades de um sistema de cores), que formam o substrato da Computao: o que
computvel (metamatemtica, computabilidade), a complexidade que exige a execuo de
um clculo (anlise de algoritmos, teoria da complexidade), fundamentos de algumas
abstraes (teoria dos autmatos, teoria das linguagens formais, teoria de rede, semntica
denotacional, algbrica, etc.), fundamentos dos raciocnios que se fazem em programao
(sistemas de provas, lgica de Hoare), etc. Ou seja, seria interessante notar que na Cincia da
Computao h um forte componente terico. um corpo de conhecimentos, sistematizado,
fundamentado em idias e modelos bsicos que formam a base das tcnicas de engenharia e
eletrnica usadas na construo de computadores, tanto no referente ao hardware como ao
software. Como no falar de induo matemtica quando se deseja seriamente explicar a
programao de computadores? Ou falar de uma linguagem de programao sem introduzir a
teoria dos autmatos? Com o desenvolvimento de conceitos matemticos adequados ser
possvel estabelecer um conjunto de procedimentos que assegure aos sistemas a serem
desenvolvidos uma manuteno gerencivel, previsvel e natural, como ocorre na engenharia.
O estudo da Histria da Computao, no j sob o enfoque de datas e nomes
importantes tambm e necessrios, para no se cair na pura especulao , mas sob o aspecto
das idias, de seus fundamentos e suas conseqncias, pode ser uma slida base, um ponto de
partida, para sensibilizar e entusiasmar o aluno sobre a importncia dos fundamentos tericos,
para ajud-lo a ver o que um determinado conceito tem como pressupostos.
e a participao do elemento humano nisso mas tambm porque nos ajuda a apreciar a
qualidade de progresso que houve.
28
4.1 Primrdios
4.1.1
Talvez o passo mais fundamental dado nestes primeiros tempos tenha sido a
compreenso do conceito de nmero, isto , ver o nmero no como um meio de se contar,
mas como uma idia abstrata. O senso numrico foi o ponto de partida. Trata-se da sensao
instintiva que o homem tem das quantidades, atributo participado tambm pelos animais
irracionais (a gata mia quando um dos filhotes no est no ninho; determinados pssaros
abandonam o ninho quando um dos seus ovos foi mudado de lugar); na vida primitiva
bastava esse senso numrico. Mas com o comeo da criao dos animais domsticos era
necessrio saber algo mais, pois se a quantidade no fosse melhor conhecida, muitas cabeas
se perderiam. Inventou-se a contagem atravs do estabelecimento de uma relao entre duas
ou vrias quantidades, na qual cada elemento de uma corresponde a um elemento de outra e
nenhum elemento deixa de ter o seu correspondente (por exemplo, pedrinhas de um monte
com ovelhas de um rebanho).
No entanto essa relao biunvoca se d somente no mbito mental (ovelhas e pedra
esto na natureza e no se do conta um do outro). No est registrado de que forma ocorreu
o reconhecimento, pelos nossos antepassados mais primitivos, de que quatro pssaros
caados eram distintos de dois, assim como o passo nada elementar de associar o nmero
quatro, relativo a quatro pssaros, e o nmero quatro, associado a quatro pedras. Essa
correspondncia um pensamento que uma espcie de linguagem. Nessa linguagem esto
envolvidas a quantidade, a correspondncia biunvoca (o nmero) e a sua expresso (os
elementos usados para contagem: pedras, dedos, seqncias de toques no corpo, e outras
formas mais primitivas de expressar um numeral).
A viso do nmero como uma qualidade de um determinado objeto um obstculo
ao desenvolvimento de uma verdadeira compreenso do que seja um nmero. Somente
quando, de acordo com um dos exemplos dados, o nmero quatro foi dissociado dos
pssaros ou das pedras, tornando-se uma entidade independente de qualquer objeto uma
abstrao, como diriam os filsofos , que se pde dar o primeiro passo em direo a um
sistema de notao, e da aritmtica. Conforme Bertrand Russell, foram necessrios muitos
29
anos para se descobrir que um par de faises e um par de dias eram ambos instncias do
nmero dois [Dan54].
E assim como se criaram smbolos escritos para expressar idias, tambm criou-se a
escrita numrica. Os numerais escritos surgem nas civilizaes antigas (egpcia, babilnica e
chinesa) e se baseiam na repetio de smbolos. No caso dos egpcios, ao se completar o
dcimo elemento, tomava-se um outro smbolo para representar o nmero.
30
31
Figura 3: Mais antigo manuscrito europeu com numerais indoarbicos, cfr. [Ifr89]
A primeira grande tentativa de introduzir essa nova forma de notao foi feita por
Leonardo de Pisa (1175 a 1250), mais conhecido pelo nome de Fibonacci (que veio de filius
Bonaccio, o filho de Bonaccio), um dos melhores matemticos europeus da Idade Mdia.
Durante o tempo de Fibonacci, Pisa era uma das grandes cidades comerciais da Itlia, e por
isso entrou em contato com toda a rea do Mediterrneo. O pai de Fibonacci era o chefe de
uma das casas de comrcio ultramarino, em Bugia, na costa da frica Norte. Bugia era um
importante centro para mercadores e estudantes da poca e Fibonacci foi mandado, quando
tinha 12 anos, para se juntar a seu pai, tendo uma chance de ouro para observar os mtodos
rabes. Certamente obteve parte de sua educao enquanto estava em Bugia, e a lenda diz que
ele aprendeu rabe e aritmtica por um mercador local. Visitou depois o Egito, Sria, Grcia e
Frana, onde se esforou para se informar sobre os sistema aritmticos locais. Ele achou
todos esses sistemas numricos to inferiores aos que os rabes utilizavam que, quando
voltou a Pisa, escreveu um livro para explicar o sistema rabe de numerais e clculo. Esse
livro, nomeado de Liber Abaci (O Livro do baco) foi publicado pela primeira vez em 1202, e
revisto e ampliado em 1228. Era um tomo muito grande para a poca, constitudo de 459
pginas divididas em 15 captulos. Os captulos 1 a 7 introduziam a notao rabe e as
operaes fundamentais com nmeros inteiros; os captulos 8 a 11 tratavam de vrias
aplicaes, enquanto os restantes eram dedicados aos mtodos de clculo envolvendo sries,
32
propores, razes quadradas e cbicas, e uma pequena abordagem sobre geometria e lgebra.
Foi em um desses ltimos captulos em que ele introduziu o famoso
problema do coelho e as sries de nmeros que agora levam seu nome.
O Liber Abaci no foi to influente quanto deveria ser porque era muito grande, e
portanto difcil de copiar em uma poca em que no havia imprensa. Tambm continha
material avanado que s poderia ser entendido por estudiosos, tendo sido conhecido apenas
por poucas pessoas, nenhuma das quais parecia ter muita influncia nos mtodos de clculo
usado nas transaes dirias.
Mas embora os esforos de Fibonacci tivessem pouco sucesso, a idia dos numerais
hindu-arbicos foi gradualmente se expandindo na Europa. As principais fontes de
informao foram as vrias tradues, algumas parciais, do trabalho de al-Kharazmi. O fato
de ser a lngua rabe totalmente diferente de qualquer lngua europia foi uma grande barreira
para a disseminao das idias cientficas rabes. Para aprender o rabe, era geralmente
necessrio viajar a um pas de lngua rabe, e isso era uma tarefa difcil, j que alguns rabes
no eram simpticos aos visitantes cristos (e vice-versa). Esse problema foi parcialmente
resolvido em 1085, quando Alphonso VI de Leon recapturou Toledo dos mouros e uma
grande populao de lngua rabe veio esfera da influncia europia. A maioria das primeiras
tradues, ou pelo menos as pessoas que ajudaram os tradutores, vieram dessa populao.
Os dois principais trabalhos que espalharam o conhecimento aritmtico hindu-rabe
pela Europa foram o Carmen de Algorismo (o Poema do Algorismo) de Alexander De Villa Dei
por volta de 1220 e o Algorismus Vulgaris (Algorismos Comuns), de John de Halifax, mais
conhecido como Sacrobosco, por volta de 1250 d.C. Esses dois livros foram baseados, pelo
menos em parte, nos trabalhos de al-Kharazmi ou de um de seus sucessores. Foram
elaborados para uso em universidades europias e no pretendiam ser explicaes completas
do sistema; preferiram dar simplesmente o bsico que o professor pudesse explicar, linha a
linha, para seus alunos. O Carmen de Algorismo era particularmente difcil de ser seguido,
especialmente na discusso do clculo de razes, porque foi escrito em versos hexasslabos.
Apesar disso ele ficou muito popular, sendo copiado muitas vezes no latim original e sendo
at traduzido em ingls, francs e irlands. Parte dessa popularidade se deveu ao fato de que
Alexander de Villa Dei (? a 1240), que era nativo da Normandia e escrevia e ensinava em
Paris, j era famoso por uma gramtica de latim, tambm em versos, que era muito utilizada
nas escolas da poca. Tambm o fato de possuir somente 284 linhas o fazia facilmente
copivel pelos escribas, e assim, enquanto se produzia uma cpia do Liber Abaci, centenas de
cpias do Carmen podiam ser feitas e distribudas. O mesmo acontecia com o Algorismus
Vulgaris, que tinha somente 4.000 linhas. Sacrobosco, que tambm ensinava em Paris durante
a primeira metade do sculo XIII, era conhecido por seu trabalho em astronomia, e isso sem
dvida contribuiu para o sucesso do Algorismus Vulgaris, que continuou a ser usado como um
texto universitrio em aritmtica at mesmo depois da inveno da imprensa. Edies
impressas so conhecidas a partir do fim dos sculos XV e XVI.
Uma dos primeiros tradutores do trabalho de Al-Kharazmi foi Adelard de Bath que,
por volta do ano 1120, produziu um texto em latim cujas primeiras palavras eram Dixit
Algorismi (assim disse o algorismo), e que resultou nessa nova cincia que ficou
conhecida como algorismo. Esse termo, e as vrias corruptelas originadas por autores
33
Essa permanncia dos mtodos antigos de notao foi causado no por falta de
conhecimento sobre o novo, mas pelo medo de que, sem um entendimento completo do
sistema, alguma coisa poderia dar errado. Esse tipo de medo visto de vez em quando at
hoje, mas dois exemplos do sculo XVII podem ajudar a ilustrar o fenmeno. Willian
Oughtred, que se encontrar mais a frente neste livro ao se falar da rgua de clculo, preferia
calcular ab + ac a calcular a(b+c) por causa do medo de que algum tipo de erro poderia
acontecer em um sistema abreviado. Muitas formas diferentes de numerais foram usadas na
Europa, alguma das quais no seriam reconhecidas da maneira que elas so agora. As verses
manuscritas dos antigos trabalhos so particularmente difceis de se ler porque o autor e o
copista usaram as formas de numerais com que eles eram mais familiarizados. Livros
produzidos em regies prximas, ou separados por poucos anos, usaram caracteres diferentes
para pelo menos alguns dos numerais. Foi a inveno da imprensa que os padronizou na
forma em que ns os conhecemos agora, embora at hoje as formas do 5 e do 7 variem
ligeiramente entre europeus e americanos. interessante notar que, apesar do fato de que os
europeus obtiveram o sistema dos rabes, as duas culturas utilizam formas de numerais
notavelmente diferentes hoje. O turista europeu tem constantemente problemas com o fato
de que o crculo usado nos pases rabes como smbolo para o dgito cinco e algo parecido
com um ponto usado para o smbolo do zero.
4.1.2
Pode-se dizer que os primeiros passos em direo aos computadores digitais foram
dados nas antigas civilizaes da China, do Egito e da Babilnia, h mais de quatro milnios,
com os sistemas de medidas de distncias, previso do curso das estrelas e tabelas gravadas
em tbuas de barro usadas para ajudar clculos algbricos. Durante a civilizao grega algumas
destas pr-cincias tomaram forma atravs dos sistemas axiomticos *. Enquanto isso,
geralmente aceito que a lgebra desenvolveu-se em cada civilizao passando por sucessivas
etapas, denominadas retrica, sincopada e simblica .
Um museu em Oxford possui um cetro egpcio de mais de 5.000 anos, sobre o qual
aparecem registros de 120.000 prisioneiros e 1.422.000 cabras capturadas [Boy74]. Apesar do
exagero dos nmeros, fica claro que os egpcios procuravam ser precisos no contar e no
medir, bastando lembrar o alto grau de preciso das pirmides. Medir as terras para fixar os
limites das propriedades era uma tarefa importante nas civilizaes antigas, especialmente no
Egito. Ali, as enchentes anuais do Nilo, inundando as reas frteis, derrubavam os marcos
fixados no ano anterior, obrigando os proprietrios de terras a refazer os limites de suas rea
de cultivo. Em algumas ocasies, a questo era refazer os limites com base em informaes
parciais; conhecida a forma do terreno, tratava-se por exemplo de reconstruir os lados
*
Em um sistema axiomtico parte-se de premissas aceitas como verdadeiras e de regras ditas vlidas, que iro conduzir a
sentenas verdadeiras. As concluses podem ser alcanadas manipulando-se smbolos de acordo com conjuntos de regras.
A Geometria de Euclides um clssico exemplo de um procedimento tornado possvel por um sistema axiomtico.
A lgebra retrica caracterizada pela completa ausncia de qualquer smbolo, exceto, naturalmente, que as prprias
palavras esto sendo usadas no seu sentido simblico. Nos dias de hoje esta lgebra retrica usada em sentenas do tipo
a soma independente da ordem dos termos, que em smbolos seria designada por a+b = b+a [Dan54]. A sincopada
a notao intermediria que antecedeu a simblica, caracterizada pelo uso de abreviaes que foram sendo contradas at se
tornarem um smbolo [idem].
35
A Lgica de Aristteles
Aristteles (384 a.C. - 322 a.C.) um filsofo atual: a questo aristotlica, isto , o
que Aristteles realmente escreveu , o que se deve a ele ou antes, a seus discpulos, algo
complexo, onde no h acordo definitivo, e provavelmente segundo alguns nunca haver,
sendo uma questo sobre a qual se continua escrevendo. Aristteles passou quase vinte anos
na Academia platnica e educou Alexandre Magno (se Plato estivesse vivo teria visto a
36
Parmnides (540 a 470 a.C.) negava a existncia do movimento (devir) e afirmava a existncia de um nico ser
(pantesmo), tendo enunciado o princpio da no contradio: algo no pode ser e no ser ao mesmo tempo, sob o mesmo
aspecto e no mesmo sujeito. Seu discpulo Zeno (490 a 430 a.C.) foi o fundador da dialtica e radicalizou a negao do
movimento. Este envolveria um paradoxo: para mudar completamente preciso antes mudar parcialmente, e assim
infinitamente, o que levaria a concluir que o movimento no existe (paradoxos de Aquiles e a tartaruga e os pontos de
percurso de uma flecha)
Alm do mais interessa o estudo das obras do Filsofo pois tem um especial valor pedaggico, ao apresentar de maneira
unitria a maior parte dos problemas lgicos, contemplados com o vigor caracterstico que acompanha uma cincia
emergente, e mais acessvel ao principiante que muitas apresentaes modernas de lgica formal.
37
Aristteles escreveu uma srie de trabalhos que seriam editados por Andrnico de
Rodes no sculo I d.C. e que receberam posteriormente o nome de Organon (Instrumento),
de acordo com a concepo segundo a qual a Lgica deveria fornecer os instrumentos
mentais necessrios para enfrentar qualquer tipo de investigao. Essa obra compreende os
seguintes livros: Categorias, Analticos I, Analticos II, o Peri Hermeneias (ou sobre a interpretao),
Tpicos e Refutao de argumentos sofistas. A grande novidade aristotlica est nos Analticos, com
o silogismo. Aristteles chamava a Lgica com o termo analtica (e justamente Analticos
so intitulados os escritos fundamentais do Organon). A analtica (do grego analysis, que
significa resoluo) explica o mtodo pelo qual, partindo de uma dada concluso, resolve-se
precisamente nos elementos dos quais deriva, isto , nas premissas e nos elementos de que
brota, e assim fica fundamentada e justificada.
Aristteles construiu uma sofisticada teoria dos argumentos, cujo ncleo a
caracterizao e anlise dos chamados silogismos, os tpicos raciocnios da lgica aristotlica. O
argumento
Todo homem mortal
Scrates homem
Logo Scrates mortal
o exemplo tpico do silogismo perfeito. Conforme o prprio Aristteles, o silogismo um
discurso no qual, sendo admitidas algumas coisas, outra coisa distinta resulta necessariamente
dessas coisas afirmadas primeiro, pelo nico fato de que essas existem [Per88].
Figura 4: Aristteles
38
Embora Aristteles seja o mais brilhante e influente filsofo grego, outra importante
tradio argumentativa formou-se na antiga Grcia, com os megricos e esticos. Pouco
conservada pela tradio, merece um melhor tratamento dos historiadores, porque o que
deles se conhece sugere que esses gregos eram altamente inteligentes.
Os megricos (em funo de sua cidade, Mgara) interessaram-se por certos enigmas
lgicos como o conhecido paradoxo do mentiroso: quem diz O que eu afirmo agora
falso, enuncia algo verdadeiro ou falso? Um deles, Diodoro Cronus, que morreu por volta
de 307 a.C., formulou interessante concepo modal, relacionando possibilidade, tempo e
verdade, enquanto outro megrico, de nome Flon, estudou proposies do tipo Se chove
ento a rua est molhada, construda com o auxlio das expresses se..., ento... conhecidas
*
39
como condicionais. Ele as definiu em termos extremamente polmicos, mas que seriam
assumidos como corretos, vinte e trs sculos mais tarde pelos fundadores da Lgica
Contempornea.
Os esticos (da chamada escola filosfica de Stoa, que quer dizer prtico)
desenvolveram tambm notveis teorias lgicas. Tinham bastante presente a diferena que h
entre um cdigo de comunicao especfico, de um lado, e o que se pode expressar atravs do
uso de tal cdigo. Assim sendo, um conceito de proposio anlogo ao usado na atual
Lgica, j estava presente, de modo virtual, na filosofia estica da linguagem.
Porm a mais notvel contribuio estica Lgica foi obra de Crsipo de Soles
(280-206 a.C.), homem de vasta produo poligrfica (750 livros). Ele estudou as sentenas
condicionais e tambm as disjuntivas (regidas pela partcula ou) e as copulativas (regidas
pelo e), tendo tambm reconhecido claramente o papel lgico desempenhado pela negao.
Alm disto, Crsipo foi capaz de relacionar tais idias com as modalidades, elaborando, ento,
um sistema de princpios lgicos que, no seu campo especfico, foi muito alm dos poucos
resultados obtidos por Aristteles e seu discpulo Teofrasto. Por tal razo, Crsipo
reconhecido como o grande precursor daquilo que hoje se chama Clculo Proposicional, o
primeiro captulo da Lgica desenvolvida a partir do ltimo quarto do sculo XIX [Bri79b].
4.1.5
40
Com sua obra Elementos, o matemtico grego Euclides (330 a.C. - 277 a.C.) deu uma
forma sistemtica ao saber geomtrico, implementando as idias sobre axiomatizao, de
Aristteles, para uma cincia exata. No primeiro livro dos Elementos, ele enuncia vinte e trs
definies, cinco postulados e algumas noes comuns ou axiomas *. Em seguida ele deduz
proposies ou teoremas, os quais constituem o saber geomtrico, como por exemplo: se
em um tringulo dois ngulos so iguais entre si, tambm os lados opostos a esses ngulos so
iguais entre si. Postulados, axiomas e definies constituem os pontos de partida para as
demonstraes de Euclides. Seu objetivo mostrar todos os outros princpios geomtricos
primeiro os da Geometria Plana e depois os da Geometria Espacial , revelando que so
decorrncias necessrias dos princpios fundamentais.
Quais so os traos caractersticos das tcnicas adotadas por Euclides? Em primeiro
lugar ele enuncia as sua leis em forma universal: no se detm em determinada figura ou linha,
mas examina as propriedade que todas as figuras e todas as linhas de tal ou qual tipo devem
ter. Formula tais leis de maneira rigorosa e absoluta e, mais ainda, demonstra-as. Seu livro, na
verdade, consiste em demonstraes colocadas de maneira sistemtica, no indutiva, mas
dedutiva, por meio das quais procura estabelecer as suas concluses com o rigor da lgica.
Euclides visava aperfeioar o conhecimento acerca de pontos, linhas e figuras, tornando mais
rigorosas as demonstraes de leis j conhecidas, e procurava aumentar esse conhecimento,
demonstrando leis novas, at ento desconhecidas. Mas talvez no se esgotasse a a motivao
ou pelo menos as conseqncias do que elaborou o gemetra. A colocao de axiomas e
teoremas em forma dedutiva deu Geometria uma apresentao mais elegante e transparente,
tornando facilmente perceptveis as interessantes conexes lgicas ali introduzidas. A
axiomatizao do saber Geomtrico abriu um sem fim de perspectivas para os estudiosos das
cincias exatas, que adotam as exposies axiomticas e buscam axiomatizaes mais
elegantes e econmicas no s para dar rigor s suas demonstraes, mas descobrir novas
conexes lgicas.
Esse portanto o modo como Euclides ordena o conhecimento geomtrico no
chamado sistema euclidiano. Durante sculos esse sistema valeu como modelo insupervel do
saber dedutivo: os termos da teoria so introduzidos depois de terem sido definidos e as
proposies no so aceitas se no forem demonstradas. Euclides escolhia as proposies
primitivas, base da cadeia sobre a qual se desenvolvem as dedues sucessivas, de tal modo que
ningum pudesse levantar dvidas sobre a sua veracidade: eram auto-evidentes, portanto
isentas de demonstrao. Leibniz afirmaria mais tarde que os gregos raciocinavam com toda a
exatido possvel em matemtica e deixaram humanidade modelos de arte demonstrativa
([RA91], volume III).
Em resumo, Euclides, como j fizera Aristteles, buscou o ideal de uma organizao
axiomtica, que em ltima instncia se reduz escolha de um pequeno nmero de
proposies em princpio aceitas naquele domnio do conhecimento, e posterior deduo de
todas as outras proposies verdadeiras desse domnio, a partir delas. Surge com Euclides e
*
As definies pretendem substancialmente explicitar os conceitos da geometria (ponto aquilo que no tem partes; linha
comprimento sem largura, etc.). Os postulados representam verdades indubitveis tpicas do saber geomtrico (pode-se
levar uma reta de qualquer ponto a qualquer ponto; todos os ngulos retos so iguais; etc.). Os axiomas so verdades
que valem universalmente, no s na geometria (o todo maior que a parte; coisas que so iguais a uma mesma coisa
so iguais entre si, etc.).
41
O seguinte problema no Rhind Papyrus *, do Museu britnico em Londres, foi escrito por volta
do ano 1650 a.C.:
Divida 100 pes entre 10 homens, incluindo um
barqueiro, um capataz e um vigia, os quais recebem uma
dupla poro cada. Quanto cabe a cada um? [Bow94]
Isto naturalmente pode ser resolvido usando-se lgebra.
O primeiro tratado de lgebra foi escrito pelo grego Diophantus (200 - 284), da
cidade de Alexandria, por volta do ano 250. O seu Arithmetica, composto originalmente por
13 livros dos quais somente 6 se preservaram, era um tratado caracterizado por um alto grau
de habilidade matemtica e de engenho: quanto a isto, o livro pode ser comparado aos
grandes clssicos da idade alexandrina anterior [Boy74]. Antes de Diophantus, toda a
*
Juntamente com o papiro de Moscou uma das principais fontes de informao relativa s formas de notao e operaes
aritmticas em uso durante a primeira poca da civilizao egpcia
42
lgebra que havia, incluindo problemas, operaes, lgica e soluo, era expressada sem
simbolismo palavra chave sobre a qual ainda se voltar a falar ; ele foi o primeiro a introduzir
o simbolismo na matemtica grega. Para uma quantidade desconhecida usava um smbolo
(chamado arithmos), que caracterizava um nmero indefinido de unidades. Pela nfase dada
em seu tratado soluo de problemas indeterminados, tal tratado tornou-se conhecido como
anlise diofantina, que em geral faz parte da disciplina de Teoria dos Nmeros *. Seu trabalho,
contudo, no suficiente para lhe conferir o ttulo de pai da lgebra .
Mas com os persas e principalmente com os rabes que a lgebra poder ser
efetivamente chamada de cincia. interessante notar que ao se falar que a Geometria uma
cincia grega ou que a lgebra uma cincia rabe, est se afirmando algo mais do que a
casualidade de terem sido gregos ou rabes seus fundadores ou promotores.
Ordinariamente tendemos a pensar que o conhecimento cientfico independe de latitudes e
culturas: uma frmula qumica ou um teorema de Geometria so os mesmos em ingls ou
portugus ou chins e, sendo a comunicao, primeira vista, o nico problema, bastaria uma
boa traduo dos termos prprios de cada disciplina. Mas no assim.
Na verdade a evoluo da cincia est repleta de interferncias histrico-culturais,
condicionando metodologias, o surgimento de novas reas do saber, e assim por diante. Os
juristas rabes referem-se lgebra como o clculo da herana, segundo a lei cornica, uma
problemtica importante dentro do Islam, e a j temos um exemplo de condicionamento
histrico-cultural. No foi por mero acaso que a lgebra surgiu no califado abssida (ao
contrrio dos Omadas, os Abssidas pretendem aplicar rigorosamente a lei religiosa vida
cotidiana [AG81]), no seio da Casa da Sabedoria (Bayt al-Hikma) de Bagd, promovida
pelo califa Al-Maamun; uma cincia nascida em lngua rabe e antagnica da cincia grega.
Embora hoje a lgebra possa parecer objetiva e axiomtica, com uma sintaxe de estruturas
operatrias e destituda de qualquer alcance semntico, ela o resultado da evoluo da velha
aljabr, forjada por um contexto cultural em que no so alheios elementos que vo desde as
estruturas gramaticais do rabe teologia muulmana da poca [Lau97].
Muhammad Ibn Musa Al-Khwarizmi (780 - 850), matemtico e astrnomo persa,
foi membro da Casa da Sabedoria, a importante academia cientfica de Bagd, que alcanou
seu resplendor com Al-Maamun (califa de 813 a 833). A ele, Al-Khwarizmi dedicou seu AlKitab al-muhtasar fy hisab al-jabr wa al-muqabalah (Livro breve para o clculo da jabr e da
muqabalah). Al-jabr, que significa fora que obriga, restabelecer , precisamente porque a lgebra
forar cada termo a ocupar seu devido lugar. J no comeo do seu Kitab, Al-Khwarizmi
distingue seis formas de equao, s quais toda equao pode ser reduzida (e, canonicamente
resolvida). Na notao atual:
*
Neste sentido foi o matemtico grego que maior influncia teve sobre a moderna teoria dos nmeros. Em particular Fermat
foi levado ao seu ltimo teorema quando procurou generalizar um problema que tinha lido na Arithmetica de Diophantus:
dividir um dado quadrado em dois quadrados (ver F.E. Robbins, P.Mich. 620: A Series of Arithmetical Problems, Classical
Philology, pg 321-329, EUA, 1929).
Apenas sob certo aspecto isto se justificaria. Em uma viso um tanto arbitrria e simplista poderamos dividir o
desenvolvimento da lgebra em 3 estdios: (1) primitivo, onde tudo escrito em palavras; (2) intermedirio, em que so
adotadas algumas simplificaes; (3) simblico ou final. Neste contexto, Arithmetica deve ser colocada na segunda categoria.
Restabelecer, por algo no seu devido lugar, restabelecer uma normalidade. Como observa [Lau97] a palavra tajbir significa
ortopedia e jibarath significa reduo, no sentido mdico (por o osso no devido lugar) e na Espanha, no tempo em que os
barbeiros acumulavam funes, podia-se ver a placa Algebrista e Sangrador em barbearias.
43
1. ax2 = bx
2. ax2 = c
3. ax = c
4. ax2 + bx = c
5. ax2 + x = ax2
6. bx + c = ax2
Al-jabr a operao que soma um mesmo fator (afetado do sinal +) a ambos os
membros de uma equao, para eliminar um fator afetado pelo sinal -. J a operao que
elimina termos iguais de ambos os lados da equao al-muqabalah que significa estar de
frente, cara a cara, confrontar. Por exemplo: em um problema onde os dados podem ser
colocados sob a forma 2x2 + 100 20x = 58, Al-Khwarizmi procede do seguinte modo:
2x2 + 100 = 58 + 20x (por al-jabr)
Divide por 2 e reduz os termos semelhantes:
x2 + 21 = 10 x (por al-muqabalah)
E o problema j est canonicamente equacionado.
A palavra algoritmo na matemtica designa um procedimento geral de clculo, que se desenvolve, por assim dizer,
automaticamente, poupando-nos esforo mental durante o seu curso; este termo ser depurado e aproveitado dentro da
Computao. Dele se tornar a falar mais frente
44
A automatizao do raciocnio
Ainda dentro do perodo acima estabelecido (4.200 a.C. at meados do ano 1600
d.C) iniciou-se concretizao de uma antiga meta: a idia de se reduzir todo raciocnio a um
processo mecnico, baseado em algum tipo de clculo formal. Isto remonta a Raimundo
Llio. Embora negligenciado pela cincia moderna, Raimundo Llio (1235 - 1316), espanhol,
figura pletrica de seu tempo, em seu trabalho Ars Magna (1305 - 1308), apresentou a primeira
tentativa de um procedimento mecnico para produzir sentenas logicamente corretas
[Her69]. Llio acreditava que tinha encontrado um mtodo que permitia, entre outras coisas,
tirar todo tipo de concluses, mediante um sistema de anis circulares dispostos
concentricamente, de diferentes tamanhos e graduveis entre si, com letras em suas bordas.
Inveno nica, tentar cobrir e gerar, representando com letras que seriam categorias do
conhecimento , todo o saber humano, sistematizado em uma gramtica lgica.
modo, poder assinalar facilmente, com respeito a cada objeto, os conceitos a ele aplicveis.
Raimundo Llio , pois, um pensador sistemtico, ainda que ao mesmo tempo mecnico.
Deixou traada uma tabela em crculos nos quais se acham inscritos tringulos cortados por
outros crculos. Dentro desses crculos, ordenava as determinaes conceituais, com
pretenses exaustivas; uma parte dos crculos imvel, a outra tem movimento. Vemos, com
efeito, seis crculos, dois dos quais indicam os sujeitos, trs os predicados e o sexto as
possveis perguntas. Dedica nove determinaes a classe, designando-as com as nove letras B
C D E F G H I K. Obtm, desse modo, nove predicados absolutos, que aparecem escritos ao
redor de seu quadro: a bondade, a magnitude, a durao, o poder, a sabedoria, a vontade, a
virtude, a verdade, a magnificncia; em seguida, vm nove predicados relativos: a diferena, a
unanimidade, a contraposio, o princpio, a metade, o fim, o ser maior, o ser igual e o ser
menor; em terceiro lugar, temos as perguntas: sim?, qu?, de onde?, por qu?, quo grande?,
de que qualidade?, quando?, de onde?, como e com qu?, a ltima das quais encerra duas
determinaes; em quarto lugar, aparecem nove substncias (esse), a saber: Deus (divinum), os
anjos (angelicum), o cu (coeleste), o homem (humanum), Imaginativum, Sensitivum, Vegetativum,
Elementativum; em quinto lugar, nove acidentes, quer dizer, nove critrios naturais: a
quantidade, a qualidade, a relao, a atividade, a paixo, o ter, a situao, o tempo e o lugar;
por ltimo, nove critrios morais, que so as virtudes: a justia, a prudncia, a valentia, a
temperana, a f, a esperana, o amor, a pacincia e a piedade, e nove vcios: a inveja, a clera,
a inconstncia, a avareza, a mentira, a gula, a devassido, o orgulho e a preguia (acedia). Todos
esses crculos tinham de ser colocados necessariamente de determinado modo para poder dar
como resultado as combinaes desejadas. Conforme as regras de colocao, segundo as
quais todas as substncias recebem os predicados absolutos e relativos adequados a estes,
deviam ser esgotados a cincia geral, a verdade e o conhecimento de todos os objetos
concretos. [Roc81].
Os procedimentos estabelecidos por Llio no foram muito vlidos. Mas o mais
importante em Llio a idia concebida, genial sob certo aspecto. Tanto que seu trabalho
influenciar muitos matemticos famosos, do nvel de um Cardano (sculo XVI), Descartes
(sculo XVII), Leibniz (sculos XVII/XVIII), Cantor (sculos XIX/XX), entre outros.
Raimundo Llio considerado o precursor da anlise combinatria. Como dir R. Blanch:
encontramos em Llio, pelos menos em germe e por mais que ele no soubesse tirar partido
disso por inabilidade, duas idias que iriam se tornar predominantes nas obras de Lgica,
primeiro em Leibniz e depois em nossos contemporneos: as idias de caracterstica e de
clculo (...). Com a ajuda desse simbolismo, tais autores pretendem permitir que as operaes
mentais, freqentemente incertas, fossem substitudas pela segurana de operaes quase
mecnicas, propostas de uma vez por todas ([RA91], volume III).
Pode-se ver em Raimundo Llio os primrdios do desenvolvimento da Lgica
Matemtica, isto , de um novo tratamento da cincia da Lgica: o procurar dar-lhe uma
forma matemtica. O interesse deste trabalho caracterizar a Lgica Matemtica, sem
aprofundar nas discusses filosficas ainda em aberto sobre os conceitos lgica
matemtica e lgica simblica, se uma lgica distinta da cincia matemtica ou no, pois
sem dvida alguma a Computao emergir dentro de um contexto da evoluo deste novo
tratamento da lgica.
46
47
48
4.2.1
Lembrando algo que j foi dito, importante ressaltar que desde suas origens aristotlicas a lgica havia assumido claramente
alguns recursos fundamentais, como a estrutura formal, o emprego de certo grau de simbolismo, a sistematizao
axiomtica e o identificar-se com a tarefa de determinar as leis do discurso (tomando, por exemplo, a linguagem como
tema de estudo), caractersticas que foram assumidas pela Lgica Moderna.
49
Figura 9: Leibniz
Leibniz deu-se conta de tudo isto e concebeu, tambm para a deduo lgica, uma
desvinculao anloga com respeito ao contedo semntico das proposies, a qual alm de
aliviar o processo de inferncia do esforo de manter presente o significado e as condies de
verdade da argumentao, pusesse a deduo a salvo da fcil influncia que sobre ela pode
exercer o aspecto material das proposies. Deste modo coube a ele a descoberta da
verdadeira natureza do clculo em geral, alm de aproveitar pela primeira vez a
oportunidade de reduzir as regras da deduo lgica a meras regras de clculo, isto , a regras
cuja aplicao possa prescindir da considerao do contedo semntico das expresses.
Leibniz influenciou seus contemporneos e sucessores atravs de seu ambicioso
programa para a Lgica. Esse programa visava criar uma linguagem universal baseada em um
alfabeto do pensamento ou characteristica universalis, uma espcie de clculo universal para o
raciocnio.
50
Na viso de Leibniz a linguagem universal deveria ser como a lgebra ou como uma
verso dos ideogramas chineses: uma coleo de sinais bsicos que padronizassem noes
simples no analticas. Noes mais complexas teriam seu significado atravs de construes
apropriadas envolvendo sinais bsicos, que iriam assim refletir a estrutura das noes
complexas e, na anlise final, a realidade. O uso de numerais para representar noes no
analticas poderia tornar possvel que as verdades de qualquer cincia pudessem ser
calculadas por operaes aritmticas, desde que formuladas na referida linguagem universal
([Bri79a], volume XI). Com isso se poderia substituir o genrico dialoguemos por um mais
exato calculemos. Conforme o prprio Leibniz, Quando orietur controversiae, non magis
disputatione opus erit inter duo philosophos, quam inter duo computistas. Sufficet enin
calamos in manus sumere, sedereque ad bacos et sib mutuo (accito si placet amico) dicere:
calculemus *. As discusses no seriam, assim, disputas controvertidas, de resultado duvidoso
e final no concludo, mas sim formas de clculo que estabelecessem a maior ou menor
verdade de uma proposio.
Essa idia de Leibniz sustentava-se em dois conceitos intimamente relacionados: o
de um simbolismo universal e o de um clculo de raciocnio (isto , um mtodo quase
mecnico de raciocnio) . Isso, para a Histria da Computao, tem um particular interesse,
pois esse calculus ratiocinator de Leibniz contm o embrio da machina ratiocinatrix, a mquina de
raciocinar buscada por Turing e depois pelos pesquisadores dentro do campo da Inteligncia
Artificial. Leibniz, assim como Boole, Turing, e outros basta lembrar o baco, o
Quando aparecer uma controvrsia, j no haver necessidade de uma disputa entre dois filsofos mais do que a que h
entre dois calculistas. Bastar, com efeito, tomar a pena na mo, sentar-se mesa (ad abacus) e (ao convite de um amigo,
caso se deseje), dizer um ao outro: Calculemos! [Boc66]
Deve-se observar que destas conceituaes descenderam a notao da matemtica e da lgica do sculo XX.
51
O problema da notao
O smbolo no uma mera formalidade, a verdadeira essncia da lgebra. Sem o
smbolo, o objeto somente uma percepo humana e reflete todas as fases sob as
quais os sentidos humanos o captam; substitudo por um smbolo o objeto torna-se
uma completa abstrao, um mero operando sujeito a determinadas operaes
especficas.
Tobias Dantzig
53
palavra. Ela agora um smbolo cujo significado pode transcender o objeto simbolizado. O
x de uma equao tem existncia prpria, independente do objeto que represente.
Importante tambm o fato de se poder operar com letras e transformar expresses
algbricas com literais, mudando um sentena qualquer para diferentes formas com sentido
equivalente. A lgebra no se torna somente uma maneira mais econmica de se escrever,
mas generaliza procedimentos. Por exemplo: expresses tais como 2x + 3, 3x 5, x2 + 4x +7
tinham antes uma individualidade prpria, eram fechadas em si mesmas atravs das palavras
com que eram expressas. Sua resoluo dependia de uma apropriada interpretao e
manipulao. Com a notao atravs de literais possvel passar de um individual para um
coletivo. A forma linear ax+b, a forma quadrtica ax2+bx+c so agora espcies, moldes
especficos, e graas a isso foi possvel o nascimento da teoria geral das funes que a base
de toda matemtica aplicada [Dan54].
A notao de Leibniz usada para o clculo contribuiu mais do que a de Newton para
a difuso das novas idias sobre integrais *, na poca. Pense-se por um momento como se
resolve ax = b. Imediatamente pode ser dado como resposta que x = b/a e haveria surpresa
se algum respondesse a = b/x. que normalmente se usam as ltimas letras do alfabeto para
representar as incgnitas e as do comeo para representar as quantidades conhecidas. Mas
isso no foi sempre assim, e somente no sculo XVII, a partir de Vite e com Descartes, tais
convenes comearam a ser usadas [Boy74].
Geralmente tende-se a apreciar o passado desde o sofisticado posto de observao
do tempo atual. necessrio valorizar e revalorizar este difcil e longo passado de pequenas e
grandes descobertas. Leibniz, em seu esforo no sentido de reduzir as discusses lgicas a
uma forma sistemtica que pudesse ser universal, aproximou-se da Lgica Simblica formal:
smbolos ou ideogramas deveriam ser introduzidos para representar um pequeno nmero de
conceitos fundamentais necessrios ao pensamento. As idias compostas deveriam ser
formadas a partir desses alfabetos do pensamento humano, do mesmo modo como as
frmulas so desenvolvidas na Matemtica [Boy74]. Isso o levou, entre outras coisas, a
pensar em um sistema binrio para a Aritmtica e a demonstrar a vantagem de tal sistema
sobre o decimal para dispositivos mecnicos de calcular . A idia de uma lgica estritamente
formal da construo de sistemas sem significado smntico, interpretveis a posteriori no
tinha surgido. Duzentos anos mais tarde, George Boole formularia as regras bsicas de um
sistema simblico para a lgica matemtica, refinado posteriormente por outros matemticos
e aplicado teoria dos conjuntos ([Bri79a], volume III). A lgebra booleana constituiu a base
para o projeto de circuitos usados nos computadores eletrnicos digitais.
Newton e Leibniz descobriram o princpio fundamental do clculo de que uma integrao pode ser feita mais facilmente
pela inverso do processo de diferenciao, no clculo das reas[RA91].
Em 1673 Gottfried Leibniz, usando uma engrenagem dentada, construiu uma calculadora capaz de multiplicar, na qual um
nmero era repetido e automaticamente somado a um acumulador.
54
A passagem do sculo XVIII para o sculo XIX marca o incio de um novo tempo
na Histria da matemtica, e, mais do que qualquer perodo precedente, mereceu ser
conhecido como a sua Idade urea, e que afetar diretamente a evoluo em direo ao
surgimento e fundamentao da Cincia da Computao. O que se acrescentou ao corpo da
Matemtica durante esses cem anos, supera de longe tanto em quantidade como em qualidade
a produo total combinada de todas as pocas precedentes. Com uma possvel exceo do
perodo conhecido como Idade herica, na Grcia antiga, foi uma das mais revolucionrias
etapas do desenvolvimento dessa cincia, e, conseqentemente, tambm da Computao.
Ser particularmente objeto de estudo a evoluo da Lgica Simblica ou Lgica
Matemtica que teve Leibniz como predecessor distante.
A partir de meados do sculo XIX, a lgica formal * se elabora como um clculo
algbrico, adotando um simbolismo peculiar para as diversas operaes lgicas. Graas a esse
novo mtodo, puderam-se construir grandes sistemas axiomticos de lgica, de maneira
parecida com a matemtica, com os quais se podem efetuar com rapidez e simplicidade
raciocnios que a mente humana no consegue espontaneamente.
A Lgica Simblica Lgica Matemtica a partir daqui , tem o mesmo objeto que
a lgica formal tradicional: estudar e fazer explcitas as formas de inferncia, deixando de lado
por abstrao o contedo de verdades que estas formas possam transmitir [San82]. No
se trata aqui de estudar Lgica, mas de chamar a ateno para a perspectiva que se estava
abrindo com o clculo simblico: a automatizao de algumas operaes do pensamento. A
Mquina de Turing, como ser visto, conceito abstrato que efetivamente deu incio era dos
A Lgica Formal remonta particularmente a Aristteles, como visto no captulo dos Primrdios, que a fundiu com a lgica
filosfica em um conjunto de obras que posteriormente chamou-se Organon. A lgica formal analisa detalhadamente as
diversas formas que podem adotar as operaes lgicas, em particular o raciocnio, com uma relativa independncia dos
seus contedos concretos.
55
Sem Boole, que era um pobre professor autodidata em Matemtica, o caminho pelo
qual se ligou a Lgica Matemtica talvez demorasse muito a ser construdo. Com relao
Computao, se a Mquina Analtica de Babbage (ver captulo sobre a Pr-Histria Tecnolgica)
56
foi apenas uma tentativa bem inspirada (que teve pouco efeito sobre os futuros construtores
do computador), sem a lgebra booleana, no entanto, a tecnologia computacional no teria
progredido com facilidade at a velocidade da eletrnica.
Durante quase mais de dois mil anos, a lgica formal dos gregos, conhecida pela sua
formulao silogstica, foi universalmente considerada como completa e incapaz de sofrer
uma melhora essencial. Mais do que isso, a lgica aristotlica parecia estar destinada a ficar nas
fronteiras da metafsica, j que somente se tratava, a grosso modo, de uma manipulao de
palavras. No se havia ainda dado o salto para um simbolismo efetivo, embora Leibniz j
tivesse aberto o caminho com suas idias sobre o alfabeto do pensamento *.
Foi Boole, em sua obra The Mathematical Analysis of Logic (1847), quem forneceu uma
idia clara de formalismo, desenvolvendo-a de modo exemplar. Ele percebeu que poderia ser
construda uma lgebra de objetos que no fossem nmeros, no sentido vulgar, e que tal
lgebra, sob a forma de um clculo abstrato, seria capaz de ter vrias interpretaes [Kne68].
O que chamou a ateno na obra foi a clara descrio do que seria a essncia do clculo, isto
, o formalismo, procedimento, conforme descreveu, cuja validade no depende da
interpretao dos smbolos mas sim da exclusiva combinao dos mesmos [Boc66]. Ele
concebeu a lgica como uma construo formal qual se busca posteriormente uma
interpretao.
Boole criou o primeiro sistema bem sucedido para o raciocnio lgico, tendo sido
pioneiro ao enfatizar a possibilidade de se aplicar o clculo formal em diferentes situaes e
fazer clculos de acordo com regras formais, desconsiderando as interpretaes dos smbolos
usados. Atravs de smbolos e operaes especficas, as proposies lgicas poderiam ser
reduzidas a equaes e as equaes silogsticas poderiam ser computadas de acordo com as
regras da lgebra ordinria. Pela aplicao de operaes matemticas puras e contando com o
conhecimento da lgebra booleana possvel tirar qualquer concluso que esteja contida
logicamente em qualquer conjunto de premissas especficas.
De especial interesse para a Computao, sua idia de um sistema matemtico
baseado em duas quantidades, o Universo e o Nada, representados por 1 e 0, o levou a
inventar um sistema de dois estados para a quantificao lgica. Mais tarde os construtores do
primeiro computador entenderam que um sistema com somente dois valores pode compor
mecanismos para perfazer clculos .
George Boole estava convencido de que sua lgebra no somente tinha
demonstrado a equivalncia entre Matemtica e Lgica, como representava a sistematizao
do pensamento humano. Na verdade a cincia, depois dele, principalmente com Husserl, pai
da Fenomenologia, demonstrar que a razo humana mais complicada e ambgua, difcil de
ser conceituada e mais poderosa que a lgica formal, mas do ponto de vista da Matemtica e
da Computao, a lgebra booleana foi importante, e s os anos fizeram ver, pois a lgica at
Leibniz j tinha compreendido no sculo XVII que h alguma semelhana entre a disjuno e conjuno de conceitos e a
adio e multiplicao de nmeros mas foi difcil para ele formular precisamente em que consistia essa semelhana e como
us-la depois como base para um clculo lgico [Kne68].
A base do hardware sobre a qual so construdos todos os computadores digitais formada de dispositivos eletrnicos
diminutos denominados portas lgicas. um circuito digital no qual somente dois valores lgicos esto presentes. Para se
descrever os circuitos que podem ser construdos pela combinao dessas portas lgicas necessria a lgebra booleana.
57
Frege (1848 - 1925) e Peano (1858 - 1932) trabalharam para fornecer bases mais
slidas lgebra e generalizar o raciocnio matemtico [Har96].
Gottlob Frege ocupa um lugar de destaque dentro da Lgica. Embora no to
conhecido em seu tempo e bastante incompreendido, deve-se ressaltar que ainda hoje tornase difcil descrever a quantidade de conceitos e inovaes, muitos revolucionrios, que
elaborou de forma exemplar pela sua sistematizao e clareza. Muitos autores comparam seu
Begriffsschrift aos Primeiros Analticos de Aristteles, pelos pontos de vista totalmente geniais.
Frege foi o primeiro a formular com preciso a diferena entre varivel e constante,
assim como o conceito de funo lgica, a idia de uma funo de vrios argumentos e o conceito de
quantificador . A ele se deve uma conceituao muito mais exata da teoria aristotlica sobre
sistema axiomtico, assim como uma clara distino entre lei e regra, linguagem e
metalinguagem. Ele autor da teoria da descrio e quem elaborou sistematicamente o
conceito de valor. Mas isto no tudo, pois todas estas coisas so apenas produtos de um
empreendimento muito maior e fundamental, que o inspirou desde suas primeiras pesquisas:
uma investigao das caractersticas daquilo que o homem diz quando transmite informao
por meio de juzos.
Na verdade o que Frege chamou de Lgica assim como seus contemporneos
Russell e Wittgenstein no o que hoje chamado Lgica, fruto do formalismo e da teoria
dos conjuntos que acabaram por predominar entre os matemticos, mas sim o que se
denomina semntica, uma disciplina sobre o contedo, natureza desse contedo e estrutura.
Ele gastou considervel esforo na separao de suas concepes lgicas daquelas concepes
dos 'lgicos computacionais' como Boole, Jevons e Schreder. Estes estavam, como j foi
dito, empenhados no desenvolvimento de um clculo do raciocnio como Leibniz propusera,
mas Frege queria algo mais ambicioso: projetar uma lngua characteristica. Dizia ele que uma das
*
Jevons foi o primeiro a compreender que os mtodos booleanos podem ser reduzidos s regras do clculo elementar, com a
possibilidade, portanto, de ser mecanizados. Em 1869 conseguiu construir uma mquina lgica apresentada no ano
seguinte ao pblico: era um dispositivo de 21 chaves para testar a validade de inferncias na lgica equacional. Algumas das
caractersticas deste dispositivo foram usadas mais tarde na implementao do computador. A mquina est conservada no
museu de Histria da Cincia em Oxford.
O emprego de quantificadores para ligar variveis, principal caracterstica do simbolismo lgico moderno e que o torna
superior em alguns aspectos linguagem vulgar e ao simbolismo algbrico de Boole, est entre as maiores invenes
intelectuais do sculo XIX [Kne68].
58
tarefas da filosofia era romper o domnio da palavra sobre o esprito humano. Frege procurou
usar um sistema simblico, que at ento somente se pensava para a matemtica, tambm
para a filosofia: um simbolismo que retratasse o que se pode dizer sobre as coisas. Ele
buscava algo que no somente descrevesse ou fosse referido a coisas pensadas, mas o prprio
pensar [Cof91].
Os lgicos tradicionais estavam basicamente interessados na soluo de problemas
tradicionais de lgica, como por exemplo a validade. O objetivo de Frege foi mais alm:
entrou no campo da semntica, do contedo, do significado, onde encontrou o fundamento
ltimo da inferncia, da validade, etc. Frege acabou derivando para uma filosofia da lgica e
da matemtica e influenciou diretamente a Russell, David Hilbert, Alonzo Church e Carnap.
Destes, Hilbert e Church tm um papel decisivo na Histria conceitual da Cincia da
Computao.
Frege desejava provar que no somente o raciocnio usado na matemtica, mas
tambm os princpios subjacentes ou seja, toda a matemtica so pura lgica. Porm ele
expressou suas buscas e resultados pelos quais acabou sendo considerado um dos pais da
Lgica moderna, de uma forma excessivamente filosfica, em uma notao matemtica no
convencional. O mrito maior dele foi elaborar uma concepo lgica mais abrangente do
que a Lgica de Aristteles. Em um procedimento que lembra a characteristica universalis *,
Frege construiu um sistema especial de smbolos para desenvolver a lgica de maneira exata e
foi muito alm das proposies e dos argumentos. Em sua grandes obras, Begriffsschrift, eine der
arithmetischen nachgebildete Formelsprache des reinen Denkens (Ideografia, uma linguagem formalizada
do pensamento puro construda de modo aritmtico) e Grundgesitze der Arithmetik.
Begriffsschriflich abgeleitet (Leis Fundamentais da Aritmtica, Ideograficamente Deduzidas), est
contida de modo explcito e plenamente caracterizado uma srie de conceitos conectivos,
funo, funo proposicional, quantificadores, etc. que seriam vitais para a Lgica
Matemtica a partir de ento [Gom97].
Foi atravs do contato com a obra de Frege que Bertrand Russell (1872 - 1970)
procurou levar avante a idia de construir toda a matemtica sobre bases lgicas, convencido
de que ambas so idnticas. Os postulados fregianos , adotados primeiramente por Peano,
foram incorporados por Russell, que estendeu as teses logicistas de Frege Geometria e s
disciplinas matemticas em geral.
Peano tinha objetivo semelhante a Frege, mas mais realista. Ele desenvolveu uma
notao formal para raciocnio matemtico que procurasse conter no s a lgica matemtica,
mas todos os ramos mais importantes dela. O simbolismo de Peano e seus axiomas dos
quais dependem muitas construes rigorosas na lgebra e na anlise representam a mais
notvel tentativa do sculo XIX de reduzir a aritmtica comum, e portanto a maior parte da
matemtica, a um puro simbolismo formal. Aqui o mtodo postulacional atingiu novo nvel
de preciso, sem ambigidade de sentido, sem hipteses ocultas [Boy74]. Para maiores
detalhes, ver anexo sobre A Aritmtica de Peano.
Como j foi dito, a idia lanada por Leibniz de uma linguagem filosfica que seria um simbolismo atravs do qual o homem
estaria em condies de expressar seus pensamentos com plena clareza e dirimir dvidas atravs de simples clculos.
59
60
sobre os fundamentos da matemtica. O esforo dos matemticos foi o de dar lgebra uma
estrutura lgica, procurando caracterizar a matemtica no tanto pelo seu contedo quanto
pela sua forma.
Bochenski [Boc66], falando da histria da Lgica Matemtica, diz que a partir de
1904, com Hilbert, inicia-se um novo perodo dessa cincia ento emergente, que se
caracteriza pela apario da Metalgica * (Hilbert, Lwenheim e Scholem) e, a partir de 1930,
por uma sistematizao formalista dessa mesma Metalgica. Iniciaram-se discusses sobre o
valor e os limites da axiomatizao, o nexo entre Lgica e Matemtica, o problema da verdade
(Hilbert, Gdel, Tarski).
A Metalgica, em sua vertente sinttica ocupa-se das propriedades externas dos
clculos, como por exemplo, a consistncia, a completude, a decidibilidade dos sistemas
axiomticos e a independncia dos axiomas. Hilbert, Gdel e Church so autores nesse
campo. Em sua parte semntica, a Metalgica dirige-se ao significado dos smbolos, dos
clculos com relao a um determinado mundo de objetos. Tarski, Carnap e Quino, entre
outros se interessaram por estas questes.
Apareceram tambm novos sistemas lgicos: as lgicas naturais, de Gentzen e
Jaskowski, lgica polivalente de Post e Lukasiewicz, e a lgica intuicionista de Heytings.
Complementando essas idias cabe destacar alguns sistemas originais de outros
matemticos como Schnfinkel (1924), Curry (1930), Kleene (1934), Rosser (1935) e o j
citado Alonzo Church (1941). Deve-se lembrar que quase todos estes ltimos, junto com o
logicista ingls Alan M. Turing, acabaram por definir, antes mesmo de existir o computador
propriamente, a natureza da computao, e as implicaes e limites do pensamento humano
atravs de uma mquina.
[Sin99])
62
O paradoxo de Russel, o paradoxo de Cantor, o paradoxo de Burati Forti, o paradoxo de Richard, etc. Para exemplificar,
vamos ao de Cantor, descoberto por ele prprio em 1899: se S o conjunto de todos os conjuntos, ento seus
subconjuntos devem estar tambm entre os seus elementos. Conseqentemente, o nmero cardinal de S no pode ser
menor do que o do conjunto dos subconjuntos de S. Mas isso, pelo teorema do prprio Cantor, deveria ocorrer!
Basta ler as palavras do matemtico Sylvester em sua controvrsia com Huxley. Dizia que a matemtica se origina
diretamente das foras e atividades inerentes da mente humana, e da introspeco continuamente renovada daquele
mundo interior do pensamento em que os fenmenos so to variados e exigem ateno to grande quanto os do mundo
fsico exterior. Para ele, a matemtica era revelar as leis da inteligncia humana, assim como a fsica revela as leis do
mundo dos sentidos [Cos77].
63
A tese logiscista compe-se de duas partes: 1)Toda idia matemtica pode ser definida por intermdio de conectivos lgicos
(classe ou conjunto, implicao, etc.); 2)Todo enunciado matematicamente verdadeiro pode ser demonstrado a partir de
princpios lgicos (no contradio, terceiro excludo, etc.), mediante raciocnios puramente matemticos.
Para Brower, fundador desta escola na verdade um radicalizador das teses de Kronecker que no aceitava a teoria dos
conjuntos o saber matemtico escapa a toda e qualquer caracterizao simblica e se forma em etapas sucessivas que no
podem ser conhecidas de antemo: a atividade do intelecto cria e d forma a entes matemticos, aproximando-se do
apriorismo temporal de Kant.
Os logicistas tiveram de apelar a princpios extra-lgicos axioma de Zermelo, axioma do infinito que ainda hoje
encontram-se sujeitos a calorosos debates e fortes reparos.
Caminho praticado por Hilbert no seu famoso trabalho Fundamentos da Geometria (1899), onde axiomatizou de modo
rigoroso a geometria euclidiana.
64
reconstruir logicamente o conhecimento matemtico acabou sendo liderado por essa figura,
talvez a mais eminente da poca.
No dia 8 de agosto de 1900, Hilbert deu uma palestra histrica no Congresso
Internacional de Matemtica em Paris. Ele apresentou 23 problemas no-resolvidos da
matemtica que acreditava serem de imediata importncia. Alguns problemas relacionavam-se
com reas mais gerais da matemtica, mas a maioria deles estava ligada aos fundamentos
lgicos dessa cincia. Tais problemas deveriam focalizar a ateno do mundo matemtico e
fornecer um programa de pesquisas. Hilbert queria unir a comunidade para ajud-lo a realizar
sua viso de um sistema matemtico livre de dvidas ou inconsistncias[Sin99]. Todos esses
estudos denominaram-se Metamatemtica ou Metalgica, pela conectividade das duas.
Ele props-se a demonstrar a coerncia da aritmtica *, para depois estender tal
coerncia aos mbitos dos demais sistemas. Apostou na possibilidade da criao de uma
linguagem puramente sinttica, sem significado, a partir da qual se poderia falar a respeito da
verdade ou falsidade dos enunciados. Tal linguagem foi e chamada de sistema formal, e est
resumida no anexo A concepo formalista da matemtica. Isto, que fazia parte do centro da
doutrina formalista, mais tarde estimularia Turing a fazer descobertas importantes sobre as
capacidades das mquinas. Registre-se tambm que John von Neumann, a quem muitos
atribuem a construo do primeiro computador, era um aluno de Hilbert e um dos principais
tericos da escola formalista .
No incio do sculo XX a matemtica estava reduzida a 3 grandes sistemas axiomticos: aritmtica, anlise e conjunto, sendo
o mais fundamental o primeiro. Era natural que ele escolhesse esse sistema.
John von Neumann falava 5 lnguas e foi um brilhante logicista, matemtico e fsico. Alm de lhe ser atribuda a inveno
do primeiro computador, ele estava no centro do grupo que criou o conceito de programa armazenado, que
potencializou extremamente o poder computacional das mquinas que ento surgiam.
65
A simplicidade do problema de Hilbert apenas aparente, e somente aps 70 anos de esforos foi encontrada a soluo, por
Matijasevic, um matemtico russo de apenas 22 anos na poca. uma soluo bastante complexa, dependendo tanto de
resultados da Teoria do Nmeros, conhecidos h muitssimos anos, como do trabalho anterior de trs americanos, Martin
Davis, Julia Robinson e Hilary Putnan, que por sua vez baseia-se em certos resultados fundamentais sobre lgica e
algoritmos descobertos na dcada de 30 por Kurt Gdel, Alan Turing, Emil Post, Alonso Church e Stephen Kleene. A
resposta a esse problema de Hilbert : tal algoritmo no existe: o dcimo problema indecidvel.
66
para qualquer tipo de conhecimento, matemtico ou no. Anos mais tarde, em 1928, no
Congresso Internacional de Matemticos, realizado em Bolonha, Itlia, Hilbert lanou um
novo desafio, que na verdade somente enfatizava aspectos do segundo e do dcimo problema
j descritos. Hilbert queria saber se possvel provar toda assertiva matemtica verdadeira.
Estava buscando algo como uma mquina de gerar enunciados matemticos verdadeiros:
uma vez alimentada com um enunciado matemtico, poderia dizer se o enunciado falso ou
verdadeiro [Cas97]. um problema que est relacionado com o citado projeto hilbertiano da
busca de um sistema formal completo e consistente.
Ao mesmo tempo, em 1927, com 22 anos, von Neumann publicou 5 artigos que
atingiram fortemente o mundo acadmico. Trs deles consistiam em crticas fsica quntica,
um outro estabelecia um novo campo de pesquisas chamado Teoria dos Jogos, e, finalmente, o
que mais impactou o desenvolvimento da Computao: era o estudo do relacionamento entre
sistemas formais lgicos e os limites da matemtica. Von Neumann demonstrou a
necessidade de se provar a consistncia da matemtica, um passo importante e crtico tendo
em vista o estabelecimento das bases tericas da Computao (embora ningum tivesse esse
horizonte por enquanto).
J foi citado, no captulo sobre o Desenvolvimento da Lgica Matemtica, o desafio dos
matemticos do incio do sculo de aritmetizar a anlise. Eles estavam de acordo, no que diz
respeito s proposies geomtricas e outros tipos de afirmaes matemticas, em que
poderiam ser reformuladas e reduzidas a afirmaes sobre nmeros. Logo, o problema da
consistncia da matemtica estava reduzido determinao da consistncia da aritmtica.
Hilbert estava interessado em dar uma teoria da aritmtica, isto , um sistema formal que fosse
finitisticamente descritvel *, consistente, completo e suficientemente poderoso para descrever
todas as afirmaes que possam ser feitas sobre nmeros naturais. O que Hilbert queria em
1928 era que, para uma determinada afirmao matemtica, por exemplo, a soma de dois
nmeros mpares sempre um nmero par, houvesse um procedimento que, aps um
nmero finito de passos, parasse e indicasse se aquela afirmao poderia ou no ser provada
em determinado sistema formal, suficientemente poderoso para abranger a aritmtica
ordinria [Cas97]. Isto est diretamente relacionado com o trabalho de Gdel e Alan Turing.
Pode-se afirmar que, em geral, a lgica matemtica prestou naqueles tempos maior
ateno linguagem cientfica, j que seu projeto era o da elaborao de uma linguagem lgica de
grande preciso, que fosse boa para tornar transparentes as estruturas lgicas de teorias
cientficas. Tal projeto encontrou seus limites, tanto na ordem sinttica como na ordem
semntica (por exemplo, com os clebres teoremas de limitao formal). Este fenmeno
levou a uma maior valorizao da linguagem ordinria, que, apesar de suas flutuaes e
imprecises, encerram uma riqueza lgica que os clculos formais no conseguem recolher de
todo. Dentro da prpria matemtica como se ver mais adiante com Gdel h verdades
que no podem ser demonstradas mediante uma deduo formal, mas que podem ser
demonstradas o teorema da incompletude de Gdel uma prova disso mediante um
raciocnio metamatemtico informal. A partir desse propsito de construo de uma
O termo finitstico usado por vrios autores. Hilbert quis dizer que tal sistema deveria ser construdo com um nmero finito
de axiomas e regras e toda prova dentro do sistema deveria ter um nmero finito de passos.
67
linguagem ideal surgiu a filosofia da linguagem (Moore, Wittgenstein, Geach em sua segunda
etapa) colocando as questes lgicas sobre nova tica [San82].
Na verdade, tanto a lgica matemtica em sentido estrito como os estudos de
semntica e filosofia da linguagem depararam-se com problemas filosficos que no se
resolvem somente dentro de uma perspectiva lgica. H questes de fundo da lgica
matemtica que pertencem j a uma filosofia da matemtica.
Todos esses desafios abriram uma porta lateral para a Computao e deram origem
a um novo e decisivo captulo na sua Histria. Da tentativa de resolv-los ocorreu uma
profunda revoluo conceitual na Matemtica o Teorema de Gdel e surgiu o
fundamento bsico de todo o estudo e desenvolvimento da Computao posterior: a
Mquina de Turing.
Um pouco de histria
Nascido em Brnn (hoje Brno, na Repblica Tcheca), Kurt Friedrich Gdel (ao
naturalizar-se norte-americano, em 1948, ele deixou o segundo nome) instala-se em Viena em
1924. Logo se apaixona pela cidade, por sua vida universitria e atmosfera intelectual. Requisita
a nacionalidade austraca e, em 26 de fevereiro de 1929, trs dias depois da morte de seu pai,
deixa oficialmente de ser tcheco. Apesar do luto, termina sua tese de doutorado, Sobre a
completude do clculo lgico. Nessa monografia datilografada de apenas 30 pginas, o jovem
matemtico, ento com 23 anos, expe diversos resultados extremamente importantes para a
lgica. Deduz que todo sistema de axiomas de primeira ordem no-contraditrio possui um
modelo. Isto , que existe um conjunto de objetos que verificam os axiomas do sistema.
Existem duas definies de completude:
1) Um sistema de axiomas completo (como uma caixa de ferramentas bem provida,
que permite realizar todos os trabalhos necessrios) quando todos os teoremas verdadeiros da
teoria em pauta (por exemplo, a aritmtica) podem ser deduzidos a partir dele. Esta a
completude semntica.
*
Parte do texto que se segue, a partir do item Um pouco de histria vem de maravilhoso artigo publicado na revista Scientific
American Brasil, edio Gnios da Cincia Matemtica: A vanguarda matemtica e os limites da razo
68
respeito a dois conjuntos M e N cuja natureza, inicialmente, no especificada. Esses axiomas so: 1) M e N tm o mesmo
nmero de elementos; 2) Nenhum elemento de N contm mais de 2 elementos de M; 3) Nenhum elemento de M est
contido em mais de dois elementos de N. Esse sistema coerente, pois se pode associar a ele o seguinte modelo geomtrico,
onde se verifica os trs axiomas (M o conjunto de vrtices do quadrado e N o conjunto de seus lados):
M
M
N
N
N
N
69
seguidores) para tornar mais precisa a linguagem. Segundo ele, no existe na matemtica pura,
assim como em qualquer outra rea, uma linguagem absolutamente segura, isto , uma
linguagem capaz de excluir todo mal-entendido e na qual a memria evite todo erro (por
exemplo, a confuso entre entes matemticos). Como conseqncia, parece-lhe impossvel
remediar essa situao ao submeter, como faz a escola formalista, a linguagem matemtica a
um tratamento matemtico e pela tentativa de exprimi-Ia em uma linguagem de segunda
ordem ou em uma metalinguagem. O desacordo entre Gdel e Brouwer acerca do assunto
apenas uma questo de interpretao: enquanto Brouwer v como confisso de fraqueza a
impossibilidade de a linguagem atingir preciso absoluta, Gdel, ao contrrio, interpreta essa
mesma dificuldade como um indcio de que a matemtica inesgotvel, e que normal que ela
no se deixe circunscrever facilmente.
Os apontamentos feitos em 23 de dezembro de 1929 pelo filsofo Rudolf Carnap,
depois de trs horas de conversa com Gdel acerca da matemtica e do formalismo,
confirmam essa viso: Toda formalizao da matemtica envolve problemas que se podem
exprimir e explicitar na linguagem corrente, mas para os quais no existe expresso apropriada
dentro do prprio formalismo. Segue da (Brouwer foi citado nesse ponto) que a matemtica
inesgotvel: deve-se sempre retomar a seus incios, para `buscar nova fora nas fontes da
intuio'. No haveria, assim, nenhuma lngua characteristca unversalis, nenhuma lngua formal
para a totalidade da matemtica. (...) Ns dispomos apenas de uma linguagem, mas as sutilezas
construdas por nosso esprito so inesgotveis, porque se baseiam sempre em alguma nova
intuio.
O carter inesgotvel da matemtica fornecer a Gdel uma espcie de fio condutor
para suas pesquisas ulteriores, especialmente para o terema da incompletude.
Outro resultado que aparece na tese de Gdel, mas que adquire plena clareza
somente no artigo do Monatshefte, o teorema da compacticidade: para que um sistema com uma
infinidade enumervel de frmulas seja coerente necessrio e suficiente que cada parte finita
do sistema o seja. Esse teorema recebeu pouca ateno quando de sua publicao, sem dvda
devido aos preconceitos da poca em torno da noo de infinito. No entanto, ele iria se
tomar, a partir dos anos 40, uma das principais ferramentas conceituais para o
desenvolvimento da teoria de modelos.
Gdel evita explicitar em sua tese a noo de verdade. Mais tarde, ele diria que em
razo dos preconceitos filosficos da poca, um conceito de verdade matemtica diferente do
de demonstrabilidade parecia altamente suspeito e costumava ser rejeitado como desprovido
de significado.
Seu teorema da completude representa sem dvida um resultado notvel. Ainda
assim, para obter o posto de privatdozent que deseja, bem como o acesso carreira
universitria, ele precisa demonstrar alguma coisa maior. Compreende-se, desse modo, que,
apesar de toda a prudncia que j havia manifestado em sua tese, o gnio Gdel se dirija
precisamente pedra angular do programa de Hilbert: a demonstrao da coerncia (nocontradio) da anlise matemtica. Esse problema o segundo de uma lista de 23 que
Hilbert exps, em 1900, no Congresso Internacional de Matemtica. Tal lista era considerada,
poca, como um mapa para toda a matemtica do sculo XX. Aquele que conseguisse
70
resolver essa questo entraria para o panteo da matemtica e teria uma fulgurante carreira
universitria.
A idia de Gdel no era atacar diretamente o problema da no-contradio da
anlise; mas demonstrar que a anlise seria coerente se e somente se a aritmtica (teoria dos
nmeros) o fosse. Uma vez obtida essa coerncia relativa, bastava demonstrar a coerncia da
teoria dos nmeros, campo em que a utilizao de mtodos finitos parecia mais promissora.
Mesmo assim, o projeto era ousado, pois o mtodo de demonstrao da coerncia relativa
nunca havia sido utilizado fora da geometria (ele havia sido desenvolvido para demonstrar a
coerncia relativa da geometria no-euclidiana em relao geometria euclidiana). Gdel
penetra, assim, em territrio desconhecido.
O objetivo de Gdel no , absolutamente, provocar a queda de todo o programa
de Hlbert. Ao contrrio, ele se via como um dos matemticos da nova gerao aos quais o
grande Hilbert lanara seu apelo apenas dois anos antes, por ocasio do Congresso de Bolonha.
Aceita, portanto, a tradio de axiomatizao da aritmtica para elaborar sua demonstrao.
Uma axiomatizao da teoria dos nmeros havia sido oferecida pelo matemtico
alemo Richard Dedekind desde 1888 (ver anexo O mtodo axiomtico e as cincias dedutivas).
No entanto, para construir seu sistema de axiomas, Dedekind havia utilizado de maneira informal a
teoria dos conjuntos. Mais especificamente, ele colocara no mesmo nvel objetos, expresses
referidas a objetos e expresses referidas a outras expresses: sua aritmtica era de segunda ordem.
Deve-se ao matemtico italiano Guiseppe Peano a etapa seguinte, decisiva para a axiomatizao da
matemtica. Em sua obra Arithmetices principia nova methodo exposita, publicada um ano depois
dos trabalhos de Dedekind, Peano apresentou um sistema de axiomas para os nmeros naturais que
lembrava de maneira espantosa o sistema de Dedekind, apesar de concebido de modo
independente. O matemtico italiano, contudo, no construra sua teoria dentro do contexto
conjuntista, e introduziu uma notao (que, com uma ou outra modificao, tornou-se padro)
destinada a contornar certas ambigidades inerentes linguagem natural (ver anexo A Aritmtica
de Peano). Seu objetivo era captar, com o maior rigor possvel, a natureza lgica do princpio de
induo, ou seja, a lgica de segunda ordem.
Em linguagem matemtica, o princpio de induo condensado na frmula:
( (0) x ( (x) (s(x))) (x)
que se l da seguinte maneira: para toda propriedade , se vlida para zero e se a
proposio se vlida para um nmero x, vlida tambm para seu sucessor verdadeira, ento a
propriedade vlida para todo nmero natural.
Essa frase matemtica no uma frmula da lgica de predicados de primeira ordem,
mas de segunda ordem: com efeito, o primeiro quantificador (o primeiro todo) no est
aplicado a uma varivel que representa indivduos (nmeros naturais), mas a uma varivel que
representa propriedades desses indivduos (propriedades dos nmeros naturais). Em seu
sistema axiomtico, Peano segue exatamente essa formulao do princpio, e especifica que se
trata de um axioma de segunda ordem.
4.6.2
Verdade e demonstrabilidade
A distino entre axiomas de primeira e segunda ordem foi estabelecida pelo lgico
polons Alfred Tarski (1902-1983) para distinguir a linguagem-objeto de um estudo, ou seja, a
71
que
Grupo de pensadores que se reuniam em Viena (1926-1930) de onde surgiu o influente movimento conhecido como
positivismo lgico. Organizado por Moritz Schlick (Fsico), participavam, entre outros, os filsofos Rudolf Carnap e Karl
Popper, o socilogo e economista Otto Neurath, a matemtica Olga Neurath e seu marido, o matemtico Hans Hahn,
Karl Menger e Kurt Gdel. Entre os estrangeiros que assistiam a algumas reunies pode-se citar John von Neumann,
Willard van Orman Quine, Carl Hemper, Alfred Tarsky e Alfred Jules Ayer.
72
4.6.3
Outras conquistas
As concluses de Gdel no significam que seja impossvel construir uma prova absoluta e finitista da aritmtica. Significam
que nenhuma prova deste tipo pode ser construda dentro da aritmtica., isto , que esteja refletida a partir de dedues
formais da aritmtica. Outras provas metamatemticas da consistncia da aritmtica foram construdas, em particular por
Gerhard Gentzen, da escola de Hilbert, em 1936, embora no finitistas e no representveis dentro do clculo aritmtico,
ou seja, esto fora das condies previstas por Hilbert.
73
ser expresso em termos aritmticos [Coh87]. Isto significa que por mais complexa que se
torne a matemtica (ou qualquer outro sistema formal redutvel a ela), pode-se sempre
express-la em termos de operaes a serem executadas sobre nmeros, e as partes do
sistema podero ser manipuladas por regras de contagem e comparao.
Outro resultado fundamental do teorema da incompletude de Gdel pode-se
considerar como sendo a demonstrao de que h algumas funes sobre os inteiros que no
podem ser representadas por um algoritmo, ou seja, que no podem ser computadas *.
Posteriormente verificou-se a existncia de uma equivalncia entre o Teorema da
Incompletude de Gdel e o problema da parada de Turing.
Os resultados de Gdel tm conseqncias importantes tambm para a filosofia. Sabe-se, graas a ele, ser impossvel
construir uma mquina que, de modo consistente, resolva todos os problemas da matemtica, com os recursos de um
sistema (certos problemas, por assim dizer, no se deixam resolver com os recursos do sistema apenas). Mas de fato o
matemtico os resolve muitas vezes.
74
matemtica segura o conceito heurstico do que seja proceder a um cmputo. O resultado destas
pesquisas era fundamental para o desenvolvimento da matemtica: tratava-se de saber se
possvel haver um procedimento efetivo para se solucionar todos os problemas de uma
determinada classe que estivesse bem definida. O conjunto desses esforos acabou por
formar a fundamentao terica da que veio a ser chamada Cincia da Computao.
Os resultados de Gdel e o problema da deciso motivaram Turing primeiramente a
tentar caracterizar exatamente quais funes so capazes de ser computadas. Em 1936, Turing
consagrou-se como um dos maiores matemticos do seu tempo, quando fez antever aos seus
colegas que possvel executar operaes computacionais sobre a teoria dos nmeros por
meio de uma mquina que tenha embutida as regras de um sistema formal. Turing definiu
uma mquina terica que se tornou um conceito chave dentro da Teoria da Computao. Ele
enfatizou desde o incio que tais mecanismos podiam ser construdos e sua descoberta acabou
abrindo uma nova perspectiva para o esforo de formalizar a matemtica, e, ao mesmo
tempo, marcou fortemente a Histria da Computao.
A percepo genial de Turing foi a substituio da noo intuitiva de procedimento
efetivo por uma idia formal, matemtica. O resultado foi a construo de uma conceituao
matemtica da noo de algoritmo *, uma noo que ele modelou baseando-se nos passos que
um ser humano d quando executa um determinado clculo ou cmputo. Ele formalizou
definitivamente o conceito de algoritmo.
4.7.1
A Mquina de Turing
Palavras como procedimento efetivo e algoritmo representam conceitos bsicos dentro da Cincia da Computao. So
noes que na poca de Turing j eram utilizadas pelos matemticos, como por exemplo Frege e Hilbert (ver captulos que
tratam dessas duas importantes figuras).
75
Um ano mais tarde, trabalhando independentemente, Alan Post publicou seu trabalho sobre uma mquina semelhante de
Turing.
H um anexo onde se detalha um pouco mais sobre o funcionamento de uma Mquina de Turing.
Uma Mquina de Turing Universal uma Mquina de Turing especfica que l na sua fita de alimentao, alm de dados de
entrada, um programa que uma especificao de uma Mquina de Turing qualquer.
76
Outras participaes
Decifrando cdigos de guerra
Os computadores possuem conjuntos de instrues que correspondem a regras fixas de um sistema formal. Como provou
Gdel, existem problemas no solucionveis dentro de um mtodo axiomtico e, portanto, h problemas que um
computador no resolve. Esta afirmao no deve ser vista como algo pessimista dentro da Cincia da Computao: que
um computador no possa resolver todos os problemas no significa que no se possa construir uma mquina ou
algoritmo especfico para solucionar determinado tipo de problema [NN56].
77
reconhecida publicamente por muitos anos aps o conflito. Costuma-se dizer que a Primeira
Guerra Mundial foi a guerra dos qumicos e a Segunda Guerra Mundial, a guerra dos fsicos.
De fato, a partir da informao revelada nas ltimas dcadas, provavelmente verdade dizer
que a Segunda Guerra Mundial tambm foi a guerra dos matemticos. E no caso de uma
terceira guerra mundial sua contribuio seria ainda mais crtica.
Em toda sua carreira como decifrador de cdigos, Turing nunca perdeu de vista
seus objetivos matemticos. As mquinas hipotticas tinham sido substitudas por mquinas
reais, mas as questes esotricas permaneciam. Quando a guerra terminou, Turing tinha
ajudado a construir um computador, o Colossus, uma mquina inteiramente eletrnica com
1.500 vlvulas que eram muito mais rpidas do que os rels eletromecnicos usados nas
bombas *. Colossus era um computador no sentido moderno da palavra. Com sua sofisticao
e velocidade extra, ele levou Turing a consider-lo um crebro primitivo. Ele tinha memria,
podia processar informao, e os estados dentro do computador se assemelhavam aos estados
da mente. Turing tinha transformado sua mquina imaginria no primeiro computador
legtimo. Depois da guerra, Turing continuou a construir mquinas cada vez mais complexas
tais como o Automatic Computing Engine.
Para maiores detalhes sobre os episdios que envolveram Turing e a Mquina
Enigma, e de como foi decifrado o cdigo de guerra alemo, ver o anexo Turing e a Mquina
Enigma.
4.7.3.2
* A bomba (Bombe em ingls) era uma mquina eletromecnica, com vrios conjuntos de rotores, idnticos aos da mquina
geradora de cdigos secretos alem chamada Enigma(ver o anexo Turing e a Mquina Enigma). Ao contrrio da Enigma, os
rotores da Bombe rodavam automaticamente para percorrer todas as configuraes possveis. Quando encontrasse uma
configurao que tornasse compatvel o palavra adivinhada e o texto cifrado, a mquina parava e o cripto-analista iria testar
aquela configurao com o resto do texto cifrado numa Enigma; se o resultado no fosse correcto, re-inicializava a bombe para
continuar a procura.
78
mquina originalmente imaginada por ele tivesse sido construda imediatamente, os ingleses
no teriam amargado o atraso em relao aos seus colegas do outro lado do Atlntico.
Foi tambm durante a temporada do ACE que Turing comeou a explorar as
relaes entre o computador e os processos mentais, publicando um artigo, Computing
Machinery and Intelligence (1950), sobre a possibilidade da construo de mquinas que
imitassem o funcionamento do crebro humano. Pode uma mquina pensar, perguntava-se
em seu artigo, e alm de focar no assunto inteligncia das mquinas, Turing adquiriu especial
notoriedade ao tentar introduzir, atravs desse artigo, um teste para decidir se realmente pode
ou no uma mquina pensar imitando o homem. Em novembro de 1991, o Museu do
Computador de Boston realizou uma competio entre 8 programas que simulavam o Turing
test, ganho por um programa chamado PC Therapist III. O problema do teste de Turing de
natureza behaviorista, isto , somente observa o comportamento exterior, o que lhe d uma
carter um tanto reducionista. Srias controvrsias ocorreram e ainda ocorrem sobre esse
tema, que esta fora do escopo deste livro *.
4.7.3.3
Programao de computadores
Para uma melhor percepo, existe uma interessante literatura: R.Rucher, Mind Tools; D. Holfstadter, Gdel, Escher, Bach:
an eternal golden braid; R. Penrose, The emperor's new mind; J. Lucas, Minds, Machines and Gdel
79
von Neumann, foi o nico a falar sobre os desafios matemticos e lgicos da arte de
programar computadores e seria von Neumann quem completaria em um estilo elegante sua
idia de uma linguagem de programao mais sofisticada.
4.7.4
O triste fim
Teoricamente possvel que a tese de Church seja derrubada em algum futuro, caso surja um modelo alternativo de
computao que seja publicamente aceitvel como algo que preenche totalmente as exigncias de executar finitamente cada
passo e fazer operaes no executadas por qualquer Mquina de Turing. At a data da confeco deste trabalho no surgiu
ainda algo de consistente que viesse a superar a tese de Church (o "computador quntico" sobre o qual no h ainda uma
literatura sria disponvel, para se poder falar algo dele nesse trabalho algo que poderia ocasionar um abalo nesse
sentido)
80
as Mquinas de Turing;
o clculo-lambda (componente caracterstico fundamental da linguagem de programao
LISP) de Alonzo Church;
a Mquina de Post, anloga de Turing, tornada pblica um pouco depois, fruto de
trabalho independente, e seu sistema para rescrita de smbolos (cuja gramtica de Chomsky
um caso particular), de Emil L. Post (1897 - 1954).
Com efeito, todos esses conceitos levaram mesma concluso e acabaram por ter o
mesmo significado, dentro do citado escopo da busca de uma definio bem elaborada de
processo efetivo. O que se desenvolver aqui refere-se mais a Church e Turing (Kleene fez em
seu trabalho uma ampla abordagem de ambos, tirando vrias conseqncias, e Post trata do
mesmo tema de Turing), para se ter uma viso mais clara da diversificao dos estudos da
dcada de 1930, com vistas fundamentao terica de toda a Computao.
Em seu clebre teorema, Church demonstrou, em 1936, que no pode existir um
procedimento geral de deciso para todas as expresses do Clculo de Predicados de 1a
ordem, ainda que exista tal procedimento para classes especiais de expresses de tal clculo.
Isso pode causar certo espanto quando se observa que o Clculo de Predicados de 1a ordem
semanticamente completo, com o que se diz, implicitamente, que o prprio clculo, com seus
axiomas e regras, constitui um algoritmo capaz de enumerar uma aps outra todas as suas
expresses vlidas. Estas expresses so em quantidade indefinida, e, mesmo sendo
enumerveis (isto , elaborveis passo a passo a partir dos axiomas), essa enumerao no tem
fim. Compreende-se ento que, ao se conseguir demonstrar uma determinada frmula P em
certo momento, isto j basta para afirmar que se trata de uma frmula vlida. E, pelo
contrrio, se depois de haver deduzido mil teoremas dos axiomas, P ainda no apareceu, no
se pode afirmar nada, porque P poderia aparecer aps outros mil teoremas, permitindo-se
reconhecer sua validade, ou no aparecer nunca, por no ser vlida. Mas no se poder
afirmar em qual caso se est, mesmo depois das mil dedues.[Aga86].
A deciso, dentro desse clculo, seria possvel possuindo-se um algoritmo capaz de
enumerar as expresses no vlidas. A expresso P ento aparecia dentro desse conjunto de
no vlidas em algum momento. O teorema de Church de que se est tratando consiste
fundamentalmente na demonstrao de que no existe algoritmo capaz de enumerar as
expresses no vlidas, de maneira que fica excludo a priori todo procedimento de deciso
para as expresses do Clculo de Predicados, em geral. Para compreender as razes de
semelhante fato seria necessrio valer-se das noes tcnicas relacionados com os conceitos
da matemtica recursiva, que excedem amplamente os limites deste trabalho.
81
82
esse conjunto como medida. Uma mquina que compute mais funes que outra mais
poderosa.
A partir dos resultados de Gdel, Turing e Church, pode-se dizer que existem
funes para as quais no existe uma seqncia de passos que determinem o seu valor, com
base nos seus argumentos. Dizendo-se de outra maneira, no existem algoritmos para a
soluo de determinadas funes. So as chamadas funes no computveis. Isso significa que
para tais funes no h nem haver capacidade computacional suficiente para resolv-las.
Logo, descobrir as fronteiras entre funes computveis e no computveis equivalente a
descobrir os limites do computador em geral. A tese de Church-Turing representa um
importante passo nesse sentido.
A percepo de Turing foi a de que as funes computveis por uma MT eram as
mesmas funes computveis acima referidas. Em outras palavras, ele conjeturou que o
poder computacional das MT abarcava qualquer processo algortmico, ou, analogamente, o
conceito da MT propicia um contexto no qual todas as funes computveis podem ser
descritas. Em sntese: as funes computveis so as mesmas funes Turing-computveis. A
importncia disso est na possibilidade de se verificar o alcance e limites de um computador.
Na figura que segue pode-se visualizar como se d a ligao entre os mundos formal,
matemtico e computacional.
83
Mundo Matemtico
Semntica
Aritmtica
Geometria
Anlise
Verdades Matemticas
Mundo Formal
Sintaxe
Alfabeto
Smbolos/Expresses
Axiomas
Regras de Inferncia
Teoremas
Mquina de Turing
Algoritmo
Argumentos:
Smbolos na fita
Padro da fita
Dados de Entrada
Instrues do programa
Funo
Sada: expresso simblica
Figura 20: Relacionamento entre mundos formal, matemtico e
computacional (cfr. [Cas97])
84
5 Pr-Histria tecnolgica
Como j foi dito, s foi possvel chegar aos computadores pelas descobertas tericas
de homens que, ao longo dos sculos, acreditaram na possibilidade de criar ferramentas para
aumentar a capacidade intelectual humana, e dispositivos para substituir os aspectos mais
mecnicos do modo de pensar do homem. E desde sempre essa preocupao se manifestou
na construo de mecanismos para ajudar tanto nos processos de clculo aritmtico quanto
nas tarefas repetitivas ou demasiado simples, que pudessem ser substitudas por animais ou
mquinas. Neste captulo se tratar dos dispositivos fsicos que precederam o computador,
principalmente as mquinas analgicas que incentivaram a corrida final at o aparecimento
dos computadores digitais.
Trabalho citado por Bolter, que descreve o dispositivo Antikythera, na Scientific American, junho de 1959, pgs. 60-67.
85
Havia tambm o problema, de modo algum simples, da inveno de mecanismos que produzissem os movimentos exigidos
pelas engrenagens durante os clculos
86
J por volta da dcada de 1820 ele tinha certeza de que a informao poderia ser
manipulada por mquina, caso fosse possvel antes converter a informao em nmeros. Tal
engenho seria movido a vapor, usaria cavilhas, engrenagens, cilindros e outros componentes
mecnicos que eram as ferramentas tecnolgicas disponveis em sua poca. Para descrever os
componentes de sua mquina faltavam-lhe os termos que atualmente so usados. Chamava o
processador central de usina e referia-se memria da mquina como armazm. Babbage
imaginava a informao sendo transformada da mesma forma que o algodo sendo tirada
do armazm e modificada para algo diferente. Em 1822 Babbage escrevia uma carta a Sir
Humphry Davy, o ento presidente da Royal Society, sobre automatizar, como ele prprio
dizia, o intolervel trabalho e a cansativa monotonia das tabelas de clculo, escrevendo um
trabalho cientfico intitulado On the Theoretical Principles of the Machinery for Calculating
Tables(...) [Gol72].
Embora conhecido por seu trabalho na rea de Computao, no ser demais citar
que Charles Babbage foi tambm um excelente matemtico e ao lado de Peacock, Herschel,
De Morgan, Gregory e do prprio George Boole, pode ser visto como um dos introdutores
da concepo moderna da lgebra. Alm disso foi um dos lderes da Sociedade Real de
Astronomia inglesa, tendo publicado tambm pesquisas no campo da ptica, meteorologia,
eletricidade e magnetismo, funcionamento de companhias de aplices de seguros, criptologia,
geologia, metalografia, sistemas taxonmicos, mquinas a vapor, etc. Escreveu e publicou
87
vrios livros, um deles (On the Economy of Machinery and Manufacturers) reconhecido
posteriormente como um dos trabalhos pioneiros na rea chamada Pesquisa Operacional.
Mas o que motivou esse ingls a fazer um dispositivo capaz de resolver equaes
polinomiais atravs do clculo de sucessivas diferenas entre conjuntos de nmeros (ver
anexo sobre o Mtodo das Diferenas) foi a necessidade de uma maior preciso na elaborao de
tabelas logartmicas.
No final do sculo XVIII houve uma proliferao de tabelas de vrios tipos. Desde
Leibniz e Newton os matemticos estiveram preocupados com o problema da produo de
tabelas, tanto por meios matemticos como no caso das de multiplicao, seno, coseno,
logaritmos, etc. ou por meio de medies fsicas densidade em funo da altitude,
constante gravitacional em diferentes pontos da terra, entre outras coisas. A inteno era
reduzir o trabalho de clculo, mas as tabelas produzidas pelos especialistas tinham muitos
erros. Os matemticos estavam cientes deles e estudos foram elaborados para se tentar
melhorar a situao. Nestas circunstncias apareceu o projeto denominado Difference Engine de
Babbage, que lhe valeu o apoio de seus colegas da Sociedade Real e fundos do governo
britnico para inici-lo.
O desafio era construir um dispositivo para computar e imprimir um conjunto de
tabelas matemticas. Babbage contratou um especialista em mquinas, montou uma oficina e
ento comeou a descobrir quo distante estava a tecnologia do seu tempo daqueles
mecanismos altamente precisos e de movimentos complexos exigidos pelo seu projeto. A
concluso foi que deveria, antes de iniciar a construo da Mquina de Diferenas, gastar
parte dos seus recursos para tentar avanar o prprio estado da arte da tecnologia vigente.
Todos estes trabalhos prolongaram-se por alguns anos, sem sucesso, at que o governo ingls
desistiu do financiamento. Em 1833 Charles Babbage parou de trabalhar em sua mquina *.
Apesar de tudo, esse teimoso ingls j vinha desenvolvendo novas idias.
Provavelmente tentando alguma nova modificao no projeto da Mquina de Diferenas foi
que Charles Babbage concebeu um mecanismo mais complicado que este em que falhara
aps vrios anos de tentativas. O pensamento era simples: se possvel construir uma
mquina para executar um determinado tipo de clculo, por que no ser possvel construir
outra capaz de qualquer tipo de clculo? Ao invs de pequenas mquinas para executar
diferentes tipos de clculos, no ser possvel fazer uma mquina cujas peas possam executar
diferentes operaes em diferentes tempos, bastando para isso trocar a ordem em que as
peas interagem?
Era a idia de uma mquina de clculo universal, que vir a ser retomada em 1930
por Alan Turing, e que ter ento conseqncias decisivas. Vale ressaltar que o Analitical
Engine, a Mquina Analtica nome dado por Charles Babbage sua inveno estava muito
prxima conceitualmente daquilo que hoje chamado de computador.
A Mquina Analtica poderia seguir conjuntos mutveis de instrues e, portanto,
servir a diferentes funes mais tarde isso ser chamado de software... Ele percebeu que para
*
Esta mquina, conforme imaginada por Babbage, foi construda e colocada em operao pelo Museu de Cincia de Londres
e mostrada com seus desenhos em 1862 durante exposio internacional. Em 1849 Babbage entregaria ao governo
britnico uma nova verso da Mquina de Diferenas, que nem considerada foi. Em 1991 foi construida esta segunda
verso [Wil97].
88
89
5.3.2
Ada Augusta Byron era filha do famoso poeta Lord Byron e foi educada pelo
matemtico logicista ingls Augustus De Morgan. Bem cedo demonstrou ter grandes talentos
*
O tear de Jacquard inspirou tambm a Herman Hollerith, sobre quem se falar mais adiante.
90
Em 1854, durante uma viagem a Londres, Scheutz pai e filho encontraram-se com Charles Babbage, que aprovou a mquina
por eles construda. Ambos nunca esconderam depois sua admirao pelas idias do ingls.
91
5.6
Computadores analgicos
Como por exemplo equaes diferenciais ordinrias, sries de transformaes de Fourier, sistemas de equaes algbricas
lineares
94
f ( x)dx
, dado f(x)
como entrada.
Dentro da evoluo das mquinas analgicas, os analisadores diferenciais foram os
dispositivos que mais tarde passaram a ser chamados propriamente de computadores
analgicos.
5.6.1
Integrador tambm um dispositivo analgico, que produz como resultado a integral de f(x). Seria exaustivo e fugiria do
escopo do trabalho falar sobre esses dispositivos existem ainda os planmetros, para medir reas de figuras traadas por
um operador humano, etc. que fazem parte desses primeiros esforos em direo a sofisticados mecanismos analgicos.
95
para outro integrador *. Esses problemas permaneceram suspensos por quase 50 anos at o
desenvolvimento dos amplificadores de torque. Analisadores diferenciais mecnicos foram
revitalizados por volta de 1925 e o mais famoso destes foi o construdo no Instituto de
Tecnologia de Massachusetts (MIT) por Vannevar Bush .
5.6.2
Outra dificuldade substancial: no possvel aumentar muito o nmero de termos em uma srie pois o seu dispositivo de
adio de termos levava a um acmulo de erros. Para uma longa srie de termos o resultado poderia estar completamente
viciado.
Aps a Segunda Guerra Mundial, analisadores diferenciais mecnicos comearam a se tornar obsoletos com o
desenvolvimento de analisadores diferenciais eletrnicos e com o aparecimento da Computao eletrnica digital.
96
98
O que Shannon fez em 1937 foi mostrar um caminho para projetar mquinas
baseadas na lgica algbrica descrita um sculo antes por George Boole, aquela em que s
havia dois valores no sistema de clculo lgico: 1 e 0. Se um valor verdadeiro, ele pode ser
representado pelo valor 1 e, se falso, pelo 0. Nesse sistema, uma tabela-verdade descreveria os
vrios estados lgicos possveis. Uma das caractersticas importantes da lgebra de Boole
que as operaes lgicas podem ser colocadas juntas e formar novas operaes.
Claude Shannon percebeu que a mesma lgebra poderia descrever o
comportamento de circuitos eltricos chaveados. Igualmente importante foi o modo como
estas combinaes entre operaes lgicas e aritmticas poderiam ser usadas para se construir
uma operao de memria. A lgebra booleana torna possvel a construo de um
dispositivo de estado que pode armazenar qualquer informao especfica, seja um dado ou
uma operao. E se um circuito eltrico pode executar operaes matemticas e lgicas, e
pode tambm armazenar os resultados de tais operaes, ento os computadores digitais
podem ser construdos.
Em resumo:
lgica booleana, cujas tabelas-verdade poderiam representar as regras de um
sistema lgico formal;
Um rel uma chave ou dispositivo que abre ou fecha um circuito, permitindo ou bloqueando o fluxo da eletricidade.
semelhante a um interruptor de luz, com a diferena de que o rel no ligado ou desligado por uma ao humana, mas
pela passagem de uma corrente eltrica.
99
Nos dez anos seguintes ao seu primeiro trabalho (a tese anteriormente citada),
Shannon dirigiu seu interesse para o estudo da comunicao, parte de um trabalho j iniciado
por Norbert Wiener, de quem se falar mais adiante.
Depois da guerra, tendo encontrado uma ferramenta perfeita para a descrio de
circuitos a rel, Claude Shannon procurou definir matematicamente aquilo que as novas
mquinas processavam. Ele estava interessado nas leis subjacentes aos sistemas de
comunicao de mensagens feitos pelo homem, na diferena entre rudo e mensagem e de
como esta mantinha a sua ordem em um meio onde a desordem rudo muito alta.
Chegou a equaes muito parecidas s do fsico Boltzmann sobre as leis da entropia.
Em 1948 Shannon publicou dois trabalhos que originaram a j citada rea da
Teoria da Informao (A Mathematical Theory of Information) *. O desenvolvimento deu-se
rapidamente, afetando no somente o projeto de sistemas de comunicao, mas tambm
reas como automatizao, cincia da informao, psicologia, lingstica e termodinmica
([Bri79a], volume IX).
Em 1950 publicou A Chess Playing Machine onde propunha que computadores
digitais poderiam ser adaptados para trabalhar simbolicamente com elementos representando
palavras, proposies ou outras entidades conceituais, dando prosseguimento ao emergente
ramo de estudos denominado mais tarde Inteligncia Artificial. Em 1953, com Computers
and Automata falou sobre simulao, atravs de hardware e software, de algumas operaes
da mente ([Rhe85], captulo 6).
Em 1956, mantendo seu trabalho nos laboratrios da Bell, Shannon aceitou o cargo
de professor no MIT, atividade que exerceu durante muitos anos. Preocupava-se com os
conceitos e simplificava ao mximo a simbologia. Onde outros professores poriam smbolos
e mais smbolos, ndices e mais ndices, Shannon colocava duas ou trs letras e incentivava os
alunos a perceber as relaes matemticas que essas letras traduziam.
Gnio matemtico que combinava a intuio, a abstrao e as aplicaes, Claude
Shannon tinha como passatempos andar de monociclo, construir mquinas de jogar xadrez e
outras aparentemente inteis . Estendeu sua Teoria Matemtica de Comunicao ao campo
da criptologia.
Claude Shannon, tinha a doena de Alzheimer. Faleceu no sbado, 24 de
Fevereiro de 2001, no Courtyard Nursing Care Center em Medford, Massachusetts. Ele
estava com 84 anos.
Informalmente falando, trata da representao matemtica das condies e parmetros que afetam a transmisso e
processamento da informao. importante notar que informao, como entendida na teoria da informao, no tem
nada a ver com o significado inerente na mensagem. Significa um certo grau de ordem, de no randomicidade, que pode
ser medida e tratada matematicamente como as quantidades fsicas.
Elaborou um autmato que procurava a sada num labirinto e aquela a que chamou de mquina final. Nela, via-se apenas
um interruptor. Ligando-o, o aparelho emitia um som zangado e dele emergia uma mo mecnica que desligava o
interruptor, terminando a brincadeira.
100
6 As primeiras mquinas
6.1
Konrad Zuse
de abandonar essa linha de desenvolvimento seriam necessrias 1000 vlvulas, o que era
impossvel naquele momento e continuou o Z2 usando tecnologia baseada em rels.
Esses dois primeiros modelos eram somente para teste: tinham todas as
caractersticas do computador posterior, mas no trabalhavam satisfatoriamente. O Z3 foi
terminado em 1941 e foi o primeiro modelo totalmente operacional * [Zus80]. O Z3, como
a maioria das mquinas dessa primeira gerao, usava dois mecanismos separados para as
funes aritmticas e tinha uma unidade especial para converso de nmeros na notao
decimal para a binria. Em termos de velocidade podia ser comparado ao MARK I, discutido
mais frente, que foi terminado dois anos aps o Z3. O Z3 executava trs a quatro adies
por segundo e multiplicava dois nmeros em quatro ou cinco segundos. Nunca chegou a ser
usado para grandes problemas em funo de possuir uma memria de tamanho limitado. Foi
destrudo, junto com a casa de Zuse, por um bombardeio em 1944.
O Z4 comeou a ser desenvolvido quase que simultaneamente ao final do trabalho
do Z3. Era essencialmente a mesma mquina, com maior capacidade de memria e mais
rpida. Por causa do avano das tropas aliadas, o trabalho do Z4 foi interrompido quase ao
seu final e a mquina ficou escondida em uma pequena cidade da Bavria chamada
Hinterstein Em 1950, na Sua, Zuse reconstruiu o seu Z4, e fundou uma empresa de
computadores, absorvida depois pela Siemens. As mquinas de Zuse tiveram pouco impacto
no desenvolvimento geral da Computao pelo absoluto desconhecimento delas at um
pouco depois da guerra [Zus80].
6.1.2
Por volta de 1937, enquanto Turing desenvolvia a idia da sua Mquina Universal"
e formalizava o conceito do que computar e do que um algoritmo, nos Estados Unidos
dois outros matemticos tambm consideravam o problema da computao: Howard Aiken,
em Harvard, cujo trabalho daria seus frutos em 1944, e George Stibitz, nos laboratrios da
Bell Telephones. Eles procuravam componentes eletromecnicos que pudessem ser usados
na computao de clculos.
Nos ltimos anos da dcada de 1930 os problemas envolvendo clculos com
nmeros complexos (aqueles com partes imaginrias, envolvendo razes negativas) no projeto
de equipamentos telefnicos comearam a dificultar o crescimento da Cia. Bell Telephone. As
pesquisas da empresa ento comearam a ser direcionadas descoberta de mecanismos que
pudessem satisfazer essa necessidade cada vez mais crescente de clculos mais rpidos. Stibitz
demonstrou que rels podiam ser utilizados para executar operaes aritmticas. A partir de
1938, juntamente com S. B. Willians comeou a implementar suas idias, e em 1939 estava
pronto o seu Modelo I. Seus outros 'Modelos' chegaram at o nmero VI, terminado em
1950 tendo estado em uso at 1961 , e juntamente com os computadores K do Dr. Zuse
foram os primeiros computadores de cdigo binrio, baseados em rels [Sti80].
Ao mesmo tempo, nos Laboratrios de Computao de Harvard, Howard Aiken e
engenheiros da IBM comearam a desenvolver um outro tipo de mquinas eletromecnicas,
*
102
no totalmente baseada nos rels, j incorporando uma nova tecnologia que seria amplamente
utilizada mais tarde: as memrias de ncleo de ferrite. Ao trmino de sua primeira verso, em
1943, o IBM Automatic Sequence Controlled Calculator, comumente chamado de Harvard
Mark I *, tinha uma srie de novas capacidades: modificava instrues dinamicamente
baseando-se nos resultados obtidos durante o processamento, possua unidades para decidir
qual o melhor algoritmo para execuo de um clculo atravs do argumento de uma funo,
testava o contedo de registradores, etc. Diferenciava-se fundamentalmente de mquinas
anteriores, como o EDSAC, (citado mais frente), por usar memrias separadas para
instrues e dados, o que ficou denominado como arquitetura de harvard. Quando terminado
em 1944, foi imediatamente adotado pela marinha americana, para fins militares. Novas
verses foram produzidas at 1952.
6.1.3
A participao da IBM
No confundir com um prottipo do computador EDASC, construdo na Universidade de Manchester em 1948, baseado
no conceito de programa armazenado
103
Muitos dos pioneiros do desenvolvimento dos computadores acreditam que esse termo d um crdito exagerado ao trabalho
de von Neumann, que escreveu as idias, e muito pouco aos engenheiros Eckert e Mauchly, que construram as mquinas.
A polmica foi ruidosa e, em 1947, estes dois ltimos deixaram a Moore School.
104
Outras contribuies
Tornado operacional em 1944, decodificando mensagens para ajudar nos planos do desembarque do dia D, ainda nesse ano.
105
armazenamento assim como a transferncia de controle via condio, que permitiam parar
e reiniciar o processamento a qualquer instante, abriu enorme perspectiva para a programao
de computadores. O elemento chave dessa arquitetura era a unidade central de
processamento, que permitia a coordenao de todas as funes do computador atravs de
uma nica fonte. Em 1951, o UNIVAC I (Universal Automatic Calculator), construdo pela
Remington-Rand, tornou-se o primeiro computador comercialmente disponvel que utilizava esses
conceitos.
Figura 31: ENIAC, sua programao era feita com fios ("hard
wired")
programa em cdigo binrio diferente que indicava o fluxo das operaes. Isto dificultava a
programao e limitava a versatilidade desses primeiros computadores.
107
Hardware/Unidade Aritmtica
Organizao do Computador e
Programao
Dispositivos
mecnicos e
eletromecnicos
Analisador
diferencial
Eletrnica
(rdio)
Plugboard
(IBM)
Resistores
Computador de
Atanasoff
ENIAC
Harvard
Mark I
1943-1946
Crawford
Linha de mercrio
(radar)
Computadores de
rels (Bell)
Linha de Mercrio
de Eckert/Mauchly
-----------------------Memria eletrosttica
Order Code e
Projeto Lgico de
von Neumann
Selectron
Tubo de Willians
IAS
Whirlwind
ILLIAC
IBM 701
....
EDVAC
EDSAC
UNIVAC I
SEAC
....
108
Projeto
final e
construo
1946 - 1952
Como foi visto, um dos pontos fundamentais do projeto formalista de Hilbert para
a soluo de problemas matemticos era descobrir um procedimento efetivo (ou mecnico)
para verificar a validade de proposies matemticas. Depois do Teorema de Gdel
evidenciou-se que tal proposta irrealizvel, mas todos os estudos em torno desse projeto de
Hilbert e dos resultados de Gdel propiciaram, entre outras coisas, uma adequada
caracterizao do termo efetivamente computvel, atravs da Mquina de Turing e das funes
lambda-definveis de Church e Kleene. Tornou-se claro o que um procedimento efetivo,
tornando-se claro ao mesmo tempo o que um problema computvel.
Um procedimento efetivo uma seqncia finita de instrues que podem ser
executadas por um agente computacional, seja ele homem ou no. Propriedades:
I.
II.
III.
IV.
V.
109
entre os smbolos e frases que ocorrem nesses programas. Alguns autores a dividem em
concreta e abstrata [Mos92]. A concreta envolve:
reconhecimento de textos (seqncias de caracteres) corretamente escritos de
acordo com as especificaes da linguagem;
a colocao dos textos, de maneira no ambgua, dentro das frases que compe o
programa. A sintaxe abstrata molda as estruturas de frases do programa.
Portanto a sintaxe refere-se forma dos programas: de que modo expresses,
comandos e declaraes podem ser justapostos para compor um programa. Uma linguagem
de programao torna-se assim, entre outras coisas, uma notao formal para a descrio de
um algoritmo, entendendo-se por notao formal um simbolismo que no tenha as imprecises
nem a variabilidade de uma linguagem natural, que possibilite rigor nas definies e
demonstraes sobre os procedimentos.
Uma linguagem de programao necessita ainda de outros requisitos. Deve ser
universal, isto , que qualquer problema cuja soluo possa ser encontrada atravs de um computador
pode ser escrito com ela *. Na prtica deve ser apta a resolver, no mnimo, os problemas da
rea para a qual foi projetada . E uma caracterstica fundamental: ser implementvel em
computador, isto , deve ser possvel executar qualquer procedimento bem formado na
linguagem [LSSK79].
Uma linguagem de programao tambm possui uma semntica. A semntica de um
programa ir depender exclusivamente do que se deseja causar objetivamente quando o
programa for executado por um agente computacional, eletrnico ou no. Os computadores
atualmente so mquinas complexas. Quando esto executando programas, luzes se acendem,
cabeotes dos discos movem-se, corrente eltrica flui pelos circuitos, letras aparecem na tela
ou so impressas, e assim por diante. Um programa controla todos esses fenmenos
mediante sua semntica. E se so consideradas as linguagens de programao de alto nvel, que
no controlam diretamente esses detalhes de ordem fsica, falar de semntica significa falar
das caractersticas que tornam tais linguagens implementveis em qualquer computador, isto
, quais as caractersticas da execuo do programa que so comuns a todas as
implementaes. Portanto a semntica uma entidade abstrata: ela modela o que o programa
quer causar quando executado, independentemente do seu uso nesse ou naquele
computador. A semntica de uma linguagem de programao a mesma semntica de todos
os programas escritos nela [Mos92].
A evoluo das linguagens de programao chegou at esses conceitos por
caminhos e esforos muitas vezes paralelos. Alguns informatas buscam caminhos para
projetar linguagens que combinem uma grande generalidade de usos (aplicaes matemticas
e cientficas, grficas, comerciais, etc.) com simplicidade e eficincia. Isso levou ao
desenvolvimento de diferentes paradigmas estilos e objetivos de programao como o
imperativo, o funcional, o orientado a objeto, o lgico, etc. Outros buscaram e buscam caminhos para
*
Qualquer linguagem em que se possa definir uma funo recursiva ser universal.
Uma linguagem com somente tipos numricos e arrays deve resolver naturalmente problemas numricos, por exemplo.
A maioria dos livros ao falar de semntica usa a palavra behavior, de difcil traduo. Pode-se dizer que um conjunto de
regras que determinam a ordem na qual as operaes do programa iro ser executadas, quais sero executadas primeiro e
quando se encerraro.
110
expressar a sintaxe e a semntica, esta ltima talvez a parte mais importante dentro do assunto
linguagens de programao e que levou ao surgimento de diversas linhas: a semntica
algbrica, a denotacional, a de aes, etc.
6.3.2
Mas, antes de entrar nesse mundo das linguagens, de que forma eram anteriormente
especificados os algoritmos? Os mais antigos algoritmos escritos que se conhecem so os da
velha Mesopotmia. Eram seqncias de clculos sobre conjuntos particulares de dados e no
uma abstrao * de procedimento como entendido na programao atual [Knu76]. Na
civilizao grega, vrios algoritmos no triviais foram estudados, como por exemplo o de
Euclides. A descrio era ainda informal.
A notao matemtica comeou a evoluir efetivamente a partir dos sculos XIII e
XIV e notaes para relaes funcionais tiveram um bom desenvolvimento. Na Computao,
Babbage e Lady Lovelace elaboraram, entre outros, um programa para o clculo dos nmeros
de Bernoulli [Mor61]. Era na verdade uma espcie de programa em linguagem de mquina,
como nos primrdios dos computadores digitais na dcada de 1940.
Em 1914, Leonardo Torres e Quevedo usaram uma linguagem natural para
descrever um pequeno programa para seu autmato hipottico. Helmut Schreeyer fez uma
descrio anloga em 1939 para a mquina que construa juntamente com Zuse.
O prprio Alan M. Turing, para tratar do problema da indecidibilidade de Hilbert
construiu uma linguagem muito primitiva para sua mquina. Nela s havia comandos para ler,
testar uma condio e escrever smbolos sobre uma fita, movendo para a direita ou esquerda
uma cabea de leitura e gravao. Conforme Knuth [KP80], as tabelas de Turing (como
Alan Turing chamava sua linguagem) representaram a notao de mais alto nvel para uma
descrio precisa de algoritmo que foram desenvolvidas antes da nossa histria comear
exceto talvez pela notao-lambda de Alonzo Church (que representa um approach
inteiramente diferente para o clculo) .
6.3.3
As primeiras tentativas
Uma abstrao um modo de pensar pelo qual nos concentramos em idias gerais ao invs das manifestaes especficas
destas idias.(...) Na programao, a abstrao refere-se distino que fazemos entre: (a) o que um pedao de programa faz
e (b) como ele implementado. Uma linguagem de programao em sentido prprio consiste de construes que so (em
ltima instncia) abstraes do cdigo de mquina [Wat90]. Exemplos tpicos de abstraes so as funes e
procedimentos de uma linguagem de programao.
111
Segundo Grace Murray Hopper *, como curiosidade, a frase mais freqente que ns
ouvamos era que a nica maneira de se programar em um computador era em octal
[Wex80]. Em 1946, junto com Howard Aiken, era assim que ela programava o Mark I.
Percebeu-se claramente que os programas em cdigo de mquina eram
extremamente difceis de editar e modificar, e quase impossveis de se compreender. A
comunidade computacional logo entendeu que era necessrio inventar uma notao simblica
para tornar os programas mais fceis de escrever. Nesta evoluo as instrues acima ficam
com o formato:
LOAD X
ADD R1 R2
JUMPZ H
Uma vez feito o programa dessa maneira, o programador o prepararia para ser
executado, 'escrevendo' manualmente (em painis, atravs de um emaranhado de cabos e
'plugs') as instrues no correspondente cdigo de mquina. Este processo foi chamado de
assembling. O que depois se queria fazer era com que a prpria mquina executasse essa
operao.
Mas mesmo quando programava com esses cdigos de operao mnemnicos
(tambm chamados de linguagem de montagem), o programador ainda estava trabalhando em
termos dos conjuntos de instrues da mquina, isto , os algoritmos eram expressos em
termos de instrues muito primitivas (detalhes sobre registradores, endereos, saltos, etc.).
Da a denominao linguagens de baixo nvel. A busca de linguagens que pudessem permitir que
os algoritmos fossem expressos em termos anlogos idia elaborada na mente do
programador fez com que aparecessem os primeiros compiladores e comeassem a surgir as
chamadas linguagens de alto nvel .
Claramente percebem-se duas principais tendncias nesses anos pioneiros: aqueles
que procuravam saber o que era possvel implementar e os que estavam preocupados com o
que era possvel escrever. Estes ltimos criaram estruturas conceituais iterao, tipos de
dados, recursividade, etc. importantes no processo de programao e que foram depois
objetos de estudo na Teoria da Computao. Naturalmente foram precisos muitos anos para
que essas duas tendncias se juntassem para formar uma sntese adequada.
6.3.4
Depois de salvar o Z4 das bombas dos aliados e mudar-se para a pequena vila
Hintesrtein nos Alpes, Konrad Zuse percebeu que ainda no existia uma notao formal para
a descrio de algoritmos e comeou a trabalhar em uma. O resultado foi uma linguagem
chamada Plankalkl (program calculus), uma extenso do clculo proposicional e de
*
Nome importante no desenvolvimento histrico das linguagens de programao. Ela desenvolveu programas para o Mark I,
um dos precursores do computador moderno; esteve envolvida na construo do UNIVAC e trabalhou no primeiro
compilador que se tem notcia, o A-2, e em uma das primeiras linguagens matemticas, originalmente chamada A-3 e
depois MATH-MATIC. Em 1955 trabalhou na equipe que elaborou as primeiras especificaes para uma linguagem de uso
comercial, originalmente chamada B-0, depois FLOW-MATIC, que forneceu inmeras caractersticas para o COBOL.
O termo alto nvel refere-se semelhana que a linguagem tem com uma linguagem natural ou matemtica, opondo-se a
baixo nvel, mais semelhante linguagem de mquina.
112
O diagrama de fluxos
Uma histria e anlise desse manuscrito esto em um artigo feito por Knuth em 1970, intitulado von Neumanns First Computer
Program
Na realidade o manuscrito contm somente uma parte da codificao do mtodo, que a parte do processo de duas
sequncias j em ordem
Sem entrar em detalhes mais tcnicos, significava que a atribuio de endereos era feita em relao a um endereo inicial
arbitrrio, a ser preenchido mais tarde, conseguindo-se o efeito de relocao manual do cdigo, de modo a ser usado como
uma subrotina aberta (outro conceito que exige maior conhecimento tcnico sobre sistemas operacionais e
programao/arquitetura de computadores)
113
114
Eles propuseram uma representao pictrica, atravs de caixas unidas por setas,
que chamaram de fluxogramas. Descreveram fluxogramas que continham uma caixa
denominada caixa de anotao (especificao). Nessa caixa descreviam-se certos fatos sobre
o resultado de uma computao (o efeito por ela provocado). O contedo dessa caixa deveria
ser confrontado com as operaes descritas pelo fluxograma, possibilitando uma verificao
da consistncia entre o fluxograma e as intenes do programador expressas atravs das
anotaes. Com von Neumann e Goldstine encontra-se tambm a primeira referncia
corretude de programas.
A nfase era colocada no poder de clculo e no na expressividade das estruturas
como Zuse e esse trabalho foi largamente difundido entre as pessoas envolvidas com
computadores na poca. Tal fato, acompanhado da excelente qualidade de apresentao e
pelo prestgio de von Neumann, significaram que seu trabalho teve um enorme impacto,
tornando-se fundamento para tcnicas de programao em todo o mundo. O conceito
matemtico de igualdade foi substitudo pelo de atribuio [KP80].
6.3.6
A contribuio de Haskell
115
6.4
6.5
Os primeiros compiladores
Os termos interpretador e compilador na linguagem da computao tm um sentido tcnico especfico, que na poca citada
ainda no correspondiam ao atual significado.
116
mquinas. Aiken expressou sua opinio dizendo que a soluo para esta dificuldade deveria
ser buscada pela construo de uma mquina especial para codificar(...) Para tornar isso fcil
deve-se elaborar um cdigo compreensvel. Tal coisa somente pode ser feita melhorando-se a
notao da programao [KP80]. John Backus [Wex80] discute essa distino que Knuth
faz, citando J. Halcomb Laning, Jr. e Niel Zierler como os inventores do primeiro
compilador algbrico, para o computador Whirlwind. Como esta, so muitas as discusses
ainda hoje sobre quem foi o pioneiro no assunto. De qualquer maneira esses primeiros
sistemas denominados genericamente de programao automtica (acima citada) eram muito
lentos e no fizeram muito sucesso, embora tivessem sido fundamentais para preparar a base
do desenvolvimento que se seguiu.
Este veio com o A-0, agora sim o primeiro compilador propriamente dito,
desenvolvido por Grace Murray Hopper e equipe, aprimorado para A-1 e A-2
subseqentemente. O prximo passo seria o A-3, desenvolvido em 1955, produzido ao
mesmo tempo com o tradutor algbrico AT-3, mais tarde chamado MATH-MATIC.
Em 1952 a IBM construa o computador 701 e em 1953 foi montada uma equipe
liderada por John Backus para desenvolver um cdigo automtico que facilitasse a
programao. O resultado foi o Speedcoding. Backus tornou-se uma das principais figuras na
histria da evoluo das linguagens de programao, tendo um papel fundamental no
desenvolvimento dos grandes compiladores que viriam a partir do ano de 1955 como o
FORTRAN e o ALGOL, alm do estabelecimento da moderna notao formal para a
descrio sinttica de linguagens de programao, denominada BNF, Backus Normal Form.
117
correspondncia em 1944 mostra seu interesse no somente pelo trabalho de Aiken, mas
tambm com os computadores baseados em rels, de George Stibitz, e pelas pesquisas de Jan
Schilt no Watson Scientific Computing Laboratory da Universidade de Columbia. No fim da
II Guerra von Neumann tornou-se consultor, servindo a numerosos comits com sua
prodigiosa habilidade de rapidamente ver a soluo de problemas.
Ele tinha uma grande capacidade de aglutinar ao seu redor cientistas muitas vezes
separados por causa de exigncias de segredo. Movia-se confortavelmente entre o pessoal de
Los Alamos (National Laboratory e Manhattan Project) assim como entre os engenheiros da
Moore School of Electrical Engineering, da Universidade de Pensilvnia, que estavam
construindo o ENIAC. Uma combinao de diferentes desenvolvimentos cientficos
conduziram inveno do ENIAC: novas tecnologia de vlvulas, lgica booleana, as idias de
Babbage-Lovelace, as teorias de controle via retroalimentao (feedback), etc., e von Neumann
era talvez o nico que conhecia sobre todos estes temas, alm de politicamente dar-se bem
com as sociedades de Princeton, Los Alamos e Washington. No projeto Manhattan,
trabalhou juntamente com Oppenheimer, Fermi, Teller, Bohr e Lawrenceand, que, entre
outros, construram a bomba atmica. [Ula80] [Gol72].
6.6.1
Quando se terminou o ENIAC, era tarde para utilizar tal equipamento no esforo
de guerra, mas certamente foi possvel realizar o objetivo dos seus inventores: um clculo
balstico, que poderia tomar vinte horas de um especialista, seria agora feito pela mquina
em menos de 30 segundos. Pela primeira vez a trajetria de um mssil poderia ser calculada
em menos tempo do que levava o mssil real para atingir seu alvo. O primeiro problema a ser
resolvido por essa mquina foi um ensaio de clculo para a bomba de hidrognio, ento
sendo projetada.
119
A partir desse momento deu-se o incio de uma grande amizade entre os dois.
120
subproblemas *. Mas o que era ganho no poder de clculo e velocidade era perdido na
flexibilidade. Um srio obstculo consistia na necessidade da programao externa, atravs de
painis e cabos de conexo para a soluo de um determinado problema, um procedimento
que poderia levar vrios dias . Aps a entrada de von Neumann na equipe percebeu-se que o
ENIAC no seria a ltima palavra em termos de mquinas calculadoras, mas sim que era o
prottipo, ainda imperfeito, de uma nova categoria de mquinas. Antes mesmo de estar
terminado, seus construtores j estavam elaborando o projeto de seu sucessor, e von
Neumann compreendeu, daquelas discusses com seus colegas, que se estava falando de uma
mquina de uso geral.
Na mesma poca, a Universidade de Pensilvnia celebrou um contrato suplementar
para a construo do EDVAC, proposta um pouco antes por Mauchly e Eckert, cujas
caractersticas eram ainda um tanto vagas. O novo projeto despertou enorme interesse em
von Neumann, que comeou a participar de reunies relativas ao projeto, juntamente com
Eckert, Mauchly, Goldstine e outros.
Conforme [Kow96], um fator decisivo para viabilizar o projeto de uma nova
mquina foi a idia de Eckert de utilizar linhas de retardo para implementar elementos de
memria de custo muito mais baixo do que se fossem utilizadas vlvulas. Outro resultado das
reunies com a equipe do projeto e da freqente troca de correspondncia, foi a produo de
um documento descrevendo os detalhes da organizao da nova mquina. Von Neumann
ficou encarregado de escrever o First draft of a report on the EDVAC (1945), documento que
nunca passou da fase de rascunho (foi publicado na ntegra somente anos mais tarde, com
forma ligeiramente editada).
Existem controvrsias, alimentadas por nomes como Randell, Rosen, Stern e
Wilkes, sobre quem teria sido o primeiro a propor o conceito de programa armazenado. O
trabalho terico de Turing, com o qual von Neumann estava familiarizado, j indicava essa
possibilidade. Por outro lado existem referncias bastante obscuras e ambguas, em fontes
anteriores ao documento de von Neumann, alm das afirmaes posteriores de Eckert e
Mauchly. No h dvida de que a idia de programa armazenado estava no ar, e bastante
provvel que tenha sido sugerida por mais de uma pessoa. Apesar da notoriedade dessa
controvrsia, no parece que sua importncia seja mais que simblica. Independentemente de
quem tenha sido o primeiro a sugerir a idia de programa armazenado na memria, o fato
que o documento redigido por von Neumann a primeira descrio minuciosa e quase
completa da arquitetura de um computador desse tipo, com o repertrio de operaes que
permitiriam a utilizao plena de seus recursos. Embora resultado de vrias reunies, o fato
de von Neumann ter sido consultor no projeto e encarregado de sua redao indica o peso da
sua contribuio. Depoimentos de colaboradores indicam que o projeto lgico do
computador deve-se principalmente a ele, enquanto Eckert e Mauchly foram os principais
* O ENIAC estava habilitado de acordo com a idia de Babbage, em seu Engenho Analtico, pela qual ele poderia ser
reprogramado para solucionar diferentes equaes no alterando a mquina, mas a seqncia dos cartes de entrada.
A origem do ENIAC como um dispositivo voltado para um projeto balstico era parcialmente responsvel por esta pouca
flexibilidade. No era a inteno dos engenheiros da Moore School construir uma mquina universal. O contrato
estabelecido especificava claramente que eles deveriam criar um novo tipo de calculador de trajetrias.
121
responsveis pelo projeto de circuitos de alta velocidade, linhas de retardo e outros detalhes
fsicos, contribuies igualmente fundamentais [Kow96].
6.6.2
O relatrio de von Neumann ficou incompleto, mas sua leitura instrutiva. Muitas
idias continuam vlidas at hoje: a separao entre arquitetura lgica e fsica, a diviso do
projeto em unidades de controle, aritmtica, memria, entrada e sada, precursoras de todos
os projetos posteriores. Alm disso, devido ao interesse nos trabalhos relativos a sistemas
neurais de McCulloch e Pitts, ele descreveu vrios dispositivos do computador fazendo
analogia com o sistema nervoso (mesmo porque na poca no existia ainda uma linguagem
adequada para tais descries). Von Neumann, em um nvel terico, estava intrigado com
algumas aparentes semelhanas na organizao e funcionamento paralelo da mente e dos
computadores, o que poderia levar a pensar em teorias lgico-formais que abrangessem tanto
um quanto outro. De alguma maneira, pensava, esses mecanismos poderiam evoluir para
algum tipo de extenso intelectual.
Com o fim da guerra em 1945, iniciaram-se gestes para construo de outro
computador para aplicaes cientficas em geral, com o apoio do IAS e da RCA(Radio
Corporation of America), assim como da Marinha e Exrcito. O projeto foi descrito em um
documento bsico, composto de duas partes, onde a primeira a mais fundamental, referente
ao projeto lgico. Conjuntamente com a descrio incompleta do EDVAC, esse esforo
constituiu a inspirao para a elaborao da arquitetura que foi, e continua sendo, modelo
de quase todos os projetos de computadores subsequentes:a arquitetura de von Neumann.
A expresso parece ter sido usada pela primeira vez por J. Backus, em 1977, durante o
recebimento do Prmio Turing da ACM, em palestra intitulada Can programming be liberated from
the von Neumann style? A functional style and its algebra of programs. Nela criticava o fato de que
aps mais de 30 anos da sua introduo, as arquiteturas de von Neumann ainda eram
dominantes e exerciam enorme influncia sobre o paradigma imperativo das linguagens de
programao mais utilizadas, impedindo o desenvolvimento de outros modelos *.
No entanto pode-se afirmar (...) que a estrutura lgica introduzida nos projetos do
EDVAC e da mquina IAS constitui o princpio de funcionamento de computadores digitais
at hoje, apesar do progresso tecnolgico que nos separa daquela poca. Na realidade, no
parece provvel que os conceitos bsicos de arquitetura de von Neumann sejam abandonados
em futuro prximo. Esta a opinio, por exemplo, de Patterson (Patterson, D. A., in
Microprocessors in 2020, Scientific American 273, 3, 1995, p. 48-51), um dos cientistas que mais
contriburam para a concepo de modernos circuitos integrados [Kow96].
A expresso usada por Backus tornou-se popular e passou a denotar, de maneira genrica, o fato de que a eficincia de
processamento das mquinas com a concepo introduzida por von Neumann limitada por problemas de comunicao
entre a memria e as outras unidades. interessante notar que no documento em que descreve o EDVAC, o prprio von
Neumann utiliza a palavra gargalo quando comenta as dificuldades de projeto e funcionamento de memria [Kow96].
122
As instrues do programa em linguagem de mquina seriam convertidas em conjuntos dessas microinstrues, que ento
so executadas.
Large Scale Integration, Very Large Scale Integration, Ultra Large Scale Integration.
123
Aparece aqui novamente este termo, utilizado por Knuth [KP80] e John Backus [Wex80] e, de acordo com este ltimo
significava naqueles primeiros tempos para muitos simplesmente escrever cdigos mnemnicos e endereo simblico,
para outros o simples processo de acessar subrotinas de uma biblioteca e inserir nelas os endereos dos operandos. A
maior parte dos sistemas de programao automtica eram programas de montagem ou conjuntos de subrotinas ou os
sistemas interpretativos (...)[Wex80].
124
aspectos centrais dessa linguagem, comparada a como a Matemtica usa os nmeros naturais
como entidades abstratas.
Nos incios da dcada de 1960, fruto do trabalho de americanos e europeus, surgiu
uma linguagem projetada para representar algoritmos ao invs de se escrever programas
simplesmente, o Algol-60. Ela implementava o conceito de estrutura de blocos, onde variveis,
procedimentos, etc., poderiam ser declarados onde quer que o programa os necessitasse.
Algol-60 influenciou profundamente muitas linguagens que vieram depois e evoluiu para o
Algol-68.
PL/I surgiu como uma tentativa de se projetar uma linguagem de uso geral
reunindo caractersticas de linguagens para aplicaes numricas como FORTRAN e Algol e
para processamento de dados comerciais. Ela inovou ao permitir a construo de cdigo de
baixo nvel para o controle de excees e o conceito de processamento concorrente, entre
outros. O resultado foi algo anmalo, complexo e incoerente, de difcil implementao.
Foi a linguagem Pascal entretanto que se tornou a mais popular das linguagens do
estilo Algol, por ser simples, sistemtica e facilmente implementvel nos diferentes
computadores. O Pascal, junto com o Algol-68, est entre as primeiras linguagens com uma
ampla gama de instrues para controle de fluxo, definio e construo de novos tipos de
dados. Ada, que veio depois do Pascal, introduziu o conceito de pacotes e permite a
construo de grandes programas com estrutura modular.
Podem-se discernir na histria das linguagens certas tendncias. A primeira foi a de
perseguir altos nveis de abstrao. Os rtulos simblicos e mnemnicos das linguagens de
montagem abstraem cdigos de operao e endereos. Variveis e atribuio abstraem acesso
a um endereo de memria e atualizao. Estruturas de dados abstraem formas de
armazenamento. Estruturas de controle abstraem desvios. Procedimentos abstraem
subrotinas. E assim por diante.
Outra tendncia foi a proliferao dos paradigmas. A maioria das linguagens
mencionadas at agora so imperativas, caracterizadas por comandos que atualizam variveis. A
estrutura das linguagens imperativas induzida pelo hardware, com preocupao de que os
dados trafeguem o mais rapidamente possvel. Da alguns de seus aspectos relevantes:
seqncia de comandos, atribuio, controles (loopings), etc. ainda o paradigma dominante.
J as linguagens que seguem o paradigma funcional (tambm conhecidas como
declarativas), como o LISP, tem como caractersticas a clareza e a busca de um maior poder
expressivo, procurando manter a maior independncia possvel do paradigma de von Neumann,
que caracteriza as linguagens imperativas *. Buscam uma transparncia referencial e a no
ocorrncia de efeitos colaterais nas suas instrues. Em LISP no h o conceito de estado
dado por uma atribuio , memria, seqncia de instrues, etc., procurando-se tornar mais
visvel o uso das funes. Nas linguagens imperativas as funes dependem de estados
internos, fora de seu contexto ( x := x + argumento), com a produo de efeitos colaterais
(alterao de valores, impresso, etc.). LISP foi a ancestral das linguagens funcionais que
*
O paradigma ou arquitetura de von Neumann refere-se ao conceito de programa armazenado, conforme documento
apresentado por Neumann em junho de 1945 sobre o EDVAC. As linguagens imperativas, preocupadas com performance
de execuo, tm em em conta o trnsito dos dados entre a unidade central de processamento e os dispositivos onde esto
armazenadas instrues e informaes .
125
culminaram atualmente em linguagens como Miranda, ML e Haskell, que tratam funes como
valores de primeira classe.
Falando de uma maneira mais tcnica e bastante genrica, significa que o foco da ateno do programador recai mais nos
dados da aplicao e nos mtodos para manipul-los do que nos estritos procedimentos.
Em termos gerais significa o partilhamento de uma aplicao em duas. A interface do usurio e a maioria dos programas
executada no cliente, o qual ser provavelmente uma estao de trabalho ou um PC de alta performance. Os dados da
aplicao residem no servidor, provavelmente em um banco de dados de um computador de grande porte. Desta maneira
mantm-se os dados onde podem ser melhor protegidos, atualizados, salvos, enquanto que o poder computacional fica
distribudo diretamente pelas mesas de trabalho dos clientes.
126
127
interpretao. Isto simplificou o hardware que agora somente tinha um conjunto mnimo de
instrues e portanto menos circuitos eram necessrios.
A partir da a evoluo do hardware avana juntamente com as novas descobertas
cientficas: quase na mesma poca do aparecimento dos transistores, por exemplo, surgiu o
conceito de barramento de dados, que acelerou a velocidade dos computadores. Ao mesmo
tempo apareceram os grandes sistemas operacionais, (simplificadamente, um sistema operacional
um conjunto de programas mantidos no computador durante todo o tempo, liberando o
programador de tarefas relacionadas diretamente com o funcionamento da mquina), como o
DOS e OS, da IBM. Estes evoluram possibilitando novos conceitos que melhoraram a
performance das mquinas, como por exemplo os sistemas de multiprogramao, isto , a
possibilidade de vrios programas serem executados em paralelo em uma mesma da mquina.
Se um destes programas tiver origem em um terminal remoto, tal sistema ser chamado de
tempo compartilhado. Um importante marco que possibilitou esses avanos foi a introduo de
processadores de entrada e sada, tambm chamados de canais. Isso motivou o aparecimento
dos conceitos de concorrncia, comunicao e sincronizao: uma vez que dois processadores
esto operando simultaneamente, surge a necessidade de prover mecanismos para sincronizlos e estabelecer um canal de comunicao entre eles.
a era das arquiteturas mainframes: o suporte s tarefas computacionais e o
desenvolvimento das aplicaes so feitos numa rea central, denominada centro de computao.
Terminais conectados diretamente mquina so utilizados somente por pessoas relacionadas
s aplicaes disponveis.
Nos anos 70 surgiram os supercomputadores, mquinas que inovaram na
arquitetura. At o momento, o crescimento da eficincia dos computadores estava limitado
pela tecnologia, mais especificamente pelo processamento escalar que exigia que o processador
central de um computador terminasse uma tarefa para comear a realizar outra, produzindo o
gargalo de von Neumann. Um avano significativo veio com o supercomputador Cray-1, da
Cray Research *, em 1971. Foi a primeira mquina pipeline, cujo processador executava uma
instruo dividindo-a em partes, como na linha de montagem de um carro. Enquanto a
segunda parte de uma instruo estava sendo processada, a primeira parte de outra instruo
comeava a ser trabalhada. A evoluo seguinte foi a denominada mquina vetorial, ou mquina
SIMD (single instruction multiple data) cujo processador trabalhava com mais de um
conjunto de dados ao mesmo tempo. Um pouco depois surgiu a arquitetura MIMD (multiple
instructions multiple data) e apareceram mquinas com mltiplos processadores como a
Connection Machine, com 65.536 processadores .
Muito da histria dos primeiros tempos dos supercomputadores coincide com a histria daquele que considerado o pai
dos supercomputadores, Seymour Cray (1926-1996), fundador da Cray Research, que liderou a construo dos
computadores mais rpidos do mundo durante vrios anos. Seymour Cray inventou ou contribuiu diretamente na criao
de mltiplas tecnologias usadas pela indstria dos supercomputadores, entre as quais est: a tecnologia de vetor de
registradores no CRAY-1, a tecnologia do semicondutor de glio arsnico e a arquitetura RISC (Reduced Instruction Set
Computing).
Deve-se observar que apesar da capacidade de execuo paralela de centenas de tarefas, dependendo de como feita a
comunicao entre os processadores, a eficincia de tais mquinas pode ser frustrante e as pesquisas continuam em busca
do aumento dessa eficincia.
128
A velocidade de entrada/sada entre a memria principal (tecnicamente conhecida como RAM) e os dispositivos de
armazenamento um problema que afeta todos os tipos de computadores. Mas como os supercomputadores tem uma
grande quantidade de memria principal, esse problema pode ser resolvido facilmente com um gasto mais generoso de
dinheiro.
129
MS-DOS, o OS/2 e o UNIX. Especialmente este ltimo, que surgiu como fruto dos
trabalhos de um engenheiro da Bell Labs, Ken Thompson, foi popularizado nos meios
universitrios que usavam computadores PDP-11/45, durante a dcada de 1970. A palavra
UNIX espalhou-se rapidamente por todo o mundo e no incio de 1980 este sistema
operacional estava disponvel em mais mquinas do que qualquer outro sistema operacional
da poca, continuando hoje ainda a ser amplamente utilizado.
A mais recente evoluo da Computao foi o resultado da rpida convergncia das
tecnologias de comunicao de dados, de telecomunicao e da prpria informtica. a
Internet, ou o modelo computacional baseado em uma rede, que teve suas origens nos anos
da dcada de 1970, como um esforo do Departamento de Defesa dos EUA para conectar a
sua rede experimental, chamada ARPAnet, a vrias outras redes de rdio e satlites. Espalhouse logo em seguida nos meios acadmicos e est bastante popularizada.
sombra aos demais itens j comercializados por ela, escolheu o 8088, uma verso do chip com
barramento de 8 bits e estrutura interna de 16 bits. Tal tecnologia proporcionava ainda a
vantagem de trabalhar com as placas de expanso de oito bits existentes no mercado e com
dispositivos de oito bits relativamente baratos, como os chips controladores. Na busca pelo
software a IBM foi s portas da Digital Research para ver a possibilidade de portar seu
sistema operacional de grande sucesso! CP/M para a arquitetura 8086, mas esta rejeitou o
contrato de exclusividade apresentado pela IBM. Assim, a equipe da IBM rumou para os
escritrios da Microsoft, de quem esperavam obter uma verso do BASIC e acabaram
assinando um contrato no s deste software mas tambm sobre o sistema operacional. A
Microsoft adquiriu e incrementou um sistema operacional 8086 da Seattle Computer
Products o QDOS licenciando-o para a IBM, que comeou a comercializ-lo com o
nome de PC-DOS.
Os anos da dcada de 1980 poderiam ser caracterizados pelo aperfeioamento de
softwares tanto sistemas operacionais como utilitrios: planilhas, editores de texto, e outros
mais para o padro DOS e o desenvolvimento de um mercado de clones de diferentes
tipos de mquinas que seriam capazes de executar os programas elaborados para o padro. A
Apple continuava a fazer sucesso com sua famlia Apple II, embora fracassando na
introduo do Apple III e do formidvel LISA, a primeira tentativa de popularizar a
combinao de mouse, janela, cones e interface grfica com usurio. Mas o preo de
US$10.000,00 assustou e espantou o mercado.
O prximo passo a ser dado sem contar a evoluo e aprimoramento do hardware
sem o qual isso no seria possvel seria a gradual passagem dos aplicativos para ambiente
DOS verdadeiro mar de produtos para um novo padro de ambiente, que comeava a
ganhar contornos definitivos, e que protagonizou o incio de uma nova idade na histria dos
microcomputadores: o do sistema operacional Windows, que tornou-se padro dominante
para os aplicativos para PC, tornando a Microsoft lder na definio de especificaes
multimdia. importante no entanto fazer-se justia: o padro Windows inspirou-se no
padro Macintosh, lanado pela Apple em 1984: um computador que era capaz de oferecer
mais de um prompt de DOS e uma interface baseada em caracteres; ele podia ter vrias
janelas, menus suspensos e um mouse. Infelizmente o Macintosh no era compatvel com os
programas e aplicativos j existentes e no era expansvel.
A Teoria da Complexidade Computacional um ramo da Computao que estuda o grau de dificuldade envolvido na
resoluo algortmica de classes de problemas. Um dos principais tpicos abordados diz respeito eficincia (em termos de
tempo) envolvida na execuo de um algoritmo.
131
O objetivo escolher essas proposies de tal forma que elas sejam satisfeitas cada vez que o fluxo de controle do programa
passe pelo ponto anotado e de maneira que cada ciclo do fluxograma seja cortado (anotado) por uma proposio.
Para estabelecer uma distino entre as vrias espcies de abordagem vamos seguir uma classificao sugerida por Bjorner
[Tan92], de acordo com o grau de formalizao.
132
Donald E. Knuth iniciou nos fins dessa dcada um rigoroso tratado sobre as bases
matemticas para a anlise de algoritmos, produzindo os trs conhecidos volumes do The Art
of Computer Programming [Knu69], que propiciaram a base para o amadurecimento dos estudos
da complexidade de algoritmos. Pode-se dizer que o trabalho de Knuth um dos grandes
marcos da Computao no sculo XX: antes de Knuth no havia um corpo sistemtico do
estudo da programao e dos algoritmos.
Ainda no campo da Complexidade Computacional novos avanos se deram a partir
de 1971, com o trabalho de Steve Cook e Richard Karp sobre problemas NP-completos e os
estudos sobre criptografia de Ronald Rivest, Adi Shamir e Leonard Adleman. Em 1977 H.J.
Bremermann desenvolveu alguns trabalhos pioneiros dentro da teoria da complexidade,
mostrando os limites fsicos na arquitetura de computadores de qualquer tipo e que estes
*
Um problema dito P (de polinomial) executado em um computador com um nmero de passos dado pela frmula Ank ( A e
k so inteiros fixos e n o nmero de dados de entrada). Algoritmos NP (de tempo no determinstico polinomial) executam em
tempo exponencial, em um nmero de passos 2n ou n! (problema do caixeiro viajante por exemplo, a soluo de alguns
teoremas lgicos de primeira ordem, o problema da torre de Hani, etc.).
133
limites fsicos atuam como fatores restritivos para a computao de determinados problemas.
De acordo com ele, existe um tempo chamado limite fundamental para a velocidade dos
computadores que no pode ser ultrapassado. Tal limite deriva-se da idia de que a velocidade
mxima de transmisso de sinal entre os componentes internos da mquina limitada pela
velocidade da luz. Mesmo que se pudessem construir mquinas muito pequenas, otimizandose a trajetria de transmisso de sinais, esse limite no pode ser ultrapassado. E ainda que se
chegue a uma mquina cuja velocidade de transmisso seja prxima da luz, existem
problemas computacionais que so intratveis, como por exemplo os problemas NP:
mesmo com a velocidade da luz tais problemas poderiam levar a idade do universo para
serem processados [Tei97].
Como foi visto, Turing desenvolveu a Mquina de Turing, Church desenvolveu o clculo-lambda (que forneceu a base para
a linguagem LISP, desenvolvida por McCarthy, uma das favoritas do pessoal da IA), Kleene desenvolveu a teoria das
funes recursivas, enquanto Emil Post introduziu sistemas para reescrita de cadeias de smbolos (a gramtica de Chomsky
um caso particular disso).
Como um dos subprodutos do trabalho de Church, ficou estabelecido que tudo aquilo que um ser humano possa fazer
manipulando smbolos, seguindo um finito e bem definido conjunto de regras, uma mquina equipada com o conveniente
programa tambm poder faz-lo.
134
Pode-se imaginar um Perceptron como um dispositivo para o reconhecimento de um conjunto de padres, no especfico,
isto , com capacidade de aprender a reconhecer os padres de um conjunto aps um nmero finito de tentativas.
Na verdade tais indagaes remontam ao filsofo Ren Descartes que introduziu a primeira fissura no pensamento
filosfico de at ento, ao cavar um fosso profundo entre a matria e o esprito humano.
Ele props uma definio de pensamento usando um jogo: um homem teria de decidir, baseado em uma conversa via
teletipo, se a entidade que estava na sala ao lado, respondendo a um teste, era um ser humano ou um computador. Se a
distino no pudesse ser feita, ento poderia ser dito que o computador estava pensando [Tur36].
135
University elaboraram o LT (Logic Theorist) *, um programa capaz de trabalhar nonumericamente e que provou a maioria dos teoremas do segundo captulo do Principia
Mathematica, de Russell e Whitehead. Em 1952, Arthur Samuel mostrou que os
computadores no fazem somente o que se lhes pede, mas so capazes de aprender. Outros
programas provadores de teoremas se seguiram ao LT e em 1958, com McCarthy surgiu o
LISP, que se tornou a linguagem de programao predominante para IA a partir da.
McCarthy seguiu para Stanford na busca da representao do raciocnio atravs da
lgica formal (seu trabalho recebeu grande impulso quando J. A. Robinson elaborou um
algoritmo completo para a prova de teorema na lgica de primeira ordem). Estas aplicaes
da lgica incluam robtica e um projeto para demonstrar a completa integrao entre
raciocnio lgico e atividade fsica. Minsky estava mais interessado em descobrir programas
para resolver problemas que exigiam inteligncia para serem solucionados: problemas de
analogia geomtrica que aparecem nos testes de QI, problemas de lgebra, etc.
Os anos de 1966 a 1974 foram marcados por um certo ceticismo diante das
dificuldades que comearam a ser encontradas, como por exemplo a no tratabilidade de
muitos problemas de IA, acentuada pelos primeiros estudos dos problemas no-polinomiais
determinsticos, NP, e pelas limitaes das estruturas bsicas usadas para gerar
comportamento inteligente, como por exemplo os algoritmos de aprendizado por backpropagation [RN95].
A dcada de 1970 marcou a busca pelos sistemas baseados em conhecimento e pelos
sistemas especialistas, protagonizada inicialmente por Ed Feigenbaum, Bruce Buchanan e Joshua
Lederberg. Os sistemas especialistas so solucionadores de problemas acoplados a grandes
bancos de dados onde o conhecimento humano especfico sobre determinado assunto
encontra-se armazenado. O sistema dever fornecer respostas a consultas, dar conselhos a um
leigo sobre um determinado assunto, auxiliar especialistas, ensinar, etc. A idia subjacente
que a inteligncia no somente raciocnio mas tambm memria. A grande meta a
preservao do conhecimento de especialistas aps a morte destes. O problema, ainda em
aberto, a difcil tarefa de se representar o conhecimento, alis nome de uma nova rea
surgida dentro da IA para solucionar os inmeros problemas surgidos, principalmente os de
como representar o senso comum, o sexto sentido ou ainda a intuio, termos que
resistem a uma conceituao clara. Ou ainda qualquer tipo de conhecimento no
representvel por uma expresso simblica como ensinar algum a jogar bola. Como
formalizar estas coisas? Mais ainda: at que ponto a formalizao um instrumento eficiente
para a representao do conhecimento? De qualquer maneira surgiram os sistemas
especialistas para diagnstico mdico, manipulao de linguagens, etc.
Lembrando o trabalho de H.J. Bremermann citado no item anterior (A Computao
como Cincia), sobre os limites fsicos que impedem a construo de um dispositivo com
velocidade ilimitada (maior que a da luz por exemplo), deve-se reparar que esses mesmos
limites esto presentes tambm dentro das reaes qumicas e nos impulsos eltricos que se
do nas complexas conexes dos neurnios do crebro. Se a mente humana consegue
resolver determinados problemas intratveis (o problema da parada na mquina de Turing
*
Newell e Simon tambm inventaram a linguagem IPL, para processamento de listas, para escrever o LT. Como no tinham
compilador, traduziram manualmente para o correspondente cdigo de mquina.
136
137
Com a ciberntica surge uma disciplina que estuda a evoluo temporal dinmica
dos sistemas com capacidade de auto-regulao e auto-manuteno ao interagir com o meio
que o circunda. De maneira breve pode-se afirmar que as contribuies de Wiener podem
resumir-se em dois pontos [Ara78]:
Sublinhou a importncia dos estudos interdisciplinares, mostrando o grande
interesse que apresentam para cada uma das disciplinas consideradas
Percebeu a presena de processos realimentados de controle em uma ampla
classe de sistemas, tanto naturais como sociais.
Embora a ciberntica como cincia no tenha como objetivo o computador para
ela apenas mais uma das muitas estruturas existentes no universo , ela criou, juntamente
com a teoria da informao de Shannon, um novo caminho para tentar entender o homem e
as mquinas. Ao se ocupar das estruturas e funes lgico-matemticas de auto-regulao,
independentemente de que estejam inscritas e se cumpram em um organismo vivo, ou em
uma populao humana ou em um computador eletrnico, acabou tomando parte
indiretamente no desenvolvimento do hardware e do software.
A idia de informao como uma das caractersticas fundamentais do universo levou
Wiener e Shannon, separadamente, a demonstrarem que muitas coisas, desde o movimento
aleatrio de partculas subatmicas at o comportamento de redes baseadas em chaveamentos
eltricos ou alguns aspectos do discurso humano, esto relacionados de tal modo, que podem
ser expressos atravs de algumas equaes matemticas bsicas*.
Estas equaes foram teis na construo de computadores e redes telefnicas:
muitos conceitos elaborados e delineados pela ciberntica e teoria da informao tornaram-se
centrais no projeto lgico de mquinas e na criao do software.
A ciberntica no conseguiu estabelecer-se com um objeto e mtodo unificados na
tradio acadmica, e o termo se utilizou cada vez menos. Seus acahados foram integrados
dentro da Teoria Geral dos Sistemas , no que se refere aos aspectos mais tericos. Seu lado
mais prtico e utilitrio foram assimilados dentro da robtica. Somente em pases europeus
constituiu-se como uma cincia amplssima que engloba aspectos to diversos como a teoria
da informao, comunica~ao, computadores, sistemas de controle, robtica, modelagem
econmica, sociologia, etc. Independente da evoluo acadmica que tenha a ciberntica
como disciplina, necessrio referir-se a uma srie de conceitos que com ela se puseram em
andamento e so de uso comum em muitos mbitos [Tir2002].
Sobre estas idias to sumariamente enunciadas ver o livro Ciberntica, captulo introdutrio [Wie70].
A Teoria Geral dos Sistemas um completo paradigma, uma forma de pensar muito fecunda para entender a complexidade
que engloba tanto os campos j citados acima que se relacionam com a Ciberntica e ainda: Teoria dos Conjuntos
(Mesarovic), Teoria das Redes (Rapoport), Dinmica de Sistemas (Forrester), cfr. Bertalanffy, L. von Teoria Geral dos
Sistemas [Tir2002]
As noes de feed-back negativa ou realimentao, homostasis (permanecer igual a si mesmo), feed-before (comportamento predictivo
e por estratgia), etc.
138
Wide Web, etc. H um otimismo que leva muitos a se alegrarem com essa invaso vertiginosa
de palavras, imagens e smbolos, dos quais muito poucos so controlados, de um ponto de
vista semntico. Faz tempo que soam os alarmes: Os usos normais da fala e a escrita nas
sociedades ocidentais modernas esto fatalmente enfermos. O discurso que se faz nas
instituies sociais, o dos cdigos legais, o debate poltico, a argumentao filosfica e a
elaborao literria, o leviat retrico dos meios de comunicao: todos estes discursos so
clichs sem vida, jargo sem sentido, falsidades intencionadas ou inconscientes. O contgio se
estendeu aos centros nervosos do falar privado. Em uma infecciosa dialtica de reciprocidade,
as patologias da linguagem pblica, especialmente as do jornalismo, a fico, a retrica
parlamentar e as relaes internacionais, debilitam e adulteram cada vez mais as tentativas de
psique particular dse comunicar a verdade [Ste91].
A superabundncia de informao tende a mudar a natureza de cada mensagem
concreta. s vezes, a maneira mais prtica de no informar dar uma enxurrada de
informaes. Pode-se chegar at a privar de significado, ou tornar insignificante, a prpria
mensagem. A informao converte-se, nessa perspectiva, em simples rudo de fundo. Isto j
ocorre, especialmente com os informes publicitrios.
uma acumulao de dados no s pela densidade de informaes bem como pela
sucesso rpida com que chega. Se no passado o problema era o de acesso e coleta, agora est
sendo o da seleo e avaliao. A possibilidade de recolher, processar, difundir e recuperar
informao de maneira quase instantnea implica numa certa desvalorizao da notcia. A
informao em doses exageradas acaba por tornar-se rudo. Por muita informtica que exista,
se no se tem capacidade de tratamento que a converta em significativa rudo: nos tornamos
incapazes de assimilar e tratar tanta abundncia informativa. necessrio que se enfatize cada
vez mais a anlise da informao e que se encorajem as inovaes tcnicas nesse campo. J
surgem os grandes sistemas de manipulao de dados, gigantescos depsitos de dados com
seus Data Minds, softwares usando tcnicas de IA que trazem, por mecanismos de
inferncia, a informao desejada ou a possvel informao desejada.
As possveis reaes ante esse fenmeno da poluio informativa ocorreriam em
trs direes [Sor92]. Uma primeira via seria a seleo da informao, sem redundncias nem
repeties, como se mencionou algumas linhas acima. A outra seria a reduo da informao,
acomodando-a em funo de interesses especficos e especializados do pblico e a terceira via
a fuga da informao. A fuga da informao seria o florescimento de ideologias
simplificadoras, a semeadura do irracional, o voluntarismo irreflexivo, o empobrecimento das
relaes sociais e o desenvolvimento do mais passivo consumismo. uma hiptese
reducionista, somente esboada em determinados nichos sociais. Uma futura linha de fuga
seria a explorao atravs da venda e compra da informao, das mensagens informativas, a
um determinado custo (como avaliar?), orientando-se a radioteleviso ao volume de
informao e tipo de informao que o assinante deseja.
140
uma ao do computador que uma funo matemtica sobre o texto sendo trabalhado ou
sobre o estado do computador. Portanto, para se programar ou usar um computador,
necessrio formular os pensamentos dentro de um espao estritamente abstrato, matemtico,
apesar de aparentemente no ser o tradicional, pois os smbolos e as funes so em grande
parte diferentes. Programar ou usar um computador so funes estritamente matemticas,
como fazer clculos ou provar teoremas. Assim, a programao ou uso de um computador
exigem o mesmo grau de conscincia e abstrao que a atividade matemtica. Isso no se
passa com todas as outras mquinas, que exigem uma certa coordenao motora automtica,
semiconsciente (por exemplo, s se aprende a andar de bicicleta quando no mais
necessrio pensar sobre os movimentos e o equilbrio).
Como uma das conseqncias dessas afirmaes, pode-se propor que o uso do
computador deva estar acompanhado de um novo tipo de educao, seja no mbito da
famlia ou das escola, das universidades ou das empresas, que aponte para uma abertura maior
do entendimento humano. E esse saber vital, que faz com que um homem se sinta
interiormente livre porque tem respostas s questes da vida , e que tenha uma viso mais
ampla da realidade, a cultura, a literatura, a filosofia, a histria, etc., ou seja, as humanidades
ou artes liberais, como antes eram chamadas algumas cincias humanas. Nas cincias tcnicas
e para os profissionais da Computao isto mais premente. O maior problema que a
especializao das cincias tcnicas trouxe foi essa perda do sentido de conjunto.
Continuando com as consideraes da citada palestra:
Um empobrecimento que tambm pode dar-se em outro sentido que o uso da
computao na arte. H um elemento informal e intuitivo na arte que leva a dizer que na
criao artstica deve haver um elemento inconsciente, que nunca poder ser conceituado
totalmente. J a criao cientfica deve poder ser expressa por meio de pensamentos claros,
universais e no-temporais, isto , independentes da particular interpretao do observador,
talvez at certo ponto (dependendo da rea) formais, matemticos. Imagine-se uma descrio
do Altar de Isenheim atravs dos seus pixels e seus comprimentos de onda: ele perderia
totalmente o senso esttico e no produziria mais a reao interior provocada no observador
pelas cores, formas e motivos, isto , no teria o efeito teraputico para o qual foi criado por
Grnewald.
O elemento emocional foi realado por Freud, quando afirmou em sua Introduo
Psicanlise, Aula 23, e no ensaio Alm do Princpio do Prazer, que a arte emoo ou
expresso subconsciente e no imitao ou comunicao (dentro de seu tpico raciocnio
unilateral da teoria da sublimao da emoo e do desejo atravs da arte). Comparando-se
com a arte como comunicao de uma realidade espiritual, de Kandinsky, v-se bem o
contraste entre materialismo e espiritualismo; neste pode haver algo superior a ser
comunicado.
Apesar de que a idia expressa em um objeto de arte seja de contedo objetivo, a
sensao e emoo que ela desperta subjetiva. Por exemplo, oua-se uma tera maior
seguida de uma menor, ou uma stima seguida de uma oitava. Estamos seguros que qualquer
pessoa ter sensaes diferentes em cada caso, que ficam claras pelo contraste entre cada
intervalo e o seguinte. Mas provavelmente quase todas as pessoas diro que a tera menor
'mais triste' e a stima produz uma tenso aliviada pela oitava. Cada um sente essas emoes
142
diferentemente, mas h claramente algo universal por detrs delas, como as sensaes que
temos do amarelo limo (alegre, radiante, abrindo-se) e do azul da Prssia (triste,
introspectivo, fechando-se) .
necessrio considerar tambm uma distino essencial entre obra artstica e
cientfica o fato da primeira dever sempre ter contextos temporais e espaciais ligados sua
criao. Como contraste, uma teoria cientfica no depende do tempo, desde que seja
consistente e corresponda s observaes, se for o caso. Um exemplo simples o do conceito
de uma circunferncia, como por exemplo o lugar geomtrico dos pontos eqidistantes de
um ponto. Essa definio formal no dependeu das condies de seu descobridor. Ela
impessoal e eterna. O fato de podermos capt-la com nosso pensamento levou Aristteles a
conjeturar, por um raciocnio puramente lgico (precursor de nossa maneira de pensar
hodierna), que temos dentro de ns tambm algo de eterno, e que no poderia ter ocorrido
em Plato, pois este tinha sido um iniciado nos Mistrios (em A Escola de Atenas, de Rafael h
uma representao da diferena entre os dois *).
A dependncia espao-temporal da criao artstica aliada ao elemento de
expresso individual semiconsciente do artista faz com que haja sempre um elemento de
imprevisibilidade na criao. O artista deve observar sua obra durante o processo de criao,
para influir no mesmo e chegar a algo que no podia inicialmente prever. Isso pode ser um
processo puramente interior, como no caso de um compositor que no precisa ouvir os sons
de sua obra; no entanto, a sensao auditiva ao ouvi-la tocada nunca a mesma que a que
pode imaginar interiormente. Poder-se-ia argumentar que a pesquisa cientfica tambm tem
elementos de imprevisibilidade. Isso pode ocorrer at na matemtica: um teorema pode ser
descoberto, e o seu autor ou outros ainda no saberem como se poder prov-lo (um
exemplo recente foi a prova do ltimo teorema de Fermat, formulado no sculo XVII). Uma
grande diferena reside no fato do resultado ser de um lado um conceito e de outro um
objeto. Alm disso, uma vez estabelecido um conceito cientfico, toda vez que se refizer a
experincia ou a teoria correta o resultado ser o mesmo (dentro das eventuais aproximaes
experimentais); no caso da criao artstica, o objeto de arte dever sempre mudar, pois a sua
simples presena deve influenciar o criador, que ter outras inspiraes na hora de repetir a
criao (lembremos da frase de Freud de que simples imitao no arte). D-se a esse fator
o nome de dinamismo da criao artstica.
Portanto o uso do computador para fazer arte, sem considerar sua grande utilidade
como banco de dados das obras artsticas, pode ser empobrecedor.
Como instrumento passivo na criao artstica, como o caso do uso de uma
ferramenta CorelDraw, existe o problema do usurio fazer uso de um raciocnio formal ao
utilizar os comandos do computador submetendo a criao artstica a uma consciencializao
e formalizao e o problema da ausncia do elemento inconsciente, assim como do contato
fsico que desperta diferentes reaes, como por exemplo, no pintor com seu pincel, no
pianista ao dedilhar o piano.
O autor se refere ao famoso quadro onde vrios filsofos gregos aparecem, e, caminhando lado a lado, esto Plato e
Aristteles, um apontando o dedo para cima e outro para baixo, respectivamente, indicando o mundo das idias e o mundo
real.
143
Uma outra forma de usar um computador em arte fazer um programa para gerar
imagens ou sons (quem sabe, no futuro, at fazer uma escultura ou construir uma casa). Um
exemplo conhecido disso so os fantsticos desenhos produzidos por funes fractais;
programas para produzir desenhos com essas funes provavelmente estaro logo no
mercado. Nesse caso, no h apenas a substituio de um instrumento informal por outro
formal; o prprio processo de criao torna-se totalmente formal. A criao deve ser expressa
de maneira estritamente matemtica, como o caso de um programa. Com isso, elimina-se
totalmente o elemento inconsciente. tambm eliminado o elemento individual, no sentido
de qualquer pessoa poder entender totalmente como a obra foi produzida - basta examinar
detalhadamente o programa. eliminado ainda o elemento temporal e espacial ligado
criao. Em outras palavras, a atividade artstica tornou-se atividade cientfica. A propsito,
muito importante compreender-se o que significa produzir um programa para fazer uma obra
de 'arte' segundo um certo estilo. Um computador pode produzir desenhos e msica que se
assemelham aos de Mondrian e de J.S.Bach, mas estes tiveram que desenvolver seus estilos
para poder ser depois analisados e expressos em elementos puramente formais e
programados em um computador, para gerar algo que aparentemente semelhante. Sem
Bach, no haveria programas que imitam sua msica. Alm disso, a criao do computador
no exprime nenhuma idia alm da contida no estilo, desde que este seja expresso
matematicamente, o que representa um empobrecimento.
Encerradas as consideraes, o que se deseja chamar a ateno a mentalidade do
uso do computador sem o correspondente desenvolvimento de outros aspectos da
inteligncia do homem. Depois de tudo o que foi dito, seria redundante e suprfluo falar das
vantagens desse instrumento de trabalho que potencializou e impulsionou o desenvolvimento
das cincias em geral. Mas bom lembrar que os computadores no inovam, no se
relacionam, no so flexveis e no sabem tomar iniciativas diante de situaes no prdeterminadas por algoritmos internos. A imerso na informtica traz o risco de se deixar de
lado o cultivo ou mesmo a perda de aptides fundamentais como a leitura, a reflexo, a
criatividade, etc. Ser tarefa primordial principalmente nos estabelecimentos de ensino, onde
o computador se faz cada vez mais presente, preocupar-se em dar ao lado dos conhecimentos
tcnicos e informticos, uma slida formao humanstica que garanta o exerccio integral da
inteligncia humana em seus vrios mbitos.
144
9 Concluso
Voltando a algumas das primeiras observaes feitas no captulo introdutrio, foi
dito que a exposio histrica no apenas a narrativa de acontecimentos, cronolgica e
tematicamente ordenados. Esses so somente a ponta do iceberg, pois escondem
motivaes, esforos, entrelaamentos e a prpria evoluo anterior. A tarefa do historiador
no se conclui com a obteno de dados fidedignos, depurados e exatos, bem como o
estabelecimento de sries desses fatos de maneira coerente e significativa. So somente
pontos de partida para se inquirir e perguntar sobre o prprio homem, o verdadeiro
protagonista da Histria. Esse saber histrico produz assim um enriquecimento da
experincia humana, permite enfrentar o desafio dos novos problemas com melhores
recursos. H mais possibilidades de crescimento e criao de coisas novas quando se possui
uma herana. A criatividade no se faz sobre o nada. Ao jovem que o procurou dizendo que
queria fazer versos livres, Manuel Bandeira recomendou que estudasse a fundo poesia
clssica, metrificada: e que s ento estaria apto a fazer versos livres. A criatividade antes
extrapolar e reorganizar dados j incorporados, numa configurao nova. Mas, para extrapolar
ou reorganizar dados, preciso, antes de mais nada, t-los.
Ao lado disso, uma aspirao constante de qualquer cultura entender o momento
presente, formar uma imagem coerente, selecionando os fatos do passado que afetaram a
evoluo do ser humano, que permitam construir uma explicao. Essa idia pode ser levada
tambm a qualquer campo do conhecimento humano e tcnico. Quando se abandona o
conhecimento histrico, uma cincia, uma comunidade social, o homem, ou qualquer outro
mbito, ficam privados de uma dimenso essencial na ordem do tempo: o entrelaamento
entre presente e passado em uma unidade lgica.
A Computao atravessa um tempo de expanso em vrias direes, tornando-se
uma tarefa necessria guardar seu patrimnio, discernindo as realidades e conceitos mais
importantes. Tudo isso importante para o ensino, pois a Computao no surgiu do nada:
h uma histria por trs de cada conceito. Cada conceito tem o seu lugar, a sua importncia e
a sua histria que necessrio ser ensinada
Este trabalho sobre Histria da Computao, um entre outros que esto surgindo e
alguns que j existem, faz uma retrospectiva enfatizando as idias, os paradigmas,
pretendendo apenas ser uma pontualizao, visando uma futura expanso, sobre alguns
aspectos abstratos do desenvolvimento dos computadores. Ele e sua futura expanso so
apenas um comeo, porque a rea sobre a qual se falou continua em constante evoluo e
mudana. O campo de estudo ainda tem uma histria muito recente e por demais voltil, no
se podendo chegar a algo definitivo.
Apesar dessas dificuldades, deve-se continuar a chamar a ateno sobre a
importncia de se registrar e estudar o desenvolvimento dos computadores eletrnicos e a
conseqente evoluo dos temas anexos: Linguagens de Programao, a Teoria da
Computao, estudo da Complexidade dos Algoritmos, etc., assim como a importncia
decisiva do fator humano. Quando tantos se maravilharam com a derrota do campeo
mundial de xadrez Kasparov para o computador da IBM, o Deep Blue, (abril/maio de 1997),
surpreende a pouca ateno dada equipe de tcnicos que construiu e programou a mquina,
145
s heursticas utilizadas e aos objetivos que esto por detrs desse novo engenho, como se
algum ficasse maravilhado com o quadro e os pincis de uma obra de arte e se esquecesse do
artista. A histria tem o dom de focalizar com especial nitidez aquele que o seu personagem
principal: o homem.
146
10 Referncias bibliogrficas
[AG81]
Anawati, M-M & Gardet, Louis. Introduction a la Thologie Musumane. Paris: Vrin,
1981, apud [Lau97].
[Aga86]
[Ara78]
[Arb87]
[Art94]
[Asp90]
Aspray, Willian. John von Neumann and the origins of modern computing.
New Baskerville: Massachusetts Institute of Technology, 1990.
[Bar67]
[Bar84]
Barendregt, H.P. The lambda calculus, its syntax and semantics. Amsterdan: Elsevier
Science Publishers B.V., 1984.
[BBF82]
Berg, H.K. & Boebert, W.E & Franta, W.R. & Moher, T.G. Formal methods of
program verification and specification. New Jersey: Prentice-Hall, Inc., 1982.
[Bel37]
Bell, E. T. Men of Mathematics. New York: Simon & Schuster, Inc, 1937.
[BL74]
[Boc66]
[Bol84]
Bolter, J. David. Turings man, western culture in the computer age. Carolina do Norte:
Universidade da Carolina do Norte, 1984.
[Boo84]
[Bow94]
Bowen, Jonathan P. A brief history of algebra and computing: an ecletic oxonian view.
Oxford: Librarian, Oxford University Computing Laboratory, 1994.
[Boy74]
[Bri79a]
[Bri79b]
[Bur51a]
[Bur51b]
[Bur92a]
[Bur92b]
[Cas97]
Casti, John L. Five golden rules-great theories of 20th-century Mathematics and why they
matter. Canad: John Wiley Sons, Inc., 1997.
[CO98]
Carvalho, Roberto Lins de & Oliveira, Cludia Maria G.M. de. Modelos de
computao e sistemas formais. Rio de Janeiro: DCC/IM, COPPE/Sistemas,
NCE/UFRJ, 11a Escola de Computao, 1998.
[Coe95]
[Cof91]
Coffa, J. Alberto Wessels. The semantic tradition from Kant to Carnap. Cambridge:
Cambridge University Press, 1991.
[Coh87]
[Cos77]
[Dan54]
Dantzig, T. Number, the language of science. New York: Doubleday Anchor Books,
1954.
148
[Die81]
Dieudonn, J. Von Neumann, Johann (or John), in Gillespie, Charles C., Dictionary of
Scientific Biography. New York: Charles Scribner's Sons, 1981.
[Fer85]
[Gat95]
[GM95]
Gosling, James & McGilton, Henry [1995]. The Java language environment- a white
paper. California: Sun Microsystems, Inc, 1995.
[GN88]
Le Goff, Jacques & Nora, Pierre. Histria: novos problemas. Rio de Janeiro: Livraria
Francisco Alves Editora, 1988.
[Gof94]
[Gol72]
Goldstine, Herman H. The computer from Pascal to von Neumann. New Jersey:
Princeton University Press, 1972.
[Gom97]
[H30]
[Har96]
Harrison, John, The history of formal logic.. Revista Mathesis Universalis, 1996, no 2,
Formalized Mathematics. Disponvel na internet
http://saxon.pip.com.pl/MatUniversalis/2/harrison/jrh03.html.
[Her69]
[Hod83]
Hodges, Alan. Alan Turing: the Enigma. New York: Simon & Schuster, 1983.
[Hur80]
[IEEE95] IEEE Computer Society, Edio comemorativa dos 50 anos da revista. Disponvel na
Internet, http://www.computer.org/50.
[Ifr89]
Ifrah, Georges. Os nmeros, a histria de uma grande inveno. Rio de Janeiro: Globo,
1989.
149
[Kah67]
[Kar61]
Karlson, Paul. A magia dos nmeros. Rio de Janeiro: Editora Globo, 1961.
[Kne68]
[Knu69]
[Knu76]
[Kow96]
[KP80]
[Lau97]
[Lee95]
[Lee96]
Lee, John A. N. Annals of the History of Computing, Volume 18, no 2. EUA: Institute
of Electrical and Electronics Engineers, Inc., 1996.
[Lil45]
[Lin96]
Linden, Peter van der. Just Java. California: The Sunsoft Press, 1996.
[LSSK79]
[Luc82]
150
[May80]
[Moo77]
[Mor61]
Morrison, Philip & Morrison, Emily. Charles Babbage and his calculatings engines.
New York: Dover, 1961.
[Mos92]
[Mot96]
[MP43]
McCulloch , Warren & Pitts, Walter. A logical calculus of the ideas immanent in nervous
activity, Bulletin of Mathematical Biophysics, volume 5, 1943.
[MS98]
Michelson, A..A.. & Stratton, S.W. A New Harmonic Analyzer. American Journal
of Science, 4a srie, vol V, 1898.
[Nau69]
[Nee59]
[New56]
Newman, J. R. The world of mathematics. New York: Simon & Schuster, 1956.
[NN56]
Nagel, Ernest & Newman, J. R. Gdels Proof, the world of mathematics. New York:
Simon e Schuster, 1956.
[Per88]
[RA91]
[Rhe85]
Rheingold, Howard. Tools for thought: the people and Ideas of the next computer revolution.
New York: Simon & Schuster, 1985.
[RN95]
151
[Roc81]
Roces, Wenceslao. Lecciones sobre la historia de la filosofia, III. (trad. Vorlesungen ber
die Geschichte der Philosophie. Karl Ludwig Michelet, 1842). Mxico: Fondo de
Cultura Econmica, 1981.
[Ryd67]
Ryder, John D. Engineering Electronics with Industrial Applications and Control. Toquio:
McGraw-Hill Kogakuska, Ltd., 1967.
[San82]
[Sch31]
[Sho67]
[Sin99]
[Sho71]
[Ste91]
[Sor92]
[Sti80]
[Tan92]
[Tei97]
[Tir2002]
[Toy87]
[Tur36]
152
[Tur50]
[Ula80]
[Vey82]
[Wat90]
Watt, David A.. Programming language concepts and paradigms. Cambridge: Prentice
Hall, 1990.
[Wex80]
[Wie70]
[Wil65]
[Wil97]
[Zus80]
153
EVOLUO CONCEITUAL
EVOLUO TECNOLGICA
4000 aC
tbuas
3000 aC
1800 aC
1650 aC
500 aC
384 aC
330 aC
axiomtico:
postulados,
proposies,
teoremas
250 aC
79 aC
830
calendrio lunar
Abu
Jafar
Muhammad
ibn
Musa
alKhwarizmi, lgebra
Gerbert de Aurillac ou Papa Silvestre II, baco
1000
mais eficiente
Raymundus Lullus, Ars magna: o
1300
1o
1445
1614
Esta cronologia vai at o ano 2007 somente, e no sei se sero feitas novas atualizaes, ao menos por esse autor. A histria
segue, a tecnologia avana, talvez novos paradigmas alterem rotas, enquanto ns, pobres homens, ficamos... Espero que os
interessados no assunto prossigam com a divulgao de novos aspectos ou aprofundamentos da Histria da Computao,
proporcionando tambm melhores tabelas (e mais atualizadas!).
154
1622
1624
1642
1666
De
Arte
Combinatoria;
characteristica universalis
Leibniz, dispositivo mecnico de calcular que
1673
1750
1780
1801
1814
1822
Charles
Babbage,
projeto
Engenho
1829
escrever
Charles Babbage, projeto Mquina Analtica,
1833
1838
1842
1847
1854
1855
1855
1858
155
analgico)
O telefone inventado por Alexander Graham
1876
Bell
Sir Willian Thomson (Lord Kelvin): analisador
1878
1879
1874- 97
1886
calcular
Herman
1889
patente
de
mquina
tabuladora
Herman Hollerith, mquina eletromecnica,
1890
1893
Hollerith,
Frege:
Fundamentais
Grundgesitze
da
(Leis
Aritmtica,
1895
1900
1903
1904
vcuo (vlvula)
G.
1908
Peano:
Formulrio
Matemtico,
1913
1911
1911
156
Company
1915
1919
1921
1924
Company
1925
Bush,
inicia
construo
de
1927
torna-se
operacional
entre
1927
1928
1928
catdicos
O
1930
Analisador
Diferencial,
inventado
por
1930
1931
1931
1933
1936
157
ser armazenados
1936
1936
Alonso
Church:
funces
computveis,
1937
1937
1937
1937
1938
completa
Z1,
computador
1938
1938
fundada
para
fazer
equipamentos eletrnicos
Isaac Asimov: termo robot
Trabalhando de outubro a novembro, John
Vincent Atanasoff com Clifford E. Berry,
1939
controem
um
prottipo
de
computador
1940
1940
TV a cores
1940
1940
1941
1o dispositivo de calcular
1943
Moore
Filadelfia
158
School
of
Electrical
Engineering,
1943
1943
Bletchley Park
Post: 1o sistema gerativo para computao
simblica
Mark I (IBM Automatic Sequence Controlled
Calculator) terminado pelo prof. Howard H.
1944
1944
1945
1945
para
construir
EDVAC
1945
executando
Trabalhando em um prottipo do Mark II,
1945
1946
(Binary
Automatic
Computer),
1946
Wiener: ciberntica
ENIAC (Electronic Numerical Integrator and
Computer), J. Presper Eckert e John Mauchly,
1946
1946
1946
Computer
Corporation
1946
1947
1947
for
Computing
Machinery
159
(ACM) constituida
Howard Ayken e equipe completam o Harvard
1947
Mark II
EDSAC (Electronic Delay Storage Automatic
1948
1948
1948
1948
1948
1948
1948
1949
(Electronic
Automatic Computer)
Discrete
Variable
discos magnticos
Computador Whirlwind, MIT: 1o computador de
1949
1949
computador
com
programa
1949
1949
jogar xadrez
xadrez
Jay Forrester inventa a memria de ncleos
1949
1950
160
magnticos
Maurice
V.
Wilkes,
universidade
de
1951
1951
1951
1951
conferncia
internacional
sobre
computadores
Maurice
V.
Wilkes,
conceito
de
microprogramao
IEEE Computer Society constituida
UNIVAC I instalado no Bureau of Census
1951
1952
1952
1o
manual
de
computador,
Fred
Gruenberger.
Kleene: teorema da forma normal, funes
recursivas
Computador IAS (von Neumann): a maioria das
1952
1952
IBM 701
1952
1952
1953
1953
Electronic
Computer
(UDEC)
na
1953
1953
caracteres-por-polegada de densidade e 75
polegadas por segundo de velocidade
Earl Mastersons Uniprinter, ou impressora de
1954
1954
1954
161
1954
1956
1956
1956
1956
capaz
de
provar
prpoposies
lgicas
(Dartmouth College)
John McCarthy e Marvin Minsky renem-se
1956
1956
1957
1957
1957
Ken Olsen
1o
compilador
FORTRAN
para
Westinghouse
ALGOL, primeiramente chamado IAL
1958
(International
Algebraic
Language),
apresentado em Zurich
A 1a mquina de memria virtual, Atlas,
1958
instalada
na
Inglaterra
por
Ferranti.
1958
1958
usando
uma
CRT
(character
162
caracter
processamento
de
listas,
recursividade,
1958-
1959
formais
Ultimate, 1o robot, F.Engleberger e George C.
1958
1958
1959
circuito integrado
COBOL definido pela Conference on Data
System Languages (Codasyl)
IBM
1959
1959
monta
seus
1os
computadores
1959
1960
1960
1960
1960
1960
1960
computador cientfico
Mtodos
para
problemas
1961
heursticos
conceito
de
multiprogramao
1961
1962
163
1962
1962
1963
ASCII
padro
para
troca
de
1963
1963
Lincoln
Laboratories
(Sketchpad),
1963
1964
1964
1964
Instruction Language)
1965
Stearns:
Teoria
da
Complexidade
Computacional
1966
1967
164
1973
dados
como
entidades
separadas
dos
programas
1968
1968
1969
1969
1969
1969
de minicomputador, Sistema /3
1970
1970
1970
1970
gerao
Floppy disks so introduzidos para carregar o
1971
1971
1971
Corporation
anuncia
1o
1971
1972
165
1972
1972
1972
de
anlise
de
complexidade
1973
1973
comercializa
MICRAL,
1o
microcomputador da Frana
Winchester disk drives, pela IBM, nome usado
1973
1974
muitos microcomputadores
1974
Zilog formada
1975
Cray-1, supercomputador
1975
1975
1975
aeroespacial
Microsoft formada aps Bill Gates e Paul Allen
1975
1976
1976
1976
1976
166
1976
1976
1976
1977
1977
1977
1978
1978
1978
1979
rede local
Popularizao da anlise estruturada (Tom
de Marco)
Texas Instruments, brinquedo educacional
Speak-and-Spell, sntese de voz
1a COMDEX
Linguagem
Ada,
CII-Honeywell
Bull
1979
sobre
fractais,
gerando
conjunto
1979
1979
1980
1980
Data
Corporation,
Cyber
205
supercomputador
Anlise probabilstica de algoritmos
Microsoft licencia o sistema operacional
1980
1980-90
1981
domstico
IBM entra no mercado de computadores
1981
pessoais
1981
1981
1982
para uso
167
1982
Microsoft, MS-DOS
Cray 2, 1 bilho de FLOPs (floating point
1983
1983
1984
1984
IBM introduz o PC AT
1984
1984
1984
1985
1986
1986
Intel 80386-
based PC
HP,
1986
linha
tecnologia
Spectrum,
RISC
computadores
(reduced
com
instruction
set
computers)
1986
1987
IBM PS/2
Cray Research, Cray 2S, 40% mais rpido que
1987
Cray 2
1987
1987
microprocessador RISC
Watts Humphrey e William Sweet, Instituo
de Engenharia de Software, EUA, publicam
1987
1987
1987
1988
168
1988
1988
1988
1988
Microsystems,
que
ir
ajudar
no
1988
1988
Internet network
1989
tecnologia RISC
Intel
1989
80486
microprocessador
I860
1989
1989
1989
mundo
Pocket anuncia o 1o computador de pequeno
1989
1989
reconhece escrita a mo
Notebook com bateria: LTE e LTE/286 da
1989
Compaq
1989
1989
1989
1990
1990
169
1990
1990
1990
1990
1990
1990
IBM PS/1
IBM PS/1
1990
1990
1990
1990
1990
1990
1991
1991
Notebook PCs
1991
1991
Intel 486SX,
1991
1991
1991
1991
1991
1991
1992
1992
1992
1992
1992
1992
Intel Pentium
1992
170
1992
1993
Universidade
de
para
navegao
na
INTERNET
1993
1993
1993
1993
Microsoft Windows NT
Microsoft Plug and Play e Microsoft at Work
1993
(MAW)
1993
1993
1993
1994
1994
1994
fundam
Netscape
Communications
1995
julho
de
1995,
pesquisadores
da
1995
1996
171
1996
1.8 teraflop
1997
1997
1997
1998
1998
1999
1999
2000
MS Windows 2000
Novas verses dos processadores AMD Athlon
2000
2000
2000
2000
2001
2001
MS Windows XP
2002
Lanamento do Lindows
Lindows alia-se Microtel
Lanamento do Kernel do Linux 2.6
2003
2003
2003
2003
2003
Multithreading
Comunicaes WiFi
2003
2004
2004
2005
2005
172
Windows Vista
Migrao da plataforma
processadores Intel
Macintosh
para
2006
2006
2007
Web 2.0
Apple lana o iPod Nano, o menor iPod com
tela LCD e o iPod Video, com capacidade de
armazenamento de at 80GB
Maio: novo sistema Cray XT4 parapreviso de
tempo instalado no CSCS-Swiss National
Supercomputing Centre: 2.6 GHz, 4.5 Tflops.
173
Baseado em [Aga86] e em artigo da Scientific American Brasil, edio Gnios da Cincia Matemtica: A vanguarda
matemtica e os limites da razo
174
nmeros: o que so e para que servem?, no qual buscava estabelecer as propriedades da sucesso
dos nmeros naturais que sejam independentes, vale dizer, no se possam deduzir umas das
outras, mas a partir das quais se possa construir todas as outras. Assim, ele construiu a teoria
dos nmeros com base nos seguintes axiomas: 1) 1 um nmero; 2) o sucessor de todo
nmero um nmero; 3) nmeros distintos tm sucessores distintos; 4) 1 no sucessor de
nenhum nmero; 5) o conjunto dos nmeros naturais o menor conjunto S tal que 1
pertence a S e o sucessor de todo elemento de S tambm pertence a S. Esse ltimo axioma,
fundado no princpio de induo (ou de recorrncia), havia permitido a Dedekind excluir da
classe de modelos para sua teoria todas as estruturas que contivessem, para alm dos nmeros
naturais, elementos estrangeiros (nmeros que, depois, sero nomeados no-standard), e,
assim, demonstrar a possibilidade de definir exatamente a estrutura dos nmeros naturais.
No entanto, para construir seu sistema de axiomas, Dedekind havia utilizado de
maneira informal a teoria dos conjuntos. Mais especificamente, ele colocara no mesmo nvel
objetos, expresses referidas a objetos e expresses referidas a outras expresses (ver o
axioma 5): sua aritmtica era de segunda ordem. Deve-se ao matemtico italiano Guiseppe
Peano a etapa seguinte, decisiva para a axiomatizao da matemtica. Em sua obra Arithmetices principia nova methodo exposita, publicada um ano depois dos trabalhos de
Dedekind, Peano apresentou um sistema de axiomas para os nmeros naturais que lembrava
de maneira espantosa o sistema de Dedekind, apesar de concebido de modo independente. O
matemtico italiano, contudo, no construra sua teoria dentro do contexto conjuntista, e
introduziu uma notao (que, com uma ou outra modificao, tornou-se padro) destinada a
contornar certas ambigidades inerentes linguagem natural. Seu objetivo era captar, com o
maior rigor possvel, a natureza lgica do princpio de induo, ou seja, a lgica de segunda
ordem.
Ver anexos Deduo e Induo na Matemtica e A Aritmtica de Peano.
175
Considere por exemplo a expresso n2 n + 41. Para n = 1,2,3,...40, gera-se em todos os casos um nmero primo. Seria um
erro primrio dentro da matemtica pensar que tal expresso sempre gerar um nmero primo...
176
k (k + 1)
2
0(0 + 1)
2
n(n + 1)
2
177
178
A maior parte do texto vem de artigo publicado na revista Scientific American Brasil, edio Gnios da Cincia Matemtica:
A vanguarda matemtica e os limites da razo
179
1a diferena
f(x)
3
5
7
9
11
13
15
2
2
2
2
2
2
Para se achar o valor de f(x) para x = 7, sem fazer nenhuma multiplicao, basta
tomar a constante de diferena e somar a f(6) j calculado, portanto f(7) = 15 + 2 = 17.
Se a funo fosse um pouco mais complexa, como por exemplo f(x) = x2 + 2x + 3,
ento seria necessrio obter as diferenas das diferenas (ou segundas diferenas) antes de se
chegar ao valor constante. Por exemplo:
x
0
1
2
3
4
5
6
f(x)
3
6
11
18
27
38
51
1a diferena
2a diferena
3
5
7
9
11
13
2
2
2
2
2
181
O ponto de vista da correo e da verdade de um raciocnio distinto dentro da Lgica, embora voltem a unir-se
principalmente considerando-se que as regras lgicas permitem obter de premissas verdadeiras somente concluses
verdadeiras.
De qualquer maneira, no preciso reduzir o horizonte conceitual da lgica simblica a este simples aspecto instrumental
que, apesar de ser o mais facilmente compreendido de incio, tem o risco de fazer perder de vista a verdadeira natureza dos
problemas abordados pela moderna logstica. De fato, os desenvolvimentos desta ltima ultrapassam amplamente a tarefa
no fundo bastante modesta de proporcionar instrumentos mais precisos para o estudo da deduo. Com efeito, a
Lgica j uma verdadeira cincia por si mesma, que estudada e desenvolvida com o mesmo interesse puramente
especulativo que move as investigaes das matemticas puras ou da lgebra abstrata [Aga86].
182
apresentados por frmulas), e sua linguagem formal utilizada por todas as outras. No
entanto os formalistas, escola fundada pelo prof. David Hilbert, so apenas um dos grupos
dentro da Matemtica e seus resultados foram e so fortemente questionados *.
Hilbert, diferentemente dos matemticos da escola logicista, no tinha pretenses de
reduzir a matemtica lgica, mas fundamentar conjuntamente ambas. Ele e os outros
seguidores da escola formalista viam na matemtica a cincia da estrutura dos objetos. Os
nmeros so as propriedades estruturais mais simples desses objetos e por sua vez
constituem-se tambm em objetos, com novas propriedades. O matemtico pode estudar as
propriedades dos objetos somente por meio de um sistema apropriado de smbolos,
reconhecendo e relevando os aspectos destitudos de importncia dos sinais que utiliza. Uma
vez que se possua um sistema de sinais adequados, no mais necessrio se preocupar com
seus significados: os prprios smbolos possuem as propriedades estruturais que interessam.
Aqui devemos atentar para o fato de que a formalizao no deve ser confundida com este
aspecto no essencial que a simbolizao. O matemtico deve apenas investigar, segundo os
formalistas, as propriedades estruturais dos smbolos, e portanto dos objetos,
independentemente de seus significados. Assim como na geometria ou na lgebra, para
simplificar e uniformizar determinadas questes, so introduzidos conceitos no reais ponto
do infinito, nmeros ideais, etc. que so apenas convenes lingsticas, tambm se justifica
a introduo, na matemtica, de conceitos e princpios sem contedo intuitivo. Desse modo,
as leis da lgica clssica permanecem vlidas.
Ponto chave na metamatemtica de Hilbert que o sistema estudado no encerre
contradio, isto que no se possa provar uma proposio e ao mesmo tempo a sua
negao. Ele procurou estabelecer um mtodo para se construir provas absolutas de
consistncia (ausncia de contradio) dos sistemas, sem dar por suposta a consistncia de
algum outro sistema.
O primeiro passo a completa formalizao de um sistema dedutivo. Isto implica
tirar todo significado das expresses existentes dentro do sistema, isto , devem ser
consideradas puros sinais vazios. Expresso o nome que se d s palavras do sistema, que
por sua vez so compostas de smbolos abstratos, tambm chamados alfabeto do sistema. A
forma como se devem combinar essas expresses deve estar plasmada em um conjunto de
regras de formao e regras de inferncia enunciadas com toda preciso, que especificam como uma
expresso pode ser formada ou transformada em outra. A finalidade desse procedimento
construir um clculo que no oculte nada e que somente contenha o que expressamente se
tenha colocado nele. Em um sistema formal um nmero finito de expresses tomado como
sendo o conjunto de axiomas do sistema. A idia de prova num sistema formal consiste em
comear com um dos axiomas e aplicar uma seqncia finita de transformaes, convertendo
o axioma em uma sucesso de novas expresses, onde cada uma delas ou um dos axiomas
do sistema ou derivada deles pela aplicao das regras de formao. A totalidade dos
teoremas constitui o que pode ser provado no sistema. Os axiomas e os teoremas de um
Na verdade, a maioria dos matemticos desenvolve seus resultados dentro de um esprito mais informal, intuitivo, mais
geomtrico do que algbrico, e quando algbrico, no muito formal.
183
* (<+,*> r1)
++ (<*,++> r2)
+* (<++,+*> r1)
*+ (<+*,*+> r2)
No aprofundando muito na questo, que entra na rdua teoria da recurso: um conjunto A contido em X recursivo se e
somente se h um procedimento pelo qual, dado um x pertencente a X, pode-se computar sobre x, pertena x a A ou
no. Exemplo: o conjunto dos primos em N (o procedimento o crivo de Eratstenes)[Sho71].
184
{}|*+.
Como se pode notar Hilbert utiliza-se da intuio, mas no como os intuicionistas no sentido de estabelecer as propriedades
de determinados entes matemticos, mas referindo-se unicamente efetuao de operaes muito simples, to seguras e
elementares a ponto de serem aceitas na base de qualquer pesquisa terica.
Uma interpretao a descoberta de um isomorfismo entre duas estruturas: no caso ela confere significado aos objetos e
entidades matemticas, tais como linha, ponto, smbolos abstratos, etc.
185
Conforme [Aga86]
Ao que parece, conforme vo se gerando maiores nmeros primos, esses pares vo escasseando. Mas se deixaro de
aparecer no se sabe.
186
A maior parte do texto vem de artigo publicado na revista Scientific American Brasil, edio Gnios da Cincia Matemtica:
A vanguarda matemtica e os limites da razo e tambm tem como base [Cas97]
Uma funo calculvel quando existe um algoritmo que, para todo argumento dado, fornece o valor da funo em um
nmero finito de etapas. Para enfrentar a infinidade de algoritmos imaginveis, pode-se considerar uma classe das funes
calculveis: as funes recursivas primitivas. Elas sempre tomam nmeros naturais por argumento, e so definidas da
seguinte maneira: certas funes simples denominadas funes base - so declaradas, inicialmente, como recursivas
primitivas. Chamam-se recursivas primitivas depois todas as funes que possam ser construdas, de acordo com certas
regras, a partir das funes que j se saiba serem recursivas primitivas. A demonstrao do teorema da incompletude de
Gdel baseia-se em uma srie de funes recursivas primitivas deduzidas umas a partir das outras.
187
Peano, o que resulta em um nmero de Gdel para essa seqncia de frmulas. Essa
codificao para as seqncias de frmulas importante, pois as demonstraes nada mais so
do que seqncias finitas de frmulas, em que cada uma ou um axioma, ou decorre das
frmulas precedentes.
Os teoremas da teoria dos nmeros asseguram que a enumerao de Gdel
unvoca, vale dizer, que a cada smbolo, frmula ou seqncia de frmulas corresponde um
nico nmero de Gdel, que lhe exclusivo. Em outras palavras, possvel saber, para cada
nmero natural, a partir da unicidade de sua decomposio em fatores primos, se esse nmero
um nmero de Gdel e, nesse caso, de qual elemento (seja smbolo, frmula ou seqncia de
frmula) ele smbolo.
O mtodo de Gdel (a aritmetizao), apresentado aqui para as frmulas e
demonstraes do sistema formal da aritmtica de Peano, pode ser reproduzido de maneira
semelhante para no importa qual linguagem (notadamente linguagens de programao).
Atribuem-se nmeros aos elementos bsicos da linguagem (letras, palavras, caracteres
especiais) e formam-se novos nmeros a partir das seqncias desses nmeros, de acordo com
a instruo recursiva oferecida acima. Graas aritmetizao, os conceitos metalingsticos da
sintaxe da aritmtica de Peano aparecem agora traduzidos como propriedades, funes ou
relaes entre nmeros. Por exemplo, o conceito uma frmula corresponde propriedade
um nmero cujos expoentes da decomposio em fatores primos so todos mpares.
Analogamente (embora com um grau bem maior de dificuldade), o conceito metaterico x
uma frmula demonstrvel, indicado pelo smbolo Dem (de demonstrvel), pode ser expresso
com auxlio de relaes aritmticas.
O Teorema de Incompletude
Aps estabelecer, em quatro teoremas, um mtodo para a construo de funes
recursivas, Gdel enuncia uma seqncia de 45 propriedades e funes, cada uma das quais
definida com base nas precedentes por meio dos procedimentos dados nos teoremas I a IV.
A funo nmero 45 uma funo D de duas variveis: yDx significa a seqncia de
frmulas de nmero de Gdel y uma demonstrao para a frmula de nmero de Gdel x.
Sob o nmero 46, ele define enfim a demonstrabilidade:
Dem(x) ( y)yDx,
e acrescenta entre parnteses: Dem(x) o nico conceito, entre todos os definidos,
de 1 a 46, a respeito do qual no podemos afirmar que seja recursivo. A frmula 46 deve ser
interpretada assim: A frmula x demonstrvel se, e somente se, existe uma seqncia q de
frmulas que demonstra x. Existe, portanto, uma frmula para a frase x uma frmula
demonstrvel, bem como para sua negao.
Gdel mostra, alm disso, que a funo de substituio subst, que permite substituir
uma varivel por um valor numrico dentro de uma frmula, uma funo recursiva primitiva.
Subst de importncia capital para a demonstrao de Gdel, pois fornece a chave para a
auto-referncia: permite inserir o nmero de Gdel da frmula a proposio x no
demonstrvel no lugar da prpria varivel x.
188
matemticos poderiam provar, Heisenberg mostrou que havia um limite fundamental nas
propriedades que os fsicos poderiam medir. Por exemplo, se eles queriam medir a posio
exata de um objeto, ento s poderiam medir a velocidade do mesmo com uma preciso
muito pobre. Isto acontece porque para medir a posio do objeto seria preciso ilumin-lo
com ftons de luz, mas, para determinar a localizao exata, os ftons precisariam ter uma
energia enorme. Contudo, se o objeto est sendo bombardeado com ftons de alta energia,
sua prpria velocidade ser afetada e se tornar inerentemente incerta. Portanto, ao exigir o
conhecimento da posio de um objeto, os fsicos teriam de desistir do conhecimento de sua
velocidade.
O princpio da incerteza de Heisenberg s se revela nas escalas atmicas, quando
medidas de alta preciso se tornam crticas. Logo, uma boa parte da fsica pode ser realizada
sem problemas enquanto os fsicos qunticos se preocupam com as questes profundas sobre
os limites do conhecimento. O mesmo acontecia no mundo da matemtica. Enquanto os
lgicos se ocupavam do debate altamente abstrato sobre a indecidibilidade, o resto da
comunidade continuava seu trabalho sem preocupao. Gdel tinha provado que existiam
algumas afirmaes at infinitas que no poderiam ser provadas, mas restava uma outra
quantidade que podiam ser provadas e sua descoberta no invalidava nada que tivesse sido
demostrado no passado. Alm disso, muitos matemticos acreditavam que as declaraes de
indecidibilidade de Gdel seriam encontradas nas regies mais extremas e obscuras da
matemtica e, portanto, talvez nunca tivessem de ser enfrentadas. Afinal, Gdel s dissera que
essas afirmaes indecidveis existam; ele no pudera apontar uma. Ento, em 1963, o
pesadelo terico de Gdel se tornou uma realidade viva.
Paul Cohen, um matemtico de 29 anos, da Universidade de Stanford, desenvolvera
uma tcnica para testar se uma afirmao particular indecidvel. A tcnica s funcionava
para certos casos muito especiais, mas, de qualquer forma, ele foi a primeira pessoa a
descobrir que havia questes de fato que eram indecidveis. Tendo feito sua descoberta,
Cohen imediatamente voou para Princeton, com a demonstrao na mo, de modo que fosse
verificada pelo prprio Gdel. Dois dias depois de receber o trabalho, Gdel deu a Cohen
sua aprovao. E o que era particularmente dramtico que algumas dessas questes
indecidveis estavam no centro da matemtica. Ironicamente Cohen provara que uma das
perguntas que David Hilbert colocara entre os 23 problemas mais importantes da matemtica,
a hiptese do continuum, era indecidvel.
190
h
q2
q0
q1
(a)
(b)
(c)
(d)
192
de P sobre os dados. Isto quer dizer tambm que durante o processamento no haver
diferena entre o que seria rodar o programa P na sua mquina original ou o atual
processamento da MTU simulando P.
194
Anexo - Astrolbio
Sua origem data de 200 a.C. na Grcia Clssica, e existem referncias de que Apollonius
estudou os princpios da projeo estereogrfica (mtodo de representao espacial usado no
astrolbio). Contudo, quem mais influiu na teoria da projeo espacial foi Hipparchus,
nascido em Nicia, na sia Menor (agora Iznik na Turquia), aproximadamente 180 a.C. Ele,
que teve grande influncia no desenvolvimento da trigonometria, redefiniu e formalizou a
projeo como um mtodo para resolver problemas astronmicos.
As primeiras evidncias do uso da projeo estereogrfica em uma mquina est na
escritura do autor romano e arquiteto, Vitruvius (88 - 26 a.C.), o qual, na obra De architectura,
descreve um relgio (provavelmente de gua) feito por Ctesibius em Alexandria.
Aparentemente, o relgio de Ctesibius tinha um campo giratrio de estrelas atrs de uma
armao de arame que indicava a hora do dia. A armao de arame foi construda com base
na projeo estereogrfica. H suspeitas de que o primeiro astrolbio tenha sido construdo
por Claudius Ptolomeu (150 d.C.), pois em diversas partes de seus escritos deixa a impresso
de que possua um instrumento com as caractersticas de um astrolbio. Ptolomeu escreveu
extensivamente sobre a projeo estereogrfica em seu trabalho conhecido como Planisferium.
Contudo a primeira descrio de um astrolbio datada do sculo VI e foi feita por John
Filoponos.
Durante muito tempo o uso do astrolbio ficou restrito aos povos persas e islmicos.
No sculo XI, foi introduzido na Europa atravs da Espanha, e no sculo XIII j se
encontrava popularizado. O astrolbio s caiu em desuso a partir do sculo XVII, devido
popularizao de instrumentos como o relgio e o telescpio.
Funcionamento do Astrolbio
O astrolbio baseia-se no princpio da projeo estereogrfica. Trata-se de um mtodo
que permite traar o mapa do cu em um plano, sem perder suas informaes
tridimensionais, processo anlogo criao de um mapa da Terra. Esta projeo
195
acompanhada de vrias linhas e eixos (ver a 2a figura) de referncia que determinam a direo
(azimuth) e a altitude das estrelas (altitude, ngulo que fazem com o horizonte), o ngulo de
viso do observador (horizonte) e posio em que este se encontra (Zenith).
Partes do Astrolbio
Os astrolbios mais recentes (ver a 1a figura abaixo) possuem a parte me (mater) na
qual esto marcadas informaes temporais, zodiacais e espaciais, esta parte serve de suporte
para todas as outras peas e funciona como um mostrador de clculo. Aps vrios ajustes,
ponteiros exibem informaes computadas pelo astrolbio. Encaixados na face superior da
parte me existem vrios pratos (ver a 2a figura abaixo) que trazem a projeo estereogrfica
do cu para determinada latitude durante o dia ou noite. Alguns astrolbios possuem vrios
pratos que podem ser trocados de acordo com a latitude em que o observador se encontra.
Foram fabricados astrolbios com mecanismos que permitiam o ajuste da latitude, mas estes
no se tornaram populares devido ao seu custo e complexidade de uso.
Acima destes pratos estereogrficos est disposto um componente chamado rete (ver a
a
3 figura baixo), que permite o ajuste do astrolbio ao movimento da Terra, atravs de setas
que apontam para estrelas de referncias. Tambm encontramos no rete a projeo do
caminho do sol.
Atrs do astrolbio h uma rgua, utilizada para ver a altitude do objeto celeste. O
astrolbio deve ser suspenso perpendicularmente ao solo, e a rgua posta na direo do
objeto: uma escala exibe o ngulo deste com o solo. Muitos astrolbios foram feitos com
escalas trigonomtricas para auxiliar os clculos astronmicos.
Ajuste do Astrolbio
Com o astrolbio na vertical, ajusta-se a latitude de uma das estrelas de referncia do
rete com a rgua, localizada na parte de traz do astrolbio. Ento se dispe o astrolbio na
horizontal, com o rete para cima, e orienta-se a seta correspondente estrela de referncia em
sua direo. Desta forma, obtm-se o mapa estereogrfico do cu no momento. Alguns
ponteiros marcam a hora e a data correspondentes ao ajuste. O processo inverso tambm
pode ser efetuado, conhecendo-se a data e a hora configura-se o astrolbio para obter o mapa
do cu.
Usos do Astrolbio
No sculo 10, Abd Al-Rahmn B. Umar Al-Suf escreveu um tratado no qual descrevia
1000 usos para o astrolbio. A partir desta informao pode-se ter idia da flexibilidade que
fornece este instrumento. Muitos problemas que requerem matemtica sofisticada podem ser
resolvidos apenas conhecendo-se o seu funcionamento. Dentre os usos mais simples, pode-se
citar: determinao da hora; localizao de corpos celestes; clculo da durao do dia; etc.
interessante lembrar que, durante a Idade Mdia, a Astrologia tinha grande influncia
no cotidiano das pessoas e por este motivo a grande maioria dos astrolbios tinha funes
196
ligadas ao zodaco, para facilitar a criao de horscopos. Entre os Islmicos o astrolbio era
muito utilizado para determinar o horrio das oraes, e a direo de Meca (as oraes
Islmicas so feitas nessa direo), sendo que algumas variaes incluam funes e rguas
que facilitavam estas determinaes. Por exemplo, para se determinar a hora atual:
1. A altitude do Sol ou de uma estrela determinada utilizando-se a rgua da parte de
trs do instrumento.
2. A posio do Sol na elipse achada fixando a rgua angular mvel na data do dia e
lendo a longitude do Sol na escala do zodaco.
3. Na frente do astrolbio, a rgua girada at que cruze a elipse na longitude atual do
Sol. O ponto onde a rgua cruza a elipse a posio atual do Sol.
4. So girados o rete e a rgua at que o Sol ou ponteiro da estrela esteja na altitude
medida.
5. A rgua aponta para a hora solar aparente no membro. Tempo solar aparente o
tempo como mostrado em um relgio de sol e diferente para cada longitude.
197
198
Conforme [Sin99]
199
A criptografia uma batalha intelectual entre o criador do cdigo e aquele que tenta
decifr-lo. O desafio para o codificador misturar a mensagem at um ponto em que ela seja
indecifrvel se for interceptada pelo inimigo. Contudo, existe um limite na quantidade
possvel de manipulao matemtica devido necessidade de enviar as mensagens de modo
rpido e eficiente. A fora do cdigo alemo da Enigma consistia em que a mensagem
passava por vrios nveis de codificao a uma velocidade muito alta. O desafio para o
decifrador do cdigo era pegar uma mensagem interceptada e quebrar o cdigo quanto o
contedo da mensagem ainda fosse relevante.
Turing liderou uma equipe de matemticos que tentou construir rplicas da mquina
Enigma. Ele incorporou nesses engenhos as suas idias abstratas, anteriores guerra. A idia
era verificar todos os ajustes possveis da Enigma at que o cdigo fosse descoberto. As
200
mquinas britnicas tinham dois metros de altura e eram igualmente largas, empregando rels
eletromecnicos para verificar todos os ajustes possveis da Enigma. O constante tiquetaquear
das mquinas deu-lhes o apelido de bombas. Apesar da sua velocidade, era impossvel que as
bombas verificassem cada uns dos 150 trilhes de ajustes possveis da Enigma dentro de um
tempo razovel. Por isso a equipe de Turing teve de procurar meios de reduzir
significativamente o nmero de permutaes extraindo toda a informao que pudesse das
mensagens enviadas.
Um dos grandes saltos em direo ao sucesso aconteceu quando os britnicos
perceberam que a mquina Enigma no podia codificar uma letra nela mesma. Ou seja, se o
emissor teclasse R, ento, dependendo do ajuste, a mquina poderia transmitir todo tipo de
letra, menos R. Este fato, aparentemente incuo, era tudo o que necessitavam para reduzir
drasticamente o tempo necessrio para decifrar as mensagens. Os alemes contra-atacaram
limitando o comprimento das mensagens que enviavam.
Todas as mensagens,
inevitavelmente, continham indcios para a equipe de decifradores do cdigo, e quanto maior
a mensagem, mais pistas ela continha. Ao limitar as mensagens a um mximo de 250 letras,
os alemes esperavam compensar a relutncia da Enigma em codificar uma letra como a
mesma.
Com o fim de quebrar os cdigos, Turing freqentemente tentava adivinhar palavras
chaves nas mensagens. Caso acertasse, isto aceleraria enormemente a decodificao do resto
da mensagem. Por exemplo, se os decodificadores suspeitavam de que uma mensagem
continha um relatrio meteorolgico (um tipo freqente de relatrio codificado), ento eles
supunham que a mensagem conteria palavras como neblina ou velocidade do vento. Se
estivessem certos, podiam decifrar rapidamente a mensagem e, portanto, deduzir o ajuste da
Enigma para aquele dia em particular. E pelo resto do dia outras mensagens, mais valiosas,
seriam decifradas facilmente. Quando fracassavam na adivinhao de palavras ligadas ao
tempo, os britnicos tentavam se colocar na posio dos operadores alemes da Enigma para
deduzir outras palavras chaves. Um operador descuidado poderia chamar o receptor pelo
primeiro nome ou ele poderia desenvolver idiossincrasias conhecidas pelos decifradores.
Quando tudo o mais falhava e o trfego alemo de mensagens flua sem ser decifrado, a
Escola Britnica de Cdigos podia at mesmo, dizem, recorrer ao recurso extremo de pedir
RAF (Fora Area Britnica) para que minasse um determinado porto alemo. Imediatamente
o supervisar do porto atacado iria enviar uma mensagem codificada que seria interceptada
pelos britnicos. Os decodificadores teriam certeza ento de que a mensagem conteria
palavras como "mina", evite" e "mapa de referncias". Tendo decodificado esta mensagem,
Turing teria os ajustes da Enigma para aquele dia e quaisquer mensagens posteriores seriam
vulnerveis rpida decodificao.
No dia 1o de fevereiro de 1942 os alemes acrescentaram uma quarta roda s
mquinas Enigma usadas para enviar mensagens particularmente importantes. Esta foi a
maior escalada no nvel de codificao durante a guerra, mas finalmente a equipe de Turing
respondeu aumentando a eficincia das bombas. Graas Escola de Cdigos, os aliados
sabiam mais sobre seu inimigo do que os alemes poderiam suspeitar. O impacto da ao dos
submarinos no Atlntico foi grandemente reduzido e os britnicos tinham um aviso prvio
dos ataques da Luftwaffe. Os decodificadores tambm interceptavam e decifravam a posio
201
202
203
ndice de Figuras
Figura 1: O desenvolvimento de sistemas atravs de especificaes formais _____________________ 25
Figura 2: Sistema numrico clssico de adio egpcio baseado em hierglifos [Wil97]____________ 30
Figura 3: Mais antigo manuscrito europeu com numerais indo-arbicos, cfr. [Ifr89] ______________ 32
Figura 4: Aristteles ________________________________________________________________ 38
Figura 5: Representao de Euclides ___________________________________________________ 40
Figura 6: Representao de Al-Kharazmi ________________________________________________ 44
Figura 7: Desenho de Raimundo Llio __________________________________________________ 45
Figura 8: Figuras representando mecanismo elaborado por Llio para automatizar o raciocnio ____ 48
Figura 9: Leibniz ___________________________________________________________________ 50
Figura 10: Blaise Pascal _____________________________________________________________ 51
Figura 11: Mquinas calculadoras de Leibniz e Pascal _____________________________________ 52
Figura 12: George Cantor ____________________________________________________________ 55
Figura 13: George Boole _____________________________________________________________ 56
Figura 14: Frege ___________________________________________________________________ 60
Figura 15: Peano ___________________________________________________________________ 61
Figura 16: Professor David Hilbert_____________________________________________________ 66
Figura 17: Kurt Gdel ______________________________________________________________ 73
Figura 18: Alan Mathison Turing ______________________________________________________ 74
Figura 19: Alonzo Church ____________________________________________________________ 82
Figura 20: Relacionamento entre mundos formal, matemtico e computacional (cfr. [Cas97])_______ 84
Figura 21: Desenho de Charles Babbage ________________________________________________ 87
Figura 22: Mquina Diferencial de Babbage construda pelo Museu de Londres _________________ 89
Figura 23: Tear de Jacquard__________________________________________________________ 90
Figura 24: Mquina Diferencial de George Scheutz ________________________________________ 92
Figura 25: Tabuladora de Hollerith ____________________________________________________ 92
Figura 26: Dispositivo analgico simples ________________________________________________ 93
Figura 27: Dispositivo analgico de Lord Kelvin __________________________________________ 96
Figura 28: Analisador harmnico de Michelson ___________________________________________ 97
Figura 29: Claude E. Shannon ________________________________________________________ 99
Figura 30: Konrad Zuse por volta dos anos 70 ___________________________________________ 101
Figura 31: ENIAC, sua programao era feita com fios ("hard wired")________________________ 106
Figura 32:Colossus, da Inglaterra. Sua programao tambm era feita com fios.________________ 106
Figura 33:da esquerda para a direita, Patsy Simmers, segurando uma placa do ENIAC, Gail Taylor,
segurando uma placa do EDVAC, Milly Beck, segurando uma placa do ORDVAC, Norma Stec, segurando
uma placa do BRLESC-I (ateno para o tamanho das placas) ______________________________ 107
Figura 34: Desenvolvimento do hardware e software nos primeiros tempos da Computao _______ 108
Figura 35: Um exemplo de um diagrama de fluxos________________________________________ 114
Figura 36: Computador IAS, 1952 ____________________________________________________ 115
Figura 37: John von Neumann _______________________________________________________ 117
Figura 38: Von Neumann e o computador IAS ___________________________________________ 120
Figura 39: Gargalo de von Neumann __________________________________________________ 126
Figura 40: Donald E. Knuth _________________________________________________________ 133
Figura 41: Astrolbio ______________________________________________________________ 195
Figura 42: Astrolbio - 1 ____________________________________________________________ 197
Figura 43: Astrolbio - 2 ____________________________________________________________ 198
Figura 44: Astrolbio - 3 ____________________________________________________________ 198
Figura 45: A mquina Enigma _______________________________________________________ 200
Figura 46: Uma bombe, mquina inicialmente usada para tentar decifrar cdigo _______________ 202
Figura 47: Computador COLOSSUS, que substituiu as bombes______________________________ 203
204