Квантова онлайн-пісочниця Google


(можливо ви вже бачили цю картинку, хоча дивно, що на хабре так мало матеріалів з квантової інформатики)

Спасибі геніальним інженерам Google, тепер ми всі дружно можемо перетворити наші настільні ПК в квантові комп'ютери. Ну, добре, не зовсім так: мається на увазі лише моделювання роботи квантового комп'ютера на його молодшого побратима шляхом запуску веб-додатків для Chrome. Quantum Computing Playground дозволяє проганяти відомі квантові алгоритми (такі як алгоритм Гровера, Шора) і писати власних квантові програми.

За винятком безпосереднього придбання квантового комп'ютера — що, незважаючи на заяви D-Wave, навряд чи коли-небудь вдасться — рішення від Google є найбільш вдалим кроком у бік популяризації квантового звіра. Якщо хочеться особисто стати на першу сходинку обчислень майбутнього, це той самий шанс. У вас є діти? Ви зобов'язані посадив їх в цю пісочницю як мінімум на шість годин, щоб вони навчилися всім тонкощам квантових обчислень.

Quantum Computing Playground

Майданчик є веб-додатком Chrome (Chrome Experiment), використовує WebGL, щоб імітувати до 22 кубітів на GPU. Присутня невелика середовище розробки, щоб писати, компілювати та виконувати код. Також є вже готові приклади алгоритмів (Гровер, Шор), зручний відладчик і інструмент для 3D візуалізації квантових станів, так що можна своїми очима побачити, що відбувається усередині вашого маленького квантового комп'ютера. Програми написані на мові, званому QScript, який дуже схожий на будь-який інший скриптова мова.

QScript

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

D-Wave

Цікаво для Google, Майданчик застосовує модель квантових гейтів (Quantum Gates), а не адиабатических квантових обчислень, використовуваних в D-Wave, в якій Google замовила квантовий комп'ютер у минулому році. Спорів про D-Wave завжди було предостатньо. Чи дійсно їх машини виконують реальні квантові обчислення, особливо, коли вони стоять у 6000 разів дорожче класичного ПК? Якщо на Майданчику використовують звичайні квантові гейти, чи означає це, що Google знає, що D-Wave насправді не має нічого спільного з квантовою механікою?

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

Дочитавши до цього моменту, ви ознайомилися з повною гумору і фарб статтею extremetech.com.

Отже, QScript і його компілятор / VM. Гугл надає наступні можливості:

— компіляція у внутрішній код прямо з браузера
— можливість покрокового виконання скомпільованих команд
— вбудовані процедури
— локальні змінні (у межах процедур)
синтаксис виразів сумісний JavaScript
— доступ до математичних функцій JavaScript
— «for-endfor» цикл, «if-else-endif» конструкції (вражає)
— повна підтримка налагодження зі стеком викликів і відстеженням змінних

Щоб не захаращувати статтю, нижче наведені лише основні квантові гейти, реалізовані в цій пісочниці:

  • Оператор Адамара (Hadamart Gate) створює суперпозицію станів 0 та 1 для даного кубіта. За змістом є оберненим до самого себе: застосовуючи його два рази відновлює початковий стан кубіта.
  • Сигма X (Sigma X, він же відомий Паулі X поворот) — квантовий еквівалент бітового заперечення. Оскільки кубіти являють собою комплексні числа, досить складно придумати для них концепцію звичайного заперечення. Sigma Y і Sigma Z — теж «інвертують» кубіти, але трохи альтернативним способом.
  • QFT застосовує Квантове Перетворення Фур'є до частини квантового регістра. Перший аргумент визначає перший кубіт для перетворення, в той час як другий — ширину перетворення (кількість кубітів, до яких перетворення буде застосовуватися).
  • CNOT реалізує ту ж трансформацію, що і Sigma X, але його виконання обумовлено значенням першого аргументу — керуючого кубіта. Квантовий заперечення виконується тільки для тих станів, де керуючий кубіт має значення 1. Стану, де керуючий кубіт має значення 0, залишаються незмінними.
  • Тоффолі-гейт (Toffoli Gate) працює таким же чином, як і CNOT, приймаючи керуючі кубіти в якості двох аргументів і один цільової кубіт. Заперечення здійснюється тільки на тих станах, де обидва контрольних кубіта мають значення 1.
  • Фазовий поворот (Phase Gate) обертає амплітуду тих станів (стан — комплексне число!), де цільової кубіт має значення 1. Кут повороту визначається другим аргументом.
  • Вимір (Measurement) — не приймає ніяких аргументів, а лише використовує генератор випадкових чисел (спасибі JavaScript), вибирає стан квантового вектора, який представляє собою випадкову величину фізичного виміру квантового регістра. Операція не руйнує квантовий вектор, і тому вимірювання можуть виконуватися знову і знову без необхідності повторювати всі попередні квантові обчислення заново.
Концептуально

Взагалі кажучи, незрозуміло з якою метою вони цим зайнялися. З одного боку, середа явно орієнтована на новачків, які прагнуть нарешті «побачити» і «помацати» квантову механіку, з якої вони з тих чи інших причин зіткнулися. Але тоді виникає питання: звідки гігантське небажання писати мануали? Незрозуміло також, навіщо моделювати алгоритм Шора, не пояснивши людям чим відрізняється від підкидання двугранной монетки.

З іншого боку, очевидно, що в такій системі працювати досить незручно, навряд чи в пісочниці хтось стане реалізовувати хоч скільки-небудь прикладні програми. Є графічний інтерфейс, так. Але він закінчується на банальному відображення точок у просторі {стан, час, амплітуда} — не більше.
Існує досить широкий спектр засобів, що дозволяють симулювати роботу квантовомеханической системи, але хотілося б знати, чи це цікаво хабру?

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.