Hey guys!
I'm Jon and WELCOME, to Respect Your Intellect!
In recent years, we keep hearing about Quantum
Computers but how do they actually work, how
does it compare to classical computing, what
problems are they good at solving, why are
they so significant, and where are we at with
their development?
Those are some of the things we'll be talking
about in this video.
Don't forget to hit the like and subscribe
buttons and lllet's get started!
[Intro]
Quantum computing is something I've wanted
to cover for a while and one of my patrons
also requested it.
So thank you very much for your support and
this one's for you, Hung.
So let's start by talking about how quantum
computers work.
Since it works at the quantum level, all the
quantum effects can start to play a role in
how it computes but for now, it looks like
there are three quantum effects that we're
trying to really harness and control in quantum
computers: quantum tunneling, quantum entanglement,
and quantum superposition.
Now each of these three quantum effects deserve
their own dedicated video to talk about so
I'll just try to give you the information
that's pertinent to quantum computing in this
video and leave the rest for a series of videos
specifically on quantum effects.
The most important one of these quantum effects
in quantum computing is superposition.
At the core of a classical computer, for the
smallest bits of information, transistors
are required that each have a voltage threshold.
If the voltage is higher than the threshold,
the value of the bit is considered a 1, and
if the voltage is lower than the threshold,
the value of the bit is considered to be a
0.
That's where it stops for a classical computer;
a bit can only have the values 0 or 1.
A quantum computer, on the other hand, can
also have a state of superposition where the
qubit is undecided.
This can be thought of as having the value
of 0 and 1 simultaneously or neither.
So essentially, quantum superposition is the
fundamental principle that two states can
be added together and form another "valid"
quantum state.
But the main thing to note here is that the
quantum effect of superposition allows an
additional state for every bit that we simply
don't have with classical computing.
So let's compare the classical bits with the
qubits of quantum computers to better understand
the fundamental differences between them and
why the computational power is so much greater
with qubits.
When you have a system with a certain amount
of bits, those bits can always represent 2^n
different values.
For example, a system with 3 bits means you
can have 2^3 different values for a total
of 8 different possible values, as you can
see here.
With a classical computer and classical bits,
every bit has a value of either 0 or 1 and
that's all you get.
So you're always representing only a single
one of those 2^n possibilities at any one
time.
With a quantum computer though, those qubits
can be in a superposition of all those states
at the same time so the qubits can actually
represent "all" of those 2^n possibilities
all at the same time.
This difference really starts to show when
we start adding bits to the system so let's
quickly compare the computational power of
classical bits versus qubits.
With a system of 2 bits, a quantum computer
can be in a superposition of 4 states at the
same time.
With a system of 3 bits, we're up to a total
of 8 different states that are superposed.
With a system of 16 bits, we're now up to
65,536 different states that are superposed.
And finally, for a system of just 64 bits,
we're now at almost 18.5 sextillion (18,446,744,073,709,551,616)
different states that are superposed; and
that's just for a small 64-bit system.
While the quantum computer grows exponentially
in computational power with its superposition
of all the different states, the classical
computer continues to only represent a single
one of those values at any one time.
Now if you haven't seen my videos on the double-slit
experiment, I would suggest you check those
out to understand how particles can behave
both as waves and as particles at the same
time because for this next part, we need to
talk about how a quantum computer actually
uses those qubits.
If you did check out my other videos, you
should already be aware that performing an
observation on a particle will collapse its
wave function and force it to determine its
current state and location.
With quantum computers, it's no different
and the same thing happens.
While the qubits are in a superposition of
states to form all these possible values all
at once, we can't exactly use that quantum
state.
As soon as we would try to detect anything
about it, it would act as an interaction with
something outside of that quantum system and
the wave function of the qubits would collapse.
This collapse is what makes the quantum computer
settle on only one of those possibilities
as a final result of bits of information;
exactly like a classical computer.
In other words, while we're performing computations,
we can use a very powerful quantum state but
as soon as we read the result, it will settle
down to a classical state that's based on
probabilities.
This means that if you run the same computation
many times, you won't always end up with the
same result because the probabilistic nature
of the qubits might make them settle to different
values for the same computation.
In order to increase the likelihood of having
a correct result, the uncertainty has to be
reduced by running the computation multiple
times.
Now this uncertainty might seem like a traditional
bug but this is actually a "feature" that
helps us determine the confidence level in
the answer that the quantum computer provides.
For example, if you ask a quantum computer
to identify an image of an apple 100 times
and it returns the label "apple" 100 times,
then you know the confidence level is "extremely"
high in identifying the image as containing
an apple.
However, if the computer returns the label
"apple" only 50 times, with "strawberry" 45
times, and a few other labels 5 times, then
you know it's fairly confident that it's an
apple but it thinks it also has similarities
to strawberries and a few other things.
If the image you asked it to analyze contains
both an apple and strawberries, then it would
be perfectly correct in its analysis of the
image.
So the uncertainty is not at all a bad thing.
It can actually be an extremely powerful tool
when you ask the computer to make complex
decisions and learn about the world.
So what type of problems are quantum computers
good at solving?
Well as of right now, the main thing we can
imagine it being really good at is solving
optimization problems.
Let's take a look at a little game that showcases
well how quantum computers will accomplish
this in record time; the light switch game.
So the point of this game is to get the combination
that yields the "lowest" total value that's
possible with the switches given.
We'll start with a simple version where each
light switch has a bias value associated to
it.
Turning a switch to the ON position has a
value of +1 and the OFF position has a value
of -1.
Whatever you choose to do with the switch,
you have to take that +1 or -1 value corresponding
to the ON/OFF position and multiply that with
the bias.
Then all we do is add up all the values of
the switches to get the grand total.
So for this problem, there's a really easy
solution that we can analyze and find very
quickly as humans.
If the switch has a positive bias, we'll turn
it off, and if it has a negative bias, we'll
turn it on.
This will always give us the lowest possible
grand total and we'll win the game.
With a classical computer, there's no other
way about it other than to run "all" the possibilities
in order to settle on the one with the lowest
value as our answer.
With a quantum computer, on the other hand,
we really only have to run through the problem
once and gradually turn off the superposition
as we move along to settle on the classical
bits that give the lowest value.
So where a classical computer has to run the
problem 2^n times for a solution, a quantum
computer just has to let the quantum effects
play their role and give us the answer as
we move only once through the problem.
This difference of how the problem is approached
by each type of computer doesn't matter too
much when there are only 2 switches but as
you add more and more, it can quickly become
impossible for a classical computer to solve.
For example, this game with 2 switches has
only 4 possible answers so it would take about
as much time for a classical computer to solve
as a quantum computer.
With 10 switches though, a classical computer
is now required to run the problem 1024 times
to get the answer.
With only 100 switches, the quantum computer
can still solve it faster than a classical
computer could solve 10 switches but the classical
computer can't solve this game anymore due
to having 1.2 nonillion possible answers;
that's a 1 followed by 30 zeroes.
So as you can see, quantum computers can greatly
improve how we deal with these optimization
problems.
As a side-note, you might also be thinking
that there might be a way to just program
the classical computer with that positive
or negative bias rule to decide which switch
to turn on and off and it would be able to
solve it very quickly.
Well in response to that, let's simply add
1 more bias to the game that's shared between
switches.
This new bias will need to be multiplied with
the final value on both switches.
With just this simple change, the classical
computer is back to square one because now
there's no easy rule to program because all
switches now affect their neighbors; so it'll
still have to run through all the possible
switch settings to figure out which combination
is best.
The quantum computer, on the other hand, doesn't
have any problem solving this one as quickly
as the previous one without needing to take
any special care in how we approach the problem.
So now that you have a grasp of how powerful
a quantum computer can be with an optimization
problem, let's dive in a little deeper with
another example using a landscape with hills
and valleys.
The reason why we use a landscape here is
that for artifical intelligence, that's pretty
much exactly what we have to deal with when
we're trying to optimize the way it learns.
This is an "error" landscape where we have
to find the lowest possible point on the map
to get the best learning that we can.
This lowest possible point on the map is called
the global minimum.
So the way that we approach this problem with
classical computing is that we essentially
choose a starting location somewhat randomly,
look around us, analyze the steepest downhill
climb, take a small step in that direction,
and repeat many many times until you find
the lowest point.
The problem though with this approach is that
you can easily get stuck in a local minimum,
where everything around you is uphill, but
you're still not at the lowest point on the
map.
This makes it very hard to optimize the learning
opportunity unless you repeat it many times
with different starting positions.
Doing that comes at a great cost though where
the learning slows down considerably and often
to the point where it's unrealistic to use
this approach and expect good results within
a reasonable timeframe.
So here, quantum computers have many advantages
over classical computer for navigating that
landscape to find the global minimum and maximize
the learning opportunity.
The first is that quantum superposition allows
the traveller to start in multiple locations
simultaneously which greatly increases the
chances of finding the global minimum.
The second is that quantum tunneling allows
the traveller to sometimes go "through" hills
instead of having to climb them which helps
to avoid getting stuck in a local minimum.
And the third is quantum entanglement which
allows the traveller to discover correlations
between the coordinates that lead to deep
valleys.
All of these help tremendously in finding
the global minimum, which in turn maximizes
the learning opportunity and greatly increases
the speed at which artificial intelligence
can learn how to handle complex problems about
the world.
With classical computers, there are also other
limitations that we need to mention here.
The first is that the transistors today are
so small that quantum effects are already
affecting them so we can't really minimize
them any further.
It's also very hard to dissipate heat efficiently
from such small devices so that adds another
challenge entirely.
Also, there are limits to how big of a speedup
we can get from using devices in parallel
so adding more and more cores to our CPU's
won't continue improving the overall performance
of our computers.
Here's a small graph about this that represents
Amdahl's Law.
As you can see on this graph, we're very close
already to the point where we have almost
no benefit to adding more cores and it simply
won't be worth the additional cost.
In general, it's harder and harder for companies
to justify the "huge" effort that has to be
put in on developing new processor generations.
Quantum computers, on the other hand, can
offer a lot when it comes to advancements.
Where a classical computer has to double its
bits to double its power, a quantum computer
doubles its processing power for every "single"
additional qubit it has.
With quantum computers, there are a lot of
fields of study that will benefit greatly
from this ability to solve optimization problems.
One of the fields that's expected to be one
of the most important applications is quantum
simulation for chemistry and nanotechnology.
Quantum simulation could be used to simulate
the behavior of atoms and particles at unusual
conditions such as the reactions inside a
collider.
Other fields that will improve are: image
recognition, extracting meaning from text,
detecting and tracking objects in images and
video, finding correlations in biological
data, improving natural language in machines,
creating and testing scientific hypotheses,
improving travel, making industrial processes
more energy efficient by multiple orders of
magnitude, and probably much more that we
haven't even thought of yet.
Just like the scientists that developed the
first classical computers, they couldn't imagine
that it would eventually be integrated everywhere
like it is today; with people connected essentially
100% of the time.
So we can't really tell how significant it'll
be once we really master the technology and
start integrating it in our current computers.
We expect that some hybrid systems will be
developed that use classical computing for
what it's good at and quantum computing for
what it's also good at; giving us computer
systems that can tackle anything we throw
at it.
But now, as with anything that promises to
bring more power and opportunities, there
"are" concerns that go along with it.
For quantum computers, one of the main concerns
is security through cryptography.
Most of the encryption that's in use today
uses public and private keys that are based
on extremely large prime numbers that are
hundreds of digits long.
Classical computers can't solve this problem
when the prime numbers that are used become
very large so encrypted data is considered
secure.
When the keys are sufficiently large, a classical
computer would require more time than the
current age of our universe to solve.
Quantum computers, on the other hand, are
able to use Shor's algorithm to find the prime
factors of the key very quickly; and we're
talking about only a few minutes or seconds
here.
Because of this, quantum computers have the
capability of rendering most of the security
in use today completely unsafe.
Now this causes a lot of concerns when it
comes to things like national security with
the military and such.
Fortunately, there "are" other traditional
cryptographic algorithms that don't appear
to be broken by Shor's algorithm and quantum
computing.
There's also an entire field of quantum cryptography
that's being studied more and more with quantum
computers being in development so it's very
likely that the military will be ahead of
this change and will be able to adapt.
So when it comes to things like national security,
I think the secrets are likely to remain safe
but for everything else that the general public
uses, we'll need to adapt to this new cryptography
to be able to ensure security again.
So where are we at with the development of
quantum computers today?
Well there are many things that we need to
resolve to really bring out the power of quantum
computing.
The qubits that we have in use today are pretty
bad in comparison to what they "will be" once
we solve some of the issues.
One of the big obstacles is that qubits are
extremely sensitive to any sort of background
noise so they currently need to operate at
around 15 millikelvins.
This is a staggering 200 times colder than
the coldest temperature that outer space can
get to.
This is needed because every interaction with
the outside world destroys the quantum state
of superposition, which is otherwise known
as quantum decoherence.
Another challenge is when a quantum computer
has to perform a time-consuming task.
This presents a real issue because it greatly
increases the chances of decoherence during
that computation.
We either need to find a method of isolating
the qubits extremely well, and with a minimum
of energy needed to maintain that isolation,
or we need to develop some really great quantum
error correction that can correct decoherence
faster than it's introduced.
Another big issue is that it's very hard to
make two arbitrary qubits interact with each
other so it limits their computing power significantly.
And lastly, they currently have to compete
with classical computers in many ways and
classical computers have about 50 years of
head start.
But even though the current state is not so
great, there are a ton of people working on
refining this technology.
What we would need for the really impressive
advancements are about 500 perfectly connected
qubits.
For some of the smaller stuff, but still rather
impressive stuff, about 100 perfectly connected
qubits should be enough.
As of January 2019, IBM unveiled its first
commercial quantum computer, the IBM Q System
One, that has 20 qubits.
CERN, ExxonMobil, Fermilab, Argonne National
Laboratory, and Lawrence Berkley National
Laboratory are among the clients that are
signed up to access the computer through the
cloud.
For more information about every bit of advancement
we've made in this field, I'll leave a link
in the description of a wiki page that has
a nice timeline of the advancements in quantum
computing from the beginning to now that you
can check out, if you're curious.
I hope you enjoyed this video and perhaps
learned a little something!
I also wanna thank my patrons on Patreon for
supporting the channel and thanks again to
Hung for the suggestion to make this video;
I hope you enjoyed it!
If you'd like to join us on Discord for a
more direct chat with me and about 40 other
viewers of the channel that all enjoy science,
see the link in the description for the invite
link.
If you have any suggestions about science
topics or recent science news that you'd like
me to cover, don't hesitate to write it down
in the comments!
Also, if you have any science questions for
the series where I answer your science questions,
you can ask me that too in the comments.
For more interesting science content, don't
forget to subscribe to the channel and click
the bell notification to be notified of all
my uploads.
You can also check out my website at respectyourintellect.com
for all the information and videos on this
channel.
Until next time, thanks for watching and remember:
Respect Your Intellect!
