Die Quantenprogrammiersprache Q# von Microsoft könnte Ihnen beim Erlernen der Quantenphysik helfen

Krysta Svore Microsoft Q# Quantum Computing Coding
Microsoft

Computer werden bald seltsam.

Inhalt

  • Das Mysterium greifbar machen
  • Eine Quantengemeinschaft
  • Vorbereitung für morgen

Nach Jahrzehnten als Theorie stehen die ersten Quantencomputer nun in einigen wenigen Laboren auf der ganzen Welt. Sie sind rudimentär und wohl weniger praktisch als frühe elektronische Computer wie der 50 Tonnen schwere ENIAC. Doch die Forscher machen Fortschritte. IBM, Google und Intel machen Fortschritte auf Quantenhardware, und ein praktischer Quantencomputer fühlt sich endlich wie eine Realität der nahen Zukunft an und nicht mehr wie ein Science-Fiction-Thema.

Das ist eine Chance. Es ist auch ein Problem. Die Quantenphysik ist ein seltsames Reich der Teleportation und Wahrscheinlichkeit, das nicht den uns bekannten Regeln folgt. Die meisten Menschen verstehen die Quantenmechanik nicht, und dazu gehören auch Programmierer, die Menschen, die Quantencomputer in die Praxis umsetzen müssen.

Verwandt

  • Oberflächenreparaturteile sind jetzt im Microsoft Store erhältlich
  • Microsoft Teams erhält neue KI-Tools – und sie sind kostenlos
  • Microsoft kündigt eine Designüberarbeitung der wichtigsten Windows 11-App an

Microsoft hat einen Plan, sie zu schulen.

Das Mysterium greifbar machen

Jeder Entwickler, der eine neue Programmiersprache wie C# oder Javascript erlernen möchte, möchte ihre Lektionen sofort nutzen. Doch die Tatsache, dass Quantencomputing noch in den Kinderschuhen steckt, kann dies erschweren. Das Erstellen eines Programms für viele Quantengeräte ähnelt dem Versuch, binären Maschinencode zu schreiben – nur ist es aufgrund der Quantenmechanik noch schwieriger. Dies ist nicht nur ein Bereich, der gut verstanden, aber schwer zu übersetzen ist. Es handelt sich um einen Studienbereich, in dem einige Grundlagen noch unbekannt sind.

Microsoft Quantum Q#, Codierung auf einem Computer
Matt Smith/Digitale Trends

Dazu gehört auch der Grund Warum Quantencomputer funktionieren. „Was wir im Quantencomputing haben, sind Beweise dafür, dass Quantencomputer klassische Computer übertreffen können.“ sagte Krysta Svore, Principal Research Manager in der Quantum Architectures and Computation-Gruppe von Microsoft. „Der Heilige Gral auf unserem Gebiet wäre ein tatsächlicher mathematischer Beweis dafür.“

Quantencomputing ist so neu und so anders als alles zuvor, dass selbst Spitzenforscher über wichtige und grundlegende Elemente im Dunkeln tappen.

Quantencomputing 101

Programmierern das Codieren für Quanten auf echter Hardware beizubringen, kommt vorerst nicht in Frage. Die Quantenprogrammiersprache Q# von Microsoft umgeht dieses Problem, indem sie einen einfachen Zugriff auf die Tools bietet, die für den Einstieg in die Programmierung erforderlich sind. Das bedeutet, Q# so vertraut und zugänglich wie möglich zu machen, auch wenn Wissenschaftler weiterhin Durchbrüche in den Grundlagen der Funktionsweise von Quantencomputern erzielen.

Q# ist nicht hinter einer Wand aus schrecklicher Dokumentation und schlecht erklärten Installationsprogrammen versteckt. Programmierer können über Visual Studio darauf zugreifen. die weltweit beliebteste Entwicklungsumgebung. Und Programmierer benötigen keinen Zugang zu einem Quantencomputer, um ihn zu nutzen.

Stattdessen können sie so programmieren, als würde ihr Code auf einem tatsächlichen Quantengerät laufen, ihn dann aber auf einer virtuellen Simulation ausführen. Das ist möglich, weil der Quantencomputer nicht als sein eigenes vollständiges, unabhängiges System behandelt wird. sondern als Beschleuniger, der von einem klassischen Computer aufgerufen wird, auf dem ein klassischer Computer läuft Code.

„Wir stellen uns vor, dass der Quantencomputer neben der GPU, dem FPGA und dem ASIC eine weitere Ressource in Azure sein wird. „Azure wird zu dieser gesamten Struktur, die einen Quantencomputer in ihre Rechenleistung einbezieht“, sagte Svore gegenüber Digital Trends.

Quantum Microsoft Q-Codierung Python Interop JPG 3605
Quanten-Microsoft-Q-Codierungsbeispiele Github JPG 3604
Quanten-Microsoft-Q-Codierung 3603
Quanten-Microsoft-Q-Codierung, Python-Simulation, JPG 3602

Die meisten Programmierer sind damit vertraut, speziell entwickelte Hardware für bestimmte Aufgaben zu verwenden, und die meisten sind damit vertraut, auf Ressourcen in der Cloud zurückzugreifen. Das Starten von Q# unterscheidet sich nicht von diesen bekannten Aufgaben. Quantenhardware mag exotisch und selten sein, aber die Programmierumgebung, die Microsoft für Q# anbietet, ist es Genau das, was Sie heute sehen würden, wenn Sie höchstens einem Fortune-500-Programmierer über die Schulter schauen würden Firmen. Das macht es weitaus weniger einschüchternd.

„Die ultimative Vision ist, dass der Benutzer nicht sagt: ‚Okay, jetzt muss ich diese App nehmen und sie auf diesem Teil der CPU ausführen, diesem Teil hier, diesem Teil dort‘“, sagte Svore. „Das Gleiche gilt für Quantencomputing. Wir wollen, dass der Beschleuniger nahtlos funktioniert.“

Eine Quantengemeinschaft

Programmierer können sich über eine Reihe kostenloser Tutorials, die Microsoft Quantum Katas nennt, mit Q# vertraut machen. Jede Lektion beinhaltet „eine Abfolge von Aufgaben zu einem bestimmten Quantencomputer-Thema“, die Programmierer lösen müssen. Die richtige Lösung zu finden ist das Ziel, aber der Weg ist genauso wichtig. Die Katas sind nicht dazu gedacht, in einem Durchgang gelöst zu werden. Sie unterrichten durch Versuch und Irrtum und führen Programmierer dabei in die Grundlagen der Quantenprogrammierung ein.

Q# und die Quantenkatas bringen ein transformatives Maß an Feedback in die Quantenprogrammierung

Chris Granade, ein Research Software Development Engineer bei Microsoft, konnte sich davon selbst überzeugen, als er an einer Tutorial-Sitzung der University of Technology Sydney teilnahm. „Es war wirklich erstaunlich zu sehen, wie Menschen von Nullwissen über Quantendaten zum Schreiben übergehen konnten“, sagte er gegenüber Digital Trends. „Das Umwälzende war, dass Menschen, die ein Missverständnis hatten, nicht darunter litten. Sie konnten die Katas ausführen, sie konnten sehen, dass sie die falsche Antwort bekamen, und dieses Feedback hat den Leuten wirklich geholfen, sie auf praktische Weise zu verstehen.“

Diese praktische Erfahrung verwandelt Quantencomputing sofort von einem theoretischen Konzept in eine praktische Realität, was den entscheidenden Unterschied in der Art und Weise ausmacht, wie Menschen damit umgehen. Programmierer stellen vielleicht keine physischen Objekte her, sind aber wie jeder andere Handwerker daran gewöhnt, Feedback zu erhalten. Sie erschaffen etwas und es funktioniert – oder auch nicht. Q# und die Quantum Katas bringen dieses Maß an Feedback in die Quantenprogrammierung und geben jedem Interessierten die Möglichkeit, sich zu vertiefen und zu verstehen, was Quantencomputing möglich macht.

Quanten-Computing

Die Veränderung, die Granade persönlich erlebte, vollzog sich nicht nur in Klassenzimmern. Das Quantum Development Kit, zu dem Q# gehört, kann von jedem unter einer Open-Source-Lizenz heruntergeladen werden. Interessierte Entwickler können nicht nur mit der Nutzung beginnen, sondern auch aktiv zur Community beitragen. Svore sagte gegenüber Digital Trends, dass die Zahl der QDK-Downloads bei „oberen Zehntausenden“ und Teilnehmern liegt haben bereits „eine Handvoll wesentlicher Beiträge“ hinzugefügt, darunter neue Algorithmen und Dokumentation.

Obwohl dieses Quantum Development Kit immer noch eine Nische ist, legt es die Einstiegshürde so niedrig, dass es sogar für Anfänger geeignet ist Programmierer können beginnen, mit Q# zu experimentieren und dabei zu verstehen, was Quantencomputing ausmacht Tick. Das ist nicht nur für Programmierer hilfreich, sondern für den gesamten Bereich der Quantenphysik. Die Erklärung von Quantentheorien bereitet nicht nur große Kopfschmerzen, weil die Quantenwelt im Vergleich zur „klassischen“ Welt seltsam ist. Physik ist den meisten Programmierern bekannt, aber auch, weil die praktischen Auswirkungen der Quantenphysik schwierig zu verstehen sein können zeigen.

„Man muss die Physik nicht kennen. Man muss die Quantenmechanik nicht kennen.“

Klassische Computer befassen sich mit binären Absolutwerten. 1er und 0er. Aus oder an. Bei der Quantenphysik geht es um Wahrscheinlichkeiten, und beim Quantenprogrammieren geht es darum, Algorithmen zu entwickeln, die Wahrscheinlichkeiten manipulieren, um die richtige Lösung zu liefern. „Sie wissen, dass diese Welle meine Lösung beinhaltet. Diese anderen Wellen beinhalten keine Lösung. Ich möchte also, dass diese Wellen verschwinden, wenn sie stören“, erklärte Svore. „Und ich möchte, dass die Welle, die meine Lösung beinhaltet, wirklich groß wird. Am Ende messen wir die Quantenzustände. Die Wahrscheinlichkeit, dass die hohe Welle herauskommt, ist umso wahrscheinlicher, je höher diese Welle ist. So entwerfen wir Quantenalgorithmen.“

Verstehen Sie, was Svore bedeutet?

Wenn nicht, haben Sie kein schlechtes Gewissen. Es ist nicht leicht zu begreifen und nicht leicht zu demonstrieren. Sogar Gedankenexperimente, die die Quantenmechanik vereinfachen sollen, wie Schrödingers berühmte Katze, können Ihnen Kopfzerbrechen bereiten.

Microsoft Quantum Q#-Ingenieure
Microsoft

Microsoft hofft, dass Q# und die Quantum Katas eine praktische Alternative zur Herangehensweise an das Thema bieten. „Man muss die Physik nicht kennen. Sie müssen die Quantenmechanik nicht kennen. Tatsächlich gebe ich zu, dass ich Quantenmechanik erst nach dem Graduiertenstudium belegt habe“, sagte Svore. „Ich bin in die Quanteninformatik eingestiegen, ohne jemals Physik am College zu belegen. Ich bin ausgebildeter Informatiker.“

Die Quantenprogrammierung könnte zu einem Fenster der Einsicht werden, indem sie Programmierern die Möglichkeit gibt, Quantentheorien praktisch anzuwenden, ohne auf die Werkzeuge verzichten zu müssen, auf die sie sich verlassen. Es ist nicht nötig, jahrelang Physik zu lernen. Steigen Sie einfach ein, erstellen Sie eine Anwendung, die Q# verwendet, und sehen Sie, was passiert.

Vorbereitung für morgen

Der praktische Nutzen von Q# ist heute begrenzt, da keine Hardware zur Verfügung steht, auf die zurückgegriffen werden kann. Microsoft hat noch keinen Quantencomputer gebaut, und selbst wenn dies der Fall wäre, wäre es zu primitiv, um nützliche Berechnungen durchzuführen. Aber ein Programmierer kann seine Arbeit überprüfen, indem er Q# auf einem simulierten Quantencomputer ausführt. Dadurch ist es möglich, ein Quantenprogramm mit der begründeten Erwartung zu programmieren, dass es funktioniert, sobald die Hardware verfügbar ist.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, Principal Research Manager bei Microsofts Quantum Architectures and Computation Group (links) und Chris Granade, Research Software Development Engineer bei Microsoft.Matt Smith/Digitale Trends

Das ist entscheidend. Quantencomputer sind nicht nur ein besserer moderner PC. Sie sind grundlegend unterschiedlich. Sie erfordern unterschiedliche Hardware, unterschiedliche Algorithmen und einen anderen Ansatz zur Lösung komplexer Probleme. Selbst wenn ein Zeitreisender mit einem funktionsfähigen, stabilen Quantencomputer mit einer Million Qubits auftauchen würde, hätten wir Schwierigkeiten, ihn zu nutzen, genauso wie römische Gelehrte ratlos wären, wenn man ihnen einen Laptop in die Hand drückte. 99,9 Prozent der modernen Entwickler, Programmierer und Informatiker haben keinerlei Erfahrung im Programmieren für Quanten und keine Ahnung, wie die Quantenphysik funktioniert. Die Grundlagen müssen vermittelt werden, bevor eindrucksvollere Entdeckungen gemacht werden können.

Das zu lehren wird Zeit brauchen – aber Microsofts Q# ist ein wichtiger Schritt nach vorne.

Empfehlungen der Redaktion

  • ChatGPT kann jetzt kostenlos funktionierende Windows 11-Schlüssel generieren
  • Microsoft hat möglicherweise Warnungen zu den aus den Fugen geratenen Antworten von Bing Chat ignoriert
  • Chinesische Hacker greifen kritische US-Infrastruktur an, warnt Microsoft
  • Sie können jetzt Avatare und virtuelle Räume in Microsoft Teams ausprobieren
  • Microsoft Build 2023: die größten Ankündigungen in den Bereichen KI, Windows und mehr