Io, Robot: l’architettura dei calcolatori ci spiega perché i robot non possono ribellarsi autonomamente

“Io, robot” racconta delle vicende di un detective che cerca di capire come mai tutti i robot si siano ribellati, in un futuro non molto lontano sarebbe possibile assistere a questa scena?

 

Tratto dall’omonimo libro di Isaac Asimov, il film narra delle avventure di Spooner (un detective interpretato da Will Smith), Susan Calvin (psicologa esperta di intelligenza artificiale) e Sonny (un robot che è uscito fuori dagli “schemi”)  che cercano di disattivare V.I.K.I, il cervello positronico che gestisce tutti i robot, poiché esso si era evoluto e voleva cercare di attuare sulla terra una sorta di dittatura “benevola” dei robot per proteggere gli uomini da loro stessi.

Architettura di un calcolatore

Prima di capire perché attualmente i robot non possono ribellarsi cerchiamo di capire com’è fatto il loro “cervello”. In genere i robot come i PC e gli smartphone adottano di base l’architettura di Von Neumann, sono formati quindi da un processore che ha il compito di elaborare dati, una serie di memorie principali (RAM, ROM, Cache) che li immagazzina e permette di poterli elaborare e i dispositivi di input e output per interfacciare l’utente alla macchina (memoria di massa, tastiera, display, microfono etc.), tutto ciò è collegato da bus: canali di comunicazione che permettono a periferiche di un sistema elettronico di interfacciarsi tra loro. Il processore in genere è diviso in tre parti: unità di controllo, unità aritmetico-logica (ALU) e vari registri. Queste tre cose permettono al processore di fare il “Fetch-Decode-Execute” dei dati e far funzionare il PC nel modo più razionale possibile.

Percorso di un programma

Adesso che sappiamo più o meno com’è fatto il cervello di un robot possiamo capire il percorso di un programma o di un’istruzione al suo interno. Ogni apparecchio elettronico programmabile in generale segue un percorso composto da sei livelli: livello del linguaggio orientato al tipo di problema (c, c++, java etc.), livello del linguaggio assemblativo (assembly), livello macchina del sistema operativo, livello di architettura dell’insieme di istruzioni, livello di microarchitettura e livello logico-digitale. In pratica il programmatore scrive un programma per far fare un certo tipo di operazione alla macchina in un linguaggio ad alto livello (java, python, c etc.), un compliatore lo traduce in un linguaggio a basso livello universale (assembly) che a sua volta viene tradotto in un linguaggio “capibile” dal sistema operativo. A questo punto il S.O. può eseguire il programma in una serie di istruzioni di base già scritte e memorizzate nella ROM (read only memory) che verranno eseguite a livello logico-digitale (hardware) dal processore.

Un giorno avranno dei segreti, un giorno avranno dei sogni

Cosi dice Alfred Lanning, brillante scienziato e fondatore della u.s. robot (all’interno del film), in una conferenza sui robot, ma è facile intuire da quello che abbiamo visto che al momento è impossibile. Infatti il computer è in grado di eseguire soltanto le istruzioni fornitegli dal programmatore e nient’altro. Si stanno sviluppando diverse tecniche dell’intelligenza artificiale volte a far “imparare ad imparare” la macchina, cioè basati su processi di auto-miglioramento per massimizzare l’efficacia degli algoritmi e su questo fronte si stanno facendo passi da gigante. Il punto è che la scienza non è riuscita (per fortuna) a razionalizzare i sentimenti e le emozioni umane dunque esse non sono riproducibili e applicabili ad una macchina, quindi se un robot dovesse dire che gli piace la musica trap questo sarebbe frutto di un parametro imposto dal programmatore e non dal gusto “reale” del robot che per definizione non può averlo.

E tu che ne pensi? Faccelo sapere!

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

%d blogger hanno fatto clic su Mi Piace per questo: