Wenn wir einen "perfekt effizienten" Computer und die gesamte verfügbare Energie der Milchstraße hätten, bis zu welcher Zahl könnte er zählen?

Die Idee für diese Frage stammt von einem Beispiel in der Kryptographie, wo angeblich symmetrische 256-Bit-Schlüssel für alle Zeiten ausreichen werden (Brute-Forceing eines 256-Bit-Schlüssels ist sozusagen gleichbedeutend mit Zählen zu 2 255 , mit einer Konstante davor). Obwohl ich das nicht wirklich bezweifle, halte ich es für ein interessantes Gedankenexperiment, zu welcher Anzahl (ungefähr natürlich) ein theoretischer "perfekt effizienter" (definieren Sie dies, wie Sie wollen) Computer mit unendlicher Zeit und aller Energie (einschließlich Materie aber nicht dunkle Materie) in unserer Galaxie verfügbar zählen könnte. Zählen zu x ist definiert als das Durchlaufen eines physischen Objekts x verschiedene, vordefinierte, messbare Zustände. Leider fehlt mir der theoretische Hintergrund, um diese Berechnung selbst richtig durchzuführen, ich könnte es versuchen, aber ich hätte keine Ahnung, ob ich etwas Wesentliches verpasst habe. Ich hoffe, eine "lustige" Frage wie diese ist nicht außerhalb des Bereichs dieser Website (Sie können mich gerne an einen besseren Ort verweisen, um diese Frage zu stellen).

Alternativ: Was ist mit all der Energie im bekannten Universum?

Da die Idee für diese Frage die Schlüssellänge in der Kryptographie war, können Sie den Grover-Algorithmus in Betracht ziehen (oder nicht in Betracht ziehen).

Bearbeiten: Wie ein Kommentar andeutet, nehmen Sie vielleicht einfach die Werte für einen bekannten Prozessor, wenn es keine gute Antwort darauf gibt, was ein "perfekt effizienter Computer" ist.

Hallo Cooky - Ich habe das Gefühl, dass Ihre Frage in Physik SE geliebt / gehasst wird. Zum einen weiß ich nicht, wie man die Arbeit des "Computerzählens" misst oder ob es einen ideal effizienten Computer gibt.
Sie könnten es vielleicht so formulieren: Wie viel Energie würden die effizientesten Computer benötigen, um ... (geben Sie Ihre Aufgabe ein)
Mit klassischen Ansätzen kann man mit 3/4 der Masse/Energie der Galaxie bis 2^256 zählen. Ich würde die Mathematik für Sie wiederholen, aber es sieht so aus, als hätten Sie bereits eine Quantenantwort akzeptiert.
@CortAmmon Das sieht auch nach einer interessanten Antwort aus, bitte näher erläutern - ich für meinen Teil habe keine Ahnung, worauf Sie hinauswollen. Darüber hinaus wäre angesichts der Anforderungen des OP (Schätzungen zur Beurteilung der Solidität kryptografischer Schemata nach) eine Vielzahl unterschiedlicher Ansätze für das Problem hilfreich.
Angesichts des Kontexts Ihrer Frage sollten Sie sich auch das Bremmermann-Limit ansehen , das anscheinend in der Vergangenheit zur Bewertung der Sicherheit kryptografischer Algorithmen verwendet wurde.
@CortAmmon BTW Mine ist keine "Quanten" -Antwort, sondern eine "umkehrbare Computer" -Antwort. Ich erwähne Quantencomputing nur, weil es heutzutage als vielversprechender Kandidat für die Realisierung eines reversiblen Computers gilt. Bennett, Feynman und andere, die über diese Dinge nachgedacht haben, machten ihre Gedankenexperimente tatsächlich mit Billardkugelcomputern, bei denen kleine Kugeln elastisch voneinander abprallen, um ihre Bahnen gegenseitig zu beeinflussen und so Berechnungen ohne Energieverlust durchzuführen. Schauen Sie sich das Bennett-Papier an, das ich für eine Beschreibung zitiere.

Antworten (1)

Ein "perfekt effizienter" Computer kann viele Dinge bedeuten, aber für die Zwecke dieser Antwort nehmen wir an, dass es sich um einen reversiblen Computer handelt (der im Folgenden weiter erklärt wird).

Die theoretische untere Grenze des Energiebedarfs beim Rechnen ist die Landauer -Grenze , die besagt, dass das Vergessen einer Information einen Arbeitsaufwand in Höhe von erforderlich macht k T Protokoll 2 um den zweiten Hauptsatz der Thermodynamik zu erfüllen. Wenn der Computer reversibel ist, dh sein Zustand zu jeder Zeit kann auf seinen Zustand zu jeder anderen Zeit geschlossen werden, dann gibt es keine theoretische Untergrenze für seinen Energiebedarf. Mit Zustand meinen wir hier den computertheoretischen Zustand der CPU, nicht den physikalischen Quantenzustand (ersterer ist ein sehr kleiner Teil des letzteren; mikroskopische Gesetze sind umkehrbar, so dass theoretisch immer auf den vollen Quantenzustand zu jeder Zeit geschlossen werden kann jederzeit den vollen Quantenzustand). Ein Beispiel für eine nicht umkehrbare Berechnung ist eine, bei der Sie zwei Zahlen addieren und das Ergebnis über den Speicher schreiben, der zuvor von den Summanden belegt war. Die beiden Summanden können nicht aus dem Zustand des Computers abgeleitet werden ( dhdie Summe), nachdem die Addition stattgefunden hat. Kurz gesagt, der Grund für diese Situation ist, dass, wenn Ihre Berechnung vergisst, die Natur es nicht tut, also wenn Sie die Erinnerung löschen, dann muss diese „gelöschte“ Information irgendwie verschlüsselt im vollen Quantenzustand des Computers landen, da mikroskopische Gesetze tatsächlich umkehrbar sind. Die einzige Möglichkeit, wie ein System „mehr Informationen aufnehmen“, dh seine Vergangenheit vollständig in seinem Quantenzustand verschlüsseln kann, besteht darin, auf immer mehr Quantenzustände zuzugreifen, und das bedeutet fast immer, dass es heißer wird [siehe 1]. Irgendwann müssen Sie also Energie hinzufügen, um dies zu erreichen, und schließlich müssen Sie den Computer kühlen, damit er funktioniert. Der zweite Hauptsatz der Thermodynamik zeigt dann, dass wir, wenn wir den Computer in einem konstanten Makrozustand halten wollen, den von Landauer vorgeschriebenen Arbeitsaufwand eingeben müssen. s-Prinzip, dies zu tun [siehe ref. 2].

Kommen wir nun zu Ihrem Problem. Das Zählen kann eindeutig zu einer umkehrbaren Berechnung gemacht werden: Jeder Schritt ist umkehrbar und Sie können sich vorstellen, einfach einen einfachen digitalen Zähler rückwärts zu takten, um dies zu erreichen. Theoretisch könnten wir also einen Quantencomputer (oder einen anderen reversiblen Computer) bauen, der ohne Energiezufuhr zählt, während er zählt . Wenn man jedoch das Vergessen von Informationen zusammenzählt, muss man die Initialisierung berücksichtigen. Das heißt, Sie müssen mit initialisierten Registern beginnen, mit denen Sie zählen können. Sie starten Ihre Maschine, indem Sie sie alle auf Null initialisieren ... aber das bedeutet, dass es einen Quantenzustand jedes Registers gibt, der "vergessen" wird, wenn die Maschine initialisiert wird. Also, wenn Sie eine Erinnerung brauchen N Bits für Ihr Zählen müssen Sie sich einfallen lassen N k T Protokoll 2 Joule, um Ihren reversiblen Computer zu initialisieren. Wikipedia sagt mir, dass die Masse der Milchstraße geschätzt wird 10 12 Sonnenmassen oder ca 2 × 10 30 × 10 12 × 10 17 = 2 × 10 59 Joule. Wenn Sie Ihren Computer auf die Temperatur der kosmischen Hintergrundmikrowellenstrahlung kühlen können, oder 2.7 K , dann impliziert die Landauer-Grenze, dass Sie die Initialisierung von kaufen können 2 × 10 59 / ( 2.7 × 1.38 × 10 23 × Protokoll 2 ) 8 × 10 81 Bits. Sie können Ihren Computer unten nicht ausführen 2.7 K da es dann Energie zur künstlichen Kühlung unterhalb seiner Umgebung benötigen würde.

Das ist dann Ihre grobe Antwort: Theoretisch könnten Sie bis zur Zahl zählen:

2 8 × 10 81

mit einer reversiblen Implementierung eines Zählers bei gegebenem Energiebudget.

Eine weitere Grenze, die aus kryptografischer Sicht interessant sein könnte, ist die Bremmermann-Grenze , die begrenzt, wie schnell sich Berechnungen in ihren aufeinanderfolgenden Schritten entwickeln können.

Es sollte beachtet werden, wie schwierig es ist, die Landauer-Grenze zu erreichen. Vergisst unser Zähler auch nur ein Bit pro Zählzyklus, reduziert sich die Grenze aufs immer noch kolossale 2 × 10 ˆ 81 . Yockey [siehe Referenz 3] behauptet in den ersten Kapiteln seines Buches, dass das als Computeralgorithmus gedachte Phänomen der DNA-Replikation während der Zellteilung die effizienteste bekannte Berechnung ist und ungefähr eine Größenordnung mehr Energie verbraucht als die Landauer-Grenze. das heißt ungefähr 10 k T pro vergessenem Bit. Angesichts der Landauer-Grenze sind moderne Computer erschreckend ineffizient. 32 GB RAM, die mit 1 GByte pro Sekunde überschrieben werden und dabei 5 Watt bei 300 KB verbrauchen (dies sind die Zahlen für den Computer, auf dem diese Worte geschrieben werden), stellen ein Vergessen dar, das elf Größenordnungen verschwenderischer ist ( 5 / ( 8 × 10 9 × k × 300 Protokoll 2 ) 2 × 10 11 ) als die Landauer-Grenze.


Quellenangaben und Fußnoten:

[1]: Um Ihr Verständnis dieser Aussage zu vertiefen, versuchen Sie, die Shannon-Entropie der Spezifikation des Zustands einer Gesamtheit von auszuarbeiten und darzustellen N harmonische Quantenoszillatoren im thermodynamischen Gleichgewicht als Funktion der Temperatur (Antwort: ( e β ω β ω 1 e β ω + Protokoll ( e β ω 1 ) ) / Protokoll ( 2 ) Bits pro Oszillator, wo β ω = ω / ( k T ) ). Sie können sofort sehen, was los ist: Die Boltzmann-Wahrscheinlichkeitsverteilung ist hier proportional zu p ( n ) exp ( ( n + 1 2 ) ω k T ) und der Schwanz wird länger, als "Zugriff auf mehr Zustände". T steigt an).

[2] Eine hervorragende Übersichtsarbeit zu diesen Konzepten ist Charles Bennett, "The Thermodynamics of Computation: A Review", Int. J.Theo. Phys., 21 , Nr. 12, 1982 )

[3] „Information Theory, Evolution, and the Origin of Life“, Hubert P. Yockey Als Nicht-Biologe fühle ich mich nicht berechtigt, diesen Text zu beurteilen. Ich hatte jedoch das Gefühl, die ersten Kapitel, aus denen ich die Behauptung über die Effizienz der DNA-Replikation ableitete, gut genug verstanden zu haben, um einigermaßen von der Stichhaltigkeit der Behauptung überzeugt zu sein, aber ich fand den größten Teil des Textes nach Kapitel 2 völlig unverständlich.

Diese qualitative Erklärung, warum irreversible Berechnungen Energie kosten, war großartig. Ich war auf diese Tatsache gestoßen, hatte aber vorher keine Erklärung gesehen.
Der Vollständigkeit halber sollte angemerkt werden, dass die Grenze viel niedriger wird, wenn Sie bei jedem Schritt eine nicht umkehrbare Berechnung durchführen müssen. Wenn Sie Ihre Zahlen verwenden und davon ausgehen, dass (mindestens) ein Bit pro Schritt gelöscht wird, wird die Grenze ungefähr 8 × 10 81 2 272 Schritte.
@IlmariKaronen In der Tat. Die Landauer-Grenze liegt weit unter dem, was wir zu erreichen scheinen. Ich habe ein bisschen nach Ihrem Vorschlag hinzugefügt
@PeterCordes Danke; Die Erklärung stammt natürlich nicht ganz von mir, aber ich habe die Bennett-Rezension gelesen, die ich jetzt in der aktualisierten Antwort zitiert habe. Wenn Sie sich für dieses Zeug interessieren, ist dieses Papier eine Lektüre wert.
@Bosoneando Vielen Dank. Wie ich zu Peter Cordes sagte, wenn Sie an diesem Zeug interessiert sind, ist die Bennett-Referenz, die ich gerade der Antwort hinzugefügt habe, eine Lektüre wert.
Rod, basierend auf einem Buch oder nicht, deine Antwort ist absolut beeindruckend!
Als starker Befürworter der bemerkenswerten Effizienz biologischer Systeme bei intelligenten Berechnungen war ich auch sehr fasziniert von Ihren Bemerkungen über die Effizienz der DNA-Replikation als Form der Berechnung.
@TerryBollinger Danke Terry. Es ist in der Tat faszinierend. Es ist eine Schande, dass ich den größten Teil des Buches, das ich zitiere, nicht verstehen konnte. Es gibt natürlich Referenzen in diesem Buch, aber ich bin nicht dazu gekommen, sie zu suchen.
Da es ~ gibt 10 80 Atome im Universum, stellt sich heraus, dass der begrenzende Faktor in einem binären Computer die Anzahl der Atome wäre (vorausgesetzt, Sie können ein Bit pro Atom erhalten). Wir werden vielleicht eines Tages herausfinden, wie wir dichter als das codieren können, aber wir befinden uns immer noch im Regime mit vielen Atomen pro Bit. Es ist jedoch etwas interessant, dass diese beiden Zahlen innerhalb von 2 Größenordnungen voneinander liegen.
@ user121330 Ich denke, dass die ungefähre Gleichheit der beiden Zahlen ein Zufall ist, da ich die Gesamtenergie der Milchstraße genommen habe, nicht das beobachtbare Universum. Wie die Antwort von Jerry Schirmer hier zeigt, gibt es keine informationstheoretische Grenze für die Anzahl der Bits, die in einem Wasserstoffatom codiert werden können. Aber Sie werden schließlich die Grenze von Bekenstein erreichen.
Richtig, die Milchstraße. Also gibt es nur ~ 10 68 Atome, mit denen wir arbeiten können, und wir müssten ~ codieren 10 13 Bit pro Atom. δ E n >> Δ E n In der Regel könnte man also die Information zwar mit unendlicher Präzision kodieren, aber niemals messen, und die angeregten Zustände von Wasserstoff sind notorisch instabil. Sie haben hier eine schöne Antwort geschrieben, aber wie bei jeder Diskussion über Berechnungen muss man die Engpässe berücksichtigen. Ich denke, es gibt hier 4 wirklich gute Fragen - CPU, Speicher, Bandbreite und Anzeige.
Es gibt ein Nature- Papier , das das Landauer-Prinzip experimentell validiert.
@WYSIWYG Danke für den Hinweis. Mittlerweile gibt es eine ganze Menge experimenteller Arbeiten, die darauf abzielen, das LP direkt zu validieren. Siehe zum Beispiel hier
@WetSavannaAnimalakaRodVance Ja, ich bin auf ein anderes Papier gestoßen, als ich nach dem obigen gesucht habe. Insgesamt scheint es sehr interessant zu sein.
Ich bin neugierig: Was genau ist der Unterschied zwischen einem reversiblen und einem irreversiblen Zähler? Sie sagen, der irreversible ist einer, der vergisst, aber vergessen wir nicht jedes Mal, wenn wir den Zähler um eins nach oben klicken, seinen vorherigen Zustand? Oder ist es die Tatsache, dass wir es genauso einfach um eins herunterklicken können, um es reversibel zu machen, weil dies uns erlaubt, auf seinen Zustand in der Vergangenheit zu schließen (d.h. die Karte von vergangenen zu zukünftigen Zuständen ist bijektiv? der Zustandsraum)? Sie erwähnen "Sie können sich vorstellen, einfach einen einfachen digitalen Zähler rückwärts zu takten, um dies zu erreichen", aber diese Aussage ist etwas unklar.
Es deutet darauf hin, dass Sie irgendwie einen Rückwärtszähler verwenden müssen , um es zu implementieren, nicht nur, dass die Tatsache, dass Sie es rückwärts klicken können, es reversibel macht . Vielmehr schlägt es vor, dass Sie entweder einen Rückwärtszähler einfügen müssen, in diesem Fall sehe ich nicht, wie das hilft, oder Sie müssen den Zähler rückwärts statt vorwärts ankreuzen, was auch keinen Unterschied machen sollte. Was genau meinst du hier?
@The_Sympathizer Im Wesentlichen ist hier die bijektive Zuordnung wichtig. Wenn Sie bei einem Zähler die Eingänge (Richtungsbit) und den Zustand kennen, können Sie auf den Zustand im vorherigen Taktzyklus schließen. Beim Addierer gibt es viele frühere Zustände, die den aktuellen Summanden erzeugen können. Sicherlich gibt es Quantenzähler: Man kann ein Quantensystem aufbauen, das durch einheitliche, umkehrbare Evolution eine vorher definierte Menge von Zuständen in einer bestimmten Reihenfolge besucht.