Quantum Computing Explained — It’s Rocket Science
By: Jerry Qu
Tags: Innovation, Science, Quantum Computing, Technology, Hackernoon Top Story

One of the fundamental differences between quantum and classical computers lies in the difference between how they store data.

This is a great place to start understanding the power of Quantum Computers

Kurzgesagt, aka: An absolute legend

In classical computers:

A single unit of data is stored as a 1 or 0, called a bit

In quantum computers:

A single unit of data can be stored as a 1 or 0, but also can be a 1 and 0. This is called a qubit.

Wait, what does that mean? A 1 and 0? This phenomenon is known as superposition. You have a superposition of both a 1 and 0 at the same time. This is where things get weird. So, we’ll go through the easy way of understanding this (instead of learning all the math), by taking an analogy.

*Sidenote — Under other interpretations, superposition can be understood as a probabilistic wave function. I may write a more technical article in the future, but this interpretation is easier to understand; more on that in the second sidenote

How superposition enables Quantum Computers (for dummies)

Big Bang Theory (The age old problem of dinner seatings 😮)

Let’s say you’ve organized a dinner, and need to decide where to seat your guests. For simplicity’s sake, let’s say you only have 3 guests, and 2 tables to place them on.

The thing is, some of these guests don’t like each other, but others do.

Let’s say:

Person A and C are friends 😆

Person A and B are enemies 😡

Person B and C are enemies 😡

In this situation, you want to have the highest number of friends together, while having the lowest number of enemies together.

How this would work on a regular computer

Well, we only have 2 tables, so we can assign tables to each guest in binary, with a 1 or 0. So we have Table 1, and Table 0. For example, one combination of placements could be:

001 (Person A and B are placed on Table 0, and Person C is placed on Table 1)

Here are all the possible combinations:

+----------+----------+----------+

| Person A | Person B | Person C |

+----------+----------+----------+

| 0 | 0 | 0 |

| 0 | 0 | 1 |

| 0 | 1 | 0 |

| 0 | 1 | 1 |

| 1 | 0 | 0 |

| 1 | 0 | 1 |

| 1 | 1 | 0 |

| 1 | 1 | 1 |

+----------+----------+----------+

Now, we want to optimize for friends, and against enemies placed on the same table. With this knowledge, we can create a score algorithm. It could be something like this:

Score = (# Friends) - (# Enemies)

With this metric, the scores would be:

+----------+----------+----------+-------+

| Person A | Person B | Person C | Score |

+----------+----------+----------+-------+

| 0 | 0 | 0 | -1 | 😡

| 0 | 0 | 1 | -1 | 😡

| 0 | 1 | 0 | 1 | 😆

| 0 | 1 | 1 | -1 | 😡

| 1 | 0 | 0 | -1 | 😡

| 1 | 0 | 1 | 1 | 😆

| 1 | 1 | 0 | -1 | 😡

| 1 | 1 | 1 | -1 | 😡

+----------+----------+----------+-------+

As you can tell, there are 2 arrangements which would lead to the highest score: 010 & 101.

In this situation, a conventional computer would have to try out all of these configurations separately using 3 bits (one at a time) and compute each score. Then select the highest.

Now of course, this is a really simple problem which would take almost no time on a conventional computer. However, what if we increased the number of people?

With 3 people, there are 8 (2*2*2 = 2³) configurations. 😜

With 20 people, there are 1048576 (2²⁰) configurations. 😤

With 200 people, there are 2²⁰⁰ combinations?! 😱

Vsauce Explains the ridiculousness of 52 factorial. (About ⁶⁰) It’s absurd…

That’s about 10⁶⁰ or 10 with 60 zeros behind it.

The world’s fastest computers can only compute 200,000 trillions calculations per second (only…). Meaning it would take ~10⁴⁶ seconds, which is WAY too long. Actually longer than the age of the universe.