Skip to main content

Introduction to Grover's Algorithm

 

 

Another algorithm that has an important place among quantum algorithms is the Grover algorithm. It was developed by the Indian physicist Lov Grover in 1997.

I described the Deutsch-Jozsa algorithm algorithm in my previous articles. Although the Deutsch-Jozsa algorithm helps us find the characteristics of the functions and gives us good information about the working principles of the quantum algorithm, it has no application to a real physical problem.

Grover's algorithm allows us to solve real physical problems.

In this article, I will give information about the working principle of the Grover algorithm and its application as an example.

Let's imagine two cities, A and B!

Suppose there is more than one way to get from A to B. What we want is to find the shortest path among the existing path options.

When we want to solve this problem through a classical algorithm, it will deal with each option one by one with iterations and reach the result. However, Grover's algorithm will do this with iteration. Thanks to this situation, we will reach the desired result in a shorter and faster way.

Grover's algorithm passes the problem through two stages while doing this.

Stage 1: It evaluates how many qubits we have and makes the amplitude of the probable result negative, but leaves the amplitudes of the qubits with no real solution positive.

Stage 2: It will increase the amplitude of the qubit that it considers as its real solution, that is, the qubit that has negative amplitude, and will make it positive again. The amplitudes of the other qubits will be shorter than in their original form.

Let's take a look at the details of this algorithm.

Considering our example again, let's have x1, x2, …… x*, .…..xN path options between cities A and B, and x* represents the shortest path.

Performing step 1 first will make the actual solution qubit x* change, which seems possible.

Our operator that will change the amplitude of the x* solution is as follows;


Now let's look at how to increase the amplitude of the x* qubit.

The operator to increase the size of the x* amplitude is given below.




 

In this way, the amplitude of x* is increased and the amplitudes of other qubits are shortened. The Grover algorithm can perform this process with as many iterations and reach the solution in a short time.






Reference

https://www.youtube.com/watch?v=jhmaI4Hm444&list=PLqNc_xpYGu775P7iJA7Kvfxmv_Fm9wwHj&index=4

https://quantum-computing.ibm.com/composer/docs/iqx/guide/grovers-algorithm

Comments

Popular posts from this blog

Statement of Bell's Inequality

 One of the most important applications of quantum mechanics is Bell's inequality. In 1965, John Stewart Bell actually thought that Einstein might be right and tried to prove it, but proved that quantum logic violated classical logic. It was a revolutionary discovery. Let's look at its mathematically simple explanation. To create the analogy, let's first write a classical inequality.   This inequality above is a classic expression. The quantum analogy of this expression represents the Bell inequality. With just one difference. Bell's inequality shows that the above equation is violated. Expressing Bell's inequality by skipping some complicated mathematical intermediates; While there is no such situation in the classical world that will violate the inequality we mentioned at the beginning, it is difficult to find a situation that does not violate this inequality in the quantum world. Reference https://www.youtube.com/watch?v=lMyWl6Pq904 https://slideplay...

Bloch Sphere – Geometric Representation of Quantum State

    It is very difficult to visualize quantum states before our eyes. The Bloch sphere represents quantum state functions quite well. The Bloch sphere is named after physicist Felix Bloch. As you can see in the Bloch sphere figure below, it geometrically shows the pure states of two-level quantum mechanical systems. The poles of the Bloch sphere consist of bits |0⟩ and |1⟩. Classically, the point on the sphere indicates either 0 or 1. However, from a quantum mechanics point of view, quantum bits contain possibilities to be found on the entire surface of the sphere. Traditionally, the z-axis represents the |0⟩ qubit, and the z-axis the |1⟩ qubit. When the wave function in superposition is measured, the state function collapses to one of the two poles no matter where it is on the sphere. The probability of collapsing into either pole depends on which pole the vector representing the qubit is closest to. The angle θ that the vector makes with the z-axis determines this probabilit...

Let's Define Quantum Programming

    Along with the strange discoveries of quantum physics, one of these ideas for how we could use it is quantum computers. Work on quantum computers, which is a pretty good idea, started small and became what it is today. Now we had to take one more step and do quantum programming. The first studies on this process were made in the early 2000s. However, these studies were more theoretical. This was because quantum computers were not yet technologically ready. Finally, with the serious development of quantum computers (of course, we are still not at the desired point) we started to create our quantum algorithms. Today, we can do these algorithms on IBM Quantum Experience, Microsoft Azure Quantum, DWave Leap Cloud, or with quantum development kits. With these platforms, most of which are open source, we can create our quantum algorithms with the Python language, which we use classically and which is the most common programming language. The fact that such platforms are open sou...