Популярное
Свежее
Моя лента
Сообщения
Рейтинг
Пополнить Steam
Низкая комиссия
Темы
Игры
Гайды
Офтоп
Ночной музпостинг
Вопросы
Hollow Knight
Творчество
Музыка
Кино и сериалы
Инди
Показать все
DTF
О проекте
Правила
Реклама
Приложения
Аккаунт удален
Научпоп
07.02.2020

Статья удалена

​Современный квантовый компьютер  ̶в̶ ̶п̶р̶е̶д̶с̶т̶а̶в̶л̶е̶н̶и̶и̶ ̶х̶у̶д̶о̶ж̶н̶и̶к̶а̶
​Современный квантовый компьютер  ̶в̶ ̶п̶р̶е̶д̶с̶т̶а̶в̶л̶е̶н̶и̶и̶ ̶х̶у̶д̶о̶ж̶н̶и̶к̶а̶

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

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

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

Если очень просто, то это устройство, в основе работы которого лежат явления квантовой механики. Среди этих явлений такие великолепные и ̶п̶р̶о̶с̶т̶ы̶е̶ для понимания, как:

  • Квантовая суперпозиция - способность квантовой частицы находиться во всех возможных для нее состояниях сразу. Отличным примером может служить всем известный кот Шрёдингера.
  • Квантовая запутанность - явление, при котором состояния двух и более квантовых частиц становятся зависимыми друг от друга. Причем изменение состояния одной частицы мгновенно сказывается на состоянии другой. То есть как бы далеко не были друг от друга эти частицы, состояние поменяется за неизмеримо малое время. Здесь в качестве примера можно взять "попсовую" и всем известную квантовую телепортацию.
  • Правило Борна (закон) - ̶ ̶ш̶е̶с̶т̶а̶я̶ ̶ч̶а̶с̶т̶ь̶ ̶п̶о̶х̶о̶ж̶д̶е̶н̶и̶й̶ ̶б̶ы̶в̶ш̶е̶г̶о̶... Если вкратце и без тяжелого мат.аппарата, это закон (ну или правило), который рассчитывает вероятность получить какой-либо результат при вычислении, что помогает при работе со следующим пунктом сего списка.
  • Вероятность - в квантовой механике балом правит именно эта госпожа. Любое квантовое явление не есть факт, а есть вероятность того, что оно случится. Но об этом мы еще поговорим.

Справедливости ради, квантовая телепортация не является телепортацией, известной из научной фантастики и прочего сайфая, потому что при передаче квантового состояния (а именно это и происходит) исходное состояние в точке А разрушается и воссоздается в точке Б, при этом не происходит переноса ни материи, ни энергии.

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

Спасибо Marat Khamadeev

Преимущества прямо вытекают из самой квантовой механики:

  • Высокий параллелизм - в отличие от классических компьютеров, в которых бит принимает значение либо 0, либо 1 в один момент времени, в квантовом компьютере кубит одновременно и 0, и 1, что позволяет обсчитывать все возможные комбинации параллельно и одновременно на уровне физики без всяких ухищрений с многопоточностью.
  • Высокая масштабируемость и быстрый прирост производительности - при добавлении каждого следующего кубита вычислительная мощность увеличивается экспоненциально. То есть двухкубитный компьютер в 2 раза мощнее однокубитного, 3 - в 8 раз, 4 - в 16 и так далее.

Важно также отметить и недостатки, которым подвержены текущие образцы КК:

  • Измерение неизбежно ведет к ошибкам, потому что любое вмешательство в квантовую систему вызывает "возмущения" (шумы), искажающие полученные данные. Стало быть, необходимо предусмотреть постобработку результатов.
  • Большое количество ошибок в вычислениях, частично вытекающее из первого недостатка а частично из-за самой природы квантовых процессов (ведь мы оперируем вероятностями, а не фактами, помните?), из-за чего одни и те же вычисления следует проводить много раз (сотни и тысячи в зависимости от желаемой точности)

Области применения квантовых компьютеров.

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

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

Как верно отметили некоторые в комментариях квантовая криптография построена на несколько иных принципах и не имеет прямого отношения к квантовым же компьютерам.

Так что поиграть со включенным RTX при fps свыше 120 в 4К разрешении на КК пока что не получится, увы.

Текущее положение дел.

Квантовые компьютеры начали появляться с начала XXI века, но их производительность и возможности сильно ограничены. И вопреки распространенному заблуждению довольно много его составных частей представляют собой вполне себе обычную электронику, а уж для обработки результатов и вовсе нужен самый обыкновенный ПК (ну или сервер... ну или ЦОД).

Квантовый компьютер на 50 кубит, разработанный IBM Research в Цюрихе.​
Квантовый компьютер на 50 кубит, разработанный IBM Research в Цюрихе.​

Окей, с железом понятно, но что с софтом?

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

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

С целью решения этой проблемы в 2017 году был описан язык промежуточного представления OpenQASM (ОпенКАЗМ) - Open Quantum Assembly Language (Открытый квантовый язык ассемблера), представляющий собой по сути аналог языка ассемблера из классической электроники.

Ассемблер (сборщик) - это программа-преобразователь, транслирующая код программы из языка ассемблера в машинный язык, который понимает непосредственно процессор.

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

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

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

Qiskit.

̶В̶а̶ш̶а̶ ̶q̶i̶s̶k̶i̶t̶ ̶к̶у̶п̶и̶л̶а̶ ̶б̶ы̶.̶.̶.̶  Логотип проекта - схематичное представление сферы Блоха (способ представления состояний кубита в виде точек на сфере). ​
А вот так выглядит сама сфера Блоха. "Точка на сфере по оси z вверх соответствует значению 1 классического бита, вниз - значению 0.​
А вот так выглядит сама сфера Блоха. "Точка на сфере по оси z вверх соответствует значению 1 классического бита, вниз - значению 0.​

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

  • Terra позволяет создавать квантовые цепи, которые по сути и являются квантовыми программами. Квантовая цепь - это последовательность квантовых вентилей, являющихся аналогом вентилей-операторов из классической логики. Например, здесь есть аналоги логического И (умножения) и ИЛИ (сложение) с поправкой на квантовые законы. Например, самый базовый квантовый вентиль Хадамард (H) при вычислении обеспечивает одинаковую вероятность получить значение 0 и 1.
  • Aqua. Проект-ретранслятор, позволяющий преобразовывать классические алгоритмы в квантовые. В настоящий момент он поддерживает ограниченный набор инструментов для работы с ИИ, химией, оптимизацией и финансами. В перспективе позволит программистам и даже просто пользователям без специальных знаний создавать квантовые алгоритмы.
  • Aer. Симулятор квантового компьютера, который может быть запущен на любом обычном компьютере, но не забывайте, что добавление нового кубита требует увеличения классических вычислительных мощностей в два раза. Aer позволяет понять, насколько ничтожны "силы" вашего ПК, потому что уже при значении в 4-5 кубитов производительность падает практически до нуля, делая симуляцию очень медленной или вовсе невозможной.
  • Ignis. Подпроект, работающий с "шумами". Помним о том, что любое измерение вызывает возмущения в квантовой системе и ошибки. По сути этот проект призван бороться с ошибками.

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

Да-да, ошибки - сквозная тема и боль любого квантового программиста настоящего и даже будущего.

Любой желающий уже может сесть и начать пробовать писать простенькие квантовые алгоритмы. Мощностей обычных домашних ПК хватит на 3-4-кубитную цепь, чего уже достаточно для осуществления квантовой телепортации.

А если хочется "по-настоящему"?

К счастью, добрые дяди из корпорации IBM предоставляют бесплатный доступ в порядке очереди к настоящим квантовым компьютерам (до 15 кубитов) и к симулятору (до 32 кубитов). Для регистрации достаточно принять пользовательское соглашение, заполнить простенькую анкету, указав в ней Institution (например, Amateur Quantum Boy) и цель использования, свое имя и имейл.

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

В качестве инструмента используются обычные Jupyter-ноутбуки, знакомые любителям языка python. 
В качестве инструмента используются обычные Jupyter-ноутбуки, знакомые любителям языка python. 

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

В Мельбурне сегодня пробки​
В Мельбурне сегодня пробки​

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

​Удачи!
​Удачи!