Чи довго чекати на квантове майбутнє - IBM створила універсальний квантовий комп'ютер – Ukraine Web

В середині травня IBM відкрила публічний доступ до нового квантовому комп’ютера, що оперує 16 кубітами. Крім того, для свого комерційного сервісу квантових обчислень компанія підготувала 17-кубітний пристрій з дуже низьким рівнем помилок. Раніше у теоретиків був доступ лише стосовно машин з п’яти кубітів – новий обчислювач втричі піднімає цю планку.
Зазвичай квантові комп’ютери асоціюються з величезним приростом в продуктивності і вирішенням завдань, непосильних навіть для суперкомп’ютерів. Одночасно з цим квантові комп’ютери – серйозна загроза алгоритмам шифрування. Чи наступило квантове майбутнє і чи варто терміново переходити на нові системи шифрування – однаково складні для звичайних і для квантових пристроїв, – на ці питання ми постараємося відповісти в новому тексті.
Browsec VPN зашифровує трафік і дозволяє розблокувати заборонені сайти.
Що таке квантовий комп’ютер?
Звичайний комп’ютер – це універсальний обчислювальний пристрій, який можна програмувати, а потім виконувати з його допомогою будь-які послідовності класичних операцій. Відштовхуючись від такого визначення, квантовим комп’ютером варто було б назвати такий же пристрій, але з однією відмінністю: в його роботі спостерігалися б явища квантової фізики. Однак це визначення було б не цілком вірним. У будь-якому сучасному комп’ютері і так протікають квантові процеси – наприклад, витік струму з транзисторів в результаті тунелювання. Ці процеси доводиться враховувати при проектуванні комп’ютерів, тому, в деякому сенсі, навіть то пристрій, з якого ви читаєте цей текст – теж квантовий комп’ютер.
Тому квантовим називають ті комп’ютери, які використовують явища квантової суперпозиції і заплутаності безпосередньо в своїх алгоритмах. І це дозволяє їм вирішувати абсолютно нові класи задач.
У чому відмінність квантових обчислень від класичних?
Як в основі класичних обчислювачів лежать операції з бітами, так у випадку з квантовими комп’ютерами об’єктом операцій стають квантові біти, або кубіти. При вимірі біта ми завжди отримаємо один і той же результат – «нуль» або «одиницю». Вимірювання однаково приготованих кубітів буде з певною ймовірністю давати і «нуль», і «одиницю» – до вимірювання кубіт буде одночасно і «нулем» і «одиницею». Як кажуть фізики – він буде в суперпозиції двох станів.
Виявляється, така незвичайна одиниця даних дозволяє спростити рішення багатьох обчислювальних задач, особливо – пов’язаних з перебором. Зате такі завдання, як складання двох натуральних чисел (наприклад, 2 + 2), для квантового комп’ютера виявляються зовсім не тривіальними.
Що являють собою квантові біти ?
Фізично кубіти бувають різних типів. Найпоширеніші (їх використовують наукові групи Google і IBM) – надпровідні. Це кільця з надпровідника з невеликою ізолюючою перемичкою, в яких струм тече одночасно і по, і проти годинникової стрілки. Інакше їх називають джозефсонівських контактами. Крім того, існують кубіти на базі окремих атомів, захоплених лазерними променями. Роль нуля і одиниці в них грають стани електронної оболонки атомів. На їх основі вже були побудовані універсальні квантові комп’ютери. Розробляються кубіти і на основі нанорозмірних кристалів напівпровідників – квантових точок.
Які завдання квантовий комп’ютер вирішує краще класичного?
Один з найпростіших прикладів – алгоритм Дойча. Припустимо, у вас є функція, яка може мати значення нуль або одиниця, в залежності від аргументу. Аргумент теж може бути нулем або одиницею. Всього існує чотири таких простих функції. Щоб дізнатися, чи завжди ця функція видає строго нуль або строго одиницю, класичного алгоритму потрібно двічі її обчислити. Для квантового алгоритму вистачить одного обчислення.
Інший приклад – алгоритм Шора для розкладання натурального числа на прості множники. Класичні алгоритми можуть зробити це тільки повним перебором, причому з ростом кількості знаків в розкладати натуральному числі кількість операцій зростає експоненціально (умовно, кожен знак збільшує час розрахунку в 10 разів). Квантовому алгоритму потрібно лише поліноміальний час (поліном від числа знаків в числі).
Є ще кілька прикладів, пов’язаних з перебором, які швидко вирішуються за допомогою квантових алгоритмів. Основний приріст продуктивності в таких завданнях пов’язаний саме з існуванням кубітів в суперпозиції станів. Цікаво, що в ряді випадків в алгоритм можна вводити суперпозицію порядку обчислень. Тобто, наприклад, одночасно проводити над числом множення, а потім зведення в ступінь, і зведення в ступінь, а потім множення. Такі операції дозволяють з’ясувати за одну дію, чи є різниця між порядком виконання двох операцій (A, потім B, і B, потім A).
Крім того, слідуючи природі квантового комп’ютера, з його допомогою можна моделювати квантові системи. Щоб проаналізувати поведінку системи з 50 кубітів (тут – частинок, які можуть бути в двох станах одночасно), буде потрібно щонайменше 250 біт оперативної пам’яті – не враховуючи логічні вентилі в системі.
Як це пов’язано з тим, з чим можна зустрітися в реальному житті?
Моделювання властивостей хімічних речовин – в деякому сенсі завдання моделювання квантових систем. Тому багато вчених сподіваються на те, що квантові комп’ютери попростять розрахунок властивостей окремих молекул (наприклад, їх спектрів), а також пошук нових ліків і матеріалів. Завдання оптимізації теж часто пов’язані з перебором варіантів, наприклад завдання про комівояжера. Поступово з’являються квантові нейромережі – з їх допомогою експерти вже розраховували стан молекули водню.
З квантовим комп’ютером пов’язані і деякі побоювання – йому по плечу виявляються багато завдань по розшифровці даних. Наприклад, алгоритм шифрування RSA заснований на тому, що класичний комп’ютер не може за розумний час розкласти на прості множники число довжиною кілька тисяч біт. Тому ключ дешифрування можна передавати у відкритому вигляді. Якщо хакер зберігає десь набір відкритих ключів і даних, зашифрованих з їх допомогою, то в майбутньому квантовий комп’ютер допоможе йому розшифрувати ці дані. Цікаво, що з тих же міркувань квантовий комп’ютер можна використовувати для атаки на системи блокчейна, подібні біткоіни.
Варто зазначити, що побоювання, що стосуються алгоритму RSA, можуть бути передчасними. З ростом ключа буде рости і час обчислення для квантового комп’ютера – для ключа розміром в терабіт потрібно більше 2100 операцій квантового комп’ютера. Практичність використання ключів настільки великого розміру – окреме питання. Проте, багато компаній вже почали розробляти методи постквантовой криптографії, однаково складні для дешифрування і класичним, і квантовим комп’ютером. Наприклад, в деяких версіях Chrome такі алгоритми вже використовуються.
Скільки треба кубітів, щоб обійти сучасні суперкомп’ютери?
Справа не тільки в кубітах. Для надійної роботи квантового комп’ютера потрібно дуже низький рівень помилок. Ці помилки виникають через декогеренції (розпаду суперпозиції), або через взаємодію кубітів один з одним. При тому відбувається обмін бітами, або фазові зрушення. Лише порівняно недавно вчені навчилися виявляти такі помилки автоматично.
Без боротьби з помилками збільшення кількості кубітів практично не збільшує продуктивності системи. Так, за оцінками фізиків, нова 16-кубітная система IBM лише на 40 відсотків продуктивніше 5-кубітного комп’ютера-попередника. Надпровідні кубіти цього типу здійснюють близько однієї помилки на 100 операцій. За словами фахівців IBM, комерційний 17-кубітний квантовий комп’ютер за рахунок зниженого рівня помилок має в два рази більшою продуктивністю.
За різними оцінками, для надійної демонстрації квантового переваги з урахуванням неідеальності реальних систем буде потрібно близько 50 кубітів. Нарощувати число кубітів дуже складно через процеси декогеренції.
Проте, фізики вважають, що цей кордон скоро вдасться перетнути. Так, лабораторія компанії Google під керівництвом Джона Мартініса планує запустити 20-кубітний універсальний комп’ютер протягом найближчого місяця. А в найбільш амбітні плани Google входить запуск 50-кубітного універсального квантового комп’ютера вже до кінця 2017 року.