Брайн Грин о квантовых компьютерах
Источник INTWORLD
Источник INTWORLD
Кто может помочь сверпроводниковым квантовым компьютером.Немного вопросов. Роль регисторов выполняют джозефсоновские контакты и тп.
Привет Пикабу! Квантовые компьютеры. Непонятные штуковины, работающие при лютом минусе и нарушающие привычную нам логику. Как на самом деле они работают? Почему их так сложно создать? На связи МК, давайте поговорим о том, как устроены самые необычные компьютеры в мире.
И начнем мы… с кубика Рубика. Да, с детской на первый взгляд игрушки, которая на самом деле устроена сложнее, чем кажется. Классический кубик Рубика имеет более 43 триллионов состояний.
В этом числе 18 нулей, это миллиард миллиардов. Ух! Между прочим, прокаченные азиаты легко собирают его за несколько секунд, вслепую. Как им это удается? Секрет в том, что восстановить кубик из любого состояния можно всего за 20 ходов или даже меньше по четким алгоритмам. Азиаты просто делают эти ходы чертовски быстро!
Стоп, это все увлекательно, но какое отношение кубик Рубика имеет к квантовым компьютерам? Да самое прямое. Управление квантовым компьютером во многом похоже на сборку кубика Рубика с завязанными глазами: начальное состояние хорошо известно, и существует ограниченный набор базовых элементов, которыми можно манипулировать с помощью определенного набора правил.
Но если это так просто - почему квантовые компьютеры не стали массовыми? А вот тут на арену выходит новая физика: дело в том, что наблюдение за квантовой системой во время ее работы приведет к тому, что она станет классической, и результат вычислений будет неверен. Да, все как с котом Шредингера, который жив и мертв одновременно лишь до того момента, пока вы не заглянете в коробку с ним.
Именно поэтому управление квантовым компьютером - крайне сложная задача. Нужно отслеживать все возможные факторы ошибок, при этом не следя за системой. Это сродни попытке доехать на машине из пункта А в пункт Б с повязкой на глазах, а снять ее можно только строго в пункте Б.
И это - не единственная необычная особенность квантовых вычислений, различия с классическими компьютерами лежат в самой основе. Вся привычная нам вычислительная логика базируется на битах, которые могут принимать строго одно из двух значений - 0 или 1. Квантовые компьютеры же манипулируют кубитами.
А теперь пристегните ремни - начинается веселье. Кубиты имеют абсолютно не интуитивный квантово-механический эффект под названием суперпозиция. Она позволяет им находиться в состоянии, в котором они имеют определенное количество нулей и определенное количество единиц. Коэффициенты, которые описывают, сколько единиц и сколько нулей имеет кубит, являются комплексными числами, что означает, что они имеют как действительную, так и мнимую части.
Но это еще не все. Ученые научились создавать кубиты совершенно особым образом, так что состояние одного кубита не может быть описано независимо от состояния других. Это явление называется запутанностью. Думаю, многие с ним сталкивались, надевая носки. Пока они не на ногах - это просто два носка. Но стоит один из них надеть на левую ногу, как второй автоматически становится правым.
Ладно, давайте разберем эту квантовую логику на простом примере. Возьмем два бита. Они вместе могут принимать 4 значения - 00, 01, 10 и 11. Теперь возьмем два кубита. Спасибо суперпозиции, они могут принимать несколько состояний 00, 01, 10 или 11. Одновременно. Лучше всего это визуализирует вот такая анимация, где один бит - это две точки, 0 или 1. Кубит же по сути является сферой возможных состояний между 0 и 1.
Что же это дает? А то, что n кубитов работают с информацией так же, как 2^n битов. Иными словами, всего 10 кубитов заменят 1024 бита. А для замены лишь 100 кубитов потребуется число с 30 нулями обычных битов. Для сравнения, всё человечество за год генерирует лишь несколько десятков зеттабайт информации - в этом числе на 8 нулей меньше.
Именно такая нереальная эффективность квантовых вычислений и сподвигает крупнейшие компании и университеты заниматься разработкой этого нового типа компьютеров.
Но вернемся к сложности вычислений - и да, снова поговорим про кубик Рубика. Дело в том, что проводимые над кубитами операции очень похожи на вращения кубика Рубика. И даже ошибки схожие, правда в случае с кубиком они проявляются сразу же: не довернули часть кубика до конца? Следующий поворот будет невозможен. С квантовыми вычислениями проблемы схожи - они тоже не идеальны. Из-за определенных ограничений управляющих сигналов и чувствительности кубитов операция, предназначенная для условного поворота кубита на 90 градусов, может в конечном итоге повернуть его на 90,1 градус, а может и на 89,9 градуса.
Казалось бы, такие ошибки могут показаться незначительными, но они быстро накапливаются, что в итоге приводит к совершенно неправильному результату вычислений.
Есть и другие источники ошибок - например, такое явление как декогеренция. Олды помнят дискеты и их способность со временем терять информацию из-за размагничивания. У кубитов схожая проблема - хотя их стараются делать максимально изолированными от окружающей среды, взаимодействия с ней все равно происходят. А они разумеется разрушают квантовую запутанность и приводят к потере данных. Конечно, ученые придумали квантовую коррекцию ошибок - да вот только она требует еще больше кубитов для реализации, что заводит нас в порочный круг.
Но, если все эти проблемы и сложности вас не отпугнули - пора рисовать чертеж ключа… в смысле квантового компьютера. Инженеры и ученые здраво рассудили, что такую сложную штуковину имеет смысл разделить на 5 уровней.
Первые два нам уже знакомы: на прикладном уровне находится по сути операционная система, которая позволяет человеку взаимодействовать с квантовым компьютером. На более низком слое классической обработки происходит перевод понятных человеку инструкций в машинный код, чтобы с ними мог работать квантовый компьютер, а также обратный перевод посчитанного результата в прикладной слой. По сути тут большой разницы с классическим ПК нет, так что спускаемся глубже в кроличью нору.
Вот тут уже начинается новое и неизведанное, а именно блок квантовой обработки данных, или QPU. Первые два слоя в нем отвечают за цифровую и аналоговую обработку, их цель - преобразовать машинный код в специальные сигналы, которые превратят кубиты в квантовые логические элементы. Также цифровой слой отвечает за сбор результатов и отправку их в слой классической обработки.
И вот на этом моменте происходит важная точка отсечения: сейчас со всеми сказанными ранее задачами теоретически могут справиться мощные суперкомпьютеры. Но когда в квантовые компьютеры будет добавлена коррекция ошибок, уровень цифровой обработки данных станет намного сложнее, и его уже не получится эмулировать на классических машинах.
Но вернемся к нашему рисунку квантового компьютера. Итак, слой аналоговой обработки данных работает с самым низким квантовым слоем, где и находятся непосредственно кубиты. Но как с ними взаимодействовать? Вот тут уже начинается жесткий матан и физика: для создания эффекта запутанности на кубиты посылают микроволновые импульсы, которые модулируются по фазе и амплитуде с пикосекундной точностью.
Для лучшего понимания этого промежутка времени - летящий на скорости в 1000 км/ч самолет успеет сдвинуться лишь на миллионную долю миллиметра.
И это - лишь одна из сложностей. В системах с десятками кубитов нужно заставить их производить различные действия, для чего их настраивают каждый на свою частоту. В таком случае каждый кубит можно представить как радиоприемник. Хотите передать ему данные? Настройтись на его частоту и сделайте это.
Эта стратегия на самом деле работает, пока кубитов мало. Но давайте представим гипотетический квантовый компьютер с миллионом кубитов. Каждый из них настроен на свою частоту, и чтобы отсечь шум и передать достаточно данных выделим каждому из них полосу пропускания, допустим, в 10 МГц. Тогда для всех кубитов потребуется полоса в 10 терагерц - далеко за гранью наших радиовозможностей, которые едва дошли до сотен гигагерц.
Хотя, надо сказать, возможное решение тут лежит на поверхности - спасибо мобильной связи, которая уже давно столкнулась с огромным числом абонентов в одной точке, каждый из которых жаждет выйти в интернет. Речь идет о сочетании частотного и пространственного мультиплексирования, то есть об уплотнении канала. Идея состоит в том, что можно использовать одну частоту для нескольких кубитов или групп кубитов одновременно, передавая данные для каждого из них в определенные промежутки времени.
Ну и последняя проблема - температурная. Для работы квантового компьютера нужны температуры вблизи абсолютного нуля, чтобы сохранялся эффект сверхпроводимости, когда сопротивление проводников равно нулю.
И проблема в том, что по мере развития квантовых компьютеров возникает желание запихнуть все три слоя блока QPU в один криогенный чип, на что современная полупроводниковая электроника пока что говорит категорическое "нет". Но на текущий момент в компьютерах с десятком кубитов достаточно, чтобы при сверхнизких температурах был только слой квантовой обработки, где находятся непосредственно кубиты.
Так что поздравляю - мы только что завершили чертеж простейшего квантового компьютера. Именно по этим принципам они сейчас и работают. Что они могут?
Запутать десяток-другой кубитов на 50 микросекунд, после чего расчеты утонут в ошибках. Для создания полноценного компьютера этого мало, и даже если продолжить масштабировать текущие принципы, то пределом будет где-то сотня кубитов. Этого хватит для создания своеобразного ускорителя вычислений для обычного компьютера - как видеокарта, которая обучает нейросетки или рендерит видео ощутимо быстрее обычных CPU. Только в данном случае такой квантовый ускоритель будет как орешки щелкать задачи по криптографии.
Но мы же не хотим просто ускоритель, верно? Что же требуется, чтобы создать полноценный самостоятельный квантовый компьютер с сотнями тысяч или даже миллионами кубитов?
Разумеется, нужна коррекция ошибок. Все дело в том, что каждый кубит - это личность со своим характером. Они имеют неоднородности, которые получается корректировать вручную, пока кубитов пара десятков. Но что делать, если их на несколько порядков больше?
Перейти от физических кубитов к логическим. Берем несколько сотен и даже тысяч кубитов, обзываем часть из них коррекционными и все вместе называем логическим 2-37) кубитом. Это убивает сразу двух зайцев: во-первых, состояние коррекционных кубитов позволяет отслеживать и исправлять возникающие ошибки. Во-вторых, такое объединение кубитов ощутимо снизит необходимое количество цифровых соединений в QPU, так как теперь управление будет происходить на более высоком логическом уровне.
Но все еще речь идет о гигантских объемах информации. Нужно будет тысячи раз в секунду мониторить состояние миллионов кубитов без нарушения квантового состояния системы, попутно исправляя ошибки. Это потребует общей шины данных с пропускной способность в петабайты в секунду - в десятки раз больше, чем текущие рекорды скорости передачи данных в интернете.
И это - фундаментальные проблемы расширения возможностей квантовых компьютеров, которые сдерживают нас на уровне десятков кубитов. Но с учетом того, что множество ученых по всей Земле борются с этими проблемами - рано или поздно прорыв случится, и полноценные квантовые компьютеры с миллионами кубитов станут реальностью.
МК в Telegram - https://t.me/mknewsru
МК вконтакте - https://vk.com/mknews
Взять с собой побольше вкусняшек, запасное колесо и знак аварийной остановки. А что сделать еще — посмотрите в нашем чек-листе. Бонусом — маршруты для отдыха, которые можно проехать даже в плохую погоду.
Несмотря на то, что подобные процессы, как и вся квантовая физика, вызывают головокружение и полное переосмысление бытия, результаты таких исследований могут разительным образом отразиться на нашей жизни. В будущем ученые намерены усовершенствовать свой телепорт, поменяв вышеописанные шаги процедуры местами. Другими словами, сначала получается кубит, а потом идет подготовка телепортации. Это крайне сложно, так как квантовая информация, которая должна быть телепортирована, должна храниться во время создания запутанности. Плюсами такого варианта протокола является возможность телепортировать данные в любой момент и делать это неоднократно.
Пока это лишь первые шаги, которые для широкой общественности практически ничего не значат. Однако в будущем подобного рода исследования могут стать основой для квантового интернета, который однозначно повлияет на множество аспектов жизни нашей цивилизации.
Полностью читать, по ссылке, текст большой,но с картинками)
Всем доброго времени суток!
Публикую рецензию подписчицы нашего канала IT-старт на книгу "Квантовые вычисления для настоящих айтишников" от автора Криса Бернхарда
Краткая, тезисная, но емкая рецензия.
Начиная с описания книги, мы встречаем фразу
Квантовые вычисления - это удивительный сплав квантовой физики и информатики, объединяющий самые яркие идеи из физики двадцатого века и позволяющий по-новому взглянуть на компьютерные технологии.
Что же, попробуем разобраться
Впервые увидев название книги, сразу захотелось прочитать её. Так как по итогу время свободное появилось не сразу и добралась до этой книги спустя некоторое время, к чтению приступила уже с слегка ослабшим энтузиазмом. Но думаю, это не повлияло на мое восприятие книги.
Данная книга поможет разобраться в базовых вещах темы квантовых вычислений.
В первых главах используется более чем понятная всем аналогия с часами и поляризацией для объяснения физической природы. Изначально математический аппарат, что используется в книге, был довольно таки прост, описание экспериментов также не вызывало затруднений. Всё это очень завлекало и было ощущение, что ты начинаешь постигать что-то "эдакое", что дополнительно поджигало интерес. Но, дочитывая книгу и приближаясь к её концу, в некоторых местах концентрироваться на получаемой информации приходилось больше, но и это не всегда и спасало. В книге крайне много математических выкладок, вследствие идти по которым иногда довольно таки скучно, поэтому, местами приходилось верить на слово автору. Также автор сразу обозначил, что он не затронет комплексных чисел без потери качества и у него это отлично получилось.
Также автор подробно расписал квантовые вентили - основа квантового компьютера.
После приведены базовые квантовые алгоритмы - изучать которые было также увлекательно.
К сожалению, в переводе хватает опечаток в формулах.
Также в книге не хватало деталей реализации квантовых вентилей на практике.
Манера изложения иногда конкретно сбивала с толку. Ибо сначала идет "что?", далее же идет "как работает?", и только после этого описывается "зачем?". Возможно это не для всех будет являться минусом, но мне подобный подход повествования не особо по душе моментами был, по той причине, что фокус теряется и начинаешь терять суть, так и не поняв окончательно, для чего нам все таки это нужно и как оно нам помогает.
Итог по книге:
В целом, несмотря на все описанные мною недостатки книги, прочитав её, я не пожалела, хоть и приходилось гуглить параллельно чтению.
Благодаря данной книге, наконец-таки полноценно поняла, что из себя представляют и на чем основываются квантовые вычисления
Наш канал
Кому интересны программирование, математика, изучение иностранных языков и кто просто любит развиваться
публикую также интересные статьи и интервью на канале t.me/it_begin
Подписывайтесь, если будет интересно ;)
Спасибо!
Сегодня поговорим о квантовых компьютерах. Даже напишем свой Hello World и запустим его на настоящем (!) квантовом компьютере
Квантовая механика — это такой же набор законов природы только для мира очень маленьких частиц — электронов, протонов, фотонов, альтронов... хотя нет, это из Мстителей.
Короче, всех тех штук, из которых мы все состоим.
В начале прошлого века мы внезапно обнаружили, что между ними происходит полная дичь, необъяснимая имевшимися у нас законами физики. Мы нафигачили загадок и парадоксов, о которых все обожают спорить.
Но мы здесь сегодня не для этого.
Пока газеты тешили публику кликбейтными парадоксами, ученые за сотню лет изобрели себе набор законов, которые позволили все эти непотребства вполне логично считать на уровне простых вероятностей.
К сожалению, эти два мира так пока и не дружат, потому как всё это правильно объяснять простым людям никто не придумал. Каждый изобретает свой подход как ввести человека в новые правила игрового мира и выдержать тонкий баланс между «ученые засмеют» и «читатели ничего не поймут».
Здесь все либо впадают в упрощения с котами, которые «как будто одновременно и там и сям», либо в научную заумь с матрицами прямо на лицо.
Сегодня я попробую свой путь, которым я объясняю это своим интересующимся друзьям.
Итак, заходя в новый мир, нам надо принять ТРИ самых важных правила этой игры. Тогда остальное будет выводиться как бы автоматически.
Начнём с первого.
Частицы теперь волны, а не мячики
Время каминг-аута.
Мне 30 лет, а я до сих пор при слове «атомы» и «электроны» представляю их себе как мячики. Молекулы в учебнике по химии всегда были набором мячиков и палочек между ними, а кристаллическая решетка — это когда целая стена из мячиков!
В целом, это неплохо работало.
Электрический ток я представлял себе как толпу таких мячиков, несущихся по проводу-трубе. Больше мячиков — значит больше ампер (силы тока), быстрее бегут — больше вольт (напряжение), шире труба — значит меньше сопротивление.
Сам я тоже сделан из таких атомов-мячиков, которые по неведомой мне причине решили притянуться друг другу и образовать такую вот причудливую форму меня. Ну круто же!
Так вот теперь время для первой важной части этого поста. Если мне удастся донести хотя бы это, значит вы уже поймете огромную часть квантовой механики, даже если сразу закроете пост после этого.
Мячики, вы лучшие, мы еще вспомним о вас!
Но когда мы говорим о квантовой физике, наши частицы больше не работают как мячики. Они живут как волны. Как круги на воде или звуки от гитарных струн, представляйте как удобнее.
Волны — это новые мячики
Срач о том, реально ли всё это волны или мы просто натянули имевшиеся для волн уравнения и сказали «опа, а вроде подходит» — один из самых громких споров современных физиков. Там рвут глотки и делятся на лагеря, так что давайте не будем и просто примем, что тот же самый мячик может ВЖУХ и быть посчитан как волна.
Так нам удобно и всё.
Отныне мы состоим не из мячиков, а из таких вот волнушечек, которые как-то между собой интерферируют и получается Олег. Вот прям как звуковые волны накладываются чтобы получилась музыка, так же вот и Олег.
Главный же прикол в том, что кроме волн больше нет ничего. Вообще ничего. Никаких скрытых параметров, по крайней мере локальных.
Абсолютно любое свойство объекта отныне можно описать одной такой жирной функцией взаимодействия этих волн друг с другом.
Как в телевизор приходят радиоволны и получается картинка на экране, так же наши волнушечки могут собраться по какой-то формуле и сделать Олега. Фотоны света отражатся от волн Олега и так его себе видим.
Но реален ли сам Олег?
ДА, И ТЫ ТОЖЕ ВСЕГО ЛИШЬ НАБОР ВОЛН
Дам вам время подумать над этим. Тут лучше не торопиться. Можете вернуться к посту вечером.
Суперпозиция — всего лишь вероятность
Объясняя, что за фигня такая ваша «суперпозиция», все вспоминают байку с Котом Шредингера, закрытого в коробке со случайно взрывающейся колбой смертельного яда.
Пока мы не откроем коробку, кот для нас как бы ОДНОВРЕМЕННО мертв и жив, потому мы говорим «находится в суперпозиции жизни и смерти».
Страшилка с котом уже лет 50 используется в школьной программе и авторы большей части статей, что я читал, тоже её обожают, даже несмотря на то, что она не даёт читателю никакого понимания как всё это реально можно использовать на практике.
Пора прекратить шутить шутку 100-летней давности. Люди в 21 веке могут себе позволить среднее образование и понять тему чуть глубже.
Предлагаю поговорить о суперпозиции как будто мы люди с айфонами, а не крепостным правом.
Потому вместо кота мы возьмем монетку :D
Когда мы раскручиваем или подбрасываем её в воздух — она находится в суперпозиции орла и решки. Да, «как бы» одновременно. Только поймав монетку мы получаем один из результатов нашего измерения. Не поймаем — не узнаем. Всё.
В чем же драматическая разница с так нелюбимым нами котом?
В том, что внутри монетки всегда есть чёткие вероятности её падения орлом или решкой. В жизни мы принимаем их за 50% на 50%. Но если мы зададимся целью немного «подкрутить» фокус себе на пользу — мы можем сделать монетку из разных сплавов или как-то притягивать одну из сторон магнитом.
В теории мы можем сделать такую монетку, у которой вероятности выпадания орла и решки будут, скажем, 60% на 40%, что поможет нам чаще побеждать (наверное).
Отныне всегда, когда слышите про суперпозицию, представляйте себе именно такую подброшенную монетку.
Суперпозиция – не загадочный феномен «одновременности», а чёткое и простое отношение двух вероятностей
Находясь в «суперпозиции», монетка не просто для нас «как бы одновременно орел и решка», она имеет две вполне стабильные и известные нам вероятности выпадения одного и другого.
Да, мы не знаем 100% исход, но можем чётко влиять на него, например, направляя на монетку магнит.
Всё это уже намного удобнее использовать на практике, не правда ли?
Вероятности мы умеем складывать, умножать, творить другие непотребства, в отличии от мертвых котов.
Поэтому и дальше, когда мы будем говорить о квантовых битах, про которые все говорят, что они «одновременно 1 и 0», забейте на это и представляйте себе их как монетки. Каждый бит-монетка имеет строгую вероятностью быть прочитанным как 1 и строгую вероятность 0. Компьютер же может управлять этими вероятностями прямо в полёте пока не прочитает сам бит.
Прочитали бит — поймали монетку. Очень удобно.
Если вы поняли монетки — вы уже наполовину поняли квантовый компьютер, поздравляю.
Запутанность — квантовый IF
Чтобы объяснить квантовую запутанность я продолжу аналогию с монеткой, чтобы вас не ЗАПУТАТЬ. Простите, я должен был использовать этот каламбур.
Представим себе, что мы распилили нашу монетку вдоль. Как печеньки Oreo.
Получилось две монетки — одна только с орлом, вторая только с решкой. Пустая сторона разреза нас щас не интересует.
Не подглядывая где какая, мы подбрасываем обе новых монетки в воздух (переводим в суперпозицию, как мы теперь знаем). Монетки начинают вертеться в воздухе и не падают (потому что они теоретические!)
Тут квантовый физик скажет, что между монетками создана запутанность. Русская терминология лажает, потому лучше дополнительно запомнить английское слово — Entanglement. Оно встречается чаще.
Всё это означает некую «зависимость», «спутанность» или просто «связь» состояний двух монеток.
Как видите, никакой магии пока нет, законы физики мы не нарушали, на митинг не выходили.
Мы упаковываем одну из наших новых прикольных крутящихся монеток в коробку и отправляем её своему знакомому в другой город. А еще лучше на другую планету или в соседнюю галактику.
Теперь мы оба имеем по монетке, но понятия не имеем орел нам достался или решка. Кажется, пришло время посмотреть.
И вот тут обнаруживается ПАРАДОКС.
Следите за руками: в тот момент, когда один из нас открывает коробку, ловит свою монетку и видит, что на ней орёл — вторая монетка за много тысяч километров МОМЕНТАЛЬНО оказывается решкой.
Звучит тупо, да? Но мы на 100% в этом уверены.
Вот только Эйнштейн не был доволен такой фигнёй.
Монетки находились далеко друг от друга, так? Но результат чтения одной моментально повлиял на значение второй, так? Значит мы только что нарушили теорию относительности и передали информацию быстрее скорости света.
Бежиииим...
Но есть и хорошие новости: мы научились создавать системы из двух частиц, которые вот так моментально при чтении одной гарантируют нам значение другой.
Мы называем такие половинки «запутанными» друг с другом.
Оказывается, в нашем квантовом компьютере мы тоже можем так «запутывать» между собой биты, что если один покажет 0, второй 100% всегда примет значение 1 и наоборот. Такой вот физически нерушимый IF.
Кубит
Подойдём к настоящим квантовым вычислениям.
Другие статьи в интернете сразу начинают с объяснения кубитов, но мне показалось, что зная три правила выше, нам будет намного проще разговаривать и действительно понять суть кубитов, а не «магию». Теперь можно раскидать всё прямо на пальцах.
Кубит (qubit) — это квантовый бит
Звучит крутейше, но для начала вспомним что такое бит.
Прямая бочка пошла... ТУЦ-ТУЦ-ТУЦ-ТУЦ-ТУЦ!
Не, в смысле кумплюктерный бит.
🌚 Обычный бит
Бит — это любой выключатель, который может принимать значение 0 или 1.
Когда таких выключателей на стене много, мы даже можем закодировать в них какую-то информацию, чтобы сосед её увидел.
Восемь битов 01000001, например, будут буквой A, причём что в ASCII, что в Юникоде.
Набор букв АААА, переданных по сети как 01000001 01000001 01000001 01000001, сообщит собеседнику, что вы орёте над его мемом.
Любое устройство, на котором вы сейчас читаете эти строки, состоит из таких вот единичек и ноликов. Вся информация кодируется в битах, биты молотит ваш процессор, биты хранятся на диске, образуя байты, мегабайты, гигабайты — вы это знаете лучше меня.
Физически нам действительно неважно что у них внутри. В первых компьютерах они были механическими реле, в современных — всего лишь импульсы по 5 вольт, суть осталась та же.
Мы можем хранить в бите нужное нам значение 1 или 0, перезаписывать его при необходимости, а так же прочитать в любой момент чтобы использовать дальше для вычислений.
Цепочка таких битов и инструкций что с ними делать даёт нам Машину Тьюринга. Так появились компьютеры. Привет.
🌖 Квантовый бит
Я так подробно разжёвывал выше про биты, чтобы всем стало понятно — в квантовых битах (кубитах) всё то же самое.
В них мы тоже принимаем за 0 или 1 какое-то их свойство, которое можем писать и читать, и так же можем делать их из разных материалов — просто теперь вместо механических реле мы используем частицы.
В чём же разница?
Кубит можно еще и подбросить как монетку! Перевести в суперпозицию, из которой он будет выпадать 0 (орлом) или 1 (решкой) с чёткой и нужной нам вероятностью.
Это открывает нам третье весёлое состояние, ради которого мы тут и собрались вообще.
Любое чтение кубита уничтожит нашу суперпозицию. Он схлопнется в 0 или 1, то есть монетка будет поймана, а стрелочка на нашей картинке повернётся к |0〉 или |1〉.
Циферблатики со стрелочками — это стандартная форма записи, привыкайте.
До чтения же у нас есть четкая вероятность того и другого исхода. Скажем, 70% на 30%. Мы не можем предсказать результат, но вероятности вот они, пожалуйста.
Мы можем спокойно нарисовать вероятности нашего кубита на картинке. Они не изменятся без нашего вмешательства.
В бульварных газетах тут любят говорить, что кубит как бы ОДНОВРЕМЕННО принимает значение 0 и 1. Думаю, после моего хейта в сторону Кота, вы понимаете почему мне не нравится это слово.
Оно отвратительно бесполезно! Щас еще параллельные миры плодить будем, ну уж нет.
Главная фишка такого кубита-монетки именно в том, что мы МОЖЕМ влиять на вращение этой монетки пока она в воздухе, влияя тем самым на вероятность выпадения орла или решки в конце.
Правда графики выше получаются не очень красиво, потому мы придумали рисовать такие вот циферблатики, где мы двигаем стрелочку как хотим, а в конце она схлопнется вверх или вниз.
Никакой магии, просто вероятность.
Мы можем направить на нашу монетку магнит, чтобы замедлить её вращение, инвертировать её в другую сторону или вообще заморозить, чтобы орёл был строго вверх. В этом случае он будет выпадать в 100% случаев, если вдруг нам это нужно.
В классических битах мы могли в любое время записать в него 0 или 1, а в кубитах мы можем записать в него вероятность быть 0 или 1 в конечном счёте.
Мы имеем право сколько угодно шалить с вероятностями внутри кубита, но когда мы читаем его значение — он всегда схлопывается в 0 или 1 с заданной вероятностью, превращаясь по сути в обычный бит.
Да, мы можем имитировать им обычный бит, просто записывая 100% вероятность за один из вариантов кубита.
Это легально, однако обычный бит справится с этим лучше и быстрее, а всё квантовое веселье таится именно между состояниями 1 и 0.
Всё это не очень полезно пока у нас только один кубит, но когда мы возьмем их несколько, мы сможем завязать их вероятности друг на друга так, чтобы система выдавала нам один из результатов с большей суммарной вероятностью, чем все другие.
Самые смекалистые уже догадались что мы тут хотим: хитро завязать все вероятности, чтобы этот «самый вероятный» результат и был нашим правильным ответом. Но об этом мы еще поговорим в разделе про сам квантовый компьютер, терпения.
Квантовый компьютер
Много кубитов + алгоритм
Итак, что у нас есть на данном этапе:
Кубиты, которые похожи на обычные биты, только вместо 0 или 1 они хранят вероятность выпадения 0 или 1, которую мы можем как-то корректировать «в полёте» чтобы прочитать нужный результат в конце.
Как только мы «читаем» кубит, он всегда схлопывается в 0 или 1 как та монетка, которая в итоге выпадает только орлом или решкой. Кубит после этого уничтожается, потому чтение логичнее делать в самом конце.
Два кубита можно запутать между собой — тогда они всегда будут выдавать противоположный друг другу результат. Даже если мы специально изменим один кубит — второй изменится на ту же величину, только наоборот.
Нарастающее стрёмное ощущение, что всё вокруг волна — даже небо, даже кубит. Появляющиеся сомнения в объективности наблюдаемой реальности и своей роли в этом мире.
Чтобы собрать классический цифровой компьютер в домашних условиях, мы берём ленту, кладём на неё некую последовательность битов, двигаем эту ленту туда-сюда и выполняем записанные отдельно на листочке операции над ними.
Так получается алгоритм. Машина Тьюринга. Такой вот фигней, только на более высоком уровне, занимаются все программисты.
В квантовом компьютере у нас такая же лента, только теперь мы кладём на неё кубиты. Список операций тоже остался, но сами операции чуть изменились.
Решительно очевидно, что мы имеем полное право писать и читать наши кубиты как обычные биты. Записали в кубит 100% вероятность выпадения 1 — получили в итоге 1. Вау.
Но смысла в этом ноль. Как колоть орехи микроскопом — никто не запретит, но это достаточно медленно и бессмысленно. Обычный компьютер справится с этим лучше.
Сила же квантового компьютера именно в том, что мы берём несколько кубитов, которые как вы помните можно представлять как крутящиеся монетки, и взаимодействуем именно с вероятностями их выпадения в 0 (орел) или 1 (решка), а не самими результатами 0 и 1.
Вот это уже куда более интересно. Квантово!
В наших алгоритмах мы больше не мыслим концепциями «прочитай здесь, если 1, переложи туда», а начинаем как бы настраивать взаимодействие наших монеток (кубитов) пока они еще крутятся, чтобы в итоге получить интересующий нас результат.
Как вы понимаете, никто не гарантирует какой стороной упадёт первый кубит, а значит и нельзя ничего гарантировать про второй, и так далее. Получается как будто дерево расчёта вариантов исхода алгоритма.
Добавление всего лишь одного кубита увеличивает мощность компьютера сразу в два раза, а не на +1 бит как в обычном. Это и даёт нам вот ту самую экспоненциальную скорость вычислений в квантовом компьютере.
В конце же наше дерево вычислений всё равно приведёт к одному результату с наибольшей вероятностью, а к другим с наименьшей. Это и будет ответ алгоритма.
Если хотите более подробного разбора дерева по шагам, рекомендую вот эту годную статью.
Мы не перебираем все варианты одновременно, как объясняют во многих статьях для новичков. Мы скорее настраиваем вероятности наших кубитов по ходу программы так, чтобы правильный результат засветился на выходе с большей вероятностью, чем неправильный.
Условно говоря, мы подкручиваем наши монетки и говорим как им вращаться друг относительно друга, чтобы в итоге они выпали на стол в комбинацию, например, «орел-решка-орел» (010).
Это и будет правильный ответ алгоритма.
И да, как вы уже догадались, вероятность правильного ответа на выходе квантового алгоритма бывает не 100%. Ну вот не получилось у нас связать все кубиты-монетки так, чтобы в 100% случаях они выдавали «орел-решка-орел», получилось только в 90%.
Тогда в 1 случае из 10 квантовый компьютер будет вполне легально нам врать, выдавая неправильный ответ. Тогда мы просто запускаем алгоритм много-много раз как настоящие боги инженерии! :)
😎 Квантовое превосходство
Сейчас за достижение квантового превосходства бьются Google, IBM, и главные исследовательские институты всех уважающих себя стран. Побеждают, как обычно, китайцы.
Белые же европейцы в это время воюют за запрет термина «превосходство» потому что оно оскорбительно и нетолерантно.
Лет через пять меня точно отменят за этот пост. Сохраняйте.
На практике же момент «квантового превосходства» не означает ничего, кроме того, что можно будет открыть шампанское и выпить за технологический прогресс.
Сейчас объясню.
Все эксперименты по квантовому превосходству по прежнему проводятся на специально подобранных задачках, которые квантовый компьютер должен щёлкать на раз, а классический пыхтеть тысячелетиями.
Читеры вставляют палки в колёса, короче, и всё равно не могут догнать. Разве что иногда.
Именно поэтому квантовое превосходство интересно журналистам и историкам, но точно не инженерам.
Я как инженер жду не формального победителя первого забега, а того, кто покажет мне первый стабильный квантовый компьютер.
Сейчас с этим всё плохо. С текущим количеством шумов они попросту бесполезны для практических задач. Компьютер, который считает быстро, но постоянно врёт — разве это годится? Превосходство у них, блин.
Случайно подняться на гору легко — куда сложнее подниматься на неё каждый день. Можно использовать эту фразу как кредо по жизни.
The Алгоритм
Время программировать программы!
На уроках информатики в 8 классе сегодня каждому школьнику рассказывают, что любой компьютер на самом деле состоит из кучки простейших операций над одним или двумя битами, называемых логическими вентилями (или логическими гейтами, если вы дитя улиц и учились по английскому учебнику, как я).
Программисты знают их почти наизусть: NOT, AND, OR, XOR и производные NOR, NAND, XNOR, и.т.д.
Хитро соединив проводами пару-тройку вентилей можно получить сумматор или простейшую память — всё это базовые элементы любого процессора.
В этот процессор можно вшить язык ассемблера, на котором программисты смогут складывать и умножать настоящие числа типа 25 + 48 вместо перекладывания единичек и ноликов.
Потом они соберут из этих операций жирные высокоуровневые языки программирования.
Начнется бум кремния, крах доткомов, курсы «профессия Data Scientist за неделю» и вот уже даже бездомные пишут на React за еду.
Короче, в квантовых компьютерах всё то же самое!
Только уровень развития тут пока плавает где-то до изобретения ассемблера. Представляете сколько всего еще впереди?
ПИШЕМ. КВАНТОВЫЙ. КОД.
Я обещал вам квантовый Hello, World — держите. И да, он НА ПИТОНЕ.
Как и любой Hello World, он абсолютно бесполезен. Он лишь подбрасывает две монетки, связывает одну с другой и говорит орлами они упали или решками.
С другой стороны, мне очень нравится этот пример, потому что в нём сразу есть и суперпозиция, и квантовая запутанность двух кубитов, ну и самое главное — сраный if'чик на питоне!
Разберём всё подробно по шагам.
Итак, нам нужна схема из 2 кубитов и 2 обычных битов. Импортируем все нужные тулзы и начинаем рисовать.
from qiskit import QuantumCircuit
qc = QuantumCircuit(2, 2) # 2 qubits + 2 bits
Все наши биты и кубиты по умолчанию инициализируются в 0.
Дальше накидываем гейты. Потому что можем. Я хочу перевести первый кубит в суперпозицию гейтом H, то есть «подбросить» эту монетку. Если сразу после этого H наш кубит прочитать — мы получим идеальный генератор случайных чисел, в 50% выдающий 0, в 50% — 1.
Физически обоснованный!
Но мы не хотим читать 0 или 1, мы хотим программировать на вероятностях.
Потому вторым гейтом я наложу условие CNOT. Если наш кубит выпадает в 1 — он автоматически перевернёт и соседний кубит. То есть сделает из 0 в 1. Если нет — ничего не изменится. Оба наших кубита остаются по нулям.
qc.h(0) # gate H for qubit 0
qc.cnot(0, 1) # gate CNOT between 0 -> 1 qubits
Пока хватит квантовой магии, время прочитать наши кубиты, превратив их в обычные единички и нолики, вывести, и закончить программу.
qc.measure(0, 0) # read qubit 0 -> bit 0
qc.measure(1, 1) # read qubit 1 -> bit 1
qc.draw(output="mpl")
На этом наша квантовая программа закончена. Нам надо лишь как-то её запустить. На игровой квантовый компьютер мы пока не заработали, потому будем тестово гонять в симуляторе прямо на макбуке.
from qiskit import assemble, Aer
from qiskit.visualization import plot_histogram
simulator = Aer.get_backend("qasm_simulator")
result = simulator.run(assemble(qc)).result()
plot_histogram(result.get_counts())
Имитируя вероятности квантового компьютера, наш симулятор выполняет код 1024 раза и замеряет результат каждого эксперимента. Получается вот такая картинка:
Как можно заметить, вероятности близки к 50/50, но даже за 1024 броска монетки наш глупый цифровой рандом не приблизился к идеалу. Но жить вроде можно.
Дальше дело за малым — прочитать результат и сделать с ним что-то полезное в реальном мире. Тут уже можно наговнокодить if'чик на питоне и никто нас не осудит.
if "11" in result.get_counts():
print("РЕШКА")
else:
print("ОРЁЛ")
Он говорит «если оба кубита выпали в 11 — скажи решка, если в 00 — орел». Вариантов 01 и 10 у нас быть не может, иначе всю эту квантовую лавочку можно просто закрывать.
Для визуализации еще можно вывести получившиеся сферы Блоха для обоих кубитов. Если сделать это много раз, будет видно как стрелочки вдвоем прыгают вверх-вниз. Веселье.
Конец.
Нет, стойте, не конец.
Я же обещал выполнить это на реальном квантовом компьютере. С симуляторами ощущения не те. Придётся показать.
from qiskit import IBMQ
IBMQ.save_account("YOUR_API_KEY")
qpu = IBMQ.load_account().get_backend("ibmq_casablanca")
result = qpu.run(assemble(qc)).result()
plot_histogram(result.get_counts())
Ждём два часа в очереди и вуаля:
Ох-███ДАННЫЕ█УДАЛЕНЫ███-еть.
Как будто сам прикоснулся к вечности. Даже растрогался. Ну и немного кекнул над потерявшими когерентность экспериментами посередине.
Вот теперь точно конец.
Зачем нам это все?
Наверное, стоило начинать с этого пост, но уже как-то поздновато :D
Как вы заметили, стиль поста отличается от восторженно-вдохновенных статей, к которым все привыкли. Разработка квантовых компьютеров сейчас действительно окутана скептицизмом.
Тут действительно есть где посомневаться.
В создаваемых нами сегодня квантовых компьютерах кубиты могут жить жалкие доли миллисекунд, потому нам приходится одновременно создавать несколько физических кубитов ради одного логического, что еще сильнее усложняет задачу.
Даже самые топовые квантовые компьютеры гугла и IBM (на март 2021) содержат по 53 и 65 физических кубитов, что вроде неплохо для начала, но работают они не ахти как и не всегда.
Нам остаётся лишь ждать и надеяться, пока скептики прыгают вокруг с криками «ну и хернёй же вы занимаетесь, это всё хайп, надите нормальную работу».
Источник, не обрезанный
Снова привет всем, кто нас помнит и любит (хейтерам тоже превед). Коллектив Квантуз снова тут наваял лекцию и решил показать свою графоманию почтенным пикабушникам. Потому что пятница, вечер – самое время открыть пиво и почитать что-нибудь по квантовой физике и тому подобные душеспасительные опусы. На этот раз мы решили фривольно рассказать даже не про физику, а про информатику. Вот эти самые Квантовые компьютеры – тема-то животрепещущая, вызывающая разные слухи, мифы и необоснованные инвестиции. Про них, конечно, только ленивый не пишет, ну дык, чем мы хуже? Так что давайте пробежимся по предмету, чтобы представлять, где истинная правда, а где враньё, особенно в поделках недобросовестных СМИ или блогеров. Как всегда плоский гуманитарный юмор прилагается!
Умным людям давно не давали покоя квантовые эффекты, но не только потому, что их философская интерпретация не подчиняется здравому смыслу, но и в сугубо практическом смысле. Вот бы как-то взять эти эффекты и применить для нужд народного хозяйства, думали они. Считается, что первым это громко спросил Ричард Фейнман, который действительно разбирался в предмете. Квантовые расчеты требуют квантовых решений – вот его совсем недословная цитата. И пока технологии медленно развивались, некоторые физики, умеющие в математику, предложили кое-какие алгоритмы, с которыми было бы забавно поиграться на квантовых штуковинах.
В основе обычного компьютера у нас лежит понятие бита. Битом может быть любой объект, который является нам в двух однозначных состояниях: черный-белый, теплый-холодный, север-юг, плюс-минус. Если не забивать голову реализацией устройства бита, то мы для упрощения пользуемся понятием 0 или 1. Полагаем, что читатель имеет представление об основах информатики, так как в наше просвещенное время без компьютеров как без рук. Важное в этих ваших битах то, что мы всегда, в любой момент знаем или можем узнать их значение. Бит либо включен, либо выключен. Либо ноль, либо один. Когда мы считываем его значение, то это значение не пропадает, не меняется, не превращается в черную дыру, оно гарантированно сохраняется для потомков. Когда мы проводим операции над битами, результаты тоже подчиняются строгой бинарной логике и не выдают неожиданных значений. Два плюс два равно четыре.
А вот если мы возьмем что-нибудь с квантовыми эффектами, то тут с определенностью, сами знаете, как-то уже не очень. Квантовые объекты в этой главе мы будем называть кубитами (кстати, кубики тут не причем, Q-бит, квантовый бит – и всего-то). Кубитом может быть вещь, состояние которой находится в суперпозиции: электрон, у которого спин одновременно и вверх и вниз, или пространственная ориентация фотона, когда электромагнитное поле как бы вдоль и поперек (поляризация), или даже кот Шрёдингера, живой и мертвый одновременно.
Для квантовых вычислений интерес представляет совсем не итоговое значение кубита, измерение состояния кубита означает конец игры и ничего феноменального в себе не несет. В квантовых вычислениях всё веселье состоит в манипуляции вероятностями состояний кубита. Вы можете и не поверить, но технически мы способны менять вероятности обнаружения кота живым. К примеру, вот у нас коробка с котиком, мы знаем, что вероятность потискать его живого - 50%. А вот нажимаем волшебную кнопку, и вероятность спасения кота уже 80%. Или даже 100%. Или ноль. При этом мы не знаем, что там с котом, не знаем, каким мы его обнаружим, когда откроем коробку. Ведь даже при вероятности 99%, что он жив, Вселенная может выкинуть нам однопроцентный трагический исход. Но, мы знаем вероятности и умеем с ними обращаться.
Читатели конечно же понимают, что кубиты из котиков это плохая идея, поэтому квантовые алгоритмы ваяют на фотонах и электронах. Электрон пропускают через магниты и добиваются поворота его спина таким образом, что при измерении вероятность спина, скажем, вверх, будет 100% или 60%, 50%, 10% и так далее. Главное, что состояние электрона не измеряется, а через воздействие, меняются вероятности, не разрушая суперпозиции. Да, технически это сложно, частицы пытаются свалить в закат, сколлапсировать по любому поводу, провзаимодействовать с космическими лучами, сбиться с курса от кашля в соседнем подземелье и так далее. Поэтому головная боль инженеров совсем не в алгоритмах, а в том, как держать кубиты в изоляции от внешнего мира - только тогда они будут работать как требуется.
Итак, не углубляясь в технические детали, мы уразумели, что в квантовых вычислениях, мы творим с вероятностями странные вещи. И тут хитрые математики предложили несколько логических операторов для манипуляций с состояниями кубитов. В обычном доисторическом компьютере логические операторы опять же известны любому, кто хоть раз пытался в Экселе упростить себе сбор отчета с помощью формул. Помните, все эти логические И, ИЛИ, НЕ? Это операторы над битами, которые принимают одни значение битов и выдают другие. С кубитами такие операции не прокатят, потому что применение такого оператора на обычном компьютере означает считывание значения бита, его измерение и дальнейшая обработка результата. В квантовом компьютере мы должны как можно дольше издеваться над кубитом, не выясняя его значение.
Вот почему в квантовой логике используются другие операторы. Чаще всего их называют логическими вентилями или гейтами. Так типа круче, сразу видно, что не олдскул какой-то, а квантовый программист. Будем тоже использовать эти словечки, что мы хуже что ли?
Все гейты мы описывать не будем. Расскажем про самые известные.
Например, гейт "квантовый NOT". По смыслу он похож на обычный оператор "НЕ". Этот гейт меняет местами вероятности в кубите. Вот, например, был у нас кубит, у которого вероятность сколлапсировать в ноль составляет 20%, а в единицу – 80%. Применяем гейт NOT и теперь у нас получается, что вероятность нуля – 80%, а единицы – 20%. Инвертировали кубит, так сказать.
Занятно, как минимум!
Другой гейт назван в честь одного математика с фамилией Адамар. В общем и целом, гейт Адамара переводит вероятности кубита в равные значения. Тонировка нашего авто, которая делит суперпозицию падающего на него фотона на две траектории с одинаковой вероятностью, в принципе, и есть гейт Адамара. Но в математике он записывается сложно и непонятно. Поэтому запомним его таким.
Далее, конечно, все сложнее и сложнее. Квантовые вычисления были бы скучными, если бы выполнялись на одном кубите. Но если взять пару кубитов (или даже побольше), вот тут-то и начнется жара! При выполнении логических операций над несколькими кубитами происходит не просто какое-то там перемешивание вероятностей, а кубиты еще и запутываются (см. наши предыдущие лекции по квантмеху).
Вот, к примеру, квантовый гейт, который называют "контролируемое отрицание" или CNOT. Для его работы нужно уже как минимум два кубита. Гейт инвертирует второй кубит, если первый кубит равен единице. При этом мы уже получаем не изолированные кубиты, а систему запутанных кубитов, когда изменение в одном влияет на другие.
Контролируемое отрицание может быть представлено в еще более сложных версиях (CCNOT, CSWAP) когда в операции участвует больше кубитов, как обычных, так и контролирующих. На таких гейтах можно создавать серьезные вычислительные устройства, а не только баловаться!
Так как же всё это использовать на благо человечества?
Из кубитов и операций над ними собираются вычислительные алгоритмы, которые должны иметь преимущество перед обычными компьютерами. Обращаем внимание, что не все вычисления будут работать быстрее, а лишь некоторые, вроде поиска делителя числа, когда требуется выяснить простое у нас число или составное. Квантовый компьютер найдет решение значительно быстрее, чем классический компьютер. В системе запутанных кубитов вычисление происходит не по одному числу, а сразу по всем (суперпозиция же: представьте себе три бита, в которых одновременно закодированы все числа от нуля до восьми). И с помощью вышеупомянутых гейтов квантовый программист может выделить правильный ответ. Так сказать, пометить. Поставить знак минус в наборе амплитуд вероятности, который никак не влияет на вероятность (она же, помните, квадрат амплитуды). Физически этот минус ничего не значит, а вот для алгоритма это важно. Опять же через все эти логические вентили мы вытаскиваем нужное помеченное значение и остается его только прочитать.
Наш любимый пытливый читатель спросит, но ведь у нас там одни вероятности, даже если мы получаем правильный ответ, то ведь нет никакой гарантии, что при считывании результата мы получим нужное значение? Программисты оригинально решают проблему с помощью усилителя вероятностей. Это еще один заумный блок операторов квантового алгоритма, который занимается тем, что повышает вероятности нужного нам значения. Поэтому квантовый компьютер считает не один раз, а несколько, с каждым разом увеличивая вероятность правильного считывания результата. Так как существует хоть и небольшая, но ненулевая вероятность неправильного ответа, то результат дополнительно проверяется обычным компьютером.
В итоге даже при условии, что квантовый компьютер решает задачу несколько раз ради высоковероятной точности ответа, всё равно результат мы получаем намного быстрее, чем при использовании классического компьютера.
Отметим, что квантовый алгоритм не один, их существует несколько для разных задач. Самые известные это алгоритм Гровера (для задач перебора), алгоритм Шора (для разложения числа на множители), алгоритм Дойча (определение типа функции) и так далее. Да, они сложные, трудно описываемые человеческим языком, с непривычной логикой и непонятными символами. И все-таки вы можете найти в интернете сервисы, позволяющие почувствовать себя квантовыми программистами. На сайте того же IBM есть возможность поиграться с квантовыми гейтами на пяти кубитах. Конечно, квантовые крестики нолики вы не создадите, но въехавшему в тему сложить два числа будет вполне под силу.
Остался вопрос, и где эти компьютеры? Ответ зависит от того, что на сегодняшний день считать квантовыми компьютерами. В лабораториях ученых и в мрачных подземельях IT-гигантов что-то получается, они запускают систему кубитов, проводят над ними операции и получают правильные результаты. Но на эти исследования тотчас же обрушивается тонна критики и скептицизма, мол, вы вот тут запутали десяток кубитов в условиях близких к сферическому коню в вакууме. Но повторить это в домашних условиях нет никакой возможности и скорее всего такой возможности не представится. Ну, разве что кто-нибудь додумается до революционной технологии изоляции кубита или, что еще вероятнее, прилетят инопланетяне и поделятся идейками.
Так что, несмотря на громкие заявления в СМИ бытовых квантовых компьютеров у нас до сих пор нет. В лабораториях же проводятся сверхдорогие эксперименты, в которых на квантах решают задачи, которые можно быстрее посчитать даже не на калькуляторе, а на бухгалтерских счетах. Есть еще пресловутые компьютеры от D-Wave, про которые вы даже могли слышать, но спешим вас разочаровать: это не совсем квантовые компьютеры, в них применяется квантовый отжиг – веселенькое такое понятие, означающее поиск оптимальных значений функции с помощью квантовых эффектов. То есть компьютеры D-Wave созданы только для одной задачи и работают по отличному от описанного выше принципу. Однако те же спецы из Google подтверждают, что алгоритмы D-wave превосходят классические алгоритмы задачи оптимизации, а значит оно работает и это прекрасно.
Ждать ли нам квантовые компьютеры в ближайшем будущем? Будет ли у нас с помощью кубитов собираться за наносекунду отчет и пасьянс? Правда ли что искусственному интеллекту нужны квантовые алгоритмы? Лично наше мнение: вряд ли. И препятствует этому не только технологический затык, но и скромная область применения алгоритмов – разработчикам открыто непаханое поле заумной математики, где рулят комплексные числа и многомерные пространства. Программист будущего вряд ли отделается знанием бинарной математики, а значит, нам, гуманитариям, придется подтягивать матчасть и таки браться за учебник элементарной высшей математики, чтобы хоть немного понимать, что у них там происходит.
Конец.
Ни разу не реклама. Все наши лекции собраны в совершенно бесплатной (пока что, хе-хе) книге без смс и регистрации. Поглядеть можно на автор.тудей
С уважением и респектами, коллектив Квантуз!