Hi everyone!
Welcome to SMART Talks 143.
This meeting was supposed to be on .NET C#, but we decided to choose another topic that that doesn't have practical application yet, but leaves no one indifferent.
Today we'll be talking about Q#.
I would like to introduce you to the main points of quantum computing.
This is going to be a fun meeting to get you acquainted with the main concepts.
I am Nataliia Dranchuk, a .NET developer in SMART business.
I am studying Software Engineering in Kyiv Mohyla Academy.
This is our agenda for today.
We'll start with what has led to the need to look for new approaches to computing and where are we moving.
Then we'll sort out what a qubit is.
We'll look into how qubits interact and how to work with them.
Then we'll talk about qubit entanglement and teleportation, where quantum computing will be used and how it will be sold.
Why did we turn to quantum mechanics, quantum physics, and many giants invest in this area?
In 1965, Gordon Moore formulated a law according to which the number of transistors increases every 24 months.
Subsequently, it was modified to 18 months.
Transistors are becoming very small (the average is about 14 nm, which is 15 times smaller than red blood cells).
They reach the size of atoms, and atoms do not behave like classical bodies.
Futurologists predict that Moore’s law will not work in a few years.
The problem is not only that not all tasks can be solved by classical computers, but there is also a commercial side to the issue:
if a new iPhone or computer does not differ in power from the previous one, then you won’t buy it.
To find new solutions, the approach must be changed radically.
One of such approaches is quantum computing.
There is an opinion that quantum physics is very strange, and you need to learn it for years to at least understand it a little.
There is some truth to this.
Today, we'll approach it a little bit.
Here is a quote by Feyman, one of the creators of quantum mechanics (see screen).
Before proceeding to qubits, I would like to start with a brief introduction to one of the interpretations of quantum mechanics.
In 1926, Einstein wrote an angry letter to another German physicist, Max Born, saying that 'God does not play dice with the universe" (a famous quote).
At that time, he had already been a Nobel laureate for several years, and Born would receive the Nobel Prize later for what annoyed Einstein.
He did not mean that God does not play dice (Einstein did not believe in God).
It was about the Copenhagen interpretation of quantum physics.
At that time, everyone understood that bodies consisted of small particles, but imagined them as small pebbles, composite particles.
According to this interpretation, an atom is not a nucleus around which electrons revolve, but a nucleus around which there is a probabilistic shell,
and the electron is at each point of this shell with a certain probability at the same time.
That is, the particles did not exist, but were smeared in space and time and gathered together only when we looked at them and tried to measure them.
Now, closer to quantum computing.
These oddities of small particles can be used in computing for the benefit.
A qubit is a quantum analog of a bit.
A bit can have different states (like a light bulb, which can either be turned on or off).
A qubit is a light bulb that is both turned on and off at the same time, that is, it is in the so-called superposition.
When we try to measure it, it collapses either into the turned on light bulb or turned off light bulb.
A qubit can be mathematically represented in this form.
Alpha and Beta are complex numbers whose sum of squares is one.
Alpha square is the probability that the qubit collapses to 0 at a particular moment of measurement, and the Beta square is the probability that it collapses to 1.
0 and 1 are qubit states in which it is no different from a bit.
It is either 0 or 1 with 100% probability.
On the right, there is a Bloch sphere, one of the possible interpretations of the qubit visualization.
Here is an example of a qubit, which with a probability of 50% will be 0 or 1, as soon as we try to measure it.
So-called gates are applied to qubits, analogs of node in classical computing.
There are certain labels for them.
Pauli gates are the most popular and required ones.
There are three of them: X, Y and Z.
X is similar to node.
Y inverts a qubit by Y axis, and Z inverts it by Z axis.
Since quantum computing is not tied to linear algebra, all operations are carried out by means of matrix multiplication.
Here we see the application of gate X on a qubit, which is first at state 0.
If we do the multiplication, we get 1, and on vector 1 we get the opposite value.
Next important gate if Hadamard gate, this is what it looks like.
It puts a qubit into superposition from classical states.
CNOT gate changes the value of the second qubit only if the first one is 1.
The upper dot refers to the controlling qubit, and the lower dot refers to the controlled one.
According to the No-cloning theorem, if a qubit is at the input, within the framework of quantum mechanics we cannot get two qubits absolutely identical to it at the output.
We can clone classical information as we like: overwrite, send, etc.
A few words about teleportation.
There is a stereotype that if qubits are entangled, they can transmit information to each other instantly.
Therefore, it is believed that they violate the principles of the theory of relativity in the sense that they transmit information faster than the speed of light.
In fact this is not true.
One of possible states like this is Bell state.
There are 4 variations of it.
If we have two qubits that are in states 0 and 0 with a 50% probability and are in states 1 and 1 with a 50% probability,
then if we measured the first and got 0, we know that the second will also be in state 0, and vice versa.
Imagine we have one qubit that we left on the surface of the Earth, and we have a second qubit with a rocket, which we sent to the edge of the Universe.
If we change the qubit that remained on Earth, then the qubit that flew to the edge of the Universe will also change.
But this does not violate any principles, because in order to measure the second qubit, we will have to use classical means to find out that it has changed.
This is similar to a situation when we have 2 boxes and put one glove in each of them.
If we take a glove from one box and see that it is for the right hand (we will have to spend the classic resources to open one of the boxes), we will automatically know that the second box has the glove for the left hand.
Any questions so far?
Through the properties of the particles themselves.
This is one of the features of quantum physics.
They're just entangled, and that's it.
Moving on.
Let's look into how qubits are different from bits.
Bits perform simple operations.
If we have many children who can only change the values to 0 and 1, we can build a classic computer.
The thing of qubits is that if they are in a superposition state, they can analyze all states at the same time.
2 qubits can simultaneously simulate all 4 states.
Quantum computing can be applied in chemistry, biology, medicine.
Right vaccines can be developed much faster, since you can consider all the options at the same time.
They also plan to apply this in the modeling of molecules and various substances.
It can also be used in weather forecasting and information protection (one of the most practical applications).
There are a number of algorithms that protect information that is transmitted between the sender and the recipient in such a way
that if a third party tries to receive it, the information will be changed, and people who communicate with each other will know about it.
They also plan to use this in machine learning.
I would like to show a short video from Microsoft about their vision.
Further I will tell more about what Microsoft does in quantum computing.
Pavel will tell more about the software side.
The qubits are unstable and interact with each other and with the environment.
Microsoft has created its own version of qubit, topological.
They argue that this qubit is the most secure compared to all the others.
Here are five criteria for scalable quantum computing.
The qubits should be well studied, it should be possible to return the system to its initial state, for example, to change all qubits to 0.
The qubit must be stable enough to perform operations.
A universal set of quantum gates must be formed that can move a qubit to any point in the sphere and solve quantum problems more universally.
We must also be able to measure a specific qubit.
Now we are not talking about the ubiquity of quantum computers.
The appearance of scalable variants is expected within a few years.
It is important to understand that in general this will not be a new computer, but rather a sub-processor, a GPU that will solve the tasks it handles better.
Now you can try to simulate in Azure and on your computer.
That's it from me.
Any questions?
You can try 40 in Azure.
But they are planning to expand it.
I think Google has 72.
If there are no more questions, thank you for coming!
