Domanda:
Se avessimo un computer "perfettamente efficiente" e tutta l'energia disponibile nella Via Lattea, quale numero potrebbe contare?
cooky451
2016-05-22 19:05:27 UTC
view on stackexchange narkive permalink

L'idea per questa domanda viene da un esempio in crittografia, dove presumibilmente chiavi simmetriche a 256 bit saranno sufficienti per tutto il tempo a venire (forzare brute una chiave a 256 bit equivale a contare fino a $ 2 ^ { 255} $, con alcune costanti davanti). Anche se non ne dubito davvero, penso che sia un interessante esperimento mentale per quale numero (approssimativamente ovviamente) un computer teorico "perfettamente efficiente" (definiscilo come vuoi), con tempo infinito e tutta l'energia (inclusa la materia ma non materia oscura) nella nostra galassia disponibile potrebbe contare. Il conteggio fino a $ x $ è definito come il fatto che un oggetto fisico attraversi $ x $ stati diversi, predefiniti e misurabili. Purtroppo mi manca il background teorico per fare da solo questo calcolo correttamente, potrei provarlo ma non avrei idea se mi mancasse qualcosa di essenziale. Spero che una domanda "divertente" come questa non esuli dall'ambito di questo sito (sentiti libero di indirizzarmi a un posto migliore per chiederlo).

In alternativa: che dire di tutta l'energia nell'universo conosciuto?

Poiché l'idea per questa domanda era la lunghezza della chiave in crittografia, sentiti libero di prendere in considerazione (o non considerare) l'algoritmo di Grover.

Modifica: come suggerisce un commento, se non c'è una buona risposta su cosa considerare un "computer perfettamente efficiente", forse prendi i valori per un processore noto.

ciao cuoco - Ho la sensazione che la tua domanda stia vacillando sull'essere amato / odiato in fisica SE.Per prima cosa, non so come si misura il lavoro di "conteggio dei computer", o se esiste un computer idealmente efficiente.
Potresti magari inquadrarlo come: quanta energia impiegherebbero i computer più efficienti per ... (inserisci il tuo compito)
Usando approcci classici, si può contare fino a 2 ^ 256 usando 3/4 della massa / energia della galassia.Farei i conti per te, ma sembra che tu abbia già accettato una risposta quantistica.
@CortAmmon Anche questa sembra una risposta interessante, * per favore * approfondisci - Io per primo non ho idea di cosa stai ottenendo.Inoltre, date le esigenze del PO (stime per giudicare la validità degli schemi crittografici in base a), una varietà di approcci diversi al problema sarebbe utile.
Dato il contesto della tua domanda, dovresti anche esaminare il [Limite di Bremmermann] (https://en.wikipedia.org/wiki/Bremermann%27s_limit) che apparentemente ha una certa storia di utilizzo per valutare la sicurezza degli algoritmi crittografici.
@CortAmmon BTW La mia non è una risposta "quantistica", è una risposta "computer reversibile".Cito solo il calcolo quantistico perché al giorno d'oggi è visto come un candidato promettente per la realizzazione di un computer reversibile.Bennett, Feynman e altri che pensavano a queste cose in realtà hanno fatto i loro esperimenti mentali con computer a palla da biliardo, in cui palline rimbalzano l'una sull'altra in modo elastico per influenzarsi a vicenda e quindi eseguire calcoli senza alcuna perdita di energia.Guarda il documento di Bennett che cito per una descrizione.
Una risposta:
Selene Routley
2016-05-22 19:43:15 UTC
view on stackexchange narkive permalink

Un computer "perfettamente efficiente" può significare molte cose, ma, per gli scopi di questa risposta, consideriamo un computer reversibile (spiegato più avanti man mano che procediamo).

Il limite inferiore teorico al fabbisogno energetico nell'informatica è il Limite di Landauer, che afferma che dimenticare un bit di informazione richiede l'input di un lavoro pari a $ k \ , T \, \ log 2 $ in modo da rispettare la seconda legge della termodinamica. Se il computer è reversibile, cioè il suo stato in ogni momento può essere dedotto il suo stato in qualsiasi altro momento, allora non c'è nessun limite inferiore teorico al suo fabbisogno energetico. Per stato qui si intende lo stato teorico del computer della CPU, non lo stato quantistico fisico (il primo è una parte molto piccola del secondo; le leggi microscopiche sono reversibili in modo che lo stato quantistico completo in qualsiasi momento può sempre in teoria essere dedotto dallo stato quantistico completo in qualsiasi momento). Un esempio di calcolo non reversibile è quello in cui si aggiungono due numeri e si scrive il risultato sulla memoria precedentemente occupata dagli addendi. I due addendi non possono essere dedotti dallo stato del computer ( cioè la somma) dopo che l'aggiunta è avvenuta. In breve, la ragione di questa situazione è che se il tuo calcolo dimentica, la Natura no, quindi se cancelli la memoria, allora quell'informazione "cancellata" deve in qualche modo finire codificata nello stato quantistico completo del computer poiché le leggi microscopiche sono davvero reversibili. L'unico modo in cui un sistema può "assorbire più informazioni", cioè codificare completamente il suo passato nel suo stato quantistico, è accedere a un numero sempre maggiore di stati quantistici, e questo significa quasi sempre diventare più caldo [vedere 1]. Quindi, da qualche parte lungo la linea devi aggiungere energia per far sì che ciò accada, e alla fine dovrai raffreddare il computer per mantenerlo funzionante. La seconda legge della termodinamica mostra quindi che se vogliamo mantenere il computer a un macrostato costante, dobbiamo inserire la quantità di lavoro prescritta dal principio di Landauer per farlo [vedi rif. 2].

Ora esaminiamo il tuo problema. Il conteggio può chiaramente essere trasformato in un calcolo reversibile: ogni passaggio è invertibile e puoi immaginare semplicemente di sincronizzare un semplice contatore digitale all'indietro per ottenere ciò. Quindi in teoria potremmo costruire un computer quantistico (o un altro reversibile) per contare senza input di energia mentre conta . Tuttavia, quando si calcola la dimenticanza delle informazioni, è necessario tenere conto dell'inizializzazione. Cioè, devi iniziare con i registri inizializzati con cui contare. Si avvia la macchina inizializzandoli tutti su zero ..... ma questo significa che esiste uno stato quantistico di ogni registro che viene "dimenticato" quando la macchina viene inizializzata. Quindi, se hai bisogno di una memoria di $ N $ bit per il tuo conteggio, devi trovare $ N \, k \, T \, \ log 2 $ joule per inizializzare il tuo computer reversibile. Wikipedia mi dice che la massa della Via Lattea è stimata in $ 10 ^ {12} $ masse solari, o circa $ 2 \ volte 10 ^ {30} \ volte 10 ^ {12} \ volte 10 ^ {17} = 2 \ volte 10 ^ {59} $ joule. Se riesci a raffreddare il tuo computer alla temperatura della radiazione cosmica di fondo a microonde, o $ 2,7 {\ rm K} $, il limite di Landauer implica che puoi acquistare l'inizializzazione di $ 2 \ volte 10 ^ {59} / (2,7 \ volte 1,38 \ times 10 ^ {- 23} \ times \ log 2) \ circa 8 \ volte 10 ^ {81} $ bit. Non puoi far funzionare il tuo computer al di sotto di $ 2,7 {\ rm K} $ poiché avrebbe bisogno di energia per il raffreddamento artificiale sotto il suo ambiente.

Quindi questa è la tua risposta approssimativa: in teoria potresti contare fino al numero:

$$ 2 ^ {8 \ times 10 ^ {81}} $$

con un'implementazione reversibile di un contatore dato il budget energetico dichiarato.

Un altro limite che potrebbe interessare dal punto di vista crittografico è il Limite di Bremmermann, che limita la velocità con cui i calcoli possono evolversi nelle fasi successive.

Va ​​notato quanto sia difficile raggiungere il limite di Landauer. Se il nostro contatore dimentica anche un bit per ciclo di conteggio, il limite si riduce all'ancora colossale $ 2 \ times 10ˆ {81} $. Yockey [vedi riferimento 3] afferma nei primi capitoli del suo libro che il fenomeno della replicazione del DNA durante la divisione cellulare, pensato come un algoritmo computerizzato, è il calcolo più efficiente conosciuto e consuma circa un ordine di grandezza in più di energia rispetto al limite di Landauer, cioè circa $ 10.000 \, T $ per bit dimenticato. Alla luce del limite di Landauer, i computer moderni sono incredibilmente inefficienti. 32 GB di RAM vengono sovrascritti a 1 GByte al secondo e consumano 5 watt a 300 K in tal modo (queste sono le cifre per il computer su cui vengono scritte queste parole) rappresenta un dimenticare che è undici ordini di grandezza più dispendioso ($ 5 / (8 \ volte 10 ^ 9 \ volte k \ volte 300 \, \ log 2) \ circa 2 \ volte 10 ^ {11} $) rispetto al limite di Landauer.


Referenze e note a piè di pagina:

[1]: Per approfondire la tua comprensione di questa affermazione, prova a elaborare e tracciare l'entropia di Shannon della specifica dello stato di un insieme di oscillatori armonici quantistici $ N $ all'equilibrio termodinamico in funzione della temperatura (risposta: $ \ left (\ frac {e ^ {\ beta_ \ omega} \ beta_ \ omega} {1-e ^ {\ beta_ \ omega}} + \ log \ left (e ^ {\ beta_ \ omega} -1 \ right) \ right) / \ log (2) $ bit per oscillatore, dove $ \ beta_ \ omega = \ hbar \ omega / (k \, T) $). Puoi immediatamente vedere cosa sta succedendo: la distribuzione di probabilità di Boltzmann è qui proporzionale a $ p (n) \ propto \ exp \ left (- (n + \ frac {1} {2}) \ frac {\ hbar \, \ omega} {k \, T} \ right) $ e la coda si allunga, "accedendo a più stati" man mano che $ T $ aumenta).

[2] Un eccellente documento di revisione per questi concetti è Charles Bennett, "The Thermodynamics of Computation: A Review", Int. J. Theo. Phys., 21, n. 12, 1982)

[3] "Teoria dell'informazione, evoluzione e origine della vita", Hubert P. Yockey In quanto non biologo, non mi sento qualificato per giudicare questo testo.Sentivo, tuttavia, di aver capito i primi capitoli da cui ho raccolto l'affermazione sull'efficienza della replicazione del DNA abbastanza bene da essere ragionevolmente fiducioso nella fondatezza dell'asserzione, ma ho trovato la maggior parte del testo oltre il Capitolo 2 assolutamente incomprensibile.

Quella spiegazione qualitativa del perché il calcolo irreversibile richiede energia è stata fantastica.Mi ero imbattuto in questo fatto, ma non avevo visto una spiegazione prima.
Per completezza, potrebbe valere la pena notare che se è necessario eseguire qualsiasi tipo di calcolo non reversibile in ogni passaggio, il limite diventa * molto * inferiore.Infatti, usando le tue cifre e supponendo la cancellazione di (almeno) un bit per passo, il limite diventa circa $ 8 \ volte 10 ^ {81} \ circa 2 ^ {272} $ passi.
@IlmariKaronen Infatti.Il limite di Landauer è molto al di sotto di qualsiasi cosa sembriamo ottenere.Ho aggiunto un po 'seguendo il tuo suggerimento
@PeterCordes Grazie;la spiegazione ovviamente non è del tutto mia, ma quella che ho ottenuto direttamente leggendo la recensione di Bennett che ho ora citato nella risposta aggiornata.Se sei interessato a queste cose, vale la pena leggerlo.
@Bosoneando Grazie grandiosamente.Come ho detto a Peter Cordes, se sei interessato a queste cose, vale la pena leggere il riferimento di Bennett che ho appena aggiunto alla risposta.
Rod, basato su un libro o meno, la tua risposta è decisamente impressionante!
Inoltre, in qualità di forte sostenitore della notevole efficienza dei sistemi biologici nei calcoli intelligenti, sono rimasto molto incuriosito dalle vostre osservazioni sull'efficienza della replicazione del DNA come forma di calcolo.
@TerryBollinger Grazie Terry.È davvero intrigante.È un peccato non aver capito la maggior parte del libro che sto citando.Ovviamente ci sono riferimenti in quel libro, ma non sono riuscito a cercarli.
Dato che ci sono ~ $ 10 ^ {80} $ atomi nell'universo, risulta che il fattore limitante in un computer binario sarebbe il numero di atomi (supponendo di poter ottenere un bit per atomo).Potremmo capire come codificare più densamente di così un giorno, ma siamo ancora nel regime di molti atomi per bit.È piuttosto interessante, tuttavia, che questi due numeri siano entro 2 ordini di grandezza l'uno dall'altro.
@user121330 Penso che il fatto che i due numeri siano più o meno uguali sia una coincidenza, poiché ho preso l'energia totale della Via Lattea, non l'universo osservabile.Come fa notare [la risposta di Jerry Schirmer qui] (http://physics.stackexchange.com/a/144721/26076), non esiste un limite teorico dell'informazione al numero di bit che possono essere codificati in un atomo di idrogeno.Ma alla fine raggiungerai il confine di Bekenstein.
Esatto, la Via Lattea.Quindi ci sono solo ~ $ 10 ^ {68} $ atomi con cui lavorare, e avremmo bisogno di codificare ~ $ 10 ^ {13} $ bit per atomo.$ \ delta E_n >> \ Delta E_n $ di regola, quindi mentre si potrebbe, con infinita precisione, codificare le informazioni, non si potrebbe mai misurarle e gli stati eccitati dell'idrogeno sono notoriamente instabili.Hai scritto una bellissima risposta qui, ma come per qualsiasi discussione sul calcolo, bisogna considerare i colli di bottiglia.Immagino che ci siano 4 domande davvero fantastiche qui: CPU, memoria, larghezza di banda e display.
Esiste un [* documento Nature *] (http://dx.doi.org/10.1038/nature10872) che convalida sperimentalmente il principio di Landauer.
@WYSIWYG Grazie per il riferimento.Ora c'è un bel corpo di lavoro sperimentale che cerca di convalidare direttamente l'LP.Vedi ad esempio [qui] (http://arxiv.org/abs/1009.5287)
@WetSavannaAnimalakaRodVance Sì, mi sono imbattuto in [un altro documento] (http://dx.doi.org/10.1038/nphys1821) mentre cercavo quello sopra.Nel complesso, sembra molto interessante.
Sono curioso: qual è esattamente la differenza tra un contatore reversibile e irreversibile?Dici che quello irreversibile è quello che dimentica, ma ogni volta che facciamo clic sul contatore di uno non dimentichiamo il suo stato precedente?Oppure il fatto che possiamo anche fare clic con la stessa facilità di uno sufficiente per renderlo reversibile, perché questo ci consente di dedurre quale fosse il suo stato nel passato (cioè, la mappa degli stati passati e futuri è biiettiva sulo spazio statale)?Hai menzionato "puoi immaginare semplicemente di timbrare un semplice contatore digitale all'indietro per ottenere questo risultato", ma questa affermazione è un po 'poco chiara.
In qualche modo suggerisce che devi _usare_ un contatore all'indietro per implementarlo, non semplicemente che il fatto che tu _può_ fare clic all'indietro lo rende reversibile.Piuttosto suggerisce che o devi _includere_ un contatore all'indietro, nel qual caso non vedo come questo aiuta, o devi spuntare il contatore all'indietro invece che in avanti, il che inoltre non sembra dovrebbe fare alcuna differenza.Cosa intendi esattamente qui?
@The_Sympathizer Essenzialmente è la mappatura biiettiva che è importante qui.Con un contatore, se si conoscono gli ingressi (bit di direzione) e lo stato, è possibile dedurre in anticipo quale fosse lo stato nel ciclo di clock.Con il sommatore, ci sono molti stati precedenti che possono produrre l'addendo corrente.Certamente esistono contatori quantistici: si può impostare un sistema quantistico che visita un insieme predefinito di stati in un dato ordine attraverso un'evoluzione unitaria e reversibile.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...