autobus a guida autonoma
Gli autobus a guida autonoma non hanno autisti. Devono “decidere” da soli quando accelerare e rallentare garantendo la sicurezza dei passeggeri. Dennis Schroeder/NREL, CC BY-NC-ND
  • Categoria dell'articolo:Tecnologia
  • Ultima modifica dell'articolo:1 Luglio 2022

I robot stanno gradualmente arrivando nella nostra vita quotidiana, dalle linee di produzione in fabbrica ai server del caffè, fino agli autobus a guida automatizzata che sono entrati nella fase di test, in particolare nella regione di Parigi.

Come garantire che la loro (relativa) autonomia sia esercitata senza pericolo per l’uomo?

Mentre gli eccessi delle nostre creature sono ampiamente esplorati nelle opere di finzione, da Frankenstein di Mary Shelley a I, Robot di Isaac Asimov (raccolta di racconti adattati per il cinema nel 2004), dobbiamo oggi muovere da queste riflessioni letterarie regole matematiche per programmare robot molto reali.

Sulle tracce di Isaac Asimov, padre della robotica

Isaac Asimov era professore di biochimica alla Boston University. Fu soprattutto un grande autore di fantascienza, il primo in particolare a prevedere che un giorno ci sarebbe stata una scienza dedicata ai robot. Lo usò così già nel 1941, nel racconto intitolato Bugiardo! (raccontando una storia che dovrebbe accadere oggi, nel 2021!), la parola robotica in un’epoca in cui i robot erano ancora pura finzione, senza sapere che questa parola non esisteva e che quindi derivava dall’ invenzione. Ha poi sviluppato una riflessione sui principi logici che dovrebbero guidare il loro comportamento, e come tale può essere considerato il primo roboticista della storia.

Oggi un robot è una realtà: una macchina controllata da un computer, una combinazione di un corpo meccanico e un cervello elettronico, che costituisce un’interfaccia tra il mondo digitale dei computer e il nostro mondo fisico. Ciò che definisce un robot e lo separa da altri strumenti realizzati dall’uomo è la sua relativa autonomia e la sua ambizione di essere, più di uno strumento che utilizziamo, un partner a cui delegare compiti.

Per evitare che questa relativa autonomia venisse esercitata a spese dei suoi creatori, Isaac Asimov propose tre leggi:

Prima legge: un robot non deve ferire un essere umano o, per inazione, permettere che un essere umano venga ferito.

Seconda legge: un robot deve obbedire agli ordini impartiti dagli esseri umani, a meno che tali ordini non siano in conflitto con la prima legge.

Terza legge: un robot deve proteggere la propria esistenza fintanto che tale protezione non è in conflitto con la prima o la seconda legge.

Ma per essere efficace, il linguaggio umano è necessariamente ambiguo, il suo significato dipende da un contesto e da un senso comune supposto implicitamente condiviso. Espresse in questo modo, queste tre leggi possono essere interpretate in modo diverso a seconda della situazione, provocando tante potenziali catastrofi come lo stesso Isaac Asimov ha abbondantemente illustrato nei suoi racconti di fantascienza. Ad esempio, nel racconto “Bugiardo! detto sopra, un robot decide di mentire ai suoi interlocutori umani per non ferirli emotivamente, senza rendersi conto che le conseguenze delle sue bugie finiranno per essere molto più gravi.

Allora come si fa a programmare il comportamento di un robot, ad esempio un autobus a guida autonoma? Si tratta di un veicolo da 15 tonnellate, sviluppato per trasportare 100 passeggeri a 40 chilometri orari nel centro della città in modo automatizzato. Sarebbe irresponsabile sottoporre il funzionamento e in particolare la sicurezza di questo autobus a possibili rischi di interpretazione.

Tradurre le leggi in algoritmi

Sta quindi all’uomo che programma questo bus anticipare le situazioni con cui si dovrà confrontare, dare un significato adeguato e preciso a queste leggi in queste situazioni, e poi riformularle nel linguaggio meno ambiguo a disposizione: quello della matematica e informatica.

Ad esempio, decelerazioni troppo forti possono essere estremamente pericolose per i passeggeri seduti, che generalmente non sono tenuti in posizione dalle cinture di sicurezza, e ancor di più per i passeggeri in piedi che potrebbero cadere. Il nostro team ha quindi postulato due prime leggi per il nostro autobus senza conducente:

Prima legge: un autobus non deve mai accelerare o decelerare oltre un limite di sicurezza per non mettere in pericolo i propri passeggeri.

Seconda legge: mentre è in movimento, un autobus deve mantenere una distanza di sicurezza dal suo ambiente esterno per evitare qualsiasi rischio di collisione, a meno che ciò non sia in contrasto con la prima legge.

In genere è possibile anticipare con qualche secondo di anticipo come evolverà l’ambiente di un autobus. Richiedendo che il nostro autobus possa sempre fermarsi se necessario entro questi pochi secondi, garantiamo che rispetti queste due leggi anche oltre: rimarrebbe quindi fermo – senza accelerare o decelerare, e non essendo più in movimento, non avrebbe la responsabilità primaria di una collisione, se fosse avvenuta in seguito.

Accelerazione, decelerazione, distanza, movimento sono attributi fisici inequivocabili che possono essere misurati, calcolati indiscutibilmente. Queste due leggi possono quindi essere rappresentate come tanti vincoli matematici. Possono quindi essere presi in considerazione da un algoritmo di soddisfazione dei vincoli incaricato di calcolare il movimento che il nostro autobus deve eseguire per soddisfarli. Nel nostro caso abbiamo sviluppato un algoritmo di ottimizzazione lessicografica per rispettare la gerarchia delle priorità in caso di conflitto tra queste due leggi.

Priorità da chiarire

Un conflitto tra queste due leggi può rappresentare una scelta da compiere tra il pericolo dei passeggeri all’interno dell’autobus e quello delle persone nel suo ambiente esterno.

In questo caso, l’ordine di cui sopra dà la priorità alla sicurezza dei passeggeri. Ciò può essere giustificato come segue: un’eventuale decelerazione oltre il limite di sicurezza metterebbe immediatamente in pericolo tutti i passeggeri dell’autobus, che non hanno scampo, mentre una persona fuori dall’autobus potrebbe avere comunque la possibilità di evitare la collisione fintanto che non ha preso posto. Possiamo ovviamente decidere di dare priorità alle priorità del nostro autobus in modo diverso, è un dibattito che non possiamo pretendere di risolvere qui.

Una volta garantiti questi requisiti di sicurezza, lo scopo di questo autobus è naturalmente quello di portare i passeggeri a destinazione in tempo:

Terza legge: un autobus deve viaggiare alla velocità indicata dal suo orario purché non sia in contrasto con la prima o la seconda legge.

Possiamo quindi vedere che le leggi di Asimov forniscono un interessante punto di partenza per avvicinarsi al comportamento dei robot, ma devono essere riformulate in una forma matematica adatta ad ogni situazione al fine di rimuovere ogni ambiguità interpretativa. È in questo modo che possiamo quindi garantire matematicamente il comportamento di un robot.

Priorità ai mezzi pubblici

Sebbene lo sviluppo dei veicoli a guida automatizzata abbia beneficiato per anni di investimenti colossali, questo progresso scientifico e tecnico avrà un impatto ecologico positivo solo se riguarda il trasporto pubblico. Perché il nostro tempo è soprattutto quello di una grande crisi ecologica, che costituisce una minaccia esistenziale per l’intera umanità. Di fronte a una sfida di questo ordine, Isaac Asimov aveva immaginato una legge “zero” prima delle prime tre per importanza:

Legge zero: un robot non deve causare danni all’umanità o, attraverso l’inazione, consentire che vengano arrecati danni all’umanità.

Questa legge forse più delle altre intende alimentare una riflessione etica che non può essere ridotta a una formula matematica. È in questo senso che il Comitato Pilota Nazionale per l’Etica Digitale interroga in un parere emesso sulle questioni etiche legate al “veicolo autonomo” i pregi stessi di sviluppare tali veicoli se non è un trasporto pubblico: un robot non dovrebbe, da la sua stessa esistenza, contribuiscono a mettere in pericolo l’umanità.

Perché, se i robot possono aiutarci a soddisfare i nostri bisogni primari (cibo, salute, abbigliamento, alloggio, viaggi) in modo più efficiente, più economico, dobbiamo ovviamente essere attenti a ciò che, dal punto di vista ecologico, contribuiscono alla soluzione e non al problema.

Autore

Pierre-Brice Wieber, Inria