Język programowania kwantowego Q# firmy Microsoft może pomóc w nauce fizyki kwantowej

Krysta Svore Microsoft Q# Quantum Computing Kodowanie
Microsoftu

Komputery wkrótce staną się dziwne.

Zawartość

  • Uczynić tajemnicę przystępną
  • Społeczność kwantowa
  • Przygotowanie na jutro

Po dziesięcioleciach teorii pierwsze komputery kwantowe znajdują się obecnie w kilku wybranych laboratoriach na całym świecie. Są prymitywne i prawdopodobnie mniej praktyczne niż wczesne komputery elektroniczne, takie jak 50-tonowy ENIAC. Jednak badacze robią postępy. IBM, Google i Intel czynią postępy na sprzęcie kwantowym, a praktyczny komputer kwantowy wreszcie wydaje się rzeczywistością z niedalekiej przyszłości, a nie tematem science fiction.

To szansa. To także problem. Fizyka kwantowa to dziwna dziedzina teleportacji i prawdopodobieństwa, która nie podlega znanym nam regułom. Większość ludzi nie rozumie mechaniki kwantowej, dotyczy to także programistów, czyli osób, które będą musiały wykorzystać komputery kwantowe w praktyce.

Powiązany

  • Części do naprawy powierzchni są teraz dostępne w sklepie Microsoft Store
  • Microsoft Teams otrzymuje nowe narzędzia AI — i są one bezpłatne
  • Microsoft zapowiada zmianę projektu głównej aplikacji dla systemu Windows 11

Microsoft ma plan ich edukować.

Uczynić tajemnicę przystępną

Każdy programista, który chce nauczyć się nowego języka programowania, takiego jak C# lub JavaScript, chce natychmiast skorzystać z jej lekcji. Jednak początki obliczeń kwantowych mogą to utrudnić. Tworzenie programu dla wielu urządzeń kwantowych przypomina próbę pisania w binarnym kodzie maszynowym – tyle że jest jeszcze trudniejsze, bo mechanika kwantowa. Nie jest to tylko dziedzina dobrze rozumiana, ale trudna do przetłumaczenia. Jest to obszar badań, w którym pewne podstawy pozostają nieznane.

Microsoft Quantum Q#, kodowanie na komputerze
Matt Smith/Trendy cyfrowe

Obejmuje to powód Dlaczego działają komputery kwantowe. „To, co mamy w dziedzinie obliczeń kwantowych, to dowody na to, że komputery kwantowe mogą przewyższać komputery klasyczne” – dodał. powiedziała Krysta Svore, kierownik ds. badań głównych w grupie Quantum Architectures and Computation firmy Microsoft. „Święty Graal w naszej dziedzinie byłby tego faktycznym matematycznym dowodem”.

Obliczenia kwantowe są tak nowe i tak niepodobne do niczego wcześniej, że nawet najlepsi badacze nie mają pojęcia o ważnych i podstawowych elementach.

Obliczenia kwantowe 101

Nauczanie programistów kodowania kwantowego na prawdziwym sprzęcie na razie nie wchodzi w grę. Kwantowy język programowania Q# firmy Microsoft pozwala ominąć ten problem, oferując prosty dostęp do narzędzi niezbędnych do rozpoczęcia programowania. Oznacza to uczynienie języka Q# tak znajomym i przystępnym, jak to tylko możliwe, nawet jeśli naukowcy nadal dokonują przełomowych odkryć w zakresie podstaw działania komputerów kwantowych.

Q# nie jest ukryty za ścianą okropnej dokumentacji i słabo objaśnionych instalatorów. Programiści mogą uzyskać do niego dostęp poprzez Visual Studio, najpopularniejsze na świecie środowisko programistyczne. Programiści nie potrzebują dostępu do komputera kwantowego, aby z niego korzystać.

Zamiast tego mogą programować tak, jakby ich kod działał na rzeczywistym urządzeniu kwantowym, a następnie uruchamiać go w wirtualnej symulacji. Jest to możliwe, ponieważ komputer kwantowy nie jest traktowany jako własny, kompletny, niezależny system, ale zamiast tego jako akcelerator wywoływany przez klasyczny komputer, na którym działa klasyczny komputer kod.

„Wyobrażamy sobie, że komputer kwantowy będzie kolejnym zasobem platformy Azure, obok procesora graficznego, układu FPGA i układu ASIC, z którego można korzystać. Azure staje się całą strukturą obejmującą komputer kwantowy” – powiedział Svore Digital Trends.

Quantum Microsoft Q kodowanie Python Interop jpg 3605
kwantowe próbki kodowania Microsoft Q github jpg 3604
kwantowe kodowanie Microsoft Q 3603
Quantum Microsoft Q kodowanie Symulacja Pythona jpg 3602

Większość programistów jest przyzwyczajona do używania specjalnie zaprojektowanego sprzętu do określonych zadań, a większość z nich zna także wywoływanie zasobów w chmurze. Uruchamianie Q# nie różni się od tych dobrze znanych zadań. Sprzęt kwantowy może być egzotyczny i rzadki, ale środowisko programistyczne oferowane przez firmę Microsoft dla Q# już takie jest dokładnie to, co zobaczyłbyś dzisiaj, gdybyś spojrzał przez ramię programiście z listy Fortune 500 firmy. Dzięki temu jest znacznie mniej zastraszający.

„Ostateczna wizja jest taka, że ​​użytkownik nie mówi: «OK, teraz muszę wziąć tę aplikację i uruchomić ją w tej części procesora, ta część tu, ta część tam»” – powiedział Svore. „To samo dotyczy obliczeń kwantowych. Chcemy, aby akcelerator działał płynnie.”

Społeczność kwantowa

Programiści mogą zapoznać się z językiem Q# za pomocą zestawu bezpłatnych samouczków, które firma Microsoft nazywa Quantum Katas. Każda lekcja obejmuje „sekwencję zadań dotyczących określonego tematu obliczeń kwantowych”, które programiści mają rozwiązać. Znalezienie właściwego rozwiązania jest celem, ale podróż jest równie ważna. Kata nie są przeznaczone do rozwiązania w jednym przejściu. Uczą metodą prób i błędów, po drodze wprowadzając programistów w podstawy programowania kwantowego.

Q# i Quantum Katas zapewniają transformacyjny poziom informacji zwrotnej do programowania kwantowego

Chris Granade, inżynier ds. rozwoju oprogramowania w firmie Microsoft, zobaczył je na własne oczy podczas sesji tutorialowej prowadzonej przez Uniwersytet Technologiczny w Sydney. „Naprawdę niesamowite było obserwowanie, jak ludzie potrafią przejść od zerowej wiedzy kwantowej do jej pisania” – powiedział Digital Trends. „To, co było przemieniające, polegało na tym, że kiedy ludzie mieli nieporozumienie, nie cierpieli z tego powodu. Mogli wykonać kata, zobaczyć, że otrzymali złą odpowiedź, a ta informacja zwrotna naprawdę pomogła ludziom zrozumieć sytuację w praktyczny sposób.

To praktyczne doświadczenie natychmiast przekształca obliczenia kwantowe z koncepcji teoretycznej w praktyczną rzeczywistość, co ma ogromne znaczenie w podejściu ludzi do tego zagadnienia. Programiści może nie tworzą obiektów fizycznych, ale są przyzwyczajeni do otrzymywania informacji zwrotnych, tak jak każdy inny rzemieślnik. Tworzą coś i to działa – albo nie. Q# i Quantum Katas wnoszą taki poziom informacji zwrotnych do programowania kwantowego, dając każdemu zainteresowanemu szansę zagłębienia się i zrozumienia, co umożliwiają obliczenia kwantowe.

Obliczenia kwantowe

Zmiana, którą Granade widziała osobiście, nie zachodzi tylko w klasach. Zestaw Quantum Development Kit, którego częścią jest Q#, może pobrać każdy na podstawie licencji typu open source. Zainteresowani programiści mogą nie tylko zacząć z niego korzystać, ale także aktywnie przyczyniać się do rozwoju społeczności. Svore powiedział Digital Trends, że QDK pobiera liczbę „górnych dziesiątek tysięcy” i uczestników dodali już „kilka istotnych wkładów”, w tym nowe algorytmy i dokumentacja.

Chociaż ten zestaw Quantum Development Kit jest wciąż niszą, stawia poprzeczkę wejścia na tyle nisko, że nawet nowicjusz programista może rozpocząć eksperymenty z językiem Q# i w ten sposób zacząć rozumieć, na czym polega przetwarzanie kwantowe kleszcz. Jest to pomocne nie tylko dla programistów, ale dla całej dziedziny fizyki kwantowej. Wyjaśnianie teorii kwantowych przyprawia o ogromny ból głowy nie tylko dlatego, że świat kwantowy jest dziwny w porównaniu do „klasycznego” fizyki, którą zna większość programistów, ale także dlatego, że praktyczne implikacje fizyki kwantowej mogą być trudne wykazać.

„Nie musisz znać fizyki. Nie musisz znać mechaniki kwantowej.

Klasyczne komputery radzą sobie z absolutami binarnymi. 1 i 0. Wyłączone lub włączone. Kwant zajmuje się prawdopodobieństwami, a programowanie kwantowe oznacza tworzenie algorytmów manipulujących prawdopodobieństwami w celu uzyskania prawidłowego rozwiązania. „Wiesz, że ta fala obejmuje moje rozwiązanie. Te inne fale nie obejmują rozwiązania. Chcę więc, aby te fale, gdy będą przeszkadzać, odejdą” – wyjaśnił Svore. „Chcę też, aby fala obejmująca moje rozwiązanie była naprawdę duża. Na koniec mierzymy stany kwantowe. Prawdopodobieństwo wypłynięcia wysokiej fali jest tym większe, im wyższa jest ta fala. Tak projektujemy algorytmy kwantowe.”

Rozumiesz, co ma na myśli Svore?

Jeśli nie, nie czuj się źle. Nie jest to łatwe do uchwycenia i niełatwe do zademonstrowania. Nawet eksperymenty myślowe mające na celu uproszczenie mechaniki kwantowej, takie jak słynny kot Schrodingera, mogą sprawić, że zaczniesz drapać się po głowie.

Inżynierowie Microsoft Quantum Q#
Microsoftu

Microsoft ma nadzieję, że Q# i Quantum Katas będą stanowić praktyczną alternatywę w podejściu do tego tematu. „Nie musisz znać fizyki. Nie musisz znać mechaniki kwantowej. Przyznaję, że mechaniką kwantową zainteresowałem się dopiero na studiach” – powiedział Svore. „Zająłem się informatyką kwantową, nie zdając jeszcze fizyki na studiach. Z wykształcenia jestem informatykiem”.

Programowanie kwantowe mogłoby stać się oknem na wgląd, dając programistom szansę na praktyczne wykorzystanie teorii kwantowych bez porzucania narzędzi, na których polegali. Nie ma potrzeby spędzać lat na nauce fizyki. Po prostu wskocz, utwórz aplikację korzystającą z języka Q# i zobacz, co się stanie.

Przygotowanie na jutro

Dzisiejsze praktyczne wykorzystanie języka Q# jest ograniczone, ponieważ nie ma sprzętu, na którym można by się odwołać. Microsoft nie zbudował jeszcze komputera kwantowego, a nawet gdyby tak było, wykonywanie użytecznych obliczeń byłoby zbyt prymitywne. Ale programista może sprawdzić swoją pracę, uruchamiając Q# na symulowanym komputerze kwantowym. Umożliwia to kodowanie programu kwantowego przy rozsądnych oczekiwaniach, że gdy sprzęt będzie dostępny, będzie działał.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Krysta Svore, kierownik ds. badań podstawowych w grupie Quantum Architectures and Computation firmy Microsoft (po lewej) i Chris Granade, inżynier ds. badań i rozwoju oprogramowania w firmie Microsoft.Matt Smith/Trendy cyfrowe

To kluczowe. Komputery kwantowe to nie tylko lepszy, współczesny komputer PC. Różnią się zasadniczo. Wymagają innego sprzętu, różnych algorytmów i innego podejścia do rozwiązywania złożonych problemów. Nawet gdyby pojawił się podróżnik w czasie z funkcjonalnym, stabilnym komputerem kwantowym o pojemności miliona kubitów, mielibyśmy problemy z jego uruchomieniem, tak jak rzymscy uczeni byliby zakłopotani, gdyby dostali laptop. 99,9 procent współczesnych programistów, programistów i informatyków nie ma żadnego doświadczenia w kodowaniu kwantowym i nie ma pojęcia, jak działa fizyka kwantowa. Zanim będzie można dokonać bardziej imponujących odkryć, należy poznać podstawy.

Nauczenie tego zajmie trochę czasu, ale Q# firmy Microsoft to ważny krok naprzód.

Zalecenia redaktorów

  • ChatGPT może teraz generować działające klucze systemu Windows 11 za darmo
  • Microsoft mógł zignorować ostrzeżenia dotyczące nieodpowiednich odpowiedzi Bing Chat
  • Microsoft ostrzega, że ​​chińscy hakerzy atakują krytyczną infrastrukturę USA
  • Możesz teraz wypróbować awatary i przestrzenie wirtualne w Microsoft Teams
  • Microsoft Build 2023: największe ogłoszenia dotyczące sztucznej inteligencji, systemu Windows i nie tylko