Как работают кубиты и каковы их плюсы и минусы? Какое влияние они окажут на языки программирования?
Что мы можем сделать с кубитами больше, чем с обычными битами, и как они работают? Я читал о них некоторое время назад, и кажется, что кубиты могут хранить не только 0 или 1, но также 0 и 1 одновременно. Я не очень понимаю, как они работают. Может кто-нибудь, пожалуйста, объясните мне это?
Каковы их плюсы и минусы и какое влияние они окажут на языки программирования, такие как C, после того, как квантовые компьютеры будут изобретены?
Как бы мы управляли памятью, когда бит (который также является квантом) может принимать несколько значений одновременно? Как мы можем определить, является ли что-то истинным или ложным, когда есть больше, чем просто 1 и 0?
4 ответа
Любая "классическая" (как ее будут называть, когда технология станет более широко использоваться) проблема, которая решается с помощью "классического" кода, может быть решена с помощью своего рода квантового процессора путем преобразования проблемы. Например, чтобы выполнить поиск в базе данных, вместо использования поиска на основе индекса / двоичного поиска или линейного поиска для несортированной базы данных, вы можете использовать алгоритм Гровера. Кроме того, чтобы сделать шаг назад от упоминания предыдущего постера о BQP
проблемы, проблемы с классическим "решением", которое работает в NP
время может быть значительно ускорено алгоритмом Гровера (ускорение поиска всех возможных решений). Криптография RSA также стала намного более небезопасной с появлением алгоритма Шора, поскольку она делает разложение больших чисел на их основные факторы (шарнир, на котором сидит RSA) разрешимым в логарифмическом времени.
РЕДАКТИРОВАТЬ: алгоритм Шора на самом деле работает в O((log N)^3), который является полиномиальным по логарифмическому времени.
Вывод такого рода состоит в том, что ранее существующие языки программирования, такие как C, не смогут использоваться на квантовом компьютере из-за природы квантовых алгоритмов (применения определенных функций к квантовым состояниям), если кто-то не изобрел способ отображения квантовые врата и т. д. к логическим воротам (РЕДАКТИРОВАТЬ: это, по-видимому, в основном рассматривается здесь), и в этом случае все, что мы получаем, это очень очень быстрый логический процессор при использовании таких языков, как C.
PS: я уверен, что со временем появятся привязки OpenGL для квантовых вычислений:P
Если мы сможем создать работающий квантовый компьютер (все еще открытый вопрос), то он сможет эффективно решать определенные алгоритмические проблемы, которые (мы думаем) классический компьютер не может эффективно решить. Это проблемы в классе сложности BQP, но не в P. Один большой из них - целочисленная факторизация. Как сказал Уилл А, если вы можете быстро вычислять огромные целые числа, вы можете сломать много современных шифров.
Суть в том, что никто не знает наверняка, действительно ли BQP "больше", чем P - возможно, все, что квантовый компьютер может сделать быстро, так же, как и классический компьютер.
Мы также не знаем, является ли BQP таким же большим, как NP- например, никто не нашел эффективного способа решения задачи коммивояжера на квантовом компьютере. Это распространенное заблуждение о квантовых компьютерах. Возможно, они смогут быстро выполнить NP-завершенные задачи, а потом опять не смогут. Никто не знает.
http://scottaaronson.com/blog/?p=208 хорошо читайте эту тему (как и остальная часть блога).
Что касается того, что можно решить с помощью квантовых компьютеров: квантовый компьютер сломал бы существующие асимметричные схемы шифрования. Распространенное заблуждение, что квантовые компьютеры могут решить большинство задач оптимизации. Они не могут. В этой статье вы найдете более подробную информацию о том, что можно решить с помощью квантовых компьютеров, а что нет.
Кубиты не хранят 0 и 1 одновременно, фактически они сделаны из суперпозиции 0 и 1 одновременно. поэтому, если нормальный бит может представлять 0 или 1 за один раз, но кубиты содержат 0 и 1 за один раз. три нормальных бита могут хранить любой из следующих значений: 000,001,010,..., 111. но кубит может представлять их всех одновременно (которые находятся в суперпозиции). поэтому "n" кубиты хранят 2^n битов одновременно!
Предположим, что кубит представляет собой электрон, и он вращается так же, как частица дипольного импульса, а когда он вращается, он создает амплитуду с множественной интенсивностью и частотами, которые при малой амплитуде могут создавать спиновые вибрации или импульс частицы, в которой импульс может хранить тысячи бит информации! (это называется квантовая обработка информации), что будущее!