Distributed quantum computing method and device for Simon problem, equipment and medium
Through the distributed quantum computing method, the Simon problem is split into multiple sub-problems and processed in parallel on multiple computing nodes, solving the problems of high resource requirements and low efficiency of existing Simon algorithms, and achieving efficient and accurate calculations.
Patent Information
- Application Number
- CN202510281392.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-04-11
- Estimated Expiration
- 2045-03-11
AI Technical Summary
The existing Simon algorithm requires a large number of qubits when solving the Simon problem, resulting in high computing resource requirements, low computing efficiency and limited accuracy.
A distributed quantum computing method is proposed to split the original problem into multiple sub-problems and process it in parallel on multiple computing nodes. By constructing the first sub-Simon problem function and the second sub-Simon problem function, the number of qubits required for each node is reduced.
It effectively reduces the demand for quantum computing resources, improves computing efficiency and accuracy, and reduces computing costs.
Smart Images

Figure CN119808978A_ABST
Abstract
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 using the Simon algorithm to solve the Simon problem is O(n). Compared with the classical computing method, 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 quantum bits required to solve the Simon problem using the existing Simon algorithm is n+m. When n and m are large, the number of quantum bits required will increase significantly, which means that a large-scale general-purpose quantum computer is needed to complete the calculation. For today's quantum technology, the use of large-scale general-purpose quantum computers to solve the Simon problem will face many problems. First, building and running such computers requires a lot of financial support; second, the computing efficiency is low, because the increase in the number of quantum bits will lead to a significant increase in the depth and complexity of the quantum circuit, thereby slowing down the calculation speed; in addition, quantum fidelity will be limited, and quantum bits are susceptible to noise and errors during operation, which will have a large 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, so as to reduce the demand for quantum computing resources and improve the solution accuracy and computing efficiency.
[0008] In order 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 Simon problem, the method comprising: 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; 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, wherein the original domain of the Simon problem function to be solved includes the first domains of all first sub-Simon problem functions combined together in a preset combination order, the first range of each first sub-Simon problem function is a subdomain 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, 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, mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value having a bit number less than the bit number of the original value 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; Construct the second sub-Simon problem function corresponding to each computing node to solve the quantum circuit; Run the second sub-Simon problem function to solve the quantum circuit to obtain the corresponding substring to be solved; The corresponding substrings are combined in a preset combination order of the second definition domain of the second sub-Simon problem function in the original definition domain of the Simon problem function to be solved to obtain the character string to be solved of the Simon problem function to be solved.
[0009] Optionally, the step of constructing a first sub-Simon problem function corresponding to each computing node comprises: According to the number of domain qubits of the 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 domain bits of the first sub-Simon problem function, and the remaining bits as the third bits of the third domain; Sequentially extract the first digit value from each original independent variable value in the original definition domain, corresponding to each first independent variable value constituting the first sub-Simon problem function, and all the first independent variable values constitute the first definition domain of the first sub-Simon problem function of the target computing node; Sequentially extract the third bit value from each original independent variable value in the original definition domain to form each third independent variable value, and all the third independent variable values form the third definition domain; Combine each first independent variable value of the first sub-Simon problem function with each third independent variable value in the order of their respective bits in the original definition domain to form an original independent variable value in the original definition domain; Acquire an original dependent variable value corresponding to the original independent variable value from the original value domain of the Simon problem function to be solved as a first original dependent variable value; A first original dependent variable value is determined from multiple first original dependent variable values corresponding to each first independent variable value according to the same valuation function as the first dependent variable value corresponding to the first independent variable value, wherein the first dependent variable value corresponding to each first independent variable value constitutes the first value range of the first sub-Simon problem function of the target computing node.
[0010] Optionally, the value function is a maximum function or a minimum function; correspondingly, a first original dependent variable value with the largest or smallest numerical value is determined 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.
[0011] Optionally, when constructing the first sub-Simon problem function corresponding to each computing node, it further includes: Sort all computing nodes; When determining the same number of first bits from the original domain bits of the Simon problem function to be solved as the domain bits of the first sub-Simon problem function according to the number of domain quantum bits of the computing nodes, the bits with the same number of domain quantum bits as each computing node are respectively cut out in the original domain bits in 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.
[0012] 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 having a bit number less than the bit number of the original value range of the Simon problem function to be solved according to the Simon problem function comprises: Determine the number of bits in the second range based on the number of bits in the second domain of the second sub-Simon problem function, wherein the number of bits in the second 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 range is less than the number of bits in the original range of the Simon problem function to be solved; Each first dependent variable value is mapped to a second dependent variable value in turn, and when the first dependent variable values are the same, the corresponding second dependent variable values are the same.
[0013] Optionally, the step of sequentially mapping each first dependent variable value to a second dependent variable value comprises: Mapping each first dependent variable value to a decimal value in turn, and in the mapping process, mapping the same first dependent variable value to the same decimal value; According to the determined number of bits in the second value range, each decimal value is converted into a corresponding binary value in turn, and the binary value is the second dependent variable value.
[0014] Optionally, the step of mapping a target 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 been mapped; 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 last first dependent variable value to obtain a mapped decimal value of the target first dependent variable value; In response to the target first dependent variable value being identical to a first dependent variable value that has been mapped, a decimal value obtained by mapping the identical first dependent variable value is used as a mapped decimal value of the target first dependent variable value.
[0015] Optionally, in the process of sequentially 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, m j is the number of bits in the second value range, and correspondingly, the increment value is -1.
[0016] According to another aspect of the present invention, the present invention further provides a distributed quantum computing device for Simon problem, the device comprising: A parameter acquisition module configured to acquire a Simon problem function to be solved, a number of computing nodes, and a 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; A first sub-Simon problem function construction module 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, wherein the original domain of the Simon problem function to be solved includes the first domains of all sub-Simon problem functions combined together according to a preset combination order, the first range of each first sub-Simon problem function is a subdomain 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; 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, 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, and to map each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value having a smaller number of bits than the number of bits of the original value range of the Simon problem function to be solved according to the Simon problem function, wherein the second sub-Simon problem function has the same substring to be solved as the first sub-Simon problem function; A quantum circuit construction module configured to construct a second sub-Simon problem function solving quantum circuit corresponding to each computing node; An operation module is configured to send the second sub-Simon problem function solving quantum circuits to the corresponding quantum computing modules respectively, and receive the measurement results returned by the quantum computing modules; The computing module is configured to calculate the required substring of the corresponding second sub-Simon problem function based on the measurement result returned by the quantum computing module when the second sub-Simon problem function is solved; and to combine the corresponding substrings according to a preset combination order of the definition domain of the second sub-Simon problem function in the original definition domain of the Simon problem function to be solved to obtain the required string of the Simon problem function to be solved.
[0017] Optionally, the computing device further includes one or more quantum computing modules; when one quantum computing module is included, the operation module sends the constructed multiple second sub-Simon problem function solving quantum circuits to the quantum computing module in a serial manner; when multiple quantum computing modules are included, the operation module sends the constructed multiple second sub-Simon problem function solving quantum circuits to multiple quantum computing modules in a serial and / or parallel manner; each quantum computing module runs the second sub-Simon problem function solving quantum circuit of the corresponding computing node, and sends the measurement result to the operation module.
[0018] According to another aspect of the present invention, the present invention also provides an electronic device, including a processor and a memory, wherein the memory stores computer instructions, and when the processor runs the computer instructions, the aforementioned distributed quantum computing method for the Simon problem is executed.
[0019] According to another aspect of the present invention, the present invention also provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the aforementioned distributed quantum computing method for the Simon problem is executed.
[0020] The present invention combines the concept of distributed computing with quantum algorithms, breaking down the complex and resource-intensive Simon problem into a series of smaller and more manageable subtasks. These subtasks can be assigned to one or more quantum computing devices and processed in serial or parallel ways, thereby achieving efficient solution to the Simon problem. While reducing the demand for quantum resources and lowering computing costs, the impact of line noise on the quantum state is significantly reduced due to the reduction in the number of quantum bits used, thereby improving quantum fidelity and further improving the computational accuracy of the solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The preferred embodiments of the present invention will be further described in detail below with reference to the accompanying drawings, wherein: Figure 1 is a flow chart of a distributed quantum computing method for Simon problem according to an embodiment of the present invention; Figure 2 is a flow chart of a method for constructing a first sub-Simon problem function corresponding to a computing node according to an embodiment of the present invention; Figure 3 is a flow chart of a processing method for mapping the function value range of the first sub-Simon problem of multiple computing nodes according to an embodiment of the present invention; Figure 4 is a schematic diagram of a quantum circuit for solving a second sub-Simon problem function corresponding to a computing node according to an embodiment of the present invention; Figure 5 is a flow chart of a method for solving the Simon problem based on multiple computing nodes and quantum circuits according to one embodiment of the present invention; Figure 6 According to one embodiment of the present invention, the calculation node Note 0 To the t-1th computing node Note t-1 Schematic diagram of the quantum circuit for solving the second sub-Simon problem functions in parallel; Figure 7 1 is a schematic diagram of a quantum circuit for solving a second sub-Simon problem function of 3 quantum bits according to an embodiment of the present invention; Figure 8 is a principle block diagram of a distributed quantum computing device for Simon problem according to an embodiment of the present invention; Fig. 9 is a principle block diagram of a distributed quantum computing device for Simon problem according to another embodiment of the present invention; Fig.10 is a principle block diagram of a distributed quantum computing device for Simon problem according to yet another embodiment of the present invention; Fig.11 It is a structural principle block diagram of an electronic device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0023] In the following detailed description, reference may be made to the various specification drawings that are part of the present application and are used to illustrate specific embodiments of the present application. In the accompanying drawings, similar reference numerals describe substantially similar components in different figures. The various specific embodiments of the present application are described in sufficient detail below so that a person of ordinary skill in the art with relevant knowledge and skills in the art can implement the technical solutions of the present application. It should be understood that other embodiments may also be utilized or structural, logical or electrical changes may be made to the embodiments of the present application. In addition, the "first", "second", etc. in the names of the technical features of the present invention are not used to indicate sorting, but to distinguish different technical features of the same name.
[0024] In today's noisy intermediate-scale quantum (NISQ) era, the technical path to realize small-scale quantum processors is more feasible than building a large-scale general-purpose quantum computer. The concept of distributed quantum computing (DQC) is an innovative move that cleverly 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.
[0025] See also Figure 1 , Figure 1 is a flow chart of a distributed quantum computing method for 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: , n is the number of binary bits of the original independent variable, referred to as the number of bits of the original domain, is called the original definition domain; m is the number of binary bits of the original dependent variable, referred to as the number of bits in the original range. , is called the original range; and satisfies: for all values of the independent variable ,have , if and only if or , s is the string to be requested, , the Boolean function in the aforementioned Simon problem to be solved is referred to as the Simon problem function to be solved. The distributed quantum computing method for the Simon problem of this embodiment includes the following steps: Step S1, obtaining 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.
[0026] Step S2, constructing the first sub-Simon problem function corresponding to each computing node. Specifically, constructing the 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, wherein the first domains of all sub-Simon problem functions, when combined together in a preset combination order, constitute the original domain of the Simon problem function to be solved, the first range of each first sub-Simon problem function is a subdomain 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; Step S3, constructing 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, and mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value having a bit number less than the bit number of the original value range of the Simon problem function to be solved according to the Simon problem function, wherein the second sub-Simon problem function has the same substring to be solved as the first sub-Simon problem function.
[0027] Step S4, constructing a second sub-Simon problem function corresponding to each computing node to solve the quantum circuit.
[0028] Step S5, respectively running the second sub-Simon problem function to solve the quantum circuit to obtain the corresponding sub-string to be solved.
[0029] Step S6, combining corresponding substrings according to a preset combination order of the definition domain of the second sub-Simon problem function in the original definition domain of the Simon problem function to be solved to obtain the character string to be solved of the Simon problem function to be solved.
[0030] The computing node in the present invention can also be called a computing task that completes a solution to the Simon problem. Multiple computing nodes, that is, multiple computing tasks, can be implemented in a serial manner by one quantum computing module or in a parallel manner by multiple quantum computing modules.
[0031] In step S1, the number of computing nodes is set to t, where the number of computing nodes t satisfies 2≤t≤n. Based on the number of qubits of each computing node, the number of qubits n that can be used in its domain is determined. j , where j represents the serial number of any computing node, j∈{0,1,…,t-1}. The sum of the number of domain qubits of all computing nodes is equal to the number of bits of the original domain of the Simon problem to be solved, that is, Therefore, the total number of qubits per computing node is n j +m.
[0032] In step S2, when constructing the first sub-Simon problem function corresponding to each computing node, refer to Figure 2 , Figure 2 1 is a flow chart of a method for constructing a first sub-Simon problem function corresponding to a target computing node according to an embodiment of the present invention, comprising the following steps: Step S21, divide the original definition domain of the Simon problem function to be solved to obtain a composite definition 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 definition domain of the Simon problem function to be solved as the first definition domain bits of the first sub-Simon problem function, and the remaining third bits as the bits of the third definition domain; sequentially extract the first bit value from each original independent variable value of the original definition domain to correspond to each first independent variable value of the first sub-Simon problem function, and all the first independent variable values constitute the first definition domain of the first sub-Simon problem function of the target computing node; sequentially extract the third bit value from each original independent variable value of the original definition domain to correspond to each third independent variable value, and all the third independent variable values constitute the third definition domain. Wherein, when determining the domain bits of the first sub-Simon problem function from the original domain bits of the Simon problem function to be solved, 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 domains of all first sub-Simon problem functions corresponding to all computing nodes are not repeated. The first domain and the third sub-domain of each first sub-Simon problem function constitute a composite domain.
[0033] Step S22, based on the composite domain, obtain the corresponding original dependent variable value from the original value domain of the Simon problem function to be solved as the first original dependent variable value. Specifically, each first independent variable value of the first sub-Simon problem function is respectively combined 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 the corresponding original dependent variable value is obtained from the original value domain of the Simon problem function to be solved as the first original dependent variable value.
[0034] Step S23, determining the first value range of the first sub-Simon problem function. Specifically, determining a first original dependent variable value as the first dependent variable value corresponding to the first independent variable value from a plurality of first original dependent variable values corresponding to each first independent variable value according to the same value function, wherein the first dependent variable value corresponding to each first independent variable value constitutes the first value range of the first sub-Simon problem function of the target computing node.
[0035] In step S22 of the present embodiment, a composite domain is obtained by compounding the first domain and the third sub-domain of the first sub-Simon problem function. In one embodiment, the third domain is used as the first-level domain, and the first domain of the first sub-Simon problem function is the second-level domain. In the composite function corresponding to the composite domain, the dependent variable value obtained based on each independent variable value of the first-level domain is a sub-function based on the second-level domain. The number of sub-functions is determined by the number of binary bits of the independent variable value in the first-level domain; with an independent variable value in the second-level 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 value domain through the sub-function, which is named as the first original dependent variable value in the present invention.
[0036] For example, the jth compute node Note j As the target computing node, the number of qubits available in its domain is represented by n j . Then the domain of the corresponding first sub-Simon problem function is expressed as {0,1} nj , that is, the first independent variable bit of the first sub-Simon problem function has n j Since the original domain of the Simon problem function to be solved is {0,1} n , that is, the original independent variable of the function to be solved for Simon problem has n bits in total, so the third independent variable in the third domain has n bits in total. j Therefore, the value of the dependent variable obtained based on each value of the third independent variable in the third domain is a subfunction, and its number is 2 (n-nj) The number of first original dependent variable values calculated by all sub-functions is 2nj •2 (n-nj) =2 n Each first independent variable value of the first sub-Simon problem function corresponds to 2 (n-nj) The first original dependent variable value.
[0037] In step S23, when constructing the first range of the first sub-Simon problem function, in the 2 corresponding to a first independent variable value, (n-nj) When a first dependent variable value as the first sub-Simon problem function is determined from the first original dependent variable values, 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.
[0038] In addition, when the number of computing nodes t is greater than or equal to 2, when constructing the first sub-Simon problem function corresponding to t computing nodes, all computing nodes can be sorted, and then according to the sorting of the computing nodes, the bits in the original domain are divided out in order from high to low or from low to high, respectively, with the same number of bits as the domain quantum bits of each computing node to obtain the domain bits of the first sub-Simon problem function corresponding to each computing node.
[0039] For example, the method of constructing the first sub-Simon problem function corresponding to each computing node in order from high to low is described as follows: First, corresponding to 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 sequence is represented by the letter j, j∈{0,1,…,t-1}. Among them, the number of quantum bits used for the domain of each computing node is n j ,satisfy , and j∈{0,1,…,t-1}, that is, the binary bits of the definition domain of the first sub-Simon problem function corresponding to each computing node correspond one-to-one to the quantum bits used by the computing node for the definition domain.
[0040] For the 0th computing node, that is, j=0, the construction process of the first sub-Simon problem function is as follows: After selecting from the original domain of the Simon problem function to be solved Binary bits are used to divide the Simon problem function to be solved, resulting in the following sub-functions, namely .
[0041]
[0042] Among them, k represents the sequence number of the sub-function, ; , is an n j The binary number of bits, 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 computation node; is the remaining binary bits in the original domain except the domain bits of the first sub-Simon problem function of the j-th computing node, with a total of bits, which constitute the third domain bit, are also the binary representation of k.
[0043] From the above expression, we can see that corresponding to the domain of the first sub-Simon problem function, the same first independent variable value corresponds to A sub-function can be combined with a determined first independent variable value and a determined independent variable value of a sub-function to form an original independent variable value of the Simon problem function to be solved, so that a specific dependent variable value can be determined from the original value range of the Simon problem function to be solved. Therefore, a first independent variable value corresponding to the first sub-Simon problem function can be determined from the original value range of the Simon problem function to be solved. dependent variable values, for the sake of distinction, these dependent variable values are called the first original dependent variable values.
[0044] Then, based on the maximum value formula: in , corresponding to a specific first independent variable value m of the first sub-Simon problem function of the jth computation node j ,from The maximum value is taken from the first original dependent variable values as the corresponding first dependent variable value, thus obtaining the first sub-Simon problem function of the jth computing node .
[0045] For the jth node , select the previous After Binary bits are divided into the Simon problem function to be solved, and the following is obtained sub-functions, namely .
[0046]
[0047] Among them, k represents the sequence number of the sub-function, ; , is an n j The binary number of bits, m krepresents 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 computation node; is the remaining binary bits in the original domain except the domain bits of the first sub-Simon problem function of the j-th computing node, with a total of which constitute the third domain bit, which is also the binary representation of k.
[0048] From the above expression, we can see that corresponding to the domain of the first sub-Simon problem function, the same first independent variable value corresponds to subfunctions, which can be obtained from the range of the Simon problem function to be solved The first original dependent variable value.
[0049] Then, based on the maximum value formula: in , corresponding to a specific first independent variable value m of the first sub-Simon problem function of the jth computation node j ,from The maximum value is taken from the first original dependent variable values as the corresponding first dependent variable value, thus obtaining the sub-Simon problem function of the jth computing node .
[0050] For the last compute node , select the previous binary bits to divide the Simon problem function to be solved, and we get the following sub-functions, namely .
[0051] Among them, k represents the sequence number of the sub-function, ; is a j The binary number of bits, 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 computation node; It is the remaining binary bits in the original domain except the domain bits of the first sub-Simon problem function of the j-th computing node, which is also the binary representation of k.
[0052] From the above expression, we can see that corresponding to the domain of the first sub-Simon problem function, the same first independent variable value corresponds to subfunctions, which can be obtained from the range of the Simon problem function to be solved The first original dependent variable value.
[0053] Then, based on the maximum formula: where , for a first independent variable value mj of the first sub-Simon problem function corresponding to the j-th computing node, the maximum value is taken from first original dependent variable values as the corresponding first dependent variable value, thus obtaining the first sub-Simon problem function of the j-th computing node .
[0054] In addition, although the foregoing solution determines the maximum value as the first dependent variable value from multiple first original dependent variable values, it is also possible to determine the minimum value as the first dependent variable value from multiple first original dependent variable values.
[0055] After the processing of the foregoing step S2, the 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 the 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.
[0056] 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 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 second domain bits n of the second sub-Simon problem function j , the number of second range bits m j is determined, and m j <m, that is, the number of second range bits m j is less than the number of bits 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.
[0057] Then, each first dependent variable value is mapped to a second dependent variable value in turn, 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 domain 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 is mapped starting from all bit values of 0, and when the current first dependent variable value is different from the previous first dependent variable value, the mapped current second dependent variable value is added 1 to 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 mapped current second dependent variable value is the same as the previous second dependent variable value, as shown in the following mapping relationship in Table 1, where m=4, n j =4,m j =4-1=3.
[0058] Table 1
[0059] The aforementioned mapping process starts from the minimum value of the binary number, and realizes the incremental mapping by adding 1 to the lowest bit, and the incremental value realized is a positive number, that is, the binary number 1 with the same number of bits. For example, in the aforementioned Table 1, the second second dependent variable value 000 is increased by 001 to obtain the third second dependent variable value 001, and the fourth second dependent variable value 001 is increased 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 besides the binary number 001. The satisfying conditions described here are, for example, that the value range after mapping meets the Simon problem function.
[0060] In addition, the aforementioned mapping process may also start from the maximum value, that is, start from the bit value of all 1, and the increment value at this time is a negative number, such as -001, thereby realizing a decreasing mapping.
[0061] In another embodiment, in step S3, 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 whose bit number is less than the bit number of the original value range of the Simon problem function to be solved according to the Simon problem function, each first dependent variable value is first mapped to a decimal value in turn, and in the mapping process, the same first dependent variable value is mapped to the same decimal value; then, according to the determined number of bits in the second value range, each decimal value is converted into a corresponding binary value in turn, and the binary value is the second dependent variable value. For example, according to the order of the first dependent variable values, the mapping starts from the decimal value 0, that is, the first first dependent variable value is mapped to 0. When the current first dependent variable value is different from the previous first dependent variable value, the mapped current decimal value 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 mapped current decimal value is the same as the previous decimal value, as shown in the following Table 2, where n j =4, m j =4-1=3.
[0062] Table 2
[0063] Then, according to the determined number of bits in the second value range, each decimal value is converted into a corresponding binary value in turn, as shown in Table 3.
[0064] Table 3
[0065] In the above embodiment, the first decimal value is 0, and the next different decimal value is an increment 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 the decimal value, and the increment value is a positive number, thereby realizing an incremental mapping. Of course, it can also start from a maximum decimal value and set the increment value to a negative number, for example, according to the number of bits m in the second value range j , set the first decimal value to 2 mj -1, the increment value is -1. As in the above embodiment, m j =3, then the first value is 2 3 -1=7, so the mapped decimal values are from 7 to 0.
[0066] In the present invention, the aforementioned range mapping is to reduce the number of auxiliary quantum bits corresponding to the range in the quantum circuit, so that the number of bits after mapping can be less than the number of bits of the original range, that is, the purpose of the present invention is achieved. In specific applications, the number of quantum bits of the domain and the number of quantum bits of the range corresponding to the second sub-Simon problem function can be allocated according to the number of quantum bits supported by the quantum computing module, and the number of bits of the second dependent variable value in the aforementioned mapping process can be determined according to the determined number of quantum bits.
[0067] Further, see Figure 3 , Figure 3 1 is a flowchart of a 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 t computing nodes in total, the sequence number of the computing node is j, and the first sub-Simon problem function is , the number of bits in the first range is the same as the number of bits in the original range, and the number of bits in the range of the second sub-Simon problem function is m j =n j -1, that is, the function of the second sub-Simon problem is: The specific steps to achieve the mapping are as follows: Step S101, set j = 0. The j is the serial number of the computing node, that is, the serial number of the first sub-Simon problem function.
[0068] Step S102, let i = 0. The i is the first dependent value y in the first value range of the first sub-Simon problem function. i Serial number.
[0069] Step S103, let k i =0, the k i is the i-th decimal value.
[0070] Step S104, obtaining the i-th first dependent value g i .
[0071] Step S105, determine the decimal value k i is the first dependent variable value g of the i-th i The corresponding decimal number.
[0072] Step S106: convert the decimal value k i Convert to number of bits n j The binary number h of -1 i .
[0073] Step S107, let i=i+1.
[0074] Step S108, determine whether i is equal to nj -1, if not equal, in step S109, obtain the i-th first dependent value g i , then execute step S110. If i is equal to n j -1, it means that all decimal numbers k i Convert to n j -1 binary number, thus obtaining the second value range , thus generating a second sub-Simon problem function applying the jth computing node , and then execute step S120.
[0075] Step S110, determine the current first dependent variable value g i Is it consistent with any previous first dependent variable value g i If they are the same, then go to step S111. If they are not the same, then go to step S112.
[0076] Step S111, the corresponding decimal value k i As the first dependent value g i The corresponding decimal number and returns to step S106.
[0077] Step S112, let k i =k i +1, return to step S105.
[0078] Step S120, let j=j+1.
[0079] Step S121, determine whether j is equal to t-1. If j is equal to t-1, it means that the value range of the entire first sub-Simon problem function has been mapped, and the process ends. If j is not equal to t-1, return to step S102 and perform the value range mapping process on the new first sub-Simon problem function.
[0080] In step S3, the second sub-Simon problem function corresponding to each computing node is constructed to solve the quantum circuit such as Figure 4 As shown, Figure 4 1 is a schematic diagram of a quantum circuit for solving a second sub-Simon problem function corresponding to a computing node according to an embodiment of the present invention. The quantum bits required by the computing node include n corresponding to the second domain of the second sub-Simon problem function. j qubits and m corresponding to the second value range j qubits, of which the module Bh j In order to realize the quantum circuit unit corresponding to the Oracle (black box function, or query function) corresponding to the second sub-Simon problem function, the Oracle can realize x and y are the two independent variables of the second sub-Simon problem function, h j (x) is the dependent variable value of the second sub-Simon problem function corresponding to the independent variable value x. For the l This quantum circuit unit is the same as the quantum circuit unit used by Daniel Simon to solve the Simon problem by quantum computing. The specific quantum circuit depends on the specific function parameter n. j and m j Ordinary technicians in this field can find out based on common knowledge in the industry or by referring to relevant literature, and will not go into details here.
[0081] Figure 5 1 is a flow chart of a method for solving Simon's problem based on multiple computing nodes and quantum circuits according to an embodiment of the present invention. Figure 4 , the method comprises the following steps: Step S201, let j=0.
[0082] Step S202, set l =1.
[0083] Step S203, initializing n j domain qubits, in one embodiment, initialize n j The domain qubit is .
[0084] Step S204, initializing m j In one embodiment, m value range qubits are initialized. j The range qubit is .
[0085] Step S205: Generate the second sub-Simon problem function corresponding to all computing nodes For details, see Figure 2 and Figure 3 The method.
[0086] Step S206, qubits perform a Hadamard gate ( Door).
[0087] Step S207, execute on all quantum bits ,in, , .
[0088] Step S208, qubits perform a Hadamard gate ( Door).
[0089] Step S209, before measurement qubits, and get the first measurement value .
[0090] Step S210, determine whether l =n j If satisfied, execute step S212; if not satisfied, in step S211, l = l +1, and return to step S203.
[0091] Step S212, solving the linear equation system 1-1 to obtain the substring S j ,in, .
[0092]
[0093] ... 1-1 Step S213, determine whether j=t-1 is satisfied. If so, execute step S215. If not, in step S214, set j=j+1 and return to step S202.
[0095] Step S215, sum up t substrings S j Get the string s of the Simon problem to be solved. Among them, , s∈{0,1} n .
[0096] Among them, step S203 to step S209 is an evolution and measurement process, and the measurement result . For a universal quantum solution to the Simon problem, the measurement result satisfies Orthogonality with the string s to be determined, so an equation is obtained based on the measurement results of each time To solve the string s in the Simon problem, we need to perform at least n-1 times to obtain n-1 different measurement results. , and then a system of equations is obtained to solve the string s to be found. Corresponding to this embodiment, for each second sub-Simon problem function, it is necessary to measure n j times, thus obtaining the above equation set 1-1. The query complexity of solving each sub-Simon problem is O(n j ), which obviously further reduces the query complexity compared to the current query complexity O(n) of the Simon problem.
[0097] exist Figure 5In the processing method shown, each computing node is executed in a serial manner to obtain its own substring. However, it can be known that the computing nodes can also be executed in parallel, such as Figure 6 As shown, Figure 6 According to one embodiment of the present invention, the calculation node Note 0 To the t-1th computing node Note t-1 Schematic diagram of the quantum circuit for solving the second sub-Simon problem function in parallel. First, according to the number of computing nodes, Figure 2 and Figure 3 The method shown in the figure calculates the corresponding second sub-Simon problem functions h0,…,h t-1 , and construct quantum circuits for each computing node respectively. The quantum circuit units Bh0 to Bh in each quantum circuit t-1 Execute the corresponding Oracle function calculations respectively. to Note from the 0th calculation node 0 To the t-1th computing node Note t-1 No. l The second measurement value is obtained, thereby solving the corresponding second sub-Simon problem function.
[0098] The technical solution of the present invention is exemplarily described below through a specific embodiment.
[0099] In the Simon problem in this embodiment, n=4, m=4, assuming that the string to be solved is s=1001, the truth table of the Boolean function f corresponding to the Simon problem in this embodiment is shown in Table 4 below.
[0100] Table 4: Truth table of the Simon problem function to be solved
[0101] In Table 4, x is the original independent variable, and f(x) is the original dependent variable. The number of binary bits in the original domain is 4, and the number of binary bits in the original range is 4. In this embodiment, two quantum computing modules supporting 3 qubits are used for calculation, so there are two corresponding computing nodes, each of which has 2 domain qubits and 1 range qubit.
[0102] According to the aforementioned method for constructing the first sub-Simon problem function, the original domain is first divided to obtain the domain of the first sub-Simon problem function, which is also the domain of the second sub-Simon problem function, and then the corresponding range is obtained. In this embodiment, the computing node numbers are 0 and 1. Corresponding to the 0th computing node, the two high bits on the left are selected as the domain bits of the first sub-Simon problem function, and the two low bits on the right are selected as the third domain bits. Thus, 2 2 There are 4 sub-functions, represented by f 0 00 、f 0 01 、f 0 10 and f 0 11 , where the superscript 0 represents the 0th computation node, and the subscripts 00, 01, 10, and 11 represent a specific independent variable value in the first domain, which can also be considered as the binary representation of the sub-function number. The first independent variable x in the domain of the first sub-Simon problem function is obtained from the original value domain, and the truth values corresponding to the four sub-functions are shown below.
[0103] Table 5: The first sub-function The truth table of
[0104] Table 6: The second sub-function The truth table of
[0105] Table 7: The third sub-function The truth table of
[0106] Table 8: The fourth sub-function The truth table of
[0107] Based on the above four truth tables, for each first-sub-Simon problem function's first independent variable value x, take the maximum value from the corresponding four 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 , its truth table is shown in Table 9 below.
[0108] Table 9: First sub-Simon problem function of the 0th computation node The truth table of
[0109] For the first sub-Simon problem function The value range of is mapped, the first dependent variable value is mapped to a decimal value of 0, and is incremented by an increment value of 1, thereby generating a second sub-Simon problem function h0, wherein the truth table of the second sub-Simon problem function h0 is shown in Table 10 below.
[0110] Table 10: Truth table of the second sub-Simon problem function h0 for the 0th computation node
[0111] See also 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, according to Figure 5 Run the steps in and measure twice to get a system of equations, and solve it to get the corresponding substring .
[0112] Similarly, for the first computing node, determine the lower two bits as its domain and the upper two bits as the third domain. Referring to the above method, four sub-functions can be obtained: , , , , and thus the first sub-Simon problem function g1 is obtained, whose truth table is shown in Table 11 below.
[0113] Table 11: Truth table of the first sub-Simon problem function g1 of the first computation node
[0114] The first sub-Simon problem function g1 is mapped to a decimal value of 0 and incremented by 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. Table 12: Truth table of the second sub-Simon problem function h1 of the first computation node
[0115] run Figure 7 The quantum circuit shown is measured twice to obtain a system of equations, and the corresponding substring is obtained after solving it. .
[0116] 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 computation node is high in the original definition, then its substring The domain of the second sub-Simon problem function of the first computation node is low in the original definition, so the substring The final requested string is ranked low. .
[0117] When one quantum computing module is used to perform quantum circuit solving in a serial manner, only 3 quantum bits are needed. When two quantum computing modules are used to perform quantum circuit solving in a parallel manner, only 6 quantum bits are needed. However, corresponding to the quantum solving method in the current prior art, 8 quantum bits are required to solve. 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.
[0118] In another aspect, the invention provides a distributed quantum computing device for the Simon problem. Figure 8 , Figure 8 1 is a principle block diagram of a distributed quantum computing device for Simon problem according to an embodiment of the present invention. The distributed quantum computing device for Simon 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 computing module 6. The parameter acquisition module 1 acquires the Simon problem function to be solved, the number of computing nodes and the number of domain quantum bits of each computing node. The Simon problem function to be solved is: , n is the number of binary bits in the original domain, m is the number of binary bits in the original range, , and satisfies: for all independent variable values ,have , if and only if or , s is the string to be requested, , 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.
[0119] 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 quantum bits of each computing node and the original domain and original value range of the Simon problem function to be solved, wherein the first domains of all sub-Simon problem functions, when combined together in a preset combination order, constitute the original domain of the Simon problem function to be solved, the first value range of each first sub-Simon problem function is a subdomain of the original value range of the Simon problem function to be solved, and each first sub-Simon problem function has a substring to be solved.
[0120] 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, 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, and according to the Simon problem function, each first dependent variable value in the first value domain 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 domain 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.
[0121] The quantum circuit construction module 4 is connected to the second sub-Simon problem function construction module 3, and is configured to construct a second sub-Simon problem function solving quantum circuit corresponding to each computing node. The operation module 5 is configured to send the second Simon problem function solving quantum circuit to the corresponding quantum computing module, and receive the measurement result returned by the quantum computing module. 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 result returned by the quantum computing module running the sub-Simon problem function solving quantum circuit; according to the preset combination order of the definition domain of the second sub-Simon problem function in the original definition domain of the Simon problem function to be solved, the corresponding substring is combined to obtain the string s to be solved of the Simon problem function to be solved.
[0122] See also Fig. 9 , Fig. 9: is a principle block diagram of a distributed quantum computing device for Simon problem according to an embodiment of the present invention. The computing device 10 in this embodiment also 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 quantum bits of each computing node according to the number of quantum bits supported by the quantum computing module 7. The operation module 5 sends the quantum circuits for solving multiple second sub-Simon problem functions to the quantum computing module 7 in a serial manner. 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 a set of equations based on the measurement results, obtains the corresponding substrings based on the solution of the set of equations, 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, the Simon problem that previously required a large number of quantum bits can be solved by a quantum computing module 7 with fewer quantum bits.
[0123] See also Fig.10 , Fig.10 : is a principle block diagram of a distributed quantum computing device for Simon problem according to another embodiment of the present invention. The computing device 10 in this embodiment also includes multiple quantum computing modules, such as the first quantum computing module 71, the second quantum computing module 72, and the t-th quantum computing module 7t. The operation module 5 of the computing device 10 is connected to each quantum computing module respectively. In one embodiment, the operation module 5 sends the constructed multiple second sub-Simon problem function solution quantum lines in parallel to the corresponding quantum computing modules. Each quantum computing module runs the corresponding solution quantum circuit and sends the measurement result to the operation module 5. The operation module 5 sends the received measurement result to the computing module 6. The computing module 6 constructs an equation group based on the measurement result, obtains the corresponding substring based on the solution of the equation group, 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, multiple quantum computing modules run their respective solution quantum circuits in parallel, which effectively improves the solution efficiency. Of course, if it is not possible to complete the solution at one time based on the resources of multiple current quantum computing modules, one or more of the quantum computing modules can be used to run multiple second sub-Simon problem functions in a serial manner to solve the quantum circuit.
[0124] in, Figure 8 The computing device 10 in the embodiment may be implemented by a classical computing device. Figures 8 to 10 The quantum computing module in the can be a quantum simulator implemented by a classical computing device, or it can be a real quantum machine.
[0125] On the other hand, an embodiment of the present invention further provides an electronic device, see Fig.11 , Fig.11 is a block diagram of the structure principle of an electronic device according to an embodiment of the present invention. Fig.11 As shown, the electronic device includes a processor and a memory, wherein the memory stores computer instructions, and when the processor runs the computer instructions, the distributed quantum computing method for the Simon problem provided by the present invention is executed.
[0126] 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 may be configured to implement one or more integrated circuits of an embodiment 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 disk, a magneto-optical disk, a tape, a universal serial bus (USB) drive, or other physical / tangible memory storage device. For another example, the memory 602 includes a removable or non-removable (or fixed) medium. For another example, 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, typically the memory 602 includes a tangible (non-transitory) computer-readable storage medium (such as a memory device) encoded with executable instructions, wherein when the stored executable instructions are executed by the processor 601 (such as executed by one or more processors), the distributed quantum computing method for the Simon problem in an embodiment of the present invention can be implemented.
[0127] In one example, Fig.11 The electronic device shown may also include a communication interface 603 and a bus 610. The processor 601, the memory 602, and the communication interface 603 are connected and communicate with each other via the bus 610. The communication interface 603 is mainly used to implement communication between modules, devices, units, and / or devices in the electronic device.
[0128] The bus 610 includes hardware, software or both, and can couple the components of the online data traffic billing device to each other. For example, the bus may include at least one of the following: an accelerated graphics port (AGP) or other graphics bus, an enhanced industrial standard architecture (EISA) bus, a front-side bus (FSB), a hypertransport (HT) interconnect, an industrial 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 standard association local (VLB) bus or other suitable bus. The bus 610 may include one or more buses. Although the embodiments of the present invention describe or show a specific bus, the embodiments of the present invention may consider any suitable bus or interconnection method.
[0129] On the other hand, an embodiment of the present invention further provides a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the aforementioned distributed quantum computing method for the Simon problem is implemented. The computer-readable storage medium is, for example, a classical computer-readable storage medium, such as a read-only memory (ROM), a random access memory (RAM), a disk storage medium device, an optical storage medium device, a flash memory device, an electrical, optical or other physical / tangible memory storage device, or 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 a quantum version of RAM in a classical computer. Through QRAM, a quantum superposition state containing information can be created. Compared with RAM, which needs to be read one by one, superimposed data can be read with superimposed addresses. QRAM can be implemented in physical ways such as optics, semiconductor quantum dots, superconducting circuits, and ion traps.
[0130] The flowchart and / or block diagram of the method and system of the embodiment of the present invention are described above by way of example, and various aspects of the related aspects are described. It should be understood that each box or combination thereof in the flowchart and / or block diagram can be implemented by computer program instructions, or by dedicated hardware that performs a specified function or action, or by a combination of dedicated hardware and computer instructions. When implemented in hardware, it can be, for example, an electronic circuit, an application-specific integrated circuit (ASIC), appropriate firmware, a plug-in, a function card, etc.; when implemented in software, it is a program or code segment used to perform the required task. The program or code segment can be stored in a memory, or transmitted on a transmission medium or a communication link via a data signal carried in a carrier. The code segment can be downloaded via a computer network such as the Internet, an intranet, etc.
[0131] The above embodiments are only used to illustrate the present invention, but not to limit the present invention. Ordinary technicians 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 present invention.
Claims
1. A distributed quantum computing method for Simon problem, characterized in that: The method comprises: 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; 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, wherein the original domain of the Simon problem function to be solved includes the first domains of all first sub-Simon problem functions combined together in a preset combination order, the first range of each first sub-Simon problem function is a subdomain 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, 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, and mapping each first dependent variable value in the first value range of the first sub-Simon problem function to a second dependent variable value having a bit number less than the bit number of the original value 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; Construct the second sub-Simon problem function corresponding to each computing node to solve the quantum circuit; Run the second sub-Simon problem function to solve the quantum circuit to obtain the corresponding substring; The corresponding substrings are combined according to a preset combination order of the second definition domain of the second sub-Simon problem function in the original definition domain of the Simon problem function to be solved to obtain the desired string of the Simon problem function to be solved.
2. The distributed quantum computing method for Simon problem according to claim 1, characterized in that: The steps of constructing the first sub-Simon problem function corresponding to each computing node include: According to the number of domain qubits of the computing node, determine the same number of first bits from the original domain bits 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; Sequentially extracting the first digit value from each original independent variable value in the original definition domain to correspond to each first independent variable value constituting the first sub-Simon problem function, and all the first independent variable values constitute the first definition domain of the first sub-Simon problem function of the computing node; Sequentially extract the third bit value from each original independent variable value in the original definition domain to form each third independent variable value, and all the third independent variable values form the third definition domain; Combine each first independent variable value of the first sub-Simon problem function with each third independent variable value in the order of their respective bits in the original definition domain to form an original independent variable value in the original definition domain; Obtaining an original dependent variable value corresponding to the original independent variable value from the original value domain of the Simon problem function to be solved as the first original dependent variable value; A first original dependent variable value is determined from multiple first original dependent variable values corresponding to each first independent variable value according to the same valuation function as the first dependent variable value corresponding to the first independent variable value, wherein the first dependent variable value corresponding to each first independent variable value constitutes the first value range of the first sub-Simon problem function of the computing node.
3. The distributed quantum computing method for Simon problem according to claim 2, characterized in that: The value function is a maximum value function or a minimum value function; correspondingly, a first original dependent variable value with the largest or smallest value is determined 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 problem according to claim 2, characterized in that: The step of constructing a first sub-Simon problem function corresponding to each computing node further comprises: Sort all computing nodes; When determining the same number of first bits from the original domain bits of the Simon problem function to be solved as the domain bits of the first sub-Simon problem function according to the number of domain quantum bits of the computing nodes, the same number of bits as the number of domain quantum bits of each computing node are respectively cut out in the original domain bits in 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 problem according to any one of claims 2 to 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 whose bit number is less than the bit number of the original value range of the Simon problem function to be solved according to the Simon problem function comprises: Determine the number of bits in the second range based on the number of bits in the second domain of the second sub-Simon problem function, wherein the number of bits in the second 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 range is less than the number of bits in the original range of the Simon problem function to be solved; Each first dependent variable value is mapped to a second dependent variable value in turn, 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 problem according to claim 5, characterized in that: The step of sequentially mapping each first dependent variable value to a second dependent variable value comprises: Mapping each first dependent variable value to a decimal value in turn, and in the mapping process, mapping the same first dependent variable value to the same decimal value; According to the determined number of bits in the second value range, each decimal value is converted into a corresponding binary value in turn, and the binary value is the second dependent variable value.
7. The distributed quantum computing method for Simon problem according to claim 6, characterized in that: The step of mapping each first dependent variable value to a decimal value comprises: Compare the target first dependent variable value with all the first dependent variable values that have been mapped; 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 last first dependent variable value to obtain a mapped decimal value of the target first dependent variable value; In response to the target first dependent variable value being identical to a first dependent variable value that has been mapped, a decimal value obtained by mapping the same first dependent variable value is used as a mapped decimal value of the target first dependent variable value.
8. The distributed quantum computing method for Simon problem according to claim 7, characterized in that: In the process of mapping each first dependent variable value to a decimal value in turn, the first decimal value is 0, and correspondingly, the increment value is 1; or the first decimal value is 2 mj -1, m j 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 problem, characterized in that: The device comprises: A parameter acquisition module is 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 original domain bits of the Simon problem function to be solved; A first sub-Simon problem function construction module 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, the original domain of the Simon problem function to be solved, and the original range, wherein the original domain of the Simon problem function to be solved includes the first domains of all sub-Simon problem functions combined together according to a preset combination order, the first range of each first sub-Simon problem function is a subdomain 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; 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, 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, and 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 having a bit number less than the bit number of the original value 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; A quantum circuit construction module configured to construct a second sub-Simon problem function solving quantum circuit corresponding to each computing node; An operation module is configured to send the second sub-Simon problem function solving quantum circuits to the corresponding quantum computing modules respectively, and receive the measurement results returned by the quantum computing modules; The computing module is configured to calculate the corresponding substring of the second sub-Simon problem function based on the measurement result returned by the quantum computing module when the second sub-Simon problem function is solved; and to combine the corresponding substrings according to the preset combination order of the definition domain of the second sub-Simon problem function in the original definition domain of the Simon problem function to be solved to obtain the required string of the Simon problem function to be solved.
10. The distributed quantum computing device for Simon problem according to claim 9, characterized in that: The computing device further includes one or more quantum computing modules; when one quantum computing module is included, the operation module sends the plurality of second sub-Simon problem function solution quantum circuits to the quantum computing module in a serial manner; when multiple quantum computing modules are included, the operation module sends the plurality of second sub-Simon problem function solution quantum circuits to multiple quantum computing modules in a serial and / or parallel manner; Each quantum computing module runs the second sub-Simon problem function of the corresponding computing node to solve the quantum circuit and sends the measurement results to the operation 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 to 8.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and when the computer instructions are executed by a processor, the distributed quantum computing method for the Simon problem according to any one of claims 1 to 8 is executed.
Citation Information
Patent Citations
Methods and systems for quantum ready and quantum enabled computations
CN109564639A
Quantum circuit processing method and device and electronic equipment
CN117313877A
Quantization method for anti-Simon quantum attack capability of symmetric cryptographic component
CN119051832A
Method and hardware architecture for controlling a process or for processing data based on quantum soft computing
CN1350664A
Method of performing a simon's or a shor's quantum algorithm and relative quantum gate
US20040179622A1