Cosa c'è di imperfetto nel metodo "salva-l'input" del calcolo reversibile?


9

Sono uno studente appena iniziato a leggere informazioni sull'informatica reversibile. So che, a causa del principio di Landauer, i calcoli irreversibili dissipano il calore (e quelli reversibili no). L'ho cresciuto con il mio professore, che non aveva mai sentito parlare del calcolo reversibile prima, e aveva difficoltà a capire perché la teoria del calcolo reversibile non fosse banale.

Il suo punto era solo che puoi sempre salvare l'input, cioè per qualsiasi funzione che desideri rendere reversibile, definisci una nuova funzione (o e hai appena inserito s per gli ultimi bit dell'ingresso) che restituisce l'output nei primi bit e l'input negli altri bit. Quindi per invertire devi semplicemente scartare l'output e restituire l'input che hai salvato.f r e v e r s i b l e : { 0 , 1 } n{ 0 , 1 } 2 n { 0 , 1 } 2 n{ 0 , 1 } 2 n 0 n n n ff:{0,1}n{0,1}nfreversible:{0,1}n{0,1}2n{0,1}2n{0,1}2n0nnnfreversible

La mia obiezione immediata è stata che questo richiede più memoria rispetto alla funzione originale, sebbene solo per un fattore costante. Limitare l'output a bit sembrerebbe tuttavia ripristinare l'interesse del problema. È questo che di solito si intende per elaborazione reversibile?n

Un'altra obiezione sembrava essere che quando scartiamo l'output, stiamo facendo qualcosa di irreversibile che dissiperà il calore. Ma abbiamo recuperato correttamente lo stato iniziale, quindi come potrebbe essere irreversibile? Non conosco abbastanza fisica per capire se la cosa importante con il calore è solo per rendere reversibile l'intero calcolo, o se anche ogni passaggio deve essere reversibile, o se questa idea è solo sull'albero sbagliato .

Risposte:


12

Esistono due importanti funzionalità del calcolo reversibile che mancano nella discussione sul calcolo reversibile:

  1. Una funzione reversibile deve essere una biiezione, e
  2. La reversibilità è definita a livello di porte locali, non solo a livello globale.

In particolare, per la vostra estensione di in copiando, non si garantisce la biiezione perché non si spiega cosa succede quando gli ultimi bit di input per la propria funzione non sono . { 0 , 1 } 2 n{ 0 , 1 } 2 n n 0 n{0,1}n{0,1}n{0,1}2n{0,1}2nn0n

Per quanto riguarda il secondo punto, questa è davvero la parte essenziale dell'informatica reversibile dal punto di vista della fisica. Il processo fisico non può semplicemente "annullare" il riscaldamento a livello globale, quindi ogni gate deve essere reversibile affinché il circuito sia reversibile nel senso rilevante per la fisica.

Infine, la teoria dell'informatica reversibile non è irragionevolmente complicata, ma non è assolutamente banale. In particolare, ci sono alcuni circuiti che possono essere implementati con un numero strettamente inferiore di registri / fili non reversibili rispetto a quelli che possono essere reversibili. Tuttavia, l'esplosione nel passaggio da non reversibile a reversibile non è poi così grave.

In generale, raramente ascolto l'elaborazione reversibile nei corsi di CS classica, perché raramente è rilevante per il calcolo classico. Tuttavia, è un argomento importante nell'informatica quantistica perché tutti i circuiti quantistici sono reversibili e perché si deve gestire attentamente ciò che si trova sui fili della "spazzatura" per evitare inutili intrecci.


Aha. Quindi qual è l'affermazione formale di "ogni cancello deve essere reversibile" - richiede che la funzione di transizione della macchina di Turing sia iniettiva?
Eli Rose - REINSTATE MONICA

2
Il calcolo reversibile di @EliRose è definito nel modello gate, non nel modello TM. Non sono sicuro che ci sia una definizione ragionevole nel modello TM, ma probabilmente richiederebbe almeno che il controllo finito sia reversibile. Quindi cancelli reversibili significano qualcosa come il cancello di Toffoli .
Artem Kaznatcheev,

1
@ArtemKaznatcheev: che dire di Reversible Turing Machines (collegamento PDF) introdotto da Bennett?
Niel de Beaudrap,

I circuiti combinatori possono essere facilmente gestiti con logica reversibile, ma tutti i dispositivi di elaborazione utili richiedono feedback. Si potrebbe usare un cancello di Toffoli per calcolare "A e non B", e due di questi cancelli potrebbero essere usati per costruire un chiavistello, ma una volta che il feedback è stato messo in atto, la reversibilità esce dalla finestra.
supercat

che dire delle TM quantistiche le cui ampiezze consentite possono essere solo 0 o 1. Questo sembra un modo ragionevole per definire una TM reversibile.
Marcos Villagra,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.