ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ
Архив статей журнала
Отличие классического алгоритма от квантового (КА) заключается в следующем: задача, решаемая КА, закодирована в структуре квантовых операторов, применяемых к входному сигналу. Входной сигнал в структуру КA в этом случае всегда один и тот же. Выходной сигнал КA включает в себя информацию о решении закодированной проблемы. В результате КA задается функция для анализа, и КA определяет ее свойство в виде ответа без количественных вычислений. КA изучает качественные свойства функций. Ядром любого КA является набор унитарных квантовых операторов или квантовых вентилей. На практике квантовый вентиль представляет собой унитарную матрицу с определенной структурой. Размер этой матрицы растет экспоненциально с увеличением количества входных данных, что существенно ограничивает моделирование КA на классическом компьютере с фон-неймановской архитектурой. Модели квантовых поисковых алгоритмов применяются для решения задач информатики, таких как поиск в неструктурированной базе данных, квантовая криптография, инженерные задачи, проектирование систем управления, робототехника, интеллектуальные контроллеры и т.д. Алгоритм Гровера подробно объясняется вместе с реализациями на локальном компьютерном симуляторе. В представленной статье описывается практический подход к моделированию одного из самых известных КA на классических компьютерах - алгоритма Гровера.
Описана методика модификации моделирования квантового алгоритма, основанная на прямом (большого объема) матричном представлении квантовых операторов. Этот подход стабилен и точен, но требует размещения матриц оператора в памяти компьютера. Поскольку размер операторов растет экспоненциально, подход полезен для моделирования квантовых алгоритмов с относительно небольшим количеством кубитов (например, приблизительно 11 кубитов на типовом компьютере). Используя его, относительно просто смоделировать работу системы контроля качества решения и выполнить анализ достоверности. Более эффективный метод быстрого моделирования контроля качества основан на вычислении всех или части операторных матриц по мере необходимости на текущей вычислительной основе. Используя данный метод, можно избежать сохранения всех или части операторных матриц. В этом случае количество кубитов, которые могут быть смоделированы (например, количество входных кубитов или количество кубитов в регистре состояния системы), влияет на экспоненциальный рост числа операций, необходимых для вычисления результата матричных произведений, и на размер вектора состояния, выделяемого в памяти компьютера. В одном из вариантов применения этого подхода целесообразно моделировать до 19 или более кубитов на типичном настольном компьютере и даже больше на системе с векторной архитектурой. Из-за особенностей процессов адресации памяти и доступа к ней в типичном настольном компьютере (например, персональный компьютер на базе Pentium), когда количество кубитов относительно невелико, подход «вычисления по требованию», как правило, эффективнее, чем подход с прямым хранением. Подход «вычисления по требованию» выигрывает благодаря применению результатов детального изучения квантовых операторов и их структуры, что позволяет более эффективно вычислять матричные элементы. В работе рассмотрено эффективное моделирование алгоритма квантового поиска Гровера на примере компьютера с классической архитектурой.