Задачи, реализуемые на КВ.
Известно два примера нетривиальных задач, в которых KB дают радикальный выигрыш. Первый из них - задача разложения целых чисел на простые множители и, как следствие, вычисления дискретного логарифма (ДЛ). Дальше речь пойдет именно о ДЛ. Пусть у нас есть поле вычетов по модулю простого числа. В нем есть первообразные корни - такие вычеты, чьи степени порождают все ненулевые элементы. Если задан такой корень и задана степень, то возвести в степень можно быстро (например, сначала возводим в квадрат, потом получаем четвертую степень, и т. д.) Дискретный логарифм - это обратная задача. Дан первообразный корень и какой-то элемент поля; найти, в какую степень нужно возвести этот корень, чтобы получить данный элемент. Вот эта задача уже считается сложной. Настолько сложной, что ряд современных криптографических систем основан на том предположении, что вычислить ДЛ за приемлемое время невозможно, если модуль - достаточно большое простое число. Так вот, для дискретного логарифма есть эффективный квантовый алгоритм. Его придумал Шор в конце 1994 года. После его статьи и начался взрыв публикаций по КВ. Независимо от него, Алексей Китаев из ИТФ им. Ландау построил квантовый алгоритм для этой и некоторых более общих задач [8]. Идеи у них были разные. Шор использовал примерно такую идею, она существенно квантовая: рассмотрим базис в фазовом пространстве. Он состоит из классических состояний. Но в линейном пространстве много базисов. Мы можем найти некий оператор, который эффективно строит другой базис; мы можем к нему перейти, сделать там какие-то вычисления, вернуться обратно и получить нечто совершенно отличное от того, что мы имели бы в классическом базисе. Одна из возможностей использовать квантовость состоит в том, что мы строим какой-то странный базис, в нем что-то делаем, возвращаемся обратно и интерпретируем результат. Шор именно эту идею и реализовал. Причем преобразование оказалось такое, которое и в физике, и в математике имеет принципиальное значение - дискретное преобразование Фурье.
Его можно представить в виде тензорного произведения операторов, которые действуют на каждый из кубитов такой матрицей: Китаев придумал примерно следующее. Есть некоторая ячейка - основной регистр, где мы записываем наши данные нулями и единицами. И еще есть один управляющий кубит. Мы работаем так: у нас реализована процедура умножения на первообразный корень, на квадрат первообразного корня, и т. д. Управляющий кубит переводим в некоторое смешанное состояние, дальше строим такой оператор, который, в зависимости оттого, ноль или единица в этом управляющем кубите, либо применяет умножение к нашему основному регистру, либо не применяет. А потом кубит опять возвращаем в смешанное состояние. Оказывается, что это эффективный способ проделать некоторое измерение. То есть Китаев заметил, что одна из вещей, которые мы можем эффективно делать на квантовом компьютере, - это имитировать процесс квантового измерения. В данной задаче из результатов этих измерений эффективно извлекается ответ. Сам процесс вычислений, происходит так: мы все время умножаем одну и ту же ячейку на некие константы, результаты измерений записываем, а потом производим своего рода обработку результатов эксперимента - уже чисто классическими вычислениями. Вся квантовая часть заключается в том, что где-то рядом с нашим регистром находится в некоем смешанном состоянии коррелированный с ним кубит, и мы его периодически наблюдаем. Для вычисления ДЛ числа, записанного N битами, нужно потратить N 3 единиц времени. Вполне реализуемо - на КК, естественно. Но здесь надо заметить, что никто пока не доказал, что не существует столь же быстрого алгоритма для вычисления ДЛ на обычной машине.
Вторая задача предложена Гровером (L. Grover) [9]. Рассмотрим базу данных, содержащую 2 N записей. Мы хотим найти ровно одну запись. Имеется некая процедура определения того, нужную запись мы взяли или нет. Записи не упорядочены. С какой скоростью мы можем решить эту задачу на обычном компьютере? В худшем случае нам придется перебрать все 2 N записей - это очевидно. Оказывается, что на КК достаточно числа запросов порядка корня из числа записей – 2 N /2 . Интересная задача - создание оптимальных микросхем. Пусть есть функция, которую нужно реализовать микросхемой, и эта функция задана программой, использующей полиномиально ограниченную память. Построение нужной микросхемы с минимальным числом функциональных элементов - задача PSPACE. Поэтому появление устройств, эффективно решающих PSPACE-задачи, позволило бы единообразно проектировать оптимальные по своим показателям вычислительные устройства обычного типа. Кроме того, в PSPACE попадает большинство задач «искусственного интеллекта»: машинное обучение, распознавание образов и т.д. Так вот, точно установлено, что KB находятся где-то между обычными вероятностными вычислениями и PSPACE. Если все же окажется, что KB можно эффективно реализовать на классических вероятностных машинах, не будет смысла в физической реализации квантовых машин. Если же выяснится, что при помощи KB можно эффективно решать те или иные PSPACE-задачи, то физическая реализация КК откроет принципиально новые возможности. Есть еще одна область применения КК, где заведомо возможен радикальный выигрыш у существующих технологий. Это моделирование самих квантовых систем. Давайте посмотрим на такой вопрос: как можно эволюцию квантовой системы изучать на обычном компьютере? Это постоянно делается, так как это задача важна для химии, молекулярной биологии, физики и т.п. Но, за счет экспоненциального роста размерности при тензорном произведении, для моделирования десяти спинов вам нужно оперировать с тысячемерным пространством, сто спинов - это уже конец. А если вспомнить, что в молекуле белка десятки тысяч атомов, то... Там, правда, не всюду существенно именно квантовое моделирование, но в целом ясно, что есть очень серьезные препятствия для моделирования квантовых систем на классических компьютерах. Так что если создать вычислительное устройство, которое ведет себя квантовым образом, то по крайней мере один важный класс задач на нем есть смысл решать - можно моделировать реальные квантовые системы, возникающие в физике, химии, биологии.
Проблемы создания КК. Когда начался бум вокруг квантовых вычислений, физики высказывались об этом более чем скептически. Модель квантовых вычислений не противоречит законам природы, но это еще не значит, что ее можно реализовать. К примеру, можно вспомнить создание атомного оружия и управляемый термояд. А если говорить о КК, надо отметить одну очень серьезную проблему. Дело в том, что любая физическая реализация будет приближенной. Во-первых, мы не сможем сделать прибор, который будет давать нам произвольный вектор фазового пространства. Во-вторых, работа любого устройства подвержена всяческим случайным ошибкам. А уж в квантовой системе - пролетит какой-нибудь фотон, провзаимодействует с одним из спинов, и все поменяется. Поэтому сразу возник вопрос, можно ли, хотя бы в принципе, организовать вычисления на ненадежных квантовых элементах, чтобы результат получался со сколь угодно большой достоверностью. Такая задача для обычных компьютеров решается просто - например, за счет введения дополнительных битов. В случае КК эта проблема гораздо глубже. То место, где возникает новое качество KB по сравнению с обычными вычислениями, - это как раз сцепленные состояния - линейные комбинации базисных векторов фазового пространства. У вас есть биты, но они не сами по себе живут в каких-то состояниях - это был бы просто вероятностный компьютер (компьютер, дающий тот или иной ответ с определенной вероятностью), - а они находятся в некоем смешанном состоянии, причем согласованно-смешанном. Из-за этого в КК нельзя, например, просто взять и скопировать один бит в другой! Обычная интуиция из теории алгоритмов здесь неприменима.
Так что проблема надежности довольно сложна, даже на уровне чистой теории. Те люди, которые активно занимаются KB, активно ее решали и добились успеха: доказано, что, как и в классике, можно делать вычисления на элементах с заданной надежностью сколь угодно точно. Это реализовано с помощью некоего аналога кодов, исправляющих ошибки. Что касается технической стороны появляются сообщения, что создаются реальные квантовые системы с небольшим числом битов - с двумя, скажем. Экспериментальные, в железе, так сказать. Так что эксперименты есть, но пока очень далекие от реальности. Два бита - это и для классического и для квантового компьютера слишком мало! Чтобы моделировать молекулу белка, нужно порядка ста тысяч кубитов. Для ДЛ, чтобы вскрывать шифры, достаточно примерно тысячи кубитов. Задача эта возникла слишком недавно, и не исключено, что она потребует каких-то фундаментальных исследований в самой физике. Поэтому в обозримом будущем ожидать появления квантовых компьютеров не приходится. Но можно ожидать распространения через не очень долгое время квантовых криптографических систем. Квантовая криптография позволяет обмениваться сообщениями так, что враг, если попытается подслушать, сможет разве что разрушить ваше сообщение. То есть оно не дойдет до адресата, но перехватить его в принципе будет нельзя. Подобные системы, которые уже реализованы, используют световод. Универсальный КК здесь не нужен. Нужно специализированное квантовое устройство, способное выполнять только небольшой набор операций, - своего рода квантовый кодек. Физической системе, реализующей квантовый компьютер, можно предъявить пять требований: 1. Система должна состоять из точно известного числа частиц. 2. Должна быть возможность привести систему в точно известное начальное состояние. 3. Степень изоляции от внешней среды должна быть очень высока. 4. Надо уметь менять состояние системы согласно заданной последовательности унитарных преобразований ее фазового пространства. 5. Необходимо иметь возможность выполнять «сильные измерения» состояния системы (то есть такие, которые переводят ее в одно из чистых состояний). Из этих пяти задач наиболее трудными считаются третья и четвертая. От того, насколько точно они решаются, зависит точность выполнения операций. Пятая задача тоже весьма неприятна, так как измерить состояние отдельной частицы нелегко.
Физические основы организации КК. Итак, что же это за тайное оружие такое - КК? Остроумная идея заключается в использовании для хранения, передачи и обработки информации существенно квантовых свойств вещества. В основном такие свойства проявляют объекты микромира: элементарные частицы, атомы, молекулы и небольшие сгустки молекул, так называемые кластеры. (Хотя, конечно, и в жизни макромира квантовая механика играет важную роль. В частности, только с ее помощью можно объяснить такое явление, как ферромагнетизм.) Одним из квантовых свойств вещества является то, что некоторые величины при измерении (наблюдении) могут принимать значения лишь из заранее определенного дискретного набора. Такой величиной, например, является проекция собственного момента импульса, или, иначе говоря, спина элементарной частицы, на любую заданную ось. Например, у электрона возможно только два значения проекции: + 1/2 или –1/2. Таким образом, количество информации, необходимое для сообщения о проекции, равно одному биту. Записав в классическую однобитную ячейку памяти определенное значение, мы именно его оттуда и прочтем, если не произойдет какой-нибудь ошибки. Классической ячейкой может послужить и спин электрона. Однако квантовая механика позволяет записать в проекции спина больше информации, чем в классике. Для описания поведения квантовых систем было введено понятие волновой функции. Существуют волновые функции, называемые собственными для какой-то конкретной измеряемой величины. В состоянии, описываемом собственной функцией, значение этой величины может быть точно предсказано до ее измерения. Именно с такими состояниями работает обычная память. Квантовая же система может находиться и в состоянии с волновой функцией, равной линейной комбинации собственных функции, соответствующих каждому из возможных значений (назовем здесь такие состояния сложными). В сложном состоянии результат измерения величины не может быть предсказан заранее. Заранее известно только, с какой вероятностью мы получим то или иное значение. В отличие от обычного компьютера, в квантовом для представления данных используются такие ячейки памяти, которые могут находиться в сложном состоянии. В нашем примере мы определили бы, что спин электрона с определенной вероятностью смотрит вверх и вниз, то есть можно сказать, что в кубит записаны сразу и 0, и 1. Количество информации, содержащееся в такой ячейке, и саму ячейку называют квантовым битом, или, сокращенно, кубитом. Согласитесь, ячейки в сложных состояниях весьма необычны для классической теории информации. Каждому возможному значению величины, представленной кубитом, соответствует вероятность, с которой это значение может быть получено при чтении. Эта вероятность равна квадрату модуля коэффициента, с которым собственная функция этого значения входит в линейную комбинацию. Именно вероятность и является информацией, записанной в кубит. Квантовую механику не случайно называют иногда волновой механикой. Дело в том, что квантово-механические волновые функции ведут себя подобно световой или какой-либо другой волне. И для волновых функций, благодаря их способности интерферировать, также может быть введено понятие когерентности. Именно это свойство используется в когерентном квантовом компьютере. Набор кубитов представляется когерентными волновыми функциями. Оказывается, что существует вполне определенный класс воздействий на квантовую систему, называемый унитарными преобразованиями, при которых не теряется записанная в кубит информация и не нарушается когерентность волновых функций кубитов. Унитарные преобразования обратимы - по результату можно восстановить исходные данные. После прохождения через квантовый процессор, использующий унитарные преобразования, волновые функции кубитов заставляют интерферировать друг с другом, наблюдая получающуюся картину и судя по ней о результате вычисления. Из-за того, что для представления информации используются кубиты, в которых записано сразу оба значения - и 0, и 1, в процессе вычислений происходит параллельная обработка сразу всех возможных вариантов комбинаций битов в процессорном слове. Таким образом, в КК реализуется естественный параллелизм, недоступный классическим компьютерам. За счет возможности параллельной работы с большим числом вариантов, в идеале равным 2 N (где N - число кубитов), квантовому компьютеру необходимо гораздо меньше времени для решения определенного класса задач. К ним относятся, например, задача разложения числа на простые множители или поиск в большой базе данных. Для когерентного компьютера уже предложены алгоритмы, использующие его уникальные свойства. Кроме того, предполагается использовать КК для моделирования квантовых систем, что трудно или вообще невозможно сделать на обычных компьютерах из-за нехватки мощности или по принципиальным соображениям. Все существующие на сегодняшний день обычные компьютеры, даже с параллельной обработкой информации на многих процессорах, могут быть смоделированы так называемым клеточным автоматом Тьюринга. Это существенно детерминированная и дискретная машина. С возникновением и обсуждением идей квантовых вычислений стала активно развиваться квантовая теория информации и, в частности, теория квантовых клеточных автоматов - ККА. Квантовый клеточный автомат является обобщением автомата Тьюринга для КК. Сформулирована гипотеза, гласящая, что каждая конечным образом реализуемая физическая система может быть достаточно хорошо смоделирована универсальной моделью квантовой вычислительной машины, использующей ограниченное количество ресурсов. Для одного из предложенных типов ККА теоретически уже доказано, что он подходит для такого моделирования и не противоречит квантовой теории. Пытаясь осуществить свой замысел, ученые упираются в проблему сохранения когерентности волновых функций кубитов, так как потеря когерентности хотя бы одним из кубитов разрушила бы интерференционную картину. В настоящее время основные усилия экспериментальных рабочих групп направлены на увеличение отношения времени сохранения когерентности ко времени, затрачиваемому на одну операцию (это отношение определяет число операций, которые можно успеть провести над кубитами). Главной причиной потери когерентности является связь состояний, используемых для кубитов, со степенями свободы, не участвующими в вычислениях. Например, при передаче энергии электрона в возбужденном атоме в поступательное движение всего атома. Мешает и взаимодействие с окружающей средой, например, с соседними атомами материала компьютера или магнитным полем Земли, но это не такая важная проблема. Вообще, любое воздействие на когерентную квантовую систему, которое принципиально позволяет получить информацию о каких-либо кубитах системы, разрушает их когерентность. Потеря когерентности может произойти и без обмена энергией с окружающей средой. Воздействием, нарушающим когерентность, в частности, является и проверка когерентности. При коррекции ошибок возникает своего рода замкнутый круг: для того чтобы обнаружить потерю когерентности, нужно получить информацию о кубитах, а это, в свою очередь, также нарушает когерентность. В качестве выхода предложено много специальных методов коррекции, представляющих также и большой теоретический интерес. Все они построены на избыточном кодировании. Если в области передачи информации уже созданы реально работающие системы и до коммерческих продуктов осталось лишь несколько шагов, то коммерческая реализация квантового когерентного процессора - дело будущего. К настоящему времени КК научился вычислять сумму 1+1! Это большое достижение, если учесть, что в виде результата он выдает именно 2, а не 3 и не 0. Кроме того, не следует забывать, что и первые обычные компьютеры были не особенно мощны. Сейчас ведется работа над двумя различными архитектурами процессоров: типа клеточного автомата и в виде сети логических элементов. Пока не известно о каких-либо принципиальных преимуществах одной архитектуры перед другой. Как функциональная основа для логических элементов квантового процессора более или менее успешно используется целый ряд физических явлений. Среди них - взаимодействие одиночных поляризованных фотонов или лазерного излучения с веществом или отдельными атомами, квантовые точки, ядерный магнитный резонанс и - наиболее многообещающий - объемный спиновый резонанс. Процессор, построенный на последнем принципе, в шутку называют «компьютером в чашке кофе» - из-за того, что в нем работают молекулы жидкости при комнатной температуре и атмосферном давлении. Кроме этих эффектов есть довольно хорошо развитая технология логических элементов и ячеек памяти на джозефсоновских переходах, которую можно при соответствующих условиях приспособить под когерентный процессор. Теорию, описывающую явления, лежащие в основе первого типа логических ячеек, называют квантовой электродинамикой в полости или резонаторе. Кубиты хранятся в основных и возбужденных состояниях атомов, расположенных некоторым образом на равных расстояниях в оптическом резонаторе. Для каждого атома используется отдельный лазер, приводящий его в определенное состояние с помощью короткого импульса. Взаимовлияние атомных состояний происходит посредством обмена фотонов в резонаторе. Основными причинами разрушения когерентности здесь служат спонтанное излучение и выход фотонов за пределы резонатора. В элементах на основе ионов в линейных ловушках кубиты хранятся в виде внутренних состояний пойманных ионов. Для управления логикой и для манипулирования отдельными кубитами также используются лазеры. Унитарные преобразования осуществляются возбуждением коллективных квантованных движений ионов. Источниками некогерентности является спонтанный распад состояний ионов в другие внутренние состояния и релаксация в колебательные степени свободы. Сильно отличается от двух предыдущих «компьютер в чашке кофе». Благодаря достоинствам данного метода этот компьютер является наиболее реальным претендентом на то, чтобы достигнуть разрядности 10 бит в ближайшее время. В компьютере на коллективном спиновом резонансе работают молекулы обычных жидкостей (без всяких квантовых вывертов типа сверхтекучести). В качестве кубитов используется ориентация ядерных спинов. Работа логических ячеек и запись кубитов осуществляется радиочастотными электромагнитными импульсами со специально подобранными частотой и формой. В принципе, прибор похож на обычные приборы ядерного магнитного резонанса (ЯМР) и использует аналогичную аппаратуру. Жизнеспособность этого подхода обеспечивается, с одной стороны, очень слабой связью ядерных спинов с окружением и, потому, большим временем сохранения когерентности (до тысяч секунд). Эта связь ослаблена из-за экранирования ядерных спинов спинами электронов из оболочек атомов. С другой стороны, можно получить сильный выходной сигнал, так как для вычислений параллельно используется большое количество молекул. «Не так уж сложно измерить спин четвертого ядра у какого-то типа молекул, если у вас имеется около числа Авогадро (~1023) таких молекул», - говорит Ди Винченцо (Di Vincenzo), один из исследователей. Для определения результата непрерывно контролируют излучение всего ансамбля. Такое измерение не приводит к потере когерентности в компьютере, как было бы в случае использования только одной молекулы. Ядерные спины в молекулах жидкости при комнатной температуре хаотически разупорядочены, их направления равномерно распределены от 0 до 4p. Проблема записи и считывания кажется непреодолимой из-за этого хаоса. При воздействии магнитного поля спины начинают ориентироваться по полю. После снятия поля через небольшое время система снова приходит к термодинамическому равновесию, и в среднем лишь около миллионной доли всех спинов остается в состоянии с ориентацией по направлению поля. Однако благодаря тому, что среднее значение сигнала от хаотически направленных спинов равно нулю, на этом фоне можно выделить довольно слабый сигнал от «правильных» спинов. Вот в этих-то молекулах с правильными ядерными спинами и размещают кубиты. Для коррекции ошибок при записи N кубитов используют 2N или больше спинов. Например, для N =1 выбираются такие жидкости, где какие-то два спина ядер в одной молекуле после определенного воздействия полем могут быть ориентированны только одинаково. Тогда по направлению второго спина при снятии результата обработки можно отсеять нужные молекулы, никак не влияя на первый спин. Как уже было сказано, обработка битов осуществляется радиоимпульсами. Основным логическим элементом является управляемый инвертор. Из-за спин-спинового взаимодействия резонансная частота, при которой происходит опрокидывание одного спина, зависит от направления другого. Что касается квантовой передачи данных, к настоящему времени экспериментально реализованы системы обмена секретной информацией по незащищенному от несанкционированного доступа каналу. Они основаны на фундаментальном постулате квантовой механики о невозможности измерения состояния без оказания влияния на него. Подслушивающий всегда изменяет состояние кубитов, которые он подслушал, и это может быть зафиксировано связывающимися сторонами. Данная система защиты информации абсолютно надежна, так как способов обойти законы квантовой механики пока еще никто не выдумал.
Вместо заключения… Пока квантовым компьютерам по плечу только наиболее простые задачи - например, они уже умеют складывать 1 и 1, получая в результате 2. Было также запланировано взятие другого важного рубежа - факторизации числа 15, его предстоит разложить на простые множители - 3 и 5. А там, глядишь, дойдет дело и до более серьезных задач. Опытные образцы сейчас содержат менее десяти квантовых битов. По мнению Нейла Гершенфельда (Nell Gershenfeld), участвовавшего в создании одной из первых действующих моделей квантового компьютера, необходимо объединить не менее 50-100 кубитов, чтобы решать полезные с практической точки зрения задачи. Интересно, что добавление каждого следующего кубита в квантовый компьютер на эффекте объемного спинового резонанса требует увеличения чувствительности аппаратуры в два раза. Десять дополнительных кубитов, таким образом, потребуют увеличения чувствительности в 1000 раз, или на 60 дБ. Двадцать - в миллион раз, или на 120 дБ... He исключено, что в информационном обществе появление квантового компьютера сыграет ту же роль, что в свое время, в индустриальном, - изобретение атомной бомбы. Действительно, если последняя является средством «уничтожения материи», то первый может стать средством «уничтожения информации» - ведь очень часто то, что известно всем, не нужно никому. Литература, содержащая основную информацию о КК. 1. Feynman R. Int. J. Theor. Phys. 21, 1982. 2. Манин Ю.И. Вычислимое и невычислимое. - М.: Советское радио, 1980. 3. Feynman R. Quantum mechanical computers. // Optics News, February 1985, 11, p.11. 4. Deutsch D. Quantum theory, the Church-Turing principle and the universal quantum computer. - Proc. R. Soc. London A 400, 97, 1985. 5. Deutsch D. Quantum computational networks. - Proc. R. Soc. London A 425, 73, 1989. 6. Yao А. С.-С. Quantum circuit complexity. //Proceedings of the 34th Annual Symposium on the Foundations of Computer Science, IEEE Computer Society Press, Los Alamitos, CA, 1993, p. 352. 7. Shor P.W. Algorithms for Quantum Computation: Discrete log and Factoring. // Proceedings of the 35th Annual Symposium on the Foundations of Computer Science, edited by S. Goldwasser, IEEE Computer Society Press, Los Alamitos, CA, 1994, p.124. 8. Китаев A.Ю. Квантовые вычисления: алгоритмы и исправление ошибок. //Успехи математических наук. 9. Grover L. Afast quantum mechanical algorithm for database search. //Proceedings of the 28th Annual ACM Symposium on Theory of Computing, 1996, pp. 212-219. 10. Kitaev A.Yu. Quantum measurements and the Abelian stabilizer problem. - LANL e-print quant-ph/9511026, http://xxx.lanl.gov. 11. Shor P.W. Fault-Tolerant Quantum Computation. - LANL e-print quant-ph/9005011, http://xxx.lanl.gov. 12. Bennett С.Н., Bernstein E., Brassard G., Vazirany U. Strengths and Weaknesses of Quantum Computing. - LANL e-print quant-ph/9701001, http://xxx.lanl.gov, to appear in SIAM J. On Computing.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|