So... Feierabend.
Und weil mich das privat als auch beruflich alles "fesselt" will ich darauf doch noch mal etwas ausführlicher eingehen - und zwar so, dass es bei Interesse möglichst auch jeder, der mit Computertechnik überhaupt nichts am Hut hat, wage nachvollziehen/verstehen kann.
Um was es eigentlich hier geht werde ich kurz vorziehen, bevor ich mich daran mache die hoffentlich nachvollziehbaren Basics zu erläutern.
Unser User Grosch will hier postulieren, dass es zwischen einem klassischen Computer und einem "Quantencomputer" keinen bedeutenden Unterschied gäbe und folgert dies aus dem Umstand, dass es bei einem Bit (klassisch) nur ja (1) und nein (0) gibt, während das bei Qubits ebenso der Fall wäre.
Nun... ist dem auch so? Nein, dem ist nicht so.
Bei den Qubits trifft dies erst mit der Messung zu; dann - erst dann - verlieren sie ihre
Superposition und nehmen den Zustand 0 oder 1 ein. Bis zur Messung überlagern sich die Zustände und liegen in einem praktisch unendlichen Bereich und mit einer gewissen unbestimmten Wahrscheinlichkeit irgendwo dazwischen.
Das ist auch alles tausendfach experimentell und beobachtbar bestätigt:
https://www.weltderphysik.de/gebiet/tec ... engattern/
Ganz unabhängig davon ist die Quantenmechanik insgesamt ohnehin eine der am besten und experimentell häufigsten bestätigten Errungenschaften in den Naturwissenschaften. Ob die Herr Grosch widerlegen kann? Natürlich nicht...
Photonen sind Welle als auch Teilchen - bis zur Messung, dann ist es entweder dies oder jenes.
Halten wir aber seine Aussage dennoch mal fest und richten uns darauf folgend an die "Basics" der Informatik:
Grosch hat geschrieben: ↑Mi 26. Mai 2021, 18:32
Ein Bit ist immer nur ja, oder nein und das trifft auch für Quanten zu, entweder ist der Quant registrierbar oder nicht.
Wie arbeiten klassische Systeme?
Mit Bits, die wie oben schon geschrieben entweder 0 oder 1 sein können. Weil es hier nur diese zwei möglichen Ziffern (0, 1) gibt ist hier das
Dualsystem (Binärsystem) anzuwenden - anders als bei unserem üblichen Dezimalsystem, bei dem es Zehn Ziffern (0, 1, 2, ..., 9) gibt.
Diese Bits sind in klassischen Computersystemen also die kleinstmögliche Unterscheidung zwischen eben diesen zwei Möglichkeiten 0 oder 1 und werden auf Hardware-Ebene über elektrische Spannungen (keine/geringe Spannung bzw. geringer Widerstand = 0, anliegende/hohe Spannung bzw. hoher Widerstand = 1) auf den Leiterbahnen der Platinen übertragen. Bei LWL-Kabel (= Glasfaser) ist es am Ende nicht komplizierter (Licht aus = 0, Licht an = 1).
Heruntergebrochen kennt ein Computer nichts anderes als das, nämlich 0 und 1. Hier aber will ich euch erst noch etwas tiefer in das Binärsystem graben - denn freilich kann der Computer letztlich nicht nur berechnen, was 0+1 ist oder 1+1. Dabei spielen
Taktsignale sowie das implementierte Vorgehen der
ALU und weitere Dinge am Ende eine wesentliche Rolle, die ich hier aber tatsächlich außen vor lasse. Dass Potenzrechnung beherrscht wird setze ich jetzt einfach mal voraus.
Die Bits... ähh... was?
Ein einzelnes Bit hat also 2 (= 2^1 = in Worten: 2 hoch 1) mögliche Zustände, nämlich 0 oder 1.
Wie viele mögliche Zustände gibt es dann bei zwei Bits?
Richtig, es gibt 4 (= 2^2), nämlich 00, 01, 10 und 11.
Und bei drei Bits?
Natürlich 8 (= 2^3) mögliche Zustände, nämlich 000, 001, 010, 011, 100, 101, 110 und 111.
Also:
1 Bit = 2^1 = 2 mögliche Zustände
2 Bits = 2^2 = 4 mögliche Zustände
3 Bits = 2^3 = 8 mögliche Zustände
4 Bits = 2^4 = 16 mögliche Zustände
5 Bits = 2^4 = 32 mögliche Zustände
6 Bits = 2^4 = 64 mögliche Zustände
7 Bits = 2^4 = 128 mögliche Zustände
8 Bits = 2^4 = 256 mögliche Zustände
Wie schnell die möglichen Zustände anwachsen wäre hier zu entnehmen:
https://www.hbnweb.de/mathematik/langezahl.html
Soweit so gut, soweit so simpel.
Wichtig ist außerdem zu wissen, dass Binärzahlen stets von rechts(!) nach links gelesen werden. Wie wird dem Computer nun z.B. die Dezimalzahl 15 übermittelt? Natürlich als Binärzahl - die sich auch manuell ganz einfach und logisch von dieser Dezimalzahl umrechnen lässt.
Die Positionen der Bits gibt den sogenannten Stellenwert an, der dem der jeweiligen Potenz entspricht. So hat das jeweils erste Bit (ganz rechts!) den Stellenwert 1, das links danebenstehende (zweite) Bit den Stellenwert 2, dann 4, 8, 16 usw...
Die Dezimalzahl 15 lautet also binär: 1111
Warum?
Die Stellenwerte der 4 Bits sind 1, 2, 4 und 8. Alle Bits sind auf 1 gesetzt, somit jeder Stellenwert gegeben ist:
1+2+4+8 = 15.
Die Dezimalzahl 9 wäre binär entsprechend: 1001
Stellenwert: 8 | 4 | 2 | 1
Bits: 1 | 0 | 0 | 1
Die Bits mit dem Stellenwert 1 und 8 sind gesetzt - und 1+8 ergibt 9.
Hier gäbe es eine Darstellung von 1 (Dezimal) bzw. 0000 0001 (Binär) bis 255 (Dezimal) bzw. 1111 1111 (Binär):
https://www.elektronik-kompendium.de/si ... 710081.htm
8 Bits werden jeweils zu einem Byte zusammen gefasst - natürlich können somit auch deutlich größere Zahlen als 255 berechnet werden, nur erfordert das dann eben mehr Bytes. Auch jedes Zeichen, das wir mit unserer Tastatur hier "schreiben" und ins Forum posten, belegt genau ein Byte Speicherplatz - liegt also als 8 Nullen und Einsen vor, die entsprechend zu einem Zeichen codiert werden.
Wen es interessiert: Auch manuelle Additionen (z.B.) lassen sich so mit Blatt und Papier regluär samt der Übertrag-Regel einfach im Dualzahlensystem anwenden.
Probiert es aus... mit z.B. 15 (0000 1111) plus 9 (0000 10001). Herauskommt dann folgerichtig 0001 1000, also 24.
Ja... und nun? Was macht das Computer-Ding jetzt mit diesen Bits?
Hier kommt dann die Sichtweise unseres Users Grosch ins Spiel. Denn ob ein Bit nun 0 oder 1 ist, ist terminiert - liegt also fest unabhängig davon, ob es erfasst wird oder nicht. Entweder liegt Spannung an, oder es liegt keine an. Und auch, wenn heutige Computersysteme milliarden Rechenoperationen pro Sekunde durchführen können ändert es nichts daran, dass sie prinzipiell alle einzeln nach dem anderen abgearbeitet werden. Dass gewisse(!) Operationen durchaus bis zu einem gewissen Grad parallelisiert werden können, indem mehrere Rechenkerne jeweils eigene Operationen durchführen, ändert daran auch nichts.
Die Signale (Bits in Form von Spannung, siehe oben) werden abgearbeitet und stehen vom Signalgeber (= Quelle/Ursprung) weg fest, unveränderlich. Im Gegenteil würden Manipulationen/Veränderungen unweigerlich zu Übertragungsfehlern und damit zu Rechenfehlern führen.
Mit diesen Bits rechnen unsere Computer also gemütlich vor sich hin, die durch elektronische Schalter (Transistoren) gejagt werden. Je nachdem, wie diese Transistoren angeordnet und kombiniert sind, können damit unterschiedliche Rechenoperationen ausgeführt, z.B. zwei Zahleneinheiten addiert werden. Eine ganz bestimmte Anordnung solcher Transistoren, die eben für eine konkrete Rechenoperation gedacht sind werden in der Informatik als
Logikgatter bezeichnet.
Zum Beispiel AND -> Wenn A, B, C, UND D zutreffend ist, dann mache jenes.
Oder OR -> Wenn A, B ODER C zutreffend ist, dann mache jenes.
Dann gibt es noch weitere als auch die jeweiligen Negationen (z.R. NAND -> Wenn X und Y NICHT zutreffend ist, dann...).
Transistoren in unseren heutigen Systemen zuhause sind mittlerweile extrem klein, die kleinsten sind kleiner als 10 Nanometer. Zum Vergleich: Ein Blatt Papier ist über 100.000 Nanometer dick - gar unsere roten Blutkörperchen sind etwa 100 mal kleiner als ein Transistor.
Nichts desto trotz: Um eine stets sequenzielle Verarbeitung mit den Bits kommt man mit einem klassischen Computer nicht drum herum.
Bei Quantencomputern ist das aber eben gänzlichst anders:
Hier liegt bis zur Messung eines Qubits (sozusagen das "Äquivalent" zum klassischen Bit) und damit bis zum Endergebnis der Zustand eben nicht(!) fest. Sie können bis dahin gewissermaßen beliebige Zwischenzustände - sogenannte Superpositionszustände (siehe oben) - einnehmen.
Ein Qubit kann bei einer Messung natürlich, ebenso wie ein Bit eine Eins oder eine Null repräsentieren. Um den Vorteil eines Quantencomputers also in "ihrem Sinne" effektiv nutzen zu können, muss man auf die Superposition als auch die Verschränkung mehrerer Qubits setzen - um so mehr, um so besser.
Wie schon bei den vier klassischen Bits weiter oben (15 -> 1111) können auch mit vier Qubits die einzelnen Zahlen von 0 bis 15 dargestellt werden. Damit wäre prinzipiell der klassische Computer umgesetzt. Die enorme Rechenleistung steckt jedoch darin, dass sich das Qubit auch in einem Superpositionszustand befinden kann, in dem es mit einer gewissen Wahrscheinlichkeit eine Eins und mit einer gewissen Wahrscheinlichkeit eine Null zeigt.
Mit dem Superpositionszustand können entsprechend mit vier Qubits simultan(!) alle Zahlen von 0 bis 15 auf einmal dargestellt - also berechnet - werden. In jedem Rechenvorgang wird dann das Ergebnis für alle diese Zahlen gleichzeitig berechnet.
Während also beim klassischen Computer die Berechnung für jede einzelne Zahl einzeln nacheinander durchgeführt werden muss, kann man beim Quantencomputer mit nur vier Qubits schon eine Berechnung für alle Zahlen von 0 bis 15 gleichzeitig(!) durchführen.
Werden nicht nur vier Qubits verwendet, sondern 20, können bereits üer eine Million Zahlen gleichzeitig berechnet werden. Das Ergebnis einer solchen Berechnung ist dann eine einzelne Zahl, hervorgagangen aus den vielen "gleichzeitigen Berechnungen" und mit der höchsten Wahrscheinlichkeit richtig.
In der Praxis sieht das dann in etwa so aus, dass z.B. 4 verschränkte und in Superposition gehaltene Qubits - die somit alle Zahlen von 0-15 parallel enthalten - durch sogenannte "Quantenalgorithmen" laufen, wodurch die Wahrscheinlichkeiten der Superpositionszustände einzelner Qubits gezielt verändert werden. Damit wird der Zustand, welcher die richtige Lösung repräsentiert, immer wahrscheinlicher.
Anschließend wird das Ergebnis gemessen, die Superposition damit freilich zerstört.
Weil hier das "Wahrscheinlichkeitsprinzip" geltend ist, also mit einer sehr geringen Wahrscheinlichkeit auch falsche Lösungen auftreten, werden diese Berechnungen samt Messung am Ende etliche Male durchgeführt. Eben bis zur gewünschten statistischen Genauigkeit.
Fazit:
Davon zu sprechen, es gäbe keinen Unterschied, ist maximal albern.
Ein Quantencomputer wird Berechnungen ausführen und Antworten liefern können, von denen wir heute nur träumen und zu welchen ein klassischer Computer niemals in der Lage sein wird. Ist ja schon heute nachweislich/bestätigt der Fall, wenn auch im kleinen Rahmen - noch gibt es Schwierigkeiten, allen voran weil es nicht einfach ist, eine signifikant größere Anzahl an Qubits verschränkt zu halten.
Ebenfalls wird ein Quantencomputer vermutlich niemals einen klassischen Computer ersetzen, weil er in vielen Einsatzzwecken/Operationen eben auch weniger geeignet ist.