Множество задач, для которых существуют «быстрые» алгоритмы решения, и время работы которых полиномиально зависит от размера входных данных, относят к классу P (от англ. polynomial).
Квантовый алгоритм – это алгоритм, предназначенный для выполнения на квантовом компьютере. Представляет собой классический алгоритм, задающий последовательность унитарных операций с указанием, над какими именно кубитами их надо совершать. Типичным квантовым алгоритмом является алгоритм Шора. Результат работы квантового алгоритма носит вероятностный характер, но за счёт увеличения количества операций в алгоритме можно вероятность получения правильного результата сделать сколь угодно близкой к единице.
См. также: Асимптотическое поведение функций, O-нотация, Унитарное преобразование, Факторизация.
Литература
1. Теория алгоритмов. Введение в теорию алгоритмов.
-Режим доступа: http://th-algoritmov. narod. ru/1.htm
2. Машина Тьюринга и алгоритмически неразрешимые проблемы. –Режим доступа: http://th-algoritmov. narod. ru/3.htm
3. Оценка времени исполнения. Символ O (…).
-Режим доступа: http://algolist. manual. ru/misc/o_n. php
4. Теория алгоритмов (конспект лекций). - Режим доступа: http://www. nsu. ru/education/podzorov/Alg/Course. pdf
3. Алгоритм Шора – алгоритм, с помощью которого решается проблема факторизации. Был разработан Питером Шором в 1994 году. Семь лет спустя, в 2001 году, его работоспособность была продемонстрирована группой специалистов IBM. Число 15 было разложено на множители 3 и 5 при помощи квантового компьютера с 7 кубитами.
Основан на возможности быстрого вычисления с высокой точностью собственных значений унитарного оператора, если есть возможность эффективно вычислить любые его степени. В качестве такого оператора берётся умножение на
по модулю
. Этот оператор действует в
-мерном пространстве, где
. Базисный вектор, соответствующий числу
, преобразуется в базисный вектор, соответствующий числу
. Далее вычисляется такое
, что
, что позволяет (с высокой вероятностью) разложить
на множители на обычном компьютере. Как и другие алгоритмы для квантовых компьютеров, алгоритм Шора вероятностный: он даёт верный ответ с высокой вероятностью, причём вероятность ошибки может быть уменьшена при повторном использовании алгоритма.
Алгоритма Шора можно разделить на 2 этапа:
- классическое сведение разложения на множители к нахождению периода некоторой функции;
- квантовое нахождение периода этой функции.
Пусть:
нечётное число, не являющееся степенью простого числа, которое хотим разложить на множители;
размер используемого основного регистра памяти.
Известно, что битовый размер этой памяти
примерно в 2 раза больше размера
, а точнее,
.
случайный параметр, такой что
и НОД (t, M) = 1, НОД - наибольший общий делитель.
Отметим, что
,
,
– фиксированы. В алгоритме Шора используется стандартный способ сведения задачи разложения к задаче поиска периода функции для случайно подобранного числа t.
Значимость алгоритма заключается в том, что при использовании квантового компьютера с несколькими сотнями логических кубитов, он сделает возможным взлом криптографических систем с открытым ключом. Например, криптографический алгоритм RSA (первые буквы фамилий Rivest, Shamir и Adleman) использует открытый ключ N, являющийся произведением двух больших простых чисел. Один из способов взломать шифр RSA - найти множители N. При достаточно большом N это практически невозможно сделать, используя известные классические алгоритмы.
См. также: Алгоритм, Модуль сравнения, O-нотация, Факторизация.
Литература
1. Квантовые вычисления. - Казань: 2007.
-Режим доступа: http://old. kpfu. ru/eng/departments/ktk/RESOURCE/posobie. pdf
2. Физика квантовой информации.
-М.: Постмаркет, 2002. - 376 с.
-Режим доступа: http://quantmag. ppole. ru/Books/boumeister. pdf
4. Асимптотическое поведение функций. При исследовании поведения функции вблизи некоторой точки x0 (или при x → ∞) удобно заменить исследуемую
функцию на более простую (или более изученную) функцию, которая в окрестности исследуемой точки x0 с малой относительной погрешностью воспроизводит значения изучаемой функции. Так, функция sin x или tg x при x → 0 ведёт себя как функция x, (x + 1)/x при x → ∞ - как 1, ln (1 + x) при x → 0 – как x и т. д. Сама функция может быть не определена в точке x0 (или при x → ∞), и её поведение в окрестности этой точки называется асимптотическим. Для сравнения асимптотического поведения функций используются обозначения: «O» большое и «o» малое. Пусть
и
- две функции, определенные в некоторой проколотой окрестности точки
(проколотой называется окрестность, из которой исключена сама точка x0), и в этой окрестности
не обращается в нуль. Говорят, что:
а)
является «O» большим от
при
, если существует такая константа
, что для всех
из некоторой окрестности точки
имеет место неравенство
;
б)
является «о» малым от
при
, если для любого
найдется такая проколотая окрестность
точки
, что для всех
имеет место неравенство
![]()
Иначе говоря, в первом случае отношение
в окрестности точки
ограничено сверху, а во втором оно стремится к нулю при
.
См. также: Алгоритм.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |


