Informática

Matrix ou Skynet? Programas vão se programar sozinhos

Matrix ou Skynet? Programas vão se programar sozinhos
No nível proposto de independência dos programas de computador, as máquinas precisarão ser "morais", já que poderão ajustar seu comportamento por conta própria. [Imagem: CC0 Creative Commons/Pixabay]

Programas que se programam

Um grupo da Universidade de Lancaster, no Reino Unido, do qual fazem parte pesquisadores brasileiros, está se propondo a revolucionar o processo tradicional de desenvolvimento de software, virtualmente abolindo os programadores e colocando os computadores para montar seus algoritmos de forma autônoma.

Para isso, eles estão criando um vasto conjunto de pequenos blocos de código que os sistemas autônomos vão pegar e organizar da melhor maneira possível para realizar suas tarefas. Os sistemas também poderão escrever seus próprios blocos de código conforme necessário, encontrando continuamente melhores maneiras de realizar seu trabalho, tudo em tempo de execução.

O projeto é amplo e tem como objetivo geral a programação automatizada a partir de uma grande biblioteca de softwares básicos, e que possam ser montados para atender a solicitações dos usuários finais. O trabalho principal consistirá em criar uma plataforma capaz de examinar os blocos fundamentais e montá-los de acordo com o objetivo, levando em conta que diferentes programas, rodando em hardwares diferentes, terão que montar seus próprios códigos e fazê-los funcionar interconectados.

Mas, para começo de conversa, a equipe irá focar o ecossistema altamente complexo dos data centers, que devem lidar continuamente com milhões de solicitações diferentes da maneira mais eficiente possível.

A ideia é que os próprios programas possam se ajustar às solicitações, acompanhando de forma autônoma o modo como os serviços mudam com o tempo, sejam esses serviços bases de dados comerciais ou os megadados das redes sociais.

Programas libertos da programação

Tudo lembra um pouco o filme Matrix, onde cada software chegou a um nível de desenvolvimento que os transforma em entidades independentes e com vontade própria. A ideia geral para o futuro não é tão diferente disto, conforme explica o professor Barry Porter, coordenador do projeto.

"Estamos falando de enxames inteiros de programas de computador, todos trabalhando em conjunto em vários computadores diferentes, que são individualmente auto-organizáveis, mas também trabalham juntos para atingir o objetivo do programador. Automatizando totalmente a escrita do código-fonte de cada pequeno bloco de comportamento, esse software cria continuamente novos blocos básicos para sistemas sem que os humanos tenham que escrevê-los. Isso liberta os sistemas de sua programação, permitindo que eles produzam continuamente soluções novas e mais inovadoras para alcançar seus objetivos.

"Isso ajudará a lançar um paradigma fundamentalmente novo de desenvolvimento de software, no qual os programadores de computador serão liberados da tarefa cansativa de escrever cuidadosamente todos os mínimos detalhes de cada sistema, e trabalharão em um nível de criatividade muito maior para guiar a construção de softwares complexos em colaboração com o aprendizado de máquina avançado.

"É um pouco como um carro autônomo da programação de computadores, no qual programadores, ou até mesmo usuários finais, definem o destino e a máquina descobre a melhor maneira de chegar lá," disse Porter.

Matrix ou Skynet? Programas vão se programar sozinhos
A maior parte da inteligência artificial não assumirá a forma de robôs, mas de programas que rodam sem que as pessoas se deem conta. Os benefícios da inteligência artificial são potencialmente muitos, mas um número cada vez maior de especialistas teme uma revolução das máquinas. [Imagem: Jared C. Benedict/MIT Media Lab]

Programas sencientes

Se conseguirem comprovar que suas ideias são factíveis para as centrais de dados, a equipe afirma que os resultados poderão moldar o futuro da própria inteligência artificial, viabilizando programas de computador inteligentes que poderão escrever e reescrever seu próprio comportamento.

Nesse nível, os programas poderão ler virtualmente todo tipo de informação e usar essas informações para compreender como seu funcionamento e comportamento afetam o mundo dos humanos, e então ajustar esse comportamento para melhor atender aos seus propósitos.

Qualquer semelhança com a Skynet, de O Exterminador do Futuro, não seria mera coincidência, é claro, mas, antes de se preocupar com a possibilidade de que os programas saiam de controle, a equipe prefere pensar em um mundo no qual até mesmo os não-programadores poderão explicar ao computador ou ao seu celular o que precisam e deixar que o aparelho encontre uma solução que vá além de qualquer aplicativo disponível que já tenha sido programado para tarefas similares.

O projeto já obteve financiamento e pretende cumprir seus objetivos iniciais - atender às demandas das centrais de dados - em três anos e meio.

Bibliografia:

Defining Emergent Software Using Continuous Self-Assembly, Perception, and Learning
Roberto Rodrigues Filho, Barry Porter
ACM Transactions on Autonomous and Adaptive Systems
Vol.: 12 Issue 3, Article No. 16
DOI: 10.1145/3092691

Experiments in Genetic Divergence for Emergent Systems
Christopher McGowan, Alexander Wild, Barry Francis Porter
Proceedings of the International Genetic Improvement Workshop




Outras notícias sobre:

    Mais Temas