Что такое квантовый компьютер? Объясняется на простом примере.

chto takoe kvantovyj kompyuter obyasnyaetsya na prostom primere?v=1656516136

Ю.К. Сугги

rfClIjlhSIUyM1bQbtCYI2SK-GXDNDBpIAmi

Привет всем!

На днях я посетил Системы D-Wave в Ванкувере, Канада. Это компания, производящая передовые квантовые компьютеры.

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

Цель этой статьи – дать вам точное представление о том, что представляет собой квантовый компьютер на простом примере.

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

Ладно, начнем.

Редактировать (26 февраля 2019 г.): Недавно я опубликовал видео по этой же теме на своем YouTube-канале. Я бы рекомендовал просмотреть его (нажмите здесь) до или после прочтения этой статьи, поскольку я добавил некоторые дополнительные, более нюансированные аргументы в видео.

Что такое квантовый компьютер?

Вот краткое описание того, что такое квантовый компьютер:

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

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

Чтобы объяснить, что такое квантовый компьютер, мне нужно сначала объяснить обычные (неквантовые) компьютеры.

Как обычный компьютер хранит информацию

Теперь обычный компьютер хранит информацию в серии 0 и 1.

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

Каждая единица этой серии 0 и 1 называется битом. Таким образом, бит можно установить на 0 или 1.

А как же квантовые компьютеры?

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

Каждый кубит может быть установлен не только в 1 или 0, но его можно установить на 1 и 0. Но что же это значит?

Объясню это на простом примере. Это будет искусственный пример. Но это все равно поможет понять, как работают квантовые компьютеры.

Простой пример для понимания того, как работают квантовые компьютеры.

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

Чтобы это было просто, предположим, что сейчас вам нужно переместить только 3 человека – Алису, Бекки и Криса.

И допустим, что вы заказали для этого 2 такси, и вы хотите выяснить, кто в какое такси садится.

Кроме того, предположим, что здесь вам предоставлена ​​информация о том, кто с кем дружит, а кто с кем враг.

Вот, скажем так:

  • Алиса и Бекки подруги
  • Алиса и Крис – враги
  • Бекки и Крис – враги

И допустим, что ваша цель – разделить эту группу из 3 человек на два такси для достижения следующих двух целей:

  • Максимизируйте количество дружеские пары которые имеют один и тот же автомобиль
  • Минимизируйте количество вражеские пары которые имеют один и тот же автомобиль

Ладно, это основная предпосылка этой проблемы. Давайте сначала подумаем, как мы бы решили эту проблему с помощью обычного компьютера.

Устранение этой проблемы с помощью обычного компьютера

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

Давайте отметим два такси Такси №1 и Такси №0.

Затем вы можете представить, кто в какой автомобиль садится с помощью 3 битов.

К примеру, мы можем установить для трех битов значение 0, 0, и 1 представлять:

  • Алиса садится в такси №0
  • Бекки садится в такси №0
  • Крис садится в такси №1

Поскольку для каждого человека есть два варианта, есть 2*2*2 = 8 способов разделить эту группу на две машины.

Вот список всех возможных конфигураций:

A | B | C
0 | 0 | 0
0 | 0 | 1
0 | 1 | 0
0 | 1 | 1
1 | 0 | 0
1 | 0 | 1
1 | 1 | 0
1 | 1 | 1

Используя 3 бита, вы можете представить любую из этих комбинаций.

Вычисление баллов для каждой конфигурации

Теперь, используя обычный компьютер, как определить, какая конфигурация является лучшим решением?

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

  • Максимизируйте количество дружеские пары которые имеют один и тот же автомобиль
  • Минимизируйте количество вражеские пары которые имеют один и тот же автомобиль

Давайте просто определим нашу оценку так:

(оценка заданной конфигурации) = (# пар друзей, пользующихся одним автомобилем) — (# пар врагов, сидящих в одном автомобиле)

К примеру, предположим, что Алиса, Бекки и Крис садятся в Такси №1. С тремя битами это можно выразить как 111.

В данном случае есть только одна пара друзей в одной машине – Алиса и Бекки.

Однако есть две вражеские пары в одной машине – Алиса и Крис, Бекки и Крис.

Следовательно, общая оценка данной конфигурации 1-2 = -1.

Решение проблемы

Со всеми этими настройками мы, наконец, можем решить эту проблему.

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

Итак, вы можете подумать о построении таблицы так:

A | B | C | Оценка
0 | 0 | 0 | -1
0 | 0 | 1 | 1 <- одно из лучших решений
0 | 1 | 0 | -1
0 | 1 | 1 | -1
1 | 0 | 0 | -1
1 | 0 | 1 | -1
1 | 1 | 0 | 1 <- другое лучшее решение
1 | 1 | 1 | -1

Как видим, здесь есть два правильных решения – 001 и 110, оба имеют 1 балл.

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

Мы увидели, что с 3 людьми нам нужно пройти 8 возможных конфигураций.

А если 4 человека? В этом случае нам нужно будет пройти через 2*2*2*2=16 конфигураций.

Имея n людей, нам нужно будет пройти через (2 в степени n) конфигурации, чтобы найти наилучшее решение.

Итак, если будет 100 человек, нам нужно пройти:

  • 2¹⁰⁰ ~= 10³⁰ = миллион миллионов миллионов миллионов конфигураций.

Обычным компьютером решить это просто невозможно.

Устранение этой проблемы с помощью квантового компьютера

Как бы мы разрешили эту проблему с помощью квантового компьютера?

Чтобы подумать об этом, вернемся к случаю разделения 3 человек на два такси.

Как мы видели ранее, существует 8 возможных решений этой проблемы:

A | B | C
0 | 0 | 0
0 | 0 | 1
0 | 1 | 0
0 | 1 | 1
1 | 0 | 0
1 | 0 | 1
1 | 1 | 0
1 | 1 | 1

На обычном компьютере, используя 3 бита, мы смогли представить только одно из этих решений за раз – например, 001.

Однако с квантовым компьютером, используя 3 кубитымы можем представить все 8 этих решений одновременно.

Существуют споры по поводу того, что именно это означает, но вот как я думаю об этом.

Сначала изучите первый кубит из этих 3 кубитов. Когда вы установите его на оба 0 и 1, это похоже на создание двух параллельных миров. (Да, это удивительно, но просто следуйте этому.)

В одном из этих параллельных миров для кубита установлено значение 0, а в другом – 1.

Что делать, если установить второй кубит на 0 и 1 тоже? Тогда это похоже на создание 4 параллельных миров.

В первом мире два кубита установлены на 00. Во втором – 01. В третьем – 10. В четвертом – 11.

Аналогично, если установить для всех трех кубитов значения 0 и 1, вы создадите 8 параллельных миров – 000, 001, 010, 011, 100, 101, 110 и 111.

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

Теперь, когда вы применяете какие-либо вычисления к этим трем кубитам, вы фактически применяете одинаковые вычисления во всех этих 8 параллельных мирах одновременно.

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

В этом конкретном примере, теоретически, ваш квантовый компьютер мог бы найти одно из лучших решений в нескольких миллисекундах. Опять же, это 001 или 110, как мы видели раньше:

A | B | C | Оценка
0 | 0 | 0 | -1
0 | 0 | 1 | 1 <- одно из лучших решенийons
0 | 1 | 0 | -1
0 | 1 | 1 | -1
1 | 0 | 0 | -1
1 | 0 | 1 | -1
1 | 1 | 0 | 1 <- другой лучший далюция
1 | 1 | 1 | -1

В самом деле, чтобы решить эту проблему, вам нужно дать своему квантовому компьютеру две вещи:

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

Учитывая эти две вещи, ваш квантовый компьютер выдаст одно из лучших решений в нескольких миллисекундах. В этом случае это 001 или 110 с отметкой 1.

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

Однако на самом деле при работе квантового компьютера случаются ошибки. Следовательно, вместо того, чтобы найти лучшее решение, он может найти второе лучшее решение, третье лучшее решение и т.д.

Эти ошибки становятся все более заметными, поскольку проблема становится все сложнее.

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

Как масштабируется квантовый компьютер

Даже с учетом ошибок, которые я упоминал, квантовый компьютер не имеет такой проблемы масштабирования, какой страдает обычный компьютер.

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

Когда есть 4 человека, количество сделок остается 1.

Когда есть 100 человек, количество операций остается 1. За одну операцию квантовый компьютер вычисляет результаты всех 2¹⁰⁰ ~= 10³⁰ = миллион миллионов миллионов миллионов миллионов конфигурации одновременно.

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

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

Подведению

Отдельное спасибо всем в D-Wave Systems за терпеливое объяснение мне все это.

D-Wave недавно запустил облачную среду для взаимодействия с квантовым компьютером.

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

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

Примечание:

  • В этой статье я использовал термин «обычный компьютер» для обозначения неквантового компьютера. Однако в индустрии квантовых вычислений неквантовые компьютеры обычно называют классическими компьютерами.

Добавить комментарий

Ваш адрес email не будет опубликован.