Чи вдосконалюються якісь квантові алгоритми на класичному SAT?


29

Класичні алгоритми можуть вирішувати 3-SAT за час (рандомізований) або час (детермінований). (Довідка: Кращі верхні межі на SAT )1.3071n1.3303n

Для порівняння, використовуючи алгоритм Гровера на квантовому комп'ютері, було б шукати та надавати рішення в , рандомізованому. (Це все ще може зажадати деяких знань про те, скільки рішень може бути, а може і не бути. Я не впевнений, наскільки ці межі все ще є.) Це явно значно гірше. Чи є якісь квантові алгоритми, які краще, ніж найкращі класичні алгоритми (або принаймні - майже такі ж хороші?)1.414n

Звичайно, класичні алгоритми можна використовувати на квантовому комп'ютері, маючи достатній робочий простір; Мені цікаво притаманні квантовим алгоритмам.

Відповіді:


21

Я думаю, що можна отримати нетривіальну верхню межу з квантових обчислень, прискоривши рандомізовані алгоритми Шенінга для 3-SAT. Алгоритм Шеннінга працює в часі використовуючи стандартні методи амплітудної амплітуди, можна отримати квантовий алгоритм, який працює в часі що значно швидше, ніж класичний алгоритм.(4/3)n(2/3)n=1.15n


Приємно, це виглядає правильно. Показує, що я повинен був переглядати класичні алгоритми один раз, перш ніж запитати! :) Ще кілька скиммінгу пропонують найкращий рандомізований алгоритм для (необов'язково унікального) 3-SAT - це , тому я думаю, що ми могли б очікувати від квантового комп'ютера ... дякую! 1.32065n1.1492n
Алекс Мейбург

Вам також може сподобатися цей документ: digitalcommons.utep.edu/cgi/…
Мартін Шварц

30

Дійсно, як сказав wwjohnsmith1, ви можете отримати квадратне прискорення кореня за алгоритмом Шенінга для 3-SAT, але і більш загально для алгоритму Шенінга для k-SAT. Насправді багато рандомізовані алгоритми k-SAT можуть бути реалізовані квадратично швидше на квантовому комп'ютері.

Причина цього загального явища полягає в наступному. Багато рандомізованих алгоритмів k-SAT, які працюють у часі (де - деяка експоненціально зростаюча функція ), насправді роблять щось сильніше. В їх основі лежить алгоритм поліноміального часу, який видає задовольняюче завдання, якщо таке існує, з вірогідністю принаймні . З цього видно, що якщо ви повторите цей багаточасовий алгоритм багато разів і приймете, чи будь-який із запусків повертає рішення, ви отримаєте рандомізований алгоритм k-SAT, який працює в часі .O(T(n)poly(n))T(n)n1/T(n)O(T(n))O(T(n)poly(n))

Тепер замість запуску цього алгоритму разів, ви можете запустити амплітудну амплітуду на цьому полі-часовому алгоритмі. Амплітудна амплітуда - це загальний квантовий алгоритм, який може вирішити, чи приймає інший алгоритм з ймовірністю 0 або з ймовірністю використовуючи лише використання цього алгоритму. Застосування амплітудної амплітуди до такого вирішувача k-SAT негайно дасть квантовий алгоритм для k-SAT з часом виконання , який є квадратично швидшим (ігноруючи полі (n) термін).O(T(n))1/TO(T)O(T(n)poly(n))

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.