This device is not compatible.


Quantum Random Walk

Create a quantum circuit on Qiskit to explore quantum randomness. We'll learn to simulate a random walk for a cyclic graph using a quantum random number. We'll also learn to generate a classical number walk with pseudorandom numbers via classical computing. Finally, we'll compare each random walk strategy.

Quantum Random Walk

You will learn to:

Create and simulate a quantum circuit using Qiskit

Visualize the results of quantum simulation using dedicated packages

Construct a unitary operator to perform a custom quantum operation

Analyze the performance of classical and quantum simulations



Data Visualization

Quantum Computing


Familiarity with Python

Understanding of the basic concepts of linear algebra

Beginner-level understanding of quantum computing





Project Description

Quantum computing is a new technological field that uses quantum phenomena to perform computations. This non-conventional approach to computation has its advantages over classical technology—a phenomenon known as quantum supremacy. While efforts are underway to create a general-purpose quantum computer, current quantum technologies are already finding applications in cybersecurity, finance, and communication.

Quantum superposition is one of the phenomena at the heart of quantum weirdness, because it allows an object to exist in multiple states simultaneously. However, when we observe such an object, it loses its superposition and becomes a classical object, its classical state being determined by the probability distribution of its quantum state. Due to this random collapse to its classical state, quantum superposition can be employed to generate truly random numbers, a feat unachieved by classical computing.

In this project, we’ll use random numbers generated by a quantum simulator to simulate a random walk and compare its results with those obtained by classical random numbers.

Project Tasks


Building Blocks of Quantum Random Walk

Task 0: Introduction

Task 1: Import Libraries

Task 2: Create a Quantum Circuit

Task 3: Apply the Hadamard Gate

Task 4: Create a Unitary Operator

Task 5: Apply Measurement Gate

Task 6: Simulate the Circuit


Quantum Random Walk

Task 7: Create the Unitary Operator for the Walk

Task 8: Create a Single-step Quantum Random Walk

Task 9: Extract the Walker's Information from Simulation Results

Task 10: Extract the Walker's Statevector from Simulation Results

Task 11: Create the quantum_step() Function

Task 12: Create the quantum_random_walk() Function

Task 13: Test Run

Task 14: Visualize the Quantum Random Walk


Classical Random Walk

Task 15: Create the classical_step() Function

Task 16: Create the classical_random_walk() Function

Task 17: Test Run


Comparison of Classical and Quantum Walker

Task 18: Analyze the Classical Random Walk

Task 19: Analyze the Quantum Random Walk