Connect with us

Künstliche Intelligenz

Quantencomputing: Ein Paradigmenwechsel für die Softwareentwicklung


Quantencomputing stellt einen grundlegenden Wandel in der Informationsverarbeitung dar. Es geht über die binäre Logik hinaus, die über Jahrzehnte hinweg das Rechnen mit Computern geprägt hat. Während klassische Rechner mit Bits arbeiten, die sich eindeutig im Zustand 0 oder 1 befinden, nutzen Quantencomputer die seltsamen Eigenschaften der Quantenmechanik. Sie verarbeiten Quantenbits (Qubits), die sich gleichzeitig in mehreren Zuständen befinden können.


Michael Stal

Michael Stal

Prof. Dr. Michael Stal arbeitet seit 1991 bei Siemens Technology. Seine Forschungsschwerpunkte umfassen Softwarearchitekturen für große komplexe Systeme (Verteilte Systeme, Cloud Computing, IIoT), Eingebettte Systeme, und Künstliche Intelligenz.

Er berät Geschäftsbereiche in Softwarearchitekturfragen und ist für die Architekturausbildung der Senior-Software-Architekten bei Siemens verantwortlich.

Wer als Softwareentwickler Quantencomputing verstehen möchte, muss nicht nur neue Programmierparadigmen begreifen, sondern auch die zugrunde liegende Physik erfassen, die diese Art der Berechnung überhaupt ermöglicht.

Die große Hoffnung beim Quantencomputing liegt in seiner Fähigkeit, bestimmte Problemklassen exponentiell schneller zu lösen als klassische Rechner. Dazu gehören etwa das Zerlegen großer Zahlen in ihre Primfaktoren, das Durchsuchen unsortierter Datenbanken und die Simulation quantenmechanischer Systeme selbst. Quantencomputing stellt allerdings keine bloß schnellere Version klassischer Computertechnik dar. Es erfordert ganz eigene Algorithmen und völlig andere Denkweisen beim Lösen von Problemen.

Ein von mir entwickelter Quanten-Simulator in Python ist auf GitHub verfügbar. Wer eigene Skripte oder Kommandos im Simulator ausprobieren möchte, kann dies dort tun.

In der klassischen Informatik erfolgt die Informationsspeicherung in Bits. Jedes Bit repräsentiert entweder 0 oder 1. Alle klassischen Operationen lassen sich als Manipulationen dieser Binärwerte durch logische Gatter wie AND, OR und NOT verstehen. Der Zustand eines klassischen Systems mit n Bits lässt sich beschreiben, indem der Wert jedes Bits festgelegt wird – insgesamt sind dafür n Informationen notwendig.

In der Quanteninformationstheorie gelten andere Prinzipien. Ein Qubit kann sich gleichzeitig in einer Überlagerung der Zustände 0 und 1 befinden. Diese Überlagerung lässt sich mathematisch als Linearkombination der beiden Basiszustände beschreiben. Ein System mit n Qubits kann sich in einer Überlagerung aller 2n möglichen klassischen Zustände befinden. Zur vollständigen Beschreibung eines solchen Zustands sind im Allgemeinen 2n komplexe Zahlen nötig.

Diese exponentielle Skalierung verleiht Quantenrechnern ihr Potenzial, bringt aber auch große Komplexität mit sich. Im Gegensatz zu klassischen Bits lassen sich Qubits nicht beliebig kopieren – das No-Cloning-Theorem schließt dies aus. Wird ein Qubit gemessen, geht seine Überlagerung verloren. Es springt dann in einen der beiden Basiszustände 0 oder 1.

Wer Quantencomputing verstehen will, muss sich mit quantenmechanischen Phänomenen befassen, für die es in der klassischen Welt keine Entsprechungen gibt.

Überlagerung bildet das Fundament der Quantenberechnung. Ein Qubit in Überlagerung befindet sich gleichzeitig in einer Kombination aus 0 und 1 – solange keine Messung erfolgt. Dieses Prinzip lässt sich anschaulich mit Schrödingers berühmtem Gedankenexperiment vergleichen, in dem eine Katze gleichzeitig lebendig und tot ist. Allerdings bleibt diese Analogie oberflächlich – denn im Quantenbereich lässt sich Überlagerung exakt kontrollieren und gezielt manipulieren.

Mathematisch sieht ein Qubit-Zustand so aus: |ψ⟩ = α|0⟩ + β|1⟩. Dabei sind α und β komplexe Zahlen, sogenannte Wahrscheinlichkeitsamplituden. Es gilt stets |α|² + |β|² = 1. Die Notation mit senkrechten Strichen und spitzen Klammern stammt aus der Dirac-Schreibweise, die in der Quantenmechanik üblich ist. Wird das Qubit gemessen, besteht mit Wahrscheinlichkeit |α|² ein Ergebnis 0 und mit Wahrscheinlichkeit |β|² ein Ergebnis 1.

Verschränkung ist ein weiteres, rein quantenmechanisches Phänomen. Dabei treten zwei oder mehr Qubits in einen Zustand, der sich nicht mehr als Produkt einzelner Zustände beschreiben lässt. Einstein sprach in diesem Zusammenhang von „spukhafter Fernwirkung“. Doch obwohl dabei sofortige Korrelationen über große Entfernungen möglich sind, bleibt eine Kommunikation mit Überlichtgeschwindigkeit ausgeschlossen. Verschränkung bildet die Grundlage vieler Quantenalgorithmen und ist essenziell für Quanten-Fehlerkorrektur.

Sobald zwei Qubits verschränkt sind, entscheidet die Messung eines Qubits gleichzeitig über den Zustand seines Partners – unabhängig von der Entfernung. Diese Korrelation übertrifft alle klassischen Möglichkeiten und eröffnet Wege zu Berechnungen, die klassisch nicht durchführbar erscheinen.

Interferenz im Quantenbereich macht es möglich, korrekte Ergebnisse zu verstärken und falsche auszublenden. Dafür müssen Quantenalgorithmen so konstruiert sein, dass sich die Amplituden der falschen Ergebnisse gegenseitig auslöschen, während die der richtigen sich addieren. Diese Interferenz ist der zentrale Mechanismus hinter Algorithmen wie Grovers Suche.

Messung im Quantenbereich unterscheidet sich grundlegend von klassischer Beobachtung. Eine Messung bringt das System in einen der möglichen Basiszustände und zerstört alle Überlagerungen und Verschränkungen. Diese irreversible Eigenschaft zwingt dazu, Quantenalgorithmen so zu gestalten, dass sie relevante Informationen gewinnen, bevor das System kollabiert.

Die Quantenberechnung folgt meist dem Schaltbildmodell (circuit model). Quanten-Gatter manipulieren Qubits analog zu klassischen Logikgattern bei Bits. Allerdings müssen Quanten-Gatter reversibel sein – sie sind unitär, das heißt, sie erhalten die Gesamtwahrscheinlichkeit und lassen sich wieder rückgängig machen.

Die grundlegendsten Gatter für Einzelqubits heißen Pauli-X, -Y und -Z. Sie rotieren den Zustand eines Qubits um verschiedene Achsen auf der sogenannten Bloch-Kugel, einer geometrischen Darstellung von Qubit-Zuständen. Das X-Gatter entspricht einem klassischen NOT-Gatter – es tauscht |0⟩ gegen |1⟩ aus. Das Hadamard-Gatter (H) erzeugt Überlagerung. Es wandelt |0⟩ in (|0⟩ + |1⟩)/√2 und |1⟩ in (|0⟩ − |1⟩)/√2.

Zwei-Qubit-Gatter ermöglichen Verschränkung. Das wichtigste Beispiel ist das CNOT-Gatter (Controlled NOT). Es kehrt den Zustand eines Ziel-Qubits nur dann um, wenn das Steuer-Qubit im Zustand |1⟩ vorliegt. In Kombination mit Einzelqubit-Gattern lassen sich damit alle denkbaren Quantenalgorithmen zusammensetzen.

Im Gegensatz zu klassischen Schaltungen können Quanten-Schaltungen keine klassischen Schleifen enthalten. Der zeitliche Ablauf in Quantenprozessen bleibt unitär. Stattdessen nutzen viele Quantenalgorithmen Quantenparallelität – Überlagerung erlaubt das gleichzeitige Verfolgen vieler Lösungspfade.

Ein erstes Beispiel demonstriert Überlagerung und Messung mithilfe von Qiskit, einer Bibliothek von IBM, die auch das Ausführen auf echter Quantum-Computing-Hardware unterstützt:


from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister

from qiskit import execute, Aer

from qiskit.visualization import plot_histogram


qreg = QuantumRegister(1, 'q')

creg = ClassicalRegister(1, 'c')


circuit = QuantumCircuit(qreg, creg)

circuit.h(qreg[0])


circuit.measure(qreg[0], creg[0])


backend = Aer.get_backend('qasm_simulator')

job = execute(circuit, backend, shots=1000)

result = job.result()

counts = result.get_counts(circuit)

print(counts)


Dieses Beispiel illustriert das Prinzip der Überlagerung. Nach Anwendung des Hadamard-Gatters befindet sich das Qubit in einem Gleichgewichtszustand zwischen |0⟩ und |1⟩. Die Messung bei 1000 Wiederholungen ergibt statistisch etwa gleich viele Ergebnisse für 0 und 1.

Ein zweites Beispiel zeigt die Erzeugung einer Bell-Verschränkung:


qreg = QuantumRegister(2, 'q')

creg = ClassicalRegister(2, 'c')

circuit = QuantumCircuit(qreg, creg)

circuit.h(qreg[0])

circuit.cx(qreg[0], qreg[1])

circuit.measure(qreg, creg)

job = execute(circuit, backend, shots=1000)

result = job.result()

counts = result.get_counts(circuit)

print(counts)


Nach der Anwendung des Hadamard-Gatters auf das erste Qubit und der CNOT-Verknüpfung entsteht der verschränkte Zustand (|00⟩ + |11⟩)/√2. Die Messung zeigt dann ausschließlich ‘00’ und ‘11’ – nie ‘01’ oder ‘10’.

Grovers Suchalgorithmus dient als drittes Beispiel für quantenmechanische Beschleunigung. Eine vollständige Implementierung mit Erklärungen folgt im weiteren Verlauf des Artikels.

Fehlerkorrektur in Quantencomputern ist besonders anspruchsvoll, da Quanteninformation äußerst empfindlich auf Störungen reagiert. Dekohärenz, also der Verlust quantenmechanischer Eigenschaften durch Umgebungseinflüsse, verändert Qubit-Zustände. Eine einfache Kopie zur Absicherung lässt sich durch das No-Cloning-Theorem ausschließen.

Die Fehlerkorrektur gelingt durch das Einbetten logischer Qubits in mehrere physikalische Qubits. So lassen sich Fehler erkennen und beheben, ohne die eigentliche Information zu zerstören. Ein einfaches Beispiel ist der Bit-Flip-Code mit drei Qubits: |0⟩ |000⟩, |1⟩ |111⟩.

Für skalierbare Fehlerkorrektur gilt der sogenannte Surface Code als vielversprechend. Dabei befinden sich die Qubits in einem zweidimensionalen Gitter. Zusätzliche Hilfsqubits dienen zur Fehlererkennung, ohne die eigentlichen Qubits zu beeinträchtigen. Der Surface Code toleriert eine hohe Fehlerrate – solange sie unter etwa 1 % bleibt.

Allerdings entsteht dabei ein erheblicher Overhead. Für einen einzigen fehlergeschützten logischen Qubit sind hunderte bis tausende physikalische Qubits erforderlich. Diese Tatsache stellt eines der größten Hindernisse für den praktischen Einsatz von Quantencomputern dar.

Verschiedene Technologielinien konkurrieren derzeit bei der Umsetzung von Quantenhardware. Supraleitende Qubits – etwa bei IBM und Google – arbeiten bei extrem tiefen Temperaturen (ca. 10 Millikelvin) und ermöglichen sehr schnelle Gatteroperationen, sind aber nur kurz kohärent.

Ionenfallen – zum Beispiel bei IonQ oder Honeywell – verwenden elektrisch eingefangene Ionen als Qubits. Diese Systeme zeigen längere Kohärenzzeiten und höhere Genauigkeit, arbeiten jedoch langsamer. Ihre Architektur erlaubt direkte Verbindungen zwischen beliebigen Qubits.

Photonenbasierte Quantencomputer nutzen Lichtteilchen als Qubits und funktionieren bei Raumtemperatur. Allerdings sind Zweiqubit-Gatter in dieser Technologie schwieriger umzusetzen. Noch bleibt ihre Skalierung hinter anderen Ansätzen zurück.

Aus Softwareperspektive existieren mehrere Frameworks. Qiskit (IBM) bietet eine umfassende Python-Bibliothek zum Erstellen und Ausführen von Quanten-Schaltkreisen. Cirq (Google) zielt auf Googles eigene Hardware. Microsofts Q# stellt eine speziell für Quantenprogrammierung entworfene Sprache dar.

Alle Frameworks verwenden typischerweise das Schaltbildmodell (Circuit). Dort definieren Entwickler explizit die Abfolge von Quanten-Gattern. Höhere Programmiersprachen für Quantencomputer befinden sich in der Forschung, um Quantenprogrammierung künftig zugänglicher zu machen.



Source link

Weiterlesen
Kommentar schreiben

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Künstliche Intelligenz

Wie die EU digitale Zwillinge für die Gesundheitsversorgung einsetzen will


Die Europäische Kommission plant die digitale Gesundheitsversorgung der Zukunft mit virtuellen Zwillingen. Einen Einblick darüber gab Lisbet Geris, Professorin für Biomechanik und Computational Tissue Engineering an der Universität Lüttich und der KU Leuven, auf dem von der TMF organisierten GenomDE-Symposium. Geris ist Koordinatorin der von der EU geförderten Initiative „Ecosystem for Digital Twins in Healthcare“ (EDITH), innerhalb der ein Netzwerk für digitale Zwillinge (Virtual Human Twin, VHT) im Gesundheitswesen aufgebaut werden soll.

„Wenn wir über digitale Zwillinge in der Medizin und im Gesundheitswesen sprechen, verwenden wir eine viel breitere Definition“, so Geris. Anders als beispielsweise in der Industrie, wo digitale Zwillinge reale Objekte in Echtzeit abbilden, versteht man in der Medizin darunter eine personalisierte Modellierung biologischer Systeme – etwa von Zellen, Organen oder ganzen Organismen. Diese Modelle beruhen auf individuellen Patientendaten wie Genomsequenzen, Bildgebung, Krankheitsverläufen oder Vitalparametern und können beispielsweise zur Simulation von Medikamentenwirkungen oder zur Operationsplanung verwendet werden. Das soll unter anderem individuelle Diagnosen, Therapieentscheidungen und klinische Studien unterstützen.

„Wir werden nicht nur einen digitalen Zwilling haben, sondern eine Reihe eigener digitaler Zwillinge. Diese können Zwillinge von Zellen, Geweben, Organen oder eines gesamten Systems sein – aber auch Zwillinge der eingesetzten Therapie“, erklärte Geris. Die Anwendungsbereiche seien vielfältig: von der Blutzuckerregulation über die Optimierung von Inhalatoren bis hin zur digitalen Nachbildung des Herzohrs bei Patienten mit Vorhofflimmern – überall dort, wo personalisierte Vorhersagen helfen können, Therapien zu verbessern oder Risiken zu minimieren. Bereits 2018 hatte die US-amerikanische Arzneimittelbehörde FDA eine Herzschrittmacher-Elektrode von Medtronic zugelassen, die Geris zufolge nur nach Tierversuchen und virtuellen Simulationen zugelassen wurde. Das habe nicht nur Kosten, sondern auch Zeit eingespart.

Mit der Einrichtung des VHT-Programms will die EU nun die bislang stark fragmentierten Projekte bündeln. Ziel ist eine skalierbare, interoperable Infrastruktur mit einem Daten- und Modell-Repository sowie einer Simulationsplattform, die Zugang zu verteilten Datenquellen ermöglicht – etwa den Genomrechenzentren oder dem im Frühjahr in Kraft getretenen European Health Data Space, in den Daten aus der elektronischen Patientenakte, medizinischen Registern fließen sollen. Das diene der Entstehung neuer digitaler Zwillinge. Die Plattform sammle dabei nicht selbst Daten, sondern soll als föderiertes System auf existierende Datenräume zugreifen.

Ein zentrales Anliegen ist es, die Glaubwürdigkeit, Transparenz und ethische Verträglichkeit digitaler Zwillinge sicherzustellen. Dazu zählen unter anderem Datenschutz, Erklärbarkeit von KI-Modellen, der Schutz persönlicher Identität und eine frühzeitige Einbindung von Patienten. Dafür wurden umfassende Informationsmaterialien und Fokusgruppen entwickelt, um Vertrauen in die Technologie zu schaffen.

Trotz großer Fortschritte bestehen noch viele technische, regulatorische und gesellschaftliche Herausforderungen, erklärte Geris. Es fehlen verbindliche Standards, viele nationale Initiativen arbeiten parallel und nicht interoperabel, und auch rechtliche Fragen – etwa zur Haftung oder zum Einsatz synthetischer Daten – sind noch offen. Die EU hat daher gemeinsam mit Wissenschaft, Industrie, Kliniken und Patientengruppen eine Roadmap mit 30 Handlungsempfehlungen erarbeitet, die bald veröffentlicht werden soll.

Die Virtual-Human-Twin-Initiative ist Teil einer größeren europäischen Strategie, die Digitalisierung, Biomedizin und Künstliche Intelligenz enger verzahnen will. Prognosen zufolge wird der Markt für medizinische digitale Zwillinge in den kommenden Jahren stark wachsen. Die Hoffnung besteht auf eine bessere, schnellere und individuellere Medizin – von der Diagnostik bis zur Therapieplanung. Ob sich digitale Zwillinge tatsächlich als Standardwerkzeug in der Gesundheitsversorgung etablieren können, wird sich in den nächsten Jahren zeigen.


(mack)



Source link

Weiterlesen

Künstliche Intelligenz

Datenarchitektur: DuckLake vereint Katalog und Tabellenmetadaten


Mit dem Fokus auf Datenanalyse und OLAP-Workloads hat DuckDB Labs die SQL-Datenbank DuckDB als leichte und weniger komplexe Alternative zu etablierten Werkzeugen wie Apache Spark oder pandas entwickelt. Künftig sollen Lakehouse-Formate wichtiger werden, verkündete DuckDB Anfang des Jahres auf seiner Entwicklerkonferenz DuckCon. Viele Anwenderinnen und Anwender von DuckDB erwarteten daraufhin eine bessere Unterstützung für Apache Iceberg und Delta – insbesondere für das Schreiben und nicht nur Lesen.

Stattdessen kündigte DuckDB Labs mit DuckLake aber eine komplett neue Spezifikation inklusive Implementierung eines Lakehouse-Formats an – und damit eine direkte Konkurrenz zu Iceberg und Co..

  • DuckLake unterstützt die Trennung von Datenverarbeitung und -speicherung – für einfachere Skalierung.
  • Für schnelle Metadatenzugriffe per SQL-Abfrage greift DuckLake auf Datenbanken wie DuckDB oder PostgreSQL zurück.
  • DuckLake tritt mit einer einfachen, skalierbaren Architektur gegen OpenTable-Formate wie Apache Iceberg und Delta an.

Im Kern legt die Spezifikation fest, alle Metadaten eines Lakehouse in einer relationalen Datenbank und die eigentlichen Daten wie üblich in einem Blob/Object Store zu speichern. Das Speichern in der relationalen Datenbank soll sowohl Performancevorteile bieten als auch den Weg für neue Funktionen eröffnen.


Das war die Leseprobe unseres heise-Plus-Artikels „Datenarchitektur: DuckLake vereint Katalog und Tabellenmetadaten“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.



Source link

Weiterlesen

Künstliche Intelligenz

GrapheneOS veröffentlicht Android 16 im Stable-Kanal


GrapheneOS gilt als eine sichere und datensparsame Android-Version, die wegen ihrer hohen Sicherheitsanforderungen nur für Pixel-Geräte angeboten wird. Trotz herausfordernder neuer Umstände – Google hat die bisher mit AOSP ausgelieferten Device-Trees für Pixel-Geräte nicht mitgeliefert, die Custom-ROM-Entwickler für eine schnellere Kompilierung verwendeten –, ist GrapheneOS nun auf Basis von Android 16 einen Monat nach Veröffentlichung durch Google fertig.

Laut den GrapheneOS-Entwicklern entpuppte sich die Portierung auf Android 16 als schwieriger als erwartet. Um das Update zu realisieren, habe man die Android-16-Firmware und -Treiber auf Android 15 QPR2 zurückportiert.

Schließlich konnte die erste offizielle Version von Android 16 am 30. Juni veröffentlicht werden, nachdem eine experimentelle Version am Tag Probleme aufgewiesen hatte. Die Entwickler hatten sich für den Stable-Release noch ein wenig Zeit genommen, da es seitens Google kein Pixel-Update-Bulletin zu Sicherheitspatches für Juli 2025 gab. Am 10. Juli erreichte GrapheneOS auf Basis von Android 16 den Stable-Kanal.

Neuerungen sind auf den ersten Blick – wie bei Android 16 für Googles Pixel-Geräte – nicht zu erkennen. Die meisten Änderungen spielen sich unter der Haube ab. Unter anderem scheint immerhin die Live-Update-Funktion für Echtzeitinformationen für Lieferdienste und Co. an Bord zu sein.

Zudem schreibt Graphene in der Dokumentation, dass man eine recht neue Angriffstechnik, die als TapTrap bekannt ist und durch die Angreifer unbemerkt weitreichende Zugriffsrechte erhalten können, behoben habe. Google wird diese Schwachstelle erst später beheben, sagte ein Google-Sprecher dem Magazin Bleeping-Computer. Weitere Änderungen sind im Changelog zu finden.

GrapheneOS kann auf allen Pixel-Geräten installiert werden, die noch offiziellen Softwaresupport seitens Google erhalten. Das sind sämtliche Modelle ab dem Pixel 6 und neuer.

GrapheneOS kann auf zwei Wegen installiert werden. Zum einen können Nutzer das WebUSB-basierte Installationsprogramm verwenden, das Googles Android-Flash-Tool ähnelt und die einfachste Methode darstellt und für die meisten Nutzer empfohlen wird. Wer es umständlicher – oder „Old-School“ – mag, kann das Betriebssystem auch über die Befehlszeile installieren.


(afl)



Source link

Weiterlesen

Beliebt