ЛИТЕРАТУРНЫЙ ЖУРНАЛ ФАНТАСТИКИ
Get Adobe Flash player

Автор: Олег Парамонов, 17 апреля 2013

В одном из рассказов Лема про великих роботов-инженеров Трурля и Клапауция упоминается, что однажды они построили счётную машину, которая только и умела, что умножать два на два, зато обладала вздорным характером и даже такую простую вещь не всегда делала правильно. Современные квантовые компьютеры немного напоминают эту лемовскую машину. Несколько лет назад один из них вошёл в историю тем, что разложил на множители число 15. Это труднее, чем перемножать двойки, но пользы от такой способности примерно столько же.

Несмотря на скромные успехи, квантовые вычисления обсуждают уже третий десяток лет, и интерес к ним не падает. Наоборот, в последнее время о них говорят особенно много. Квантовые компьютеры всё чаще упоминают в новостях, не имеющих прямого отношения к науке.

Аналитическая компания Gartner включила их в список перспективных технологий, которые «выстрелят» в ближайшие десять лет. Основатели компании Parallels, видимо, разделяют это мнение, потому что несколько месяцев назад основали венчурный фонд, который будет инвестировать в развитие квантовых технологий. Тем временем Google и Lockheed Martin тратят миллионы на устройства, использующие для работы квантовые эффекты. Как говорил Винни Пух, это «ж-ж-ж» неспроста!

Невозможные машины

И квантовые, и классические компьютеры обрабатывают данные, которые закодированы единицами и нулями. Разница в том, что в классическом компьютере значение каждого бита всегда известно. Значение кубитов — элементов для хранения информации, из которых состоит квантовый компьютер, может быть неопределённым и соответствовать сразу и единице, и нулю, причём с различной вероятностью для того и другого.

Во время работы квантового компьютера отдельные кубиты связаны между собой эффектом квантовой запутанности (entanglement). Несколько связанных кубитов с неопределённым значением содержат не одно число, а все возможные числа, умещающиеся в ячейке такой разрядности. Иными словами, квантовый компьютер одновременно рассматривает все решения задачи, и правильные, и ошибочные.

Проблема заключается в том, что при считывании информации неопределённость исчезает. Вместо бесчисленного множества решений, которые только что содержал квантовый компьютер, остаётся только одно, причём не самое верное, а первое попавшееся. Чтобы от квантового компьютера была какая-то польза, ненужные варианты нужно заранее отсеять.

Это делают с помощью квантовых алгоритмов, которые состоят из специальных операций, влияющих на кубиты. Ассоциация с компьютерными программами, которую, возможно, вызовет слово «алгоритм», не особенно точна. Квантовые алгоритмы совсем не похожи на программы. У них куда больше общего с логическими схемами, состоящими из вентилей И, ИЛИ и НЕ, только вместо булевой алгебры они используют квантовую логику.

Квантовое программирование

В 1994 году математик Питер Шор придумал первый квантовый алгоритм, у которого потенциально может быть практическое применение. Алгоритм Шора предназначен для факторизации чисел, то есть разложения их на простые множители. Именно его работоспособность проверял квантовый компьютер, раскладывавший на множители число 15.

Факторизация чисел — это одна из тех задач, с которой традиционные компьютеры справляются с огромным трудом. Чем больше число, тем больше времени требуется для того, чтобы определить его множители. И не просто больше: количество шагов, необходимое для факторизации числа известными алгоритмами, экспоненциально растёт с каждым дополнительным разрядом и быстро переходит границы возможного.

На этом свойстве держится криптография с открытым ключом, которую используют для защиты финансовых данных в интернете или в электронной валюте Bitcoin. Чтобы вскрыть, например, шифр RSA, необходимо знать множители, из которых состоит открытый ключ. Поскольку ключом служит достаточно большое число, для того чтобы факторизовать его с помощью обычного компьютера, потребуются годы.

Когда та же задача решается на квантовом компьютере с помощью алгоритма Шора, время вычислений растёт не экспоненциально, а гораздо медленнее. Большие числа по-прежнему факторизуются дольше коротких, но не настолько долго, чтобы и пытаться не стоило.

Поделиться в соц. сетях

Share to Facebook
Share to Google Plus
Share to LiveJournal
Share to MyWorld
Share to Odnoklassniki
Share to Yandex

Pages: 1 2 3

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>