Квантовая революция
В следующие годы нам в буквальном смысле предстоит совершить квантовый скачок. Компьютеры будут производить вычисления, которые в настоящее время невозможны.
Единицы, нули — с самого начала своего существования, вот уже почти семьдесят лет, компьютеры производят вычисления в двоичном коде, образуя последовательность битов информации с помощью простых операторов: AND, OR, NOT. Эти простые элементы образуют сложные команды, составляя основу любого языка программирования: если условие выполняется, то нужно сделать это (IF, THEN), если нет — то (IF, ELSE). Машины выполняют программный код строго слово в слово.
А теперь представьте себе компьютер, который не только понимает нули и единицы, но и знает все вероятности того, что значение будет равно нулю или единице. Он считает не как малыш, который складывает по пальцам: 1+1=2 или 2+2=4, а как юноша, который понимает саму операцию сложения: x+y=z. Он не выполняет заданный строгий код, а сам подстраивается под поставленные задачи и по мере их выполнения выдает результаты все быстрее и точнее. При этом он самостоятельно находит такие решения, которые программистам и в голову не приходили, и адаптирует код под них. Две технические разработки поспособствуют развитию компьютеров в следующем десятилетии: нейронные сети и квантовые компьютеры.
Один бит за все цифры
В основе работ над квантовым компьютером лежит идея, известная в массовой культуре как «кот Шредингера». Этот мысленный эксперимент объясняет одно из понятий квантовой физики — суперпозицию. Если классическая физика однозначно определяет состояние элементарной частицы через ее положение и скорость, то открытия квантовой физики позволяют описывать состояние частицы только через функцию вероятности. Из смешения всех возможных состояний только в момент наблюдения — измерения — частица выбирает одно конкретное: электрон, например — состояние спина («спин вверх» или «спин вниз»). Квантовые компьютеры при вычислениях используют как раз явление суперпозиции.
Наименьшим элементом для хранения информации в квантовом компьютере является квантовый бит — кубит. Если бит принимает строго одно из двух значений — 0 или 1, то кубит представляет все вероятности получить значение 0 или 1. Огромная разница в вычислительных ресурсах между квантовым компьютером и классическим обусловлена использованием еще одного квантомеханического явления — квантовой запутанности: если два кубита оказываются взаимосвязаны, сливается их функция вероятности, которая описывает, в какие состояния они могут перейти. То есть два кубита при считывании могут получить четыре значения (00, 01, 10, 11). Чем больше совокупность запутанных между собой кубитов, тем сильнее этот эффект; он выражается формулой 2 в степени N, где N — количество запутанных кубитов. То есть 10 кубитов содержат 1024 вероятных значения, а 50 кубитов представляют более квадриллиона различных состояний.
Оборудование почти при нуле
Чтобы построить полноценный квантовый компьютер, предстоит преодолеть некоторые серьезные препятствия. Явления квантовой суперпозиции и квантовой запутанности могут занимать какие-то микросекунды. Компьютер может производить вычисления в течение этого промежутка времени, причем при условии, что кубиты изолированы от внешнего воздействия. В роли кубитов ученые пробовали разные частицы, в том числе ионы, фотоны, электроны. Квантовые компьютеры IBM и Google построены на цепи из сверхпроводников, находящейся при температуре, близкой к абсолютному нулю, — так можно реализовать электрический ток, который потенциально проходит одновременно в обоих направлениях, то есть находится в суперпозиции состояний. Кубиты этих компьютеров управляются, объединяются и считываются с помощью микроволнового излучения.