Di intelligenza artificiale si è parlato, e si continua a parlare, spesso a sproposito. Si creano speranze, si garantiscono successi a breve termine ma questo succede ormai da decenni. Ho fatto il punto su questa disciplina per il libro “I rischi e le opportunità del Web 3.0 e delle tecnologie che lo compongono” pubblicato da Dario Flaccovio Editore e curato da Rudy Bandiera.
Intelligenza artificiale
Cosa c’è di più affascinante per l’uomo di cercare di replicare artificialmente se stesso? Ci ha provato con gli automi meccanici e poi con i robot a replicare il proprio corpo, poi si è concentrato sulla simulazione dell’intelligenza e della conoscenza. Ma non sempre le cose sono andate per il verso giusto.
Non c’è ricercatore che abbia lavorato sulla Intelligenza artificiale (AI) che non abbia cercato di dare una sua definizione della disciplina, calcando la mano sugli aspetti che meglio coincidevano con i risultati a cui tendeva. Nel tempo le definizioni sono cambiate, si sono modificate, plasmate, ridotte, semplificate. Ma tutto ruota intorno alla possibilità di replicare, in maniera parziale o totale, un sistema intelligente, ovvero in grado di riprodurre l’intelligenza biologica e magari umana.
È stata per anni una delle utopie ma anche delle più affascinanti aree di sperimentazione dell’informatica e molte cose che adesso sappiamo dell’intelligenza animale hanno preso avvio proprio dalla necessità di semplificare i processi per riprodurli al computer.
L’intelligenza umana, se vogliamo saltare a piè pari quella animale, riguarda la capacità di ragionare, di prevedere, di risolvere problemi magari grazie alla astrazione dei concetti. Alcune di queste attività necessitano di processi di apprendimento incrementali e di strutturazione delle informazioni. L’astrazione è uno dei punti più complessi da essere gestiti e lo vediamo anche nella pratica quotidiana quando siamo costretti a fare degli esempi per farci capire: il nostro modello astratto è differente da quello dell’interlocutore e allora troviamo un esempio comune, sperimentato e sedimentato anche nell’altro.
Il cervello e il suo funzionamento hanno sempre affascinato gli uomini e appena la tecnologia è diventata disponibile o, meglio ancora, si concepiva la possibilità che potesse diventare disponibile, si sono iniziati studi per riprodurlo, per provare ad estenderlo con delle protesi elettriche, elettroniche e quindi digitali.
Per comprendere le possibili e potenziali applicazioni della Intelligenza artificiale è necessario capire da dove partiamo, quale ne è stata l’evoluzione, per poter immaginare e prevedere con buona approssimazione cosa succerà nel futuro.
Fu il matematico e logico inglese Alan Turing (1912-1954), considerato universalmente il teorico del moderno computer, appena 4 anni prima di morire a scrivere un articolo in cui indicava i principi per la costruzione di programmi per computer che riproducevano “comportamenti intelligenti” e progettò un metodo, detto “Test di Turing” il cui superamento avrebbe definito la macchina come “intelligente”.
Pochi anni dopo il “dimostratore automatico di teoremi” di Newell, Shaw e Simon (1956) diventa la prima elementare applicazione ma che dà l’avvio alla ricerca che durerà per oltre 30 anni, concentrandosi sempre di più sugli aspetti dell’apprendimento e sulle forme di rappresentazione della conoscenza.
I linguaggi di programmazione utilizzati per lo sviluppo di applicazioni Intelligenza artificiale sono stati il Lisp (1958) e il Prolog (1972) e successivi sviluppi non hanno goduto di particolare successo anche se lo stesso Lisp è stato l’ispiratore di una serie di funzionalità presenti in linguaggi contemporanei come Python o Ruby On Rails.
Per tutti gli anni ’80 l’intelligenza artificiale diventa un tema caldo dell’informatica ma anche del business, lo stesso Steve Jobs ci lavorò e promosse la Symbolics Lisp machine che si interfacciava con il Mac II anche se il successo commerciale sperato non arrivò mai.
All’inizio degli anni ’90 l’intelligenza artificiale viene travolta, insieme con la realtà virtuale, dall’ondata di Internet. Tutte le risorse di sviluppo vengono dirottate, i programma di ricerca anche universitaria frettolosamente congelati e poi accantonati a favore della nascente “civiltà della rete”.
Con meno fari puntati, con minori aspettative e attese, l’Intelligenza artificiale diventa una parte di progetti più complessi nel campo strumentale, diagnostico, in applicazioni per il riconoscimento vocale, dei testi e delle forme. Approccia il tema ancora irrisolto delle traduzioni linguistiche automatiche (machine translation), dell’interpretazione del parlato (speech recognition) , della analisi semantica dei contenuti (semantic analysis). Diventa quindi una componente di una programmazione più ampia e deve rinunciare, per semplicità operativa, a un proprio linguaggio di programmazione specifico utilizzandone altri generici (general purpose).
Per immaginare le applicazioni della Intelligenza artificiale è necessario definire uno scenario prossimo venturo intercettando alcuni fenomeni attuali e proiettandoli sulla scommessa che lo sviluppo tecnologico e scientifico si mantengano con la tendenza attuale. Queste ipotesi implicano che la capacità di calcolo dei computer continui a incrementarsi, seppure con le dovute correzioni, intorno alla Prima Legge di Moore (1965) secondo cui le prestazioni dei computer tendono a raddoppiare ogni anno e mezzo. Il secondo punto è che i device leggeri (tablet, smartphone, ma anche pc domestici) accedano sempre più a soluzione client-server ovvero lascino ai server centralizzati e potenti, da leggersi nella variante cloud computing, la maggior parte del gravoso calcolo e si limitino alla sola gestione dell’interfaccia utente. In questo modo il costo per unità di calcolo potrà mantenersi bassa e quindi conveniente. Assisteremo nel tempo alla costruzione di soluzioni sempre più intelligenti e invisibili. Questo lo possiamo già sperimentare nei sistemi che raccolgono su di noi informazioni e gusti e che sono in grado di intuire e proporci alternative significative siano essi libri, elettrodomestici, film, videogiochi, ecc.
Questo matching tra quello che certamente ci piace, perché lo abbiamo acquistato, e quello che potrebbe piacerci perché è stato scelto da persone con la stessa nostra categoria del gusto, assume per qualcuno dei toni inquietanti ma alla fine ci soddisfa. Questa è una applicazione dei sistemi esperti che imparano e migliorano la nostra conoscenza nel tempo.
Un ruolo fondamentale della Intelligenza artificiale è giocato nella ricerca per capire meglio come funziona il cervello animale e quello umano in particolare, capirne i complessi meccanismi. Queste attività sono svolte da università, centri di ricerca e grandi imprese. Non va sottovalutato perché è comunque il punto di riferimento per la disciplina, una arena di altissimo livello che anticipa di mesi e di anni le possibili implementazioni.
Applicazioni importanti ci potranno essere nel campo della automazione che vanno dalla ottimizzazione dei processi alla guida automatica delle automobili. Nel campo industriale, ma non è certo una novità, i sistemi esperti sono in grado di interpretare e concepire risposte adeguate in tempi ragionevoli partendo dai dati raccolti dalla sensoristica nei casi in cui la complessità del sistema sia così elevata che sarebbe impossibile definire a priori le risposte per ogni combinazione possibile. Questi sistemi vanno per successive approssimazioni e miglioramenti, imparando da casi precedenti e simili e ricordando quale è stata la risposta scelta dall’operatore.
Sistemi esperti e modelli comportamentali automatici sono già in parte applicati nel campo militare, della avionica e più in generale della difesa. I droni saranno sempre più dotati di sistemi di navigazione indipendente che non si limiteranno a mantenere le condizioni di movimento e volo rispetto un modello prestabilito ma saranno in grado di rispondere a sollecitazioni ed eventi esterni. Questo perché il telecontrollo umano, oltre ad essere dispendioso in termini di banda di trasmissione, non può avere quella velocità di reazione necessaria rispetto alla velocità del drone e alla complessità di situazioni da tenere sotto controllo.
Non è da sottovalutare inoltre il fatto che i droni militari utilizzati in zone operative devono mantenere limitate le comunicazioni terrestri con la base per non essere intercettati da una semplice triangolazione radio.
In maniera ancora più esasperata questi problemi si pongono nel campo della astronautica. Basti pensare che quando si pilota un rover su Marte si hanno dai 6 ai 44 minuti di ritardo a causa della distanza che devono percorrere le onde radio e quindi il feed back è di fatto inesistente. Questo è uno dei motivi che limitano attualmente la velocità di movimento dei mezzi sulla superficie marziana: la necessità di attendere i segnali video e dei sensori per procedere cautamente nella impervia superficie.
Un sistema esperto, unito a un modulo in grado di ottimizzare le informazioni ricevute dalla sensoristica, trasformerebbe questi rover in perfetti automi che non abbisognano più del consenso dell’uomo per muoversi e svolgere le attività operative.
Altre applicazioni importanti potranno riguardare l’analisi, la classificazione e la comprensione dei BigData, ovvero quella massa enorme di informazioni che attualmente viene prodotta da sistemi automatici come le telecomunicazioni, da dati aziendali ed economici, ma che saranno sempre più generate dall’Internet of Things (Internet delle cose).
Sistemi esperti si utilizzano da molti anni, ma nella maggior parte dei casi in applicazioni sperimentali in ambito medicale e in particolare in quello diagnostico. Mettere insieme una grande massa da informazioni è complesso, rielaborarli cercando corrispondenze o pattern (ripetitività) in migliaia o decine di migliaia di soggetti diversi è una impresa che i sistemi esperti, in grado di apprendere e affinare le informazioni, possono fare meglio e più velocemente dell’uomo.
Quello a cui assisteremo sarà la nascita di una nuova classe di programmi e probabilmente anche di nuovi linguaggi di programmazione orientati alla manipolazione non tanto di dati, siano essi singoli o dataset, ma di “connettività informative e relazionali”. Linguaggi che possano leggere con poche istruzioni un albero di relazioni, pensiamo semplicemente a Facebook, e compiere operazioni complesse come la ricerca di elementi comuni o l’analisi di corrispondenze tra diversi insiemi.
L’intelligenza artificiale e i sistemi esperti saranno sempre più presenti ma contemporaneamente sempre meno visibili, invadenti. Ce ne accorgeremo solo perché avremmo a disposizione risposte più adatte, coerenti complete e sorprendenti rispetto al passato.
Il nodo fondamentale sarà poi capire chi avrà accesso a questi dati e quale uso ne farà.