110 Histórias, 110 Objectos: a máquina de autómatos celulares | Podcasts Público | PÚBLICO
Podcasts Público 110 Histórias, 110 Objectos: a máquina de autómatos celulares
10 de Dezembro de 2021, 18:25
A máquina de autómatos celulares Débora Rodrigues
No podcast 110 Histórias, 110 Objectos, um dos parceiros da Rede PÚBLICO, percorremos os 110 anos de história do Instituto Superior Técnico (IST) através dos seus objectos do passado, do presente e do futuro. Neste 24.º episódio do podcast, falamos sobre a máquina de autómatos celulares.
Construído em meados dos anos 80, o protótipo de autómato celular do IST era capaz de fazer 15 milhões de operações por segundo. Deve a sua concepção às ideias avançadas 30 anos antes por John von Neumann. O seu conceito assentava na criação de objectos com modelos matemáticos capazes de imitar o funcionamento de sistemas da vida. O desafio, tal como os sistemas vivos, é complexo e pode ser representado por um desenho de M. C. Escher que mostra uma mão a desenhar-se a si mesma. "O conceito de autómato era essencialmente um modelo matemático em que nós introduzíssemos numa máquina e que a máquina fosse capaz de o alterar sem intervenção exterior", explica Rui Dilão, professor de Física, Matemática e Sistemas Dinâmicas no Instituto Superior Técnico.
Estamos a falar de máquinas de computação paralela, que apenas começaram a ser desenvolvidas a partir dos anos 80, que integram calculadoras que trabalham colaborativamente e interagem umas com as outras de forma extremamente rápida. O grande objectivo passa por conseguir calcular sistemas muito complexos em tempo útil. "Do ponto de vista matemático, é sempre a mesma história: tentar simular sistemas muito complexos, com muitos agentes a interagir, a terem interacções estranhas, complexas", resume. O autómato celular implementa a distribuição espacial de uma ou mais variáveis e calcula tudo em tempo real, simultaneamente, fazendo esse cálculo paralelo. Calcula tudo simultaneamente em todos os pontos do espaço, através de algoritmos matemáticos extremamente precisos.
O protótipo de cálculo paralelo construído integralmente no IST em 1985 – a CAM1 - ainda tem à mostra todos os circuitos electrónicos, as memórias e a sua estrutura, apenas protegidos por uma cama de acrílico. "Os protótipos de engenharia são assim. É tudo desenhado, construído e depois se funcionar, conforme a tecnologia, implementa-se em tecnologias mais eficientes, mas a primeira fase é feita assim", explica Rui Dilão. "O que nós fizemos foi construir um sistema – feito à mão – utilizando com transístores muito grandes, repetindo uma estrutura muitas vezes, ligar tudo electricamente e desenvolver técnicas de interagir com a máquina e fazer com que aquilo tudo trabalhe ao mesmo tempo", descreve.
A máquina tem um movimento autónomo, comandada por um computador normal que se liga a uma interface que é controlado pelos investigadores (no caso, um Sinclair, da bem conhecida segunda geração do Spectrum). "Nós interagimos com ela colocando as condições iniciais e ela depois calcula tudo e tem um display independente e autónomo. São monitores muito elementares, não tem nada a ver com o que se faz hoje".
A máquina permitiu, por exemplo, analisar a evolução do escoamento ao longo do estuário do Tejo, com as fontes de poluição, calculando tudo em tempo real e instantaneamente: o efeito de 6 horas de maré é calculado no autómato em poucos segundos. Mas também deu origem a colaborações com o departamento de Defesa Nacional (protegidas pelo dever de confidencialidade), que financiou a construção de uma segunda máquina e também uma infraestrutura de informática para o departamento de Física do IST.
Demorou cerca de um ano a ser construída e "funcionou à primeira", porque as técnicas de construção da altura faziam com que se fosse testando os vários módulos à medida que se avançava na construção. "Essa máquina gerou muito dinheiro e muitos alunos tiveram os seus primeiros treinos em computação", recorda Rui Dilão.
Este tipo de máquinas começou a ser desenvolvido a partir dos anos 80, também no IST. Em 1985 foi organizado na escola um workshop com convidados internacionais de renome ligados a projectos que deram origem aos hoje chamados supercomputadores e computadores paralelos. A máquina do IST ainda hoje funciona, de forma algo surpreendente até para quem a construiu – "não está muito protegido, entra pó, provavelmente as soldaduras não são muito resistentes, isto foi feito à mão" – embora a sua actualidade tenha sido ultrapassada pelo grande desenvolvimento tecnológico que ocorreu nos anos 90. No entanto, a sua filosofia e parte da sua arquitectura encontram-se hoje espelhados nas chamadas "connection machines" e nos supercomputadores. E o caminho a percorrer neste campo de investigação ainda é longo e desafiante: "Ainda estamos muito longe da mão a desenhar-se a si mesma. Precisamos de mais resultados da biologia e da interacção com a física e a matemática", resume Rui Dilão.
Uma história contada por Rui Dilão
Colaboração e matemática: Do cálculo da previsão de eclipses no século XIX ao lançamento de foguetões
«Muitas vezes há cálculos que têm que se fazer e que demoram muito tempo a fazer-se. Por exemplo: os cálculos de previsão de eclipses nos gabinetes de previsão atmosférica… Como é que isso se fazia no século XIX? Punham uma pessoa numa secretária a fazer contas? Não, não funcionava. Qualquer pessoa, mesmo um matemático ultra treinado, faz erros quando faz contas e se fizer contas e tiver que as repetir, faz muitos erros.
Planeava-se fazer umas contas para prever eclipses. Enchia-se uma anfiteatro de pessoas e depois dizia-se 'cada pessoa faz uma tarefa muito simples, cinco pessoas calculam o logaritmo 25, calculado à mão, outras pessoas vão calcular não sei quantas multiplicações, e dava-se às pessoas uns cartõezinhos… Havia uma pessoa, o maestro digamos assim, e os cálculos eram executados de maneira sequencial. E essas pessoas tinham os cartões, o cálculo era terminado, levantavam uma bandeira e todas as pessoas que tinham essa bandeira com o cálculo 1 verificavam se o cálculo era o mesmo. Se fosse o mesmo, as mesmas pessoas que estavam a fazer o cálculo 2, olhavam para o resultado do cálculo 1 e começavam os cálculos deles. Quando levantavam a bandeira, viam se estava tudo certo, se não estivesse certo tinham que repetir, e isto era um processo colaborativo.
Hoje, quando lançam um foguetão, os foguetões levam computadores a bordo, grande parte da missão é gerada por computador, vão três computadores a bordo e todos trabalham independentemente. Toda a decisão que é feita pela electrónica só é tomada se os resultados dos três computadores que estão a fazer a mesma coisa ao mesmo tempo forem coincidentes. E depois há mecanismos, quando os resultados são diferentes, obrigam o sistema a recalcular.