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



Классические биты – чёрно-белые, а квантовые немного сложнее

Когда мне было 9, родители купили новый компьютер. Он практически по всем статьям был лучше старого, кроме одного: на нём не запускались мои любимые гонки. Помню, как я думал – зачем нужен новомодный компьютер, если он не запускает мою самую любимую программу?

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

Вот почему в работе, опубликованной 15 апреля, содержатся хорошие новости. Крейг Гидни, специалист по информатике из Google AI Quantum, расположенной в Санта-Барбаре (Калифорния), описывает квантовую версию классического алгоритма быстрого умножения очень больших чисел. На классических компьютерах этот алгоритм работает уже довольно давно. Но до работы Гидни было непонятно, получится ли приспособить его для квантовых машин.

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

Данный алгоритм умножения с выгодой использует открытие, ставшее первым прорывом в умножении, сделанным за несколько тысяч лет. Традиционный школьный метод умножения требует n2 шагов, где n – количество знаков в перемножаемых числах. Несколько тысяч лет математики считали, что более эффективного подхода не существует.

Но, как мы недавно разъяснили в статье "Математики обнаружили идеальный способ перемножения чисел", в 1960 советский математик Анатолий Карацуба обнаружил более быстрый способ. Его метод заключался в разбитии длинных чисел на более короткие. Для умножения двух восьмизначных чисел, к примеру, нужно сначала разбить их на два четырёхзначных, затем разбить каждое из них на два двузначных числа. Затем нужно провести несколько операций с двузначными числами и восстановить результат итогового умножения. Для умножения очень больших чисел метод Карацубы отнимает гораздо меньше шагов, чем школьный.

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

Но квантовые компьютеры не могут отбрасывать информацию.

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

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

Это требование к сохранению информации усложняет создание квантовых версий рекурсивных алгоритмов – то есть, обращающихся к самим себе. В информатике рекурсивные алгоритмы используются очень широко, однако, для того, чтобы работать наилучшим образом, им нужно, чтобы на каждом шаге компьютер отбрасывал информацию. Без этого вычисления быстро станут непрактичными. «Если каждый раз при выполнении операции сохранять информацию, занимаемое ею пространство будет расти вместе с количеством операций», — сказал Эшли Монтанаро, специалист по квантовой информации из Бристольского университета. У любой практической машины быстро закончится память.

В новой работе Гидни описывает квантовый способ реализации умножения Карацубы, не требующий большого расхода памяти. Вместо генерации промежуточных значений для получения итогового результата, он использует метод "оптимизации хвостовой рекурсии", чтобы напрямую превращать входные данные в выходные. Это позволяет алгоритму избегать создания промежуточной информации, которую квантовый компьютер не сможет отбросить. «Он избавляется от проблемы лишних кубитов, не порождая лишние кубиты», — сказал Томас Вон, специалист по квантовой информации из Крейтонского университета.

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

Комментарии (9)


  1. fivehouse
    20.05.2019 10:49

    Прошло уже 50 лет с первых попыток первых теорий работы квантового компьютера в наше время. До минимально работающего полезного квантового компьютера еще невероятно далеко. Если провести аналогии с авиацией, то работа над первыми моделями летающих планеров началась где-то в 1880х годах. Уже через 50 лет во всю существовали пассажирские авиа перевозки (хотя и не массовые) и разрабатывались реактивные двигатели. Летали через Ла-Манш. Не пора ли забросить квантовые вычисления как бесперспективные в текущем состоянии? Или оставить до какого-то существенного прорыва, который никак все не наступит?


    1. kzhyg
      20.05.2019 11:03

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


    1. Shkaff
      20.05.2019 11:06

      Забрасывать-то совсем зачем? Это одна из интересных областей физики, почему бы и не исследовать. А вот градус хайпа вокруг снизить стоило бы. Никто не знает, возможно ли реализовать квантовый компьютер даже в принципе: можно вот тут, тут, или тут (разбор разных аргументов) почитать.


    1. ksbes
      20.05.2019 11:13

      От изобретения пороха (для фейерверков) до первых практических пушек прошли, наверное, сотни лет. И проблема была не в порохе, а в "сопутствующих технологиях": порох — это только вершина айсберга.


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


      1. Shkaff
        20.05.2019 13:44

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

        Да далековато еще, кажется… Хотя IBM, Google и Intel фантастически круты, но пока их компьютеры очень далеки от настоящих квантовых компьютеров. Думается, 10 лет — это оптимистично…


    1. Darth_Biomech
      20.05.2019 13:37
      +3

      «Давайте остановим исследования в области Х, пока в области Х не произойдет существенный прорыв»

      Замечательный план, если я вас правильно понял. Надежный, как швейцарские часы.©


  1. timotei
    20.05.2019 17:30

    Семен сидел перед своим новым квантовым маком, привезенным нелегально через Монголию. Радости от новой покупки не было предела. Он распаковывал его, снимая на видео весь процесс. Да, Семен хотел поделиться своей радостью с друзьями в Фейспалме. Не у каждого в Иркутске есть современная квантовая машинка. Что тут говорить, «Подкидной дурак» и «Косынка» на новой тачке будет просто летать…


  1. plus79501445397
    20.05.2019 18:26
    +1

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

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


  1. oracle_and_delphi
    21.05.2019 08:48
    +1

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

    ИММУТАБЕЛЬНОСТЬ и ФП?