Approfondimento a cura di Paolo Santangelo

Quando si svolge un calcolo è implicito che la regola sia questa: sono assegnati dei dati iniziali e lo scopo del calcolo è quello di arrivare al risultato. Ad esempio, volendo calcolare il rapporto di due numeri interi, si assegnano il dividendo ed il divisore e si calcola il quoziente e, se non serve per un motivo particolare, il resto della divisione si scarta.

Nel caso di calcoli semplici, lo scarto di qualche risultato intermedio non cambia di molto la complessità del problema mentre nel caso di calcoli estremamente lunghi, lo scarto dei risultati intermedi è una prassi di uso universale ed apparentemente inevitabile. In particolare, ad un determinato punto di un calcolo molto lungo, è generalmente impossibile ritornare indietro, magari per eseguire i calcoli in modo diverso.

Diversi ricercatori hanno invece dimostrato, in modo completo, come sia relativamente semplice calcolare in modo da potere tornare indietro (calcolo invertibile) al solo prezzo di usare della memoria aggiuntiva. Questo è vero anche per il calcolo logico basato su una concatenazione di porte logiche (in questo caso le porte logiche devono avere tre ingressi e tre uscite).

La scoperta di questa proprietà del calcolo suggerisce anche che non c'è nessun aumento di entropia intrinseco alla generazione del risultato e che qualunque calcolo può essere eseguito con un dispendio di energia arbitrariamente piccolo.