Езикът за квантово програмиране на Microsoft, Q#, може да ви помогне да научите квантовата физика

Krysta Svore Microsoft Q# Квантово компютърно кодиране
Microsoft

Компютрите са на път да станат странни.

Съдържание

  • Да направим мистерията достъпна
  • Квантова общност
  • Подготовка за утре

След десетилетия като теория, първите квантови компютри сега се намират в избрани няколко лаборатории по целия свят. Те са елементарни и може би по-малко практични от ранните електронни компютри като 50-тонния ENIAC. И все пак изследователите напредват. IBM, Google и Intel напредват върху квантовия хардуер и практичният квантов компютър най-накрая се чувства като реалност от близкото бъдеще, вместо като тема за научна фантастика.

Това е възможност. Това също е проблем. Квантовата физика е странно царство на телепортиране и вероятност, което не следва правилата, с които сме запознати. Повечето хора не разбират квантовата механика и това включва програмистите, хората, които ще трябва да приложат квантовите компютри на практика.

Свързани

  • Частите за ремонт на повърхности вече са достъпни чрез Microsoft Store
  • Microsoft Teams получава нови инструменти за изкуствен интелект – и те са безплатни
  • Microsoft дразни цялостната промяна на дизайна на основно приложение за Windows 11

Microsoft има план да ги образова.

Да направим мистерията достъпна

Всеки програмист, който иска да научи нов език за програмиране, като C# или Javascript, иска незабавно да използва нейните уроци. И все пак зародишът на квантовите изчисления може да затрудни това. Създаването на програма за много квантови устройства е много като да се опитвате да пишете в двоичен машинен код – освен че е още по-трудно, защото квантовата механика. Това не е само област, която се разбира добре, но е трудна за превод. Това е област на изследване, в която някои основи остават неизвестни.

Microsoft Quantum Q#, кодиране на компютър
Мат Смит/Дигитални тенденции

Това включва и причината защо квантовите компютри работят. „Това, което имаме в квантовите изчисления, са доказателства, че квантовите компютри могат да превъзхождат класическите компютри,“ каза Криста Своре, главен изследователски мениджър в групата на Microsoft за квантови архитектури и изчисления. „Светият Граал в нашата област би бил действително математическо доказателство за това.“

Квантовото изчисление е толкова ново и толкова различно от всичко преди него, че дори най-добрите изследователи остават на тъмно относно важни и фундаментални елементи.

Квантово изчисление 101

Обучението на програмисти да кодират за quantum на реален хардуер засега е изключено. Квантовият език за програмиране на Microsoft, Q#, отстранява този проблем, като предлага лесен достъп до инструментите, необходими за започване на програмиране. Това означава да направим Q# възможно най-познат и достъпен, дори докато учените продължават да правят пробиви в основите на работата на квантовите компютри.

Q# не е скрит зад стена от ужасна документация и зле обяснени инсталатори. Програмистите имат достъп до него чрез Visual Studio, най-популярната среда за разработка в света. И програмистите не се нуждаят от достъп до квантов компютър, за да го използват.

Вместо това те могат да програмират така, сякаш техният код ще работи на действително квантово устройство, но след това да го стартират на виртуална симулация. Това е възможно, защото квантовият компютър не се третира като собствена цялостна, независима система, но вместо това като ускорител, който се извиква от класически компютър, работещ с класически компютър код.

„Предвиждаме квантовия компютър да бъде друг ресурс в Azure, след GPU, FPGA, ASIC, който да използваме. Azure се превръща в цялата тази тъкан, която включва в своите изчисления квантов компютър“, каза Своре пред Digital Trends.

квантово кодиране на microsoft q python interop jpg 3605
квантови примери за кодиране на microsoft q github jpg 3604
квантово кодиране на microsoft q 3603
квантово кодиране на microsoft q python симулация jpg 3602

Повечето програмисти са запознати с използването на специално създаден хардуер за конкретни задачи и повечето са запознати с извикването на ресурси в облака. Стартирането на Q# не се различава от онези добре познати задачи. Квантовият хардуер може да е екзотичен и рядък, но средата за програмиране, която Microsoft предлага за Q#, е такава точно това, което бихте видели днес, ако погледнете през рамото на програмист най-много Fortune 500 компании. Това го прави много по-малко плашещо.

„Крайната визия е, че потребителят не казва „Добре, сега трябва да взема това приложение и да го пусна на тази част на процесора, тази част тук, тази част там“, каза Своре. „Същото е и с квантовите изчисления. Искаме ускорителят да бъде безпроблемен.“

Квантова общност

Програмистите могат да се запознаят с Q# чрез набор от безплатни уроци, които Microsoft нарича Quantum Katas. Всеки урок включва „поредица от задачи по определена тема за квантовите изчисления“, които програмистите са предизвикани да решат. Намирането на правилното решение е целта, но пътуването е също толкова важно. Катите не са предназначени да се решават с едно минаване. Те преподават чрез проба-грешка, въвеждайки програмистите в основите на квантовото програмиране по пътя.

Q# и Quantum Katas внасят трансформативно ниво на обратна връзка в квантовото програмиране

Крис Гранейд, инженер по разработка на софтуер за научни изследвания в Microsoft, ги видя лично, докато присъства на обучителна сесия, организирана от Технологичния университет в Сидни. „Беше наистина удивително да гледам как хората могат да преминат от нулево знание в квантово до писане“, каза той пред Digital Trends. „Това, което беше трансформиращо, беше, че когато хората имаха неразбиране, те не страдаха от него. Те можеха да изпълняват ката, можеха да видят грешния отговор и тази обратна връзка наистина накара хората да разберат по практически начин.“

Този практически опит незабавно трансформира квантовите изчисления от теоретична концепция в практическа реалност, което прави разликата в начина, по който хората подхождат към нея. Програмистите може да не правят физически обекти, но са свикнали да виждат обратна връзка точно като всеки друг занаятчия. Те създават нещо и то работи – или не. Q# и Quantum Katas внасят това ниво на обратна връзка към квантовото програмиране, като дават на всеки, който се интересува, шанс да се зарови и да разбере какво прави възможно квантовото изчисление.

Квантово изчисление

Промяната, която Granade видя лично, не се случва само в класните стаи. Quantum Development Kit, от който Q# е част, може да бъде изтеглен от всеки под лиценз с отворен код. Заинтересованите разработчици могат не само да започнат да го използват, но и активно да допринесат за общността. Свор каза на Digital Trends, че броят на изтеглянията на QDK е в „горните десетки хиляди“ и участниците вече са добавили „шепа съществени приноси“, включително нови алгоритми и документация.

Въпреки че все още е ниша, този комплект за квантова разработка поставя летвата за влизане достатъчно ниско, че дори и за начинаещ програмистът може да започне да експериментира с Q# и по този начин да започне да разбира какво прави квантовите изчисления отметка. Това е полезно не само за програмистите, но и за цялата област на квантовата физика. Обяснението на квантовите теории е голямо главоболие не само защото квантовият свят е странен в сравнение с „класическия“ физика, която повечето програмисти знаят, но и защото практическите последици от квантовата физика могат да бъдат трудни за демонстрирам.

„Не е нужно да познавате физиката. Не е нужно да познавате квантовата механика.

Класическите компютри работят с двоични абсолюти. 1s и 0s. Изключено или включено. Quantum се занимава с вероятности, а програмирането за квант означава създаване на алгоритми, които манипулират вероятностите, за да произведат правилното решение. „Знаете, че тази вълна включва моето решение. Тези други вълни не включват решение. Така че искам тези вълни, когато се намесват, да изчезнат“, обясни Своре. „И искам вълната, която включва моето решение, да стане наистина голяма. Накрая измерваме квантовите състояния. Колкото по-висока е вълната, толкова по-голяма е вероятността да излезе високата вълна. Ето как проектираме квантови алгоритми.“

Разбирате ли какво означава Своре?

Ако не, не се чувствайте зле. Не е лесно да се разбере и не е лесно да се демонстрира. Дори мисловни експерименти, предназначени да опростят квантовата механика, като известната котка на Шрьодингер, могат да ви накарат да се почешете по главата.

Инженери на Microsoft Quantum Q#
Microsoft

Microsoft се надява, че Q# и Quantum Katas ще предложат практическа алтернатива за подход към темата. „Не е нужно да познавате физиката. Не е нужно да познавате квантовата механика. Всъщност ще призная, че не съм изучавал квантова механика до дипломирането си“, каза Своре. „Започнах да се занимавам с квантово изчисление, без изобщо да съм учил физика в колежа. По образование съм компютърен учен.“

Квантовото програмиране може да се превърне в прозорец на прозрение, като даде шанс на програмистите да използват практическо квантовите теории, без да се отказват от инструментите, на които са разчитали. Няма нужда да прекарвате години в изучаване на физика. Просто влезте, направете приложение, което използва Q#, и вижте какво ще се случи.

Подготовка за утре

Днешното практическо използване на Q# е ограничено, защото няма хардуер, който да се използва. Microsoft все още не е създала квантов компютър, а дори и да имаше, би било твърде примитивно за извършване на полезни изчисления. Но програмистът може да провери работата си, като стартира Q# на симулиран квантов компютър. Това прави възможно кодирането на програма за quantum с разумно очакване, че след като хардуерът е наличен, той ще работи.

Krysta Svore, Chris Granade, Microsoft Quantum Q#
Криста Своре, главен изследователски мениджър в групата за квантови архитектури и изчисления на Microsoft (вляво) и Крис Гранейд, изследователски инженер по разработка на софтуер в Microsoft.Мат Смит/Дигитални тенденции

Това е изключително важно. Квантовите компютри не са просто по-добри съвременни компютри. Те са коренно различни. Те изискват различен хардуер, различни алгоритми и различен подход за решаване на сложни проблеми. Дори ако се появи пътешественик във времето с функционален, стабилен квантов компютър с милиони кубити, ще имаме проблеми да го използваме, точно както римските учени биха били объркани, ако им бъде даден лаптоп. 99,9 процента от съвременните разработчици, програмисти и компютърни учени имат нулев опит в кодирането за квант и нямат представа как работи квантовата физика. Основите трябва да бъдат въведени, преди да могат да бъдат направени по-впечатляващи открития.

Преподаването, което ще отнеме време – но Q# на Microsoft е важна стъпка напред.

Препоръки на редакторите

  • ChatGPT вече може да генерира работещи ключове за Windows 11 безплатно
  • Microsoft може да е пренебрегнал предупрежденията за нестабилните отговори на Bing Chat
  • Китайски хакери се насочват към критична инфраструктура на САЩ, предупреждава Microsoft
  • Вече можете да изпробвате аватари и виртуални пространства в Microsoft Teams
  • Microsoft Build 2023: най-големите съобщения в AI, Windows и др