<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IBM on kenji.blog</title><link>http://kenji.blog/de/tags/ibm/</link><description>Recent content in IBM on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>de</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/de/tags/ibm/index.xml" rel="self" type="application/rss+xml"/><item><title>Der ultimative Einstieg in die Quantenprogrammierung mit Qiskit</title><link>http://kenji.blog/de/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/qiskit-quantum-programming-intro/</guid><description>&lt;img src="http://kenji.blog/p/qiskit-quantum-programming-intro/img/eyecatch.jpg" alt="Featured image of post Der ultimative Einstieg in die Quantenprogrammierung mit Qiskit" />&lt;h2 id="1-einführung">1. Einführung
&lt;/h2>&lt;p>Moderne Computer (klassische Computer) haben unser Leben dramatisch verändert und unterstützen mit ihrer hohen Rechenleistung alle Aspekte der Gesellschaft. Es ist jedoch bekannt, dass für bestimmte, spezifische Probleme (z.B. die Primfaktorzerlegung riesiger Zahlen, die Simulation komplexer Molekularstrukturen, Optimierungsprobleme etc.) selbst die modernsten Supercomputer unserer Zeit mehr Zeit benötigen würden, als das Universum alt ist.&lt;/p>
&lt;p>Der &lt;strong>Quantencomputer (Quantum Computer)&lt;/strong> birgt das Potenzial, diese „Grenzen klassischer Computer“ zu durchbrechen. Man geht davon aus, dass er durch die Nutzung der faszinierenden Eigenschaften der Quantenmechanik (Superposition und Quantenverschränkung) als Rechenressource in der Lage ist, bestimmte Probleme drastisch zu beschleunigen.&lt;/p>
&lt;p>In diesem Artikel machen wir die ersten Schritte in die Welt der Quantenprogrammierung, indem wir das von IBM als Open Source bereitgestellte Quantencomputing-Framework &lt;strong>Qiskit&lt;/strong> verwenden. Dies ist ein sehr detaillierter Einstiegsguide, der von den physikalischen und mathematischen Grundlagen über das Schreiben von Code in Python bis hin zur Ausführung von Quantenschaltungen auf einem Simulator alles sorgfältig erklärt.&lt;/p>
&lt;hr>
&lt;h2 id="2-physikalische-und-mathematische-grundlagen-des-quantenrechnens">2. Physikalische und mathematische Grundlagen des Quantenrechnens
&lt;/h2>&lt;p>Um die Quantenprogrammierung zu verstehen, müssen Sie zunächst die grundlegenden Konzepte der Quantenmechanik begreifen. Hier erklären wir die drei wichtigen Säulen: Quantenbits, Superposition und Quantenverschränkung.&lt;/p>
&lt;h3 id="21-das-klassische-bit-und-das-quantenbit-qubit">2.1 Das klassische Bit und das Quantenbit (Qubit)
&lt;/h3>&lt;p>Die Informationseinheit klassischer Computer ist das „Bit“. Ein Bit nimmt immer genau einen von zwei Zuständen ein: entweder &lt;code>0&lt;/code> oder &lt;code>1&lt;/code>.&lt;/p>
&lt;p>Andererseits wird die kleinste Informationseinheit eines Quantencomputers als &lt;strong>Quantenbit (Qubit: Quantum bit)&lt;/strong> bezeichnet. Ein Qubit kann nicht nur die Zustände &lt;code>0&lt;/code> und &lt;code>1&lt;/code> annehmen, sondern ist auch in der Lage, &lt;strong>beide Zustände gleichzeitig beizubehalten&lt;/strong>.&lt;/p>
&lt;p>Mathematisch wird der Zustand eines Qubits $|\psi\rangle$ als Linearkombination (Superposition) der Basiszustände $|0\rangle$ und $|1\rangle$ ausgedrückt.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Hierbei sind $\alpha$ und $\beta$ komplexe Zahlen, die die Wahrscheinlichkeitsamplituden dafür darstellen, dass die Zustände $|0\rangle$ bzw. $|1\rangle$ beobachtet werden. Basierend auf den Grundprinzipien der Quantenmechanik muss die Summe der Wahrscheinlichkeiten 1 ergeben, weshalb die folgende Normierungsbedingung erfüllt sein muss:&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>Das bedeutet, wenn wir dieses Qubit „messen (beobachten)“, ist die Wahrscheinlichkeit, $|0\rangle$ zu erhalten, $|\alpha|^2$, und die Wahrscheinlichkeit, $|1\rangle$ zu erhalten, $|\beta|^2$. Der entscheidende Unterschied zum klassischen Bit besteht darin, dass der Zustand vor der Messung nur probabilistisch bestimmt ist.&lt;/p>
&lt;div class="mermaid">graph LR
A["Klassisches Bit (Classical Bit)"] --> B["Bestimmter Zustand: 0 oder 1"]
C["Quantenbit (Qubit)"] --> D["Superposition: Sowohl 0 als auch 1"]
D --> E["Zustand wird durch Messung probabilistisch bestimmt"]&lt;/div>
&lt;h3 id="22-superposition-überlagerung">2.2 Superposition (Überlagerung)
&lt;/h3>&lt;p>Wie bereits erwähnt, wird der Zustand, in dem die Zustände $|0\rangle$ und $|1\rangle$ vermischt sind, als &lt;strong>Superposition&lt;/strong> bezeichnet.&lt;/p>
&lt;p>Wenn sich beispielsweise ein einzelnes Qubit in einem Zustand der vollkommen gleichmäßigen Superposition befindet, gilt $\alpha = \frac{1}{\sqrt{2}}$ und $\beta = \frac{1}{\sqrt{2}}$.&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>Wenn dieser Zustand gemessen wird, werden $|0\rangle$ und $|1\rangle$ jeweils mit einer Wahrscheinlichkeit von 50% beobachtet.
Wenn zwei Qubits vorhanden sind, können wir eine Superposition der vier Zustände $|00\rangle, |01\rangle, |10\rangle, |11\rangle$ erstellen. Mit $n$ Qubits können wir $2^n$ Zustände gleichzeitig repräsentieren, was eine der Hauptquellen für die parallele Verarbeitungsfähigkeit von Quantencomputern darstellt.&lt;/p>
&lt;h3 id="23-quantenverschränkung-entanglement">2.3 Quantenverschränkung (Entanglement)
&lt;/h3>&lt;p>Die stärkste und mysteriöseste Eigenschaft im Quantencomputing ist die &lt;strong>Quantenverschränkung (Entanglement)&lt;/strong>. Dieses Phänomen, das Einstein als &amp;ldquo;spukhafte Fernwirkung&amp;rdquo; bezeichnete, beschreibt die Eigenschaft, dass zwei oder mehr Qubits so stark miteinander verbunden sind, dass die Bestimmung des Zustands des einen Qubits sofort auch den Zustand des anderen bestimmt, ganz gleich, wie weit sie physisch voneinander entfernt sind.&lt;/p>
&lt;p>Einer der bekanntesten verschränkten Quantenzustände, der „Bell-Zustand (Bell State)“, der $\Phi^+$-Zustand, wird wie folgt ausgedrückt:&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>In diesem Zustand existieren die Zustände $|01\rangle$ und $|10\rangle$ nicht. Wenn wir also das erste Qubit messen und es sich im Zustand $|0\rangle$ befindet, ist es sicher, dass das zweite Qubit sich ebenfalls im Zustand $|0\rangle$ befindet, noch bevor wir es gemessen haben. Umgekehrt, wenn das erste Qubit $|1\rangle$ ist, wird das zweite definitiv auch $|1\rangle$ sein.&lt;/p>
&lt;hr>
&lt;h2 id="3-quantenlogikgatter-quantum-logic-gates">3. Quantenlogikgatter (Quantum Logic Gates)
&lt;/h2>&lt;p>So wie klassische Computer Logikgatter wie AND, OR und NOT verwenden, um Berechnungen durchzuführen, verwenden Quantencomputer &lt;strong>Quantengatter&lt;/strong>, um den Zustand von Qubits zu manipulieren. Da ein Quantenzustand ein Vektor ist, wird ein Quantengatter als &amp;ldquo;unitäre Matrix&amp;rdquo; ausgedrückt, die auf diesen Vektor wirkt.&lt;/p>
&lt;h3 id="31-pauli-gatter-pauli-x-y-z">3.1 Pauli-Gatter (Pauli-X, Y, Z)
&lt;/h3>&lt;p>Pauli-Gatter sind grundlegende Operationen für ein einzelnes Qubit.&lt;/p>
&lt;p>&lt;strong>・Pauli-X Gatter (NOT-Gatter)&lt;/strong>
Es entspricht dem klassischen NOT-Gatter. Es invertiert $|0\rangle$ zu $|1\rangle$ und $|1\rangle$ zu $|0\rangle$. (Eine 180-Grad-Drehung um die X-Achse auf der Bloch-Kugel)&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Pauli-Y Gatter&lt;/strong>
Führt eine 180-Grad-Drehung um die Y-Achse aus. Es hat den Effekt, sowohl die Phase als auch das Bit zu invertieren.&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Pauli-Z Gatter (Phaseninversionsgatter)&lt;/strong>
Es belässt den Zustand von $|0\rangle$ unverändert und invertiert die Phase (multipliziert mit $-1$) des Zustands $|1\rangle$. (Eine 180-Grad-Drehung um die Z-Achse)&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-hadamard-gatter-hadamard-gate">3.2 Hadamard-Gatter (Hadamard Gate)
&lt;/h3>&lt;p>Das Hadamard-Gatter (H-Gatter) ist ein sehr wichtiges Gatter, das einen bestimmten Zustand ($|0\rangle$ oder $|1\rangle$) in einen Superpositionszustand überführt.&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>Die Anwendung des H-Gatters auf $|0\rangle$ führt zu $|+\rangle$, was einem gleichmäßigen Superpositionszustand entspricht.&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-phasengatter-phase-gates">3.3 Phasengatter (Phase Gates)
&lt;/h3>&lt;p>Phasengatter sind eine Verallgemeinerung des Z-Gatters; sie rotieren die Phase des Zustands $|1\rangle$ um einen angegebenen Winkel $\theta$.&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>Typische Beispiele sind das S-Gatter ($\theta = \pi/2$) und das T-Gatter ($\theta = \pi/4$).&lt;/p>
&lt;h3 id="34-cnot-gatter-controlled-not-gate">3.4 CNOT-Gatter (Controlled-NOT Gate)
&lt;/h3>&lt;p>Das CNOT-Gatter (CX-Gatter) führt Operationen zwischen zwei Qubits durch und ist unerlässlich für die Erzeugung von Quantenverschränkung. Es besteht aus einem &amp;ldquo;Kontroll-Bit (Control)&amp;rdquo; und einem &amp;ldquo;Ziel-Bit (Target)&amp;rdquo;.&lt;/p>
&lt;p>Nur wenn das Kontrollbit $|1\rangle$ ist, wird das X-Gatter (NOT-Operation) auf das Zielbit angewendet; wenn das Kontrollbit $|0\rangle$ ist, passiert nichts.&lt;/p>
$$
CNOT = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 \\
0 &amp; 1 &amp; 0 &amp; 0 \\
0 &amp; 0 &amp; 0 &amp; 1 \\
0 &amp; 0 &amp; 1 &amp; 0
\end{pmatrix}
$$
&lt;hr>
&lt;h2 id="4-grundlagen-und-umgebungseinrichtung-von-qiskit">4. Grundlagen und Umgebungseinrichtung von Qiskit
&lt;/h2>&lt;p>Von hier an werden wir Quantenprogramme mithilfe von Python und Qiskit schreiben.&lt;/p>
&lt;h3 id="41-was-ist-qiskit">4.1 Was ist Qiskit?
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> ist ein Open-Source Software Development Kit (SDK) für Quantencomputing, das von IBM Quantum entwickelt wurde. Es ermöglicht die intuitive Erstellung von Quantenschaltungen in Python und deren Ausführung auf lokalen Simulatoren oder über die Cloud auf echten Quantencomputern von IBM.&lt;/p>
&lt;h3 id="42-installationsmethode">4.2 Installationsmethode
&lt;/h3>&lt;p>Um Qiskit zu verwenden, ist eine Python-Umgebung erforderlich. Installieren Sie Qiskit und die zugehörigen Pakete (Simulator und Zeichnungsbibliotheken) mit dem folgenden Befehl:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="43-grundlegender-ablauf-der-programmierung">4.3 Grundlegender Ablauf der Programmierung
&lt;/h3>&lt;p>Die Quantenprogrammierung mit Qiskit erfolgt hauptsächlich in den folgenden Schritten:&lt;/p>
&lt;div class="mermaid">graph TD
A["1. Schaltungsaufbau (Build)"] --> B["2. Kompilieren/Transpilieren (Compile)"]
B --> C["3. Ausführung (Execute)"]
C --> D["4. Analyse und Visualisierung der Ergebnisse (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>Schaltungsaufbau&lt;/strong>: Erstellen eines &lt;code>QuantumCircuit&lt;/code>-Objekts und Hinzufügen von Gattern.&lt;/li>
&lt;li>&lt;strong>Kompilieren&lt;/strong>: Optimierung der Schaltung für das ausführende Backend (echte Maschine oder Simulator).&lt;/li>
&lt;li>&lt;strong>Ausführung&lt;/strong>: Senden von Jobs an das Backend und Abrufen der Ergebnisse.&lt;/li>
&lt;li>&lt;strong>Analyse&lt;/strong>: Zeichnen von Histogrammen der Messergebnisse usw.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-praxis-aufbau-einer-schaltung-zur-erzeugung-eines-bell-zustands-quantenverschränkung">5. Praxis: Aufbau einer Schaltung zur Erzeugung eines Bell-Zustands (Quantenverschränkung)
&lt;/h2>&lt;p>Lassen Sie uns die &amp;ldquo;Quantenverschränkung (den Bell-Zustand)&amp;rdquo;, die wir in der Theorie gelernt haben, nun tatsächlich mit Qiskit erzeugen. Unser Zielzustand ist $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$.&lt;/p>
&lt;h3 id="51-schaltungsentwurf">5.1 Schaltungsentwurf
&lt;/h3>&lt;p>Um einen Bell-Zustand zu erzeugen, gehen wir wie folgt vor:&lt;/p>
&lt;ol>
&lt;li>Bereiten Sie zwei Qubits vor (beide haben als Anfangszustand $|0\rangle$).&lt;/li>
&lt;li>Wenden Sie das Hadamard-Gatter (H) auf das erste Qubit an, um es in einen Superpositionszustand zu versetzen.&lt;/li>
&lt;li>Wenden Sie das CNOT-Gatter an, wobei das erste Qubit das &amp;ldquo;Kontrollbit&amp;rdquo; und das zweite das &amp;ldquo;Zielbit&amp;rdquo; ist.&lt;/li>
&lt;li>Führen Sie eine Messung (Measure) durch, um die Ergebnisse auszulesen.&lt;/li>
&lt;/ol>
&lt;h3 id="52-pythonqiskit-code-implementierung">5.2 Python/Qiskit Code-Implementierung
&lt;/h3>&lt;p>Schauen wir uns nun den tatsächlichen Code an.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Initialisierung der Schaltung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Erstellen einer Quantenschaltung mit 2 Quantenbits und 2 klassischen Bits&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Anwendung des H-Gates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Hadamard-Gate auf das Quantenbit 0 (q0) anwenden&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Anwendung des CNOT-Gates&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># CNOT anwenden mit q0 als Steuerbit und q1 als Zielbit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cx&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. Messung&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Quantenbits 0 und 1 messen und in die klassischen Bits 0 und 1 schreiben&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Schaltungsdiagramm zeichnen (mit matplotlib)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># qc.draw(&amp;#39;mpl&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">draw&lt;/span>&lt;span class="p">())&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Wenn Sie diesen Code ausführen, wird in der Konsole als ASCII-Art das folgende Quantenschaltungsdiagramm angezeigt:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───┐ ┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_0: ┤ H ├──■──┤M├───
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘┌─┴─┐└╥┘┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_1: ─────┤ X ├─╫─┤M├
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘ ║ └╥┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">c: 2/═══════════╩══╩═
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>H&lt;/code> stellt das Hadamard-Gatter dar, die Kombination aus &lt;code>■&lt;/code> und &lt;code>X&lt;/code> ist das CNOT-Gatter, und &lt;code>M&lt;/code> repräsentiert die Messung.&lt;/p>
&lt;h3 id="53-ausführung-auf-dem-simulator-und-interpretation-der-ergebnisse">5.3 Ausführung auf dem Simulator und Interpretation der Ergebnisse
&lt;/h3>&lt;p>Als Nächstes führen wir diese Schaltung auf IBMs Hochleistungs-Simulator &lt;code>Aer&lt;/code> aus und überprüfen die Ergebnisse.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Das Backend des Aer-Simulators abrufen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">simulator&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Aer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_backend&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;qasm_simulator&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Schaltung für den Simulator transpilieren (optimieren)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Schaltung ausführen (hier 1000 Shots ausführen)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Ergebnisse abrufen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Anzahl der Beobachtungen der Zustände (Counts) abrufen&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Messergebnis:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Histogramm plotten&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plot_histogram(counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plt.show()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Interpretation der Ergebnisse&lt;/strong>&lt;/p>
&lt;p>Die Konsolenausgabe sollte in etwa wie folgt aussehen:
&lt;code>Messergebnis: {'00': 495, '11': 505}&lt;/code>
(*Da die Wahrscheinlichkeiten zufällig sind, schwanken die genauen Werte bei jeder Ausführung leicht)&lt;/p>
&lt;p>In einer idealen Simulationsumgebung werden als Messergebnisse zu etwa 50% &lt;code>00&lt;/code> und zu 50% &lt;code>11&lt;/code> beobachtet, und &lt;code>01&lt;/code> oder &lt;code>10&lt;/code> werden gar nicht beobachtet.
Dies stimmt exakt mit der theoretischen Vorhersage unseres generierten Bell-Zustands $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ überein. Wenn das erste Qubit 0 ist, ist das zweite notwendigerweise 0; wenn es 1 ist, ist das zweite notwendigerweise 1. Diese „Quantenverschränkung“ wurde somit exakt simuliert.&lt;/p>
&lt;p>Wenn Sie dies jedoch auf einer echten Quantencomputer-Hardware (IBM Quantum Hardware) ausführen, können aufgrund der Auswirkungen von Rauschen (Quantendekohärenz und Gatterfehler) geringfügig Zustände wie &lt;code>01&lt;/code> und &lt;code>10&lt;/code> beobachtet werden. Wie dieses Rauschen minimiert werden kann (Quantenfehlerkorrektur), ist eine der größten Herausforderungen in der aktuellen Entwicklung von Quantencomputern.&lt;/p>
&lt;hr>
&lt;h2 id="6-hochskalierung-zu-fortgeschritteneren-algorithmen">6. Hochskalierung zu fortgeschritteneren Algorithmen
&lt;/h2>&lt;p>Die Erzeugung eines Bell-Zustands kann man als das „Hello World“ der Quantenprogrammierung bezeichnen. Indem wir darauf aufbauen, können wir leistungsstarke Algorithmen konstruieren, die klassische Computer übertreffen.&lt;/p>
&lt;h3 id="61-der-deutsch-jozsa-algorithmus-deutsch-jozsa-algorithm">6.1 Der Deutsch-Jozsa-Algorithmus (Deutsch-Jozsa Algorithm)
&lt;/h3>&lt;p>Bei diesem Problem geht es darum zu bestimmen, ob eine gegebene Funktion $f(x)$ eine „konstante Funktion“ (sie gibt immer 0 oder immer 1 aus, unabhängig von der Eingabe) oder eine „balancierte Funktion“ (sie gibt für die Hälfte der Eingaben 0 und für die andere Hälfte 1 aus) ist.
Ein klassischer Computer würde im ungünstigsten Fall $2^{n-1} + 1$ Funktionsauswertungen erfordern, aber der Deutsch-Jozsa-Algorithmus kann mithilfe der Quantenparallelität diese Bestimmung mit &lt;strong>nur einer einzigen Auswertung&lt;/strong> vornehmen. Dies veranschaulicht das Grundmuster von Quantenalgorithmen: Einen Superpositionszustand als Eingabe bereitzustellen und Interferenz (Interference) zu nutzen, um unerwünschte Zustände auszulöschen und die gewünschte Antwort zu verstärken.&lt;/p>
&lt;h3 id="62-der-grover-algorithmus-grovers-algorithm">6.2 Der Grover-Algorithmus (Grover&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Bei Suchproblemen, in denen eine unsortierte Datenbank mit $N$ Elementen nach spezifischen Daten durchsucht wird, benötigt ein klassischer Algorithmus im Durchschnitt $N/2$ Rechenschritte. Der Grover-Algorithmus hingegen kann die Zieldaten in nur $\sqrt{N}$ Schritten finden.
Dieser Algorithmus verwendet eine Blackbox, die als „Orakel (Oracle)“ bezeichnet wird, um die Phase der Ziellösung zu invertieren, und führt dann eine „Amplitudenverstärkung (Amplitude Amplification)“ durch, um die Wahrscheinlichkeit drastisch zu erhöhen, dass die Ziellösung gemessen wird.&lt;/p>
&lt;div class="mermaid">graph TD
A["Initialisierung (Superposition aller Zustände)"] --> B["Orakel (Invertiert die Phase der richtigen Lösung)"]
B --> C["Diffusionsoperator (Amplitudenverstärkung durch Inversion um den Mittelwert)"]
C --> D{"Ausreichende Wahrscheinlichkeit erreicht?"}
D -- "No" --> B
D -- "Yes" --> E["Messung"]&lt;/div>
&lt;hr>
&lt;h2 id="7-zusammenfassung-und-zukünftiges-lernen">7. Zusammenfassung und zukünftiges Lernen
&lt;/h2>&lt;p>In diesem Artikel haben wir detailliert die Reise erläutert – angefangen bei den grundlegenden Konzepten des Quantencomputings wie Superposition und Quantenverschränkung, über die Manipulation von Quantenlogikgattern mittels Qiskit, bis hin zum tatsächlichen Aufbau, zur Simulation eines Bell-Zustands und der Interpretation der Ergebnisse.&lt;/p>
&lt;p>Da Qiskit in der zugänglichen Programmiersprache Python geschrieben werden kann, ist es ein leistungsstarkes Werkzeug, das es Ihnen ermöglicht, mathematische und physikalische Barrieren zu überwinden und sich auf die Konstruktion von Algorithmen zu konzentrieren. Quantencomputer befinden sich derzeit in der Ära rauschanfälliger Quantengeräte mittlerer Größe (NISQ: Noisy Intermediate-Scale Quantum), aber angewandte Forschungen in vielen Bereichen wie maschinelles Quantenlernen (Quantum Machine Learning), chemische Simulationen (Quantum Chemistry) und Kryptanalyse schreiten weltweit rasant voran.&lt;/p>
&lt;p>Nutzen Sie diese Gelegenheit, um verschiedene Quantenschaltungen mit Qiskit selbst zu erstellen und auf realen IBM Quantum-Prozessoren auszuführen. Sie sollten in der Lage sein, das Computer-Paradigma der Zukunft aus erster Hand zu erleben.&lt;/p>
&lt;h3 id="referenzen">Referenzen
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Offizielle Qiskit-Dokumentation&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiskit.org/textbook/ja/preface.html" target="_blank" rel="noopener"
>Qiskit Textbook&lt;/a> - Das empfohlene offizielle Lehrbuch für alle, die tiefer in die mathematischen Hintergründe und Algorithmen eintauchen möchten&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>Willkommen in der Quantenwelt!&lt;/p></description></item><item><title>Was ist Quantenüberlegenheit? Neueste Trends von Google und IBM</title><link>http://kenji.blog/de/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/de/p/what-is-quantum-supremacy-google-ibm/</guid><description>&lt;img src="http://kenji.blog/p/what-is-quantum-supremacy-google-ibm/img/eyecatch.jpg" alt="Featured image of post Was ist Quantenüberlegenheit? Neueste Trends von Google und IBM" />&lt;h2 id="1-einleitung-die-morgendämmerung-des-quantencomputings-und-die-quantenüberlegenheit">1. Einleitung: Die Morgendämmerung des Quantencomputings und die &amp;ldquo;Quantenüberlegenheit&amp;rdquo;
&lt;/h2>&lt;p>Quantencomputing birgt das Potenzial, komplexe Probleme in realistischer Zeit zu lösen, die für klassische Computer (die PCs und Supercomputer, die wir derzeit täglich nutzen) unlösbar sind, indem es die Quantenmechanik, ein Grundprinzip der Physik, auf die Informationsverarbeitung anwendet. Dieses Feld wurde lange Zeit hauptsächlich theoretisch erforscht, aber in den letzten Jahren hat sich der Wettbewerb um die praktische Anwendung durch rasante Fortschritte bei der Hardware intensiviert.&lt;/p>
&lt;p>Eines der Schlüsselworte, das dabei die meiste Aufmerksamkeit erregt hat, ist &amp;ldquo;Quantenüberlegenheit&amp;rdquo; (Quantum Supremacy). Dies bezeichnet den Moment, in dem ein Quantencomputer bei einer bestimmten Berechnungsaufgabe eine Rechenleistung zeigt, die die eines klassischen Computers überwältigt. Dieser Artikel beginnt mit der genauen Definition der Quantenüberlegenheit, erläutert die Details des Experiments von Googles &amp;ldquo;Sycamore&amp;rdquo;-Prozessor, der 2019 bekannt gab, als Erster weltweit diesen Meilenstein erreicht zu haben, die Gegenargumente und den eigenen Ansatz von IBM daraufhin und geht schließlich technisch und mathematisch auf die &amp;ldquo;Quantenfehlerkorrektur&amp;rdquo; (Quantum Error Correction: QEC) und das &amp;ldquo;fehlertolerante Quantencomputing&amp;rdquo; (Fault-Tolerant Quantum Computing: FTQC) ein, welche die größten Hürden für eine echte praktische Anwendung darstellen.&lt;/p>
&lt;hr>
&lt;h2 id="2-theoretischer-hintergrund-grundlagen-der-quantenberechnung-und-komplexitätsklassen">2. Theoretischer Hintergrund: Grundlagen der Quantenberechnung und Komplexitätsklassen
&lt;/h2>&lt;p>Um die Quantenüberlegenheit zu verstehen, muss man zunächst die mathematischen Grundlagen der Quantenberechnung und ihre Stellung in der rechnerischen Komplexitätstheorie verstehen.&lt;/p>
&lt;h3 id="qubits-und-superposition">Qubits und Superposition
&lt;/h3>&lt;p>Während die kleinste Informationseinheit in einem klassischen Computer das Bit (0 oder 1) ist, verwenden Quantencomputer Quantenbits (Qubits). Der Zustand $|\psi\rangle$ eines Qubits wird als komplexe Linearkombination der Basiszustände $|0\rangle$ und $|1\rangle$ dargestellt.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Hierbei sind $\alpha, \beta \in \mathbb{C}$ und erfüllen die Normierungsbedingung $|\alpha|^2 + |\beta|^2 = 1$. Diese Eigenschaft wird als &amp;ldquo;Superposition&amp;rdquo; (Überlagerung) bezeichnet.&lt;/p>
&lt;h3 id="verschränkung-entanglement-und-tensorprodukt">Verschränkung (Entanglement) und Tensorprodukt
&lt;/h3>&lt;p>Wenn mehrere Qubits vorhanden sind, wird der Zustand des gesamten Systems durch das Tensorprodukt der Zustandsräume der einzelnen Qubits dargestellt. Ein System aus $n$ Qubits ist ein Vektor im $2^n$-dimensionalen Hilbertraum $\mathcal{H}^{\otimes n}$.&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>Hierbei ist $\sum |c_x|^2 = 1$. Der Zustand, in dem Qubits nicht unabhängig sind, sondern der Zustand des einen von dem des anderen abhängt, wird als &amp;ldquo;Quantenverschränkung&amp;rdquo; (Quantum Entanglement) bezeichnet. Dadurch hat ein Quantencomputer das Potenzial, einen exponentiell großen Zustandsraum gleichzeitig zu verarbeiten.&lt;/p>
&lt;h3 id="komplexitätstheoretische-definition-der-quantenüberlegenheit">Komplexitätstheoretische Definition der Quantenüberlegenheit
&lt;/h3>&lt;p>In der rechnerischen Komplexitätstheorie wird die Klasse der Probleme, die von einem klassischen Computer effizient (in polynomieller Zeit) gelöst werden können, als &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time) bezeichnet. Andererseits ist die Klasse der Probleme, die von einem Quantencomputer effizient gelöst werden können, &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time).&lt;/p>
&lt;p>Der Nachweis der Quantenüberlegenheit bedeutet, &amp;ldquo;eine spezifische Aufgabe, die in BQP, aber nicht in BPP enthalten ist (oder bei der die Wahrscheinlichkeit dafür extrem hoch ist), auf tatsächlicher Quantenhardware auszuführen und klassische Supercomputer in Bezug auf Zeit und Ressourcen bei der Simulation zu übertreffen&amp;rdquo;. Man kann dies als historischen Versuch bezeichnen, die erweiterte Church-Turing-These (&amp;ldquo;Jedes physikalisch realisierbare Berechnungsmodell kann durch eine probabilistische Turingmaschine in polynomieller Zeit simuliert werden&amp;rdquo;) durch physikalische Experimente zu widerlegen.&lt;/p>
&lt;hr>
&lt;h2 id="3-2019-demonstration-der-quantenüberlegenheit-durch-google">3. 2019: Demonstration der Quantenüberlegenheit durch Google
&lt;/h2>&lt;p>Im Oktober 2019 gab das Google Quantum AI-Team in der Fachzeitschrift &amp;ldquo;Nature&amp;rdquo; bekannt, dass sie mit dem 53-Qubit-Supraleiter-Prozessor &amp;ldquo;Sycamore&amp;rdquo; die Quantenüberlegenheit erreicht hätten.&lt;/p>
&lt;h3 id="architektur-des-sycamore-prozessors">Architektur des Sycamore-Prozessors
&lt;/h3>&lt;p>Der Sycamore-Prozessor besteht aus 54 supraleitenden Transmon-Qubits, die in einem zweidimensionalen Gitter angeordnet sind (im Experiment wurden 53 verwendet, da eines defekt war). Zwischen benachbarten Qubits sind variable Koppler (Tunable Couplers) angeordnet, um schnelle und hochpräzise 2-Qubit-Gatter (einen Hybrid aus iSWAP-Gatter und kontrolliertem Z-Gatter) zu realisieren.&lt;/p>
&lt;div class="mermaid">graph TD
A["Quantenalgorithmus-Eingabe"] --> B["Sycamore-Prozessor (53 Qubits)"]
B --> C["Zufällige Quantengatter anwenden"]
C --> D["Quantenzustände messen (Bitstrings)"]
D --> E["Kreuzentropie-Benchmarking (XEB)"]
E --> F["Quantenüberlegenheit verifizieren"]&lt;/div>
&lt;h3 id="zufälliges-quantenschaltkreis-sampling-random-circuit-sampling-rcs">Zufälliges Quantenschaltkreis-Sampling (Random Circuit Sampling: RCS)
&lt;/h3>&lt;p>Die von Google gewählte Aufgabe war das &amp;ldquo;zufällige Quantenschaltkreis-Sampling&amp;rdquo;. Dabei werden zufällig ausgewählte 1-Qubit-Gatter und 2-Qubit-Gatter über mehrere Zyklen (Tiefe $m$) angewendet, der Endzustand wird gemessen, und aus der resultierenden Wahrscheinlichkeitsverteilung der Bitstrings wird ein Sampling durchgeführt.&lt;/p>
&lt;p>Die Wahrscheinlichkeit eines Bitstrings $x$, der von einem idealen (rauschfreien) zufälligen Quantenschaltkreis ausgegeben wird, ist keine Gleichverteilung, sondern zeigt ein Interferenzmuster-ähnliches Muster, das als Porter-Thomas-Verteilung bezeichnet wird. Um aus dieser Verteilung mit einem klassischen Computer abzutasten, ist eine Simulation des gesamten Zustandsvektors erforderlich, und der Rechenaufwand steigt exponentiell mit der Anzahl der Qubits $n$ und der Schaltkreistiefe $m$.&lt;/p>
&lt;h3 id="bewertung-der-genauigkeit-fidelity-lineares-kreuzentropie-benchmarking-xeb">Bewertung der Genauigkeit (Fidelity): Lineares Kreuzentropie-Benchmarking (XEB)
&lt;/h3>&lt;p>Um zu beweisen, dass die experimentellen Ergebnisse nicht nur Rauschen waren, sondern tatsächlich das Ergebnis einer Quantenberechnung, verwendete Google das lineare Kreuzentropie-Benchmarking (Linear Cross-Entropy Benchmarking: XEB). Die ideale Wahrscheinlichkeit $P(x_i)$ des Schaltkreises für die im Experiment erhaltenen Bitstrings $x_i$ wird auf einem klassischen Computer berechnet, und die Genauigkeit (Fidelity) $\mathcal{F}_{\text{XEB}}$ wird mit der folgenden Formel ermittelt:&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>Wenn $\mathcal{F}_{\text{XEB}}$ 0 ist, bedeutet dies vollständiges Rauschen, bei 1 einen idealen Quantenprozessor ohne Rauschen. Der Sycamore-Prozessor erreichte bei einem Schaltkreis der Tiefe 20 ein $\mathcal{F}_{\text{XEB}} \approx 0.002$ (0,2%). Dies scheint auf den ersten Blick gering, ist aber ein statistisch signifikanter Wert über null und stellte einen erstaunlichen Erfolg dar, bei dem ein Zustandsraum von $2^{53} \approx 9 \times 10^{15}$ kontrolliert wurde.&lt;/p>
&lt;p>Die Gesamtfehlerrate wurde näherungsweise als Produkt einzelner Gatterfehler, Messfehler usw. modelliert.&lt;/p>
$$
\mathcal{F} \approx (1 - e_1)^{N_1}(1 - e_2)^{N_2} \cdots \approx \prod_{g \in 1Q} (1 - e_g) \prod_{g \in 2Q} (1 - e_g) \prod_{q} (1 - e_{RO})
$$
&lt;p>（※ $e_g$ ist der Gatterfehler, $e_{RO}$ ist der Messfehler）&lt;/p>
&lt;p>Google behauptete, dass die Simulation dieses Schaltkreises auf einem klassischen Supercomputer (Summit) etwa 10.000 Jahre dauern würde. Im Gegensatz dazu schloss Sycamore das Sampling in nur 200 Sekunden ab.&lt;/p>
&lt;hr>
&lt;h2 id="4-gegenargument-von-ibm-von-der-überlegenheit-zur-nützlichkeit-utility">4. Gegenargument von IBM: Von der &amp;ldquo;Überlegenheit&amp;rdquo; zur &amp;ldquo;Nützlichkeit&amp;rdquo; (Utility)
&lt;/h2>&lt;p>Die Ankündigung von Google schockierte die Welt, aber IBM, Entwickler des weltweit größten Supercomputers &amp;ldquo;Summit&amp;rdquo; und selbst treibende Kraft in der Quantencomputerentwicklung, veröffentlichte umgehend ein Paper, das dieser Behauptung widersprach.&lt;/p>
&lt;h3 id="verbesserung-der-klassischen-simulation-durch-tensornetzwerk-kontraktion">Verbesserung der klassischen Simulation durch Tensornetzwerk-Kontraktion
&lt;/h3>&lt;p>Der Kern von IBMs Gegenargument war, dass &amp;ldquo;die Algorithmen und die Ressourcenoptimierung auf Seiten des klassischen Computers unzureichend sind&amp;rdquo;. Google stützte seine Schätzung von 10.000 Jahren auf einen Zustandsvektor-Simulator, der die Zeitentwicklung der Schrödinger-Gleichung direkt berechnet. IBM wies jedoch darauf hin, dass die Simulationszeit durch eine Methode namens &amp;ldquo;Tensornetzwerk&amp;rdquo; (Tensor Network) drastisch verkürzt werden könnte.&lt;/p>
&lt;p>In einem Tensornetzwerk werden die Gatteroperationen des Quantenschaltkreises als Operationen auf mehrdimensionalen Arrays (Tensoren) dargestellt und die Reihenfolge der &amp;ldquo;Kontraktion&amp;rdquo; (Contraction) des Netzwerks optimiert. Wenn man zudem den riesigen Speicherplatz von Summit in Höhe von 250 PB (Hierarchisierung von Festplatte und Speicher) voll ausnutzt, so IBM, könne man den gesamten Zustandsvektor im Speicher halten und eine präzisere Simulation in nur &amp;ldquo;zweieinhalb Tagen&amp;rdquo; durchführen.&lt;/p>
&lt;h3 id="quantum-advantage-und-quantum-utility">Quantum Advantage und Quantum Utility
&lt;/h3>&lt;p>Durch diese Debatte verlagerte sich der Trend in der gesamten Branche von dem Beharren darauf, &amp;ldquo;eine künstliche Aufgabe auszuführen, die klassisch unmöglich ist (Supremacy)&amp;rdquo;, hin zum Nachweis, &amp;ldquo;bei nützlichen Problemen der realen Welt einen substanziellen Vorteil gegenüber klassischen Ansätzen zu zeigen (Quantum Advantage)&amp;rdquo; und weiter zu der Phase, in der &amp;ldquo;Quantencomputer als neues Werkzeug für wissenschaftliche Entdeckungen fungieren (Quantum Utility)&amp;rdquo;.&lt;/p>
&lt;p>IBM selbst vermeidet den Begriff &amp;ldquo;Überlegenheit&amp;rdquo; und schlägt Indikatoren wie das &amp;ldquo;Quantenvolumen&amp;rdquo; (Quantum Volume) und &amp;ldquo;CLOPS (Circuit Layer Operations Per Second)&amp;rdquo; als umfassende Leistungskennzahlen für Quantenprozessoren vor, wobei eine Entwicklung verfolgt wird, die das Gleichgewicht zwischen der Größe und der Qualität der Hardware betont.&lt;/p>
&lt;div class="mermaid">timeline
title "Die Evolution der Quantenmeilensteine"
2019 : "Google Sycamore (53Q)" : "Ankündigung der Quantenüberlegenheit"
2019 : "IBM Gegenargument" : "Simulation mit Summit Supercomputer in 2,5 Tagen"
2021 : "IBM Eagle (127Q)" : "Durchbruch der 100-Qubit-Barriere"
2022 : "IBM Osprey (433Q)" : "Fortschritte bei der Prozessorgröße"
2023 : "Google Surface Code" : "Skalierung der Fehlerkorrektur (d=3 auf d=5)"
2023 : "IBM Quantum Utility" : "Simulation eines komplexen Spinmodells auf 127Q"
2024 : "Darüber hinaus" : "Ära der logischen Qubits und Fehlerminderung"&lt;/div>
&lt;hr>
&lt;h2 id="5-die-nächste-grenze-fehlerminderung-error-mitigation-und-quantenfehlerkorrektur-qec">5. Die nächste Grenze: Fehlerminderung (Error Mitigation) und Quantenfehlerkorrektur (QEC)
&lt;/h2>&lt;p>Heutige Quantencomputer werden als &amp;ldquo;NISQ&amp;rdquo; (Noisy Intermediate-Scale Quantum) bezeichnet und sind anfällig für Rauschen (Fehler aufgrund von Wechselwirkungen mit der äußeren Umgebung oder unvollständiger Kontrolle), sodass bei langen Berechnungen die Ergebnisse im Rauschen untergehen. Ansätze zur Überwindung dieses Problems lassen sich grob in &amp;ldquo;Fehlerminderung&amp;rdquo; (Error Mitigation) und &amp;ldquo;Quantenfehlerkorrektur&amp;rdquo; (Quantum Error Correction) unterteilen.&lt;/p>
&lt;h3 id="fehlerminderung-error-mitigation">Fehlerminderung (Error Mitigation)
&lt;/h3>&lt;p>Fehlerminderung ist eine Methode, bei der die Auswirkungen von Rauschen durch klassische Nachbearbeitung aus den Erwartungswerten der Berechnungsergebnisse entfernt werden, ohne die Quantenhardware zu verändern. Im Jahr 2023 demonstrierte IBM durch die Kombination des 127-Qubit-&amp;ldquo;Eagle&amp;rdquo;-Prozessors mit Fehlerminderungstechniken wie der &amp;ldquo;Zero-Noise Extrapolation&amp;rdquo; (ZNE) eine Präzision bei der Zeitentwicklungs-Simulation komplexer Ising-Modelle, die modernste approximative Tensornetzwerk-Methoden übertraf, und bewies damit die &amp;ldquo;Quantum Utility&amp;rdquo; (Quantennützlichkeit).&lt;/p>
&lt;h3 id="quantenfehlerkorrektur-qec-und-logische-qubits">Quantenfehlerkorrektur (QEC) und logische Qubits
&lt;/h3>&lt;p>Um jedoch letztendlich beliebig komplexe Algorithmen (z. B. Shors Faktorisierungsalgorithmus oder komplexe quantenchemische Berechnungen) auszuführen, reicht Fehlerminderung allein nicht aus; eine &amp;ldquo;Quantenfehlerkorrektur&amp;rdquo; (QEC), die Fehler dynamisch erkennt und korrigiert, ist unerlässlich.&lt;/p>
&lt;p>Der Mainstream-Ansatz für QEC ist der &amp;ldquo;Oberflächencode&amp;rdquo; (Surface Code). Hierbei werden mehrere physikalische Qubits (Daten-Qubits) in einem zweidimensionalen Gitter angeordnet, und dazwischen werden Mess-Qubits (Ancilla-Qubits) platziert, um kontinuierlich Paritätsprüfungen, sogenannte &amp;ldquo;Stabilisatoren&amp;rdquo; (Stabilizers), durchzuführen.&lt;/p>
&lt;div class="mermaid">graph LR
Q1["Daten-Qubit (Data)"] --- M1["X-Stabilisator messen (Ancilla)"]
Q2["Daten-Qubit (Data)"] --- M1
Q3["Daten-Qubit (Data)"] --- M2["Z-Stabilisator messen (Ancilla)"]
Q4["Daten-Qubit (Data)"] --- M2
M1 --> EC["Fehlersyndrom-Dekodierung (Klassisch)"]
M2 --> EC
EC --> LQ["Statusaktualisierung des logischen Qubits"]&lt;/div>
&lt;h4 id="schwellenwertsatz-threshold-theorem-und-distanz-d">Schwellenwertsatz (Threshold Theorem) und Distanz $d$
&lt;/h4>&lt;p>In der Quantenfehlerkorrektur gibt es den &amp;ldquo;Schwellenwertsatz&amp;rdquo;. Wenn die Fehlerrate $p$ der physikalischen Qubits unter einem bestimmten Schwellenwert $p_{th}$ (beim Oberflächencode etwa um die 1%) liegt, kann die logische Fehlerrate $p_L$ exponentiell gesenkt werden, indem die Code-Distanz $d$ vergrößert wird (indem mehr physikalische Qubits einem logischen Qubit zugewiesen werden).&lt;/p>
&lt;p>Eine Näherungsgleichung für die logische Fehlerrate wird wie folgt dargestellt:&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>Hierbei ist $\Lambda$ eine Konstante. Solange $p &lt; p_{th}$ ist, wird $p_L$ umso kleiner, je größer $d$ wird. Wenn jedoch $p > p_{th}$ ist, sammelt sich umso mehr Rauschen an, je mehr physikalische Qubits hinzugefügt werden, und die logische Fehlerrate verschlechtert sich.&lt;/p>
&lt;h4 id="googles-meilenstein-2023-demonstration-der-fehlerreduktion-durch-vergrößerung-der-distanz">Googles Meilenstein 2023: Demonstration der Fehlerreduktion durch Vergrößerung der Distanz
&lt;/h4>&lt;p>Im Februar 2023 veröffentlichte Google ein bahnbrechendes Paper in &amp;ldquo;Nature&amp;rdquo;. Mit dem Sycamore-Prozessor der dritten Generation demonstrierten sie weltweit zum ersten Mal, dass bei einer Erweiterung der Distanz des Oberflächencodes von $d=3$ (unter Verwendung von 17 physikalischen Qubits) auf $d=5$ (unter Verwendung von 49 physikalischen Qubits) die logische Fehlerrate leicht von 3,028% auf 2,914% sank.&lt;/p>
&lt;p>Dies bedeutet den Eintritt in den Bereich $p &lt; p_{th}$ und zeigt, dass der wichtigste Proof of Concept (Prinzipnachweis) auf dem Weg zum FTQC abgeschlossen wurde: Die Leistung verbessert sich, je mehr physikalische Qubits hinzugefügt werden.&lt;/p>
&lt;hr>
&lt;h2 id="6-roadmap-und-ausblick-auf-ftqc-fehlertolerantes-quantencomputing">6. Roadmap und Ausblick auf FTQC (Fehlertolerantes Quantencomputing)
&lt;/h2>&lt;p>Google und IBM liefern sich einen harten Entwicklungswettbewerb in Richtung ihres ultimativen Ziels, dem FTQC (Fault-Tolerant Quantum Computing), wenn auch mit unterschiedlichen Architekturen und Ansätzen.&lt;/p>
&lt;h3 id="der-ansatz-von-ibm-modularisierung-und-heavy-hex-gitter">Der Ansatz von IBM: Modularisierung und Heavy-Hex-Gitter
&lt;/h3>&lt;p>IBM konzentriert sich darauf, die Prozessorgröße zu skalieren und gleichzeitig die Fehlerraten drastisch zu senken. Während sie mit &amp;ldquo;Eagle (127Q)&amp;rdquo;, &amp;ldquo;Osprey (433Q)&amp;rdquo; und &amp;ldquo;Condor (1121Q)&amp;rdquo; die Grenzen einzelner Chips ausreizen, kündigten sie eine modulare Architektur namens &amp;ldquo;Quantum System Two&amp;rdquo; an. Für die Kopplungstopologie der Qubits verwenden sie zudem ein &amp;ldquo;Heavy-Hex-Gitter&amp;rdquo;, das unnötiges Übersprechen (Crosstalk) reduziert und die Stabilität erhöht. IBMs Strategie ist ein hybrider Ansatz, der kurzfristig Nützlichkeit durch fortschrittliche Fehlerminderung anstrebt und schrittweise QEC einführt.&lt;/p>
&lt;h3 id="der-ansatz-von-google-qualitätsverbesserung-logischer-qubits">Der Ansatz von Google: Qualitätsverbesserung logischer Qubits
&lt;/h3>&lt;p>Die Strategie von Google legt weniger Wert auf eine rasante Erhöhung der Anzahl physikalischer Qubits, sondern konzentriert sich darauf, die Fehlerrate eines einzigen logischen Qubits bis zum Äußersten zu minimieren (z. B. auf $10^{-6}$). Darauf aufbauend streben sie die Etablierung von Technologien zum Transfer von Quantenzuständen zwischen Modulen (Quantum Interconnects) an, um ein groß angelegtes System zu schaffen, das Tausende bis Zehntausende physikalische Qubits parallel betreibt.&lt;/p>
&lt;p>Die fehlertolerante Implementierung von Protokollen für Nicht-Clifford-Gatter, wie etwa die Destillation magischer Zustände (Magic State Distillation), stellt ebenfalls eine große zukünftige technische Hürde dar. Es wird geschätzt, dass für die Ausführung eines praktischen Shor-Algorithmus zum Knacken einer 2048-Bit-RSA-Verschlüsselung Tausende logischer Qubits mit einer Fehlerrate von unter $10^{-8}$ erforderlich sind, was in Millionen bis zig Millionen physikalischer Qubits resultiert. Der Weg dorthin ist noch lang.&lt;/p>
&lt;hr>
&lt;h2 id="7-fazit">7. Fazit
&lt;/h2>&lt;p>Die &amp;ldquo;Quantenüberlegenheit&amp;rdquo; war ein wichtiger Meilenstein in der Geschichte des Quantencomputers, der das theoretische Potenzial von Computern physikalisch bewies. Die Demonstration von Google im Jahr 2019 und die konstruktiven Gegenargumente von IBM haben die gesamte Branche von bloßen theoretischen Beweisen in eine Ära echten Engineerings geführt, in der die tatsächliche Nützlichkeit (Utility) und schließlich das fehlertolerante Quantencomputing (FTQC) angestrebt werden.&lt;/p>
&lt;p>Wir erleben derzeit die Übergangsphase von stark verrauschten NISQ-Geräten hin zu logischen Qubit-Geräten, die mit Fehlerkorrektur ausgestattet sind. In den nächsten Jahren bis hin zu einem Jahrzehnt werden mit dieser Evolution der Quantenhardware neue Entdeckungen in den Materialwissenschaften, Revolutionen in der Medikamentenentwicklung und Durchbrüche bei Optimierungsproblemen Realität werden.&lt;/p>
&lt;p>Die künftigen Entwicklungen von Google, IBM und Forschern auf der ganzen Welt, welche die Informatik der Zukunft prägen werden, bleiben weiterhin höchst spannend.&lt;/p></description></item></channel></rss>