Un gruppo di ricercatori di Google DeepMind ha sviluppato un sistema di apprendimento per rinforzo in grado di creare algoritmi ottimizzati senza prima imparare da esempi di codice umano.
Il sistema si chiama AlphaDev e utilizza lo stesso approccio del famoso AlphaGo, che impara a giocare a giochi come Go, poker e StarCraft.
Vede la programmazione come un gioco in cui è necessario ridurre al minimo il ritardo del codice mantenendone la correttezza.
AlphaDev è stato in grado di generare nuovi algoritmi per attività informatiche fondamentali come l’ordinamento e l’hashing dei dati.
Ad esempio, ha creato un algoritmo di ordinamento a cinque elementi che è il 70% più veloce del codice umano esistente.
Questi algoritmi sono stati aggiunti alla libreria C++, la prima modifica agli algoritmi di ordinamento in quel linguaggio in oltre un decennio.
AlphaDev ha anche generato algoritmi di hashing più veloci che sono stati aggiunti al database di programmazione aperto.
I risultati del lavoro di AlphaDev sono stati pubblicati sulla rivista Nature. Gli autori dell’articolo affermano che il loro sistema può aiutare a ottimizzare il codice del computer di fronte alle limitazioni fisiche dei microchip.
Notano inoltre che il sistema finora funziona solo con piccoli programmi e un sottoinsieme di possibili istruzioni, quindi la sua scalabilità e applicabilità a compiti più complessi rimane una questione aperta.