Un linguaggio di programmazione è sostanzialmente un metodo di comunicazione tra un essere umano e un computer, o tra due macchine in grado di scambiarsi informazioni. Sebbene un linguaggio di programmazione sia dotato di una propria sintassi, di un lessico e di una semantica ben definiti e ragionati da un essere umano, si tratta sostanzialmente di una forma di comunicazione uomo-computer o computer-computer differente da un qualsiasi linguaggio naturale.

 

 

Un esempio semplice da comprendere è quello della creazione di una pagina web. La pagina che state leggendo è un contenitore di differenti linguaggi di programmazione, che serviranno a comunicare sia al server su cui è ospitata, sia al browser che la legge, come deve essere eseguita affinchè possiamo visualizzarla correttamente sul nostro monitor e leggere i dati che contiene.

Allo stesso modo, due computer possono comunicare utilizzando linguaggi o protocolli definiti a priori dal programmatore, e ben lontani per struttura e significato dalle forme di comunicazione utilizzate da un essere umano per scambiare informazioni con altri esseri umani.

Si tratta fondamentalmente di un insieme di zero e uno che, se interpretati correttamente, consentono a due macchine di creare un flusso di dati e di mantenersi in contatto. Ma Ruth Schulz, ricercatrice della University of Queensland, voleva sfondare la barriera del linguaggio di programmazione permettendo alle macchine di creare il loro linguaggio naturale, e di utilizzarlo per condividere informazioni.

 



Schultz ha creato i Lingodroids, dei piccoli robot equipaggiati con una telecamera, un puntatore laser e un sonar per la mappatura dell'ambiente che li circonda. In aggiunta al fatto che questi piccole macchine possono muoversi liberamente all'interno di un'area di gioco, i Lingrodoids dispongono anche di un microfono e di altoparlanti per poter comunicare tra di loro.

La sfida è di certo estremamente affascinante. Immaginate di svegliarvi una mattina con la memoria completamente vuota: non ricordate l'inglese o il francese imparato a scuola, non riuscite a capire il vostro dialetto regionale, e nemmeno potete comunicare utilizzando l'italiano.

 



Immaginate quindi di incontrare una persona che si trova nella vostra stessa situazione. Come potete scambiarvi informazioni? La soluzione più facile sarebbe quella di scegliere dei suoni casuali per descrivere l'ambiente in cui vi trovate, creando delle parole che sia voi che il vostro compagno smemorato potete associare ad un oggetto, ad un luogo o ad un concetto.

Per esempio, potreste puntare il dito verso il terreno ed emettere un suono, mostrando all'altra persona quale termine utilizzare e condividere per esprimere il concetto di "suolo". Questo meccanismo è proprio quello utilizzato dai Lingodroids per creare il loro linguaggio: quando un robot si ritrova in un'area che non conosce, crea una parola per poter descrivere l'ambiente selezionando alcune sillabe a caso, e comunica la nuova parola agli altri robot che incontra, in modo vocale.

 

 

A partire da questo metodo, Schulz ha fatto giocare i robot per rafforzare le loro abilità linguistiche. Il rafforzamento di un termine, e la sua condivisione all'interno del linguaggio utilizzato dai Lingodroids, è possibile proprio grazie alla comunicazione tra ogni unità: quando un robot crea una nuova parola legata ad una posizione nello spazio, la comunica ad un altro robot che a sua volta potrebbe chiedere informazioni riguardo al luogo da cui la prima macchina è giunta, dando il via alla creazione di altre parole legate, ad esempio, a direzione e distanza.

Dopo aver partecipato a centinaia di giochi, i robot sono ora in grado di coordinarsi e di creare mappe spaziali molto complesse. Anche se soltanto uno dei robot ha esplorato determinate aree, il linguaggio dei Lingodroids consente loro di scambiare informazioni che diventano patrimonio comune della loro "cultura" (passatemi il termine).

 


Facciamo un esempio pratico: un Lingodroid crea la parola "hiza" una volta raggiunta una posizione che non conosce posta ad est dell'arena in cui sta giocando; a quel punto, si dirige verso il robot più vicino comunicandogli tramite l'altoparlante la parola "hiza".

Sia il primo che il secondo robot inizieranno a spostarsi verso il punto che loro ritengono sia associato al termine "hiza": se si incontreranno nella stessa posizione, o comunque vicini l'uno all'altro, la parola "hiza" rafforzerà il legame tra la parola stessa ed una posizione nello spazio. I robot hanno creato e rafforzato la parola "hiza" per descrivere uno spostamento verso est, e la parola "vupe" per esprimere il concetto di distanza media. La coppia di parole "vupe hiza", quindi, indica uno spostamento verso est sulla media distanza.

In futuro, i ricercatori vogliono sviluppare i Lingodroids per consentire loro di "parlare" di argomenti molto più complessi, come fornire indicazioni per raggiungere una determinata località, o la possibilità di poter raggiungere uno o più punti di una mappa. L'obiettivo ultimo è quello di poter arrivare ad un rapporto computer-uomo molto più umano e naturale di quanto sia possibile oggi.

Fonte: http://www.ditadifulmine.com

 

 

Categoria: Informatica
Visite: 1919