WO2024257210A1 - 情報処理プログラム、情報処理方法、および情報処理装置 - Google Patents

情報処理プログラム、情報処理方法、および情報処理装置 Download PDF

Info

Publication number
WO2024257210A1
WO2024257210A1 PCT/JP2023/021881 JP2023021881W WO2024257210A1 WO 2024257210 A1 WO2024257210 A1 WO 2024257210A1 JP 2023021881 W JP2023021881 W JP 2023021881W WO 2024257210 A1 WO2024257210 A1 WO 2024257210A1
Authority
WO
WIPO (PCT)
Prior art keywords
information processing
quantum
processing device
solution
optimization problem
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2023/021881
Other languages
English (en)
French (fr)
Inventor
宇 ▲劉▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to PCT/JP2023/021881 priority Critical patent/WO2024257210A1/ja
Priority to JP2025526951A priority patent/JPWO2024257210A1/ja
Publication of WO2024257210A1 publication Critical patent/WO2024257210A1/ja
Priority to US19/381,035 priority patent/US20260064800A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/60Quantum algorithms, e.g. based on quantum optimisation, quantum Fourier or Hadamard transforms
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to an information processing program, an information processing method, and an information processing device.
  • combinatorial optimization problems are solved by repeating a series of processes that identify the quantum state of a quantum circuit, identify the energy that corresponds to the identified quantum state, and change the parameters of the quantum circuit based on the identified energy.
  • an AI (Artificial Intelligence) control unit determines one or more adjustable parameters corresponding to a calculation.
  • the present technique includes a technique for mapping a cost function associated with a combinatorial optimization problem to an optimization problem on allowed quantum states.
  • the present invention aims to make combinatorial optimization problems easier to solve.
  • an information processing program, an information processing method, and an information processing device are proposed that calculate a first solution to a combinatorial optimization problem based on an Ising model corresponding to the combinatorial optimization problem, determine parameter values of the quantum approximation optimization algorithm so as to maximize the probability that the quantum state of a quantum circuit of a quantum approximation optimization algorithm corresponding to the combinatorial optimization problem will become the calculated first solution, and calculate a second solution to the combinatorial optimization problem based on the quantum circuit of the quantum approximation optimization algorithm in which the determined parameter values are set.
  • FIG. 1 is a diagram illustrating an example of an information processing method according to an embodiment.
  • FIG. 2 is an explanatory diagram illustrating an example of an information processing system 200.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100.
  • FIG. 4 is a block diagram showing an example of the functional configuration of the information processing device 100.
  • FIG. 5 is an explanatory diagram (part 1) showing an example of the operation of the information processing device 100.
  • FIG. 6 is an explanatory diagram (part 2) showing an example of the operation of the information processing device 100.
  • FIG. 7 is an explanatory diagram (part 3) showing an example of the operation of the information processing device 100.
  • FIG. 8 is an explanatory diagram (part 4) showing an example of the operation of the information processing device 100.
  • FIG. 9 is a flowchart illustrating an example of an overall processing procedure.
  • FIG. 10 is a flowchart illustrating an example of a procedure of the first determination process.
  • FIG. 11 is
  • the information processing device 100 is a computer for solving a combinatorial optimization problem.
  • the information processing device 100 is, for example, a server or a PC (Personal Computer).
  • a combinatorial optimization problem is a problem of finding a solution for a combination of variables that optimizes the value of an objective function under constraint conditions.
  • Conventional methods for solving combinatorial optimization problems include, for example, the Simulated Annealing (SA) method or a quantum approximation optimization algorithm.
  • SA Simulated Annealing
  • quantum approximation optimization algorithm may be referred to as "QAOA (Quantum Approximate Optimization Algorithm)."
  • the SA method is a method for solving combinatorial optimization problems by repeatedly searching for solutions to combinations of variables while adjusting the range in which solutions for combinations of variables are searched, for example, by using thermal noise.
  • QAOA is a method for solving combinatorial optimization problems by using quantum circuits that represent quantum states corresponding to combinations of variables.
  • the SA method is also known as simulated annealing, for example.
  • QAOA specifically solves combinatorial optimization problems by repeating a series of processes: "identify the quantum state of a quantum circuit, identify the energy corresponding to the identified quantum state, and change the parameters of the quantum circuit based on the identified energy.” Specifically, QAOA uses the Grid method, BFGS method, quadratic approximation method, Powell's method, Bayesian estimation, or the like when changing the parameters of a quantum circuit.
  • the energy and the parameters of the quantum circuit may have a non-convex relationship, which tends to increase the time required to appropriately change the parameters, making it difficult to find optimal parameters.
  • the information processing device 100 acquires a combinatorial optimization problem.
  • z is, for example, a state, and represents a combination of variables.
  • E is, for example, energy.
  • the information processing device 100 sets, for example, a quantum circuit 130 of a QAOA corresponding to the combinatorial optimization problem, which represents a quantum state corresponding to the state z.
  • the quantum state for example, probabilistically represents each value that the state z can take.
  • the information processing device 100 calculates a first solution 101 to the combinatorial optimization problem based on an Ising model 110 corresponding to the acquired combinatorial optimization problem.
  • the information processing device 100 uses an Ising machine of a digital annealer to calculate a state z0 that is the first solution 101 to the combinatorial optimization problem based on the Ising model 110 of the digital annealer and a set initial value.
  • the initial value is, for example, set in advance by a user.
  • the initial value is, for example, the value of the state z.
  • the information processing device 100 determines the values of the parameters 120 of the quantum circuit 130 so as to maximize the probability that the quantum state of the set quantum circuit 130 will be the calculated first solution 101.
  • the information processing device 100 calculates a second solution 102 to the combinatorial optimization problem based on the quantum circuit 130 to which the determined parameter 120 values are set.
  • the information processing device 100 uses, for example, a QPU (Quantum Processing Unit) to perform n-shot sampling of the quantum state and calculates a state z1 that is the second solution 102. Specifically, the information processing device 100 repeats n times the Z-direction projection measurement of the quantum state represented by the quantum circuit 130 to which the determined values of the parameters 120 are set to obtain a state z, and calculates a state z1 that is the second solution 102 based on the distribution of the obtained states z.
  • QPU Quantum Processing Unit
  • the information processing device 100 can appropriately set the parameters 120 of the quantum circuit 130 based on the first solution 101 calculated using the Ising model 110, and can reduce the time required to perform QAOA.
  • the information processing device 100 can obtain a state z1 that is relatively close to the optimal solution and is a preferable solution.
  • the information processing device 100 may set the calculated state z 1 as a new initial value, and repeat the series of processes shown in (1-1) and (1-2) until a convergence condition is satisfied.
  • the convergence condition is, for example, that the series of processes is performed a predetermined number of times. This allows the information processing device 100 to solve the combinatorial optimization problem with high accuracy.
  • the information processing device 100 can obtain a state z 1 that is closer to the optimal solution and is a preferable solution.
  • the information processing device 100 is a single computer has been described, but this is not limiting.
  • the functions of the information processing device 100 may be realized by multiple computers.
  • the functions of the information processing device 100 may be realized on the cloud.
  • the information processing device 100 may control another computer having an Ising machine to calculate a first solution 101 of a combinatorial optimization problem, and may obtain the first solution 101.
  • the information processing device 100 may control another computer having a QPU to calculate a second solution 102 of the combinatorial optimization problem, and may obtain the second solution 102.
  • FIG. 2 is an explanatory diagram showing an example of an information processing system 200.
  • the information processing system 200 includes an information processing device 100 and a client device 201.
  • the network 210 is, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, etc.
  • the information processing device 100 is a computer for solving combinatorial optimization problems.
  • the information processing device 100 receives, for example, information indicating a combinatorial optimization problem from the client device 201.
  • the information processing device 100 identifies the combinatorial optimization problem, for example, based on the received information.
  • the information processing device 100 identifies, for example, a quantum circuit of a QAOA that corresponds to the identified combinatorial optimization problem.
  • the information processing device 100 sets, for example, an initial value of an Ising model that corresponds to the combinatorial optimization problem.
  • the information processing device 100 calculates a first solution to the combinatorial optimization problem, for example, based on the set initial values and an Ising model corresponding to the combinatorial optimization problem.
  • the information processing device 100 determines parameter values of the identified quantum circuit so as to maximize the probability that the quantum state of the identified quantum circuit will be the calculated first solution.
  • the information processing device 100 calculates a second solution to the combinatorial optimization problem, for example, based on the quantum circuit to which the determined parameter values are set.
  • the information processing device 100 sets the calculated second solution as a new initial value for the Ising model, and repeats the series of processes shown in (2-2) until the convergence condition is satisfied.
  • the convergence condition is, for example, that the series of processes has been performed a predetermined number of times.
  • the information processing device 100 sets the last calculated second solution as the solution to the combinatorial optimization problem.
  • the information processing device 100 transmits the solution to the combinatorial optimization problem to the client device 201.
  • the information processing device 100 is, for example, a server or a PC.
  • the client device 201 is a computer used by a worker requesting to solve a combinatorial optimization problem.
  • the client device 201 generates information indicative of the combinatorial optimization problem based on, for example, operational input by the worker, and transmits it to the information processing device 100.
  • the information indicative of the combinatorial optimization problem includes, for example, an objective function of the combinatorial optimization problem.
  • the information indicative of the combinatorial optimization problem may include, for example, constraints of the combinatorial optimization problem.
  • the client device 201 receives a solution to the combinatorial optimization problem from the information processing device 100.
  • the client device 201 outputs the solution to the combinatorial optimization problem so that the worker can refer to it.
  • the client device 201 is, for example, a PC, a tablet terminal, or a smartphone.
  • the information processing device 100 is a computer different from the client device 201 has been described, but this is not limited to the case.
  • the information processing device 100 may have the functions of the client device 201 and may also operate as the client device 201.
  • FIG. 3 is a block diagram showing an example of the hardware configuration of the information processing device 100.
  • 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.
  • the information processing device 100 also has an Ising machine 306 and a QPU 307. Furthermore, each component is connected to each other via a bus 300.
  • CPU 301 is responsible for the overall control of information processing device 100.
  • Memory 302 includes, for example, ROM (Read Only Memory), RAM (Random Access Memory), and flash ROM. Specifically, for example, flash ROM and ROM store 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 the coded processes.
  • Network I/F 303 is connected to network 210 via a communication line, and is connected to other computers via network 210.
  • Network I/F 303 manages the internal interface with network 210, and controls the input and output of data from other computers.
  • Network I/F 303 is, for example, a modem or a LAN adapter.
  • the recording medium I/F 304 controls the reading/writing of data from/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, a USB memory, or the like.
  • the recording medium 305 may be detachable from the information processing device 100.
  • the Ising machine 306 is a computing device that has an Ising model and uses the Ising model to execute a digital annealer to solve a combinatorial optimization problem.
  • the QPU 307 is a computing device that executes quantum operations defined in a quantum circuit. The QPU 307 solves a combinatorial optimization problem, for example, by executing QAOA.
  • the information processing device 100 may also have, for example, a keyboard, a mouse, a display, a printer, a scanner, a microphone, and a speaker.
  • the information processing device 100 may also have multiple recording medium I/Fs 304 and recording media 305.
  • the information processing device 100 may not also have recording medium I/Fs 304 and recording media 305.
  • Example of Hardware Configuration of Client Device 201 Specifically, an example of the hardware configuration of the client device 201 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.
  • FIG. 4 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 400, an acquisition unit 401, a first calculation unit 402, a determination unit 403, a second calculation unit 404, and an output unit 405.
  • the storage unit 400 is realized, for example, by a storage area such as the memory 302 or recording medium 305 shown in FIG. 3. Below, a case where the storage unit 400 is included in the information processing device 100 will be described, but this is not limited to the case.
  • the storage unit 400 may be included in a device different from the information processing device 100, and the stored contents of the storage unit 400 may be accessible from the information processing device 100.
  • the acquisition unit 401 to the output unit 405 function as an example of a control unit. Specifically, the acquisition unit 401 to the output unit 405 realize their functions by, for example, having the CPU 301 execute a program stored in a storage area such as the memory 302 or recording medium 305 shown in FIG. 3, or by the network I/F 303. The processing results of each functional unit are stored in, for example, a storage area such as the memory 302 or recording medium 305 shown in FIG. 3.
  • the storage unit 400 stores various information that is referenced or updated during processing by each functional unit.
  • the storage unit 400 stores, for example, information that indicates a combinatorial optimization problem.
  • the information that indicates a combinatorial optimization problem includes, for example, an objective function of the combinatorial optimization problem.
  • the information that indicates a combinatorial optimization problem may include, for example, constraints of the combinatorial optimization problem.
  • the information that indicates a combinatorial optimization problem is acquired, for example, by the acquisition unit 401.
  • the information that indicates a combinatorial optimization problem may be set in advance by a user, for example.
  • the storage unit 400 stores, for example, an Ising model corresponding to a combinatorial optimization problem.
  • the Ising model is acquired, for example, by the acquisition unit 401.
  • the Ising model may be set, for example, in advance by a user.
  • the storage unit 400 stores, for example, initial values of the Ising model.
  • the initial values correspond to candidate solutions to the combinatorial optimization problem.
  • the initial values are acquired, for example, by the acquisition unit 401.
  • the initial values may be set, for example, in advance by a user.
  • the storage unit 400 stores, for example, a quantum circuit of a QAOA corresponding to a combinatorial optimization problem.
  • the quantum circuit of the QAOA represents a procedure of quantum operations.
  • the quantum circuit of the QAOA has a function of outputting a quantum state corresponding to a solution of the combinatorial optimization problem.
  • the quantum circuit of the QAOA is acquired, for example, by the acquisition unit 401.
  • the quantum circuit of the QAOA may be set in advance by a user, for example.
  • the acquisition unit 401 acquires various information used for processing by each functional unit.
  • the acquisition unit 401 stores the acquired various information in the storage unit 400 or outputs it to each functional unit.
  • the acquisition unit 401 may also output the various information stored in the storage unit 400 to each functional unit.
  • the acquisition unit 401 acquires various information based on, for example, a user's operational input.
  • the acquisition unit 401 may receive various information from, for example, a device other than the information processing device 100.
  • the acquisition unit 401 acquires, for example, a processing request requesting the solving of a combinatorial optimization problem.
  • the processing request may include information indicating the combinatorial optimization problem, an Ising model, an initial value of the Ising model, and a quantum circuit of the QAOA.
  • the acquisition unit 401 acquires the quantum circuit of the QAOA by accepting an input of the quantum circuit of the QAOA based on an operational input by a user.
  • the acquisition unit 401 may receive the quantum circuit of the QAOA from another computer.
  • the other computer is, for example, the client device 201.
  • the acquisition unit 401 acquires information indicating a combinatorial optimization problem. Specifically, the acquisition unit 401 acquires the information indicating the combinatorial optimization problem by accepting input of the information indicating the combinatorial optimization problem based on operational input from a user. Specifically, the acquisition unit 401 may receive the information indicating the combinatorial optimization problem from another computer. Specifically, the other computer is the client device 201. Specifically, the acquisition unit 401 may acquire the information indicating the combinatorial optimization problem by extracting it from a processing request.
  • the acquisition unit 401 acquires an Ising model. Specifically, the acquisition unit 401 acquires the Ising model by accepting input of the Ising model based on an operational input from a user. Specifically, the acquisition unit 401 may receive the Ising model from another computer. The other computer is, for example, the client device 201. Specifically, the acquisition unit 401 may acquire the Ising model by extracting it from a processing request.
  • the acquisition unit 401 acquires the initial value of the Ising model. Specifically, the acquisition unit 401 acquires the initial value of the Ising model by accepting input of the initial value of the Ising model based on an operational input from a user. Specifically, the acquisition unit 401 may receive the initial value of the Ising model from another computer. The other computer is, for example, the client device 201. Specifically, the acquisition unit 401 may acquire the initial value of the Ising model by extracting it from a processing request.
  • the acquisition unit 401 acquires the quantum circuit of the QAOA. Specifically, the acquisition unit 401 acquires the quantum circuit of the QAOA by accepting input of the quantum circuit of the QAOA based on the user's operational input. Specifically, the acquisition unit 401 may receive the quantum circuit of the QAOA from another computer. The other computer is, for example, the client device 201. Specifically, the acquisition unit 401 may acquire the quantum circuit of the QAOA by extracting it from a processing request.
  • the acquisition unit 401 may receive a start trigger to start processing of any of the functional units.
  • the start trigger may be, for example, a predetermined operational input by a user.
  • the start trigger may be, for example, the receipt of predetermined information from another computer.
  • the start trigger may be, for example, the output of predetermined information by any of the functional units.
  • the acquisition unit 401 receives, for example, the acquisition of a processing request as a start trigger to start processing by the first calculation unit 402, the determination unit 403, and the second calculation unit 404.
  • the first calculation unit 402 calculates a first solution to the combinatorial optimization problem based on the Ising model. For example, in response to the acquisition unit 401 acquiring a processing request, the first calculation unit 402 calculates a first solution to the combinatorial optimization problem based on set initial values and the Ising model. This allows the first calculation unit 402 to obtain a guideline for determining the parameters of the QAOA, making it easier to determine the parameters of the QAOA.
  • the first calculation unit 402 sets the second solution to an initial value each time the second calculation unit 404 calculates the second solution.
  • the first calculation unit 402 for example, calculates a new first solution to the combinatorial optimization problem based on the set initial value and the Ising model each time the second calculation unit 404 calculates the second solution. This allows the first calculation unit 402 to obtain a guideline for determining the parameters of the QAOA, making it easier to determine the parameters of the QAOA.
  • the first calculation unit 402 corresponds to, for example, the Ising machine 306.
  • the determination unit 403 determines the values of the parameters of the QAOA so as to maximize the probability that the quantum state of the quantum circuit of the QAOA will be the first solution calculated by the first calculation unit 402. For example, each time the first calculation unit 402 calculates a first solution, the determination unit 403 determines the values of the parameters of the QAOA so as to maximize the probability that the quantum state of the quantum circuit of the QAOA will be the first solution. This allows the determination unit 403 to appropriately determine the parameters of the QAOA, making it easier to calculate a second solution to the combinatorial optimization problem based on the quantum circuit of the QAOA.
  • the second calculation unit 404 calculates a second solution to the combinatorial optimization problem based on the quantum circuit of the QAOA in which the parameter values determined by the determination unit 403 are set. For example, each time the second calculation unit 404 determines a parameter value in the determination unit 403, the second calculation unit 404 sets the parameter value in the quantum circuit of the QAOA. The second calculation unit 404 calculates a second solution to the combinatorial optimization problem based on, for example, the quantum circuit of the QAOA in which the parameter values are set. This allows the second calculation unit 404 to calculate an appropriate solution to the combinatorial optimization problem.
  • the second calculation unit 404 corresponds to the QPU 307.
  • the information processing device 100 repeatedly executes a series of processes by the first calculation unit 402, the decision unit 403, and the second calculation unit 404 until a predetermined condition is satisfied.
  • the predetermined condition is, for example, calculating the series of processes a predetermined number of times. This enables the information processing device 100 to bring the second solution calculated by the second calculation unit 404 closer to the optimal solution of the combinatorial optimization problem.
  • the output unit 405 outputs the processing results of at least one of the functional units.
  • the output format is, for example, display on a display, printout on 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 recording medium 305. In this way, the output unit 405 can notify the user of the processing results of at least one of the functional units, thereby improving the convenience of the information processing device 100.
  • the output unit 405 outputs the second solution calculated by the second calculation unit 404.
  • the output unit 405 outputs, for example, the second solution last calculated by the second calculation unit 404.
  • the output unit 405 outputs the second solution last calculated by the second calculation unit 404 so that it can be referenced by a user.
  • the output unit 405 may transmit the second solution last calculated by the second calculation unit 404 to another computer. In this way, the output unit 405 can make the solution to the combinatorial optimization problem available externally.
  • the information processing device 100 includes the first calculation unit 402 and the second calculation unit 404, but this is not limiting.
  • the information processing device 100 may use the first calculation unit 402 by communicating with another computer having the first calculation unit 402.
  • the information processing device 100 may use the second calculation unit 404 by communicating with another computer having the second calculation unit 404.
  • FIGS. 5 to 8 are explanatory diagrams showing an example of the operation of the information processing device 100.
  • E is energy.
  • z is a state.
  • the information processing device 100 has an initial value for the Ising model.
  • the initial value is, for example, the value of the state z.
  • the information processing device 100 sets a QAOA quantum circuit 600 that corresponds to the combinatorial optimization problem. Now, moving on to the explanation of FIG. 6, an example of a QAOA quantum circuit 600 will be described.
  • Figure 6 shows an example of a QAOA quantum circuit 600.
  • the QAOA quantum circuit 600 includes a Hadamard gate 601 that represents an operation on the state of each of the n quantum bits, and a QAOA Ansatz 610 that represents an operation on the state of the n quantum bits.
  • n is the number of quantum bits.
  • QAOA Ansatz 610 represents gates 611 to 614. Gates 611 and 613 represent, for example, phase separation operators. Gates 612 and 614 represent, for example, mixing operators. QAOA Ansatz 610 is defined by hyperparameters ( ⁇ , ⁇ ). In the example of FIG. 6, the level of QAOA Anthesis 610 is 2.
  • the information processing device 100 calculates a state z0 that is a solution to C(z) based on an Ising model and an initial value using the Ising machine 306.
  • the information processing device 100 calculates a state z0 that is a solution to C(z) based on an Ising model and an initial value using the Ising machine 306 in accordance with, for example, a digital annealer.
  • the information processing device 100 determines the hyperparameters ( ⁇ * , ⁇ *) so as to maximize the probability that the quantum state
  • the information processing device 100 determines the hyperparameters ( ⁇ * , ⁇ * ) so as to maximize the probability that the quantum state
  • Fig. 7 shows an example of determining hyperparameters ( ⁇ * , ⁇ * ).
  • the information processing device 100 applies a superposition state
  • s> is defined by, for example, the following formula (1).
  • the information processing device 100 uses the QPU 307 to multiply n quantum bits by Uc ( ⁇ 1 ) Ux ( ⁇ 1 )... Uc ( ⁇ p ) Ux ( ⁇ p) according to p ( ⁇ i , ⁇ i ), thereby identifying a quantum state
  • ⁇ ( ⁇ , ⁇ )>, where i 1, 2,..., p.
  • ⁇ ( ⁇ , ⁇ )> ⁇ ( ⁇ , ⁇ )
  • the information processing device 100 determines hyperparameters ( ⁇ * , ⁇ * ) so that the measured probability p z0 ( ⁇ , ⁇ ) is maximized by the CPU 301.
  • the information processing device 100 sets an objective function that maximizes the probability p z0 ( ⁇ , ⁇ ) by using, for example, the Grid method, the BFGS method, the quadratic approximation method, the Powell method, or Bayesian estimation, and calculates the hyperparameters ( ⁇ * , ⁇ * ).
  • the information processing device 100 repeatedly determines the hyperparameters ( ⁇ * , ⁇ * ) as described above using the CPU 301.
  • the information processing device 100 calculates the hyperparameters ( ⁇ * , ⁇ * ) a predetermined number of times using the CPU 301, the information processing device 100 statistically determines the hyperparameters ( ⁇ * , ⁇ * ).
  • the predetermined number of times is, for example, set in advance.
  • the predetermined number of times is, for example, a first number.
  • the information processing device 100 performs n-shot sampling of the quantum state
  • FIG. 6 shows an example of determining an optimal classical state z 1 * .
  • the information processing device 100 applies a superposition state
  • the information processing device 100 specifies a quantum state
  • the information processing device 100 performs n-shot sampling of the quantum state
  • the information processing device 100 uses the QPU 307 to repeatedly perform Z-direction projection measurement of the quantum state
  • the information processing device 100 determines a classical state z1 * that is a provisional solution of a combinatorial optimization problem based on n classical states z1 by the CPU 301.
  • the information processing device 100 determines whether min( E1 ) ⁇ min( E0 , E1 * ) by the CPU 301.
  • the information processing device 100 determines z1 * to be argmin( E1 ) by the CPU 301.
  • the information processing device 100 determines z1 * based on E1 and Hamming Distance by the CPU 301.
  • the information processing device 100 determines, by the CPU 301, whether or not a termination condition is satisfied.
  • the termination condition is, for example, that the series of processes (5-1) to (5-3) have been performed a predetermined number of times.
  • the predetermined number of times is, for example, set in advance.
  • the predetermined number of times is, for example, a second number.
  • the second number may be the same as the first number.
  • the termination condition may be defined, for example, by a threshold value for the energy E or the state z.
  • the information processing device 100 causes the CPU 301 to set the currently determined optimal classical state z 1 * as the initial value of the Ising machine 306, and executes the series of processes (5-1) to (5-3) again.
  • the information processing device 100 outputs min(C( z0 ), C( z1 * )) and argmin(C(z)).
  • argmin(C(z)) is, for example, z0 or z1 * . This allows the information processing device 100 to accurately calculate argmin(C(z)), which is the solution to the combinatorial optimization problem.
  • the information processing device 100 can reduce the time required to calculate the solution to the combinatorial optimization problem.
  • FIG. 8 shows the effect of the information processing device 100.
  • Graph 800 in FIG. 8 represents the distribution of the probability that a quantum state represents a classical state z that takes on each value of energy E initially.
  • the distribution of the probability that a quantum state represents a classical state z that takes on each value of energy E initially is uniform.
  • the information processing device 100 determines the hyperparameters ( ⁇ , ⁇ ) for the combinatorial optimization problem prior to QAOA in accordance with the calculation results of the Ising machine 306 so as to increase the probability that the quantum state represents a classical state z that takes a value around Emin.
  • Graph 810 in FIG. 8 represents the distribution of the probability that the quantum state represents a classical state z that takes each value of energy E after the hyperparameters ( ⁇ , ⁇ ) are determined. As shown in graph 810 in FIG. 8, the probability that the quantum state represents a classical state z that takes a value around Emin increases. This enables the information processing device 100 to improve the efficiency of searching for an optimal solution through QAOA.
  • the information processing device 100 increases the probability that the quantum state represents a classical state z that takes a value around Emin, and then calculates a solution to the combinatorial optimization problem by QAOA.
  • Graph 820 in FIG. 8 represents the distribution of probabilities that the quantum state represents a classical state z that takes each value of energy E when a solution to the combinatorial optimization problem is calculated by QAOA. As shown in graph 820 in FIG. 8, there is an increased probability that the quantum state represents a classical state z that takes a value in a narrow range around Emin that is closer to Emin.
  • the information processing device 100 can use QAOA to efficiently and accurately bring the solution to the combinatorial optimization problem closer to the optimal solution.
  • the information processing device 100 can use QAOA to take into account all states represented by quantum states that can be solutions to the combinatorial optimization problem, and can accurately calculate the solution to the combinatorial optimization problem. Therefore, the information processing device 100 can use QAOA to reduce the time required to calculate the solution to the combinatorial optimization problem.
  • the information processing device 100 uses the QPU 307 to determine the hyperparameters ( ⁇ * , ⁇ * ) and to determine the optimal classical state z 1 * has been described, but is not limited to this.
  • the information processing device 100 may have a quantum computer simulator.
  • the information processing device 100 uses the quantum computer simulator to determine the hyperparameters ( ⁇ * , ⁇ * ) and to determine the optimal classical state z 1 * .
  • the information processing device 100 can be applied, for example, to solving a combinatorial optimization problem of searching for a moving path for a moving object.
  • the information processing device 100 can be applied, for example, to solving a combinatorial optimization problem of creating an employee work schedule.
  • the information processing device 100 can be applied, for example, to solving a combinatorial optimization problem of creating a manufacturing plan for a product.
  • the overall processing is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, the network I/F 303, the Ising machine 306, and the QPU 307 shown in Fig. 3.
  • step S902 the information processing device 100 calculates a state z0 that is a solution to C(z) by the Ising machine 306 based on an initial value (step S902).
  • the information processing device 100 determines the hyperparameters ( ⁇ *, ⁇ *) of the QAOA so as to maximize the probability that the quantum state
  • the information processing device 100 determines whether the optimal classical state z 1 * has been determined a predetermined number of times (step S905).
  • the predetermined number of times is set in advance by the user, for example. If the predetermined number of times has not been determined (step S905: No), the information processing device 100 proceeds to processing of step S906. On the other hand, if the predetermined number of times has been determined (step S905: Yes), the information processing device 100 proceeds to processing of step S907.
  • step S906 the information processing device 100 sets the initial value of the Ising machine 306 to the optimal classical state z 1 * (step S906).Then, the information processing device 100 returns to the process of step S902.
  • step S907 the information processing device 100 outputs min(C(z 0 ), C(z 1 * )) (step S907).
  • the information processing device 100 may output argmin(C(z)). Then, the information processing device 100 ends the entire process.
  • the first determination process is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, the network I/F 303, and the QPU 307 shown in Fig. 3.
  • step S1001 the information processing device 100 applies a superposition state
  • step S1002 the information processing device 100 multiplies the n quantum bits by Uc ( ⁇ 1 ) Ux ( ⁇ 1 )... Uc ( ⁇ p ) Ux ( ⁇ p ) for p ( ⁇ i , ⁇ i ) to identify a quantum state
  • the information processing device 100 determines whether the hyperparameters ( ⁇ * , ⁇ * ) of the QAOA have been determined a predetermined number of times (step S1005).
  • the predetermined number of times is set in advance by the user, for example. If the predetermined number of times has not been determined (step S1005: No), the information processing device 100 returns to the process of step S1001. On the other hand, if the predetermined number of times has been determined (step S1005: Yes), the information processing device 100 ends the first determination process.
  • the second determination process is realized by, for example, the CPU 301, storage areas such as the memory 302 and the recording medium 305, the network I/F 303, and the QPU 307 shown in Fig. 3.
  • FIG. 11 is a flowchart showing an example of the second determination process procedure.
  • the information processing device 100 applies the superposition state
  • the information processing device 100 multiplies n quantum bits by Uc ( ⁇ 1 ) Ux ( ⁇ 1 )... Uc ( ⁇ p ) Ux ( ⁇ p ) according to the latest ( ⁇ * , ⁇ * ) to identify the quantum state
  • the information processing device 100 calculates the energy E1 corresponding to each classical state z1 , and determines whether min( E1 ) ⁇ min( E0 , E1 * ) (step S1104).
  • E0 is the energy corresponding to z0 .
  • E1 * is the energy corresponding to z1 * .
  • z1 * represents the classical state that is currently determined to be optimal.
  • step S1104 if min( E1 ) ⁇ min( E0 , E1 * ) is satisfied (step S1104: Yes), the information processing device 100 proceeds to step S1105. On the other hand, if min( E1 ) ⁇ min( E0 , E1 * ) is not satisfied (step S1104: No), the information processing device 100 proceeds to step S1106.
  • step S1105 the information processing device 100 determines z 1 * to be argmin(E 1 ) (step S1105).
  • argmin(E 1 ) represents any classical state z 1 that takes min(E 1 ) among E 1 corresponding to each classical state z 1. Then, the information processing device 100 ends the second determination process.
  • step S1106 the information processing device 100 determines z 1 * based on E 1 and the Hamming Distance (step S1106).
  • E 1 and the Hamming Distance are, for example, ((E 1 - E 0 ) x Hamming Distance (z 1 , z 0 )) -1 .
  • the information processing device 100 ends the second determination process.
  • the information processing device 100 may omit some of the processes in the flowcharts of Figures 9 to 11.
  • the processes of steps S905 and S906 can be omitted.
  • the process of step S1005 can be omitted.
  • the information processing device 100 can calculate a first solution to a combinatorial optimization problem based on an Ising model corresponding to the combinatorial optimization problem.
  • the information processing device 100 can determine parameter values for a quantum approximation optimization algorithm so as to maximize the probability that the quantum state of a quantum circuit of a quantum approximation optimization algorithm corresponding to the combinatorial optimization problem will be the calculated first solution.
  • the information processing device 100 can calculate a second solution to the combinatorial optimization problem based on the quantum circuit of the quantum approximation optimization algorithm in which the determined parameter values are set. This allows the information processing device 100 to reduce the time required to accurately calculate a solution to a combinatorial optimization problem.
  • a series of processes of calculating a first solution, determining parameter values, and calculating a second solution can be repeatedly executed until a predetermined condition is satisfied. This allows the information processing device 100 to improve the accuracy of calculating a solution to a combinatorial optimization problem.
  • the information processing device 100 it is possible to adopt a predetermined condition in which the second solution is calculated a predetermined number of times. This allows the information processing device 100 to repeatedly execute a series of processes an appropriate number of times, and to accurately calculate a solution to the combinatorial optimization problem.
  • the information processing device 100 can output the calculated second solution. This allows the information processing device 100 to make the second solution available externally as a solution to the combinatorial optimization problem.
  • a first solution to a combinatorial optimization problem can be calculated based on an Ising model, using an Ising machine that solves the combinatorial optimization problem.
  • a second solution to a combinatorial optimization problem can be calculated based on a quantum circuit of a quantum approximate optimization algorithm in which determined parameter values are set, using a quantum computing device that handles a quantum circuit of a quantum approximate optimization algorithm. This enables the information processing device 100 to efficiently calculate the first solution, and efficiently calculate the second solution.
  • the information processing device 100 can calculate a first solution to a combinatorial optimization problem based on an Ising model in accordance with the digital annealer. This allows the information processing device 100 to efficiently calculate the first solution.
  • 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 is executed by the computer reading it from the recording medium.
  • Recording media include hard disks, flexible disks, CD (Compact Disc)-ROMs, MO (Magneto Optical discs), DVDs (Digital Versatile Discs), etc.
  • the information processing program described in this embodiment may also be distributed via a network such as the Internet.
  • Information processing device 101 First solution 102 Second solution 110 Ising model 120 Parameters 130, 600, 700 Quantum circuit 200 Information processing system 201 Client device 210 Network 300 Bus 301 CPU 302 Memory 303 Network I/F 304 Recording medium I/F 305 Recording medium 306 Ising machine 307 QPU 400 Memory unit 401 Acquisition unit 402 First calculation unit 403 Determination unit 404 Second calculation unit 405 Output unit 601, 701 Hadamard gate 610 QAOA Ansatz 611, 612, 613, 614 Gate 710 Measurement point 800, 810, 820 Graph

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

情報処理装置(100)は、組み合わせ最適化問題を取得する。情報処理装置(100)は、例えば、状態zに対応する量子状態を表す、組み合わせ最適化問題に対応するQAOAの量子回路(130)を設定する。情報処理装置(100)は、取得した組み合わせ最適化問題に対応するイジングモデル(110)に基づいて、組み合わせ最適化問題の第1の解(101)を算出する。情報処理装置(100)は、設定した量子回路(130)の量子状態が、算出された第1の解(101)になる確率が最大になるよう、量子回路(130)のパラメータ(120)の値を決定する。情報処理装置(100)は、決定されたパラメータ(120)の値が設定された量子回路(130)に基づいて、組み合わせ最適化問題の第2の解(102)を算出する。

Description

情報処理プログラム、情報処理方法、および情報処理装置
 本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
 従来、組み合わせ最適化問題を解く量子近似最適化アルゴリズムが存在する。例えば、量子回路の量子状態を特定し、特定した量子状態に対応するエネルギーを特定し、特定したエネルギーに基づいて、量子回路のパラメータを変更する一連の処理を繰り返すことにより、組み合わせ最適化問題を解く。
 先行技術としては、例えば、AI(Artificial Intelligence)制御ユニットが、計算に対応する1以上の調整可能なパラメータを決定するものがある。また、例えば、本技法は、組み合わせ最適化問題に関連付けられたコスト関数を、許容量子状態上の最適化問題にマッピングする技術がある。また、例えば、一般的な側面では、量子近似最適化アルゴリズムのパラメータの値を、ベイジアンオプティマイザーによって選択する技術がある。また、例えば、量子近似最適化アルゴリズムを実行する技術がある。
特表2022-509841号公報 特表2021-504805号公報 米国特許第10846366号明細書 米国特許出願公開第2022/0245497号明細書
 しかしながら、従来技術では、組み合わせ最適化問題を効率よく解くことが難しい。例えば、組み合わせ最適化問題を解く際にかかる所要時間が増大し易い。
 1つの側面では、本発明は、組み合わせ最適化問題を解き易くすることを目的とする。
 1つの実施態様によれば、組み合わせ最適化問題に対応するイジングモデルに基づいて、前記組み合わせ最適化問題の第1の解を算出し、前記組み合わせ最適化問題に対応する量子近似最適化アルゴリズムの量子回路の量子状態が、算出された前記第1の解になる確率が最大になるよう、前記量子近似最適化アルゴリズムのパラメータの値を決定し、決定された前記パラメータの値が設定された、前記量子近似最適化アルゴリズムの前記量子回路に基づいて、前記組み合わせ最適化問題の第2の解を算出する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
 一態様によれば、組み合わせ最適化問題を解き易くすることが可能になる。
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。 図2は、情報処理システム200の一例を示す説明図である。 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。 図4は、情報処理装置100の機能的構成例を示すブロック図である。 図5は、情報処理装置100の動作の一例を示す説明図(その1)である。 図6は、情報処理装置100の動作の一例を示す説明図(その2)である。 図7は、情報処理装置100の動作の一例を示す説明図(その3)である。 図8は、情報処理装置100の動作の一例を示す説明図(その4)である。 図9は、全体処理手順の一例を示すフローチャートである。 図10は、第1決定処理手順の一例を示すフローチャートである。 図11は、第2決定処理手順の一例を示すフローチャートである。
 以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
 図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、組み合わせ最適化問題を解くためのコンピュータである。情報処理装置100は、例えば、サーバまたはPC(Personal Computer)などである。
 ここで、組み合わせ最適化問題は、制約条件の下で目的関数の値を最適化するよう変数の組み合わせの解を求める問題である。従来、組み合わせ最適化問題を解く手法としては、例えば、SA(Simulated Annealing)法、または、量子近似最適化アルゴリズムなどが存在する。以下の説明では、量子近似最適化アルゴリズムを「QAOA(Quantum Approximate Optimazation Algorithm)」と表記する場合がある。
 SA法は、例えば、熱ノイズを利用して、変数の組み合わせの解を探索する範囲を調整しながら、変数の組み合わせの解を繰り返し探索することにより、組み合わせ最適化問題を解く手法である。QAOAは、例えば、変数の組み合わせに対応する量子状態を表す量子回路を利用して、組み合わせ最適化問題を解く手法である。SA法は、例えば、焼きなまし法とも呼ばれる。
 QAOAは、具体的には、「量子回路の量子状態を特定し、特定した量子状態に対応するエネルギーを特定し、特定したエネルギーに基づいて、量子回路のパラメータを変更する」という一連の処理を繰り返すことにより、組み合わせ最適化問題を解く。QAOAは、具体的には、量子回路のパラメータを変更する際、Grid法、BFGS法、2次近似法、Powell法、または、ベイズ推定などを利用する。
 QAOAについては、例えば、下記参考文献1を参照することができる。Grid法については、例えば、下記参考文献2を参照することができる。BFGS法については、例えば、下記参考文献3を参照することができる。2次近似法については、例えば、下記参考文献4を参照することができる。ベイズ推定については、例えば、下記参考文献5を参照することができる。
 参考文献1 : Farhi, Edward, Jeffrey Goldstone, and Sam Gutmann. “A quantum approximate optimization algorithm.” arXiv preprint arXiv:1411.4028 (2014).
 参考文献2 :Streif, Michael, and Martin Leib. “Forbidden subspaces for level-1 quantum approximate optimization algorithm and instantaneous quantum polynomial circuits.” Physical Review A 102.4 (2020): 042416.
 参考文献3 :Streif, Michael, and Martin Leib. “Training the quantum approximate optimization algorithm without access to a quantum processing unit.” Quantum Science and Technology 5.3 (2020): 034008.
 参考文献4 :Shaydulin, Ruslan, and Yuri Alexeev. “Evaluating quantum approximate optimization algorithm: A case study.” 2019 tenth international green and sustainable computing conference (IGSC). IEEE, 2019.
 参考文献5 :Tibaldi, Simone, et al. “Bayesian Optimization for QAOA.” arXiv preprint arXiv:2209.03824 (2022).
 しかしながら、従来では、組み合わせ最適化問題を効率よく解くことが難しい。例えば、組み合わせ最適化問題を解く際にかかる所要時間が増大し易い。具体的には、SA法では、初期値が最適解から遠いほど、組み合わせ最適化問題を解き、最適解を発見する際にかかる所要時間が増大してしまう傾向がある。量子アニーリング法にも、同様の傾向がある。この傾向については、例えば、下記参考文献6を参照することができる。
 参考文献6 :Katzgraber, Helmut G., et al. “Seeking quantum speedup through spin glasses: The good, the bad, and the ugly.” Physical Review X 5.3 (2015): 031026.
 また、具体的には、QAOAでは、エネルギーと、量子回路のパラメータとが、非凸関係であることがあり、パラメータを適切に変更する際にかかる所要時間が増大してしまう傾向があり、最適なパラメータを発見することが難しいという問題がある。
 そこで、本実施の形態では、組み合わせ最適化問題を解き易くすることができる情報処理方法について説明する。
 図1において、情報処理装置100は、組み合わせ最適化問題を取得する。情報処理装置100は、例えば、組み合わせ最適化問題の目的関数min(E=C(z))を取得する。zは、例えば、状態であり、変数の組み合わせを表す。Eは、例えば、エネルギーである。ここで、組み合わせ最適化問題の解となるE=C(z)を最小化する状態zを求めることが望まれる。情報処理装置100は、例えば、状態zに対応する量子状態を表す、組み合わせ最適化問題に対応するQAOAの量子回路130を設定する。量子状態は、例えば、状態zが取りうるそれぞれの値を確率的に表す。
 (1-1)情報処理装置100は、取得した組み合わせ最適化問題に対応するイジングモデル110に基づいて、組み合わせ最適化問題の第1の解101を算出する。情報処理装置100は、例えば、デジタルアニーラのイジングマシンを利用して、デジタルアニーラのイジングモデル110と、設定された初期値とに基づいて、組み合わせ最適化問題の第1の解101となる状態z0を算出する。初期値は、例えば、予め利用者によって設定される。初期値は、例えば、状態zの値である。
 (1-2)情報処理装置100は、設定した量子回路130の量子状態が、算出した第1の解101になる確率が最大になるよう、量子回路130のパラメータ120の値を決定する。情報処理装置100は、決定したパラメータ120の値を設定した量子回路130に基づいて、組み合わせ最適化問題の第2の解102を算出する。
 情報処理装置100は、例えば、QPU(Quantum Processing Unit)を利用して、量子状態をnshotサンプリングし、第2の解102となる状態z1を算出する。情報処理装置100は、具体的には、決定したパラメータ120の値を設定した量子回路130が表す量子状態をZ方向射影測定して状態zを得ることをn回繰り返し実施し、得られた状態zの分布に基づいて、第2の解102となる状態z1を算出する。
 これにより、情報処理装置100は、組み合わせ最適化問題を解き易くすることができる。情報処理装置100は、イジングモデル110を利用して算出した第1の解101を基準に、量子回路130のパラメータ120を適切に設定することができ、QAOAを実施する際にかかる所要時間の低減化を図ることができる。情報処理装置100は、最適解に比較的近く、好ましい解となる状態z1を取得することができる。
 (1-3)情報処理装置100は、算出した状態z1を新たな初期値に設定し、(1-1)および(1-2)に示した一連の処理を、収束条件を満たすまで繰り返し実施してもよい。収束条件は、例えば、一連の処理を所定回数実施したことである。これにより、情報処理装置100は、組み合わせ最適化問題を精度よく解くことができる。情報処理装置100は、最適解により近く、好ましい解となる状態z1を取得することができる。
 ここでは、情報処理装置100が、単独のコンピュータである場合について説明したが、これに限らない。例えば、情報処理装置100としての機能が、複数のコンピュータによって実現される場合があってもよい。具体的には、クラウド上に、情報処理装置100としての機能が実現される場合があってもよい。
 ここでは、情報処理装置100が、イジングマシンを有する場合について説明したが、これに限らない。情報処理装置100は、例えば、組み合わせ最適化問題の第1の解101を算出するよう、イジングマシンを有する他のコンピュータを制御し、第1の解101を取得する場合があってもよい。
 ここでは、情報処理装置100が、QPUを有する場合について説明したが、これに限らない。情報処理装置100は、例えば、組み合わせ最適化問題の第2の解102を算出するよう、QPUを有する他のコンピュータを制御し、第2の解102を取得する場合があってもよい。
(情報処理システム200の一例)
 次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
 図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、クライアント装置201とを含む。
 情報処理システム200において、情報処理装置100とクライアント装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
 情報処理装置100は、組み合わせ最適化問題を解くためのコンピュータである。(2-1)情報処理装置100は、例えば、組み合わせ最適化問題を示す情報を、クライアント装置201から受信する。情報処理装置100は、例えば、受信した情報に基づいて、組み合わせ最適化問題を特定する。情報処理装置100は、例えば、特定した組み合わせ最適化問題に対応するQAOAの量子回路を特定する。情報処理装置100は、例えば、組み合わせ最適化問題に対応するイジングモデルの初期値を設定する。
 (2-2)情報処理装置100は、例えば、設定した初期値と、組み合わせ最適化問題に対応するイジングモデルに基づいて、組み合わせ最適化問題の第1の解を算出する。情報処理装置100は、例えば、特定した量子回路の量子状態が、算出した第1の解になる確率が最大になるよう、特定した量子回路のパラメータの値を決定する。情報処理装置100は、例えば、決定したパラメータの値を設定した量子回路に基づいて、組み合わせ最適化問題の第2の解を算出する。
 (2-3)情報処理装置100は、例えば、算出した第2の解を、イジングモデルの新たな初期値に設定し、(2-2)に示した一連の処理を、収束条件を満たすまで繰り返し実施する。収束条件は、例えば、一連の処理を所定回数実施したことである。情報処理装置100は、収束条件を満たした場合、最後に算出した第2の解を、組み合わせ最適化問題の解に設定する。情報処理装置100は、組み合わせ最適化問題の解を、クライアント装置201に送信する。情報処理装置100は、例えば、サーバまたはPCなどである。
 クライアント装置201は、組み合わせ最適化問題を解くことを要求する作業者によって利用されるコンピュータである。クライアント装置201は、例えば、作業者の操作入力に基づき、組み合わせ最適化問題を示す情報を生成し、情報処理装置100に送信する。組み合わせ最適化問題を示す情報は、例えば、組み合わせ最適化問題の目的関数を含む。組み合わせ最適化問題を示す情報は、例えば、組み合わせ最適化問題の制約条件などを含んでいてもよい。クライアント装置201は、組み合わせ最適化問題の解を、情報処理装置100から受信する。クライアント装置201は、組み合わせ最適化問題の解を、作業者が参照可能に出力する。クライアント装置201は、例えば、PC、タブレット端末、または、スマートフォンなどである。
 ここでは、情報処理装置100が、クライアント装置201とは異なるコンピュータである場合について説明したが、これに限らない。例えば、情報処理装置100が、クライアント装置201としての機能を有し、クライアント装置201としても動作する場合があってもよい。
(情報処理装置100のハードウェア構成例)
 次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、情報処理装置100は、イジングマシン306と、QPU307とを有する。また、各構成部は、バス300によってそれぞれ接続される。
 ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
 ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
 記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
 イジングマシン306は、イジングモデルを有し、イジングモデルを利用して、デジタルアニーラを実行することにより、組み合わせ最適化問題を解く演算装置である。QPU307は、量子回路に規定された量子演算を実行する演算装置である。QPU307は、例えば、QAOAを実行することにより、組み合わせ最適化問題を解く。
 情報処理装置100は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(クライアント装置201のハードウェア構成例)
 クライアント装置201のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
(情報処理装置100の機能的構成例)
 次に、図4を用いて、情報処理装置100の機能的構成例について説明する。
 図4は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、記憶部400と、取得部401と、第1算出部402と、決定部403と、第2算出部404と、出力部405とを含む。
 記憶部400は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部400が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部400が、情報処理装置100とは異なる装置に含まれ、記憶部400の記憶内容が情報処理装置100から参照可能である場合があってもよい。
 取得部401~出力部405は、制御部の一例として機能する。取得部401~出力部405は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
 記憶部400は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部400は、例えば、組み合わせ最適化問題を示す情報を記憶する。組み合わせ最適化問題を示す情報は、例えば、組み合わせ最適化問題の目的関数を含む。組み合わせ最適化問題を示す情報は、例えば、組み合わせ最適化問題の制約条件などを含んでいてもよい。組み合わせ最適化問題を示す情報は、例えば、取得部401によって取得される。組み合わせ最適化問題を示す情報は、例えば、予め利用者によって設定されていてもよい。
 記憶部400は、例えば、組み合わせ最適化問題に対応するイジングモデルを記憶する。イジングモデルは、例えば、取得部401によって取得される。イジングモデルは、例えば、予め利用者によって設定されていてもよい。記憶部400は、例えば、イジングモデルの初期値を記憶する。初期値は、組み合わせ最適化問題の解の候補に対応する。初期値は、例えば、取得部401によって取得される。初期値は、例えば、予め利用者によって設定されていてもよい。
 記憶部400は、例えば、組み合わせ最適化問題に対応するQAOAの量子回路を記憶する。QAOAの量子回路は、量子演算の手順を表す。QAOAの量子回路は、組み合わせ最適化問題の解に対応する量子状態を出力する機能を有する。QAOAの量子回路は、例えば、取得部401によって取得される。QAOAの量子回路は、例えば、予め利用者によって設定されていてもよい。
 取得部401は、各機能部の処理に用いられる各種情報を取得する。取得部401は、取得した各種情報を、記憶部400に記憶し、または、各機能部に出力する。また、取得部401は、記憶部400に記憶しておいた各種情報を、各機能部に出力してもよい。取得部401は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部401は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
 取得部401は、例えば、組み合わせ最適化問題を解くことを要求する処理依頼を取得する。処理依頼は、組み合わせ最適化問題を示す情報と、イジングモデルと、イジングモデルの初期値と、QAOAの量子回路とを含んでいてもよい。取得部401は、具体的には、利用者の操作入力に基づき、QAOAの量子回路の入力を受け付けることにより、QAOAの量子回路を取得する。取得部401は、具体的には、QAOAの量子回路を、他のコンピュータから受信してもよい。他のコンピュータは、例えば、クライアント装置201である。
 取得部401は、例えば、組み合わせ最適化問題を示す情報を取得する。取得部401は、具体的には、利用者の操作入力に基づき、組み合わせ最適化問題を示す情報の入力を受け付けることにより、組み合わせ最適化問題を示す情報を取得する。取得部401は、具体的には、組み合わせ最適化問題を示す情報を、他のコンピュータから受信してもよい。他のコンピュータは、具体的には、クライアント装置201である。取得部401は、具体的には、処理依頼の中から、組み合わせ最適化問題を示す情報を抽出することにより取得してもよい。
 取得部401は、例えば、イジングモデルを取得する。取得部401は、具体的には、利用者の操作入力に基づき、イジングモデルの入力を受け付けることにより、イジングモデルを取得する。取得部401は、具体的には、イジングモデルを、他のコンピュータから受信してもよい。他のコンピュータは、例えば、クライアント装置201である。取得部401は、具体的には、処理依頼の中から、イジングモデルを抽出することにより取得してもよい。
 取得部401は、例えば、イジングモデルの初期値を取得する。取得部401は、具体的には、利用者の操作入力に基づき、イジングモデルの初期値の入力を受け付けることにより、イジングモデルの初期値を取得する。取得部401は、具体的には、イジングモデルの初期値を、他のコンピュータから受信してもよい。他のコンピュータは、例えば、クライアント装置201である。取得部401は、具体的には、処理依頼の中から、イジングモデルの初期値を抽出することにより取得してもよい。
 取得部401は、例えば、QAOAの量子回路を取得する。取得部401は、具体的には、利用者の操作入力に基づき、QAOAの量子回路の入力を受け付けることにより、QAOAの量子回路を取得する。取得部401は、具体的には、QAOAの量子回路を、他のコンピュータから受信してもよい。他のコンピュータは、例えば、クライアント装置201である。取得部401は、具体的には、処理依頼の中から、QAOAの量子回路を抽出することにより取得してもよい。
 取得部401は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部401は、例えば、処理依頼を取得したことを、第1算出部402と決定部403と第2算出部404との処理を開始する開始トリガーとして受け付ける。
 第1算出部402は、イジングモデルに基づいて、組み合わせ最適化問題の第1の解を算出する。第1算出部402は、例えば、取得部401で処理依頼を取得したことに応じて、設定済みの初期値と、イジングモデルとに基づいて、組み合わせ最適化問題の第1の解を算出する。これにより、第1算出部402は、QAOAのパラメータを決定する指針を得ることができ、QAOAのパラメータを決定し易くすることができる。
 第1算出部402は、例えば、第2算出部404で第2の解を算出する都度、当該第2の解を初期値に設定する。第1算出部402は、例えば、第2算出部404で第2の解を算出する都度、設定した初期値と、イジングモデルとに基づいて、組み合わせ最適化問題の第1の解を新たに算出する。これにより、第1算出部402は、QAOAのパラメータを決定する指針を得ることができ、QAOAのパラメータを決定し易くすることができる。第1算出部402は、例えば、イジングマシン306に対応する。
 決定部403は、QAOAの量子回路の量子状態が、第1算出部402で算出した第1の解になる確率が最大になるよう、QAOAのパラメータの値を決定する。決定部403は、例えば、第1算出部402で第1の解を算出する都度、QAOAの量子回路の量子状態が、当該1の解になる確率が最大になるよう、QAOAのパラメータの値を決定する。これにより、決定部403は、QAOAのパラメータを適切に決定することができ、QAOAの量子回路に基づいて、組み合わせ最適化問題の第2の解を算出し易くすることができる。
 第2算出部404は、決定部403で決定したパラメータの値を設定した、QAOAの量子回路に基づいて、組み合わせ最適化問題の第2の解を算出する。第2算出部404は、例えば、決定部403でパラメータの値を決定する都度、当該パラメータの値を、QAOAの量子回路に設定する。第2算出部404は、例えば、パラメータの値を設定した、QAOAの量子回路に基づいて、組み合わせ最適化問題の第2の解を算出する。これにより、第2算出部404は、組み合わせ最適化問題の適切な解を算出することができる。第2算出部404は、QPU307に対応する。
 情報処理装置100は、第1算出部402と決定部403と第2算出部404との一連の処理を、所定の条件を満たすまで繰り返し実行する。所定の条件は、例えば、一連の処理を所定の回数算出することである。これにより、情報処理装置100は、第2算出部404で算出する第2の解を、組み合わせ最適化問題の最適解に近付けることができる。
 出力部405は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部405は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
 出力部405は、第2算出部404で算出した第2の解を出力する。出力部405は、例えば、第2算出部404で最後に算出した第2の解を出力する。出力部405は、具体的には、第2算出部404で最後に算出した第2の解を、利用者が参照可能に出力する。出力部405は、具体的には、第2算出部404で最後に算出した第2の解を、他のコンピュータに送信してもよい。これにより、出力部405は、組み合わせ最適化問題の解を、外部で利用可能にすることができる。
 ここでは、情報処理装置100が、第1算出部402と、第2算出部404とを含む場合について説明したが、これに限らない。例えば、情報処理装置100が、第1算出部402を有する他のコンピュータと通信することにより、第1算出部402を利用する場合があってもよい。例えば、情報処理装置100が、第2算出部404を有する他のコンピュータと通信することにより、第2算出部404を利用する場合があってもよい。
(情報処理装置100の動作の一例)
 次に、図5~図8を用いて、情報処理装置100の動作の一例について説明する。
 図5~図8は、情報処理装置100の動作の一例を示す説明図である。図5において、情報処理装置100は、組み合わせ最適化問題min(E=C(z))を示す情報を取得する。Eは、エネルギーである。E=C(z)は、最小化する対象となる目的関数である。zは、状態である。情報処理装置100は、組み合わせ最適化問題を示す情報に基づいて、組み合わせ最適化問題min(E=C(z))を特定する。
 情報処理装置100は、イジングモデルに対する初期値を有する。初期値は、例えば、状態zの値である。情報処理装置100は、組み合わせ最適化問題に対応するQAOAの量子回路600を設定する。ここで、図6の説明に移行し、QAOAの量子回路600の一例について説明する。
 図6は、QAOAの量子回路600の一例を示す。図6において、QAOAの量子回路600は、n量子ビットのそれぞれの量子ビットの状態に対する演算を表すアダマールゲート601と、n量子ビットの状態に対する演算を表すQAOA Ansatz610とを含む。nは、量子ビットの数である。
 QAOA Ansatz610は、ゲート611~614を表す。ゲート611,613は、例えば、位相分離演算子を表す。ゲート612,614は、例えば、ミキシング演算子を表す。QAOA Ansatz610は、ハイパーパラメータ(γ,β)によって定義される。図6の例では、QAOA Ansatz610のレベルは、2である。
 図5の説明に戻り、(5-1)情報処理装置100は、イジングマシン306によって、イジングモデルと、初期値とに基づいて、C(z)の解となる状態z0を算出する。情報処理装置100は、例えば、デジタルアニーラに従って、イジングマシン306によって、イジングモデルと、初期値とに基づいて、C(z)の解となる状態z0を算出する。
 (5-2)情報処理装置100は、CPU301と、QPU307とによって、QAOAの量子回路600の量子状態|ψ(γ,β)>がz0になる確率が最大になるよう、ハイパーパラメータ(γ*,β*)を決定する。ここで、図7の説明に移行し、情報処理装置100が、ハイパーパラメータ(γ*,β*)を決定する一例について説明する。
 図7は、ハイパーパラメータ(γ*,β*)を決定する一例を示す。図7において、(7-1)情報処理装置100は、QPU307によって、重ね合わせ状態|s>を、n量子ビットに印加する。重ね合わせ状態|s>は、例えば、下記式(1)によって定義される。
Figure JPOXMLDOC01-appb-M000001
 情報処理装置100は、QPU307によって、p個の(γi,βi)に応じて、n量子ビットにUc(γ1)Ux(β1)…Uc(γp)Ux(βp)を掛けることにより、量子状態|ψ(γ,β)>を特定する。i=1,2,…,pである。
 情報処理装置100は、QPU307によって、スワップテストを実施することにより、確率pz0(γ,β)=<ψ(γ,β)|z0><z0|ψ(γ,β)>=<ψ(γ,β)|z02を測定する。情報処理装置100は、例えば、図7に示すスワップテストの量子回路700に従って、確率pz0(γ,β)=<ψ(γ,β)|z0><z0|ψ(γ,β)>を測定する。スワップテストの量子回路700は、アダマールゲート701を含み、測定箇所710で、pz0(γ,β)=<ψ(γ,β)|z0><z0|ψ(γ,β)>を測定可能にする。
 情報処理装置100は、具体的には、図7に示すスワップテストの量子回路700に従って、測定箇所710の量子状態をnshotサンプリングした結果に基づいて、確率pz0(γ,β)を測定する。情報処理装置100は、より具体的には、n=1000であれば、測定箇所710の量子状態を0と測定した回数=10であれば、確率pz0(γ,β)=10/1000である。
 情報処理装置100は、CPU301によって、測定した確率pz0(γ,β)が最大になるよう、ハイパーパラメータ(γ*,β*)を決定する。情報処理装置100は、例えば、Grid法、BFGS法、2次近似法、Powell法、または、ベイズ推定などを利用して、確率pz0(γ,β)を最大化する目的関数を設定し、ハイパーパラメータ(γ*,β*)を算出する。
 情報処理装置100は、CPU301によって、上述した通り、ハイパーパラメータ(γ*,β*)を繰り返し決定する。情報処理装置100は、CPU301によって、ハイパーパラメータ(γ*,β*)を所定回数算出すると、ハイパーパラメータ(γ*,β*)を統計的に決定する。所定回数は、例えば、予め設定される。所定回数は、例えば、第1の数である。
 図5の説明に戻り、(5-3)情報処理装置100は、CPU301と、QPU307とによって、QAOAの量子回路600に従って、(γ*,β*)に基づいて、量子状態|ψ(γ*,β*)>をnshotサンプリングし、最適古典状態z1 *を決定する。ここで、再び、図6の説明に移行し、最適古典状態z1 *を決定する一例について説明する。
 図6は、最適古典状態z1 *を決定する一例を示す。図6において、情報処理装置100は、QPU307によって、重ね合わせ状態|s>を、n量子ビットに印加する。情報処理装置100は、QPU307によって、(γ*,β*)に応じて、n量子ビットにUc(γ1)Ux(β1)…Uc(γp)Ux(βp)を掛けることにより、量子状態|ψ(γ*,β*)>を特定する。情報処理装置100は、QPU307によって、量子状態|ψ(γ*,β*)>をnshotサンプリングし、n個の古典状態z1を決定する。情報処理装置100は、例えば、QPU307によって、(γ*,β*)を設定したQAOAの量子回路600が表す量子状態|ψ(γ*,β*)>をZ方向射影測定して状態zを得ることをn回繰り返し実施し、n個の古典状態z1を決定する。
 情報処理装置100は、CPU301によって、n個の古典状態z1に基づいて、組み合わせ最適化問題の暫定解となる古典状態z1 *を決定する。情報処理装置100は、例えば、CPU301によって、min(E1)<min(E0,E1 *)であるか否かを判定する。ここで、情報処理装置100は、例えば、min(E1)<min(E0,E1 *)である場合には、CPU301によって、z1 *をargmin(E1)に決定する。一方で、情報処理装置100は、例えば、min(E1)<min(E0,E1 *)ではない場合には、CPU301によって、E1,Hamming Distanceに基づいて、z1 *を決定する。
 図5の説明に戻り、(5-4)情報処理装置100は、CPU301によって、終了条件を満たすか否かを判定する。終了条件は、例えば、(5-1)~(5-3)の一連の処理を所定回数実施したことである。所定回数は、例えば、予め設定される。所定回数は、例えば、第2の数である。第2の数は、第1の数と同一であってもよい。終了条件は、例えば、エネルギーEまたは状態zに対する閾値によって規定されていてもよい。
 情報処理装置100は、終了条件を満たさなければ、CPU301によって、今回決定した最適古典状態z1 *をイジングマシン306の初期値に設定し、(5-1)~(5-3)の一連の処理を再度実施する。
 情報処理装置100は、終了条件を満たせば、min(C(z0),C(z1 *))と、argmin(C(z))とを出力する。argmin(C(z))は、例えば、z0またはz1 *である。これにより、情報処理装置100は、組み合わせ最適化問題の解となるargmin(C(z))を精度よく算出することができる。情報処理装置100は、組み合わせ最適化問題の解を算出する際にかかる所要時間の低減化を図ることができる。次に、図8の説明に移行し、情報処理装置100による効果について説明する。
 図8は、情報処理装置100による効果を示す。図8のグラフ800は、初期に、エネルギーEのそれぞれの値を取る古典状態zを、量子状態が表す確率の分布を表す。図8のグラフ800に示す通り、初期に、エネルギーEのそれぞれの値を取る古典状態zを、量子状態が表す確率の分布は均一である。
 これに対し、情報処理装置100は、組み合わせ最適化問題に対して、イジングマシン306の算出結果に応じて、QAOAに先立って、Emin周辺の値を取る古典状態zを、量子状態が表す確率が高くなるよう、ハイパーパラメータ(γ,β)を決定する。図8のグラフ810は、ハイパーパラメータ(γ,β)を決定した後に、エネルギーEのそれぞれの値を取る古典状態zを、量子状態が表す確率の分布を表す。図8のグラフ810に示す通り、Emin周辺の値を取る古典状態zを、量子状態が表す確率が高くなる。これにより、情報処理装置100は、QAOAにより、最適解を探索する効率を向上することができる。
 そして、情報処理装置100は、Emin周辺の値を取る古典状態zを、量子状態が表す確率を高めた後、QAOAにより、組み合わせ最適化問題の解を算出する。図8のグラフ820は、QAOAにより、組み合わせ最適化問題の解を算出した際に、エネルギーEのそれぞれの値を取る古典状態zを、量子状態が表す確率の分布を表す。図8のグラフ820に示す通り、Emin周辺のうち、Eminにより近い狭い範囲の値を取る古典状態zを、量子状態が表す確率が高くなる。
 これにより、情報処理装置100は、QAOAにより、組み合わせ最適化問題の解を、効率よく、かつ、精度よく、最適解に近付けることができる。情報処理装置100は、例えば、QAOAにより、組み合わせ最適化問題の解となり得る、量子状態が表すすべての状態を考慮することができ、組み合わせ最適化問題の解を精度よく算出することができる。従って、情報処理装置100は、QAOAにより、組み合わせ最適化問題の解を算出する際にかかる所要時間の低減化を図ることができる。
 ここでは、情報処理装置100が、QPU307を利用して、ハイパーパラメータ(γ*,β*)を決定し、最適古典状態z1 *を決定する場合について説明したが、これに限らない。例えば、情報処理装置100が、量子コンピュータのシミュレータを有する場合があってもよい。具体的には、情報処理装置100は、量子コンピュータのシミュレータを利用して、ハイパーパラメータ(γ*,β*)を決定し、最適古典状態z1 *を決定する。
(情報処理装置100の適用例)
 次に、情報処理装置100の適用例について説明する。情報処理装置100は、例えば、移動体の移動経路を探索する組み合わせ最適化問題を解く場合に適用することができる。情報処理装置100は、例えば、従業員の勤務表を作成する組み合わせ最適化問題を解く場合に適用することができる。情報処理装置100は、例えば、製品の製造計画を作成する組み合わせ最適化問題を解く場合に適用することができる。
(全体処理手順)
 次に、図9を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303と、イジングマシン306と、QPU307とによって実現される。
 図9は、全体処理手順の一例を示すフローチャートである。図9において、情報処理装置100は、CPU301によって、組み合わせ最適化問題min(E=C(z))を取得する(ステップS901)。次に、情報処理装置100は、イジングマシン306によって、初期値に基づいて、C(z)の解となる状態z0を算出する(ステップS902)。
 次に、情報処理装置100は、QPU307によって、図10を用いて後述する第1決定処理を実行することにより、量子状態|ψ(γ,β)>がz0になる確率が最大になるよう、QAOAのハイパーパラメータ(γ*,β*)を決定する(ステップS903)。そして、情報処理装置100は、QPU307によって、図11を用いて後述する第2決定処理を実行することにより、量子状態|ψ(γ*,β*)>をnshotサンプリングし、最適古典状態z1 *を決定する(ステップS904)。
 次に、情報処理装置100は、最適古典状態z1 *を所定回数決定したか否かを判定する(ステップS905)。所定回数は、例えば、予め利用者によって設定される。ここで、所定回数決定していない場合(ステップS905:No)、情報処理装置100は、ステップS906の処理に移行する。一方で、所定回数決定している場合(ステップS905:Yes)、情報処理装置100は、ステップS907の処理に移行する。
 ステップS906では、情報処理装置100は、イジングマシン306の初期値を、最適古典状態z1 *に設定する(ステップS906)。そして、情報処理装置100は、ステップS902の処理に戻る。
 ステップS907では、情報処理装置100は、min(C(z0),C(z1 *))を出力する(ステップS907)。情報処理装置100は、argmin(C(z))を出力してもよい。そして、情報処理装置100は、全体処理を終了する。
(第1決定処理手順)
 次に、図10を用いて、情報処理装置100が実行する、第1決定処理手順の一例について説明する。第1決定処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303と、QPU307とによって実現される。
 図10は、第1決定処理手順の一例を示すフローチャートである。図10において、情報処理装置100は、重ね合わせ状態|s>を、n量子ビットに印加する(ステップS1001)。次に、情報処理装置100は、p個の(γi,βi)に対して、n量子ビットにUc(γ1)Ux(β1)…Uc(γp)Ux(βp)を掛けることにより、量子状態|ψ(γ,β)>を特定する(ステップS1002)。
 次に、情報処理装置100は、確率pz0(γ,β)=<ψ(γ,β)|z0><z0|ψ(γ,β)>を測定する(ステップS1003)。そして、情報処理装置100は、確率pz0(γ,β)が最大になるよう、QAOAのハイパーパラメータ(γ*,β*)を決定する(ステップS1004)。
 次に、情報処理装置100は、QAOAのハイパーパラメータ(γ*,β*)を所定回数決定したか否かを判定する(ステップS1005)。所定回数は、例えば、予め利用者によって設定される。ここで、所定回数決定していない場合(ステップS1005:No)、情報処理装置100は、ステップS1001の処理に戻る。一方で、所定回数決定している場合(ステップS1005:Yes)、情報処理装置100は、第1決定処理を終了する。
(第2決定処理手順)
 次に、図11を用いて、情報処理装置100が実行する、第2決定処理手順の一例について説明する。第2決定処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303と、QPU307とによって実現される。
 図11は、第2決定処理手順の一例を示すフローチャートである。図11において、情報処理装置100は、重ね合わせ状態|s>を、n量子ビットに印加する(ステップS1101)。
 次に、情報処理装置100は、最新の(γ*,β*)に応じて、n量子ビットにUc(γ1)Ux(β1)…Uc(γp)Ux(βp)を掛けることにより、量子状態|ψ(γ*,β*)>を特定する(ステップS1102)。そして、情報処理装置100は、量子状態|ψ(γ*,β*)>をnshotサンプリングし、n個の古典状態z1を決定する(ステップS1103)。
 次に、情報処理装置100は、それぞれの古典状態z1に対応するエネルギーE1を算出し、min(E1)<min(E0,E1 *)であるか否かを判定する(ステップS1104)。E0は、z0に対応するエネルギーである。E1 *は、z1 *に対応するエネルギーである。z1 *は、現時点で最適と判断する古典状態を表す。
 ここで、min(E1)<min(E0,E1 *)である場合(ステップS1104:Yes)、情報処理装置100は、ステップS1105の処理に移行する。一方で、min(E1)<min(E0,E1 *)ではない場合(ステップS1104:No)、情報処理装置100は、ステップS1106の処理に移行する。
 ステップS1105では、情報処理装置100は、z1 *をargmin(E1)に決定する(ステップS1105)。argmin(E1)は、それぞれの古典状態z1に対応するE1のうちmin(E1)を取るいずれかの古典状態z1を表す。そして、情報処理装置100は、第2決定処理を終了する。
 ステップS1106では、情報処理装置100は、E1,Hamming Distanceに基づいて、z1 *を決定する(ステップS1106)。E1,Hamming Distanceは、例えば、((E1-E0)×Hamming Distance(z1,z0))-1である。そして、情報処理装置100は、第2決定処理を終了する。ここで、情報処理装置100は、図9~図11の各フローチャートの一部ステップの処理を省略してもよい。例えば、ステップS905,S906の処理は省略可能である。例えば、ステップS1005の処理は省略可能である。
 以上説明したように、情報処理装置100によれば、組み合わせ最適化問題に対応するイジングモデルに基づいて、組み合わせ最適化問題の第1の解を算出することができる。情報処理装置100によれば、組み合わせ最適化問題に対応する量子近似最適化アルゴリズムの量子回路の量子状態が、算出した第1の解になる確率が最大になるよう、量子近似最適化アルゴリズムのパラメータの値を決定することができる。情報処理装置100によれば、決定したパラメータの値を設定した、量子近似最適化アルゴリズムの量子回路に基づいて、組み合わせ最適化問題の第2の解を算出することができる。これにより、情報処理装置100は、組み合わせ最適化問題の解を精度よく算出する際にかかる所要時間の低減化を図ることができる。
 情報処理装置100によれば、第1の解を算出し、パラメータの値を決定し、第2の解を算出するという一連の処理を、所定の条件を満たすまで繰り返し実行することができる。これにより、情報処理装置100は、組み合わせ最適化問題の解を算出する精度の向上を図ることができる。
 情報処理装置100によれば、所定の条件に、第2の解を所定の回数算出することを採用することができる。これにより、情報処理装置100は、一連の処理を適切な回数繰り返し実行することができ、組み合わせ最適化問題の解を精度よく算出することができる。
 情報処理装置100によれば、算出した第2の解を出力することができる。これにより、情報処理装置100は、第2の解を、組み合わせ最適化問題の解として外部で利用可能にすることができる。
 情報処理装置100によれば、組み合わせ最適化問題を解くイジングマシンを利用して、イジングモデルに基づいて、組み合わせ最適化問題の第1の解を算出することができる。情報処理装置100によれば、量子近似最適化アルゴリズムの量子回路を取り扱う量子演算装置を利用して、決定したパラメータの値を設定した、量子近似最適化アルゴリズムの量子回路に基づいて、組み合わせ最適化問題の第2の解を算出することができる。これにより、情報処理装置100は、第1の解を効率よく算出可能にすることができ、第2の解を効率よく算出可能にすることができる。
 情報処理装置100によれば、デジタルアニーラに従って、イジングモデルに基づいて、組み合わせ最適化問題の第1の解を算出することができる。これにより、情報処理装置100は、第1の解を効率よく算出することができる。
 なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
 100 情報処理装置
 101 第1の解
 102 第2の解
 110 イジングモデル
 120 パラメータ
 130,600,700 量子回路
 200 情報処理システム
 201 クライアント装置
 210 ネットワーク
 300 バス
 301 CPU
 302 メモリ
 303 ネットワークI/F
 304 記録媒体I/F
 305 記録媒体
 306 イジングマシン
 307 QPU
 400 記憶部
 401 取得部
 402 第1算出部
 403 決定部
 404 第2算出部
 405 出力部
 601,701 アダマールゲート
 610 QAOA Ansatz
 611,612,613,614 ゲート
 710 測定箇所
 800,810,820 グラフ

Claims (7)

  1.  組み合わせ最適化問題に対応するイジングモデルに基づいて、前記組み合わせ最適化問題の第1の解を算出し、
     前記組み合わせ最適化問題に対応する量子近似最適化アルゴリズムの量子回路の量子状態が、算出された前記第1の解になる確率が最大になるよう、前記量子近似最適化アルゴリズムのパラメータの値を決定し、
     決定された前記パラメータの値が設定された、前記量子近似最適化アルゴリズムの前記量子回路に基づいて、前記組み合わせ最適化問題の第2の解を算出する、
     処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2.  算出された前記第2の解が初期値に設定された前記イジングモデルに基づいて、前記組み合わせ最適化問題の前記第1の解を新たに算出し、
     前記量子近似最適化アルゴリズムの前記量子回路の量子状態が、新たに算出された前記第1の解になる確率が最大になるよう、前記パラメータの値を新たに決定し、
     新たに決定された前記パラメータの値が設定された前記量子近似最適化アルゴリズムの前記量子回路に基づいて、前記組み合わせ最適化問題の前記第2の解を新たに算出する、
     処理を所定の条件を満たすまで前記コンピュータに繰り返し実行させることを特徴とする請求項1に記載の情報処理プログラム。
  3.  前記所定の条件は、前記第2の解を所定の回数算出することである、ことを特徴とする請求項2に記載の情報処理プログラム。
  4.  算出された前記第2の解を出力する、
     処理を前記コンピュータに実行させることを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
  5.  前記第1の解を算出する処理は、
     前記組み合わせ最適化問題を解くイジングマシンを利用して、前記イジングモデルに基づいて、前記組み合わせ最適化問題の前記第1の解を算出し、
     前記第2の解を算出する処理は、
     前記量子近似最適化アルゴリズムの前記量子回路を処理する量子演算装置を利用して、決定された前記パラメータの値が設定された前記量子近似最適化アルゴリズムの前記量子回路に基づいて、前記組み合わせ最適化問題の前記第2の解を算出する、ことを特徴とする請求項1に記載の情報処理プログラム。
  6.  組み合わせ最適化問題に対応するイジングモデルに基づいて、前記組み合わせ最適化問題の第1の解を算出し、
     前記組み合わせ最適化問題に対応する量子近似最適化アルゴリズムの量子回路の量子状態が、算出された前記第1の解になる確率が最大になるよう、前記量子近似最適化アルゴリズムのパラメータの値を決定し、
     決定された前記パラメータの値が設定された、前記量子近似最適化アルゴリズムの前記量子回路に基づいて、前記組み合わせ最適化問題の第2の解を算出する、
     処理をコンピュータが実行することを特徴とする情報処理方法。
  7.  組み合わせ最適化問題に対応するイジングモデルに基づいて、前記組み合わせ最適化問題の第1の解を算出し、
     前記組み合わせ最適化問題に対応する量子近似最適化アルゴリズムの量子回路の量子状態が、算出された前記第1の解になる確率が最大になるよう、前記量子近似最適化アルゴリズムのパラメータの値を決定し、
     決定された前記パラメータの値が設定された、前記量子近似最適化アルゴリズムの前記量子回路に基づいて、前記組み合わせ最適化問題の第2の解を算出する、
     制御部を有することを特徴とする情報処理装置。
PCT/JP2023/021881 2023-06-13 2023-06-13 情報処理プログラム、情報処理方法、および情報処理装置 Ceased WO2024257210A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2023/021881 WO2024257210A1 (ja) 2023-06-13 2023-06-13 情報処理プログラム、情報処理方法、および情報処理装置
JP2025526951A JPWO2024257210A1 (ja) 2023-06-13 2023-06-13
US19/381,035 US20260064800A1 (en) 2023-06-13 2025-11-06 Recording medium, information processing method, and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2023/021881 WO2024257210A1 (ja) 2023-06-13 2023-06-13 情報処理プログラム、情報処理方法、および情報処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US19/381,035 Continuation US20260064800A1 (en) 2023-06-13 2025-11-06 Recording medium, information processing method, and information processing device

Publications (1)

Publication Number Publication Date
WO2024257210A1 true WO2024257210A1 (ja) 2024-12-19

Family

ID=93851492

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/021881 Ceased WO2024257210A1 (ja) 2023-06-13 2023-06-13 情報処理プログラム、情報処理方法、および情報処理装置

Country Status (3)

Country Link
US (1) US20260064800A1 (ja)
JP (1) JPWO2024257210A1 (ja)
WO (1) WO2024257210A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230153373A1 (en) * 2021-03-23 2023-05-18 Zapata Computing, Inc. Classically-boosted quantum optimization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230153373A1 (en) * 2021-03-23 2023-05-18 Zapata Computing, Inc. Classically-boosted quantum optimization

Also Published As

Publication number Publication date
JPWO2024257210A1 (ja) 2024-12-19
US20260064800A1 (en) 2026-03-05

Similar Documents

Publication Publication Date Title
JP6555411B2 (ja) 情報処理方法および情報処理装置
JP6821614B2 (ja) モデル学習装置、モデル学習方法、プログラム
JP2020194560A (ja) 因果関係分析方法および電子デバイス
WO2020087974A1 (zh) 生成模型的方法和装置
CN112529194A (zh) 消除量子噪声的方法及装置、计算机设备、介质和产品
CN118863078B (zh) 一种变分量子线路的构造方法、装置、介质及电子装置
US11693921B2 (en) Data preparation for artificial intelligence models
CN114861922A (zh) 一种量子比特读取数据的分析方法、装置、设备及介质
CN114580649A (zh) 消除量子泡利噪声的方法及装置、电子设备和介质
CN114021728A (zh) 量子数据测量方法及系统、电子设备和介质
KR102515090B1 (ko) 오류가 있는 고전적 학습 표본에 대한 패리티 학습 양자 알고리즘, 양자 회로 및 이를 이용한 시스템
JP2011113563A (ja) ドキュメント使用クラスタリングによるユーザタスク表現を近似するための方法
JP2019036112A (ja) 異常音検知装置、異常検知装置、プログラム
CN114757357B (zh) 量子线路的振幅估计方法、装置、存储介质及电子装置
CN115168326A (zh) Hadoop大数据平台分布式能源数据清洗方法及系统
CN113222160B (zh) 一种量子态的转换方法及装置
WO2022009275A1 (ja) 学習方法、学習装置及びプログラム
WO2024257210A1 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
CN117875370A (zh) 一种利用分子数据的任务处理方法及装置
JPWO2024257210A5 (ja)
JP2025145553A (ja) 情報処理プログラム、情報処理方法、および情報処理装置
Zhu et al. A likelihood for correlated extreme series
JP7452648B2 (ja) 学習方法、学習装置及びプログラム
CN113435927B (zh) 用户意愿预测方法、装置、设备和存储介质
JP2026013315A (ja) 情報処理プログラム、情報処理方法、および情報処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23941519

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025526951

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025526951

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE