Квантова мова програмування 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 Quantum Architectures and Computation. «Священний Грааль у нашій галузі був би справжнім математичним доказом цього».

Квантові обчислення настільки нові та настільки несхожі ні на що раніше, що навіть провідні дослідники залишаються в темряві щодо важливих і фундаментальних елементів.

Квантові обчислення 101

Наразі не може бути й мови про те, щоб навчити програмістів кодувати кванти на реальному обладнанні. Мова квантового програмування Microsoft, Q#, усуває цю проблему, пропонуючи простий доступ до інструментів, необхідних для початку програмування. Це означає зробити Q# максимально знайомим і доступним, навіть якщо вчені продовжують робити прориви в основах роботи квантових комп’ютерів.

Q# не ховається за стіною жахливої ​​документації та погано пояснених інсталяторів. Програмісти можуть отримати до нього доступ через Visual Studio, найпопулярніше середовище розробки в світі. І програмістам не потрібен доступ до квантового комп’ютера, щоб ним користуватися.

Натомість вони можуть програмувати так, ніби їхній код запускатиметься на реальному квантовому пристрої, а потім запускати його на віртуальній симуляції. Це можливо тому, що квантовий комп’ютер не розглядається як власна завершена незалежна система, але замість цього як прискорювач, який викликається класичним комп’ютером, на якому працює класичний комп’ютер код.

«Ми передбачаємо, що квантовий комп’ютер стане іншим ресурсом в Azure, поряд із GPU, FPGA, ASIC. Azure стає цілою структурою, яка включає в себе квантовий комп’ютер», — сказав Своре Digital Trends.

quantum microsoft q кодування python interop jpg 3605
quantum microsoft q coding samples github jpg 3604
quantum microsoft q кодування 3603
quantum microsoft q coding python simulation jpg 3602

Більшість програмістів знайомі з використанням спеціального апаратного забезпечення для конкретних завдань, і більшість з них знайомі з використанням ресурсів у хмарі. Запуск Q# не відрізняється від тих добре відомих завдань. Quantum апаратне забезпечення може бути екзотичним і рідкісним, але середовище програмування, яке Microsoft пропонує для Q#, є таким саме те, що ви побачили б сьогодні, якби поглянули через плече програміста щонайбільше зі списку Fortune 500 компаній. Це робить його набагато менш страшним.

«Основне бачення полягає в тому, що користувач не каже: «Добре, тепер мені потрібно взяти цю програму та запустити її на цій частині ЦП, цій частині тут, цій частині там», — сказав Своре. «Те ж саме з квантовими обчисленнями. Ми хочемо, щоб прискорювач був безперервним».

Квантова спільнота

Програмісти можуть познайомитися з Q# за допомогою набору безкоштовних посібників, які Microsoft називає Quantum Katas. Кожен урок включає в себе «послідовність завдань на певну тему квантових обчислень», які програмісти повинні вирішити. Знайти правильне рішення є метою, але подорож не менш важлива. Ката не розв’язуються за один проход. Вони навчають методом проб і помилок, знайомлячи програмістів з основами квантового програмування.

Q# і Quantum Katas привносять трансформаційний рівень зворотного зв’язку в квантове програмування

Кріс Гранейд, дослідницький інженер із розробки програмного забезпечення Microsoft, побачив їх на власні очі під час навчального заняття, організованого Технологічним університетом Сіднея. «Було справді дивовижно спостерігати, як люди можуть перейти від нульових знань у кванті до написання», — сказав він Digital Trends. «Що змінило, так це те, що коли люди мали непорозуміння, вони не страждали через це. Вони могли виконувати ката, вони могли бачити, що отримали неправильну відповідь, і цей зворотній зв’язок справді змусив людей зрозуміти це на практиці».

Цей практичний досвід миттєво перетворює квантові обчислення з теоретичної концепції на практичну реальність, що істотно змінює те, як люди до них підходять. Програмісти можуть не створювати фізичні об’єкти, але вони звикли бачити відгуки, як і будь-який інший ремісник. Вони створюють щось, і воно працює – або ні. Q# і Quantum Katas привносять такий рівень зворотного зв’язку в квантове програмування, даючи будь-кому зацікавленому шанс заглибитися та зрозуміти, що робить квантове обчислення можливим.

Квантові обчислення

Зміни, які Гранаде побачив особисто, відбуваються не лише в класах. Набір Quantum Development Kit, частиною якого є Q#, може бути завантажений будь-ким за ліцензією відкритого коду. Зацікавлені розробники можуть не тільки почати використовувати його, але й активно сприяти спільноті. Своре розповів Digital Trends, що кількість завантажень QDK становить «верхні десятки тисяч» і учасників вже додали «декілька істотних внесків», включаючи нові алгоритми та документація.

Незважаючи на те, що цей набір Quantum Development Kit все ще є нішевим, він ставить планку входу досить низько, щоб навіть новачок програміст може почати експериментувати з Q# і, роблячи це, почати розуміти, що робить квантові обчислення галочка. Це корисно не лише для програмістів, а й для всієї галузі квантової фізики. Пояснення квантових теорій є головним болем не лише тому, що квантовий світ дивний порівняно з «класичним». фізика, яку знають більшість програмістів, а також тому, що практичні наслідки квантової фізики можуть бути складними продемонструвати.

«Вам не потрібно знати фізику. Вам не обов’язково знати квантову механіку».

Класичні комп'ютери мають справу з двійковими абсолютами. 1 і 0. Вимкнути або ввімкнути. Квант має справу з ймовірностями, а програмування для кванта означає створення алгоритмів, які маніпулюють ймовірностями для отримання правильного рішення. «Ви знаєте, що ця хвиля включає моє рішення. Ці інші хвилі не містять рішення. Отже, я хочу, щоб ці хвилі, коли вони заважають, пішли», – пояснив Своре. «І я хочу, щоб хвиля, яка включає моє рішення, стала дійсно великою. Наприкінці ми вимірюємо квантові стани. Імовірність отримати високу хвилю тим більша, чим вища ця хвиля. Ось як ми розробляємо квантові алгоритми».

Ви розумієте, що означає Своре?

Якщо ні, не відчувайте себе погано. Це нелегко зрозуміти і нелегко продемонструвати. Навіть уявні експерименти, спрямовані на спрощення квантової механіки, як знаменитий кіт Шредінгера, можуть змусити вас почухати голову.

Інженери 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
  • Можливо, корпорація Майкрософт проігнорувала попередження про нестабільні відповіді Bing Chat
  • Microsoft попереджає, що китайські хакери атакують критично важливу інфраструктуру США
  • Тепер ви можете випробувати аватари та віртуальні простори в Microsoft Teams
  • Microsoft Build 2023: найбільші анонси в області ШІ, Windows тощо