Abstract
The electronic computer possesses powerful computing capabilities, but it is still limited by Moore’s law. Quantum computers are thus found capable of not only overcoming the constraints of Moore’s law but also taking advantage of the quantum effect to increase their arithmetic power for many problems. The minimum vertex cover problem is a classical NP-complete problem, and its traditional algorithms usually require exponential computational complexity. Herein, two algorithms are proposed to solve the minimum vertex cover problem. The first algorithm achieves its classical solution, while the second algorithm is based on the Grover search algorithm to obtain the solution to the quantum computing algorithm of the problem and verify its feasibility via quantum circuit experiments. Comparing the two algorithms, it can be concluded that the quantum algorithm can improve the operational speed of the minimum vertex cover problem by order of magnitude of the square root.
Similar content being viewed by others
Data availability
All data generated or analyzed during this study are included in this published article.
References
Islam, A., Kalita, B.: Application of minimum vertex cover for keyword-based text summarization process. Int. J. Comput. Intell. Res. 13(1), 113–125 (2017)
Yigit, Y., Akram, V.K., Dagdeviren, O.: Breadth-first search tree integrated vertex cover algorithms for link monitoring and routing in wireless sensor networks. Comput. Netw. 194, 108–144 (2021)
Khamayseh, Y., Mardini, W., Shatnawi, A.: An approximation algorithm for vertex cover problem. In: International Conference on Computer Networks and Communication Systems (2012)
Ambühl, C., Mastrolilli, M.: Single machine precedence constrained scheduling is a vertex cover problem. Algorithmica 53(4), 488–503 (2009)
Dinur, I., Safra, S.: On the hardness of approximating minimum vertex cover. Ann. Math. 439–485 (2005)
Yuan, S.-Y., Kuo, S.-Y.: A new technique for optimization problems in graph theory. IEEE Trans. Comput. 47(2), 190–196 (1998)
Bhasin, H., Amini, M.: The applicability of genetic algorithm to vertex cover. Int. J. Comput. Appl. 123(17), 29–34 (2015)
Chen, M., Zhou, B., Ren, Z.: Genetic algorithm based on random uniform design. Appl. Math. A J. Chin. Univ. 25(3), 279–283 (2010)
Gao, L., Xu, J.: DNA algorithm for minimum vertex cover problem based on molecular computation. Syst. Eng. Electron. 26(4), 544–548 (2004)
Hasudungan, R., Pangestuty, D.M., Latifah, A.J., et al.: Solving minimum vertex cover problem using DNA computing. J. Phys. Conf. Ser. 1361, 012038 (2019)
Zhang, Y., Mu, X., Liu, X.-W., Wang, X., Zhang, X., Li, K., Wu, T., Zhao, D., Dong, C.: Applying the quantum approximate optimization algorithm to the minimum vertex cover problem. Appl. Soft Comput. 118, 108554 (2022)
Chen, J., Xu, R.: Minimum vertex cover problem based on ant colony algorithm. In: 7th Advanced Forum on Transportation of China (AFTC 2011), pp. 125–129 (2011). IET
Landauer, R.: Irreversibility and heat generation in the computing process. IBM J. Res. Dev. 44(1/2), 261–269 (2000)
Cho, C.-H., Chen, C.-Y., Chen, K.-C., Huang, T.-W., Hsu, M.-C., Cao, N.-P., Zeng, B., Tan, S.-G., Chang, C.-R.: Quantum computation: algorithms and applications. Chin. J. Phys. 72, 248–269 (2021)
Wong, R., Chang, W.-L.: Quantum speedup for protein structure prediction. IEEE Trans. Nanobiosci. 20(3), 323–330 (2021)
Brassard, G., Høyer, P., Tapp, A.: Quantum counting. In: International Colloquium on Automata, Languages, and Programming, pp. 820–831 (1998). Springer
Benioff, P.: Quantum mechanical hamiltonian models of turing machines. J. Stat. Phys. 29(3), 515–546 (1982)
Deutsch, D.: Quantum theory, the church-turing principle and the universal quantum computer. Proc. R. Soc. Lond. A Math. Phys. Sci. 400(1818), 97–117 (1985)
Shor, P.W.: Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM Rev. 41(2), 303–332 (1999)
Grover, L.K.: A fast quantum mechanical algorithm for database search, 212–219 (1996)
Uno, S., Suzuki, Y., Hisanaga, K., Raymond, R., Tanaka, T., Onodera, T., Yamamoto, N.: Modified Grover operator for quantum amplitude estimation. New J. Phys. 23(8), 083031 (2021)
Liu, Y., Koehler, G.J.: Using modifications to Grover’s search algorithm for quantum global optimization. Eur. J. Oper. Res. 207(2), 620–632 (2010)
Panchi, L., Shiyong, L.: Grover quantum searching algorithm based on weighted targets. J. Syst. Eng. Electron. 19(2), 363–369 (2008)
Narayanan, A., Moore, M.: Quantum-inspired genetic algorithms. In: Proceedings of IEEE International Conference on Evolutionary Computation, pp. 61–66 (1996). IEEE
Han, K.-H., Kim, J.-H.: Genetic quantum algorithm and its application to combinatorial optimization problem. In: Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No. 00TH8512), vol. 2, pp. 1354–1360 (2000). IEEE
Wang, L., Tang, F., Wu, H.: Hybrid genetic algorithm based on quantum computing for numerical optimization and parameter estimation. Appl. Math. Comput. 171(2), 1141–1156 (2005)
Ma, X.-L., Li, Y.-G.: An improved quantum ant colony algorithm and its application. IERI Procedia 2, 522–527 (2012)
Wang, L., Niu, Q., Fei, M.: A novel quantum ant colony optimization algorithm and its application to fault diagnosis. Trans. Inst. Meas. Control. 30(3–4), 313–329 (2008)
Tao, W., Lei, X., Xi, C., Amir, H.A., Shu, Z.: A novel quantum-behaved particle swarm optimization algorithm. CMC-Comput. Mater. Continua 63(2), 873–890 (2020)
Zhou, N.-R., Xia, S.-H., Ma, Y., Zhang, Y.: Quantum particle swarm optimization algorithm with the truncated mean stabilization strategy. Quantum Inf. Process. 21(2), 1–23 (2022)
Kak, S.C.: Quantum neural computing. Adv. Imaging Electron. Phys. 94, 259–313 (1995)
Panchi, L., Kaoping, S., Erlong, Y.: Quantum neural networks model and algorithm based on the quantum gates circuit. Control Decision 27(1), 143–146 (2012)
Panchi, L., Shiyong, L.: Learning algorithm and application of quantum bp neural networks based on universal quantum gates. J. Syst. Eng. Electron. 19(1), 167–174 (2008)
Chen, J., Wang, L., Charbon, E.: A quantum-implementable neural network model. Quantum Inf. Process. 16(10), 1–24 (2017)
Yu, H., Wilczek, F., Wu, B.: Quantum algorithm for approximating maximum independent sets. Chin. Phys. Lett. 38(3), 30304 (2021)
Bonnetain, X., Bricout, R., Schrottenloher, A., Shen, Y.: Improved classical and quantum algorithms for subset-sum. In: International Conference on the Theory and Application of Cryptology and Information Security, pp. 633–666 (2020). Springer
Zheng, Q., Zhu, P., Xue, S., Wang, Y., Wu, C., Yu, X., Yu, M., Liu, Y., Deng, M., Wu, J., et al.: Quantum algorithm and experimental demonstration for the subset sum problem. Sci. China Inf. Sci. 65(8), 1–14 (2022)
Wen-Zhang, L., Jing-Fu, Z., Gui-Lu, L.: A parallel quantum algorithm for the satisfiability problem. Commun. Theor. Phys. 49(3), 629–630 (2008)
Chang, W.-L., Chung, W.-Y., Hsiao, C.-Y., Wong, R., Chen, J.-C., Feng, M., Vasilakos, A.V.: Quantum speedup for inferring the value of each bit of a solution state in unsorted databases using a bio-molecular algorithm on IBM Quantum’s computers. IEEE Trans. Nanobiosci. 21(2), 286–293 (2021)
Mölle, D., Richter, S., Rossmanith, P.: Enumerate and expand: New runtime bounds for vertex cover variants. In: Computing and Combinatorics: 12th Annual International Conference, COCOON 2006, Taipei, Taiwan, Aug 15-18, 2006. Proceedings 12, pp. 265–273 (2006). Springer
Wu, X., Wang, Z., Wu, T., Bao, X.: Solving the family traveling salesperson problem in the Adleman-Lipton model based on DNA computing. IEEE Trans. Nanobiosci. 21(1), 75–85 (2021)
Wang, Z., Deng, A., Wang, D., Wu, T.: A parallel algorithm to solve the multiple travelling salesmen problem based on molecular computing model. Int. J. Bio-Inspired Comput. 20(3), 160–171 (2022)
Acknowledgements
It was supported by the Zhejiang Provincial Natural Science Foundation of China (No. LY23H180001).
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A: The example of graph \(G_{1}\) with 4 vetices
To enhance the convincingness, we take the graph \(G_2\) of Section 1 as an example to solve the MVCP problem. In the first step, the initial quantum state is manufactured to get the initial quantum state \(\left. \vert {\mathop {\phi }\nolimits _1 } \right\rangle = \frac{1}{{\sqrt{16} }}\sum \limits _{X = 0}^{15} {\left. \vert X \right\rangle }\otimes \left. \vert {\mathop {l}\nolimits _1^0 \mathop {l}\nolimits _2^0 \mathop {l}\nolimits _3^0 \mathop {l}\nolimits _4^0 } \right\rangle \otimes \left. \vert {\mathop {o}\nolimits _5^0 } \right\rangle \otimes \left. \vert {\mathop {w}\nolimits _{1,0}^0 \mathop {w}\nolimits _{1,1}^0 \mathop {w}\nolimits _{2,0}^0...\mathop {w}\nolimits _{4,3}^0 \mathop {w}\nolimits _{4,4}^0 } \right\rangle \otimes \frac{{\left. \vert 0 \right\rangle - \left. \vert 1 \right\rangle }}{2}\). In the second step, in the second step, the target quantum state is screened to obtain the quantum superposition state \(\left. \vert {\mathop {\phi }\nolimits _1 } \right\rangle ={\left( { - 1} \right) ^{f(x)}}\frac{1}{{\sqrt{16} }}\sum \limits _{X = 0}^{15} {\left. \vert X \right\rangle } \otimes \left. \vert {\mathop {l}\nolimits _1 \mathop {l}\nolimits _2 \mathop {l}\nolimits _3 \mathop {l}\nolimits _4 } \right\rangle \otimes \left. \vert {\mathop {o}\nolimits _3 } \right\rangle \otimes \left. \vert {\mathop {w}\nolimits _{1,0} \mathop {w}\nolimits _{1,1} \mathop {w}\nolimits _{2,0}...\mathop {w}\nolimits _{4,3} \mathop {w}\nolimits _{4,4} } \right\rangle \otimes \frac{{\left. \vert 0 \right\rangle - \left. \vert 1 \right\rangle }}{2}\). In the third step, the expanded target quantum state using Grover iteration is used to find the optimal solution.
There are four groups for the experiments. The fourth group builds quantum circuit diagrams to measure qubit \(\left. \vert w_{4,1}\right\rangle \) that have a feasible solution with a single vertex, the fifth group measures qubit \(\left. \vert w_{4,2}\right\rangle \) with two vertices, the sixth group measures \(\left. \vert w_{4,3}\right\rangle \) with three vertices, and the seventh group measures \(\left. \vert w_{4,4}\right\rangle \) with four vertices. Then, the number of feasible solution subsets \(m_{i}\) is calculated from the results of the amplitude of the first Grover iteration in each group. The number of iterations \(k=\frac{\pi }{4}\sqrt{\frac{N}{{{m_i}}}} \) is deduced from the Grover algorithm. Finally, the results of each set of experiments are obtained.
As shown in Figs. 22, 23, 24 and 25, it is the circuit and experimental results probability diagram for the fifth group. As shown in Figs. 26, Figure.4w3sps2 and 28, it is the circuit and experimental results probability diagram for the sixth group. As shown in Figs. 29, 30, 31, 32 and 33, it is the circuit and experimental results probability diagram for the seventh group. The circuit and experimental results probability diagram for the fourth group is provided because a feasible solution could not be found.
As shown in Tables 6, 7 and 8, the probability of finding the initial quantum states for the three sets of experiments is 0.125, 0.375 and 0.125, respectively, and the corresponding numbers of feasible solutions are \(1(m_5)\), \(3(m_6)\) and \(1(m_7)\), as deduced from the results of the first iteration of the experiments. The number of iterations k for the three sets of experiments is found to be 1.721, 1.071 and 2.642 based on the iteration formula. In Tables 6, 7 and 8, the angle of the quantum state amplitude increases with the number of iterations. The fifth group of experiments achieves the optimal solution with the highest probability after two iterations, the sixth group of experiments achieves the optimal solution with the highest probability after one iteration, and the seventh group of experiments achieves the optimal solution after three iterations. According to the MVCP definition, the optimal solution is achieved after two iterations in the fifth group. At this time, the probability of obtaining the optimal solution is 0.9434, which corresponds to the sets of vertex solution \(\{v_{1},v_{3}\}\) and \(\{v_{2},v_{4}\}\). Therefore, the minimum vertex subset of MVCP of graph \(G_{1}\) is \(\{v_{1},v_{3}\}\) and \(\{v_{2},v_{4}\}\), which has a size of 2. In Tables 6, 7 and 8, it can be seen that the relative error between the experimental results and the probability of finding is small, which further proves the reliability of the experimental data.
Appendix B: The quantum programming code of application example
Code 1. Code with one Grover iteration implemented for the first group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[2],q[1],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[5],q[0],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] |
Code 1. Code with one Grover iteration implemented for the first group. | |
---|---|
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[2],q[10],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[5],q[0],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[2],q[1],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 2. Code with two Grover iterations implemented for the first group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] |
Code 2. Code with two Grover iterations implemented for the first group. | |
---|---|
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] |
Code 2. Code with two Grover iterations implemented for the first group. | |
---|---|
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 3. Code with three Grover iterations implemented for the first group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] |
Code 3. Code with three Grover iterations implemented for the first group. | |
---|---|
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] |
Code 3. Code with three Grover iterations implemented for the first group. | |
---|---|
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[9],q[2],q[12] |
Code 3. Code with three Grover iterations implemented for the first group. | |
---|---|
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 4. Code with one Grover iteration implemented for the second group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] |
Code 4. Code with one Grover iteration implemented for the second group. | |
---|---|
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] |
Code 4. Code with one Grover iteration implemented for the second group. | |
---|---|
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[12],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 5. Code with two Grover iterations implemented for the second group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[13],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] |
Code 5. Code with two Grover iterations implemented for the second group. | |
---|---|
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[13],q[15] |
Code 5. Code with two Grover iterations implemented for the second group. | |
---|---|
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 6. Code with one Grover iteration implemented for the third group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[2],q[1],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[5],q[0],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[14] | |
CNOT q[14],q[15] | |
TOFFOLI q[2],q[10],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] |
Code 6. Code with one Grover iteration implemented for the third group. | |
---|---|
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[5],q[0],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[2],q[1],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 7. Code with two Grover iterations implemented for the third group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[14],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] |
Code 7. Code with two Grover iterations implemented for the third group. | |
---|---|
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] |
Code 7. Code with two Grover iterations implemented for the third group. | |
---|---|
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[14],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[10],q[2],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[8],q[2],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[6],q[1],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Code 8. Code with three Grover iterations implemented for the third group. | |
---|---|
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[4] | |
X q[15] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[15] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[14],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] |
Code 8. Code with three Grover iterations implemented for the third group. | |
---|---|
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] | |
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[9],q[2],q[12] |
Code 8. Code with three Grover iterations implemented for the third group. | |
---|---|
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[14],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
X q[4] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[3] | |
X q[0] | |
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
X q[2] |
Code 8. Code with three Grover iterations implemented for the third group. | |
---|---|
TOFFOLI q[1],q[0],q[3] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[0],q[5],q[6] | |
X q[0] | |
TOFFOLI q[5],q[0],q[7] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[7],q[1],q[9] | |
X q[1] | |
TOFFOLI q[6],q[1],q[9] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[9],q[2],q[12] | |
X q[2] | |
TOFFOLI q[8],q[2],q[12] | |
TOFFOLI q[9],q[2],q[13] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[10],q[2],q[14] | |
CNOT q[14],q[15] | |
TOFFOLI q[10],q[2],q[14] | |
X q[2] | |
TOFFOLI q[2],q[10],q[13] | |
X q[2] | |
TOFFOLI q[9],q[2],q[13] | |
TOFFOLI q[8],q[2],q[12] | |
X q[2] | |
TOFFOLI q[9],q[2],q[12] | |
TOFFOLI q[2],q[8],q[11] | |
TOFFOLI q[7],q[1],q[10] | |
TOFFOLI q[6],q[1],q[9] | |
X q[1] | |
TOFFOLI q[7],q[1],q[9] | |
TOFFOLI q[1],q[6],q[8] | |
TOFFOLI q[5],q[0],q[7] | |
X q[0] | |
TOFFOLI q[0],q[5],q[6] | |
TOFFOLI q[4],q[3],q[5] | |
TOFFOLI q[1],q[2],q[4] | |
TOFFOLI q[1],q[0],q[3] | |
X q[4] | |
X q[0] | |
X q[1] | |
X q[2] | |
X q[3] | |
H q[0] | |
H q[1] | |
H q[2] | |
X q[0] |
Code 8. Code with three Grover iterations implemented for the third group. | |
---|---|
X q[1] | |
X q[2] | |
H q[2] | |
TOFFOLI q[1],q[0],q[2] | |
X q[0] | |
X q[1] | |
H q[2] | |
H q[0] | |
H q[1] | |
X q[2] | |
H q[2] | |
MEASURE q[0],c[0] | |
MEASURE q[1],c[1] | |
MEASURE q[2],c[2] |
Appendix C: The code of the classical solution
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Wang, Z., Liang, K., Bao, X. et al. Quantum speedup for solving the minimum vertex cover problem based on Grover search algorithm. Quantum Inf Process 22, 271 (2023). https://doi.org/10.1007/s11128-023-04010-4
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11128-023-04010-4