A cada dia parecemos ter mais motivos para começar a temer a revolução da inteligência artificial e dos robôs. A notícia da vez é que o sistema de aprendizagem de uma máquina ganhou a habilidade de escrever seu próprio código.
Criado por pesquisadores da Microsoft e da Universidade de Cambridge, o sistema, chamado DeepCoder, resolveu desafios básicos do tipo usado em concursos de programação. Este tipo de abordagem poderia tornar muito mais fácil para que pessoas possam construir programas simples sem saber programação.
“Repentinamente, as pessoas poderiam ser muito mais produtivas”, explica à revista “New Scientist” Armando Solar-Lezama, do Instituto de Tecnologia de Massachusetts, que não estava envolvido no trabalho. “Elas poderiam construir sistemas que [seriam] impossíveis de construir antes”.
Um dos criadores da DeepCoder, Marc Brockschmidt da Microsoft Research em Cambridge, no Reino Unido, aponta que, em última análise, os resultados da pesquisa poderiam permitir que aqueles que não são programadores simplesmente descrevessem uma ideia para um programa e deixassem que o sistema a construísse.
Como funciona
O DeepCoder usa uma técnica chamada síntese de programa: criar novos programas reunindo linhas de código retiradas de softwares existentes – assim como um programador poderia fazer. Dada uma lista de entradas e saídas para cada fragmento de código, o DeepCoder aprende que pedaços de código são necessários para alcançar o resultado desejado.
Uma vantagem de dar tal liberdade a uma inteligência artificial é que ela pode pesquisar mais amplamente e profundamente do que um programador humano, então poderia montar o código-fonte de uma maneira que os seres humanos podem não ter pensado. Além disso, o DeepCoder aprende a pesquisar bancos de dados de código-fonte e classificar os fragmentos de acordo com sua provável utilidade, segundo seu ponto de vista.
Tudo isso torna o sistema muito mais rápido do que seus antecessores. O DeepCoder criou programas de trabalho em frações de segundo, enquanto sistemas mais antigos levam minutos para testar várias combinações diferentes de linhas de código antes de reunir algo que possa funcionar. E como a IA aprende quais combinações de código-fonte funcionam e quais não funcionam conforme vai avançando, ela melhora cada vez que se depara um novo problema.
Aplicações futuras
Esta tecnologia poderia ter muitas aplicações. Em 2015, os pesquisadores do MIT criaram um programa que corrigia automaticamente bugs de software substituindo linhas defeituosas de código por linhas de outros programas que estavam funcionando perfeitamente. Brockschmidt diz que as versões futuras poderiam tornar muito fácil a construção de programas de rotina que colhem informações de sites ou classificam automaticamente as fotos do Facebook, por exemplo, sem que os programadores humanos precisem levantar um dedo
“O potencial de automação que esse tipo de tecnologia oferece pode realmente significar uma enorme redução na quantidade de esforço que leva para desenvolver códigos”, afirma Solar-Lezama. No entanto, ele não acha que esses sistemas vão colocar os empregos dos programadores em risco. Com a síntese de programas automatizando algumas das partes mais tediosas da programação, ele acredita que os programadores poderão dedicar seu tempo a um trabalho mais sofisticado.
Fonte: Hypescience
MyAnimeList
https://myanimelist.net/profile/Ben_Ikneg
https://myanimelist.net/profile/Ben_Ikneg