Information processing program, information processing method, and information processing device
By dividing satisfiability problems into odd-numbered groups and using quantum circuits with an oracle and amplifier, the method reduces the qubit requirement, addressing the capacity limitations of quantum computers and simulators for faster and more accurate solutions.
Patent Information
- Application Number
- JP2024080416
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-05-16
- Publication Date
- 2025-11-28
AI Technical Summary
Conventional quantum algorithms for solving satisfiability problems require an enormous number of qubits, which can exceed the capacity of real quantum computers and quantum simulators, leading to increased processing time and potential errors due to noise.
An information processing method that divides the satisfiability problem into odd-numbered groups, creates quantum circuits for each group, and uses an oracle and amplifier circuit to reduce the number of qubits required, employing the Grover algorithm to identify solutions efficiently.
Reduces the number of quantum bits needed to solve satisfiability problems, enabling faster and more reliable solutions on real quantum computers and simulators by amplifying the probability of valid solutions.
Smart Images

Figure 2025174259000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing program, an information processing method, and an information processing device. [Background technology]
[0002] Conventionally, there is a satisfiability problem in which a combination of values of multiple variables that satisfy multiple conditions is searched for, with multiple variables that can take the value of 0 or 1. In response to this, there is a quantum algorithm called the Grover algorithm that uses a quantum computer to solve the satisfiability problem.
[0003] Prior art techniques include, for example, dividing the search of an entire solution space into subproblems and solving each subproblem by enumerating multiple solutions that exist in the solution space. There is also a technique for extracting a partial predicate logical formula from a logical formula, which includes an existential symbol and input data identification information that identifies input data that includes an element of the existential symbol. There is also a technique for solving, as a separate process, each of multiple partitions into which a clause of a satisfiability problem is divided. There is also a technique for managing quantum memory based on a reversible pebbling game. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-312530 [Patent Document 2] Japanese Patent Application Publication No. 2013-012082 [Patent Document 3] US Patent Application Publication No. 2004 / 0210860 [Patent Document 4] U.S. Patent Application Publication No. 2020 / 0202250 Summary of the Invention [Problem to be solved by the invention]
[0005] However, conventional techniques have a problem in that the number of qubits required to solve a satisfiability problem becomes enormous. For example, the more conditions that form a satisfiability problem, the greater the number of qubits required to solve the satisfiability problem.
[0006] In one aspect, the present invention aims to reduce the number of quantum bits used when solving a satisfiability problem. [Means for solving the problem]
[0007] According to one embodiment, an information processing program, an information processing method, and an information processing device are proposed that generate information that enables a solution to the satisfiability problem to be identified by using an oracle circuit connecting the created quantum circuits and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values taken by the variables in accordance with the oracle circuit, according to the Grover algorithm. [Effects of the Invention]
[0008] According to one aspect, it is possible to reduce the number of quantum bits used when solving a satisfiability problem. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is an explanatory diagram illustrating an example of an information processing method according to an embodiment. [Figure 2] FIG. 2 is an explanatory diagram illustrating an example of an information processing system 200. As shown in FIG. [Figure 3] FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. As shown in FIG. [Figure 4] FIG. 4 is a block diagram showing an example of the hardware configuration of the computing device 201. [Figure 5] FIG. 5 is a block diagram showing an example of the functional configuration of the information processing device 100. As shown in FIG. [Figure 6] FIG. 6 is an explanatory diagram (part 1) showing an example of the operation of the information processing device 100. [Figure 7] FIG. 7 is an explanatory diagram (part 2) showing an example of the operation of the information processing device 100. [Figure 8] FIG. 8 is an explanatory diagram (part 3) showing an example of the operation of the information processing device 100. [Figure 9] FIG. 9 is an explanatory diagram (part 1) showing a specific example of the operation of the information processing device 100. [Figure 10] FIG. 10 is an explanatory diagram (part 2) showing a specific example of the operation of the information processing device 100. [Figure 11] FIG. 11 is a flowchart showing an example of the overall processing procedure. DETAILED DESCRIPTION OF THE INVENTION
[0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an information processing program, an information processing method, and an information processing device according to embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0011] (An example of an information processing method according to an embodiment) FIG. 1 is an explanatory diagram illustrating an example of an information processing method according to an embodiment. An information processing device 100 is a computer that assists in solving a satisfiability problem. The information processing device 100 is, for example, a server or a PC (Personal Computer). In the following description, a satisfiability problem may be referred to as a "SAT (SATisfiability) problem."
[0012] A SAT problem involves finding a combination of multiple variables, each of which can take the value 0 or 1, that satisfies all of the multiple conditions. The variables are Boolean. The conditions may be expressed by a logical expression. Each condition may be expressed by a piece of information called a clause in the logical expression. For example, in a SAT problem, if a combination of the values of the variables that satisfies all of the conditions exists, that combination is output as the solution. Also, for example, in a SAT problem, if a combination of the values of the variables that satisfies all of the conditions does not exist, the output is "UNSAT," indicating that no solution exists. SAT problems may be specified in CNF format or Dimacs format.
[0013] Here, in order to improve the speed at which the SAT problem is solved, it is conceivable to utilize quantum operations when solving the SAT problem and solve the SAT problem using a series of quantum operations. A quantum operation is, for example, an operation in which a gate acts on a quantum bit. A gate represents an operation performed on a quantum bit. A quantum operation is performed, for example, by an actual quantum computer or a quantum simulator that simulates a quantum computer. A quantum operation is expressed as a quantum circuit. A quantum circuit includes multiple gates and represents a series of operations performed on quantum bits. A quantum simulator, for example, executes the quantum circuit and calculates the final quantum state. For example, a state vector type quantum simulator that represents the quantum state as a vector, or a decision diagram type quantum simulator that represents the quantum state as a decision diagram, are conceivable.
[0014] For example, there is a quantum algorithm called the Grover algorithm that uses a quantum computer to solve the SAT problem. For example, the Grover algorithm executes a quantum circuit including an oracle unit and an amplifier unit to find a solution by amplifying the probability of one of the quantum states representing a combination of the values of each variable that results in a solution. The oracle unit is a partial quantum circuit that realizes the function of inverting the phase of one of the quantum states representing a combination of the values of each variable that satisfies all of the respective conditions. The amplifier unit is a partial quantum circuit that realizes the function of amplifying the probability of the quantum state with the inverted phase. The amplifier unit is also called a diffusion unit.
[0015] However, conventional techniques have a problem in that the number of qubits used to solve a SAT problem becomes enormous. For example, the more conditions that form a SAT problem, the greater the number of qubits that must be used to solve the SAT problem. Specifically, when solving a SAT problem that includes M conditions on N variables, N+M+1 qubits are used. Here, M tends to be greater than N, and the larger M becomes, the greater the number of qubits that must be used to solve the SAT problem.
[0016] Here, the number of available quantum bits may be limited in a real quantum computer. Therefore, if the number of quantum bits used to solve a SAT problem increases, it may become impossible to solve the SAT problem using the quantum computer. Furthermore, in a real quantum computer, errors may occur in the quantum bits due to environmental noise, interference from other quantum bits, and noise during operation of the quantum bits. Therefore, it is preferable to reduce the number of quantum bits used to solve the SAT problem. Furthermore, the more quantum bits used to solve the SAT problem, the longer the processing time required to solve the SAT problem. Therefore, it is preferable to reduce the number of quantum bits used to solve the SAT problem. For example, if a user pays a fee based on the usage time to use a real quantum computer, it is preferable to reduce the number of quantum bits used to solve the SAT problem in order to reduce the usage time.
[0017] Furthermore, in quantum simulators, the number of available quantum bits may be limited in terms of the memory capacity for storing quantum bits. Therefore, if the number of quantum bits used to solve a SAT problem increases, it may become impossible to solve the SAT problem using a quantum simulator. Furthermore, the more quantum bits used to solve a SAT problem, the longer the processing time required to solve the SAT problem. Therefore, it is preferable to reduce the number of quantum bits used to solve the SAT problem. Thus, whether solving a SAT problem using an actual quantum computer or using a quantum simulator, it is considered preferable to reduce the number of quantum bits used to solve the SAT problem.
[0018] Therefore, in this embodiment, an information processing method that can reduce the number of quantum bits used when solving a SAT problem will be described. According to this information processing method, for example, when solving a SAT problem, instead of using M quantum bits according to the number of nodes, it is possible to use k quantum bits, which is less than M, regardless of the number of nodes. Therefore, specifically, according to this information processing method, it is possible to use only N+k+1 quantum bits when solving a SAT problem.
[0019] 1, the information processing device 100 can use an actual quantum computer or a quantum simulator. For example, the information processing device 100 may be an actual quantum computer. For example, the information processing device 100 may have a quantum simulator. For example, the information processing device 100 may use a quantum computer owned by another computer.
[0020] The information processing device 100 stores SAT problems 110. The SAT problem 110 includes, for example, M conditions related to N variables. The variables take on values of 0 or 1. Specifically, the SAT problem 110 includes M clauses. Each clause represents a condition that one or more of the N variables must satisfy. Specifically, the SAT problem 110 is expressed by a logical formula that represents M conditions. In the example of FIG. 1, N=4. M=6. A horizontal line above a letter in the figure represents negation. For convenience in the following description, any letter with a horizontal line above it may be written as a "¬ letter."
[0021] The condition is, for example, x i ∨x j or ¬x i ∨¬x j etc. x i ∨x j is x i or x j is 1 and indicates true. i ∨¬x j ¬x i or ¬x jis 1 and indicates true. In other words, ¬x i ∨¬x j is x i or x j is 0 and indicates false. i ∨¬x j or ¬x i ∨x j etc. x i ∨¬x j is x i or ¬x j is 1 and indicates true. i ∨x j ¬x i or x j represents a value of 1, indicating true.
[0022] Here, when solving SAT problem 110, the number of quantum bits available to information processing device 100 is assumed to be less than N+M+1, and X=N+k+1. Therefore, when expressing whether or not a condition is satisfied among the X quantum bits, the number of first auxiliary quantum bits available to information processing device 100 is assumed to be k. k is less than M. In the example of FIG. 1, k=2. In conventional technology, if the number of available quantum bits is less than N+M+1, SAT problem 110 cannot be solved.
[0023] (1-1) The information processing device 100 acquires M nodes that express the SAT problem 110. The information processing device 100 divides the M nodes into A groups 120, which is an odd number. For example, the information processing device 100 assigns each of the M nodes to one or more of the A groups 120, which is an odd number. The information processing device 100 assigns each of the M nodes based on the number k, for example, such that the number of nodes belonging to each of the A groups 120 out of the acquired M nodes is equal to or less than the number k of first auxiliary quantum bits.
[0024] The odd number is, for example, M / k or more. The odd number is preferably the smallest integer that is M / k or more. In the example of Fig. 1, the odd number A is 3. Specifically, the A groups 120 are three groups 121 to 123.
[0025] In the example of FIG. 1, the information processing device 100 specifically divides each of the six nodes into three groups 121 to 123 so that the number of nodes belonging to each group 120 is equal to or less than the number k of first auxiliary quantum bits, k=2. For example, group 121 includes x1∨x2 and x3∨x4. Also, for example, group 122 includes ¬x1∨¬x2 and ¬x3∨¬x4. Also, for example, group 123 includes ¬x1∨¬x3 and ¬x2∨¬x4.
[0026] The information processing device 100 may allocate each of the M nodes to one or more of the A groups 120 such that at least one of the M nodes is allocated to two or more of the A groups 120, which are an odd number. The information processing device 100 may also allocate each of the A groups 120 to one or more of the A groups 120 such that at least one of the M nodes is allocated to two or more of the A groups 120, which are an odd number.
[0027] (1-2) For each of the A groups 120, the information processing device 100 creates a quantum circuit 130 that expresses all of the M nodes belonging to that group 120. The quantum circuit 130 expresses all of the M nodes belonging to the group 120 using X quantum bits, including quantum bits corresponding to each of the N variables, k first auxiliary quantum bits, and one second auxiliary quantum bit. When all of the conditions expressed by the nodes belonging to the group 120 are satisfied, the quantum circuit 130 inverts the phase of the second auxiliary quantum bit, thereby managing whether all of the conditions expressed by the nodes belonging to the group 120 are satisfied. In the example of FIG. 1, the information processing device 100 specifically creates quantum circuits 131 to 133.
[0028] (1-3) The information processing device 100 creates an oracle circuit 140 by connecting the created quantum circuits 130, and an amplifier circuit 150 that amplifies the probability of any quantum state that represents any combination of values that each variable takes according to the oracle circuit 140. The information processing device 100 creates the oracle circuit 140 by connecting the created quantum circuits 130, and the amplifier circuit 150 corresponding to the oracle circuit 140, for example, according to the Grover algorithm.
[0029] For example, when the phase of the second ancillary quantum bit is ultimately inverted for any combination of values taken by the respective variables, the amplifier circuit 150 amplifies the probability of a quantum state representing that combination. Here, among A odd-numbered groups 120, in B odd-numbered groups 120 less than or equal to A, the phase of the second ancillary quantum bit is ultimately inverted when all of the conditions represented by the nodes belonging to each group 120 are satisfied. Therefore, the amplifier circuit 150 amplifies the probability of any quantum state representing any combination of values taken by the respective variables that satisfies at least all of the conditions represented by the respective nodes of the M nodes. On the other hand, the amplifier circuit 150 may also amplify the probability of any quantum state representing any combination of values taken by the respective variables that partially satisfies the conditions represented by the respective nodes of the M nodes.
[0030] (1-4) Information processing device 100 uses created oracle circuit 140 and amplifier circuit 150 to generate information 160 that enables identification of a solution to SAT problem 110. Here, information 160 that enables identification of a solution to SAT problem 110 is, for example, information that narrows down candidate solutions to SAT problem 110, and information that makes it easier to characterize the solution to SAT problem 110.
[0031] The information processing device 100 creates a concatenated quantum circuit by concatenating the created oracle circuit 140 and an amplifier circuit 150, for example. The information processing device 100 executes the created concatenated quantum circuit via an actual quantum computer or a quantum simulator, thereby calculating the probability of a quantum state representing each of multiple combinations that can be formed by the values taken by each variable. The information processing device 100 generates and outputs information 160 that includes the calculated probabilities and enables identification of a solution to the SAT problem 110. The output format can be, for example, display on a display, printout on a printer, transmission to an external device, or storage in a memory area.
[0032] Here, the probability of a quantum state representing any one of the multiple combinations that is a solution is amplified. Therefore, the information 160 that enables identification of a solution to the SAT problem 110 indicates, among the multiple combinations, at least a combination that is likely to be a solution to the SAT problem 110. This enables the information processing device 100 to identify a solution to the SAT problem 110 while reducing the number of quantum bits used when solving the SAT problem 110. For example, the information processing device 100 can be configured to use only N+k+1 quantum bits when solving the SAT problem.
[0033] (1-5) The information processing device 100 may determine and output candidate solutions to the SAT problem 110 by referencing information 160 that enables identification of a solution to the SAT problem 110. The output format may be, for example, display on a display, printout to a printer, transmission to an external device, or storage in a memory area. For example, the information processing device 100 may determine, as a candidate solution to the SAT problem 110, any combination of values taken by each variable corresponding to the quantum state with the highest probability by referencing information 160 that enables identification of a solution to the SAT problem 110. This allows the information processing device 100 to make the candidate solutions to the SAT problem 110 available for external reference.
[0034] The information processing device 100, for example, refers to information 160 that enables a solution to the SAT problem 110 to be identified, and determines any combination of values taken by each variable corresponding to a quantum state whose probability is equal to or greater than a threshold as a solution candidate for the SAT problem 110. The information processing device 100, for example, refers to information 160 that enables a solution to the SAT problem 110, and determines that no solution to the SAT problem 110 exists if there is no combination of values taken by each variable corresponding to a quantum state whose probability is equal to or greater than a threshold. For example, when the information processing device 100 determines that no solution to the SAT problem 110 exists, the information processing device 100 outputs UNSAT. This allows the information processing device 100 to make the solution candidates for the SAT problem 110 externally accessible.
[0035] The information processing device 100 may determine whether the determined solution candidate is an actual solution to the SAT problem 110, and output the actual solution to the SAT problem 110. For example, if there is a solution candidate among the determined solution candidates for the SAT problem 110 that satisfies all of the conditions expressed by each clause, the information processing device 100 determines that the solution candidate is the solution to the SAT problem 110 and outputs it. For example, if there is no solution candidate that satisfies all of the conditions expressed by each clause, the information processing device 100 determines that there is no solution to the SAT problem 110, and outputs UNSAT. This allows the information processing device 100 to make the actual solution to the SAT problem 110 available for external reference.
[0036] Here, a case has been described in which the information processing device 100 assigns each node to one or more of the A odd-numbered groups 120 only once, but the present invention is not limited to this. For example, the information processing device 100 may assign each node to one or more of the A odd-numbered groups 120 repeatedly multiple times. A specific example of this case will be described later with reference to FIGS. 5 to 9.
[0037] Here, the case where the functions of the information processing device 100 are realized by a single computer has been described, but this is not limiting. For example, the functions of the information processing device 100 may be realized by cooperation of multiple computers. For example, the functions of the information processing device 100 may be realized on the cloud.
[0038] (An example of the information processing system 200) Next, an example of an information processing system 200 to which the information processing device 100 shown in FIG. 1 is applied will be described with reference to FIG.
[0039] 2 is an explanatory diagram showing an example of an information processing system 200. In FIG. 2, the information processing system 200 includes an information processing device 100, one or more computing devices 201, and one or more client devices 202.
[0040] In the information processing system 200, the information processing device 100 and the computing device 201 are connected via a wired or wireless network 210. The network 210 is, for example, a local area network (LAN), a wide area network (WAN), the Internet, etc. In the information processing system 200, the information processing device 100 and the client device 202 are connected via the wired or wireless network 210.
[0041] The information processing device 100 is a computer that assists in solving SAT problems. The information processing device 100, for example, acquires a processing request to solve a SAT problem. The processing request includes, for example, N variables and M clauses that form the SAT problem. A clause represents a condition that is satisfied by one or more of the N variables.
[0042] Specifically, the information processing device 100 acquires a processing request by receiving the processing request from another computer. The other computer is, for example, the client device 202. Specifically, the information processing device 100 acquires the processing request by accepting input of the processing request based on a user's operation input via an input device (not shown).
[0043] The information processing device 100 stores a plurality of combinations that can be formed by the values that each of N variables takes. The information processing device 100 stores the number X of quantum bits that can be used when solving a SAT problem. If X=N+k+1, then the number of first auxiliary quantum bits that can be used when expressing whether or not a condition is satisfied is k. k is less than M. The information processing device 100 stores the number k of first auxiliary quantum bits that can be used when expressing whether or not a condition is satisfied.
[0044] In response to receiving the processing request, the information processing device 100 calculates an odd number of groups A based on the number of nodes M and the number k of first auxiliary qubits. The information processing device 100 calculates, for example, the smallest odd number of groups A equal to or greater than M / k.
[0045] The information processing device 100 repeatedly assigns M nodes to A groups multiple times. For each of the multiple times, the information processing device 100 creates a quantum circuit that expresses all of the nodes belonging to each of the A groups assigned to that group among the M nodes. For each of the multiple times, the information processing device 100 creates a pair of an oracle circuit that connects the quantum circuits created in that time and an amplifier circuit that corresponds to the oracle circuit.
[0046] The information processing device 100 creates a concatenated quantum circuit for each created pair by concatenating the pair. The information processing device 100 calculates the probability of a quantum state representing each of a plurality of combinations that can be formed by the values taken by each variable by sequentially executing the created concatenated quantum circuits. The information processing device 100, for example, controls the computing device 201 to sequentially execute the concatenated quantum circuits, thereby calculating the probability of a quantum state representing each of a plurality of combinations that can be formed by the values taken by each variable. The information processing device 100 may transmit the calculated probability of a quantum state representing each of a plurality of combinations that can be formed by the values taken by each variable to the client device 202.
[0047] The information processing device 100 determines candidate solutions to the SAT problem based on the calculated probability of quantum states representing each of multiple combinations that can be formed by the values taken by each variable. The information processing device 100 determines, for example, each combination represented by a quantum state whose calculated probability is equal to or greater than a threshold as a candidate solution to the SAT problem. The information processing device 100 may transmit the determined candidate solutions to the SAT problem to the client device 202.
[0048] The information processing device 100 determines whether the determined solution candidate of the SAT problem is an actual solution of the SAT problem based on the M clauses. For example, the information processing device 100 determines, among the determined solution candidates of the SAT problem, a solution candidate that satisfies all of the conditions expressed by each clause as the actual solution of the SAT problem. For example, if there is no solution candidate that satisfies all of the conditions expressed by each clause among the determined solution candidates of the SAT problem, the information processing device 100 determines that an actual solution of the SAT problem does not exist. The information processing device 100 transmits the determined actual solution of the SAT problem to the client device 202. If the information processing device 100 determines that an actual solution of the SAT problem does not exist, it may transmit UNSAT to the client device 202. The information processing device 100 is, for example, a server or a PC.
[0049] The computing device 201 is a computer for executing quantum computation. The computing device 201 shares all or part of a specific quantum computation under the control of the information processing device 100. Specifically, under the control of the information processing device 100, the computing device 201 sequentially executes a connected quantum circuit, which is formed by connecting a pair of an oracle circuit and an amplifier circuit corresponding to the oracle circuit. The computing device 201 transmits to the information processing device 100 the probability of a quantum state representing each of a plurality of combinations that can be formed by the values taken by each variable, obtained as a result of sequentially executing the connected quantum circuits. The computing device 201 may be, for example, a classical computer that runs a quantum simulator. In this case, the computing device 201 may be, for example, a server or a PC. Alternatively, the computing device 201 may be, for example, an actual quantum computer.
[0050] The client device 202 is a computer used by a user who wishes to solve SAT problems. The client device 202 generates a processing request requesting the solving of SAT problems based on an operational input from the user, and transmits the processing request to the information processing device 100. The client device 202 receives the solutions to the SAT problems from the information processing device 100. The client device 202 outputs the solutions to the SAT problems so that the user can refer to them. The client device 202 is, for example, a PC, a tablet terminal, or a smartphone.
[0051] Here, the case where the information processing device 100 and the computing device 201 are different devices has been described, but this is not limiting. For example, the information processing device 100 may have the functions of the computing device 201 and operate as the computing device 201. Also, the case where the information processing device 100 and the client device 202 are different devices has been described, but this is not limiting. For example, the information processing device 100 may have the functions of the client device 202 and operate as the client device 202.
[0052] (Example of hardware configuration of information processing device 100) Next, an example of the hardware configuration of the information processing device 100 will be described with reference to FIG.
[0053] Fig. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100. In Fig. 3, the information processing device 100 has a CPU (Central Processing Unit) 301, a memory 302, a network I / F (Interface) 303, a recording medium I / F 304, and a recording medium 305. Furthermore, each component is connected to each other by a bus 300.
[0054] Here, CPU 301 is responsible for overall control of information processing device 100. Memory 302 includes, for example, a read-only memory (ROM), a random access memory (RAM), and a flash ROM. Specifically, for example, the flash ROM or ROM stores various programs, and RAM is used as a work area for CPU 301. The programs stored in memory 302 are loaded into CPU 301, causing CPU 301 to execute coded processes.
[0055] The network I / F 303 is connected to the network 210 via a communication line, and is connected to other computers via the network 220. The network I / F 303 manages the internal interface with the network 220 and controls the input and output of data from other computers. The network I / F 303 is, for example, a modem or a LAN adapter.
[0056] The recording medium I / F 304 controls reading and writing of data from and to the recording medium 305 under the control of the CPU 301. The recording medium I / F 304 is, for example, a disk drive, a solid state drive (SSD), or a universal serial bus (USB) port. The recording medium 305 is a non-volatile memory that stores data written under the control of the recording medium I / F 304. The recording medium 305 is, for example, a disk, a semiconductor memory, or a USB memory. The recording medium 305 may be detachable from the information processing device 100.
[0057] In addition to the components described above, the information processing device 100 may also include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, a speaker, etc. The information processing device 100 may also include a plurality of recording medium I / Fs 304 and recording media 305. The information processing device 100 may also not include the recording medium I / Fs 304 and recording media 305.
[0058] (Example of hardware configuration of the computing device 201) When the computing device 201 is a classical computer that runs a quantum simulator, an example of the hardware configuration of the computing device 201 is specifically similar to the example of the hardware configuration of the information processing device 100 shown in Figure 3, so the description will be omitted.
[0059] On the other hand, there may be a case where the computing device 201 is an actual quantum computer. Here, an example of the hardware configuration of the computing device 201 when the computing device 201 is an actual quantum computer will be described with reference to FIG.
[0060] Fig. 4 is a block diagram showing an example of the hardware configuration of a computing device 201. In Fig. 4, the computing device 201 has a CPU 401, a memory 402, a network I / F 403, a recording medium I / F 404, and a recording medium 405. The computing device 201 further has a processing chassis I / F 406 and a processing chassis 407. Furthermore, each component is connected to each other by a bus 400.
[0061] Here, the CPU 401 is responsible for overall control of the computing device 201. The memory 402 includes, for example, a ROM, a RAM, and a flash ROM. Specifically, for example, the flash ROM and the ROM store various programs, and the RAM is used as a work area for the CPU 401. The programs stored in the memory 402 are loaded into the CPU 401, causing the CPU 401 to execute the coded processes.
[0062] The network I / F 403 is connected to the network 220 via a communication line, and is connected to other computers via the network 220. The network I / F 403 manages an internal interface with the network 220 and controls the input and output of data from other computers. The network I / F 403 is, for example, a modem or a LAN adapter.
[0063] The recording medium I / F 404 controls reading / writing of data from / to the recording medium 405 under the control of the CPU 401. The recording medium I / F 404 is, for example, a disk drive, an SSD, a USB port, etc. The recording medium 405 is a non-volatile memory that stores data written under the control of the recording medium I / F 404. The recording medium 405 is, for example, a disk, a semiconductor memory, a USB memory, etc. The recording medium 405 may be detachable from the computing device 201.
[0064] The processing chassis I / F 406 controls access to the processing chassis 407 under the control of the CPU 401. The processing chassis I / F 406 converts an output signal from the CPU 401 into an input signal for the processing chassis 407 using a microwave pulse generator, and transmits the input signal to the processing chassis 407. The processing chassis I / F 406 converts an output signal from the processing chassis 407 into an input signal for the CPU 401 using a microwave pulse demodulator, and transmits the input signal to the CPU 401. The processing chassis 407 is a processing device that is cooled to a cryogenic temperature of 10 mK and is equipped with one or more quantum bit chips. The quantum bit chip represents, for example, a logical quantum bit. The processing chassis 407 performs a predetermined operation in response to an input signal using one or more quantum bit chips, and outputs an output signal corresponding to the result of the predetermined operation.
[0065] In addition to the components described above, computing device 201 may also include, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, and a speaker. Furthermore, computing device 201 may also include a plurality of recording medium I / Fs 404 and recording media 405. Furthermore, computing device 201 may not include recording medium I / Fs 404 and recording media 405. Furthermore, the quantum bit chip in computing housing 407 may be controlled by a method other than microwaves. The quantum bit chip in computing housing 407 may implement, for example, optical quantum bits.
[0066] (Example of hardware configuration of client device 202) A specific example of the hardware configuration of the client device 202 is similar to the example of the hardware configuration of the information processing device 100 shown in FIG. 3, and therefore a description thereof will be omitted.
[0067] (Example of functional configuration of information processing device 100) Next, an example of the functional configuration of the information processing device 100 will be described with reference to FIG.
[0068] 5 is a block diagram showing an example of the functional configuration of the information processing device 100. The information processing device 100 includes a storage unit 500, an acquisition unit 501, a setting unit 502, an allocation unit 503, a creation unit 504, an execution unit 505, a solution-finding unit 506, and an output unit 507.
[0069] The storage unit 500 is realized by, for example, a storage area such as the memory 302 or the recording medium 305 shown in Fig. 3. In the following, a case where the storage unit 500 is included in the information processing device 100 will be described, but this is not limiting. For example, the storage unit 500 may be included in a device different from the information processing device 100, and the stored contents of the storage unit 500 may be accessible from the information processing device 100.
[0070] Acquisition unit 501 to output unit 507 function as an example of a control unit. Specifically, acquisition unit 501 to output unit 507 realize their functions by causing CPU 301 to execute a program stored in a storage area such as memory 302 or recording medium 305 shown in Fig. 3, or by network I / F 303. The processing results of each functional unit are stored in a storage area such as memory 302 or recording medium 305 shown in Fig. 3, for example.
[0071] The storage unit 500 stores various information that is referenced or updated in the processing of each functional unit. The storage unit 500 stores, for example, a SAT problem. Specifically, the storage unit 500 stores N variables and M clauses that form the SAT problem. A variable takes a value of 0 or 1. A clause is information that represents a condition that one or more of the N variables satisfy. The SAT problem is acquired by, for example, an acquisition unit 501.
[0072] Assume that there are multiple quantum bits that can be used to solve a SAT problem. The number of quantum bits is X. The multiple quantum bits include, for example, quantum bits that become variable quantum bits corresponding to different variables out of N variables. The number of variable quantum bits is N. The multiple quantum bits include, for example, a quantum bit that becomes a first auxiliary quantum bit used to express whether a condition is satisfied. If X=N+k+1, then the number of first auxiliary quantum bits is k. The multiple quantum bits include, for example, a quantum bit that becomes a second auxiliary quantum bit that inverts the phase when one or more specific conditions are all satisfied according to the first auxiliary quantum bit. The number of second auxiliary quantum bits is, for example, 1.
[0073] The storage unit 500 stores, for example, the number k of first auxiliary quantum bits that are used to express whether a condition is satisfied or not, among multiple quantum bits that can be used when solving a SAT problem. The number k of first auxiliary quantum bits is acquired, for example, by the acquisition unit 501. The number k of first auxiliary quantum bits may be set, for example, by a user in advance. The storage unit 500 may also store, for example, the number X of quantum bits that can be used when solving a SAT problem. The number X of quantum bits is acquired, for example, by the acquisition unit 501. The number X of quantum bits may be set, for example, by a user in advance.
[0074] The acquisition unit 501 acquires various types of information used in processing by each functional unit. The acquisition unit 501 stores the acquired various types of information in the storage unit 500 or outputs it to each functional unit. The acquisition unit 501 may also output the various types of information stored in the storage unit 500 to each functional unit. The acquisition unit 501 acquires various types of information based on, for example, a user's operation input. The acquisition unit 501 may receive various types of information from, for example, a device different from the information processing device 100.
[0075] The acquiring unit 501 acquires, for example, a processing request to solve a SAT problem. The processing request may include the SAT problem. The processing request may include, for example, N variables and M clauses that form the SAT problem. Specifically, the acquiring unit 501 acquires the processing request by accepting an input of the processing request. Specifically, the acquiring unit 501 may acquire the processing request by receiving the processing request from another computer. The other computer is, for example, the client device 202.
[0076] The acquiring unit 501 acquires, for example, SAT questions. Specifically, the acquiring unit 501 acquires the SAT questions by extracting the SAT questions from a processing request. Specifically, the acquiring unit 501 may acquire the SAT questions by accepting input of the SAT questions. Specifically, the acquiring unit 501 may acquire the SAT questions by receiving the SAT questions from another computer. The other computer is, for example, the client device 202.
[0077] The acquiring unit 501 acquires, for example, M clauses. Specifically, the acquiring unit 501 acquires the M clauses by extracting the M clauses from an SAT problem. Specifically, the acquiring unit 501 may acquire the M clauses by receiving the M clauses as input. Specifically, the acquiring unit 501 may acquire the M clauses by receiving the M clauses from another computer. The other computer is, for example, the client device 202.
[0078] The acquiring unit 501 acquires, for example, the number X of quantum bits. Specifically, the acquiring unit 501 acquires the number X of quantum bits by receiving an input of the number X of quantum bits. Specifically, the acquiring unit 501 may acquire the number X of quantum bits by receiving the number X of quantum bits from another computer. The other computer is, for example, the client device 202.
[0079] The obtaining unit 501 obtains, for example, the number k of first auxiliary quantum bits. Specifically, the obtaining unit 501 obtains the number k of first auxiliary quantum bits by receiving an input of the number k of first auxiliary quantum bits. Specifically, the obtaining unit 501 may obtain the number k of first auxiliary quantum bits by receiving the number k of first auxiliary quantum bits from another computer. The other computer may be, for example, the client device 202. Specifically, the obtaining unit 501 may obtain the number k of first auxiliary quantum bits by calculating the number k of first auxiliary quantum bits based on N and the number X of quantum bits.
[0080] The acquisition unit 501 may receive a start trigger to start processing of any of the functional units. The start trigger may be, for example, a predetermined operation input by a user. The start trigger may be, for example, reception of predetermined information from another computer. The start trigger may be, for example, output of predetermined information by any of the functional units. The acquisition unit 501 may receive, for example, acquisition of a processing request as a start trigger to start processing by the setting unit 502, the allocating unit 503, the creating unit 504, and the executing unit 505.
[0081] The setting unit 502 sets the division number d, which is an odd number indicating how many groups the M nodes should be divided into, based on the number k of first auxiliary quantum bits. The setting unit 502 sets the division number d, for example, to an odd number equal to or greater than the value obtained by dividing the number of nodes M by the number k of first auxiliary quantum bits. Specifically, it is preferable that the setting unit 502 sets the division number d to the smallest odd number equal to or greater than the value obtained by dividing the number of nodes M by the number k of first auxiliary quantum bits. This allows the setting unit 502 to appropriately set how many groups the M nodes should be divided into.
[0082] The allocating unit 503 allocates each of the M nodes to one or more of the d groups based on the number k of first auxiliary quantum bits. For example, the allocating unit 503 allocates each of the M nodes to one or more of the d groups such that the number of nodes belonging to each of the d groups among the M nodes is equal to or less than the number k of first auxiliary quantum bits. This allows the allocating unit 503 to obtain guidelines for creating d quantum circuits and to identify d groups that indicate what kind of nodes should be expressed in each quantum circuit.
[0083] In this case, the allocating unit 503 may allocate each node to one or more of the d groups so that at least one of the M nodes is allocated to two or more of the d groups in duplicate. This allows the allocating unit 503 to obtain a guideline for creating d quantum circuits so as to improve the accuracy of solving the SAT problem.
[0084] In this case, the allocating unit 503 may allocate each node to one or more of the d groups so that each node is not allocated to two or more of the d groups in duplicate. This allows the allocating unit 503 to obtain a guideline for creating d quantum circuits so that the scale of each quantum circuit is small.
[0085] The allocating unit 503 may repeat the allocating process of allocating each node to one or more of the d groups multiple times, thereby obtaining a guideline for creating d quantum circuits multiple times so as to improve the accuracy of solving the SAT problem.
[0086] For each of the d groups sorted by the sorting unit 503, the creation unit 504 creates a quantum circuit that expresses all of the M nodes belonging to that group using N variable quantum bits and k first auxiliary quantum bits. This allows the creation unit 504 to create a quantum circuit that makes it possible to determine, for each group, whether or not all of the conditions expressed by the nodes belonging to that group are satisfied.
[0087] The creation unit 504 creates a pair of an oracle circuit that connects the created quantum circuits according to the Grover algorithm, and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that each variable takes according to the oracle circuit. In this way, the creation unit 504 can create an amplifier circuit that can amplify the probability of any quantum state that represents a combination that satisfies all of the conditions represented by each of the M nodes according to the oracle circuit.
[0088] Here, when the allocating unit 503 performs the allocation process multiple times, the creating unit 504 creates, for each round, a quantum circuit that expresses all the nodes belonging to each of the d groups to which the allocating unit 503 has allocated the nodes for that round. For each of the multiple rounds, the creating unit 504 creates a pair of an oracle circuit that connects the created quantum circuits, and an amplifier circuit that amplifies the probability of any quantum state that expresses any combination of values that each variable takes according to the oracle circuit. In this way, the creating unit 504 can create multiple pairs of oracle circuits and amplifier circuits.
[0089] The execution unit 505 generates output information that enables a solution to the SAT problem to be identified, using the pairs created by the creation unit 504. The output information includes, for example, the probability of a quantum state that represents each of a plurality of combinations that can be formed by the values taken by each variable. The execution unit 505 generates the output information, for example, by executing the pairs created by the creation unit 504 via a quantum simulator 510. The execution unit 505 may also generate the output information, for example, by executing the pairs created by the creation unit 504 via a quantum computer. This allows the execution unit 505 to generate the output information while reducing the number of quantum bits used when solving the SAT problem.
[0090] Here, when the allocating unit 503 performs the allocation process multiple times, the executing unit 505 generates output information for each of the multiple times, using the pairs created by the creating unit 504 in that round, to enable identification of a solution to the SAT problem. The executing unit 505 generates the output information, for example, by executing the pairs created by the creating unit 504 via a quantum simulator 510. The executing unit 505 may generate the output information, for example, by executing the pairs created by the creating unit 504 via a quantum computer. This allows the executing unit 505 to generate the output information while reducing the number of quantum bits used when solving the SAT problem. The executing unit 505 can improve the accuracy of the output information by referring to the multiple pairs.
[0091] The solution-finding unit 506 refers to the output information generated by the execution unit 505 and determines, as a solution candidate for the SAT problem, any combination of values taken by each variable corresponding to the quantum state with the highest probability. This allows the solution-finding unit 506 to accurately determine solution candidates for the SAT problem.
[0092] The solution-finding unit 506 refers to the output information and determines, as a solution candidate for the SAT problem, any combination of values taken by each variable corresponding to a quantum state whose probability is equal to or greater than a threshold. The threshold is set in advance by, for example, a user. This allows the solution-finding unit 506 to accurately determine solution candidates for the SAT problem.
[0093] The solution finding unit 506 refers to the output information, and if there is no combination of values taken by each variable corresponding to a quantum state whose probability is equal to or greater than a threshold, generates a notification indicating that no solution to the SAT problem exists. The solution finding unit 506 generates, for example, UNSAT. This allows the solution finding unit 506 to accurately determine that no solution to the SAT problem exists.
[0094] If there is a solution candidate that satisfies all of the conditions expressed by each clause among the determined solution candidates of the SAT problem, the solution finding unit 506 determines the solution candidate that satisfies all of the conditions expressed by each clause as the solution of the SAT problem. This allows the solution finding unit 506 to accurately determine the solution of the SAT problem.
[0095] If there is no solution candidate that satisfies all of the conditions expressed by each clause, the solution finding unit 506 generates a notification indicating that no solution exists for the SAT problem. The solution finding unit 506 generates, for example, UNSAT. This allows the solution finding unit 506 to accurately determine that no solution exists for the SAT problem.
[0096] The output unit 507 outputs the processing result of at least one of the functional units. The output format is, for example, display on a display, printout to a printer, transmission to an external device via the network I / F 303, or storage in a storage area such as the memory 302 or the recording medium 305. In this way, the output unit 507 can notify the user of the processing result of at least one of the functional units, thereby improving the convenience of the information processing device 100.
[0097] The output unit 507 outputs, for example, the output information generated by the execution unit 505. Specifically, the output unit 507 outputs the output information generated by the execution unit 505 so that the user can refer to it. Specifically, the output unit 507 transmits the output information generated by the execution unit 505 to another computer. The other computer is, for example, the client device 202. In this way, the output unit 507 can make the output information externally accessible.
[0098] The output unit 507 outputs, for example, the solution candidates determined by the solution finding unit 506. Specifically, the output unit 507 outputs the solution candidates determined by the solution finding unit 506 so that they can be referenced by a user. Specifically, the output unit 507 transmits the solution candidates determined by the solution finding unit 506 to another computer. The other computer is, for example, the client device 202. In this way, the output unit 507 can make the solution candidates available for external reference.
[0099] For example, when the solution finding unit 506 determines that there is no solution to the SAT problem, the output unit 507 generates a notification indicating that there is no solution to the SAT problem. The output unit 507 outputs, for example, an UNSAT. Specifically, the output unit 507 outputs the UNSAT so that it can be referenced by a user. Specifically, the output unit 507 transmits the UNSAT to another computer. The other computer is, for example, the client device 202. In this way, the output unit 507 can make the UNSAT available for external reference.
[0100] The output unit 507 outputs, for example, the solution to the SAT problem determined by the solution finding unit 506. Specifically, the output unit 507 outputs the solution to the SAT problem determined by the solution finding unit 506 so that it can be referenced by a user. Specifically, the output unit 507 transmits the solution to the SAT problem determined by the solution finding unit 506 to another computer. The other computer is, for example, the client device 202. In this way, the output unit 507 can make the solution to the SAT problem externally accessible.
[0101] (An example of the operation of the information processing device 100) Next, an example of the operation of the information processing device 100 will be described with reference to FIGS.
[0102] 6 to 8 are explanatory diagrams showing an example of the operation of the information processing device 100. In FIG. 6, the information processing device 100 acquires a SAT problem 600. The SAT problem 600 includes N variables and M clauses. The information processing device 100 acquires k, the number of first auxiliary quantum bits that can be used to express conditions, in addition to the N quantum bits that can be used to express variables, from among X quantum bits that can be used to solve the SAT problem. Here, k is less than M. X is N+k+1.
[0103] (6-1) The information processing device 100 determines the number of divisions d based on the number of nodes M and the number k of first auxiliary quantum bits. The information processing device 100 determines the number of divisions d to be an odd number so that d≧M / k holds. It is preferable that the number of divisions d is the smallest in the range of d≧M / k.
[0104] (6-2) The information processing device 100 randomly assigns each of the M nodes to one or more of the d groups so that the number of nodes belonging to each group is k or less. Each of the M nodes belongs to at least one group. Any node may belong to two or more groups. Specifically, the information processing device 100 uses random numbers to randomly select any node and assign it to a group. This allows the information processing device 100 to verify, on a group-by-group basis, whether all of the one or more nodes belonging to that group are satisfied.
[0105] (6-3) The information processing device 100 creates a quantum circuit by connecting a pair of an oracle circuit, which is made by connecting oracle partial circuits corresponding to each of the d groups, and an amplifier circuit corresponding to the oracle circuit. The oracle partial circuit is a quantum circuit. The information processing device 100 updates the probability of each of the multiple quantum states by executing the created quantum circuit via a quantum simulator.
[0106] Each quantum state of the multiple quantum states corresponds to a combination of values taken by each of the N variables. The number of quantum states is 2 NFor example, if N=3, the number of quantum states is 8. The quantum states are, for example, 000, 001, 010, 011, 100, 101, 110, and 111. This allows the information processing device 100 to amplify at least the probability of a quantum state being a correct solution. It is also conceivable that the information processing device 100 amplifies the probability of a quantum state being an incorrect solution.
[0107] For example, consider the case where M = 10 and k = 4. The M = 10 nodes are c1, c2, c3, c4, c5, c6, c7, c8, c9, and c10.
[0108] In this case, in (6-1), the information processing device 100 determines the number of divisions d=3, which is the smallest odd number within the range of the number of divisions d≧10 / 4=2.5, for example.
[0109] In this case, in (6-2), the information processing device 100 distributes the 10 nodes, for example, as follows: Group 1 = (c1, c2, c3), Group 2 = (c4, c5, c6), and Group 3 = (c7, c8, c9, c10). The information processing device 100 may distribute the 10 nodes, for example, as follows: Group 1 = (c1, c4, c7), Group 2 = (c2, c5, c8), and Group 3 = (c3, c6, c9, c10). The information processing device 100 may distribute the 10 nodes in a duplicated manner, for example, as follows: Group 1 = (c1, c2, c3, c4), Group 2 = (c4, c5, c6, c7), and Group 3 = (c7, c8, c9, c10).
[0110] Here, when the information processing device 100 executes the quantum circuit, for example, if an actual quantum computer is used, it is preferable to allocate the 10 nodes without overlapping in order to reduce the scale of the quantum circuit. On the other hand, when the information processing device 100 executes the quantum circuit, for example, if a quantum simulator is used, it is preferable to allocate the 10 nodes with overlapping in order to make maximum use of the available quantum bits.
[0111] In this case, in (6-3), the information processing device 100 creates oracle partial circuits corresponding to, for example, group 1=(c1, c2, c3), group 2=(c4, c5, c6), and group 3=(c7, c8, c9, c10), respectively. Now, we move on to the explanation of Fig. 7. As shown in Fig. 7, the information processing device 100 specifically creates oracle partial circuits 701 to 703 and creates an oracle circuit 700 by connecting the oracle partial circuits 701 to 703.
[0112] Oracle subcircuit 701 corresponds to group 1=(c1, c2, c3) and has the function of inverting the phase of the second ancillary quantum bit when all the conditions represented by c1, c2, and c3 are satisfied. Oracle subcircuit 702 corresponds to group 2=(c4, c5, c6) and has the function of inverting the phase of the second ancillary quantum bit when all the conditions represented by c4, c5, and c6 are satisfied. Oracle subcircuit 703 corresponds to group 3=(c7, c8, c9, c10) and has the function of inverting the phase of the second ancillary quantum bit when all the conditions represented by c7, c8, c9, and c10 are satisfied.
[0113] Returning to the explanation of FIG. 6, (6-4) the information processing device 100 repeatedly performs a series of processes (6-2) and (6-3) multiple times. As a result, the information processing device 100 can repeatedly update the probability of each quantum state. At this time, specifically, the information processing device 100 can repeatedly amplify the probability of a quantum state that is a correct solution. Furthermore, specifically, the information processing device 100 randomly assigns each node each time in (6-2), thereby preventing the probability of a quantum state that is a single incorrect solution from being repeatedly amplified. As a result, the information processing device 100 can accurately determine the correct solution to the SAT problem. Now, we move on to the explanation of FIG. 8.
[0114] Graph 800 in FIG. 8 represents the initial value of the probability of each quantum state of multiple quantum states. The initial value of the probability of each quantum state is the same. The probability of a quantum state that is a correct solution is indicated by reference symbol 801. Graph 810 in FIG. 8 represents the probability of each quantum state of multiple quantum states after a series of processes (6-2) and (6-3) are performed once. The probability of a quantum state that is a correct solution is amplified as indicated by reference symbols 801 to 811. On the other hand, the probability of a quantum state that is an incorrect solution may also be amplified as indicated by reference symbols 812 and 813.
[0115] Graph 820 in Figure 8 shows the probability of each of multiple quantum states after performing the series of processes (6-2) and (6-3) twice. The probability of a quantum state that is a correct solution is amplified as shown by symbols 811 to 821. On the other hand, the probability of one quantum state that is an incorrect solution is not amplified as shown by symbols 812 to 822. Furthermore, the probability of one quantum state that is an incorrect solution may be amplified as shown by symbols 813 to 823.
[0116] Graph 830 in Figure 8 shows the probability of each of the multiple quantum states after performing the series of processes (6-2) and (6-3) three times. The probability of a quantum state that is the correct solution is amplified the most compared to the probabilities of the other quantum states, as shown by reference numerals 821 to 831. On the other hand, the probability of one quantum state that is the incorrect solution is amplified to a relatively small extent, as shown by reference numerals 822 to 832. Furthermore, the probability of one quantum state that is the incorrect solution may not be amplified but may decrease, as shown by reference numerals 823 to 833.
[0117] In this way, the information processing device 100 can make it possible to solve a SAT problem when the number of available quantum bits is less than N+M+1 and without preparing a relatively large oracle circuit that expresses all of the conditions expressed by each of the M clauses. Specifically, the information processing device 100 can make it possible to solve a SAT problem by preparing multiple oracle subcircuits using N+k+1 quantum bits, which is less than N+M+1.
[0118] 8, the information processing device 100 repeatedly performs a series of processes (6-2) and (6-3) multiple times, thereby repeatedly amplifying the probability of a quantum state that is a correct solution and avoiding the need to repeatedly amplify the probability of a quantum state that is an incorrect solution. Therefore, the information processing device 100 can accurately identify the probability of each of a plurality of quantum states in order to solve the SAT problem.
[0119] (6-5) The information processing device 100 determines a solution to the SAT problem based on the final probability of each of the multiple quantum states. For example, the information processing device 100 determines a combination of values taken by each variable corresponding to a quantum state whose probability is equal to or greater than a threshold as a solution candidate for the SAT problem. The information processing device 100 examines whether the determined solution candidate for the SAT problem satisfies all of the conditions expressed by each of the M clauses.
[0120] The information processing device 100 determines a solution candidate for the SAT problem that satisfies all of the conditions expressed by each of the M clauses as the solution to the SAT problem. This allows the information processing device 100 to solve the SAT problem with high accuracy. The information processing device 100 can solve the SAT problem even if the number of available quantum bits is less than N+M+1.
[0121] (Specific example of operation of information processing device 100) Next, a specific example of the operation of the information processing device 100 will be described with reference to FIGS.
[0122] 9 and 10 are explanatory diagrams showing a specific example of the operation of the information processing device 100. In the examples of FIGS. 9 and 10, the information processing device 100 obtains a SAT problem including M=6 clauses for N=4 variables. The SAT problem is expressed, for example, by the logical formula: (x1∨x2)∧(x3∨x4)∧(|x1∨|x2)∧(|x3∨|x4)∧(|x1∨|x3)∧(|x2∨|x4). It is assumed that the number of quantum bits available to the information processing device 100 is N+k+1=7.
[0123] For this reason, it is assumed that the number of first auxiliary quantum bits available to the information processing device 100 is k=2. Since M / k=6 / 2=3, the information processing device 100 sets the number of divisions to d=3. Based on the number of divisions d=3, the information processing device 100 creates an oracle circuit in which three oracle partial circuits are connected. The information processing device 100 creates, for example, an oracle circuit 900 described later in FIG. 9 or an oracle circuit 1000 described later in FIG. 10. Now, we move on to the description of FIG. 9.
[0124] In Figure 9, horizontal line 901 corresponds to the quantum bit representing variable x1. Horizontal line 902 corresponds to the quantum bit representing variable x2. Horizontal line 903 corresponds to the quantum bit representing variable x3. Horizontal line 904 corresponds to the quantum bit representing variable x4. Horizontal lines 905 and 906 correspond to the first auxiliary quantum bit. Horizontal line 907 corresponds to the second auxiliary quantum bit.
[0125] The information processing device 100 assigns (x1 ∨ x2) ∧ (x3 ∨ x4) to group 1. The information processing device 100 assigns (→x1 ∨ x2) ∧ (→x3 ∨ x4) to group 2. The information processing device 100 assigns (→x1 ∨ x3) ∧ (→x2 ∨ x4) to group 3. The information processing device 100 creates an oracle partial circuit for each group.
[0126] The information processing device 100 creates an oracle partial circuit 910 corresponding to group 1. The oracle partial circuit 910 includes gates 911 to 919. Gates 911 to 915 invert the phase of the second ancillary quantum bit when (x1 ∨ x2) ∧ (x3 ∨ x4) is satisfied. Gates 916 to 919 restore the first ancillary quantum bit. In this way, the oracle partial circuit 910 inverts the phase of the second ancillary quantum bit when (x1 ∨ x2) ∧ (x3 ∨ x4) is satisfied.
[0127] The information processing device 100 creates an oracle partial circuit 920 corresponding to group 2. The oracle partial circuit 920 includes gates 921 to 929. Gates 921 to 925 invert the phase of the second ancillary quantum bit when (|x1 ∨ |x2) ∧ (|x3 ∨ |x4) is satisfied. Gates 926 to 929 restore the first ancillary quantum bit to its original state. In this way, the oracle partial circuit 920 inverts the phase of the second ancillary quantum bit when (|x1 ∨ |x2) ∧ (|x3 ∨ |x4) is satisfied.
[0128] The information processing device 100 creates an oracle partial circuit 930 corresponding to group 3. The oracle partial circuit 930 includes gates 931 to 939. Gates 931 to 935 invert the phase of the second ancillary quantum bit when (|x1 ∨ |x3) ∧ (|x2 ∨ |x4) is satisfied. Gates 936 to 939 restore the first ancillary quantum bit. In this way, the oracle partial circuit 930 inverts the phase of the second ancillary quantum bit when (|x1 ∨ |x3) ∧ (|x2 ∨ |x4) is satisfied.
[0129] The information processing device 100 creates an oracle circuit 900 by connecting oracle partial circuits 910, 920, and 930. Here, in the oracle circuit 900, gates 918, 919, 921, and 922 cancel each other out and may be deleted. Similarly, in the oracle circuit 900, gates 928, 929, 931, and 932 cancel each other out and may be deleted.
[0130] In the oracle circuit 900, if an odd number of conditions from among the conditions in Group 1, Group 2, and Group 3 are satisfied, the final phase of the second ancillary quantum bit will be inverted. The condition in Group 1 is (x1 ∨ x2) ∧ (x3 ∨ x4). The condition in Group 2 is (¬x1 ∨ ¬x2) ∧ (¬x3 ∨ ¬x4). The condition in Group 3 is (¬x1 ∨ ¬x3) ∧ (¬x2 ∨ ¬x4).
[0131] Therefore, when the information processing device 100 is executed in combination with the oracle circuit 900 and an amplifier circuit, it can at least amplify the probability of a quantum state that results in a correct solution. When the information processing device 100 is executed in combination with the oracle circuit 900 and an amplifier circuit, it may amplify the probability of a quantum state that results in an incorrect solution. Next, we will move on to the description of Figure 10.
[0132] In FIG. 10, horizontal line 1001 corresponds to a quantum bit representing variable x1. Horizontal line 1002 corresponds to a quantum bit representing variable x2. Horizontal line 1003 corresponds to a quantum bit representing variable x3. Horizontal line 1004 corresponds to a quantum bit representing variable x4. Horizontal lines 1005 and 1006 correspond to first auxiliary quantum bits. Horizontal line 1007 corresponds to a second auxiliary quantum bit.
[0133] The information processing device 100 assigns (x1 ∨ x2) ∧ (→x3 ∨ →x4) to group 1. The information processing device 100 assigns (→x1 ∨ →x3) ∧ (→x3 ∨ →x4) to group 2. The information processing device 100 assigns (→x1 ∨ →x2) ∧ (→x2 ∨ →x4) to group 3. The information processing device 100 creates an oracle partial circuit for each group.
[0134] The information processing device 100 creates an oracle subcircuit 1010 corresponding to group 1. The oracle subcircuit 1010 includes gates 1011 to 1019. Gates 1011 to 1015 invert the phase of the second ancillary quantum bit when (x1 ∨ x2) ∧ (→x3 ∨ →x4) is satisfied. Gates 1016 to 1019 restore the first ancillary quantum bit. In this way, the oracle subcircuit 1010 inverts the phase of the second ancillary quantum bit when (x1 ∨ x2) ∧ (→x3 ∨ →x4) is satisfied.
[0135] The information processing device 100 creates an oracle subcircuit 1020 corresponding to group 2. The oracle subcircuit 1020 includes gates 1021 to 1029. Gates 1021 to 1025 invert the phase of the second ancillary quantum bit when (|x1 ∨ |x3) ∧ (|x3 ∨ |x4) is satisfied. Gates 1026 to 1029 restore the first ancillary quantum bit. In this way, the oracle subcircuit 1020 inverts the phase of the second ancillary quantum bit when (|x1 ∨ |x3) ∧ (|x3 ∨ |x4) is satisfied.
[0136] The information processing device 100 creates an oracle subcircuit 1030 corresponding to group 3. The oracle subcircuit 1030 includes gates 1031 to 1039. Gates 1031 to 1035 invert the phase of the second ancillary quantum bit when (|x1 ∨ |x2) ∧ (|x2 ∨ |x4) is satisfied. Gates 1036 to 1039 restore the first ancillary quantum bit. In this way, the oracle subcircuit 1030 inverts the phase of the second ancillary quantum bit when (|x1 ∨ |x2) ∧ (|x2 ∨ |x4) is satisfied.
[0137] The information processing device 100 creates an oracle circuit 1000 by connecting oracle partial circuits 1010, 1020, and 1030. Here, in the oracle circuit 1000, gates 1018, 1019, 1021, and 1022 cancel each other out and may be deleted. Similarly, in the oracle circuit 1000, gates 1028, 1029, 1031, and 1032 cancel each other out and may be deleted.
[0138] In the oracle circuit 1000, if an odd number of conditions among the conditions in Group 1, Group 2, and Group 3 are satisfied, the final phase of the second ancillary quantum bit will be inverted. The condition in Group 1 is (x1 ∨ x2) ∧ (¬x3 ∨ ¬x4). The condition in Group 2 is (¬x1 ∨ ¬x3) ∧ (¬x3 ∨ ¬x4). The condition in Group 3 is (¬x1 ∨ ¬x2) ∧ (¬x2 ∨ ¬x4).
[0139] Therefore, when the information processing device 100 is executed in combination with the oracle circuit 1000 and an amplifier circuit, it can at least amplify the probability of a quantum state that results in a correct solution. When the information processing device 100 is executed in combination with the oracle circuit 1000 and an amplifier circuit, it may amplify the probability of a quantum state that results in an incorrect solution.
[0140] The information processing device 100, for example, executes a pair of an oracle circuit 900 and an amplifier circuit for the oracle circuit 900, and executes a pair of an oracle circuit 1000 and an amplifier circuit for the oracle circuit 1000, thereby calculating the probability of each quantum state. The information processing device 100 determines a candidate solution to the SAT problem based on the probability of each quantum state. The candidate solution is any combination (x1, x2, x3, x4) of values taken by each of the variables x1, x2, x3, and x4. Specifically, the information processing device 100 determines a combination corresponding to a quantum state whose probability is equal to or greater than a threshold as a candidate solution to the SAT problem.
[0141] Here, the information processing device 100 determines the combinations (x1, x2, x3, x4) = (1, 1, 1, 0), (1, 1, 0, 0), (1, 0, 1, 1), (1, 0, 0, 1), (0, 1, 1, 1), (0, 1, 1, 0) as solution candidates for the SAT problem. As a result, the information processing device 100 can appropriately narrow down the combinations (x1, x2, x3, x4) that will become solution candidates from among the 16 combinations (x1, x2, x3, x4). The information processing device 100 determines, from among the determined solution candidates, a solution candidate that satisfies all of the conditions expressed by each of the six nodes as the solution to the SAT problem. For example, the information processing device 100 determines the combination (x1, x2, x3, x4) = (1, 0, 0, 1), (0, 1, 1, 0) as the solution to the SAT problem.
[0142] This allows the information processing device 100 to appropriately determine a solution to a SAT problem while reducing the number of quantum bits used when solving the SAT problem. For example, in conventional technology, N+M+1 quantum bits are used when solving a SAT problem that includes M clauses for N variables. In contrast, the information processing device 100 can solve the SAT problem using only N+k+1 quantum bits, where M>k. The information processing device 100 can narrow down candidate solutions to the SAT problem, thereby reducing the processing time required to solve the SAT problem.
[0143] (Overall processing procedure) Next, an example of an overall processing procedure executed by the information processing device 100 will be described with reference to Fig. 11. The overall processing is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, and the network I / F 303 shown in Fig. 3.
[0144] 11 is a flowchart showing an example of an overall processing procedure. In FIG. 11, the information processing device 100 obtains a SAT problem including M clauses related to N variables (step S1101). Next, the information processing device 100 obtains the number k of first auxiliary qubits that can be used to express whether a condition is satisfied (step S1102). Then, based on M and k, the information processing device 100 sets a division number d that indicates how many groups the M clauses should be divided into (step S1103).
[0145] Next, the information processing device 100 randomly divides the M nodes into d groups based on the division number d (step S1104). Then, the information processing device 100 creates pairs of oracle circuits, each of which connects oracle subcircuits corresponding to each of the d groups, and amplifier circuits corresponding to the oracle circuits (step S1105). After that, the information processing device 100 uses a quantum simulator to execute the connected quantum circuit, which connects the created pairs, thereby updating the probability of the quantum state (step S1106).
[0146] Next, the information processing device 100 determines whether the probability of the quantum state has been updated a predetermined number of times (step S1107). If the probability has not been updated a predetermined number of times (step S1107: No), the information processing device 100 returns to the process of step S1104. On the other hand, if the probability has been updated a predetermined number of times (step S1107: Yes), the information processing device 100 proceeds to the process of step S1108.
[0147] In step S1108, the information processing device 100 calculates a solution to the SAT problem based on the updated probability of the quantum state (step S1108). Then, the information processing device 100 ends the entire process. This allows the information processing device 100 to accurately calculate a solution to the SAT problem while reducing the number of quantum bits used when calculating the solution to the SAT problem.
[0148] As described above, the information processing device 100 can obtain multiple clauses that express a satisfiability problem for multiple variables that take on values of 0 or 1, each of which expresses a condition satisfied by one or more of the multiple variables. The information processing device 100 can assign each of the multiple clauses to one or more odd-numbered groups based on the number of auxiliary quantum bits used to express whether or not a condition is satisfied. The information processing device 100 can create a quantum circuit that expresses all of the multiple clauses belonging to each of the assigned odd-numbered groups. The information processing device 100 can generate information that enables the solution to a SAT problem to be identified using an oracle circuit that connects the created quantum circuits and an amplifier circuit according to the Grover algorithm. This allows the information processing device 100 to reduce the number of quantum bits used to solve a SAT problem.
[0149] According to the information processing device 100, an odd number of groups that is equal to or greater than the value obtained by dividing the number of nodes in the plurality of nodes by the number of auxiliary quantum bits can be used. This allows the information processing device 100 to appropriately set the number of groups to which each node in the plurality of nodes is allocated.
[0150] According to the information processing device 100, each of the multiple clauses can be assigned to one or more groups among the odd number of groups so that at least one of the clauses is assigned to two or more groups among the odd number of groups. This allows the information processing device 100 to improve the accuracy of solving SAT problems.
[0151] According to the information processing device 100, each node can be assigned to one or more groups among the odd number of groups so that each node is not assigned to two or more groups among the odd number of groups. This allows the information processing device 100 to reduce the number of quantum bits used when solving the SAT problem.
[0152] The information processing device 100 can repeatedly assign each node to one or more of the odd number of groups. For each of the multiple assignments, the information processing device 100 can create a quantum circuit that expresses all of the nodes belonging to the group. For each of the multiple assignments, the information processing device 100 can create an oracle circuit and an amplifier circuit that connect the quantum circuits created in that assignment. The information processing device 100 can generate information that enables a solution to a SAT problem to be identified using each pair of the created oracle circuit and amplifier circuit. This allows the information processing device 100 to accurately generate information that enables a solution to a SAT problem to be identified.
[0153] The information processing device 100 can generate information that enables a solution to the SAT problem to be identified, including the probability of a quantum state that represents each of a plurality of combinations that can be formed by the values that each variable can take. This allows the information processing device 100 to enable a solution to the SAT problem to be identified.
[0154] The information processing device 100 can refer to information that enables identification of a solution to the SAT problem, and determine and output any combination of values that each variable takes, which corresponds to the quantum state with the highest probability, as a solution candidate for the SAT problem. This allows the information processing device 100 to accurately determine solution candidates for the SAT problem.
[0155] The information processing device 100 can refer to information that enables identification of a solution to the SAT problem, and determine and output any combination of values taken by each variable corresponding to a quantum state whose probability is equal to or greater than a threshold as a solution candidate for the SAT problem. This allows the information processing device 100 to accurately determine solution candidates for the SAT problem.
[0156] According to the information processing device 100, by referring to information that enables a solution to the SAT problem to be identified, if there is no combination of values that each variable takes that corresponds to a quantum state whose probability is equal to or greater than a threshold, it can be determined that no solution to the SAT problem exists. According to the information processing device 100, it is possible to generate and output a notification indicating that no solution to the SAT problem exists. This allows the information processing device 100 to accurately determine that no solution to the SAT problem exists.
[0157] According to the information processing device 100, if there is a solution candidate that satisfies all of the conditions expressed by each clause among the determined solution candidates for the SAT problem, the solution candidate that satisfies all of the conditions expressed by each clause can be determined as the solution to the SAT problem and output. According to the information processing device 100, if there is no solution candidate that satisfies all of the conditions expressed by each clause, it can generate and output a notification indicating that there is no solution to the SAT problem. This allows the information processing device 100 to accurately determine a solution to the SAT problem.
[0158] The information processing method described in this embodiment can be realized by executing a prepared program on a computer such as a PC or a workstation. The information processing program described in this embodiment is recorded on a computer-readable recording medium and executed by being read from the recording medium by the computer. The recording medium may be a hard disk, a flexible disk, a CD (Compact Disc)-ROM, an MO (Magneto Optical disc), a DVD (Digital Versatile Disc), or the like. The information processing program described in this embodiment may also be distributed via a network such as the Internet.
[0159] The following additional notes are provided regarding the above-described embodiment.
[0160] (Supplementary Note 1) Obtain a plurality of clauses that express a satisfiability problem regarding a plurality of variables that take the value of 0 or 1, each of which expresses a condition that any one or more of the plurality of variables must satisfy; a step of dividing the acquired plurality of nodes into an odd number of groups based on the number of auxiliary quantum bits used when expressing whether or not the condition is satisfied, wherein in the dividing step, each of the plurality of nodes is assigned to one or more groups among the odd number of groups such that the number of nodes belonging to each of the odd number of groups is equal to or less than the number of auxiliary quantum bits; For each of the divided odd-numbered groups, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each of the plurality of variables and the auxiliary quantum bits; generating information that enables a solution to the satisfiability problem to be identified by using an oracle circuit that connects the created quantum circuits according to the Grover algorithm and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that the respective variables take in accordance with the oracle circuit; An information processing program that causes a computer to execute a process.
[0161] (Supplementary Note 2) The information processing program according to Supplementary Note 1, wherein the odd number is equal to or greater than the value obtained by dividing the number of nodes in the plurality of nodes by the number of ancillary quantum bits.
[0162] (Appendix 3) The allocation process is An information processing program as described in Appendix 2, characterized in that each of the plurality of sections is assigned to one or more of the odd number of groups so that at least one of the sections is assigned to two or more of the odd number of groups in duplicate.
[0163] (Appendix 4) The allocation process is An information processing program as described in Appendix 2, characterized in that each of the nodes is assigned to one or more of the odd number of groups so as not to assign each node to two or more of the odd number of groups in duplicate.
[0164] (Appendix 5) The allocation process is Repeating the process of assigning each of the nodes to one or more of the odd number of groups multiple times; The creating process includes: For each of the plurality of times, for each of the odd number of groups into which the nodes are allocated to the respective times, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each variable of the plurality of variables and the auxiliary quantum bits; The generating process includes: 5. The information processing program according to claim 1, wherein for each of the plurality of times, an oracle circuit is created by connecting the quantum circuits created in that time, and an amplifier circuit is created that amplifies the probability of any quantum state that represents any combination of values that each of the variables takes according to the oracle circuit, and information that enables a solution to the satisfiability problem to be identified is generated using each pair of the created oracle circuit and amplifier circuit.
[0165] (Appendix 6) An information processing program according to Appendix 5, characterized in that the information enabling identification of a solution to the satisfiability problem includes probabilities of quantum states representing each of a plurality of combinations that can be formed by the values taken by each of the variables.
[0166] (Supplementary Note 7) With reference to information that enables a solution to the satisfiability problem to be identified, any combination of values that the variables take that corresponds to the quantum state with the highest probability is determined as a candidate solution to the satisfiability problem and output. 7. The information processing program according to claim 6, which causes the computer to execute processing.
[0167] (Supplementary Note 8) By referring to information that enables a solution to the satisfiability problem to be identified, any combination of values that the respective variables take, which corresponds to a quantum state whose probability is equal to or greater than a threshold, is determined as a solution candidate for the satisfiability problem and output. 7. The information processing program according to claim 6, which causes the computer to execute processing.
[0168] (Supplementary Note 9) By referring to information that enables a solution to the satisfiability problem to be identified, if there is no combination of values that the respective variables take that corresponds to a quantum state whose probability is equal to or greater than the threshold, a notification is generated and output indicating that there is no solution to the satisfiability problem. 9. The information processing program according to claim 8, which causes the computer to execute processing.
[0169] (Supplementary Note 10) If there is a candidate solution for the satisfiability problem that satisfies all of the conditions expressed by each of the clauses among the determined candidate solutions, the candidate solution that satisfies all of the conditions expressed by each of the clauses is determined as a solution for the satisfiability problem and output. If there is no candidate solution that satisfies all of the conditions expressed by each of the clauses, a notification is generated and output indicating that no solution for the satisfiability problem exists. 9. The information processing program according to claim 8, which causes the computer to execute processing.
[0170] (Appendix 11) Obtain a plurality of clauses that express a satisfiability problem regarding a plurality of variables that take the value of 0 or 1, each of which expresses a condition that any one or more variables among the plurality of variables must satisfy; a step of dividing the acquired plurality of nodes into an odd number of groups based on the number of auxiliary quantum bits used when expressing whether or not the condition is satisfied, wherein in the dividing step, each of the plurality of nodes is assigned to one or more groups among the odd number of groups such that the number of nodes belonging to each of the odd number of groups is equal to or less than the number of auxiliary quantum bits; For each of the divided odd-numbered groups, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each of the plurality of variables and the auxiliary quantum bits; generating information that enables a solution to the satisfiability problem to be identified by using an oracle circuit that connects the created quantum circuits according to the Grover algorithm and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that the respective variables take in accordance with the oracle circuit; An information processing method characterized in that the processing is executed by a computer.
[0171] (Appendix 12) Obtain a plurality of clauses that express a satisfiability problem regarding a plurality of variables that take the value of 0 or 1, each of which expresses a condition that any one or more variables among the plurality of variables must satisfy; a step of dividing the acquired plurality of nodes into an odd number of groups based on the number of auxiliary quantum bits used when expressing whether or not the condition is satisfied, wherein in the dividing step, each of the plurality of nodes is assigned to one or more groups among the odd number of groups such that the number of nodes belonging to each of the odd number of groups is equal to or less than the number of auxiliary quantum bits; For each of the divided odd-numbered groups, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each of the plurality of variables and the auxiliary quantum bits; generating information that enables a solution to the satisfiability problem to be identified by using an oracle circuit that connects the created quantum circuits according to the Grover algorithm and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that the respective variables take in accordance with the oracle circuit; An information processing device comprising a control unit. [Explanation of symbols]
[0172] 100 Information processing device 110,600 SAT questions 120~123 Group 130~133 Quantum circuit 140,700,900,1000 Oracle Circuit 150 Amplifier Circuit 160 Information 200 Information Processing Systems 201 Computing equipment 202 Client device 210,220 Network 300,400 buses 301,401 CPU 302,402 memory 303,403 Network I / F 304,404 Recording media I / F 305,405 Recording media 406 Calculation chassis I / F 407 Computing Case 500 storage section 501 Acquisition Department 502 Settings 503 Sorting section 504 Creation Department 505 Executive Department 506 Solving section 507 Output section 510 Quantum Simulator 701~703,910,920,930,1010,1020,1030 Oracle subcircuit 800,810,820,830 graph 801,811~813,821~823,831~833 code 901~907,1001~1007 horizontal lines 911~919, 921~929, 931~939, 1011~1019, 1021~1029, 1031~1039 Gates
Claims
1. obtaining a plurality of clauses that express a satisfiability problem regarding a plurality of variables that take values of 0 or 1, each of which expresses a condition that any one or more of the plurality of variables must satisfy; a step of dividing the acquired plurality of nodes into an odd number of groups based on the number of auxiliary quantum bits used when expressing whether or not the condition is satisfied, wherein in the dividing step, each of the plurality of nodes is assigned to one or more of the odd number of groups such that the number of nodes belonging to each of the odd number of groups is equal to or less than the number of auxiliary quantum bits; For each of the divided odd-numbered groups, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each of the plurality of variables and the auxiliary quantum bits; generating information that enables a solution to the satisfiability problem to be identified by using an oracle circuit that connects the created quantum circuits according to the Grover algorithm and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that the respective variables take in accordance with the oracle circuit; An information processing program that causes a computer to execute a process.
2. 2. The information processing program according to claim 1, wherein the odd number is equal to or greater than a value obtained by dividing the number of nodes in the plurality of nodes by the number of ancillary quantum bits.
3. The allocation process includes: The information processing program according to claim 2, characterized in that each of the plurality of sections is assigned to one or more of the odd number of groups so that at least one of the sections is assigned to two or more of the odd number of groups in duplicate.
4. The allocation process includes:
3. The information processing program according to claim 2, wherein each of the nodes is assigned to one or more of the odd number of groups so as not to assign each of the nodes to two or more of the odd number of groups in duplicate.
5. The allocation process includes: Repeating the process of assigning each of the nodes to one or more of the odd number of groups a plurality of times; The creating process includes: For each of the plurality of times, for each of the odd number of groups into which the nodes are allocated to the respective times, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each variable of the plurality of variables and the auxiliary quantum bits; The generating process includes: the information processing program according to any one of claims 1 to 4, further comprising: for each of the plurality of times, creating an oracle circuit that connects the quantum circuits created in that time; and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that each of the variables takes in accordance with the oracle circuit; and generating information that enables a solution to the satisfiability problem to be identified by using each pair of the created oracle circuit and amplifier circuit.
6. 6. The information processing program according to claim 5, wherein the information that enables identification of a solution to the satisfiability problem includes a probability of a quantum state that represents each of a plurality of combinations that can be formed by values that each of the variables can take.
7. determining, as a candidate solution to the satisfiability problem, any combination of values taken by the variables corresponding to a quantum state whose probability is equal to or greater than a threshold, by referring to information that enables identification of a solution to the satisfiability problem, and outputting the combination; 7. The information processing program according to claim 6, wherein the information processing program causes the computer to execute processing.
8. If there is a solution candidate that satisfies all of the conditions expressed by each of the clauses among the determined solution candidates for the satisfiability problem, determine and output the solution candidate that satisfies all of the conditions expressed by each of the clauses as a solution to the satisfiability problem, and if there is no solution candidate that satisfies all of the conditions expressed by each of the clauses, generate and output a notification indicating that there is no solution to the satisfiability problem.
8. The information processing program according to claim 7, which causes the computer to execute processing.
9. obtaining a plurality of clauses that express a satisfiability problem regarding a plurality of variables that take values of 0 or 1, each of which expresses a condition that any one or more of the plurality of variables must satisfy; a step of dividing the acquired plurality of nodes into an odd number of groups based on the number of auxiliary quantum bits used when expressing whether or not the condition is satisfied, wherein in the dividing step, each of the plurality of nodes is assigned to one or more of the odd number of groups such that the number of nodes belonging to each of the odd number of groups is equal to or less than the number of auxiliary quantum bits; For each of the divided odd-numbered groups, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each of the plurality of variables and the auxiliary quantum bits; generating information that enables a solution to the satisfiability problem to be identified by using an oracle circuit that connects the created quantum circuits according to the Grover algorithm and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that the respective variables take in accordance with the oracle circuit; An information processing method characterized in that the processing is executed by a computer.
10. obtaining a plurality of clauses that express a satisfiability problem regarding a plurality of variables that take values of 0 or 1, each of which expresses a condition that any one or more of the plurality of variables must satisfy; a step of dividing the acquired plurality of nodes into an odd number of groups based on the number of auxiliary quantum bits used when expressing whether or not the condition is satisfied, wherein in the dividing step, each of the plurality of nodes is assigned to one or more of the odd number of groups such that the number of nodes belonging to each of the odd number of groups is equal to or less than the number of auxiliary quantum bits; For each of the divided odd-numbered groups, a quantum circuit is created that expresses all of the nodes belonging to the group among the plurality of nodes using quantum bits corresponding to each of the plurality of variables and the auxiliary quantum bits; generating information that enables a solution to the satisfiability problem to be identified by using an oracle circuit that connects the created quantum circuits according to the Grover algorithm and an amplifier circuit that amplifies the probability of any quantum state that represents any combination of values that the respective variables take in accordance with the oracle circuit; An information processing device comprising a control unit.
Citation Information
Patent Citations
Method for image calculation, method for pre-image calculation and method for pruning
JP2001312530A
Test data generation program, test data generation method, and test data generation device
JP2013012082A
Efficient distributed SAT and SAT-based distributed bounded model checking
US20040210860A1
Reversible pebbling game for quantum memory management
US20200202250A1