Язык квантового программирования Microsoft Q# может помочь вам изучить квантовую физику

Криста Своре Microsoft Q# Программирование квантовых вычислений
Майкрософт

Компьютеры вот-вот станут странными.

Содержание

  • Делаем тайну доступной
  • Квантовое сообщество
  • Готовимся к завтрашнему дню

После десятилетий существования в качестве теории первые квантовые компьютеры теперь находятся в нескольких избранных лабораториях по всему миру. Они элементарны и, возможно, менее практичны, чем ранние электронные компьютеры, такие как 50-тонный ENIAC. Однако исследователи добиваются успехов. IBM, Google и Intel добиваются прогресса на квантовом оборудовании, и практический квантовый компьютер наконец-то кажется реальностью ближайшего будущего, а не предметом научной фантастики.

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

Связанный

  • Детали для ремонта поверхности теперь доступны в Microsoft Store
  • Microsoft Teams получает новые инструменты искусственного интеллекта — и они бесплатны
  • Microsoft намекает на пересмотр дизайна основного приложения для Windows 11

У Microsoft есть план по их обучению.

Делаем тайну доступной

Любой разработчик, желающий изучить новый язык программирования, например C# или Javascript, хочет немедленно воспользоваться ее уроками. Однако зарождение квантовых вычислений может усложнить эту задачу. Создание программы для многих квантовых устройств во многом похоже на попытку написать двоичный машинный код, но еще сложнее, поскольку это квантовая механика. Это не просто область, которую хорошо понимают, но которую трудно перевести. Это область исследований, в которой некоторые основы остаются неизвестными.

Microsoft Quantum Q#, программирование на компьютере
Мэтт Смит/Цифровые тенденции

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

Квантовые вычисления настолько новы и настолько не похожи ни на что до них, что даже ведущие исследователи остаются в неведении относительно важных и фундаментальных элементов.

Квантовые вычисления 101

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

Q# не спрятан за стеной ужасной документации и плохо объясненных программ установки. Программисты могут получить к нему доступ через Visual Studio. самая популярная в мире среда разработки. И программистам не нужен доступ к квантовому компьютеру, чтобы использовать его.

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

«Мы предполагаем, что квантовый компьютер станет еще одним ресурсом в Azure, наряду с графическим процессором, FPGA и ASIC. Azure становится целой структурой, включающей в себя квантовый компьютер», — сказал Своре Digital Trends.

квантовое Microsoft Q кодирование Python Interop jpg 3605
Quantum Microsoft q примеры кодирования GitHub jpg 3604
квантовый Microsoft Q кодирование 3603
квантовое программирование Microsoft Q Python моделирование jpg 3602

Большинству программистов знакомо использование специального оборудования для решения конкретных задач, а также использование ресурсов в облаке. Запуск Q# ничем не отличается от этих хорошо известных задач. Квантовое оборудование может быть экзотическим и редким, но среда программирования, которую Microsoft предлагает для Q#, именно то, что вы увидели бы сегодня, если бы посмотрели через плечо программиста из списка Fortune 500. компании. Это делает его гораздо менее пугающим.

«Конечная цель заключается в том, что пользователь не говорит: «Хорошо, теперь мне нужно взять это приложение и запустить его на этой части процессора, на этой части здесь, на этой части там», — сказал Своре. «То же самое и с квантовыми вычислениями. Мы хотим, чтобы ускоритель был безупречным».

Квантовое сообщество

Программисты могут познакомиться с Q# с помощью набора бесплатных руководств, которые Microsoft называет Quantum Katas. Каждый урок включает в себя «последовательность задач по определенной теме квантовых вычислений», которую программистам предстоит решить. Цель — найти правильное решение, но не менее важно и путешествие. Ката не предназначены для решения за один проход. Они обучают методом проб и ошибок, попутно знакомя программистов с основами квантового программирования.

Q# и Quantum Katas привносят преобразующий уровень обратной связи в квантовое программирование.

Крис Гранаде, инженер-исследователь по разработке программного обеспечения в Microsoft, увидел их своими глазами во время участия в обучающем занятии, организованном Сиднейским технологическим университетом. «Было действительно удивительно наблюдать, как люди могут перейти от нулевых знаний о квантовых технологиях к их написанию», — сказал он Digital Trends. «Что было преобразующим, так это то, что когда у людей возникало недопонимание, они не страдали от этого. Они могли выполнять ката, видеть, что они получили неправильный ответ, и эта обратная связь действительно помогала людям понять это на практике».

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

Квантовые вычисления

Изменения, которые Гранаде увидела лично, происходят не только в классах. Quantum Development Kit, частью которого является Q#, может быть загружен любым пользователем по лицензии с открытым исходным кодом. Заинтересованные разработчики могут не только начать его использовать, но и активно внести свой вклад в сообщество. Своре сообщил Digital Trends, что количество загрузок QDK исчисляется «десятками тысяч», а участники уже добавили «несколько существенных вкладов», включая новые алгоритмы и документация.

Несмотря на свою нишу, этот Quantum Development Kit устанавливает планку входа настолько низко, что даже новичку программист может начать экспериментировать с Q# и при этом начать понимать, что делает квантовые вычисления галочка. Это полезно не только для программистов, но и для всей области квантовой физики. Объяснение квантовых теорий — большая головная боль не только потому, что квантовый мир странен по сравнению с «классическим». физику, которую знает большинство программистов, но также и потому, что практические последствия квантовой физики могут быть трудными для понимания. продемонстрировать.

«Вам не нужно знать физику. Вам не нужно знать квантовую механику».

Классические компьютеры имеют дело с двоичными абсолютами. 1 и 0. Выкл. или вкл. Квант имеет дело с вероятностями, а квантовое программирование означает создание алгоритмов, которые манипулируют вероятностями для получения правильного решения. «Вы знаете, что эта волна включает в себя мое решение. Эти другие волны не содержат решения. Итак, я хочу, чтобы эти волны, когда они мешают, исчезли», — объяснил Своре. «И я хочу, чтобы волна, включающая мое решение, стала действительно большой. В конце мы измеряем квантовые состояния. Вероятность выхода высокой волны тем выше, чем выше эта волна. Именно так мы разрабатываем квантовые алгоритмы».

Вы понимаете, что означает Своре?

Если нет, не расстраивайтесь. Это нелегко понять и нелегко продемонстрировать. Даже мысленные эксперименты, призванные упростить квантовую механику, такие как знаменитый кот Шрёдингера, могут заставить вас почесать затылок.

Инженеры Microsoft Quantum Q#
Майкрософт

Microsoft надеется, что Q# и Quantum Katas предложат практическую альтернативу подходу к этой теме. «Вам не нужно знать физику. Вам не нужно знать квантовую механику. На самом деле, признаюсь, я не изучал квантовую механику до аспирантуры», — сказал Своре. «Я занялся квантовыми компьютерами, даже не изучая физику в колледже. По образованию я компьютерщик».

Квантовое программирование может стать окном для понимания, предоставив программистам возможность практического использования квантовых теорий, не отказываясь от инструментов, на которые они привыкли полагаться. Не нужно тратить годы на изучение физики. Просто начните, создайте приложение, использующее Q#, и посмотрите, что произойдет.

Готовимся к завтрашнему дню

Сегодняшнее практическое использование Q# ограничено, поскольку нет аппаратного обеспечения, к которому можно было бы обратиться. Microsoft еще не создала квантовый компьютер, а даже если бы и имел, то было бы слишком примитивно для выполнения полезных вычислений. Но программист может проверить свою работу, запустив Q# на моделируемом квантовом компьютере. Это позволяет написать программу для квантовых вычислений с разумным ожиданием, что, как только оборудование станет доступным, она будет работать.

Криста Своре, Крис Гранад, Microsoft Quantum Q#
Криста Своре, главный менеджер по исследованиям в группе квантовых архитектур и вычислений Microsoft (слева) и Крис Гранад, инженер-исследователь по разработке программного обеспечения в Microsoft.Мэтт Смит/Цифровые тенденции

Это очень важно. Квантовые компьютеры — это не просто лучший современный ПК. Они принципиально разные. Они требуют другого оборудования, других алгоритмов и другого подхода к решению сложных задач. Даже если бы появился путешественник во времени с функциональным, стабильным квантовым компьютером на миллион кубитов, нам было бы трудно его использовать, точно так же, как римские ученые были бы в недоумении, если бы им вручили ноутбук. 99,9 процента современных разработчиков, программистов и ученых-компьютерщиков не имеют опыта квантового программирования и понятия не имеют, как работает квантовая физика. Прежде чем можно будет сделать более впечатляющие открытия, необходимо изучить основы.

Обучение этому потребует времени, но Q# от Microsoft — это важный шаг вперед.

Рекомендации редакции

  • ChatGPT теперь может бесплатно генерировать рабочие ключи Windows 11
  • Microsoft, возможно, проигнорировала предупреждения о неадекватных ответах Bing Chat
  • Microsoft предупреждает, что китайские хакеры атакуют критически важную инфраструктуру США
  • Теперь вы можете опробовать аватары и виртуальные пространства в Microsoft Teams.
  • Microsoft Build 2023: крупнейшие анонсы в области искусственного интеллекта, Windows и многого другого