Aprender a gerar algoritmos

É crucial desenvolver e implementar algoritmos que sejam tolerantes à existência de falhas nos sistemas distribuídos.

inesc,algoritmos,instituto-superior-tecnico,comunicacao-ciencia,inteligencia-artificial,ciencia,
Fotogaleria
Imagem ilustrativa do trabalho de investigação em algoritmos DR
inesc,algoritmos,instituto-superior-tecnico,comunicacao-ciencia,inteligencia-artificial,ciencia,
Fotogaleria
O investigador Diogo Vaz DR

Diariamente, milhões de utilizadores interagem com aplicações e serviços como o Instagram ou o OneDrive, gerando um fluxo enorme de pedidos que vão desde a criação e partilha de publicações até ao guardar de documentos e fotos na cloud. Esta interação de múltiplos utilizadores é possível porque as aplicações e serviços atuais são suportados por sistemas informáticos poderosos, compostos por múltiplos servidores que comunicam e partilham informação entre si para suportarem o funcionamento da aplicação e/ou serviço. A este tipo de sistema é dado o nome de “sistema distribuído”.

Porém, a existência de falhas nos servidores do sistema, como quebras de energia, mau funcionamento dos componentes de hardware ou até bugs explorados por ciberataques, pode comprometer o correto funcionamento do sistema no seu todo e resultar em possíveis consequências para os seus utilizadores.

Para lidar com estes cenários, é necessário tornar o sistema distribuído resiliente, ou seja, permitir que continue a funcionar de forma correta mesmo que alguns dos seus servidores sejam comprometidos. Assim, é crucial desenvolver e implementar algoritmos que sejam tolerantes à existência de falhas.

A área de estudo e investigação de algoritmos tolerantes a falhas tem sido fortemente explorada, onde múltiplos algoritmos têm sido desenvolvidos ao longo dos anos. Porém, a implementação destes algoritmos é um processo complexo, demorado e puramente manual desde o desenvolvimento à validação dos mesmos.

Para além disso, o foco da investigação não se resume apenas à síntese de algoritmos corretos: a eficiência é também uma propriedade essencial de modo a podermos construir sistemas mais rápidos e económicos, o que acaba por dificultar.

Assim sendo, o meu trabalho pretende revolucionar o processo de desenvolvimento de algoritmos tolerantes a falhas através da implementação de uma nova ferramenta que permita gerar algoritmos corretos e eficientes de forma automática.

Seguindo o conceito de Inteligência Artificial Generativa (Generative AI), pretendo desenvolver uma ferramenta capaz de gerar novos algoritmos baseado em informação já existente. Mais propriamente, pretendo utilizar a técnica de aprendizagem por reforço (reinforcement learning) de modo a que, baseado numa série de inputs dados pelo investigador, a ferramenta possa aprender a desenvolver, pela sua própria experiência, um algoritmo correto e eficiente.

O objetivo passa por utilizar depois a ferramenta no estudo de problemas teóricos e com maior valor científico, bem como em problemas práticos recentes com maior utilidade como algoritmos para blockchains.

Esta abordagem representa um novo paradigma na investigação de algoritmos tolerantes a falhas, bem como na investigação em geral, onde a utilização de técnicas de inteligência artificial poderá libertar os investigadores de processos normalmente aborrecidos, complexos e demorados para as funções mais criativas.

Estudante do doutoramento do Instituto Superior Técnico no Inesc ID

O autor escreve segundo o novo acordo ortográfico

Sugerir correcção
Comentar