Команда Microsoft Quantum рада анонсировать Q# Coding Contest – зима 2019! В этом конкурсе вы можете проверить свои навыки квантового программирования, решая задачи квантовых вычислений на Q#. Победители получат футболку Microsoft Quantum!
Квантовые вычисления — это принципиально другая вычислительная парадигма по сравнению с классическими вычислениями. На самом деле, они настолько отличаются, что некоторые задачи, которые считаются классически неразрешимыми (такие как разложение целых чисел или моделирование физических систем), могут эффективно выполняться на квантовом компьютере. В 2017 году Microsoft представила Quantum Development Kit, который включает язык программирования Q#. Q# может использоваться с Visual Studio, Visual Studio Code или командной строкой, в Windows, macOS и Linux.
Летом 2018 мы провели первый конкурс по квантовому программированию, который включал задачи по вводным темам в квантовых вычислениях: суперпозиция, измерение, квантовые оракулы и простые алгоритмы. Этот конкурс предложит более сложные проблемы по некоторым из этих тем, а также представит несколько новых тем.
Конкурс пройдет с 1 по 4 марта. Правила таковы:
- Конкурс будет иметь 12 заданий разной сложности.
- Чтобы решить каждую задачу, вы напишете код Q# для реализации описанного преобразования на заданном наборе кубитов или для выполнения более сложной задачи. Решения принимаются только на Q#.
- Решение является правильным, если оно проходит все тесты из предварительно определенного набора тестов. Вы узнаете, является ли решение правильным вскоре после его подачи.
- Участники ранжируются по количеству правильно решенных задач.
- Рейтинг составляется на основе минимального времени штрафа для всех заданий, которое вычисляется как самое позднее время подачи (время с начала конкурса) для любого из правильно решенных заданий. Дополнительное наказание в 20 минут добавляется за каждую неудачную отправку по выполненным задачам (то есть, если вы никогда не решите задачу, вы не будете наказаны за выполнение этой задачи).
- Лучшие 50 участников получат футболку Microsoft Quantum.
- Все бесплатно. Должно быть 16 лет или старше. Игра заканчивается 03.04.19. Подробнее см. Официальные правила.
Мы предложим разминку в выходные дни перед конкурсом, с 22 по 25 февраля. Участие в разминке совершенно необязательно. Раунд разминки включает в себя более простые задания по темам, освещаемым в основном конкурсе, и дает вам возможность заранее ознакомиться со средой конкурса и системой подачи заявок, а также обновить знания или изучить основы квантовых вычислений и язык программирования Q#. Во время разминки всем предлагается обсудить задачи и решения. После завершения раунда разминки мы опубликуем редакционные статьи, объясняющие как логику квантовых вычислений, лежащих в основе решения, так и реализацию Q# на странице конкурса.
Еще один отличный способ подготовиться к конкурсу — решить некоторые из Quantum Katas. Они предлагают проблемы по различным темам квантового программирования, и они очень похожи на те, которые используются в конкурсе. На самом деле, участники летнего конкурса Q# узнают задания конкурса в некоторых тасках на сайте :-)
Удачи! Надеемся, что вам понравится!
Для тех, кто хочет участвовать впервые:
- Создать аккаунт здесь.
- Зарегистрироваться на разминочный раунд здесь.
- Зарегистрироваться на турнир здесь.
- Как только 22 февраля начнется разминка, решайте задачиздесь.
- Как только конкурс начнется 1 марта, получите доступ к задачам здесь.
Материалы по квантовому программированию и Q#:
- Квантовые вычисления: конспект лекций Рональда де Вольфа..
- Коллекция потрясающих учебных ресурсов по квантовым вычислениям, включая MOOC и книги.
- Q#: инструкция по установке и документация.
- Quantum Katas — упражнения по программированию на Q#.
- Краткий справочник по языку Q#.
Обратите внимание, что этот конкурс будет использовать Q# 0.4, в то время как предыдущий конкурс использовал Q# 0.2. Большая часть кода, написанного на 0.2, все еще будет работать на 0.4; подробности о критических изменениях и новых функциях смотрите здесь.