Week 18 - my notes

Table of Contents

“I try to understand the limitations of [quantum] algorithms… it goes hand in hand with understanding what is possible.” - Scott Aaronson

Week 18 - Quantum Algorithms and Quantum Advantage

Quantum Algorithms

  • It is how a quantum computer solves problems

Algorithms 101

  • Algorithms are a set of steps taken to solve a problem. They are like a recipe to accomplish some task (like baking a nice cake!)
  • Let’s focus on linear search right now

Linear Search Algorithms

  • They focus on finding an specific element, by checking each individual element in a dataset
  • In the worst case scenario, these algorithms would take N steps to find an N number of values

What makes a good algorithm?

  • Solve the problem correctly (Accuracy)
  • Solve the problem as quickly as possible (Efficiency)

Solve the problem (accuracy/efficiency)

  • You can make an algorithm that will eventually give you the right answer, but at what cost?
  • Efficiency is a more important problem to solve, and it is usually how we determine good algorithms
  • But how can we quantify its efficiency?

Determining Efficiency

  • We shouldn’t examine it by the runtime (it is hardware dependent, and it also depends on the input difficulty and size)
  • Instead of using runtine, we count how many steps an algorithm took. This is known as Big-O Notation

Big-O Notation

  • Big-O reports the number of operations and it characterizes the worst-case performance, as well as being expressed as function of input size.
  • Linear Search’s big-o notation: \[O(n)\]
  • From top (more efficient) to bottom (less efficient):

\[O(1)\] \[O(log(n))\] \[O(\sqrt{n})\] \[O(n)\] \[O(n^2)\] \[O(2^n)\] \[O(n!)\]

  • When we are designing a quantum algorithm our goal is to have a better efficiency compared to classical ones:

\[O(Quantum) < O(Classical)\]

Quantum Algorithms

  • It is a procedure for solving a computational problem that uses the 3 quantum resources (superposition, interference, entanglement)
  • The goal is to show the quantum advantage (idea of being able to solve a problem in a QC faster than any classical device. It means the same as quantum supremacy, but this term is less used nowadays)
  • We do not expect a quantum advantage for all types of problems, however we do expect such thing in optimization and simulation problems

What makes a quantum algorithm?

  • It is just a complicated quantum circuit!
  • All quantum algorithms are quantum circuits, but not all quantum circuits are not quantum algorithms
  • All quantum algorithms are done by finding matrixes that can get you to the state you want to

The Quantum Algos Landscape

  • Deutsch-Josza (First theorical demonstration of quantum advantage) \[O(1) << O(2^n)\]
  • Shor’s algorithm (Super-polynomial speedup for factoring using the QFT) \[O(log(n)^3) << O(n^{1.9})\]
  • Grover Search (Quadratic speedup for search using amplitude amplification) \[O(\sqrt{n}) << O(n)\]
  • Near-term Algos (Applications of noisy, small available quantum devices)

Limitations of Quantum Algorithms

  • We don’t have enough qubits and they are too noisy and have errors – they lose information
  • Maturation of quantum coding languages
  • We need different types of algorithms for different problems
  • Designing algorithms for different potential types of hardware

Author: Luís Spengler

Created: 2022-12-19 Mon 09:48