Comprendere le capacità e i limiti degli algoritmi nella risoluzione delle formule logiche
L’attenzione del progetto UTHOTP si è concentrata sulla progettazione e lo studio di algoritmi efficienti, dove la qualità di un algoritmo è misurata mediante il modo in cui il tempo di elaborazione si allunga all’aumentare delle dimensioni dei dati in ingresso. Come spiega il prof. Jakob Nordstrom, il coordinatore del progetto, «Se un algoritmo fosse la prestazione di un corridore durante una gara, idealmente non dovrebbe importare quanto sia lunga la gara – 100 metri o una maratona - un buon algoritmo corre veloce su tutte le distanze». Una sfida algoritmica particolarmente interessante sono i cosiddetti problemi NP-completi. Questa classe di problemi include alcuni problemi di ottimizzazione combinatoria molto impegnativi, che possono tuttavia essere spesso risolti sorprendentemente bene nella pratica. I ricercatori ancora non comprendono quando e perché gli algoritmi per questi problemi spesso funzionano così bene. Il progetto ha studiato i migliori algoritmi noti oggi e i loro metodi di ragionamento. Attraverso la dimostrazione di teoremi matematici, delineando il loro potere e i loro limiti, il team ha fornito una migliore comprensione di come funzionano questi algoritmi L’importanza dei problemi NP-completi La ricerca sulla teoria della complessità computazionale si è concentrata su problemi al limite di ciò che è possibile risolvere. Molti di questi problemi hanno una caratteristica affascinante: sono molto impegnativi da risolvere, ma una volta proposta una soluzione, questa è molto facile da verificare. Molti compiti nel campo della scienza e dell’ingegneria condividono questa proprietà, e questo è il motivo per cui la ricerca sulla teoria della complessità computazionale si è concentrata su problemi con questa proprietà e ha cercato di comprendere la loro difficoltà. Si è scoperto, fatto alquanto sorprendente, che al fine di risolvere qualsiasi problema computazionale con questa proprietà, descritto come un problema NP-completo, basta avere algoritmi efficienti per risolvere formule logiche. Questo è il motivo per cui la ricerca sulla teoria della complessità computazionale si è concentrata su questo problema, noto come problema di soddisfacibilità booleana, o SAT in breve, così facendo si permette ai ricercatori di comprendere meglio i meccanismi degli algoritmi efficienti. Il progetto UTHOTP ha studiato algoritmi per risolvere il problema SAT – cosiddetti risolutori SAT – concentrandosi, in particolare, su metodi matematici più avanzati di ragionamento che sono esponenzialmente più forti rispetto ai metodi solitamente in uso oggi. Progettando e studiando nuovi algoritmi, e dimostrando teoremi matematici che li riguardano, il progetto ha fatto luce sul loro potenziale. Il team ha inoltre valutato sperimentalmente i nuovi algoritmi sviluppati, ma finora solo in «condizioni ideali simili a quelle di un laboratorio». I ricercatori hanno creato formule di riferimento, progettate per evidenziare i punti di forza e i punti deboli di differenti metodi per risolvere il problema SAT. Questo lavoro ha prodotto diversi risultati promettenti, e il prof. Nordstrom afferma, «Se si potesse fare in modo che questi nuovi metodi funzionino anche su formule che si presentano in problemi della vita reale, allora questo potrebbe avere un impatto enorme su molti settori nell’industria che usano risolutori SAT, quali ad esempio la progettazione hardware e software». Costruire dei ponti fra teoria e pratica. Quando teorici e professionisti provenienti da aree differenti della ricerca studiano gli stessi problemi, le loro differenti prospettive possono spesso presentare delle sfide insuperabili per la comunicazione: ricercatori provenienti da comunità differenti non condividono nemmeno un linguaggio tecnico comune. Come spiega il prof. Nordstrom, «Questa è stata una delle barriere che ha ostacolato la progettazione e la comprensione di algoritmi davvero forti per il problema SAT. Anche se il problema SAT è stato ampiamente studiato a partire dagli anni sessanta, c’è stata pochissima interazione fra teoria e pratica. Tutto ciò ora sta iniziando a cambiare, e credo che un ruolo importante in questo l’abbia svolto una serie di workshop internazionali che ho organizzato a partire dal 2014, con l’aiuto di questa sovvenzione del CER». Il team ha ora intenzione di applicare questo approccio all’esecuzione pratica di algoritmi in aree adiacenti, quali ad esempio la programmazione a vincoli e la programmazione lineare a numeri misto-interi.
Parole chiave
UTHOTP, algoritmo, formula, computer, logica, matematica, ragionamento, computazionale, problemi, algebra, geometria