Distributed Quantum Computing Method, Apparatus, Device, and Medium for Simon's Problem

The distributed quantum computing method efficiently breaks down Simon problems into smaller sub-tasks, reducing qubit requirements and improving accuracy and efficiency in solving large Simon problems.

CN119808978BActive Publication Date: 2025-07-15GUOKAIKE QUANTUM TECH (ANHUI) CO LTD +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510281392.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-11
Publication Date
2025-07-15
Estimated Expiration
2045-03-11

AI Technical Summary

Technical Problem

The existing Simon algorithm requires a large number of qubits when solving large-scale Simon problems, resulting in high demand for computing resources, low computing efficiency and susceptible to noise, making it difficult to efficiently implement in existing quantum technologies.

Method used

The distributed quantum computing method is used to split the Simon problem into multiple subtasks, and multiple computing nodes are used to solve the sub-Simon problem functions, and the results are combined in serial or parallel ways to solve the original problem, reducing the number of qubits and reducing the impact of noise.

Benefits of technology

The demand for quantum resources is reduced, the calculation accuracy and efficiency is improved, the impact of line noise on quantum states is reduced, and the Simon problem is effectively solved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119808978B_ABST
    Figure CN119808978B_ABST
Patent Text Reader

Abstract

The present invention relates to a distributed quantum computing method, apparatus, device and medium for the Simon problem. Among them, the method includes obtaining the Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node; constructing a first sub-Simon problem function corresponding to each computing node based on the number of domain qubits of each computing node, the original domain and the original range of the Simon problem function to be solved; constructing a corresponding second sub-Simon problem function based on each first sub-Simon problem function; constructing a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node; respectively running the quantum circuits for solving the second sub-Simon problem functions to obtain corresponding substrings; and combining the corresponding substrings to obtain the string to be found of the Simon problem function to be solved. The present invention reduces the demand for quantum computing resources and improves the solution accuracy and computing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of quantum computing technology, and in particular to a distributed quantum computing method, apparatus, device and medium for Simon problem. Background Art

[0002] Quantum algorithms are algorithms that run on quantum computers and represent a cutting-edge computing technology. They use properties such as quantum superposition and quantum entanglement in quantum mechanics to solve problems that are difficult to solve with traditional algorithms. Compared with classical algorithms, quantum algorithms use quantum bits (Qubit) as the basic carrier of information and can explore multiple possible solutions at the same time, thereby achieving significant superiority over classical computing on specific problems.

[0003] So far, researchers have developed a series of quantum algorithms and achieved remarkable results in many fields. Among them, the Simon algorithm not only promoted the development of Fourier transform algorithms based on quantum computing, but also laid the foundation for the famous Shor algorithm. With the advantage of quantum parallelism, the Shor algorithm can theoretically efficiently decompose large integers in polynomial time, which has brought disruptive changes to the field of cryptography. The Simon algorithm also shows great potential in solving practical problems, especially in cryptography and coding. For example, the Simon algorithm can effectively crack encryption schemes based on Simon functions.

[0004] The Simon algorithm was proposed by Daniel Simon in 1994 to solve a specific problem, namely, to determine whether a black box function is a one-to-one function or a two-to-one function and find the corresponding binary string. Specifically, given a Boolean function ,in is the range of values that the independent variable can take, called the domain. is the range of the dependent variable value, called the range. This function satisfies the following properties: there is an unknown string , so that for all values of the independent variable ,have , if and only if or ( represents modulo 2 addition, or XOR operation).

[0005] The goal of solving the Simon problem is to determine the string s based on the given domain and range. Currently, there are two main methods to solve the Simon problem: one is the classical algorithm, and the other is the Simon algorithm proposed by Daniel Simon based on quantum computing. The query complexity of using the classical algorithm to solve the Simon problem is O(2 n) The query complexity of solving the Simon problem using the Simon algorithm is O(n). Compared with classical computing methods, the computing speed of the existing Simon algorithm is exponentially accelerated.

[0006] However, when the domain and range of the Simon problem are given, the number of qubits required to solve the Simon problem using the existing Simon algorithm is n + m. When n and m are large, the number of qubits required will increase significantly, which means that a large-scale universal quantum computer is needed to complete the calculation. For today's quantum technology, there are many problems in solving the Simon problem using a large-scale universal quantum computer. First, building and running such a computer requires a large amount of financial support; second, the computing efficiency is low because the increase in the number of qubits will lead to a significant increase in the depth and complexity of the quantum circuit, thus slowing down the computing speed; in addition, the quantum fidelity will also be limited, and qubits are vulnerable to noise and errors during operation, which will have a greater negative impact on the accuracy of the calculation. Summary of the Invention

[0007] In view of the technical problems existing in the prior art, the present invention proposes a distributed quantum computing method, device, equipment, and medium for the Simon problem to reduce the demand for quantum computing resources and improve the solution accuracy and computing efficiency.

[0008] To solve the technical problems existing in the prior art, according to one aspect of the present invention, the present invention provides a distributed quantum computing method for the Simon problem, the method comprising:

[0009] Obtain the Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node, wherein the sum of the number of domain qubits of all computing nodes is equal to the number of original domain bits of the Simon problem function to be solved;

[0010] Based on the number of domain qubits of each computing node, the original domain and the original range of the Simon problem function to be solved, construct a first sub-Simon problem function corresponding to each computing node, wherein the original domain of the Simon problem function to be solved includes all first domains of all first sub-Simon problem functions combined in a preset combination order, the first range of each first sub-Simon problem function is a sub-range of the original range of the Simon problem function to be solved, and each first sub-Simon problem function includes a corresponding substring to be found;

[0011] Construct a corresponding second sub-Simon problem function based on each first sub-Simon problem function, where the second domain of the second sub-Simon problem function is the same as the first domain of the first sub-Simon problem function. Map each first dependent variable value in the first range of the first sub-Simon problem function to a second dependent variable value with a number of bits less than the number of bits in the original range of the Simon problem function to be solved according to the Simon problem function. The second sub-Simon problem function includes the same substring to be solved as the first sub-Simon problem function;

[0012] Construct a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node;

[0013] Run the quantum circuit for solving the second sub-Simon problem function respectively to obtain the corresponding substring to be solved;

[0014] Combine the corresponding substrings in the preset combination order in the original domain of the Simon problem function to be solved according to the second domain of the second sub-Simon problem function to obtain the string to be solved of the Simon problem function to be solved.

[0015] Optionally, the steps of constructing the first sub-Simon problem function corresponding to each computing node include:

[0016] According to the number of domain qubits of the computing node, determine the same number of first bits from the bits in the original domain of the Simon problem function to be solved as the domain bits of the first sub-Simon problem function, and the remaining bits as the third bits of the third domain;

[0017] Sequentially extract the first bit values from each original independent variable value in the original domain to form each first independent variable value of the first sub-Simon problem function. All the first independent variable values form the first domain of the first sub-Simon problem function of the target computing node;

[0018] Sequentially extract the third bit values from each original independent variable value in the original domain to form each third independent variable value. All the third independent variable values form the third domain;

[0019] Combine each first independent variable value of the first sub-Simon problem function with each third independent variable value in the order of their bits in the original domain to form an original independent variable value in the original domain;

[0020] Obtain the original dependent variable value corresponding to the original independent variable value from the original range of the Simon problem function to be solved as the first original dependent variable value;

[0021] Determine a first original dependent variable value from multiple first original dependent variable values corresponding to each first independent variable value according to the same value-taking function as the first dependent variable value corresponding to the first independent variable value. Among them, the first dependent variable values corresponding to each first independent variable value constitute the first value range of the first sub-Simon problem function of the target calculation node.

[0022] Optionally, the value-taking function is a maximum function or a minimum function; correspondingly, determine the largest or smallest first original dependent variable value from multiple first original dependent variable values corresponding to each first independent variable value as the first dependent variable value corresponding to the first independent variable value.

[0023] Optionally, when constructing the first sub-Simon problem function corresponding to each calculation node, it further includes:

[0024] Sort all the calculation nodes;

[0025] When determining the same number of first bits as the domain qubits of the first sub-Simon problem function from the original domain bits of the Simon problem function to be solved according to the number of domain qubits of the calculation node, cut out bits with the same number as the domain qubits of each calculation node from the original domain bits in the order from high to low or from low to high according to the sorting of the calculation nodes to obtain the domain bits of the first sub-Simon problem function corresponding to each calculation node.

[0026] Optionally, the step of mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value with a bit number less than the number of bits in the original value range of the Simon problem function to be solved according to the Simon problem function includes:

[0027] Based on the number of bits in the second domain of the second sub-Simon problem function, determine the number of bits in the second value range, where the number of bits in the second value range is greater than or equal to the difference between the number of bits in the second domain of the second sub-Simon problem function and the value 1, and the number of bits in the second value range is less than the number of bits in the original value range of the Simon problem function to be solved;

[0028] Successively map each first dependent variable value to a second dependent variable value, and when the first dependent variable values are the same, the corresponding second dependent variable values are the same.

[0029] Optionally, the step of successively mapping each first dependent variable value to a second dependent variable value includes:

[0030] Successively map each first dependent variable value to a decimal value, and in the mapping process, map the same first dependent variable values to the same decimal value;

[0031] According to the determined number of second range bits, each decimal value is successively converted into a corresponding binary value, and the binary value is the second dependent variable value.

[0032] Optionally, the step of mapping a target first dependent variable value to a decimal value includes:

[0033] Comparing the target first dependent variable value with all the first dependent variable values that have been mapped;

[0034] In response to the target first dependent variable value being different from all the first dependent variable values that have been mapped, adding an increment value to the decimal value obtained by mapping the previous first dependent variable value to obtain the mapped decimal value of the target first dependent variable value;

[0035] In response to the target first dependent variable value being the same as one of the first dependent variable values that have been mapped, using the decimal value obtained by mapping the same first dependent variable value as the mapped decimal value of the target first dependent variable value.

[0036] Optionally, in the process of successively mapping each first dependent variable value to a decimal value, the first decimal value is 0, and the corresponding increment value is 1; or the first decimal value is 2 mj -1, where the m j is the number of bits of the second range, and correspondingly, the increment value is -1.

[0037] According to another aspect of the present invention, the present invention further provides a distributed quantum computing device for the Simon problem, and the device includes:

[0038] A parameter acquisition module, configured to acquire the Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node, wherein the sum of the number of domain qubits of all computing nodes is equal to the number of binary bits of the original domain of the Simon problem function to be solved;

[0039] A first sub-Simon problem function construction module, configured to construct a first sub-Simon problem function corresponding to each computing node based on the number of domain qubits of each computing node, the original domain and the original range of the Simon problem function to be solved, wherein the original domain of the Simon problem function to be solved includes the first domains of all sub-Simon problem functions combined in a preset combination order, the first range of each first sub-Simon problem function is a sub-range of the original range of the Simon problem function to be solved, and each first sub-Simon problem function includes a corresponding substring to be solved;

[0040] The second sub-Simon problem function construction module is configured to construct a corresponding second sub-Simon problem function based on each first sub-Simon problem function. Wherein, the second domain of the second sub-Simon problem function is the same as the first domain of the first sub-Simon problem function. According to the Simon problem function, each first dependent variable value in the first value range of the first sub-Simon problem function is mapped to a second dependent variable value whose number of bits is less than the number of bits of the original value range of the Simon problem function to be solved. Wherein, the second sub-Simon problem function has the same substring to be solved as the first sub-Simon problem function;

[0041] The quantum circuit construction module is configured to construct a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node;

[0042] The running module is configured to send the quantum circuits for solving the second sub-Simon problem function to the corresponding quantum computing modules respectively and receive the measurement results returned by the quantum computing modules;

[0043] The computing module is configured to calculate the substring to be solved of the corresponding second sub-Simon problem function based on the measurement results returned by the quantum computing module running the quantum circuit for solving the second sub-Simon problem function; Combine the corresponding substrings in the preset combination order of the domain of the second sub-Simon problem function in the original domain of the Simon problem function to be solved to obtain the string to be solved of the Simon problem function to be solved.

[0044] Optionally, the computing device further includes one or more quantum computing modules; when including one quantum computing module, the running module sends the constructed quantum circuits for solving the second sub-Simon problem functions to the quantum computing module in a serial manner. When including multiple quantum computing modules, the running module sends the constructed quantum circuits for solving the second sub-Simon problem functions to the multiple quantum computing modules in a serial and / or parallel manner; Each quantum computing module runs the quantum circuit for solving the second sub-Simon problem function of the corresponding computing node and sends the measurement results to the running module.

[0045] According to another aspect of the present invention, the present invention also provides an electronic device, including a processor and a memory. Computer instructions are stored in the memory. When the processor runs the computer instructions, it executes the foregoing distributed quantum computing method for the Simon problem.

[0046] According to another aspect of the present invention, the present invention further provides a computer-readable storage medium storing computer instructions, and when the computer instructions are run by a processor, they execute the aforementioned distributed quantum computing method for the Simon problem.

[0047] The present invention integrates the concept of distributed computing and quantum algorithms, decomposes the solution task of the complex and resource-intensive Simon problem into a series of smaller-scale and more manageable subtasks. These subtasks can be assigned to one or more quantum computing devices and processed in a serial or parallel manner, achieving an efficient solution to the Simon problem. While reducing the quantum resource requirements and calculation costs, due to the reduction in the number of qubits applied, the influence of circuit noise on the quantum state is also significantly reduced, thereby improving the quantum fidelity and further improving the calculation accuracy of the solution. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Next, the preferred embodiments of the present invention will be further described in detail with reference to the drawings, where:

[0049] Figure 1 is a flowchart of a distributed quantum computing method for the Simon problem according to an embodiment of the present invention;

[0050] Figure 2 is a flowchart of a method for constructing a first sub-Simon problem function corresponding to a computing node according to an embodiment of the present invention;

[0051] Figure 3 is a flowchart of a processing method for mapping the value ranges of the first sub-Simon problem functions of multiple computing nodes according to an embodiment of the present invention;

[0052] Figure 4 is a schematic diagram of a quantum circuit for solving the second sub-Simon problem function corresponding to a computing node according to an embodiment of the present invention;

[0053] Figure 5 is a flowchart of a method for solving the Simon problem based on multiple computing nodes and their quantum circuits according to an embodiment of the present invention;

[0054] Figure 6 is from the 0th computing node Note 0 to the (t - 1)th computing node Note t-1 when parallelly executing their respective second sub-Simon problem functions, a schematic diagram of the quantum circuit for solving;

[0055] Figure 7 is a schematic diagram of a quantum circuit for solving the second sub-Simon problem function with 3 qubits according to an embodiment of the present invention;

[0056] Figure 8 is a block diagram of the principle of a distributed quantum computing device for Simon's problem according to an embodiment of the present invention;

[0057] Figure 9 is a block diagram of the principle of a distributed quantum computing device for Simon's problem according to another embodiment of the present invention;

[0058] Figure 10 is a block diagram of the principle of a distributed quantum computing device for Simon's problem according to still another embodiment of the present invention;

[0059] Figure 11 is a block diagram of the structure principle of an electronic device according to an embodiment of the present invention. Detailed implementation manners

[0060] To make the objectives, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0061] In the following detailed description, reference may be made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments in which the application may be practiced. In the drawings, similar reference numerals describe substantially similar components in different figures. The specific embodiments of the present application have been described in sufficient detail below so that those of ordinary skill in the art with relevant knowledge and technology can implement the technical solutions of the present application. It should be understood that other embodiments may be utilized or structural, logical, or electrical changes may be made to the embodiments of the present application. Additionally, the "first", "second", etc. in the technical feature names of the present invention are not used for ranking, but to distinguish different technical features with the same name.

[0062] In today's noisy intermediate-scale quantum (NISQ) era, compared with building a large-scale universal quantum computer, the technical path to realizing a small-scale quantum processor seems to be more practical and feasible. The concept of distributed quantum computing (DQC) is an innovative move that ingeniously combines the essence of distributed systems with quantum information processing technology. The implementation of this architecture relies on carefully designed distributed quantum algorithms to ensure its effectiveness in practical applications.

[0063] See Figure 1 , Figure 1FIG. 0 is a flowchart of a distributed quantum computing method for the Simon problem according to an embodiment of the present invention. In the present invention, the Boolean function in the Simon problem to be solved is: , where n is the number of binary bits of the original independent variable, simply referred to as the number of bits in the original domain, is called the original domain; m is the number of binary bits of the original dependent variable, simply referred to as the number of bits in the original range, , is called the original range; and it satisfies: for all values of the independent variable , there is , if and only if or , where s is the string to be found, . Hereinafter, the aforementioned Boolean function in the Simon problem to be solved will be simply referred to as the Simon problem function to be solved. The distributed quantum computing method for the Simon problem in this embodiment includes the following steps:

[0064] Step S1, obtain the Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node. Among them, the sum of the number of domain qubits of all computing nodes is equal to the number of binary bits of the original domain of the Simon problem function to be solved.

[0065] Step S2, construct the first sub-Simon problem function corresponding to each computing node. Specifically, based on the number of domain qubits of each computing node and the original domain and original range of the Simon problem function to be solved, construct the first sub-Simon problem function corresponding to each computing node. Among them, when all the first domains of the sub-Simon problem functions are combined in a preset combination order, they form the original domain of the Simon problem function to be solved. The first range of each first sub-Simon problem function is a sub-range of the original range of the Simon problem function to be solved, and each first sub-Simon problem function has a sub-string to be found;

[0066] Step S3, construct the corresponding second sub-Simon problem function based on each first sub-Simon problem function. Among them, the second domain of the second sub-Simon problem function is the same as the first domain of the first sub-Simon problem function. According to the Simon problem function, map each first dependent variable value in the first range of the first sub-Simon problem function to a second dependent variable value with a number of bits less than the number of bits of the original range of the Simon problem function to be solved. Among them, the second sub-Simon problem function has the same sub-string to be found as the first sub-Simon problem function.

[0067] Step S4: Construct a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node.

[0068] Step S5: Run the quantum circuits for solving the second sub-Simon problem function respectively to obtain the corresponding substrings to be solved.

[0069] Step S6: Combine the corresponding substrings in the preset combination order in the original domain of the Simon problem function to be solved according to the domain of the second sub-Simon problem function to obtain the string to be solved of the Simon problem function to be solved.

[0070] The computing nodes in the present invention can also be referred to as computing tasks for completing one Simon problem solution. Multiple computing nodes, that is, multiple computing tasks, can be implemented serially by one quantum computing module or in parallel by multiple quantum computing modules.

[0071] In step S1, set the number of computing nodes to t, where the number of computing nodes t satisfies 2 ≤ t ≤ n. Based on the number of qubits of each computing node, determine the number of qubits n that can be used in its domain j , where j represents the serial number of any computing node, j ∈ {0, 1, …, t - 1}. The sum of the domain qubit numbers of all computing nodes is equal to the number of bits in the original domain of the Simon problem to be solved, that is, it satisfies . Therefore, the total number of qubits of each computing node is n j +m.

[0072] In step S2, when constructing the first sub-Simon problem function corresponding to each computing node, refer to Figure 2 , Figure 2 is a flowchart of a method for constructing the first sub-Simon problem function corresponding to a target computing node according to an embodiment of the present invention, which includes the following steps:

[0073] Step S21: Divide the original domain of the Simon problem function to be solved to obtain a composite domain. Specifically, according to the number of domain qubits of the target computing node, determine the same number of first bits from the bits of the original domain of the Simon problem function to be solved as the first domain bits of the first sub-Simon problem function, and the remaining third bits as the bits of the third domain; sequentially extract the first bit values from each original independent variable value of the original domain to form each first independent variable value of the first sub-Simon problem function, and all the first independent variable values form the first domain of the first sub-Simon problem function of the target computing node; sequentially extract the third bit values from each original independent variable value of the original domain to form each third independent variable value, and all the third independent variable values form the third domain. Among them, when determining the domain bits of the first sub-Simon problem function from the bits of the original domain of the Simon problem function to be solved, the bits can be extracted from any position in the original domain of the Simon problem function to be solved as the bits of the first domain of the first sub-Simon problem function, and the bits of the first domain of all the first sub-Simon problem functions corresponding to all computing nodes do not repeat. The first domain and the third sub-domain of each first sub-Simon problem function form the composite domain.

[0074] Step S22: Obtain the corresponding original dependent variable value from the original range of the Simon problem function to be solved based on the composite domain as the first original dependent variable value. Specifically, combine each first independent variable value of the first sub-Simon problem function with each third independent variable value in the order in the original domain to form an original independent variable value in the original domain, and obtain the corresponding original dependent variable value from the original range of the Simon problem function to be solved as the first original dependent variable value.

[0075] Step S23: Determine the first range of the first sub-Simon problem function. Specifically, determine one first original dependent variable value as the first dependent variable value corresponding to the first independent variable value from the multiple first original dependent variable values corresponding to each first independent variable value according to the same value-taking function, where the first dependent variable values corresponding to each first independent variable value form the first range of the first sub-Simon problem function of the target computing node.

[0076] In step S22 of this embodiment, a composite domain is obtained by combining the first domain and the third sub-domain of the first sub-Simon problem function. In one embodiment, the third domain serves as the first-layer domain, and the first domain of the first sub-Simon problem function is the second-layer domain. For the composite function corresponding to the composite domain, the dependent variable value obtained based on each independent variable value of the first-layer domain is a sub-function based on the second-layer domain. The number of sub-functions is determined by the number of binary bits of the independent variable value in the first-layer domain; with an independent variable value in the second-layer domain, that is, a first independent variable value in the first domain of the first sub-Simon problem function, a unique original dependent variable value can be determined from the original range through the sub-function, which is named the first original dependent variable value in the present invention.

[0077] For example, taking the j-th computing node Note j as the target computing node, the number of qubits available for its domain is denoted as n j . Then the domain of the corresponding first sub-Simon problem function is represented as {0, 1} nj , that is, the first independent variable bits of the first sub-Simon problem function total n j bits. Since the original domain of the Simon problem function to be solved is {0, 1} n , that is, the original independent variable bits of the Simon problem function to be solved total n bits, the bits of the third independent variable in the third domain total n - n j bits. Therefore, the dependent variable value obtained based on each third independent variable value in the third domain is a sub-function, and the number thereof is 2 (n-nj) . The number of first original dependent variable values obtained through the calculation of all sub-functions is 2 nj • 2 (n-nj) = 2 n . One first independent variable value of each first sub-Simon problem function corresponds to 2 (n-nj) first original dependent variable values.

[0078] In step S23, when constructing the first range of the first sub-Simon problem function, when determining one of the 2 (n-nj) first original dependent variable values corresponding to a first independent variable value as the first dependent variable value of the first sub-Simon problem function, the first original dependent variable value with the largest or smallest value is used as the first dependent variable value corresponding to the first independent variable value.

[0079] In addition, when the number t of computing nodes is greater than or equal to 2, when constructing the first sub-Simon problem function corresponding to the t computing nodes, all the computing nodes can be sorted, and then according to the sorting of the computing nodes, bits with the same number as the number of domain qubits of each computing node are respectively cut out from the bits of the original domain in the order from high to low or from low to high to obtain the domain bits of the first sub-Simon problem function corresponding to each computing node.

[0080] For example, the method of constructing the first sub-Simon problem function corresponding to each computing node in the order from high to low is described as follows:

[0081] First, for the Simon problem function to be solved, the number of binary bits in its domain is n, the number of binary bits in its range is m, and there are t computing nodes in total. After sorting them, the computing node number is represented by the letter j, where j ∈ {0, 1, …, t - 1}. Among them, the number of qubits used for the domain of each computing node is n j , satisfying , and j ∈ {0, 1, …, t - 1}, that is, the binary bits of the domain of the first sub-Simon problem function corresponding to each computing node correspond one-to-one with the qubits used by the computing node for the domain.

[0082] For the 0th computing node, that is, the case where j = 0, the construction process of the first first sub-Simon problem function is as follows:

[0083] Select the last binary bits from the original domain of the Simon problem function to be solved to divide the Simon problem function to be solved, so as to obtain the following sub-functions, that is .

[0084]

[0085] Among them, k represents the serial number of the sub-function, ; , is an n j -bit binary number, m k represents the independent variable of the kth sub-function, and is also the first independent variable of the first sub-Simon problem function corresponding to the jth computing node; is the remaining binary bits in the original domain except for the domain bits of the first sub-Simon problem function of the jth computing node, with a total of bits, which constitute the third domain bits and are also the binary representation of k.

[0086] As can be seen from the above expressions, corresponding to the domain of the first sub-Simon problem function, the same first independent variable value corresponds to sub-functions respectively. A specific original independent variable value of the Simon problem function to be solved can be jointly formed by a determined first independent variable value and a determined independent variable value of a sub-function. Thus, a specific dependent variable value can be determined from the original value range of the Simon problem function to be solved. Therefore, corresponding to a first independent variable value of the first sub-Simon problem function, dependent variable values can be determined from the original value range of the Simon problem function to be solved. For the sake of distinction, these dependent variable values are called the first original dependent variable values.

[0087] Then, based on the maximum value formula:

[0088] where , for a specific first independent variable value m of the first sub-Simon problem function corresponding to the j-th computing node j , a maximum value is taken from first original dependent variable values as the corresponding first dependent variable value. Thus, the first sub-Simon problem function of the j-th computing node is obtained .

[0089] For the j-th node , the first and the last binary bits are selected from the original domain of the Simon problem function to be solved to divide the Simon problem function to be solved, and the following sub-functions are obtained, that is .

[0090]

[0091] where k represents the serial number of the sub-function, ; is an n j -bit binary number, and m k represents the independent variable of the k-th sub-function and is also the first independent variable of the first sub-Simon problem function corresponding to the j-th computing node; is the remaining binary bits in the original domain except for the domain bits of the first sub-Simon problem function of the j-th computing node, with a total of ones, which constitute the third domain bits and are also the binary representation of k.

[0092] As can be seen from the above expressions, corresponding to the domain of the first sub-Simon problem function, the same first independent variable value corresponds to A subfunction that can obtain from the range of values of the Simon problem function to be solved a first original dependent variable value.

[0093] Then, based on the maximum value formula:

[0094] where , a specific first independent variable value m of the first sub-Simon problem function corresponding to the j-th computing node j , from first original dependent variable values, the maximum value is taken as the corresponding first dependent variable value, thus obtaining the sub-Simon problem function of the j-th computing node .

[0095] For the last computing node , select the first binary bits from the original domain of the Simon problem function to be solved to divide the Simon problem function to be solved, and obtain the following subfunctions, that is .

[0096] where k represents the serial number of the subfunction, ; is an n j -bit binary number, m k represents the independent variable of the k-th subfunction and is also the first independent variable of the first sub-Simon problem function corresponding to the j-th computing node; is the remaining binary bits in the original domain except for the domain bits of the first sub-Simon problem function of the j-th computing node and is also the binary representation of k.

[0097] It can be seen from the above expressions that corresponding to the domain of the first sub-Simon problem function, the same first independent variable value corresponds to subfunctions that can obtain from the range of values of the Simon problem function to be solved first original dependent variable values.

[0098] Then, based on the maximum value formula:

[0099] where , for a first independent variable value mj of the first sub-Simon problem function corresponding to the j-th computing node, from first original dependent variable values, the maximum value is taken as the corresponding first dependent variable value, thus obtaining the first sub-Simon problem function of the j-th computing node .

[0100] In addition, although the foregoing solution determines the maximum value among multiple first original dependent variable values as the first dependent variable value, it is also possible to determine the minimum value among multiple first original dependent variable values as the first dependent variable value.

[0101] After the processing of the foregoing step S2, a corresponding first sub-Simon problem function is constructed for each computing node, reducing the number of domain qubits required by the computing node. Moreover, the embodiments of the present invention can flexibly construct a corresponding first sub-Simon problem function according to the number of qubits provided by the existing quantum computing device, and can make full use of the resources of the existing device.

[0102] In one embodiment, when mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value with a number of bits less than the number of bits in the original value range of the Simon problem function to be solved according to the Simon problem function in step S3, first, according to the condition that the number of domain bits and the number of range bits in the Simon problem function need to satisfy: , and the current known number of bits n of the second domain of the second sub-Simon problem function j , determine the number of bits m of the second value range j , and m j <m, that is, the number of bits m of the second value range j is less than the number of bits m in the original value range of the Simon problem function to be solved. In a better embodiment, m j =n j -1. For example, when n j =5, m j =5 - 1 = 4. That is, the number of bits in the value range is the minimum value that satisfies the condition.

[0103] Then, each first dependent variable value is sequentially mapped to a second dependent variable value, and when the first dependent variable values are the same, the corresponding second dependent variable values are the same. The second dependent variable value has the number of bits determined above. In a further embodiment, the second dependent variable value in the value range can be a value determined according to the mapping relationship. For example, according to the order of the first dependent variable values, the second dependent variable value starts mapping from all bits being 0. When the current first dependent variable value is different from the previous first dependent variable value, the current second dependent variable value mapped is incremented by 1 at the lowest bit of the previous second dependent variable value. If the current first dependent variable value is the same as the previous first dependent variable value, the current second dependent variable value mapped is the same as the previous second dependent variable value. The following is a section of the mapping relationship shown in Table 1, where m = 4, n j =4, m j =4 - 1 = 3.

[0104] Table 1

[0105]

[0106] The foregoing mapping process starts from the minimum value of the binary number, and realizes incremental mapping by adding 1 to the lowest bit. The incremental value for realizing the increment is a positive number, that is, the binary number 1 with the same number of bits. As shown in Table 1 above, the second second dependent variable value 000 is incremented by 001 to obtain the third second dependent variable value 001, and the fourth second dependent variable value 001 is incremented by 001 to obtain the fifth second dependent variable value 010. However, it can be known that the incremental value can be other binary numbers that meet the conditions in addition to the binary number 001. The conditions described here are, for example, that the value range after mapping conforms to the Simon problem function.

[0107] In addition, the foregoing mapping process can also start from the maximum value, that is, start from all 1s in the bit values. At this time, the incremental value is a negative number, such as -001, so as to realize a decreasing mapping.

[0108] In another embodiment, when mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value with the number of bits less than the number of bits of the original value range of the Simon problem function to be solved according to the Simon problem function in step S3, each first dependent variable value is first mapped to a decimal value in sequence. During the mapping process, the same first dependent variable value is mapped to the same decimal value; then, according to the determined number of bits of the second value range, each decimal value is converted into the corresponding binary value in sequence, and the binary value is the second dependent variable value. For example, starting from the decimal value 0 according to the order of the first dependent variable values, that is, mapping the first first dependent variable value to 0. When the current first dependent variable value is different from the previous first dependent variable value, the current decimal value for mapping is the previous decimal value plus 1. If the current first dependent variable value is the same as the previous first dependent variable value, the current decimal value for mapping is the same as the previous decimal number. The following is a mapping relationship shown in Table 2, where when n j = 4, m j = 4 - 1 = 3.

[0109] Table 2

[0110]

[0111] Then, according to the determined number of bits of the second value range, each decimal value is converted into the corresponding binary value in sequence, as shown in Table 3.

[0112] Table 3

[0113]

[0114] In the foregoing embodiments, the first decimal value is 0, and the next different decimal value is obtained by adding an increment value of 1 to the previous decimal value. However, it can be known that the increment value can be any value that satisfies the value range of the Simon problem function. That is, the number of bits of the dependent variable is greater than or equal to the sum of the number of bits of the independent variable and the value 1. This embodiment starts from the minimum value 0 when mapping to decimal values, and the increment value is positive, thus achieving an increasing mapping. Of course, it can also start from a maximum decimal value and set the increment value to be negative. For example, according to the number of bits m j , set the first decimal value to 2 mj -1, and the increment value is -1. As in the foregoing embodiments, m j =3, then the first value is 2 3 -1 = 7, so the mapped decimal values are successively from 7 to 0.

[0115] In the present invention, the foregoing value range mapping is to reduce the number of auxiliary qubits corresponding to the value range in the quantum circuit. Therefore, it can meet the requirement that the number of bits after mapping is less than the number of bits of the original value range, that is, the purpose of the present invention is achieved. In specific applications, the number of qubits for the domain and the number of qubits for the value range of the corresponding second sub-Simon problem function can be allocated according to the number of qubits supported by the quantum computing module, and the number of bits of the second dependent variable value in the foregoing mapping process can be determined according to the determined number of qubits.

[0116] Further, referring to Figure 3 , Figure 3 is a flowchart of a processing method for mapping the value range of the first sub-Simon problem function of multiple computing nodes according to an embodiment of the present invention. In this embodiment, there are a total of t computing nodes, the serial number of the computing node is j, the first sub-Simon problem function is , the number of bits of the first value range is the same as the number of bits of the original value range, and the number of bits m j =n j -1, that is, the second sub-Simon problem function is: . The specific processing steps for implementing the mapping are as follows:

[0117] Step S101, let j = 0. The j is the serial number of the computing node, that is, the serial number of the first sub-Simon problem function.

[0118] Step S102, let i = 0. The i is the serial number of the first dependent variable value y i in the first value range of the first sub-Simon problem function.

[0119] Step S103, let k i= 0, the k mentioned above i is the i-th decimal value.

[0120] Step S104, obtain the i-th first dependent variable g i .

[0121] Step S105, determine the decimal value k i as the decimal number corresponding to the i-th first dependent variable g i .

[0122] Step S106, convert the decimal value k i into a binary number h j with the number of bits being n i .

[0123] Step S107, let i = i + 1.

[0124] Step S108, determine whether i is equal to n j - 1. If not, in Step S109, obtain the i-th first dependent variable g i , and then execute Step S110. If i is equal to n j - 1, it means that all decimal numbers k i have been converted into n j - 1 binary numbers, thus obtaining the second value range , thereby generating a second sub-Simon problem function for applying the j-th computing node , and then execute Step S120.

[0125] Step S110, determine whether the current first dependent variable g i is the same as any of the previous first dependent variables g i . If the same, execute Step S111. If not, execute Step S112.

[0126] Step S111, use the corresponding decimal value k i as the decimal number corresponding to the current first dependent variable g i , and return to Step S106.

[0127] Step S112, let k i = k i + 1, and return to Step S105.

[0128] Step S120, let j = j + 1.

[0129] Step S121: Determine whether j is equal to t - 1. If j is equal to t - 1, it means that the ranges of all the first sub - Simon problem functions have been mapped, and the process ends. If j is not equal to t - 1, return to Step S102 to perform the range mapping process on the new first sub - Simon problem function.

[0130] In Step S3, the quantum circuit for solving the second sub - Simon problem function corresponding to each computing node is constructed as Figure 4 shown. Figure 4 It is a schematic diagram of the quantum circuit for solving the second sub - Simon problem function corresponding to a computing node according to an embodiment of the present invention. The qubits required for the computing node include n j qubits corresponding to the second domain of the second sub - Simon problem function and m j qubits corresponding to the second range. Among them, the module Bh j is a quantum circuit unit capable of implementing the Oracle (black - box function, or query function) corresponding to the second sub - Simon problem function. The Oracle can implement . x and y are respectively two independent variable values of the second sub - Simon problem function, and h j (x) is the dependent variable value of the second sub - Simon problem function corresponding to the independent variable value x. is the l th measurement value. This quantum circuit unit is the same as the quantum circuit unit used when Daniel Simon proposed to solve the Simon problem in a quantum - computing manner. The specific quantum circuit is determined according to the specific function parameters n j and m j . Those of ordinary skill in the art can know according to common knowledge in the industry or by referring to relevant literature, and will not be elaborated here.

[0131] Figure 5 It is a flowchart of the method for solving the Simon problem based on multiple computing nodes and their quantum circuits according to an embodiment of the present invention. Combining Figure 4 , the method includes the following steps:

[0132] Step S201: Let j = 0.

[0133] Step S202: Let l = 1.

[0134] Step S203: Initialize n j domain qubits. In one embodiment, initialize n j domain qubits to .

[0135] Step S204: Initialize mj range qubits. In one embodiment, initialize m j range qubits to .

[0136] Step S205: Generate the second sub-Simon problem function corresponding to all computing nodes . For details, see Figure 2 and Figure 3 the method described above.

[0137] Step S206: Apply Hadamard gates ( gates) to the first qubits.

[0138] Step S207: Apply to all qubits, where , .

[0139] Step S208: Apply Hadamard gates ( gates) to the first qubits.

[0140] Step S209: Measure the first qubits to obtain the first measurement value .

[0141] Step S210: Determine whether l =n j is satisfied. If it is satisfied, execute Step S212. If it is not satisfied, in Step S211, set l = l +1, and return to Step S203.

[0142] Step S212: Solve the linear equation set 1-1 to obtain the substring S j , where .

[0143]

[0144] ...

[0146] 1-1

[0147] Step S213: Determine whether j=t-1 is satisfied. If it is satisfied, execute Step S215. If it is not satisfied, in Step S214, set j=j+1, and return to Step S202.

[0148] Step S215: Aggregate the t substrings S jObtain the string s of the Simon problem to be solved. Among them, , s ∈ {0, 1} n .

[0149] Among them, steps S203 to S209 are an evolution and measurement process, and the measurement result . For a general quantum solution method of the Simon problem, the measurement result satisfies the orthogonality with the string s to be solved. Therefore, an equation is obtained according to each measurement result. In order to solve the string s in the Simon problem, it is necessary to perform at least n - 1 times to obtain n - 1 different measurement results , and then obtain a system of equations so as to solve the string s to be solved. Corresponding to this embodiment, for each second sub-Simon problem function, it is necessary to measure n j times, so as to obtain the above system of equations 1 - 1. The query complexity of solving each sub-Simon problem each time is O(n j ), which is significantly lower than the query complexity O(n) of the current Simon problem.

[0150] In Figure 5 the processing method shown, each computing node is executed in a serial manner to obtain its respective substring. However, it can be known that the computing nodes can also be executed in parallel, as Figure 6 shown, Figure 6 is a schematic diagram of the quantum circuit for solving when parallelly executing their respective second sub-Simon problem functions from the 0th computing node Note 0 to the (t - 1)th computing node Note t-1 according to an embodiment of the present invention. First, according to the number of computing nodes, the corresponding second sub-Simon problem functions h0,..., h Figure 2 and Figure 3 are respectively calculated according to the methods shown, and quantum circuits are constructed for each computing node. The quantum circuit units Bh0 to Bh t-1 in each quantum circuit respectively execute the corresponding Oracle function calculation, t-1 and to are respectively the 0 th to t-1 th measurement values from the 0th computing node Note l to the (t - 1)th computing node Note, thereby realizing the solution of the corresponding second sub-Simon problem function.

[0151] The technical solution of the present invention will be exemplarily described below through a specific embodiment.

[0152] In the Simon's problem of this embodiment, n = 4 and m = 4. Assume that the string to be solved is s = 1001. The truth table of the Boolean function f corresponding to the Simon's problem in this embodiment is shown in Table 4 below.

[0153] Table 4: Truth table of the Simon's problem function to be solved

[0154]

[0155] In Table 4, x is the original independent variable and f(x) is the original dependent variable. Among them, the number of binary bits in the original domain is 4 bits, and the number of binary bits in the original range is 4 bits. In this embodiment, two quantum computing modules supporting 3 qubits are used for calculation, so there are two calculation nodes correspondingly. Each calculation node has 2 domain qubits and 1 range qubit.

[0156] According to the method of constructing the first sub-Simon's problem function described above, first divide the original domain to obtain the domain of the first sub-Simon's problem function, which is also the domain of the second sub-Simon's problem function, and then obtain the corresponding range. In this embodiment, the calculation node numbers are 0 and 1. Corresponding to the 0th calculation node, select the two high-order bits on the left as the domain bits of the first sub-Simon's problem function, and the 2 low-order bits on the right as the third domain bits. Thus, 2 2 A total of 4 sub-functions are obtained, which are respectively represented as f 0 00 、f 0 01 、f 0 10 and f 0 11 , where the superscript 0 represents the 0th calculation node, and the subscripts 00, 01, 10, and 11 represent a specific independent variable value in the first domain, which can also be regarded as the binary representation of the sub-function number. Corresponding to the first independent variable x of the domain of the first sub-Simon's problem function, the corresponding first original dependent variable values are obtained from the original range respectively. The truth values obtained corresponding to the 4 sub-functions are as follows.

[0157] Table 5: Truth table of the first sub-function of

[0158]

[0159] Table 6: Truth table of the second sub-function of

[0160]

[0161] Table 7: Truth table of the third sub-function of

[0162]

[0163] Table 8: The fourth sub - function truth table

[0164]

[0165] Based on the above 4 truth tables, for the independent variable value x of each first - sub - Simon problem function, take the maximum value from the corresponding 4 first - original dependent variable values as the first - dependent variable value of the first - sub - Simon problem function, thereby generating the first - sub - Simon problem function of the 0th node , and its truth table is shown in Table 9 below

[0166] Table 9: The truth table of the first - sub - Simon problem function of the 0th calculation node truth table

[0167]

[0168] Perform mapping processing on the value range of the first - sub - Simon problem function , map the first first - dependent variable value to the decimal value 0, and increment it by an increment value of 1, thereby generating the second - sub - Simon problem function h0. Among them, the truth table of the second - sub - Simon problem function h0 is shown in Table 10 below

[0169] Table 10: The truth table of the second - sub - Simon problem function h0 of the 0th calculation node

[0170]

[0171] See Figure 7 , Figure 7 is a schematic diagram of a quantum circuit for solving the second - sub - Simon problem function of 3 qubits according to an embodiment of the present invention. Corresponding to this embodiment, n j = 2, m j = 1. Run and measure twice according to the steps in Figure 5 to obtain a system of equations, and after solving, obtain the corresponding substring .

[0172] Similarly, for the 1st calculation node, determine that the lower two bits are its domain of definition, and the higher two bits are the third domain of definition. Referring to the foregoing method, 4 sub - functions can be obtained: , , , , and thereby obtain the first - sub - Simon problem function g1, and its truth table is shown in Table 11 below

[0173] Table 11: Truth table of the first sub-Simon problem function g1 of the first computing node

[0174]

[0175] The value range of the first sub-Simon problem function g1 is mapped. The first value of the first independent variable is mapped to the decimal value 0 and incremented by an increment value of 1, thereby generating the second sub-Simon problem function h1. The truth table of the second sub-Simon problem function h1 is shown in Table 12 below.

[0176] Table 12: Truth table of the second sub-Simon problem function h1 of the first computing node

[0177]

[0178] Run Figure 7 the shown quantum circuit and measure twice to obtain a system of equations, and after solving, obtain the corresponding substring .

[0179] Finally, the two substrings are sorted and combined according to the order of the domains of the two second sub-Simon problem functions in the original definition. That is, if the domain of the second sub-Simon problem function of the 0th computing node is the high bit in the original definition, then its substring is ranked in the high bit, and if the domain of the second sub-Simon problem function of the 1st computing node is the low bit in the original definition, then the substring is ranked in the low bit. The finally obtained string to be solved .

[0180] When using one quantum computing module to execute the quantum circuit solution in a serial manner, only 3 qubits are required. When using two quantum computing modules to execute the quantum circuit solution in a parallel manner, only 6 qubits are required. Corresponding to the quantum solution method in the current existing technology, 8 qubits are required to perform the solution. As the parameters n and m in the Simon problem function increase, the effect achieved by the method provided by the present invention will be more significant.

[0181] On the other hand, the invention provides a distributed quantum computing device for the Simon problem. Refer to Figure 8 , Figure 8It is a principle block diagram of a distributed quantum computing device for Simon's problem according to an embodiment of the present invention. The distributed quantum computing device for Simon's problem in this embodiment (hereinafter referred to as computing device 10) includes a parameter acquisition module 1, a first sub-Simon problem function construction module 2, a second sub-Simon problem function construction module 3, a quantum circuit construction module 4, an operation module 5, and a calculation module 6. Among them, the parameter acquisition module 1 acquires the Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node. Among them, the Simon problem function to be solved is: , where n is the number of binary bits in the original domain, and m is the number of binary bits in the original range. , and it satisfies that for all independent variable values , there is , if and only if or , where s is the string to be solved. , and the sum of the number of domain qubits of all computing nodes is equal to the number of binary bits in the original domain of the Simon problem function to be solved.

[0182] The first sub-Simon problem function construction module 2 is connected to the parameter acquisition module 1 and is configured to construct a first sub-Simon problem function corresponding to each computing node based on the number of domain qubits of each computing node and the original domain and original range of the Simon problem function to be solved. Among them, when the first domains of all sub-Simon problem functions are combined in a preset combination order, they form the original domain of the Simon problem function to be solved. The first range of each first sub-Simon problem function is a sub-range of the original range of the Simon problem function to be solved, and each first sub-Simon problem function has a substring to be solved.

[0183] The second sub-Simon problem function construction module 3 is connected to the first sub-Simon problem function construction module 2 and is configured to construct a corresponding second sub-Simon problem function based on each first sub-Simon problem function. Among them, the second domain of the second sub-Simon problem function is the same as the first domain of the first sub-Simon problem function. According to the Simon problem function, each first dependent variable value in the first range of the first sub-Simon problem function is mapped to a second dependent variable value with a number of bits less than the number of bits in the original range of the Simon problem function to be solved. Among them, the second sub-Simon problem function has the same substring to be solved as the first sub-Simon problem function.

[0184] The quantum circuit construction module 4 is connected to the second sub-Simon problem function construction module 3 and is configured to construct a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node. The operation module 5 is configured to send the quantum circuits for solving the second Simon problem function to the corresponding quantum computing modules respectively and receive the measurement results returned by the quantum computing modules. The computing module 6 is connected to the operation module 5 and is configured to calculate the corresponding substring of the second sub-Simon problem function based on the measurement results returned by the quantum computing module running the sub-Simon problem function solving quantum circuit; according to the preset combination order of the domain of the second sub-Simon problem function in the original domain of the Simon problem function to be solved, combine the corresponding substrings to obtain the string s to be solved of the Simon problem function to be solved.

[0185] See Figure 9 , Figure 9 FIG. is a schematic block diagram of a distributed quantum computing device for the Simon problem according to an embodiment of the present invention. The computing device 10 in this embodiment further includes a quantum computing module 7. In this embodiment, the parameter acquisition module 1 in the computing device 10 configures the number of computing nodes and the number of domain qubits of each computing node according to the number of qubits supported by the quantum computing module 7. The operation module 5 sends the quantum circuits for solving the second sub-Simon problem functions to the quantum computing module 7 in a serial manner in sequence. The quantum computing module 7 runs the quantum circuits for solving in sequence and sends the measurement results to the operation module 5. The operation module 5 sends the received measurement results to the computing module 6. The computing module 6 constructs an equation set based on the measurement results, solves the equation set to obtain the corresponding substring, and then combines the substrings corresponding to all the second sub-Simon problem functions to obtain the string of the Simon problem function to be solved. According to this embodiment, a Simon problem that previously required a large number of qubits can be solved by a quantum computing module 7 with a relatively small number of qubits.

[0186] See Figure 10 , Figure 10It is a block diagram of the principle of a distributed quantum computing device for the Simon problem according to another embodiment of the present invention. The computing device 10 in this embodiment further includes a plurality of quantum computing modules, such as the first quantum computing module 71, the second quantum computing module 72, up to the t-th quantum computing module 7t in the figure. The operation module 5 of the computing device 10 is respectively connected to each quantum computing module. In one embodiment, the operation module 5 sends the constructed quantum wires for solving a plurality of second sub-Simon problem functions to the corresponding quantum computing modules in a parallel manner. Each quantum computing module runs the corresponding quantum circuit for solving and sends the measured result to the operation module 5. The operation module 5 sends the received measured results to the computing module 6. The computing module 6 constructs an equation set based on the measured results, solves the corresponding substring based on the equation set, and then combines the substrings corresponding to all the second sub-Simon problem functions to obtain the string of the Simon problem function to be solved. In this embodiment, the plurality of quantum computing modules run their respective quantum circuits for solving in parallel, effectively improving the solving efficiency. Of course, if it is impossible to complete the solution at one time based on the resources of the current plurality of quantum computing modules, one or more of the quantum computing modules can also be used to run the quantum circuits for solving a plurality of second sub-Simon problem functions in a serial and time-sharing manner.

[0187] Wherein, Figure 8 the computing device 10 in can be implemented by a classical computing device, Figures 8 to 10 and the quantum computing modules, etc. in can be quantum simulators implemented by classical computing devices or real quantum machines.

[0188] On the other hand, the embodiment of the present invention also provides an electronic device. Refer to Figure 11 , Figure 11 is a block diagram of the structural principle of an electronic device according to an embodiment of the present invention. As shown in Figure 11 , the electronic device includes a processor and a memory. A computer instruction is stored in the memory. When the processor runs the computer instruction, it executes the distributed quantum computing method for the Simon problem provided by the present invention.

[0189] Specifically, the processor 601 may include a central processing unit (CPU) or a graphics processing unit (GPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. The memory 602 may include a memory for data or instructions. For example, the memory 602 may be at least one of the following: a hard disk drive (HDD), a read-only memory (ROM), a random access memory (RAM), a floppy disk drive, a flash memory, an optical disc, a magneto-optical disc, a magnetic tape, a universal serial bus (USB) drive, or other physical / tangible memory storage devices. Further, the memory 602 includes removable or non-removable (or fixed) media. Additionally, the memory 602 may be inside or outside the integrated gateway disaster recovery device. The memory 602 may be a non-volatile solid state memory. In other words, generally, the memory 602 includes a tangible (non-transitory) computer-readable storage medium (such as a memory device) encoded with executable instructions, and when the stored executable instructions are executed by the processor 601 (such as by one or more processors), the distributed quantum computing method for Simon's problem in the embodiments of the present invention can be implemented.

[0190] In one example, Figure 11 The illustrated electronic device may further include a communication interface 603 and a bus 610. Among them, the processor 601, the memory 602, and the communication interface 603 are connected through the bus 610 to complete communication with each other. The communication interface 603 is mainly used to implement communication between various modules, devices, units, and / or devices in the electronic device.

[0191] The bus 610 includes hardware, software, or both, and can couple the components of the online data flow charging device to each other. For example, the bus may include at least one of the following: an accelerated graphics port (AGP) or other graphics buses, an enhanced industry standard architecture (EISA) bus, a front side bus (FSB), a hypertransport (HT) interconnect, an industry standard architecture (ISA) bus, an infinite bandwidth interconnect, a low pin count (LPC) bus, a memory bus, a microchannel architecture (MCA) bus, a peripheral component interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a serial advanced technology attachment (SATA) bus, a video electronics standards association local (VLB) bus, or other suitable buses. The bus 610 may include one or more buses. Although the embodiments of the present invention describe or illustrate specific buses, the embodiments of the present invention may contemplate any suitable bus or interconnect method.

[0192] On the other hand, an embodiment of the present invention also provides a computer-readable storage medium, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the foregoing distributed quantum computing method for the Simon problem is implemented. The computer-readable storage medium may be, for example, a classical computer-readable storage medium, such as a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical, or other physical / tangible memory storage device. It may also be a storage medium for storing quantum information and readable by a quantum computer, such as a quantum random access memory (QRAM). QRAM can be regarded as the quantum version of RAM in a classical computer. Through QRAM, a quantum superposition state containing information can be created. Compared with RAM that needs to read one by one, data in superposition can be read at superposed addresses. QRAM can be implemented in physical ways such as optics, semiconductor quantum dots, superconducting circuits, and ion traps.

[0193] The flowcharts and / or block diagrams of the methods and systems of the embodiments of the present invention have been described above by way of example, and related aspects have also been described. It should be understood that each block in the flowchart and / or block diagram, or a combination thereof, can be implemented by computer program instructions, can be implemented by dedicated hardware for performing a specified function or action, or can be implemented by a combination of dedicated hardware and computer instructions. When implemented in hardware, it may be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, etc.; when implemented in software, it is a program or a code segment for performing the required task. The program or code segment can be stored in a memory, or transmitted via a data signal carried in a carrier wave on a transmission medium or a communication link. The code segment can be downloaded via a computer network such as the Internet or an intranet.

[0194] The above embodiments are only for illustrating the present invention and are not intended to limit the present invention. Those of ordinary skill in the relevant technical field can make various changes and modifications without departing from the scope of the present invention. Therefore, all equivalent technical solutions should also fall within the scope of the disclosure of the present invention.

Claims

1. A distributed quantum computing method for Simon's problem, characterized in that, The method includes: Obtaining the Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node, where the sum of the number of domain qubits of all computing nodes is equal to the number of original domain bits of the Simon problem function to be solved; Constructing a first sub-Simon problem function corresponding to each computing node based on the number of domain qubits of each computing node, the original domain and the original range of the Simon problem function to be solved, where the original domain of the Simon problem function to be solved includes the first domains of all the first sub-Simon problem functions combined in a preset combination order, the first range of each first sub-Simon problem function is a sub-range of the original range of the Simon problem function to be solved, and each first sub-Simon problem function includes a corresponding substring to be solved; Constructing a corresponding second sub-Simon problem function based on each first sub-Simon problem function, where the second domain of the second sub-Simon problem function is the same as the first domain of the first sub-Simon problem function, and each first dependent variable value in the first range of the first sub-Simon problem function is mapped to a second dependent variable value with a number of bits less than the number of bits of the original range of the Simon problem function to be solved according to the Simon problem function, and the second sub-Simon problem function includes the same substring to be solved as the first sub-Simon problem function; Constructing a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node; Respectively running the quantum circuits for solving the second sub-Simon problem function to obtain the corresponding substrings; Combining the corresponding substrings in the preset combination order of the second domain of the second sub-Simon problem function in the original domain of the Simon problem function to be solved to obtain the string to be solved of the Simon problem function to be solved.

2. The distributed quantum computing method for Simon's problem according to claim 1, wherein, The step of constructing the first sub-Simon problem function corresponding to each computing node includes: Determining the same number of first bits as the domain bits of the first sub-Simon problem function from the original domain bits of the Simon problem function to be solved according to the number of domain qubits of the computing node, and the remaining bits as the third bits of the third domain; Sequentially extracting the first bit values corresponding from each original independent variable value in the original domain to form each first independent variable value of the first sub-Simon problem function, and all the first independent variable values form the first domain of the first sub-Simon problem function of the computing node; Sequentially extracting the third bit values corresponding from each original independent variable value in the original domain to form each third independent variable value, and all the third independent variable values form the third domain; Combining each first independent variable value of the first sub-Simon problem function with each third independent variable value together in the order of their bits in the original domain to form an original independent variable value in the original domain; Obtain the original dependent variable value corresponding to the original independent variable value from the original value range of the Simon problem function to be solved as the first original dependent variable value; Determine one first original dependent variable value from multiple first original dependent variable values corresponding to each first independent variable value according to the same value-taking function as the first dependent variable value corresponding to the first independent variable value, where the first dependent variable values corresponding to each first independent variable value constitute the first value range of the first sub-Simon problem function of the computing node.

3. The distributed quantum computing method for Simon's problem according to claim 2, wherein The value-taking function is the maximum value function or the minimum value function; correspondingly, determine the largest or smallest one of the first original dependent variable values from multiple first original dependent variable values corresponding to each first independent variable value as the first dependent variable value corresponding to the first independent variable value.

4. The distributed quantum computing method for Simon's problem according to claim 2, characterized in that, The step of constructing the first sub-Simon problem function corresponding to each computing node further includes: Sort all computing nodes; When determining the same number of first bits as the domain qubits of the first sub-Simon problem function from the original domain bits of the Simon problem function to be solved according to the number of domain qubits of the computing node, cut out bits with the same number as the domain qubits of each computing node from the original domain bits in the order from high to low or from low to high according to the sorting of the computing nodes to obtain the domain bits of the first sub-Simon problem function corresponding to each computing node.

5. The distributed quantum computing method for Simon's problem according to any one of claims 2-4, characterized in that, The step of mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value with the number of bits less than the number of bits of the original value range of the Simon problem function to be solved according to the Simon problem function includes: Determine the number of bits of the second value range based on the number of bits of the second domain of the second sub-Simon problem function, where the number of bits of the second value range is greater than or equal to the difference between the number of bits of the second domain of the second sub-Simon problem function and the value 1, and the number of bits of the second value range is less than the number of bits of the original value range of the Simon problem function to be solved; Successively map each first dependent variable value to a second dependent variable value, and when the first dependent variable values are the same, the corresponding second dependent variable values are the same.

6. The distributed quantum computing method for Simon's problem according to claim 5, wherein The step of successively mapping each first dependent variable value to a second dependent variable value includes: Successively map each first dependent variable value to a decimal value, and in the mapping process, map the same first dependent variable value to the same decimal value; According to the determined number of bits of the second value range, successively convert each decimal value into the corresponding binary value, and the binary value is the second dependent variable value.

7. The distributed quantum computing method for Simon's problem according to claim 6, wherein The step of mapping each first dependent variable value to a decimal value includes: Compare the target first dependent variable value with all the first dependent variable values that have completed mapping; In response to the target first dependent variable value being different from all the first dependent variable values that have completed mapping, increase an increment value on the decimal value mapped from the previous first dependent variable value to obtain the mapped decimal value of the target first dependent variable value; In response to the target first dependent variable value being the same as a first dependent variable value that has already been mapped, use the decimal value obtained by mapping the same first dependent variable value as the mapped decimal value of the target first dependent variable value.

8. The distributed quantum computing method for Simon's problem according to claim 7, characterized in that, In the process of successively mapping each first dependent variable value to a decimal value, the first decimal value is 0, and correspondingly, the increment value is 1; or, the first decimal value is -1, where the j m is the number of bits in the second value range, and correspondingly, the increment value is -1.

9. A distributed quantum computing device for Simon's problem, characterized in that, The device includes: A parameter acquisition module configured to acquire a Simon problem function to be solved, the number of computing nodes, and the number of domain qubits of each computing node, where the sum of the number of domain qubits of all computing nodes is equal to the number of original domain bits of the Simon problem function to be solved; A first sub-Simon problem function construction module configured to construct a first sub-Simon problem function corresponding to each computing node based on the number of domain qubits of each computing node, the original domain and original range of the Simon problem function to be solved, where the original domain of the Simon problem function to be solved includes the first domains of all sub-Simon problem functions combined in a preset combination order, the first range of each first sub-Simon problem function is a sub-range of the original range of the Simon problem function to be solved, and each first sub-Simon problem function includes a corresponding substring to be found; A second sub-Simon problem function construction module configured to construct a corresponding second sub-Simon problem function based on each first sub-Simon problem function, where the second domain of the second sub-Simon problem function is the same as the first domain of the first sub-Simon problem function, and each first dependent variable value in the first range of the first sub-Simon problem function is mapped to a second dependent variable value with a number of bits less than the number of bits of the original range of the Simon problem function to be solved according to the Simon problem function, and the second sub-Simon problem function includes the same substring to be found as the first sub-Simon problem function; A quantum circuit construction module configured to construct a quantum circuit for solving the second sub-Simon problem function corresponding to each computing node; An operation module configured to send the quantum circuits for solving the second sub-Simon problem function to the corresponding quantum computing modules respectively and receive the measurement results returned by the quantum computing modules; A calculation module configured to calculate the corresponding substring of the second sub-Simon problem function based on the measurement results returned by the quantum computing modules when running the quantum circuits for solving the second sub-Simon problem function; combine the corresponding substrings in the preset combination order of the domain of the second sub-Simon problem function in the original domain of the Simon problem function to be solved to obtain the string to be found of the Simon problem function to be solved.

10. The distributed quantum computing device for Simon's problem according to claim 9, characterized in that, The computing device further includes one or more quantum computing modules; when including one quantum computing module, the operation module sends the quantum circuits for solving multiple second sub-Simon problem functions to the quantum computing module in a serial manner, and when including multiple quantum computing modules, the operation module sends the quantum circuits for solving multiple second sub-Simon problem functions to the multiple quantum computing modules in a serial and / or parallel manner; Each quantum computing module runs a quantum circuit for solving the second sub-Simon problem function of the corresponding computing node, and sends the measurement result to the running module.

11. An electronic device, comprising a processor and a memory, characterized in that, The memory stores computer instructions, and when the processor runs the computer instructions, it executes the distributed quantum computing method for the Simon problem according to any one of claims 1-8.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions, and when the computer instructions are run by the processor, it executes the distributed quantum computing method for the Simon problem according to any one of claims 1-8.

Citation Information

Patent Citations

  • Methods and systems for quantum ready and quantum enabled computations

    CN109564639A

  • Method of performing a simon's or a shor's quantum algorithm and relative quantum gate

    US20040179622A1