What is quantum computer?
Quantum computer is a computer that can solve some problem
a million times faster than a classical supercomputer.
It does this by leveraging the magic of quantum states.
A classical computer is a computer that we use every day.
It has memory and CPU.
Memory stores the data,
and CPU changes the data
and stores it back to memory.
Memory is represented in bits.
A bit can either be 0 or 1.
Each bit is implemented using a circuit.
If a circuit is on, then it is a 1. If it is off, it is a 0.
I can use a series of bits to represent a number in binary.
For example, 000 means zero.
001 means one. 010 means 2.
If I want to store an alphabetical character,
I can store a number like 97
and map it to a character like 'a', and map 98 to 'b'.
This mapping is called ASCII table.
Once the memory has the data,
a CPU can change the data.
It does this by taking the data from memory,
run it through a series of logic gates,
and output the data back to memory.
This example shows adding two numbers.
A more complex set of logic gates
can be used to implement a calculator or Minecraft.
Using the above structure,
a classical computer can do general tasks
such as streaming HD video or playing games.
On the other hand, a quantum computer is
designed to solve a small set of problems very well.
It is not designed to make a video play faster
or to make a game run smoother.
A quantum computer has a similar overall structure.
It also has memory and processing unit.
The memory is made out of a series of qubits.
A qubit conceptually stores both 0 and 1 at the same time.
A pair of qubits effectively store 4 numbers: 0 1 2 3.
To understand why, we need some background on the Quantum world.
One way to represent a qubit is to use an electron.
Think of electron as a small bar magnet.
Within a magnetic field, it will align with the field.
It is similar to a compass on earth.
When it aligns with the field, we call it Spin Down.
When we reverse it, we call it Spin Up.
We could say a cubit is 0 when electron is spin down,
and 1 when it is spin up.
However, scientists discovered that the spin
doesn't stay up or down.
They found that before they observe the electron,
the spin is actually both up and down at the same time.
This phenomenon is called Superposition.
The two states, Spin Up and Spin Down
are superimposed on top of each other.
The exact state is not defined until we observe it.
They repeated the similar experiment with other quantum particles:
Photons, Ions, and Buckyballs.
All of them have the similar behavior.
We don't fully understand
how quantum particles does this, but it does.
This is the behavior that we will exploit.
This means one qubit effectively stores 0 and 1.
When the memory block has two qubits,
the block effectively stores four permutations:
00, 01, 10, and 11.
3 qubits effectively store 8 permutations:
000, 001, all the way to 111.
This scales up very quickly.
If you are using only 200 quits,
it effectively stores all 2^200 permutations.
Note that the memory block
not only has the permutation,
but also has the probability of each permutation.
We can do useful things
with quantum numbers using quantum gates.
Quantum gates take in cubits
and manipulate them into other qubits.
Each quantum gate will reduce the probability of some permutations
and increase the probability of some other permutations.
For example,
initially 0, 1, 2, 3 are all equally likely with 25%.
However, passing through one quantum gate
will effectively make one to be more likely
while leaving the other numbers less likely.
In general, quantum algorithm
will reduce the probability of a bad answer
and increase the probability of a good answer.
Here is a heavily simplify example:
Say you want to find out which two numbers
multiplied together will get this large number.
Using a classical computer,
you will need to try out each number one by one
and see if they can evenly divide this large number.
It may take hundreds of years
before you find the answer using a classical computer.
However, you can do this in minutes using a Quantum computer.
You start out with a 100 qubit memory block,
which effectively represent numbers 0 through 2^100.
Then, you apply a series of quantum operations.
Each of the quantum operation
will effectively change the probability of each number across the board.
Each quantum operation can be done very fast.
At the end, the quantum algorithm will
return
a potential answer with some high probability.
You can use a classical computer to check the answer.
This ability to apply operation over all possible numbers
is what gives quantum computers the advantage.
It can be used to significantly speed up some applications.
One application is database search.
With a quantum computer, it may be possible
to search not just tens of millions of records,
but trillions of records.
With quantum computer's massive search ability,
it is possible to do it faster.
One important implication of quantum computer is code cracking.
Much of our Internet relies on encryption.
Such as email, bank account, and Bitcoin.
A popular encryption method
is public key and private key encryption.
This method of encryption heavily relies on the fact that
it is difficult to find prime factor of a large number.
With a quantum computer it may be easy to find.
Therefore, all of these systems will break.
However, note that quantum computer is not
a replacement of a classical computer.
If I want to save a text file, storing it in the qubit
is not much better than storing it in a classical bit.
Quantum computer works well only for a limited set of problems.
Thanks for watching!
Remember to sleep early.
