• This repository has been archived on 15/Jun/2023
  • Stars
    star
    251
  • Rank 160,987 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Quantum Challenge problem sets

Welcome to IBM Quantum Challenge!

LicenseLast updated

日本語はこちら
한글은 여기

Thank you! We have completed this challenge on Nov 30th, 2020.

Leaderboard

The Leaderboard shows the top ten scores and standings of contestants who have submitted their code to the final exercise.

How to Solve the Final Exercise

Sample solutions: Example solution to the final exercise with honorary mentions to the top three scorers by our judges.

Top Scorers’ Solutions

Top Scorers’ Solutions: How did the top scorers tackle this problem? Check out their unique and excellent solutions.

The Story behind IBM Quantum Chellenge

You can explore each story behind the adventure of Dr. Ryoko.

Episode 1 Episode 2 Episode 3 Episode 4 Episode 5 Episode 6
image of ep1 image of ep2 image of ep3 image of ep4 image of ep5 image of ep6

IMPORTANT : Final exercise submission rules

Hello, quantum world.

As we approach the end of 2020, we would like to engage the community with new exciting set of challenges, and further push limits of our quantum systems to achieve another yet significant milestone. 

Our first competitive coding contest IBM Quantum Challenge was held in November 2019, attracting both seasoned coders and newbies from all over the world to start their journey in Quantum Computing. In May 2020, we celebrated our fourth anniversary of IBM Quantum Experience with another Challenge where 1,745 people from 45 countries came together to solve four problems making total use of the 18 IBM Quantum systems on the IBM Cloud exceeding 1 billion circuits a day. 

Starting Nov 9th at 9am JST, we present you with three weeks of new challenges that will help grow your knowledge, skills, and understanding of quantum computing and Qiskit to tackle problems using some well-known quantum algorithms.

In recognition of your participation, we are awarding digital badges to those who complete all exercises.

Note that participation is allowed for those who have applied and received official confirmation from the challenge organizers only. 

Programming Environment

IBM Quantum Challenge will be hosted on IBM Quantum Experience (a.k.a. IQX). IQX allows you to build, execute and evaluate your quantum circuits within a self-contained Jupyter notebook environment without downloading anything to your computer.

On Nov 9, 2020 when the challenge site opens, participants will see a set of exercises hosted in this self-contained Jupyter notebook environment where you can write and run your code directly from and make submissions of your answers.

Please note that the challenge site with exercises hosted in this Jupyter notebook environment is only accessible by applicants who confirmed participation upon receiving a confirmation email from the event organizers.

Preparation

In many cases, you may prefer to run your code locally when working on the exercises before you make your submission in the IBM Quantum Experience environment. In such case, you will need to install Qiskit to your computer. Qiskit is a Python based opensource framework for working with quantum computers at the level of pulses, circuits, and algorithms. Please see the Qiskit.org page for more details.

Qiskit can be installed by using pip:

$ pip install qiskit

Please check out Install Qiskit or YouTube video for a step by step installaion guide.

Challenge Index

The challenge content has been shared with the public on the following dates.

Week Challenge Message from Dr. Ryoko  Available on (JST)
Week 0 For Beginners: The atoms of computation Episode 1 Now Live
Week 1 Learning Challenge Exercise I-A
Learning Challenge Exercise I-B
Episode 2 Nov 9th 2020
Week 2 Learning Challenge Exercise II-A
Learning Challenge Exercise II-B
Episode 3, Episode 4 Nov 16th 2020
Week 3 Final Challenge Episode 5, Episode 6 Nov 23rd 2020

Final Exercise Submission Rules

For valid submissions we ask that your solution adheres to the below rule.

  • Please implement the quantum circuit within 28 qubits.
  • Use Grover's algorithm you learned in Week1 & 2 with iteration = 1.
  • The initial state for Grover's algorithm must be equal probability distributions. For example, if you want use only 3 computational bases for 2 qubits instead of 4 as the initial state. Then, the state will be sqrt(1/3)(|00⟩+|01⟩+|11⟩).
  • Please note that you can get the answer with the same endian as the one used in Week2 explanation. You should map the index of the problem into four classical registers c[0:4] in binary. c[0] is the highest bit and c[3] is the lowest bit. For example, when mapping 12, the furthest left bit of 1100 will be mapped to c[0].
  • Make sure you create an oracle that doesn't require knowledge of what the answers are. (For example, you are not allowed to create an oracle by using a classical optimization solver to get your answers for it.)   With the exception of the Unroller, which is required for decomposing your circuit to calculate quantum costs, you are not allowed to use any existing transpiler passes nor original transpilers for making simplifications in this competition.
  • Please do not run jobs in succession even if you are concerned that your job is not running properly. This can create a long queue and clog the backend. You can check whether your job is running properly at: https://quantum-computing.ibm.com/results  
  • Your score for this exercise will be same as the cost of your QuantumCircuit. The lower the cost, the better.
  • Judges will check top 10 solutions manually to see if the solutions adhere to the rules. Please note that your ranking is subject to change after the challenge period as a result of the judging process
  • Top 10 participants will be recognized and asked to submit a write up on how they solved the exercise.
  • When mapping the board information into your quantum circuit, you must not change the board information from the original one. (i.e. Do not rearrange the asteroid positions, nor rotate, invert, swap rows and columns.) 


IBM Quantum Challengeへようこそ!

当コンテストは2020年11月30日に終了しました。

順位表

順位表: ファイナルチャレンジのトップ10のランキング表です。

最終問題の解法解説

最終問題解説:ジャッジによる最終問題の解法例です。競技者の皆さんの独創的で素晴らしい解法↓↓↓もぜひチェックしてください。

トップ10の解法解説

トップの解法解説: トップ10にランキングした皆さんが最終問題にどう挑んだのか。アプローチ、駆使したテクニックなどを公開しています。

重要:最終問題の提出ルール


2020年も終わりに近づいてまいりましたが、量子コンピューティングの世界の新たな挑戦にご案内したいと思います。皆さんで一緒に量子の世界の新たなマイルストーンを達成しましょう!

2019年11月に初めて開催したIBM Quantum Challengeでは、量子情報の専門家から初心者の方まで多くの方にご参加いただきました。IBM Qunatum Experience誕生から4周年を祝して開催された2020年5月のIBM Quantum Challengeでは、45ヶ国から1745人の方が参加し、期間中に、18台のIBMの量子コンピューターシステムにおいて、1日に10億回の量子回路の計算が実行されました。

11月9日午前9時(日本時間)に開催される今回のChallengeは、3週間のChallengeです。ともに、量子コンピューターの知識・スキルを深め、Exercise問題に取り組んでまいりましょう。

すべてのExercisesにおいて正解を提出できた方にDigital badgeをお送りします。

応募フォーム(Application Form)を完了し、Challenge事務局から確認メール(Confirmation Required)を受領し参加確認を行った方のみ、Challengeに参加可能です。

プログラミング環境

IBM Quantum ExperienceではPythonベースのオープンソースの量子開発フレームワークであるQiskitを利用します。

11月9日(月)のチャレンジ開始と同時に、参加者はIQXの専用サイトから、ホスティングされているJupyter Notebook内の問題を閲覧することが可能になります。参加者は自身のコンピュータにはQiskitをインストールすることなく、同ホスティング環境にてコードを記述、実行し、回答を提出することができます。

注)当ChallengeのIQX上の専用サイトは事前登録を済ませたのち、Challenge事務局からの確認メール(Confirmation Required)にて参加確認を行った方のみアクセス可能になります。予めご了承ください。

事前準備

Challengeで出題されるExercise問題に取り組む際、すべてをIQX上で実行する前に、コードの作成や実行をローカルで試したい方もいらっしゃるでしょう。そういう場合のために、ご自身のパソコン環境にQiskitをインストールしておくことをお勧めします。Qiskitは量子コンピューターを使うためのPythonのオープンソース フレームワークです。パルスや回路、アルゴリズムといった様々なレイヤーで活用することができます。Qiskitの詳細はQiskit.orgのページを参照して下さい。

Qiskitは pip を用いてインストールできます。

$ pip install qiskit

インストールの詳細な手順についてはQiskitのインストールまたはインストール動画を参照してください。

チャレンジ内容

毎週以下の日付にそれぞれのチャレンジ内容を更新します。

ウィーク チャレンジ Dr.リョウコからのメッセージ   更新日
Week 0 初心者向け:量子計算の基礎 Episode 1 公開済み
Week 1 ラーニングチャレンジ演習 I-A
ラーニングチャレンジ演習 II-B
Episode 2 Nov 9th 2020
Week 2 ラーニングチャレンジ演習 II-A
ラーニングチャレンジ演習 II-B
Episode 3, Episode 4 Nov 16th 2020
Week 3 ファイナルチャレンジ(本戦) Episode 5, Episode 6 Nov 23rd 2020

ibm-quantum-challenge환영합니다!

Thank you! We have completed this challenge on Nov 30th, 2020.

중요 : 최종 과제 제출 규칙

2020년 말이 다가오는 시점에 커뮤니티 여러분을 위해 양자 시스템의 한계를 뚫고 나아가 새로운 이정표를 달성할 수 있는 새롭고 흥미 진진한 챌린지를 준비했습니다.

2019년 11월에 처음으로 시작된 IBM Quantum Challenge는 전 세계의 많은 개발자들과 입문자들을 양자컴퓨터로의 여정으로 인도했습니다. 그리고 2020년 5월, IBM Quantum Experience의 4주년을 기념하여 열린 IBM Qunatum Experience에서 총 45개국에서 온 1745명의 참가자들은 4개의 문제를 풀기 위해 IBM 클라우드를 통해 총 18개의 IBM Quantum systems을 사용하여, 하루 기준 10억 개의 양자 회로 연산 수행 기록을 달성했습니다.

돌아오는 11월 9일 오전 9시부터, 몇 가지의 잘 알려진 양자 알고리즘을 사용해 양자컴퓨팅과 Qiskit에 대한 지식과 기술을 높일 수 있는 과제가 준비되어 있는 3주간의 새로운 챌린지가 시작됩니다.

연습문제를 모두 성공적으로 완료한 참가자에게는 디지털 배지가 수여됩니다.

참가 신청 후 주최 측으로 부터 참가에 대한 공식 확인을 받아야 참가가 가능한 점에 유의하세요.

코딩 환경

IBM Quantum Challenge는 IBM Quantum Experience (일명 IQX)에서 진행됩니다. IQX를 사용하는 경우 개인 컴퓨터에 라이브러리나 파일을 다운로드 하거나 설치할 필요 없이 IQX에 자체 포함 된 Jupyter 노트북 환경에서 양자 회로를 구성, 실행하고 도전 과제를 평가받을 수 있습니다.

2020 년 11 월 9 일 챌린지 사이트가 열리면 참가자는 코드를 직접 작성하고 실행하고 답변을 제출할 수있는이 독립형 Jupyter 노트북 환경에서 연습 문제를 풀고 제출하게 됩니다.

연습 문제에 도전할 수 있는 Jupyter notebook 작업 공간은 주최 측으로 부터 공식 참가 확인 이메일을 받고 참여가 확정된 참가자만이 접근 가능한 점에 꼭 유의하세요.

준비사항

IBM Quantum Experience 환경에서 연습 문제의 정답을 제출하기 전에 개인 작업 환경(개인 노트북 및 컴퓨터의 로컬 환경)에서 미리 실습해 보고 싶을 수 있습니다. 이 경우 컴퓨터에 Qiskit을 설치해야합니다. Qiskit은 펄스, 회로 및 알고리즘 수준에서 양자 컴퓨터 작업을위한 Python 기반 오픈 소스 프레임 워크입니다. 자세한 내용은 Qiskit.org 페이지를 참조하십시오.

pip를 사용하여 Qiskit을 간단하게 설치할 수 있습니다.

$ pip install qiskit

자세한 내용은 Install Qiskit이나 YouTube video 를 참고하세요.

도전 순서

도전 과제는 다음의 날짜에 공개됩니다.

Week 도전 과제 료코 박사의 메시지  Available on (KST)
Week 0 초보자 대상: 양자 컴퓨팅의 기초 Episode 1 도전 가능
Week 1 도전 과제 I-A
도전 과제 I-B
Episode 2 도전 가능
Week 2 도전 과제 II-A
도전 과제 II-B
Episode 3, Episode 4 도전 가능
Week 3 최종 과제 Episode 5, Episode 6 도전 가능

More Repositories

1

qiskit-community-tutorials

A collection of Jupyter notebooks developed by the community showing how to use Qiskit
Jupyter Notebook
676
star
2

qiskit-machine-learning

Quantum Machine Learning
Python
647
star
3

qiskit-aqua

Quantum Algorithms & Applications (**DEPRECATED** since April 2021 - see readme for more info)
Python
573
star
4

qiskit-nature

Qiskit Nature is an open-source, quantum computing, framework for solving quantum mechanical natural science problems.
Python
297
star
5

qiskit-metal

Quantum Hardware Design. Open-source project for engineers and scientists to design superconducting quantum devices with ease.
Python
279
star
6

qiskit-finance

Quantum Finance
Python
228
star
7

qiskit-optimization

Quantum Optimization
Python
224
star
8

qiskit-ignis

Ignis (deprecated) provides tools for quantum hardware verification, noise characterization, and error correction.
Python
167
star
9

ibm-quantum-challenge-2021

For IBM Quantum Challenge 2021 (May 20 - 26)
Jupyter Notebook
154
star
10

ibm-quantum-challenge-2024

For IBM Quantum Challenge 2024 (5-14 June 2024)
Jupyter Notebook
148
star
11

ibm-quantum-challenge-spring-2023

For IBM Quantum Challenge Spring 2023
Jupyter Notebook
145
star
12

qiskit-translations

Home of Qiskit documentation translations
Shell
143
star
13

ibm-quantum-challenge-fall-2021

For IBM Quantum Challenge Fall 2021
Jupyter Notebook
139
star
14

ibm-quantum-challenge-fall-22

For IBM Quantum Fall Challenge 2022
Jupyter Notebook
120
star
15

may4_challenge_exercises

Original versions of the exercises
Jupyter Notebook
120
star
16

qiskit-js

⚛️ Qiskit (Quantum Information Science Kit) for JavaScript
JavaScript
114
star
17

qiskit-algorithms

A library of quantum algorithms for Qiskit.
Python
103
star
18

qiskit-dynamics

Tools for building and solving models of quantum systems in Qiskit
Python
102
star
19

ibm-quantum-spring-challenge-2022

Jupyter Notebook
99
star
20

qgss-2023

All things Qiskit Global Summer School 2023: Theory to Implementation - Lecture notes, Labs and Solutions
Jupyter Notebook
96
star
21

open-science-prize-2021

Jupyter Notebook
84
star
22

quantum-explorers

A self-paced, quantum computing learning journey for high school students and above.
Jupyter Notebook
81
star
23

qiskit-presentations

Awesome Qiskit presentations
Jupyter Notebook
79
star
24

qiskit-qec

Qiskit quantum error correction framework
Python
78
star
25

open-science-prize-2022

Jupyter Notebook
68
star
26

qiskit-research

Research using Qiskit.
Python
64
star
27

qiskit-braket-provider

Qiskit-Braket provider to execute Qiskit programs on quantum computing hardware devices through Amazon Braket.
Python
57
star
28

mapomatic

Automatic mapping of compiled circuits to low-noise sub-graphs
Python
55
star
29

qiskit-application-modules-demo-sessions

Demo notebooks for Qiskit application modules demo sessions (Oct 8 & 15):
Jupyter Notebook
49
star
30

ibm-quantum-challenge-africa-2021

For IBM Quantum Challenge Africa 2021, 9 September (07:00 UTC) - 20 September (23:00 UTC).
Jupyter Notebook
49
star
31

Quantum-Challenge-Grader

Grading client for the IBM Quantum Challenges
Python
43
star
32

ICPC-Quantum-Challenge-2021

Original version of the exercises for the 2021 ICPC Quantum Computing Challenge
Jupyter Notebook
42
star
33

open-science-prize

Jupyter Notebook
42
star
34

intro-to-quantum-computing-and-quantum-hardware

intro-to-quantum-computing-and-quantum-hardware
42
star
35

MicroQiskit

Jupyter Notebook
42
star
36

qiskit-ionq

Qiskit provider for IonQ backends
Python
41
star
37

quantum-prototype-template

A template repository for generating new quantum prototypes based on Qiskit
Python
40
star
38

qiskit-swift

Qiskit in swift
Swift
39
star
39

prototype-quantum-kernel-training

Toolkit for training quantum kernels in machine learning applications
Python
39
star
40

qiskit-hackathon-korea-22

Jupyter Notebook
35
star
41

lindbladmpo

A matrix-product-operators solver for the dynamics of interacting qubits modeled by a Lindblad master equation, written in C++ and wrapped with an easy-to-use Python interface.
Python
35
star
42

qiskit-hackathon-korea-21

A repository for Qiskit Hackathon Korea (February 16-19, 2021)
33
star
43

qiskit-hackathon-taiwan-20

32
star
44

qiskit-cold-atom

Tools to control cold-atom-based quantum simulators and quantum computers.
Python
29
star
45

prototype-entanglement-forging

A module for simulating chemical and physical systems using a Variational Quantum Eigensolver (VQE) enhanced by Entanglement Forging.
Python
29
star
46

prototype-zne

Zero Noise Extrapolation (ZNE) prototype for error mitigation on the Qiskit Estimator primitive
Python
29
star
47

QuantumBlur

Jupyter Notebook
28
star
48

povm-toolbox

A toolbox for the implementation of positive operator-valued measures (POVMs).
Python
28
star
49

qiskit-aqt-provider

Qiskit provider for AQT backends.
Python
27
star
50

prototype-qrao

Quantum random access optimization prototype
Python
27
star
51

qiskit-dell-runtime

Qiskit Dell Runtime is a Qiskit Runtime platform that can execute classical-quantum code on both local and on-premise environments. With this platform, hybrid classical-quantum code bundle can be developed and executed. Powered by Qiskit Runtime API, this execution model provides close-integration of classical and quantum execution.
Python
27
star
52

QuantumGraph

Jupyter Notebook
26
star
53

qiskit-app-benchmarks

Qiskit Application Benchmarks
Python
25
star
54

qiskit-qcgpu-provider

A provider which allows Qiskit to use the QCGPU simulator
Python
25
star
55

qopt-best-practices

A collection of guidelines to run quantum optimization algorithms on superconducting qubits with Qiskit, using as reference the Quantum Approximate Optimization Algorithm (QAOA) workflow.
Jupyter Notebook
25
star
56

qiskit-quantinuum-provider

Qiskit provider for Quantinuum backends.
Python
21
star
57

qiskit-pocket-guide

Code from the Qiskit Pocket Guide book
Jupyter Notebook
21
star
58

ffsim

Faster simulations of fermionic quantum circuits.
Python
19
star
59

qiskit-camp-europe-19

19
star
60

blackwater

Library for solving quantum computing problems using machine learning
Python
19
star
61

qiskit-jku-provider

A local provider which allows Qiskit to use a decision-diagrams quantum simulator from JKU
C++
19
star
62

awesome-qiskit

Awesome Qiskit is a list of projects, tools, utilities, libraries and tutorials from a broad community of developers and researchers.
Python
19
star
63

openshift-quantum-operators

Jupyter Notebook
18
star
64

qiskit-nature-pyscf

Documentation at https://qiskit-community.github.io/qiskit-nature-pyscf/
Python
18
star
65

subgraph-isomorphism

A quantum algorithm for the subgraph isomorphism problem
Python
16
star
66

qiskit_rng

Quantum random number generator with CQC extractor
Python
16
star
67

qiskit-aqua-interfaces

qiskit-aqua-interfaces provides command-line and graphical interfaces for executing experiments using Qiskit Aqua.
Python
16
star
68

qiskit-camp-africa-19

Qiskit Camp Africa - December 11-14, 2019
15
star
69

korean-community

Jupyter Notebook
15
star
70

qiskit-qubit-reuse

A Qiskit transpiler stage plugin to enable qubit reuse via mid-circuit measurement and reset.
Python
15
star
71

qiskit-alt

High-performance Qiskit features backed by Julia. A Python front end to algorithms using Pauli and Fermionic operators implemented in Julia.
Python
13
star
72

qiskit-summer-jam-20

13
star
73

quantum-algorithms-benchmarks

Jupyter Notebook
12
star
74

qiskit-hackathon-singapore-19

11
star
75

community.qiskit.org

Home of the Qiskit Community
HTML
11
star
76

qiskit-hackathon-bilbao-19

Main repository for the Quantum Hackathon in Bilbao
10
star
77

quantum-fridays

Jupyter Notebook
10
star
78

repo-monitor

Python
9
star
79

mzm-phase-boundary

This repository contains the code and data from the manuscript "Simulating spectroscopic detection of Majorana zero modes with a superconducting quantum computer."
Jupyter Notebook
9
star
80

qiskit-benchmarks

A performance comparinson of Qiskit contributions
Python
8
star
81

QCHack-2022

8
star
82

qiskit.camp

Qiskit.camp 19 - Bringing together the Qiskit community
CSS
8
star
83

may4_challenge

Happy birthday IQX
Python
7
star
84

dsm-swap

A doubly stochastic matrices-based approach to optimal qubit routing
Python
7
star
85

quantum-hackathon-korea-22

7
star
86

arraylias

A Python library for automatic aliasing of multiple array libraries
Python
7
star
87

qiskit-toqm

Qiskit Terra transpiler passes for the Time-Optimal Qubit Mapping (TOQM) algorithm.
Python
7
star
88

Qiskit-Hackathon-at-World-of-QUANTUM

Jupyter Notebook
6
star
89

Qiskit-runtime-primitives-with-MATLAB

Qiskit Runtime Primitives through Matlab
MATLAB
6
star
90

archiver4qiskit

Tools to help record data from Qiskit jobs
Python
5
star
91

qiskit-nature-psi4

Python
5
star
92

QiskitUnityAsset

Qiskit Unity Asset official repository
C#
5
star
93

qiskit-translations-staging

Home of Staging Site of Qiskit Documentation Translations
5
star
94

qiskit-vue

Qiskit components library for Vue.
HTML
5
star
95

Qiskit-Resources

A curated list of all the Qiskit Resources in a single place
5
star
96

qiskit-bip-mapper

Qiskit transpiler plugin for BIP Mapping routing pass
Python
5
star
97

technical-integration-guidance

Jupyter Notebook
5
star
98

interactive-formula

4
star
99

virtual-event-guide

4
star
100

quantum-hackathon-korea-21

4
star