venerdì 11 gennaio 2013

9 ALGORITMI CHE HANNO CAMBIATO IL FUTURO


Partiamo da una constatazione: tutti (chi più, chi meno) usiamo abbondantemente le nuove tecnologie (soprattutto quelle dell'informazione e della comunicazione) senza conoscere le grandi idee che le hanno generate. 

Spesso siamo soltanto addestrati (dalla scuola o in autonomia) all'utilizzo del software, ma ignoriamo quasi completamente il grande spettacolo offerto dall'informatica e dalla matematica "dietro le quinte" di ciò che osserviamo sul nostro smartphone.


Tali grandi idee spesso assumono la forma di un algoritmo, ovvero "una ricetta precisa che specifica la sequenza esatta dei passi da compiere per risolvere un problema" (estratto, come le frasi che seguiranno, dal libro che verrà più avanti citato). E gli algoritmi, che possono assumere l'aspetto di una formula matematica, ci facilitano la vita. Quindi si scopre che la matematica e l'informatica sono di straordinaria utilità pratica, contro l'idea - di molti - che si tratti soprattutto di astrazioni.

Provate solo un attimo a pensare a cosa avete fatto proprio oggi. "Forse avete effettuato una ricerca su un corpus di miliardi di documenti, scegliendo i due o tre più significativi per le vostre esigenze? Avete memorizzato o trasmesso molte migliaia di frammenti di informazione, senza nemmeno commettere un errore, nonostante le interferenze elettromagnetiche che disturbano tutti i dispositivi elettronici? Siete riusciti a concludere una transazione on line, anche se molte migliaia di altri clienti stavano bombardando simultaneamente lo stesso server? Avete comunicato qualche informazione confidenziale (per esempio, il numero della vostra carta di credito) in modo sicuro su cavi che possono essere spiati da decine di altri computer?" . Ebbene, si tratta di imprese straordinarie, il cui successo dipende da grandi e ingegnose idee che gli informatici hanno avuto (e si tratta di idee non diverse - in termini di eleganza, bellezza e potenza, rispetto a quelle che caratterizzano i concetti matematici o fisici). Tali idee sono state tradotte in algoritmi ed ora i computer lavorano per noi. E la nostra vita è diventata incredibilmente più facile.


"9 algoritmi che hanno cambiato il futuro" è un libro in cui "ciascun concetto è spiegato senza dare per scontata alcuna conoscenza tecnica di informatica" e - aggiungo io - nemmeno di matematica. E' stato scritto da John MacCormick e pubblicato da Apogeo nel mese di novembre 2012. E' il libro che serve davvero a capire come Google riesca a trovare i documenti da voi richiesti (che sono "aghi nel pagliaio più grande del mondo"), come riesca semplicemente e senza comprendere il reale significato del testo (che può essere più o meno complesso), ad ordinare in modo efficace ed efficiente i risultati di ricerca. Oppure, vi siete mai chiesti come sia possibile inviare un messaggio ad un altro computer senza che nessun altro computer (disposto sulla rete) possa leggerlo? E senza che voi abbiate mai avuto a che fare con il computer destinatario, quindi non avete potuto in precedenza stabilire un codice segreto tramite il quale tradurre i messaggi.


Insomma, si tratta di domande che possono scaturire dalla curiosità di chiunque abbia fino ad oggi usato l'informatica e la matematica in maniera inconsapevole. Perchè, ad esempio, pensare che si possa scrivere un algoritmo che riesca da solo a trovare gli errori ed anche a correggerli, è qualcosa che rasenta la magia. Eppure non è magia: è un'idea, un algoritmo e un software.


2 commenti:

Marco ha detto...

Devo assolutamente aggiungerlo alla mia lista di libri che vorrei leggere ma che, causa tempo ristretto, non riesco a farlo.

Sono un fan degli algoritmi e sarebbe cosa buona e giusta che si comprendesse che questi non sono matematica o informatica "astratta", bensì sono applicabilissimi a serie di azioni concrete che quotidianamente svolgiamo. Qualche tempo fa avevo fatto l'esempio della nonna che prepara un bel piatto di pasta. Ecco la probabile sequenza d'azioni:
1) Riempire la pentola d’acqua
2) Posarla sui fornelli
3) Accendere il fuoco
4) Aggiungere la giusta dose di sale
5) Attendere finché l’acqua non raggiunge il punto di ebollizione
6) Inserire la pasta
7) Attendere i 10 minuti di cottura
8) Scolare la pasta
9) Aggiungere il condimento
10) Servire a tavola

E' un esempio di come la natura ed il mondo che ci circonda sono contenitori inesauribili di algoritmi logico-matematici.
Le quattro proprietà fondamentali per un algoritmo sono:
a) Sequenza di istruzioni finita (finitezza)
b) La sequenza deve portare ad un risultato (effettività)
c) Istruzioni eseguibili materialmente (realizzabilità)
d) Istruzioni espresse in modo non ambiguo (non ambiguità)

Ora, se per ottenere un certo risultato o risolvere un certo problema, esiste un procedimento infallibile, che può essere descritto in modo non ambiguo fin nei dettagli, e conduce sempre all'obiettivo desiderato in un tempo finito, allora esistono le condizioni per affidare questo compito a un computer, semplicemente descrivendo l'algoritmo in questione in un programma scritto in un opportuno linguaggio comprensibile alla macchina detto anche “linguaggio di programmazione”.

Bene, la nonna potrebbe scrivere un algoritmo per cucinare la pasta.

Un saluto
Marco

Walter Caputo ha detto...

Grazie Marco !!!