Spiegare il risultato di un algoritmo
Gli algoritmi sono un insieme di regole o istruzioni che dicono a un computer cosa fare. Si tratta di processi essenziali per aiutare gli sviluppatori di software a creare programmi efficienti e senza errori, ma hanno comunque i loro limiti, il principale dei quali è che spesso non possono fornire alcuna prova tangibile dei loro risultati. Secondo Shaull Almagor(si apre in una nuova finestra), un professore assistente di Informatica presso il Technion(si apre in una nuova finestra), questa mancanza di certificazione rappresenta una vera e propria sfida, soprattutto nella progettazione dei sistemi ciberfisici del futuro. «Prendiamo ad esempio un algoritmo di pianificazione robotica, dove viene chiesto a un robot di eseguire un compito, come trovare una chiave per aprire una porta», spiega il professore. «Ora supponiamo che l’algoritmo dica all’utente che non esiste un tale piano per il robot. Come può sapere l’utente che questa risposta è corretta?» Oppure cosa succede se l’algoritmo riesce a trovare un piano, ma questo è molto complesso? Come può l’utente fidarsi del piano? «Questo problema è estremamente importante in situazioni in cui un supervisore umano deve approvare un’operazione critica in termini di sicurezza, come nel controllo del traffico aereo o in una fabbrica», prosegue Almagor. «In tali situazioni, l’ideale sarebbe se l’algoritmo potesse fornire una semplice spiegazione sul perché il risultato è corretto.» Grazie al supporto del progetto ALGOCERT, finanziato dall’UE, Almagor si è proposto di elaborare tali spiegazioni, che definisce certificati.
Certificati su misura per specifici contesti
Come spiega Almagor, per avere senso, questi certificati devono essere specifici per ogni contesto. «Per definire nozioni significative di certificati, dobbiamo basarci sulle proprietà specifiche del compito di pianificazione», aggiunge. «Solo allora possiamo tentare di elaborare algoritmi certificabili.» Prendiamo ad esempio il problema del raggiungimento dei sistemi dinamici(si apre in una nuova finestra) lineari, che rappresentano l’evoluzione nel tempo di vettori. Benché tali sistemi usino semplici regole matematiche, possono dare origine a comportamenti molto complessi. «Se l’evoluzione raggiunge un obiettivo, ciò è facile da certificare: basta fornire il tempo di raggiungimento», spiega Almagor. «Ma se non raggiunge l’obiettivo, non è chiaro come fornire un certificato.» In base a ciò, il progetto ha proposto un concetto di certificato per scenari non raggiungibili. «Sintetizziamo una serie che contiene l’intera evoluzione del sistema ma che non raggiunge l’obiettivo», prosegue Almagor. Un altro problema affrontato dal progetto è quello dell’esplorazione multiagente (multi-agent pathfinding, MAPF). Secondo Almagor, l’esplorazione multiagente rappresenta un problema fondamentale nella pianificazione robotica, che comprende applicazioni robotiche come i magazzini e i veicoli automatizzati. «Queste applicazioni richiedono più agenti in grado di seguire contemporaneamente percorsi stabiliti senza collidere l’uno con l’altro», osserva Almagor. In questi casi il progetto ha proposto uno schema che spiega la correttezza di un piano MAPF a un utente umano. «Convinciamo l’utente che il piano non presenta rischi di collisione decomponendolo in una sequenza di immagini, con i percorsi degli agenti disgiunti in ogni immagine», continua Almagor. «Si tratta davvero di un modo molto intuitivo di spiegare la non collisione.»
Un’importante pietra miliare
Questi sono solo alcuni dei problemi affrontati dal progetto ALGOCERT supportato dalle azioni Marie Skłodowska-Curie(si apre in una nuova finestra), molti dei quali sono stati ampiamente illustrati in vari articoli e presentazioni. «Il concetto di spiegabilità ha attirato l’attenzione di molti negli ultimi anni», conclude Almagor. «Per quanto non possa dire che i nostri metodi siano il Santo Graal della certificazione algoritmica, ritengo comunque che rappresentino un’importante pietra miliare lungo questo percorso».
 
           
         
            