🧮 Алгоритм Дойча–Йожі

Ймовірності вимірювання P(y)
Схема: H⊗n → U_f → H⊗n → вимірювання
n = 2  ·  N = 2n = 4  ·  висновок:  ·  Квантовий: 1 запит · Найгірший класичний випадок: 3 запитів

Про алгоритм Дойча–Йожі

Алгоритм Дойча–Йожі відповідає на просту задачу-обіцянку: маючи функцію-чорну скриньку f, яка перетворює n бітів на один біт і гарантовано є або сталою (той самий вихід для кожного входу), або збалансованою (0 рівно для половини входів і 1 для іншої половини), потрібно визначити, яка саме. Класичний комп'ютер, що може лише опитувати f як чорну скриньку, у гіршому випадку може перевірити понад половину з 2ⁿ входів, перш ніж отримає впевненість — до 2⁽ⁿ⁻¹⁾ + 1 запитів у найгіршому випадку. Квантовий комп'ютер розв'язує те саме питання одним-єдиним зверненням до оракула, кодуючи f у фазу й дозволяючи інтерференції зосередити всю ймовірність на нульовому результаті саме тоді, коли f стала.

Цей симулятор будує точний квантовий стан власноруч: застосовує вентилі Адамара, щоб досягти рівної суперпозиції, кодує обраний оракул як зміну знака для кожного базисного стану, а потім виконує справжнє перетворення Волша–Адамара, щоб отримати кінцеві ймовірності вимірювання. Банер висновку в реальному часі зчитує ймовірність виміряти нульовий рядок — близько 1 означає сталу функцію, близько 0 означає збалансовану — саме так, як працює справжній алгоритм. Він залишається основоположним прикладом у курсах квантових обчислень, адже саме він першим строго довів, що квантова інтерференція здатна дати безумовний виграш у швидкості над будь-якою класичною стратегією, за роки до того, як алгоритм Шора прославив цю ідею.

Часті запитання

Яку задачу розв'язує алгоритм Дойча–Йожі?

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

Чому класичний комп'ютер настільки повільніший у цій задачі?

Класично доводиться опитувати f по одному входу за раз. Навіть якщо поспіль 2⁽ⁿ⁻¹⁾ разів отримати однаковий результат, це все одно не дає впевненості, що функція стала — наступний же запит може виявити інше значення. Лише перевіривши трохи більше половини входів, 2⁽ⁿ⁻¹⁾ + 1 запитів у гіршому випадку, можна отримати остаточну впевненість.

Як один квантовий запит дає відповідь?

Суперпозиція дозволяє застосувати оракул до всіх 2ⁿ входів одночасно, кодуючи f(x) у фазу, а не в перевертання біта. Другий шар вентилів Адамара потім змушує ці фази інтерферувати між собою. Якщо f стала, усі шляхи конструктивно складаються на нульовому результаті, надаючи йому ймовірність 1. Якщо f збалансована, шляхи там повністю скасовують одне одного, даючи ймовірність 0.

Що означають гістограма та значення P(0…0)?

Гістограма показує ймовірність виміряти кожен можливий вихідний рядок. Стовпчик при y = 0 (нульовий рядок) виділено, оскільки саме він несе висновок: цей симулятор зчитує ту єдину ймовірність у реальному часі й повідомляє "СТАЛА", коли вона близька до 1, або "ЗБАЛАНСОВАНА", коли вона близька до 0.