Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
получай.. 09.07.01 15:27 Число просмотров: 1586
Автор: zelych Статус: Member
|
что-то поздновато ты опомнился, и неожиданно как-то..
однако, если интересно, тогда вот..
как всё это должно выглядеть в железе я не знаю, существует море всевозможных идей по поводу физической реализации квантового компьютера, да и не силён я в физике, поэтому расскажу с математической точки зрения..
вообще, квантовое вчисление является вероятностным, т.е. после применения этой схемы к некоторому начальному состоянию есть "большая" вероятность получить значение некоторой функции от этого состояния.
вероятность эта получается то ли из принципа Гейзинберга, то ли из уравнения Шредингера, вообщем смысл в том, что невозможно точно определить состояние квантовой частицы, а используемые для измерения физические взаимодействия изменяют состояние частицы (кстати именно это и используется в квантовой криптографии).
квантовая схема оперирует некоторым количеством кубитов (частиц). каждый кубит имеет два базисных состояния 0 и 1, так же возможны любые линейные комбинации этих состояний с комплексными коэффициентами:
ф =a.000> +b.001> + ..+c.1111>,
причём вероятность обнаружить некоторое из базисных состояний равна квадрату коэффициента при этом состоянии ( для |..00> это |a|^2), соответственно
|a|^2 + |b|^2 + .. = 1,
это равенство должно быть справедливо и для состояния кубитов после преобразования, поэтому квантовая схема должна состоять из некоторого множества унитарных операторов, сохраняющих эту сумму.
теперь немного о том, как всё это делается..
некоторое количество кубитов находится в каком-либо определённом состоянии. из них берётся несколько и они преобразуются определённым квантовым гейтом, и ставятся на место, после того, как таким образом проделаны все необходимые преобразования, измеряется конечнге состояние кубитов.
вот и всё..
самое главное то, что любые измерения производятся только в самом конце, т.к. после измерения состояние изменяется, т.е. нельза сделать например так:
if( ф == 0) ф++;
а теперь самое главное: квантовый параллелизм..
пусть, например, требуется найти период последовательности
f(0), ..., f( 2^n - 1)
берём два набора кубитов ф1 и ф2: в первом 2^n кубитов, во втором немного побольше.
посредством некоторого квантового оператора преобразуем первый набор к состоянию, в котором все значения 0 .. 2^n-1 равновероятны, т.о. в ф1 получилась суперпозиция всех значений аргумента функции f.
затем f(x) представляется в виде квантовой схемы F(ф) и вычисляется
ф2 = F(ф1),
т.о. ф2 - суперпозиция всех значений f(x) при x = 0 .. 2^n
вот и весь параллелизм..
потом применяется квантовое преобразование Фурье к ф1 (как всё это выглядит не помню).
измеряются значения ф1 и ф2, на этом квантовая часть закончена..
теперь, если t - период и f(a+t) = f(a), то в суперпозиции всех значений аргумента конструктивная интерференция будет только при ф1/2^n кратном 1/t, соответственно вероятность получить это значение будет слегка больше остальных.
пример с периодом последовательности здесь неспроста, если надо разложить на множители большое число N, то можно взять число а взаимно простое с N и вычислить
f(x) = a^x mod N
последовательность {f(x)} периодическая, с периодом t
a^t = 1 mod N,
если он чётный, то последнее тождество можно переписать вот так:
( a^(t/2) - 1 ) ( a^(t/2) + 1) = 0 mod N,
откуда следует, что НОД одного из сомножителей с N является делителем N
вот так..
|
|
|