Как стать автором
Обновить

Квантовые вычисления и с чем их едят. Часть 1

Время на прочтение6 мин
Количество просмотров7.3K

Добро пожаловать в ад захватывающий мир квантовых вычислений! Если вы хотите обогатить свой ум новыми знаниями и научиться доводить оппонентов до коллапса - прошу под кат. 

Дисклеймер

Этот цикл статей рассчитан на тех, кому просто интересны современные технологии и наука. Вероятно, многие формулировки будут неточными. Я часто контактирую с одаренными подростками, и, можно сказать, именно их вопросы и сподвигли меня на написание данного цикла.

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

Биты и кубиты

Все мы привыкли к булевой логике - это база, основа классических вычислений. Булева логика описывает логические операции и выражения, которые могут быть применены к бинарным (двоичным) значениям 0 и 1. Для нас эта логика очень проста для понимания, ведь 0 или 1 можно сопоставить с отсутствием или наличием чего-то. В классических компьютерах отсутствие заряда принимается за 0, а его наличие - за 1. 

Но вот квантовая логика - это уже что-то, что достойно утренних размышлений за чашкой кофе, которые заменят обычные нам размышления о тщетности бытия. Если в классическом компьютере мы оперируем битами, что принимают значения либо 0, либо 1, то в квантовом компьютере мы оперируем кубитами, что могут быть:

  1. В определенном состоянии (либо 0, либо 1, как классический бит, другого не дано)

  2. В состоянии суперпозиции (кубит является и нулем, и единицей одновременно)

Если пункт 1 особо не вызывает вопросов, то пункт 2 уже может заинтересовать. На самом деле, ничего страшного в суперпозиции нет. Наоборот, это очень круто и полезно.

Итак, что же значит “суперпозиция”? Это такое состояние, когда объект не имеет определенного состояния, он находится во всех возможных состояниях одновременно, но с разной вероятностью, которые в сумме дают 1.

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

Итак. Есть такое состояние, когда кубит характеризует собой вероятности стать 1 и 0. Если мы захотим “прочитать” кубит, узнать его состояние, мы разрушим суперпозицию (это явление называется коллапсом или схлопыванием) и получим 1 или 0 с вероятностью, которая определялась параметрами кубита (в следующих статьях мы поговорим об этих параметрах), когда он был в суперпозиции. Мы никогда не сможем предсказать, во что схлопнется кубит - это квантовая случайность. С некоторой вероятностью, но все же абсолютно случайно мы получим определенное значение.

Ниже приведена картинка, которая демонстрирует суперпозицию кубита:

При чтении кубита А находящегося в суперпозиции мы можем получить 0 с вероятностью 0,5 и 1 с такой же вероятностью 0,5.

Окей, суперпозицию мы приняли. Так что же можно называть кубитом?

Кто же такие эти ваши кубиты?

Кубит - квантовый объект, который может находиться в состоянии суперпозиции и запутываться с другими кубитами. К кубитам применяется квантовая логика, классическая им не подходит (все мы со странностями). Запутывание двух и более кубитов - это квантовый эффект, при котором состояния кубитов невозможно описать независимо друг от друга. Т.е если у нас два запутанных кубита, то мы не можем отдельно описать состояние первого. Вместо рассмотрения этих кубитов по отдельности, нам нужно работать с системой, которую они образуют. Это связано с тем, что запутанные кубиты влияют друг на друга, влияют на любом расстоянии, влияют мгновенно (состояние одного кубита зависит от состояния другого). Когда я говорю “мгновенно”, это действительно мгновенно. Быстрее скорости света. Небольшое уточнение: эффект запутывания между кубитами не нарушает ограничение на скорость передачи информации, установленное теорией относительности. Это связано с тем, что запутывание не является передачей информации в традиционном смысле, а скорее представляет собой связь между кубитами, которая не зависит от расстояния между ними. Таким образом, если мы измерим один запутанный кубит, другой кубит сразу же изменит свое состояние.

Система из n запутанных кубитов находится в суперпозиции 2^n битов.

Давайте рассмотрим на примере двух запутанных кубитов.

Имеем два запутанных кубита А и В, каждый из которых находится в такой суперпозиции, что вероятность получить 1 или 0 при чтении любого из них равна 0,5.

Тогда есть 4 возможных двоичных значения, которые мы можем получить после прочтения нашего регистра, и вероятность получить любое из них равна 0,25:

Почему так?

Давайте рассмотрим несколько вариантов:

1) Кубит А схлопнулся в 0:

  • Если кубит B схлопнулся в 0, то получим значение 00

  • Если кубит B схлопнулся в 1, то получим значение 01

2) Кубит А схлопнулся в 1:

  • Если кубит B схлопнулся в 0, то получим значение 10

  • Если кубит B схлопнулся в 1, то получим значение 11

Вероятность получить любое из этих 4 состояний - 0,5*0,5 = 0,25

Копирование

Что еще может кубит? Нууууууу…

Скорее, не может. Кубиты нельзя копировать. Что вообще значит “копировать”?  Приведу пример с классической логикой. Допустим, у нас две лампы, одна из которых горит, а вторая не горит. Мы можем посмотреть на первую лампу, увидеть, что она горит и включить вторую лампу. Мы скопировали бит информации. Почему же с кубитами такой трюк не прокатит? Из-за суперпозиции и ее свойства коллапсировать. Когда мы захотим “посмотреть” на кубит, мы разрушим его суперпозицию, и его былое состояние навсегда исчезнет. Что же получается? Мы можем скопировать бит, поскольку измерение не влияет на его состояние. Но мы не можем скопировать кубит, поскольку измерение влияет на его состояние.

Допустим. Ну, имеем мы кубиты вместо битов, и что это нам дает?

Вот что это нам дает?

Это дает нам возможность решать некоторые задачи быстрее, чем на обычном компьютере. Система из n кубитов, находящихся в суперпозиции, находится сразу во всех 2^n состояниях. Во всех состояниях, но с разными вероятностями. Задача программиста - составить алгоритм, который будет максимизировать вероятность получения нужного результата. А результатом работы программы является схлопывание квантовой системы и получение определенного результата.

Из вышесказанного вытекает интересный факт: квантовый компьютер может выдать абсолютно любой результат, у которого вероятность больше 0. Потому при решении задачи нельзя полагаться на ответ при лишь одном запуске - мало ли, вдруг вероятность 0.000001 сработала и компьютер выдал неверный результат. Нужно проводить множество запусков для получения статистически значимого результата.

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

Одной из задач перебора является факторизация чисел, т.е их разложение на простые множители. С ростом разлагаемого числа экспоненциально растет время, необходимое для его факторизации. Но это для обычного компьютера. Квантовый факторизует число за полиномиальное время. 

А что с практическим применением?

Почему это нам полезно?

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

В одной из следующих статей будет приведен пример, как квантовый компьютер может помочь в защите информации.

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

В чем же проблема? Во-первых, наши кубиты сильно подвержены внешним факторам, из-за чего вся система очень нестабильна. Во-вторых, на 2023 год IBM запланировали создать систему с 1121 кубитами. Этого количества очень мало, чтобы представлять какую-то угрозу информационной безопасности.

Заключение

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

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

Я надеюсь, моя статья даст базовое понимание о том, с чем едят квантовые компьютеры. В следующей части разберем кубиты с более “научной” точки зрения и затронем квантовую логику. Цель, с которой я работаю над этим циклом - популяризация науки среди молодежи. Буду благодарен за любую критику.

Всем коллапса!

Теги:
Хабы:
Всего голосов 5: ↑3 и ↓2+1
Комментарии9

Публикации

Истории

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург