WO2024089862A1 - 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置 - Google Patents

分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置 Download PDF

Info

Publication number
WO2024089862A1
WO2024089862A1 PCT/JP2022/040286 JP2022040286W WO2024089862A1 WO 2024089862 A1 WO2024089862 A1 WO 2024089862A1 JP 2022040286 W JP2022040286 W JP 2022040286W WO 2024089862 A1 WO2024089862 A1 WO 2024089862A1
Authority
WO
WIPO (PCT)
Prior art keywords
iterations
molecular
execution time
energy
estimated
Prior art date
Application number
PCT/JP2022/040286
Other languages
English (en)
French (fr)
Inventor
泰成 引間
裕平 梅田
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2022/040286 priority Critical patent/WO2024089862A1/ja
Publication of WO2024089862A1 publication Critical patent/WO2024089862A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C10/00Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like

Definitions

  • the present invention relates to a molecular simulation program, a molecular simulation method, and an information processing device.
  • Computers sometimes perform molecular simulations to analyze the properties of molecules through numerical calculations.
  • Molecular simulations are sometimes used in industrial fields such as materials and pharmaceutical development.
  • Molecular simulations include quantum chemical calculations that calculate the molecular energy microscopically based on the electronic state of the molecule and the Schrödinger equation.
  • Quantum chemical calculation algorithms include algorithms that use quantum circuit data, such as the Variational Quantum Eigensolver (VQE). Algorithms that use quantum circuit data can also be executed by quantum computers. There are also other quantum chemical calculation algorithms, such as the Configuration Interaction (CI) method and the Coupled Cluster (CC) method.
  • VQE Variational Quantum Eigensolver
  • CI Configuration Interaction
  • CC Coupled Cluster
  • a system has been proposed that uses control parameters to generate a quantum state, measures the energy corresponding to the quantum state, updates the control parameters so that the energy decreases, and repeats the above process until the minimum energy is determined.
  • a method has also been proposed for determining the energy level of a physical system using a quantum computer.
  • An information processing device has also been proposed that controls multiple quantum computers to search for the ground state energy of a molecule.
  • the computer may calculate the molecular energy while changing the distance between two atoms of interest, and analyze the relationship between the interatomic distance and the molecular energy. For example, the computer may generate a potential energy curve (PEC) that shows the relationship between the interatomic distance and the ground state energy of the molecule.
  • PEC potential energy curve
  • the present invention aims to efficiently calculate molecular energies corresponding to multiple interatomic distances.
  • a molecular simulation program causes a computer to execute the following processes. Based on molecular information indicating a molecule to be analyzed, an estimated execution time of a first algorithm that uses quantum circuit data to calculate molecular energy for each of a plurality of interatomic distances and an estimated number of iterations of an iterative process performed during the estimated execution time are estimated. Based on a specified time limit and the estimated execution time and estimated number of iterations for each of the plurality of interatomic distances, the number of iterations for each of the plurality of interatomic distances is determined. Based on the determined number of iterations, the molecular energy for each of the plurality of interatomic distances is calculated by executing the first algorithm.
  • a molecular simulation method is provided that is executed by a computer.
  • an information processing device is provided that has a storage unit and a control unit.
  • FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment.
  • FIG. 11 illustrates an example of hardware of an information processing apparatus according to a second embodiment.
  • FIG. 13 is a diagram showing an example of the accuracy of a potential energy curve.
  • FIG. 13 is a diagram showing an example of the relationship between the interatomic distance and the number of iterations of the classical algorithm.
  • FIG. 13 shows an example of the slope of error and iteration number of the classical algorithm.
  • FIG. 13 is a diagram illustrating an example of an estimation of a VQE execution time.
  • FIG. 11 is a diagram illustrating a first example of adjusting the execution time of VQE.
  • FIG. 13 illustrates a second example of adjusting the execution time of a VQE.
  • FIG. 11 is a diagram illustrating a first example of adjusting the execution time of VQE.
  • FIG. 13 illustrates a second example of adjusting the execution time of a VQE.
  • FIG. 13 is a diagram illustrating a third example of adjusting the execution time of VQE.
  • FIG. 13 is a diagram showing an example of the accuracy of the potential energy curve when the execution time is reduced.
  • FIG. 13 is a diagram showing an example of a VQE error.
  • FIG. 2 is a block diagram showing an example of functions of the information processing device; 1 is a flowchart showing an example of a procedure for quantum chemical calculation. 13 is a flowchart showing an example of a procedure for quantum chemical calculation (continuation).
  • FIG. 1 is a diagram for explaining an information processing device of the first embodiment.
  • the information processing device 10 of the first embodiment performs molecular simulation using quantum chemical calculations.
  • the information processing device 10 calculates multiple molecular energies corresponding to multiple interatomic distances, and outputs information that associates the interatomic distances with the molecular energies. For example, the information processing device 10 generates and outputs a potential energy curve.
  • the information processing device 10 may be a client device or a server device.
  • the information processing device 10 may be called a computer, a molecular simulation device, or a quantum chemical calculation device.
  • the information processing device 10 has a memory unit 11 and a control unit 12.
  • the memory unit 11 may be a volatile semiconductor memory such as a RAM (Random Access Memory), or a non-volatile storage such as a HDD (Hard Disk Drive) or flash memory.
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • the control unit 12 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor). However, the control unit 12 may also include electronic circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the processor executes a program stored in a memory such as a RAM (which may be the memory unit 11).
  • a collection of processors may be called a multiprocessor or simply a "processor".
  • the memory unit 11 stores molecular information 13 that indicates the molecule to be analyzed.
  • the molecular information 13 indicates the molecular structure, for example, the type and coordinates of each of the multiple atoms contained in the molecule.
  • the memory unit 11 also stores multiple interatomic distances for which molecular energy is to be calculated using a certain algorithm.
  • the interatomic distance is the distance between two atoms of interest in the molecule.
  • the distance is, for example, the Euclidean distance.
  • the molecular energy is, for example, the ground energy when the molecule is in a stable state. When the interatomic distance changes, the molecular energy changes.
  • the memory unit 11 stores interatomic distances 14a, 14b, and 14c. Interatomic distance 14b is longer than interatomic distance 14a, and interatomic distance 14c is longer than interatomic distance 14b.
  • the memory unit 11 also stores a time limit 17.
  • the time limit 17 is an upper limit of the time required for the quantum chemical calculation and may be specified by the user.
  • the time limit 17 is, for example, an upper limit of the total execution time required to calculate all of the multiple molecular energies corresponding to the multiple interatomic distances stored in the memory unit 11 using the above algorithm.
  • the above algorithm calculates molecular energy using quantum circuit data, and is, for example, a quantum algorithm such as VQE.
  • the quantum circuit data is a quantum computing model that specifies gate operations for quantum bits.
  • the above algorithms may be executed on a gate-type quantum computer.
  • the algorithms may also be executed on a von Neumann-type classical computer using software that simulates the operation of a quantum computer.
  • the information processing device 10 may execute the algorithms by itself, or may have another information processing device execute them.
  • the quantum circuit data includes, for example, an Ansatz circuit and a measurement circuit.
  • the Ansatz circuit generates a quantum state using one or more quantum bits, and is generated based on a basis function that approximates the wave function of the Schrödinger equation.
  • the measurement circuit measures molecular energy from the quantum state, and is generated based on the Hamiltonian of the Schrödinger equation depending on the type of molecule.
  • the above algorithm for example, generates quantum states for a certain electronic configuration and measures the molecular energy multiple times to calculate the expected value of the molecular energy for that electronic configuration.
  • the algorithm repeatedly calculates the expected value of the molecular energy while changing the electronic configuration, searching for the minimum molecular energy.
  • the algorithm outputs the minimum molecular energy as the ground state energy.
  • the information processing device 10 may calculate other molecular energies corresponding to other interatomic distances using algorithms other than the above algorithm.
  • the other interatomic distances may be shorter than the above interatomic distances stored in the memory unit 11.
  • the memory unit 11 may further store such other interatomic distances.
  • the other algorithms calculate molecular energies using methods different from the above algorithms.
  • the other algorithms are, for example, classical algorithms that do not use quantum circuit data and are expected to be executed by a classical computer.
  • the other algorithms may be configuration interaction methods such as CISD (Configuration Interaction Singles and Doubles) or coupled cluster methods such as CCSD (Coupled Cluster Singles and Doubles) or CCSD(T) (CCSD (and Triples)).
  • Other algorithms for example, generate a certain formula based on basis functions that approximate wave functions, and calculate the molecular energy for a certain electronic configuration. At this time, other algorithms may ignore higher-order electronic excitations of three or more electrons or four or more electrons in order to reduce the amount of calculations. Other algorithms repeatedly calculate the molecular energy while changing the electronic configuration, searching for the minimum molecular energy. Other algorithms output the minimum molecular energy as the basis energy.
  • the control unit 12 estimates estimated execution times 15a, 15b, 15c and estimated numbers of iterations 16a, 16b, 16c for the interatomic distances 14a, 14b, 14c based on the molecular information 13.
  • the estimated execution time 15a and the estimated number of iterations 16a correspond to the interatomic distance 14a.
  • the estimated execution time 15b and the estimated number of iterations 16b correspond to the interatomic distance 14b.
  • the estimated execution time 15c and the estimated number of iterations 16c correspond to the interatomic distance 14c.
  • Estimated execution times 15a, 15b, and 15c are the time required for the algorithm to output one final molecular energy corresponding to one interatomic distance. Each of estimated execution times 15a, 15b, and 15c includes the time required for the iterative process until the molecular energy converges. Each of estimated numbers of iterations 16a, 16b, and 16c is the number of iterations of the above iterative process. Estimated execution times 15a, 15b, and 15c and estimated numbers of iterations 16a, 16b, and 16c are estimates for the case where the number of iterations of the algorithm is not limited, and are, for example, estimates of the longest execution time and the maximum number of iterations.
  • the control unit 12 may generate quantum circuit data from the molecular information 13 for each of the multiple interatomic distances, and may estimate an estimated execution time using structural features of the quantum circuit data.
  • the control unit 12 may also execute other algorithms, such as configuration interaction method or coupled cluster method, for each of the multiple interatomic distances, and may estimate the estimated number of iterations based on the execution results of the other algorithms.
  • the execution results of the other algorithms may be a measured value of the number of iterations of an iterative process executed by the other algorithms.
  • the control unit 12 determines the number of iterations 18a, 18b, and 18c of the interatomic distances 14a, 14b, and 14c based on the time limit 17, the estimated execution times 15a, 15b, and 15c, and the estimated number of iterations 16a, 16b, and 16c.
  • the number of iterations 18a corresponds to the interatomic distance 14a
  • the number of iterations 18b corresponds to the interatomic distance 14b
  • the number of iterations 18c corresponds to the interatomic distance 14c.
  • the iteration counts 18a, 18b, and 18c are, for example, upper limits on the iteration count of the above algorithm, and correspond to limited iteration counts.
  • the iteration counts 18a, 18b, and 18c may be equal to or less than the corresponding estimated iteration counts, and at least some of the iteration counts 18a, 18b, and 18c may be less than the corresponding estimated iteration counts.
  • the control unit 12 does not limit the iteration count for any of the interatomic distances.
  • the control unit 12 limits the iteration count for at least one interatomic distance.
  • the control unit 12 calculates a ratio from the sum of the estimated execution times 15a, 15b, and 15c and the time limit 17, and multiplies the estimated number of iterations 16a, 16b, and 16c by the calculated ratio to calculate the number of iterations 18a, 18b, and 18c.
  • the ratio may be common to the interatomic distances 14a, 14b, and 14c, or may be the time limit 17 divided by the sum of the estimated execution times 15a, 15b, and 15c.
  • the ratio may also differ depending on the interatomic distance. For example, the control unit 12 weights the ratio so that the longer the interatomic distance is, the smaller the ratio of the number of iterations after the limit to the estimated number of iterations becomes.
  • the control unit 12 executes the above algorithm to calculate molecular energies 19a, 19b, and 19c corresponding to interatomic distances 14a, 14b, and 14c based on the iteration counts 18a, 18b, and 18c.
  • the control unit 12 allows the iterative processing of the algorithm up to the iteration counts 18a, 18b, and 18c, and when the iteration counts 18a, 18b, and 18c are reached, the control unit 12 forcibly stops the iterative processing even if the molecular energy has not yet converged.
  • the control unit 12 may output the molecular energy based on the results of the iterative processing up until the iteration count was stopped, or may output the molecular energy calculated in the final iteration.
  • the control unit 12 outputs molecular energies 19a, 19b, and 19c in association with the interatomic distances 14a, 14b, and 14c.
  • the control unit 12 may store the molecular energies 19a, 19b, and 19c in non-volatile storage, may display them on a display device, or may transmit them to another information processing device.
  • the control unit 12 may also output other molecular energies corresponding to other interatomic distances calculated using other algorithms together with the molecular energies 19a, 19b, and 19c.
  • Information associating multiple interatomic distances with multiple molecular energies may take the form of a potential energy curve.
  • the information processing device 10 of the first embodiment estimates, for each of a plurality of interatomic distances, the estimated execution time and estimated number of iterations of an algorithm that uses quantum circuit data to calculate molecular energy, based on the molecular information 13.
  • the information processing device 10 determines the number of iterations for each interatomic distance, based on the time limit 17 and the estimated execution time and estimated number of iterations for each interatomic distance.
  • the information processing device 10 calculates the molecular energy for each interatomic distance by executing the algorithm, based on the determined number of iterations.
  • the information processing device 10 can calculate molecular energy with high accuracy while taking into account the specified time limit 17, and can balance the time limit 17 and the accuracy of the molecular energy. Therefore, the information processing device 10 can efficiently calculate molecular energies corresponding to multiple interatomic distances in quantum chemical calculations.
  • the number of iterations determined for at least some interatomic distances may be less than the estimated number of iterations. This reduces the total execution time for multiple interatomic distances. For example, the total execution time is suppressed to a time limit of 17 or less. Furthermore, molecular energies for many interatomic distances are calculated by an algorithm that uses quantum circuit data.
  • the information processing device 10 may determine an upper limit of the execution time for each interatomic distance based on the total estimated execution time and the time limit, and may determine an upper limit of the number of iterations from the determined upper limit of the execution time. In this way, the proportional relationship between the execution time and the number of iterations is utilized to appropriately adjust the number of iterations so that the execution time falls within a desired range.
  • the ratio of the determined number of iterations to the estimated number of iterations may differ among multiple interatomic distances.
  • the information processing device 10 can utilize such differences in tendency to suppress a decrease in the accuracy of the molecular energy.
  • the longer the interatomic distance the smaller the above ratio may be.
  • the information processing device 10 can reduce the execution time while suppressing a decrease in accuracy.
  • the information processing device 10 may forcibly stop the algorithm when the number of iterations performed reaches a predetermined number of iterations, and may output molecular energy based on the results of the iterative processing up to the stop. This allows molecular energy to be output with as high accuracy as possible within the specified time limit 17.
  • the information processing device 10 may calculate the molecular energy of other interatomic distances by executing other algorithms, and may output potential energy curve information including the molecular energy calculated by the other algorithms. This allows the information processing device 10 to use multiple algorithms appropriately to efficiently generate potential energy curve information. For example, if another algorithm can calculate molecular energy with sufficient accuracy in a short time for other interatomic distances (e.g., short interatomic distances), the above algorithm is executed by focusing on the above interatomic distances.
  • the information processing device 100 of the second embodiment generates a potential energy curve showing the relationship between the distance between two atoms of interest and the ground state energy of the molecule by quantum chemical calculations.
  • the information processing device 100 can execute a plurality of algorithms. However, some or all of the algorithms may be executed by another information processing device.
  • the other information processing device may be a quantum computer.
  • the information processing device 100 may be a client device or a server device.
  • the information processing device 100 may also be installed in a data center or may be included in a cloud system.
  • the cloud system may receive a job request related to quantum chemical calculation via a network and return the generated potential energy curve.
  • the information processing device 100 may also be called a computer, a molecular simulation device, or a quantum chemical calculation device.
  • the information processing device 100 corresponds to the information processing device 10 of the first embodiment.
  • FIG. 2 is a diagram showing an example of hardware of an information processing device according to the second embodiment.
  • the information processing device 100 has a CPU 101, a RAM 102, a HDD 103, a GPU 104, an input interface 105, a media reader 106, and a communication interface 107, all connected to a bus.
  • the CPU 101 corresponds to the control unit 12 in the first embodiment.
  • the RAM 102 or the HDD 103 corresponds to the storage unit 11 in the first embodiment.
  • the CPU 101 is a processor that executes program instructions.
  • the CPU 101 loads the programs and data stored in the HDD 103 into the RAM 102 and executes the programs.
  • the information processing device 100 may have multiple processors.
  • RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by CPU 101 and data used in calculations by CPU 101.
  • Information processing device 100 may have a type of volatile memory other than RAM.
  • the HDD 103 is a non-volatile storage that stores software programs such as an operating system (OS), middleware, and application software, as well as data.
  • the information processing device 100 may also have other types of non-volatile storage, such as flash memory or an SSD (Solid State Drive).
  • the GPU 104 works in cooperation with the CPU 101 to perform image processing and output images to a display device 111 connected to the information processing device 100.
  • the display device 111 is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, or a projector. Other types of output devices, such as a printer, may also be connected to the information processing device 100.
  • the GPU 104 may also be used as a General Purpose Computing on Graphics Processing Unit (GPGPU).
  • the GPU 104 may execute a program in response to an instruction from the CPU 101.
  • the information processing device 100 may have a volatile semiconductor memory other than the RAM 102 as a GPU memory.
  • the input interface 105 receives an input signal from an input device 112 connected to the information processing device 100.
  • the input device 112 is, for example, a mouse, a touch panel, or a keyboard. Multiple input devices may be connected to the information processing device 100.
  • the media reader 106 is a reading device that reads programs and data recorded on the recording medium 113.
  • the recording medium 113 is, for example, a magnetic disk, an optical disk, or a semiconductor memory. Magnetic disks include flexible disks (FDs) and HDDs. Optical disks include compact discs (CDs) and digital versatile discs (DVDs).
  • the media reader 106 copies the programs and data read from the recording medium 113 to other recording media such as the RAM 102 or the HDD 103.
  • the read programs may be executed by the CPU 101.
  • the recording medium 113 may be a portable recording medium.
  • the recording medium 113 may be used for distributing programs and data.
  • the recording medium 113 and the HDD 103 may also be referred to as computer-readable recording media.
  • the communication interface 107 communicates with other information processing devices via the network 114.
  • the communication interface 107 may be a wired communication interface connected to a wired communication device such as a switch or a router, or a wireless communication interface connected to a wireless communication device such as a base station or an access point.
  • Quantum chemical calculations are a type of molecular simulation that analyzes molecular structures and intermolecular interactions from their electronic states. Quantum chemical calculations are sometimes used to support material development and pharmaceutical development. Quantum chemical calculations are microscopic molecular simulations that provide high analytical accuracy but impose a high computational load.
  • H the Hamiltonian
  • the wave function
  • E energy
  • the Hamiltonian H depends on the molecular structure of the target.
  • the wave function ⁇ corresponds to the eigenstate of electrons
  • the energy E corresponds to the eigenenergy corresponding to ⁇ .
  • Quantum chemical calculations calculate the ground state energy when the molecular structure is stable. However, it is difficult to solve the Schrödinger equation directly.
  • quantum chemical calculation expresses the wave function ⁇ using basis functions.
  • the basis functions are linear combinations of known functions. Each of the multiple terms included in the basis functions corresponds to a molecular orbital. A molecular orbital is a location where any one of the electrons included in a molecule may be located.
  • the quantum chemical calculation receives molecular information indicating the positions of multiple atoms included in the molecule, a solution-finding algorithm, and a basis function specification from the user, and calculates the base energy based on the specified information. However, in the second embodiment, the solution-finding algorithm does not need to be specified.
  • the information processing device 100 generates a potential energy curve by quantum chemical calculation.
  • a potential energy curve shows the potential energy corresponding to different interatomic distances.
  • Potential energy is the energy a molecule has when each atom is assumed to be at rest.
  • the horizontal axis of a potential energy curve represents the interatomic distance.
  • the vertical axis of a potential energy curve represents the ground state energy.
  • the unit of distance is, for example, angstrom ( ⁇ ).
  • the unit of energy is, for example, Hartree.
  • the energy is calculated for each of a number of discrete distances that fall within a certain range. The distances may be equally spaced. For example, the energy is calculated at 0.1 ⁇ intervals from 0.8 ⁇ to 2.8 ⁇ .
  • a potential energy curve is generated by plotting the calculated energies and connecting them with lines. The minimum point of the potential energy curve may represent the most stable state of the molecule. The maximum point of the potential energy curve may represent a transition state of the molecule.
  • Figure 3 shows an example of the accuracy of potential energy curves.
  • it is considered to use CCSD(T) and VQE as quantum chemical calculation algorithms.
  • CISD or CCSD may be used instead of CCSD(T).
  • Figure 3 also shows FCI (Full Configuration Interaction) as an algorithm with extremely high accuracy.
  • Curve 31 is a potential energy curve generated only by FCI.
  • Curve 32 is a potential energy curve generated only by CCSD(T).
  • Curve 33 is a potential energy curve generated only by VQE.
  • FCI is a classical algorithm designed to be run on a classical computer. FCI finds an exact solution for the energy based on specified molecular information and basis functions. As a result, FCI has a high accuracy of solution but a long execution time. FCI requires a calculation amount on the order of the factorial of the number of molecular orbitals. For this reason, it is difficult to calculate the energy of large molecules using FCI. Due to the nature of FCI, which is to find an exact solution, the energy calculated by FCI may be interpreted as the correct energy.
  • CCSD(T) is a classical algorithm designed to be run on a classical computer. CCSD(T) finds an approximate solution for the energy based on specified molecular information and basis functions. As a result, CCSD(T) has a lower solution accuracy than FCI and a shorter execution time than FCI. CCSD(T) has a computational complexity on the order of the seventh power of the number of molecular orbitals. CCSD has an even lower solution accuracy and a shorter execution time than CCSD(T).
  • CCSD(T) precisely calculates the effect of single and double excitations on the energy of electronic states, and determines the effect of triple excitation on the energy from perturbation. CCSD(T) ignores the effect of higher-order electronic excitations (quadruple excitation or higher). CCSD(T) repeatedly calculates the energy while changing the electronic configuration, searching for the minimum energy. CCSD(T) performs iterative calculations until the calculated energy converges. For example, CCSD(T) compares the latest energy with the energy calculated in the previous iteration, and stops the iterative process when the difference between the two falls below a threshold.
  • CCSD(T) often calculates a relatively good approximate solution for FCI when the interatomic distance is short.
  • CCSD(T) may calculate a less accurate approximate solution when the interatomic distance is long. This is because when the interatomic distance is long, the outer molecular orbitals have a large effect on the energy, and CCSD(T), which ignores the effects of higher-order electronic excitations of four or more electrons, produces a large error in the approximate solution.
  • CCSD(T) if the accuracy of the final output energy is low, the number of iterations until convergence tends to increase. This is because the approximate solution continues to fluctuate near the correct value even when iterative calculations are performed, and the approximate solution may not converge stably to the correct value.
  • VQE is a quantum algorithm that is intended to be executed on a gate-type quantum computer. However, it is also possible to execute VQE on a classical computer by using a quantum simulator. A quantum simulator simulates the operation of a quantum computer using software. In this case, the memory usage and amount of calculations on a classical computer doubles every time the number of quantum bits increases by one. In the second embodiment, it is assumed that VQE is executed using a quantum simulator.
  • the solution accuracy and execution time of VQE are intermediate between FCI and CCSD(T). In other words, the solution accuracy is lower than FCI and higher than CCSD(T). The execution time is shorter than FCI and longer than CCSD(T).
  • VQE forms a quantum circuit that generates a quantum state using multiple quantum bits based on a specified basis function. This quantum circuit is sometimes called an Ansatz circuit. VQE also forms a quantum circuit that measures energy from a quantum state based on a Hamiltonian corresponding to specified molecular information. This quantum circuit is sometimes called a measurement circuit.
  • a quantum circuit is a quantum computing model described by a combination of quantum gates. In a quantum computer, a quantum circuit is implemented using physical quantum bits. In a quantum simulator, pseudo-qubit data is stored in memory, and pseudo-quantum gate operations are implemented using a classical program.
  • VQE generates quantum states using an Ansatz circuit and measures the energy using a measurement circuit. Each measurement is subject to noise and fluctuations. VQE generates quantum states and measures the energy multiple times for the same electronic configuration, and calculates the average value as the expected energy value. VQE changes the parameter values used to generate the quantum state so that the expected energy value becomes smaller. Changing the parameter values corresponds to changing the electronic configuration. VQE searches for the ground energy by repeating the above process. For example, VQE repeats the above process until the expected energy value converges.
  • a “classical computer” is, for example, a von Neumann-type computer, which is contrasted with a “quantum computer.”
  • a “classical algorithm” is, for example, an algorithm, which is contrasted with a “quantum algorithm,” and which does not use quantum circuits.
  • the accuracy of CCSD(T) can be significantly lower than that of VQE.
  • the execution time of VQE is significantly longer than that of CCSD(T).
  • the execution time of VQE can be more than 1000 times that of CCSD(T).
  • the information processing device 100 cannot ignore the execution time required to generate the potential energy curve, and may be required to generate the potential energy curve within a time limit specified by the user.
  • the information processing device 100 therefore automatically selects an algorithm to generate a potential energy curve with the highest possible accuracy within the time limit specified by the user.
  • the information processing device 100 employs the energy of CCSD(T) for short distances and the energy of VQE for long distances. At this time, the distance at which the accuracy of CCSD(T) begins to noticeably decrease differs depending on the type of molecule. Therefore, the information processing device 100 automatically selects the distance for VQE from the execution result of CCSD(T).
  • the information processing device 100 first executes CCSD(T) for all distances. It is assumed that the execution time of CCSD(T) is negligibly short. Next, the information processing device 100 analyzes the number of iterations of CCSD(T) for each distance, detects a boundary point where the accuracy of CCSD(T) begins to decrease, and selects the distances after the boundary point as targets for VQE. The information processing device 100 additionally executes VQE for the selected distances.
  • the information processing device 100 estimates the execution time and number of iterations that VQE normally requires until the energy converges for each selected distance. If the total execution time would exceed the time limit if VQE were normally executed for all selected distances, the information processing device 100 ensures that the time limit is met by limiting the number of iterations of VQE. When the number of iterations of VQE is limited, VQE may be terminated before the energy converges.
  • Figure 4 is a diagram showing an example of the relationship between the interatomic distance and the number of iterations of the classical algorithm.
  • Curve 34 shows the relationship between the interatomic distance and the number of iterations of CCSD(T).
  • the information processing device 100 therefore measures and records the number of iterations of CCSD(T) when CCSD(T) outputs energy for each distance.
  • the information processing device 100 scans the number of iterations of CCSD(T) in ascending order of distance, and when it detects a significant increase in the number of iterations, it determines that the accuracy of CCSD(T) has begun to deteriorate.
  • the information processing device 100 fits a regression line using a certain number of recent distances and the number of iterations (for example, the last five distances and the number of iterations) using the least squares method, and calculates the slope of the regression line.
  • the information processing device 100 determines whether the latest slope is greater than the slope calculated at the point of the previous distance. If the slope increases a certain number of times in succession (for example, if it increases three times in succession), the information processing device 100 considers the distance at that point to be a boundary point.
  • the information processing device 100 selects each of the boundary points and distances greater than it as targets for VQE. However, the boundary points may be excluded from the targets for VQE, and the information processing device 100 may select each of the distances greater than the boundary points as targets for VQE.
  • a regression line with a slope of 0 is calculated from the number of iterations from distances 1.0 ⁇ to 1.4 ⁇ .
  • a regression line with a positive slope is calculated from the number of iterations from distances 1.1 ⁇ to 1.5 ⁇ .
  • a regression line with a slope greater than that of a distance of 1.5 ⁇ is calculated from the number of iterations from distances 1.2 ⁇ to 1.6 ⁇ .
  • a regression line with a slope greater than that of a distance of 1.6 ⁇ is calculated from the number of iterations from distances 1.3 ⁇ to 1.7 ⁇ . Therefore, the information processing device 100 selects each distance from 1.7 ⁇ onwards (or from 1.8 ⁇ onwards) as a target for VQE.
  • FIG. 5 is a diagram showing an example of the error and the slope of the number of iterations of the classical algorithm.
  • Curve 35 shows the absolute value of the error of the energy calculated by CCSD(T) relative to the energy calculated by FCI. As shown in curve 35, the error of CCSD(T) increases sharply from a distance of 1.5 ⁇ to a distance of 2.0 ⁇ .
  • Curve 36 shows the slope of the number of iterations for the most recent five points. As shown in curve 36, the slope of the number of iterations of CCSD(T) increases continuously from a distance of 1.5 ⁇ to a distance of 2.0 ⁇ . Therefore, by monitoring the slope of the number of iterations, the information processing device 100 can detect that the error has begun to increase significantly.
  • the information processing device 100 estimates the execution time of VQE using a pre-trained machine learning model.
  • the machine learning model may be called an estimator.
  • the machine learning model of the second embodiment is a Gaussian process regression model generated by a Gaussian process.
  • the machine learning to train this machine learning model may be performed by the information processing device 100 or by another information processing device.
  • the machine learning model includes a time model that estimates the execution time for each iteration of VQE, and an iteration model that estimates the number of iterations of VQE.
  • the execution time for each iteration corresponds to the time required to calculate the expected value of the energy corresponding to one electron configuration.
  • the number of iterations corresponds to the number of attempts to change the electron configuration.
  • the estimated execution time of VQE is the product of the execution time estimated by the time model and the number of iterations estimated by the iteration model.
  • the information processing device 100 may use an iterative model that takes into account at least one of randomness and uncertainty and outputs a number of iterations that is greater than the expected value.
  • An example of a machine learning model is explained below using mathematical formulas.
  • the explanatory variable of the time model is a vector x of degree 3 shown in formula (1).
  • q is the number of quantum bits
  • d is the depth of the Ansatz circuit
  • l is the number of terms in the Hamiltonian.
  • the depth of the Ansatz circuit is the number of stages of quantum gates arranged in series.
  • the number of terms in the Hamiltonian is the number of terms when the Hamiltonian is decomposed into a sum of Pauli matrices.
  • a time model for calculating an expected value of the execution time for each iteration is defined, for example, as in Equation (2).
  • Equation (2) y is an objective variable indicating the execution time for each iteration
  • n is the number of records included in the training data.
  • the training data for training the time model includes n records, which are pairs of explanatory variable values and objective variable values, such as ( x1 , y1 ), ..., ( xn , yn ).
  • K n is an n ⁇ n square matrix generated from the values of explanatory variables included in the training data.
  • the component of the i-th row and j-th column of the matrix K n is k(x i , x j ).
  • the matrix K n indicates the similarity between the values of two explanatory variables included in the training data.
  • I n is an n ⁇ n unit matrix.
  • k n (x) is a column vector whose component of the i-th row is k(x i , x).
  • k n (x) indicates the similarity between a certain vector x and each of the values of n explanatory variables included in the training data.
  • is a constant greater than 0.
  • the information processing device 100 can also use a time model that takes into account the risk that the actual execution time for each iteration varies from the expected value and takes into account robustness against the risk.
  • a Conditional Value at Risk (CVaR) is defined for the execution time for each iteration.
  • is a constant greater than 0 and less than or equal to 1.
  • ⁇ v (y) and U are defined as shown in Equation (4).
  • a time model that takes robustness into account is, for example, defined as in formula (5) using the CVaR in formula (3).
  • the estimate calculated by formula (5) reflects the risk of an upside deviation in the execution time for each iteration, and is assumed to be greater than the expected value calculated by formula (2). If the distribution for vector x is ⁇ and the cumulative distribution function corresponding to distribution ⁇ is F, then formula (5) gives the estimate of formula (6).
  • the information processing device 100 can further consider the uncertainty of the estimation of the time model due to insufficient training data, and use a time model that considers robustness and uncertainty.
  • ⁇ n (x) is defined for the execution time for each iteration.
  • k T n (x) is the transpose matrix of k n (x).
  • Equation (8) The time model considering robustness and uncertainty is defined as shown in Equation (8), for example, by using ⁇ n (x) in Equation (7).
  • is a positive constant.
  • the estimated value calculated by Equation (8) reflects the risk of further upside deviation of the execution time for each iteration, and is larger than the estimated value calculated by Equation (5).
  • the explanatory variable of the iterative model is a vector z of degree 2 shown in formula (9).
  • m is the number of iterations of the classical algorithm
  • s is the interatomic distance.
  • the classical algorithm is CCSD(T).
  • the classical algorithm may be CISD or CCSD.
  • Note that "CCSD" in the broad sense may be interpreted as including CCSD in the narrow sense and CCSD(T).
  • the iterative model for estimating the number of iterations is defined, for example, as in Equation (10).
  • Equation (10) w is a response variable indicating the number of iterations of VQE.
  • Training data for training the iterative model includes n records, each of which is a pair of explanatory variable values and response variable values, such as (z 1 , w 1 ), ..., (z n , w n ).
  • l is the kernel of the Gaussian process.
  • Ln is an n ⁇ n square matrix generated from the values of explanatory variables included in the training data.
  • the component of the i-th row and j-th column of the matrix Ln is l(z i , z j ).
  • ln (z) is a column vector whose component of the i-th row is l(z i , z).
  • is a constant greater than 0.
  • the information processing device 100 can use an iterative model that takes into account the risk that the actual number of iterations varies from the expected value and takes into account robustness against the risk.
  • the iterative model that takes into account robustness is defined as in Equation (11), for example, using the CVaR of Equation (3).
  • Equation (3) and Equation (4) x is replaced by z, y is replaced by w, K n is replaced by L n , and k n is replaced by l n .
  • the information processing device 100 can further consider the uncertainty of the estimation of the repetitive model due to insufficient training data, and use a repetitive model that considers robustness and uncertainty.
  • the repetitive model that considers robustness and uncertainty is defined as shown in Equation (12) using Equation (7), for example. However, in Equation (7), x is replaced with z, K n is replaced with L n , and k n is replaced with l n .
  • FIG. 6 shows an example of estimating the VQE execution time.
  • the information processing device 100 acquires data 131 for the molecule to be analyzed.
  • the data 131 indicates the type and coordinates of each of the multiple atoms contained in the molecule.
  • n sets of sample data equivalent to the data 131 are used.
  • the information processing device 100 generates data 132 from data 131.
  • Data 132 includes the number of quantum bits, the depth of the Ansatz circuit, the number of terms in the Hamiltonian, and the execution time for each iteration.
  • the number of quantum bits, the depth of the Ansatz circuit, and the number of terms in the Hamiltonian are input data for the time model, and are calculated from data 131 by preprocessing of VQE.
  • the execution time for each iteration is output data for the time model.
  • n sets of data equivalent to data 132 are used as training data to train the temporal model.
  • the execution time for each iteration corresponds to the ground truth label and is measured by performing VQE on the molecular information of the sample.
  • the information processing device 100 generates data 133 from data 131.
  • the data 133 includes interatomic distances, the number of iterations of the classical algorithm, and the number of iterations of VQE.
  • the interatomic distances and the number of iterations of the classical algorithm are input data of the iterative model.
  • the number of iterations of the classical algorithm is measured by executing the classical algorithm based on the data 131.
  • the number of iterations of the classical algorithm is, for example, the number of iterations of CCSD(T).
  • the number of iterations of VQE is output data of the iterative model.
  • n sets of data equivalent to data 133 are used as training data to train the iterative model.
  • the number of iterations of VQE corresponds to the ground truth label, and is measured by running VQE.
  • the information processing device 100 generates data 134 from data 132 and 133.
  • Data 134 includes an estimate of the execution time of VQE.
  • the execution time is the product of the execution time for each iteration included in data 132 and the number of iterations of VQE included in data 133. Note that one or both of the execution time for each iteration output by the time model and the number of iterations of VQE output by the number of iterations may be an expected value, an estimate taking robustness into account, or an estimate taking robustness and uncertainty into account.
  • the information processing device 100 may switch the type of estimate in response to an instruction from the user.
  • the information processing device 100 calculates the estimated execution time of VQE and the estimated number of iterations of VQE for each VQE target distance before executing VQE. Next, the adjustment of the execution time of VQE will be explained.
  • the information processing device 100 sets an upper limit on the number of iterations of VQE for each distance so that all of the energy for the VQE target distance can be calculated within the time limit, and thereby adjusts the execution time of VQE for each distance.
  • FIG. 7 is a diagram showing a first example of adjusting the execution time of VQE.
  • the execution time adjustment table 135 shows the reduction in execution time for each distance and the reduction in the number of iterations.
  • the reduction in execution time may be called a reduction in execution time, and the reduction in the number of iterations may be called a reduction in the number of iterations.
  • the three distances 2.1 ⁇ , 2.2 ⁇ , and 2.3 ⁇ are selected as the target distances for VQE.
  • the estimated execution time for distance 2.1 ⁇ is 2400 seconds, and the estimated number of iterations for distance 2.1 ⁇ is 60.
  • the estimated execution time for distance 2.2 ⁇ is 2800 seconds, and the estimated number of iterations for distance 2.2 ⁇ is 70.
  • the estimated execution time for distance 2.3 ⁇ is 3200 seconds, and the estimated number of iterations for distance 2.3 ⁇ is 80.
  • the estimated execution time per iteration is 40 seconds, which is common to distances 2.1 ⁇ , 2.2 ⁇ , and 2.3 ⁇ . However, the estimated execution time per iteration may vary depending on the distance.
  • the information processing device 100 determines the reduced execution time for each distance by referring to the estimated execution time. Then, the information processing device 100 determines the reduced number of iterations from the estimated number of iterations in accordance with the ratio of the reduced execution time to the estimated execution time. This reduced number of iterations is set as the upper limit of the number of iterations of VQE.
  • the information processing device 100 determines the reduced execution time for a distance of 2.1 ⁇ to be 1200 seconds, the reduced execution time for a distance of 2.2 ⁇ to be 1600 seconds, and the reduced execution time for a distance of 2.3 ⁇ to be 2000 seconds.
  • the total reduced execution time is 4800 seconds, which falls within the time limit.
  • the information processing device 100 multiplies the estimated number of reduced iterations by 50%, the ratio of the reduced execution time to the estimated execution time, and determines the reduced number of iterations to be 30.
  • the information processing device 100 multiplies the estimated number of iterations by 57%, which is the ratio of the reduced execution time to the estimated execution time, and determines the reduced number of iterations to be 40.Furthermore, for a distance of 2.3 ⁇ , the information processing device 100 multiplies the estimated number of iterations by 63%, which is the ratio of the reduced execution time to the estimated execution time, and determines the reduced number of iterations to be 50.However, the information processing device 100 may also calculate the reduced number of iterations by dividing the reduced execution time by the estimated execution time for each iteration.
  • One example of a distribution method is a uniform distribution in which the ratio of reduced execution time to estimated execution time is the same for all VQE target distances.
  • Another example of a distribution method is a graded distribution in which the ratio of reduced execution time to estimated execution time is changed depending on the VQE target distance.
  • FIG. 8 shows a second example of adjusting the execution time of VQE.
  • the execution time adjustment table 136 shows the reduction in execution time for each distance. Here, five distances from 2.1 ⁇ to 2.5 ⁇ are selected as the VQE target distances.
  • the estimated execution time for a distance of 2.1 ⁇ is 500 seconds, for a distance of 2.2 ⁇ it is 600 seconds, for a distance of 2.3 ⁇ it is 700 seconds, for a distance of 2.4 ⁇ it is 800 seconds, and for a distance of 2.5 ⁇ it is 900 seconds. Therefore, the total estimated execution time is 3500 seconds. In contrast, it is assumed that the time limit specified by the user is 2500 seconds. Furthermore, the information processing device 100 determines the execution time after reduction for each distance by uniform allocation.
  • the information processing device 100 calculates a ratio ⁇ of 0.7 common to all VQE target distances by dividing the time limit by the total estimated execution time.
  • the information processing device 100 determines the reduced execution time by multiplying the estimated execution time for each distance by the ratio ⁇ .
  • the reduced execution time for a distance of 2.1 ⁇ is 350 seconds
  • the reduced execution time for a distance of 2.2 ⁇ is 420 seconds
  • the reduced execution time for a distance of 2.3 ⁇ is 490 seconds
  • the reduced execution time for a distance of 2.4 ⁇ is 560 seconds
  • the reduced execution time for a distance of 2.5 ⁇ is 630 seconds.
  • the total reduced execution time is 2450 seconds, which is within the time limit of 2500 seconds specified by the user.
  • FIG. 9 is a diagram showing a third example of adjusting the execution time of VQE.
  • Execution time adjustment table 137 shows the reduction in execution time for each distance.
  • the VQE target distance, estimated execution time, and time limit are the same as those in execution time adjustment table 136.
  • the information processing device 100 determines the reduced execution time by staggered distribution rather than uniform distribution.
  • the information processing device 100 determines the reduced execution time so that the ratio ⁇ is smaller the longer the VQE target distance is.
  • the information processing device 100 calculates the ratio ⁇ of each of the multiple VQE target distances using a linear formula of 0.9- ⁇ x.
  • the ratio ⁇ may also be calculated using a non-linear formula.
  • is a non-negative coefficient determined from the relationship between the estimated execution time and the time limit.
  • the ratio ⁇ at a distance of 2.1 ⁇ is 0.9, and the execution time after reduction is 450 seconds.
  • the ratio ⁇ at a distance of 2.2 ⁇ is 0.8, and the execution time after reduction is 480 seconds.
  • the ratio ⁇ at a distance of 2.3 ⁇ is 0.7, and the execution time after reduction is 490 seconds.
  • the ratio ⁇ at a distance of 2.4 ⁇ is 0.6, and the execution time after reduction is 480 seconds.
  • the ratio ⁇ at a distance of 2.5 ⁇ is 0.5, and the execution time after reduction is 450 seconds.
  • the total execution time after reduction is 2350 seconds, which is within the time limit of 2500 seconds specified by the user.
  • Figure 10 shows an example of the accuracy of the potential energy curve when the execution time is reduced.
  • Curve 41 is a potential energy curve that shows the energy calculated by FCI, and is interpreted as the correct potential energy curve.
  • Curve 42 is a potential energy curve showing the energy calculated by a VQE with the total execution time limited to 50% of the normal time.
  • the potential energy curve showing the energy calculated by a VQE with no execution time limit is similar to curve 42, and is therefore omitted from Figure 10.
  • Curve 43 is a potential energy curve showing the energy calculated by a VQE with the total execution time limited to 30% of the normal time.
  • Figure 11 shows examples of VQE errors.
  • Curve 44 shows the error of the energy calculated by a VQE that does not limit the execution time, relative to the energy calculated by FCI.
  • Curve 45 shows the error of the energy calculated by a VQE that limits the total execution time to 50% of the normal time, relative to the energy calculated by FCI.
  • Curve 46 shows the error of the energy calculated by a VQE that limits the total execution time to 30% of the normal time, relative to the energy calculated by FCI.
  • FIG. 12 is a block diagram showing an example of the functions of an information processing device.
  • the information processing device 100 has a molecular information storage unit 121, a control data storage unit 122, and an estimation model storage unit 123. These storage units are implemented using, for example, a RAM 102 or a HDD 103.
  • the information processing device 100 also has a CCSD execution unit 124, a VQE execution unit 125, an algorithm control unit 126, and an energy visualization unit 127. These processing units are implemented, for example, using the CPU 101 and a program. Note that one or both of the CCSD execution unit 124 and the VQE execution unit 125 may be separated into another information processing device.
  • the molecular information storage unit 121 stores molecular information.
  • the molecular information includes the type and position coordinates of atoms contained in the molecule to be simulated. The position coordinates of each atom are corrected according to the distance between two atoms of interest.
  • the molecular information storage unit 121 also stores basis functions specified by the user. The basis functions are usually selected by the user from a group of known basis functions according to the type of molecule and the purpose of the molecular simulation.
  • the control data storage unit 122 stores multiple distances for which energy is calculated.
  • the control data storage unit 122 also stores, for each of the multiple distances, the energy calculated by the classical algorithm and the number of iterations of the classical algorithm.
  • the control data storage unit 122 also stores, for each VQE target distance, the estimated execution time and estimated number of iterations of VQE.
  • the control data storage unit 122 also stores, for each VQE target distance, the energy calculated by VQE.
  • the estimation model storage unit 123 stores a time model that estimates the execution time for each iteration from the features of the quantum circuit.
  • the estimation model storage unit 123 also stores an iteration model that estimates the number of iterations of VQE from the interatomic distance and the number of iterations of the classical algorithm.
  • the time model and the iteration model are trained by the information processing device 100 or another information processing device.
  • the CCSD execution unit 124 executes a classical algorithm based on the specified molecular information and basis functions in response to instructions from the algorithm control unit 126. For example, CCSD(T) is executed as the classical algorithm. However, CCSD may also be executed.
  • the CCSD execution unit 124 calculates the basis energy for each piece of molecular information corresponding to one distance and outputs it to the algorithm control unit 126.
  • the CCSD execution unit 124 also measures the number of iterations and notifies the algorithm control unit 126.
  • the VQE execution unit 125 executes VQE based on the specified molecular information and basis functions in response to instructions from the algorithm control unit 126.
  • the VQE execution unit 125 generates a quantum circuit as preprocessing based on the molecular information and basis functions, and outputs the generated quantum circuit to the algorithm control unit 126.
  • the VQE execution unit 125 also repeatedly measures energy using the quantum circuit, and calculates the basis energy for each piece of molecular information corresponding to one VQE target distance, and outputs it to the algorithm control unit 126.
  • an upper limit on the number of iterations may be specified by the algorithm control unit 126.
  • the VQE execution unit 125 executes VQE so that the number of iterations does not exceed the upper limit. If the energy still does not satisfy the convergence condition even when the number of iterations reaches the upper limit, the VQE execution unit 125 forcibly stops VQE and outputs the last energy before convergence.
  • the algorithm control unit 126 accepts the time limit specification from the user.
  • the algorithm control unit 126 determines the VQE target distance based on the execution result of the classical algorithm, and limits the number of iterations for each VQE target distance so that the total execution time is equal to or less than the time limit.
  • the algorithm control unit 126 has the CCSD execution unit 124 calculate the energy of all distances and obtains the energy and number of iterations of the classical algorithm.
  • the algorithm control unit 126 scans the number of iterations of the classical algorithm in ascending order of distance, detects the boundary point where the number of iterations increases rapidly, and selects each distance after the boundary point as a VQE target distance.
  • the algorithm control unit 126 causes the VQE execution unit 125 to execute preprocessing for each VQE target distance, and acquires the features of the quantum circuit structure.
  • the algorithm control unit 126 uses the machine learning model stored in the estimation model storage unit 123 to estimate the execution time and number of iterations for each VQE target distance from the features of the quantum circuit and the number of iterations of the classical algorithm.
  • the algorithm control unit 126 determines the reduced number of iterations for each VQE target distance from the estimated execution time and estimated number of iterations for each VQE target distance and the specified time limit according to a certain calculation method.
  • the algorithm control unit 126 causes the VQE execution unit 125 to execute the VQE so that the number of iterations does not exceed the reduced number of iterations.
  • the energy visualization unit 127 reads out multiple energies corresponding to multiple distances from the control data storage unit 122, and generates a potential energy curve by plotting the read out energies. At this time, the energy visualization unit 127 uses the energy of VQE for distances where VQE has been performed, and uses the energy of the classical algorithm for distances where VQE has not been performed.
  • the energy visualization unit 127 outputs the generated potential energy curve.
  • the energy visualization unit 127 may store the potential energy curve in non-volatile storage, may display it on the display device 111, or may transmit it to another information processing device.
  • FIG. 13 is a flowchart showing an example of the procedure for quantum chemical calculation.
  • the algorithm control unit 126 acquires molecular information, basis functions, a distance list, and a time limit.
  • the distance list indicates multiple distances for which energy is calculated.
  • the CCSD execution unit 124 calculates the energy of each of the multiple distances indicated in the distance list using a classical algorithm such as CCSD(T). At this time, the CCSD execution unit 124 measures the number of iterations until the energy converges.
  • the algorithm control unit 126 records the energy and number of iterations of the classical algorithm calculated in step S11 for each distance indicated in the distance list.
  • the algorithm control unit 126 sorts the iterations of the classical algorithm in ascending order of distance.
  • the algorithm control unit 126 creates a window of width W that can accommodate W iterations and places it on the side with the smallest distance.
  • the algorithm control unit 126 calculates a regression line from the W number of iterations included in the window by the least squares method.
  • the algorithm control unit 126 shifts the window in the direction in which the distance increases by one step. Then, the process returns to step S13.
  • the algorithm control unit 126 determines the longest distance in the window and any distance longer than that as VQE target distances.
  • the VQE execution unit 125 generates a quantum circuit to be used in VQE based on the molecular information for each VQE target distance determined in step S16.
  • the algorithm control unit 126 identifies the number of quantum bits, the depth of the Ansatz circuit, and the number of terms of the Hamiltonian from the quantum circuit generated in step S17.
  • the algorithm control unit 126 estimates the execution time for each iteration in VQE by inputting the number of quantum bits, the depth of the Ansatz circuit, and the number of Hamiltonian terms into a trained time model. This execution time for each iteration is an estimate that takes into account, for example, robustness and uncertainty.
  • the algorithm control unit 126 estimates the number of iterations of VQE by inputting the interatomic distances and the number of iterations of the classical algorithm into a trained iterative model. This number of iterations is an estimated value that takes into account, for example, robustness and uncertainty.
  • the algorithm control unit 126 estimates the execution time of VQE by multiplying the execution time for each iteration in step S19 by the number of iterations in step S20. 14 is a flowchart (continuation) showing an example of the procedure of quantum chemical calculation. (S22) The algorithm control unit 126 sums up the estimated execution times calculated in step S21 for a plurality of VQE target distances.
  • the algorithm control unit 126 determines whether the total estimated execution time is less than or equal to the time limit. If the total estimated execution time is less than or equal to the time limit, processing proceeds to step S24. If the total estimated execution time exceeds the time limit, processing proceeds to step S25.
  • the VQE execution unit 125 calculates the energy of each of the multiple VQE target distances by executing VQE without limiting the number of iterations.
  • the algorithm control unit 126 records the calculated VQE energy. Then, the process proceeds to step S28.
  • the algorithm control unit 126 reduces the execution time for each VQE target distance below the estimated execution time based on the time limit. At this time, the algorithm control unit 126 sets the total execution time after reduction to be equal to or less than the time limit.
  • the ratio of the execution time after reduction to the estimated execution time may be common to all VQE target distances, or may differ depending on the VQE target distance.
  • the algorithm control unit 126 calculates the reduced number of iterations for each VQE target distance based on the reduced execution time calculated in step S25. For example, the algorithm control unit 126 calculates the reduced number of iterations so that the ratio of the reduced execution time to the estimated execution time is the same as the ratio of the reduced number of iterations to the estimated number of iterations.
  • the VQE execution unit 125 calculates the energy for each of the multiple VQE target distances by executing VQE so that the number of iterations does not exceed the number of iterations after reduction in step S26. When the number of iterations reaches the number of iterations after reduction, the VQE execution unit 125 forcibly stops VQE even if the energy has not converged, and outputs the last calculated energy.
  • the algorithm control unit 126 replaces the classical algorithm energy calculated in step S11 with the VQE energy calculated in step S27 for the VQE target distances among the distances included in the distance list.
  • the energy visualization unit 127 generates a potential energy curve from the multiple energies corresponding to the multiple distances after the replacement in step S28.
  • the energy visualization unit 127 displays the generated potential energy curve.
  • the information processing device 100 of the second embodiment generates a potential energy curve that indicates the relationship between interatomic distances and the ground state energy of a molecule through quantum chemical calculations. This allows the information processing device 100 to provide useful information about molecular properties and support research and development such as material development and pharmaceutical development.
  • the information processing device 100 calculates the energy for all interatomic distances using a classical algorithm with a short execution time, and recalculates the energy for some of the longer interatomic distances using the highly accurate VQE. This allows the information processing device 100 to balance accuracy and execution time and efficiently generate potential energy curves.
  • the information processing device 100 detects boundary points where the number of iterations of the classical algorithm increases sharply, and selects the distance after the boundary point as the VQE target distance. This automatically determines interatomic distances that are less accurate when using the classical algorithm, reducing the risk that interatomic distances for which it is better to recalculate the energy using VQE will be omitted from the selection targets.
  • the information processing device 100 limits the number of iterations for each of the multiple VQE target distances so that the total execution time of VQE is within the time limit. This improves the overall accuracy of the potential energy curve compared to when VQE is actually executed only for some of the VQE target distances without limiting the number of iterations. For example, the risk of generating an unnatural potential energy curve in which there is a discontinuity between the low-accuracy energy calculated by the classical algorithm and the high-accuracy energy calculated by VQE is reduced.
  • the information processing device 100 estimates the execution time and number of iterations of VQE using a trained machine learning model from the features of the quantum circuit structure and the measured value of the number of iterations of the classical algorithm. This allows the execution time and number of iterations of VQE to be estimated with high accuracy before VQE is executed. Therefore, the information processing device 100 can generate a potential energy curve with as high accuracy as possible while adhering to the time limit specified by the user.
  • the information processing device 100 may decrease the ratio of the reduced execution time to the estimated execution time and may increase the limit on the number of iterations as the VQE target distance increases. This reduces the impact on accuracy caused by reducing the total execution time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Complex Calculations (AREA)

Abstract

複数の原子間距離に対応する分子エネルギーを効率的に算出する。 情報処理装置(10)は、分子情報(13)に基づいて、原子間距離(14a,14b,14c)に対して、量子回路データを用いて分子エネルギーを算出するアルゴリズムの推定実行時間(15a,15b,15c)と推定反復回数(16a,16b,16c)とを推定する。情報処理装置(10)は、制限時間(17)と推定実行時間(15a,15b,15c)および推定反復回数(16a,16b,16c)とに基づいて、原子間距離(14a,14b,14c)の反復回数(18a,18b,18c)を決定する。情報処理装置(10)は、反復回数(18a,18b,18c)に基づいて、原子間距離(14a,14b,14c)の分子エネルギー(19a,19b,19c)を、アルゴリズムを実行することで算出する。

Description

分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置
 本発明は分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置に関する。
 コンピュータは、数値計算を通じて分子の特性を分析する分子シミュレーションを行うことがある。分子シミュレーションは、材料開発や医薬品開発などの産業分野で利用されることがある。分子シミュレーションには、分子の電子状態とシュレーディンガー方程式とに基づいて微視的に分子エネルギーを算出する量子化学計算が含まれる。
 量子化学計算のアルゴリズムには、変分量子固有値ソルバ法(VQE:Variational Quantum Eigensolver)など、量子回路データを用いるアルゴリズムがある。量子回路データを用いるアルゴリズムは、量子コンピュータが実行することも可能である。また、量子化学計算のアルゴリズムには、配置間相互作用法(CI:Configuration Interaction)や結合クラスタ法(CC:Coupled Cluster)など、他のアルゴリズムもある。
 なお、制御パラメータを用いて量子状態を生成し、量子状態に対応するエネルギーを測定し、エネルギーが低下するように制御パラメータを更新し、上記の処理を最低エネルギーが求まるまで繰り返すシステムが提案されている。また、量子コンピュータを用いて、物理システムのエネルギーレベルを決定する方法が提案されている。また、複数の量子計算器を制御して分子の基底エネルギーを探索する情報処理装置が提案されている。
国際公開第2019/057317号 国際公開第2019/150090号 国際公開第2022/107298号
 コンピュータは、着目する2つの原子の距離を変えながら分子エネルギーを算出して、原子間距離と分子エネルギーとの関係を分析することがある。例えば、コンピュータは、原子間距離と分子の基底エネルギーとの関係を示すポテンシャルエネルギー曲線(PEC:Potential Energy Curve)を生成することがある。
 しかし、量子化学計算のアルゴリズムには、精度と実行時間との間にトレードオフの関係がある。VQEのように量子回路データを用いるアルゴリズムは、精度の高い分子エネルギーを算出することができる一方、長い実行時間を要することがある。これに対して、コンピュータは、量子化学計算に膨大な時間をかけることができるとは限らず、ユーザなどによって制限時間が指定される可能性もある。そこで、1つの側面では、本発明は、複数の原子間距離に対応する分子エネルギーを効率的に算出することを目的とする。
 1つの態様では、以下の処理をコンピュータに実行させることを特徴とする分子シミュレーションプログラムが提供される。分析対象の分子を示す分子情報に基づいて、複数の原子間距離それぞれに対して、量子回路データを用いて分子エネルギーを算出する第1のアルゴリズムの推定実行時間と、推定実行時間の間に行われる反復処理の推定反復回数とを推定する。指定された制限時間と複数の原子間距離それぞれにおける推定実行時間および推定反復回数とに基づいて、複数の原子間距離それぞれの反復回数を決定する。決定された反復回数に基づいて、複数の原子間距離それぞれの分子エネルギーを、第1のアルゴリズムを実行することで算出する。
 また、1つの態様では、コンピュータが実行することを特徴とする分子シミュレーション方法が提供される。また、1つの態様では、記憶部と制御部とを有することを特徴とする情報処理装置が提供される。
 1つの側面では、複数の原子間距離に対応する分子エネルギーを効率的に算出できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置を説明するための図である。 第2の実施の形態の情報処理装置のハードウェア例を示す図である。 ポテンシャルエネルギー曲線の精度例を示す図である。 原子間距離と古典アルゴリズムの反復回数との関係例を示す図である。 古典アルゴリズムの誤差および反復回数の傾きの例を示す図である。 VQE実行時間の推定例を示す図である。 VQEの実行時間を調整する第1の例を示す図である。 VQEの実行時間を調整する第2の例を示す図である。 VQEの実行時間を調整する第3の例を示す図である。 実行時間削減時のポテンシャルエネルギー曲線の精度例を示す図である。 VQEの誤差の例を示す図である。 情報処理装置の機能例を示すブロック図である。 量子化学計算の手順例を示すフローチャートである。 量子化学計算の手順例を示すフローチャート(続き)である。
 以下、本実施の形態を図面を参照して説明する。まず、第1の実施の形態を説明する。図1は、第1の実施の形態の情報処理装置を説明するための図である。第1の実施の形態の情報処理装置10は、量子化学計算による分子シミュレーションを行う。情報処理装置10は、複数の原子間距離に対応する複数の分子エネルギーを算出し、原子間距離と分子エネルギーとを対応付けた情報を出力する。例えば、情報処理装置10は、ポテンシャルエネルギー曲線を生成して出力する。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が、コンピュータ、分子シミュレーション装置または量子化学計算装置と呼ばれてもよい。
 情報処理装置10は、記憶部11および制御部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。
 制御部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、制御部12が、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を含んでもよい。プロセッサは、例えば、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
 記憶部11は、分析対象の分子を示す分子情報13を記憶する。分子情報13は、分子構造を示し、例えば、分子に含まれる複数の原子それぞれの種類および座標を示す。また、記憶部11は、あるアルゴルズムによって分子エネルギーを算出したい複数の原子間距離を記憶する。原子間距離は、分子の中の着目する2つの原子の距離である。距離は、例えば、ユークリッド距離である。分子エネルギーは、例えば、分子が安定状態にあるときの基底エネルギーである。原子間距離が変化すると、分子エネルギーが変化する。
 一例として、記憶部11は、原子間距離14a,14b,14cを記憶する。原子間距離14bは原子間距離14aより長く、原子間距離14cは原子間距離14bより長い。また、記憶部11は、制限時間17を記憶する。制限時間17は、量子化学計算の所要時間の上限であり、ユーザから指定されてもよい。制限時間17は、例えば、記憶部11に記憶された複数の原子間距離に対応する複数の分子エネルギーの全てを、上記のアルゴリズムによって算出するための合計実行時間の上限である。
 上記のアルゴリズムは、量子回路データを用いて分子エネルギーを算出するものであり、例えば、VQEなどの量子アルゴリズムである。量子回路データは、量子ビットに対するゲート操作を規定する量子計算モデルである。
 上記のアルゴリズムは、ゲート型の量子コンピュータで実行されることがある。また、アルゴリズムは、量子コンピュータの動作をシミュレートするソフトウェアを用いて、ノイマン型の古典コンピュータで実行されることがある。情報処理装置10は、アルゴリズムを自身で実行してもよいし、他の情報処理装置に実行させてもよい。
 量子回路データは、例えば、アンザッツ(Ansatz)回路と測定回路とを含む。アンザッツ回路は、1以上の量子ビットを用いて量子状態を生成するものであり、シュレーディンガー方程式の波動関数を近似した基底関数に基づいて生成される。測定回路は、量子状態から分子エネルギーを測定するものであり、分子の種類に応じて、シュレーディンガー方程式のハミルトニアンに基づいて生成される。
 上記のアルゴリズムは、例えば、ある電子配置について、量子状態を生成して分子エネルギーを測定することを複数回行って、その電子配置における分子エネルギーの期待値を算出する。アルゴリズムは、電子配置を変えながら分子エネルギーの期待値を算出することを繰り返し、最小の分子エネルギーを探索する。アルゴリズムは、最小の分子エネルギーを基底エネルギーとして出力する。
 なお、情報処理装置10は、他の原子間距離に対応する他の分子エネルギーを、上記のアルゴリズム以外の他のアルゴリズムを用いて算出してもよい。他の原子間距離は、記憶部11に記憶された上記の原子間距離よりも短いものであってもよい。記憶部11は、そのような他の原子間距離を更に記憶してもよい。
 他のアルゴリズムは、上記のアルゴリズムと異なる方法によって分子エネルギーを算出する。他のアルゴリズムは、例えば、量子回路データを用いない古典アルゴリズムであり、古典コンピュータによって実行されることが想定される。他のアルゴリズムは、CISD(Configuration Interaction Singles and Doubles)などの配置間相互作用法でもよいし、CCSD(Coupled Cluster Singles and Doubles)やCCSD(T)(CCSD (and Triples))などの結合クラスタ法でもよい。
 他のアルゴリズムは、例えば、波動関数を近似した基底関数に基づいて一定の計算式を生成し、ある電子配置について分子エネルギーを算出する。このとき、他のアルゴリズムは、計算量の抑制のため、3電子励起以上または4電子励起以上の高次の電子励起を無視することがある。他のアルゴリズムは、電子配置を変えながら分子エネルギーを算出することを繰り返し、最小の分子エネルギーを探索する。他のアルゴリズムは、最小の分子エネルギーを基底エネルギーとして出力する。
 制御部12は、分子情報13に基づいて、原子間距離14a,14b,14cに対して、推定実行時間15a,15b,15cおよび推定反復回数16a,16b,16cを推定する。推定実行時間15aおよび推定反復回数16aは、原子間距離14aに対応する。推定実行時間15bおよび推定反復回数16bは、原子間距離14bに対応する。推定実行時間15cおよび推定反復回数16cは、原子間距離14cに対応する。
 推定実行時間15a,15b,15cはそれぞれ、アルゴリズムが1つの原子間距離に対応する1つの最終的な分子エネルギーを出力するための時間である。推定実行時間15a,15b,15cにはそれぞれ、分子エネルギーが収束するまでの反復処理の時間が含まれる。推定反復回数16a,16b,16cはそれぞれ、上記の反復処理の反復回数である。推定実行時間15a,15b,15cおよび推定反復回数16a,16b,16cは、アルゴリズムの反復回数を制限しない場合の推定値であり、例えば、最長実行時間の推定値および最大反復回数の推定値である。
 制御部12は、複数の原子間距離それぞれについて、分子情報13から量子回路データを生成してもよく、量子回路データの構造の特徴量を用いて推定実行時間を推定してもよい。また、制御部12は、複数の原子間距離それぞれについて、配置間相互作用法や結合クラスタ法などの他のアルゴリズムを実行してもよく、他のアルゴリズムの実行結果に基づいて推定反復回数を推定してもよい。他のアルゴリズムの実行結果は、他のアルゴリズムで実行される反復処理の反復回数の測定値であってもよい。
 制御部12は、制限時間17、推定実行時間15a,15b,15cおよび推定反復回数16a,16b,16cに基づいて、原子間距離14a,14b,14cの反復回数18a,18b,18cを決定する。反復回数18aは原子間距離14aに対応し、反復回数18bは原子間距離14bに対応し、反復回数18cは原子間距離14cに対応する。
 反復回数18a,18b,18cは、例えば、上記のアルゴリズムの反復回数の上限であり、制限された反復回数に相当する。反復回数18a,18b,18cは、対応する推定反復回数以下であってもよく、反復回数18a,18b,18cの少なくとも一部は、対応する推定反復回数より少なくてもよい。例えば、推定実行時間15a,15b,15cの合計が制限時間17以下である場合、制御部12は、何れの原子間距離の反復回数も制限しない。一方、推定実行時間15a,15b,15cの合計が制限時間17を超える場合、制御部12は、少なくとも1つの原子間距離の反復回数を制限する。
 例えば、制御部12は、推定実行時間15a,15b,15cの合計と制限時間17とから比率を算出し、算出された比率を推定反復回数16a,16b,16cに乗じて反復回数18a,18b,18cを算出する。比率は、原子間距離14a,14b,14cに共通であってもよく、制限時間17を推定実行時間15a,15b,15cの合計で割ったものであってもよい。また、比率は、原子間距離によって異なってもよい。例えば、制御部12は、原子間距離が長いほど、推定反復回数に対する制限後の反復回数の比率が小さくなるように、比率を重み付けする。
 制御部12は、反復回数18a,18b,18cに基づいて、原子間距離14a,14b,14cに対応する分子エネルギー19a,19b,19cを、上記のアルゴリズムを実行することで算出する。例えば、制御部12は、反復回数18a,18b,18cまではアルゴリズムの反復処理を許容し、反復回数18a,18b,18cに到達すると、分子エネルギーがまだ収束していなくても反復処理を強制的に停止する。この場合、制御部12は、停止前までの反復処理の結果に基づいて分子エネルギーを出力してもよく、最後のイテレーションで算出された分子エネルギーを出力してもよい。
 制御部12は、原子間距離14a,14b,14cと対応付けて分子エネルギー19a,19b,19cを出力する。制御部12は、分子エネルギー19a,19b,19cを不揮発性ストレージに保存してもよいし、表示装置に表示してもよいし、他の情報処理装置に送信してもよい。また、制御部12は、他のアルゴリズムを用いて算出された他の原子間距離に対応する他の分子エネルギーを、分子エネルギー19a,19b,19cと併せて出力してもよい。複数の原子間距離と複数の分子エネルギーとを対応付けた情報は、ポテンシャルエネルギー曲線の形式をとってもよい。
 以上説明したように、第1の実施の形態の情報処理装置10は、分子情報13に基づいて、複数の原子間距離それぞれに対して、量子回路データを用いて分子エネルギーを算出するアルゴリズムの推定実行時間と推定反復回数とを推定する。情報処理装置10は、制限時間17と各原子間距離の推定実行時間および推定反復回数とに基づいて、各原子間距離の反復回数を決定する。情報処理装置10は、決定された反復回数に基づいて、各原子間距離の分子エネルギーを、アルゴリズムを実行することで算出する。
 これにより、情報処理装置10は、指定された制限時間17を考慮しつつ精度の高い分子エネルギーを算出することができ、制限時間17と分子エネルギーの精度とのバランスを図ることができる。よって、情報処理装置10は、量子化学計算において、複数の原子間距離に対応する分子エネルギーを効率的に算出することができる。
 なお、少なくとも一部の原子間距離について決定された反復回数は、推定反復回数より少なくてもよい。これにより、複数の原子間距離の実行時間の合計が削減される。例えば、実行時間の合計が、制限時間17以下に抑制される。また、多くの原子間距離の分子エネルギーが、量子回路データを用いるアルゴリズムによって算出される。
 また、情報処理装置10は、推定実行時間の合計と制限時間とに基づいて、各原子間距離の実行時間の上限を決定してもよく、決定された実行時間の上限から反復回数の上限を決定してもよい。これにより、実行時間と反復回数との間の比例関係を利用して、実行時間が所望の範囲に収まるように反復回数が適切に調整される。
 また、推定反復回数に対する決定された反復回数の比率は、複数の原子間距離の間で異なってもよい。これにより、反復回数の増加に対する分子エネルギーの精度の向上の傾向が、原子間距離によって異なる場合、情報処理装置10は、そのような傾向の違いを利用して、分子エネルギーの精度の低下を抑制することができる。また、原子間距離が長いほど、上記の比率が小さくてもよい。これにより、原子間距離が長いほど、分子エネルギーが収束値の近くに到達してから完全に収束するまでの所要時間が長い場合、情報処理装置10は、精度低下を抑制しつつ実行時間を削減できる。
 また、情報処理装置10は、実行された反復回数が、事前に決定された反復回数に到達した場合、アルゴリズムを強制的に停止してもよく、停止までの反復処理の結果に基づいて分子エネルギーを出力してもよい。これにより、指定された制限時間17の範囲内で、できる限り精度の高い分子エネルギーが出力される。
 また、情報処理装置10は、他の原子間距離の分子エネルギーを、他のアルゴリズムを実行することで算出してもよく、当該他のアルゴリズムによって算出された分子エネルギーも含むポテンシャルエネルギー曲線情報を出力してもよい。これにより、情報処理装置10は、複数のアルゴリズムを使い分けて、効率的にポテンシャルエネルギー曲線情報を生成することができる。例えば、他の原子間距離(例えば、短い原子間距離)については、他のアルゴリズムが短時間で十分な精度の分子エネルギーを算出することができる場合、上記の原子間距離に絞って上記のアルゴリズムが実行される。
 次に、第2の実施の形態を説明する。第2の実施の形態の情報処理装置100は、量子化学計算によって、着目する2つの原子の距離と分子の基底エネルギーとの関係を示すポテンシャルエネルギー曲線を生成する。情報処理装置100は、複数のアルゴリズムを実行することができる。ただし、一部または全部のアルゴリズムが、他の情報処理装置によって実行されてもよい。他の情報処理装置は、量子コンピュータであってもよい。
 情報処理装置100は、クライアント装置でもよいしサーバ装置でもよい。また、情報処理装置100は、データセンタに設置されてもよく、クラウドシステムに含まれてもよい。クラウドシステムは、量子化学計算に関するジョブの要求をネットワーク経由で受信し、生成されたポテンシャルエネルギー曲線を返信することがある。情報処理装置100が、コンピュータ、分子シミュレーション装置または量子化学計算装置と呼ばれてもよい。情報処理装置100は、第1の実施の形態の情報処理装置10に対応する。
 図2は、第2の実施の形態の情報処理装置のハードウェア例を示す図である。情報処理装置100は、バスに接続されたCPU101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。CPU101は、第1の実施の形態の制御部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
 CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムおよびデータをRAM102にロードし、プログラムを実行する。情報処理装置100は、複数のプロセッサを有してもよい。
 RAM102は、CPU101で実行されるプログラムおよびCPU101で演算に使用されるデータを一時的に記憶する揮発性半導体メモリである。情報処理装置100は、RAM以外の種類の揮発性メモリを有してもよい。
 HDD103は、オペレーティングシステム(OS:Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラムと、データとを記憶する不揮発性ストレージである。情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の不揮発性ストレージを有してもよい。
 GPU104は、CPU101と連携して画像処理を行い、情報処理装置100に接続された表示装置111に画像を出力する。表示装置111は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイまたはプロジェクタである。情報処理装置100に、プリンタなどの他の種類の出力デバイスが接続されてもよい。
 また、GPU104は、GPGPU(General Purpose Computing on Graphics Processing Unit)として使用されてもよい。GPU104は、CPU101からの指示に応じてプログラムを実行し得る。情報処理装置100は、RAM102以外の揮発性半導体メモリをGPUメモリとして有してもよい。
 入力インタフェース105は、情報処理装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112は、例えば、マウス、タッチパネルまたはキーボードである。情報処理装置100に複数の入力デバイスが接続されてもよい。
 媒体リーダ106は、記録媒体113に記録されたプログラムおよびデータを読み取る読み取り装置である。記録媒体113は、例えば、磁気ディスク、光ディスクまたは半導体メモリである。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)およびHDDが含まれる。光ディスクには、CD(Compact Disc)およびDVD(Digital Versatile Disc)が含まれる。媒体リーダ106は、記録媒体113から読み取られたプログラムおよびデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、CPU101によって実行されることがある。
 記録媒体113は、可搬型記録媒体であってもよい。記録媒体113は、プログラムおよびデータの配布に用いられることがある。また、記録媒体113およびHDD103が、コンピュータ読み取り可能な記録媒体と呼ばれてもよい。
 通信インタフェース107は、ネットワーク114を介して他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
 次に、量子化学計算とその求解アルゴリズムについて説明する。量子化学計算は、分子シミュレーションの一種であり、分子構造や分子間相互作用を電子状態から解析する。量子化学計算は、材料開発の支援や医薬品開発の支援に用いられることがある。量子化学計算は、微視的な分子シミュレーションであり、解析精度が高いものの計算負荷が高い。
 量子化学計算は、シュレーディンガー方程式HΨ=EΨを解く。Hはハミルトニアン、Ψは波動関数、Eはエネルギーである。ハミルトニアンHは、対象の分子構造に依存する。波動関数Ψは電子の固有状態に相当し、エネルギーEはΨに対応する固有エネルギーに相当する。量子化学計算は、分子構造が安定しているときの基底エネルギーを算出する。ただし、シュレーディンガー方程式を直接解くことは難しい。
 そこで、量子化学計算は、波動関数Ψを基底関数で表現する。基底関数は、既知関数の線形結合である。基底関数に含まれる複数の項それぞれが、分子軌道に対応する。分子軌道は、分子に含まれる電子のうち何れか1つの電子が入る可能性のある場所である。量子化学計算は、分子に含まれる複数の原子の位置を示す分子情報、求解アルゴリズムおよび基底関数の指定をユーザから受け付け、指定された情報に基づいて基底エネルギーを算出する。ただし、第2の実施の形態では、求解アルゴリズムは指定されなくてもよい。情報処理装置100は、量子化学計算によってポテンシャルエネルギー曲線を生成する。
 ポテンシャルエネルギー曲線は、異なる原子間距離に対応するポテンシャルエネルギーを示す。ポテンシャルエネルギーは、各原子が静止していると仮定した場合に分子がもつエネルギーである。ポテンシャルエネルギー曲線の横軸は、原子間距離を表す。ポテンシャルエネルギー曲線の縦軸は、基底エネルギーを表す。
 距離の単位は、例えば、オングストローム(Å)である。エネルギーの単位は、例えば、ハートリーである。エネルギーは、一定範囲に含まれる離散的な複数の距離それぞれに対して算出される。それら複数の距離は、等間隔であってもよい。例えば、エネルギーは、0.8Åから2.8Åまで0.1Å間隔で算出される。算出されたエネルギーをプロットして線で結ぶことで、ポテンシャルエネルギー曲線が生成される。ポテンシャルエネルギー曲線の極小点は、分子の最も安定した状態を表すことがある。ポテンシャルエネルギー曲線の極大点は、分子の遷移状態を表すことがある。
 図3は、ポテンシャルエネルギー曲線の精度例を示す図である。第2の実施の形態では、量子化学計算のアルゴリズムとして、CCSD(T)とVQEを使い分けることを考える。ただし、CCSD(T)に代えてCISDまたはCCSDが使用されてもよい。また、図3には、精度が極めて高いアルゴリズムとしてFCI(Full Configuration Interaction)も記載されている。
 曲線31は、FCIのみで生成されるポテンシャルエネルギー曲線である。曲線32は、CCSD(T)のみで生成されるポテンシャルエネルギー曲線である。曲線33は、VQEのみで生成されるポテンシャルエネルギー曲線である。
 FCIは、古典コンピュータでの実行を想定した古典アルゴリズムである。FCIは、指定された分子情報および基底関数のもとで、エネルギーの厳密解を求める。このため、FCIは、解の精度が高いものの実行時間が長い。FCIは、分子軌道数の階乗のオーダーの計算量をもつ。このため、規模の大きい分子のエネルギーをFCIで算出することは難しい。厳密解を求めるというFCIの性質上、FCIによって算出されるエネルギーは、正解のエネルギーと解釈されることがある。
 CCSD(T)は、古典コンピュータでの実行を想定した古典アルゴリズムである。CCSD(T)は、指定された分子情報および基底関数のもとで、エネルギーの近似解を求める。このため、CCSD(T)は、FCIよりも解の精度が低く、FCIよりも実行時間が短い。CCSD(T)は、分子軌道数の7乗のオーダーの計算量をもつ。なお、CCSDは、CCSD(T)よりも更に解の精度が低く実行時間が短い。
 CCSD(T)は、電子状態として、1電子励起および2電子励起がエネルギーに与える影響を厳密に計算し、3電子励起がエネルギーに与える影響を摂動から求める。CCSD(T)は、4電子励起以上の高次の電子励起の影響を無視する。CCSD(T)は、電子配置を変えながらエネルギーを繰り返し算出し、最小のエネルギーを探索する。CCSD(T)は、算出されるエネルギーが収束するまで反復計算を行う。例えば、CCSD(T)は、最新のエネルギーと1つ前のイテレーションで算出されたエネルギーとを比較し、両者の差が閾値未満になると反復処理を停止する。
 CCSD(T)は、原子間距離が短い場合には、FCIに対して比較的良好な近似解を算出することが多い。一方、CCSD(T)は、原子間距離が長い場合には、精度の低い近似解を算出することがある。これは、原子間距離が長い場合、外側の分子軌道がエネルギーに与える影響が大きく、4電子励起以上の高次の電子励起の影響を無視するCCSD(T)では、近似解の誤差が大きくなるためである。また、CCSD(T)では、最終的に出力されるエネルギーの精度が低い場合には、収束までの反復回数も多くなる傾向がある。これは、反復計算を行っても近似解が正解値の近傍で変動し続けてしまい、近似解が安定的に正解値に向かって収束しないことがあるためである。
 VQEは、ゲート型の量子コンピュータでの実行を想定した量子アルゴリズムである。ただし、量子シミュレータを用いることで、古典コンピュータ上でVQEを実行することも可能である。量子シミュレータは、量子コンピュータの動作をソフトウェアによってシミュレートする。その場合、量子ビットが1ビット増加する毎に、古典コンピュータではメモリ使用量および計算量が2倍になる。第2の実施の形態では、量子シミュレータを用いてVQEを実行することを想定する。VQEの解の精度および実行時間は、FCIとCCSD(T)の中間である。すなわち、解の精度は、FCIより低くCCSD(T)より高い。実行時間は、FCIより短くCCSD(T)より長い。
 VQEは、指定された基底関数に基づいて、複数の量子ビットを用いて量子状態を生成する量子回路を形成する。この量子回路は、アンザッツ回路と呼ばれることがある。また、VQEは、指定された分子情報に対応するハミルトニアンに基づいて、量子状態からエネルギーを測定する量子回路を形成する。この量子回路は、測定回路と呼ばれることがある。量子回路は、量子ゲートの組み合わせにより記述される量子計算モデルである。量子コンピュータでは、物理的な量子ビットを用いて量子回路が実装される。量子シミュレータでは、擬似的な量子ビットデータがメモリに記憶され、擬似的な量子ゲート操作が古典プログラムを用いて実装される。
 VQEは、アンザッツ回路を用いて量子状態を生成し、測定回路を用いてエネルギーを測定する。個々の測定値は、ノイズや揺らぎの影響を受けている。VQEは、同一の電子配置に関して量子状態の生成およびエネルギーの測定を複数回行い、その平均値をエネルギーの期待値として算出する。VQEは、エネルギーの期待値が小さくなるように、量子状態を生成するためのパラメータ値を変更する。パラメータ値の変更は、電子配置の変更に相当する。VQEは、上記の処理を繰り返すことで、基底エネルギーを探索する。例えば、VQEは、エネルギーの期待値が収束するまで上記の処理を繰り返す。
 なお、「古典コンピュータ」は、例えば、「量子コンピュータ」と対比されるノイマン型コンピュータである。「古典アルゴリズム」は、例えば、「量子アルゴリズム」と対比されるアルゴリズムであり、量子回路を用いない。
 曲線32,33に示すように、原子間距離が長いと、VQEと比べてCCSD(T)の精度が顕著に低くなることがある。一方で、CCSD(T)と比べてVQEの実行時間は顕著に長い。例えば、VQEの実行時間は、CCSD(T)の1000倍を超えることがある。この点、情報処理装置100は、ポテンシャルエネルギー曲線の生成に要する実行時間を無視できるわけではなく、ユーザから指定された制限時間以下でポテンシャルエネルギー曲線を生成することが求められることがある。
 そこで、情報処理装置100は、アルゴリズムの自動選択により、ユーザから指定された制限時間以下で、できる限り精度が高いポテンシャルエネルギー曲線を生成する。情報処理装置100は、短い距離についてはCCSD(T)のエネルギーを採用し、長い距離についてはVQEのエネルギーを採用する。このとき、CCSD(T)の精度が顕著に低下し始める距離は、分子の種類によって異なる。そこで、情報処理装置100は、CCSD(T)の実行結果から、VQE対象の距離を自動的に選択する。
 第2の実施の形態では、情報処理装置100は、まず全ての距離についてCCSD(T)を実行する。CCSD(T)の実行時間は、無視できるほど短いと仮定する。次に、情報処理装置100は、距離毎のCCSD(T)の反復回数を分析し、CCSD(T)の精度が低下し始める境界点を検出し、境界点以降の距離をVQE対象として選択する。情報処理装置100は、選択した距離について追加的にVQEを実行する。
 このとき、情報処理装置100は、選択した距離それぞれについて、エネルギーが収束するまでにVQEが通常要する実行時間および反復回数を推定する。選択した距離の全てに対してVQEを通常通り実行すると合計実行時間が制限時間を超えてしまう場合、情報処理装置100は、VQEの反復回数を制限することで制限時間を遵守する。VQEの反復回数を制限する場合、エネルギーが収束する前にVQEが打ち切られることがある。
 次に、境界点の検出について説明する。図4は、原子間距離と古典アルゴリズムの反復回数との関係例を示す図である。曲線34は、原子間の距離とCCSD(T)の反復回数との関係を示す。前述のように、距離が長いほどCCSD(T)の精度が低く、距離が長いほどCCSD(T)の反復回数が多い。CCSD(T)の精度が低下し始めるときは、CCSD(T)の反復回数が顕著に増加する。
 そこで、情報処理装置100は、CCSD(T)が各距離のエネルギーを出力する際に、CCSD(T)の反復回数も測定して記録しておく。情報処理装置100は、CCSD(T)の反復回数を距離の昇順に走査し、反復回数が顕著に増加したことを検出すると、CCSD(T)の精度が低下し始めたと判定する。
 例えば、情報処理装置100は、直近の一定個数の距離および反復回数(例えば、直近5個の距離および反復回数)から、最小二乗法によって回帰直線をフィッティングし、回帰直線の傾きを算出する。情報処理装置100は、最新の傾きが、1つ前の距離の時点で算出された傾きより大きいか判断する。情報処理装置100は、傾きが一定回数連続で増加した場合(例えば、3回連続で増加した場合)、その時点の距離を境界点とみなす。情報処理装置100は、境界点およびそれより大きい距離それぞれを、VQE対象として選択する。ただし、境界点がVQE対象から除外されてもよく、情報処理装置100は、境界点より大きい距離それぞれをVQE対象として選択してもよい。
 曲線34の例では、距離1.4Åにおいて、距離1.0Å~1.4Åの反復回数から、傾きが0の回帰直線が算出される。距離1.5Åにおいて、距離1.1Å~1.5Åの反復回数から、傾きが正の回帰直線が算出される。距離1.6Åにおいて、距離1.2Å~1.6Åの反復回数から、距離1.5Åよりも傾きが大きい回帰直線が算出される。距離1.7Åにおいて、距離1.3Å~1.7Åの反復回数から、距離1.6Åよりも傾きが大きい回帰直線が算出される。そこで、情報処理装置100は、距離1.7Å以降(または、距離1.8Å以降)の各距離を、VQE対象として選択する。
 図5は、古典アルゴリズムの誤差および反復回数の傾きの例を示す図である。曲線35は、FCIによって算出されるエネルギーに対する、CCSD(T)によって算出されるエネルギーの誤差の絶対値を示す。曲線35に示すように、CCSD(T)の誤差は、距離1.5Åから距離2.0Åにかけて急激に増加している。曲線36は、直近5点の反復回数の傾きを示す。曲線36に示すように、CCSD(T)の反復回数の傾きは、距離1.5Åから距離2.0Åまで連続して増加している。よって、情報処理装置100は、反復回数の傾きを監視することで、誤差が顕著に増加し始めたことを検出できる。
 次に、VQEの実行時間の推定について説明する。情報処理装置100は、事前に訓練された機械学習モデルを用いてVQEの実行時間を推定する。機械学習モデルが推定器と呼ばれてもよい。第2の実施の形態の機械学習モデルは、ガウス過程によって生成されるガウス過程回帰モデルである。この機械学習モデルを訓練する機械学習は、情報処理装置100によって行われてもよいし、他の情報処理装置によって行われてもよい。
 機械学習モデルは、VQEのイテレーション毎の実行時間を推定する時間モデルと、VQEの反復回数を推定する反復モデルとを含む。イテレーション毎の実行時間は、1つの電子配置に対応するエネルギーの期待値を算出する時間に相当する。反復回数は、電子配置を変更する試行回数に相当する。VQEの実行時間の推定値は、時間モデルが推定する実行時間と反復モデルが推定する反復回数との積である。
 ただし、実際の反復回数は、ランダム性によって揺れることがあり、期待値よりも上振れするリスクがある。また、訓練データが少ないことに起因して、反復モデルの推定結果に不確実性が生じることがある。そこで、情報処理装置100は、ランダム性および不確実性の少なくとも一方を考慮して、期待値より多い反復回数を出力する反復モデルを使用することがある。以下、数式を用いて機械学習モデルの一例を説明する。
 まず、イテレーション毎の実行時間を推定する時間モデルについて説明する。時間モデルの説明変数は、数式(1)に示す次数3のベクトルxである。数式(1)において、qは量子ビット数、dはアンザッツ回路の深さ、lはハミルトニアンの項数である。アンザッツ回路の深さは、直列に並んだ量子ゲートの段数である。ハミルトニアンの項数は、ハミルトニアンをパウリ行列の和に分解した場合の項数である。
Figure JPOXMLDOC01-appb-M000001
 イテレーション毎の実行時間の期待値を算出する時間モデルは、例えば、数式(2)のように規定される。数式(2)において、yはイテレーション毎の実行時間を示す目的変数であり、nは訓練データに含まれるレコードの個数である。時間モデルを訓練するための訓練データには、(x,y),…,(x,y)のように、説明変数の値と目的変数の値のペアであるレコードがn個含まれる。
Figure JPOXMLDOC01-appb-M000002
 kをガウス過程のカーネルとする。カーネルkは、ベクトル間の類似度を規定する関数である。カーネルkの例として、RBF(Radial Basis Function)カーネルやMaternカーネルなどが挙げられる。数式(2)のKは、訓練データに含まれる説明変数の値から生成されるn×nの正方行列である。行列Kのi行j列の成分は、k(x,x)である。行列Kは、訓練データに含まれる2つの説明変数の値の間の類似度を示す。Iは、n×nの単位行列である。k(x)は、i行目の成分がk(x,x)である列ベクトルである。k(x)は、あるベクトルxについて、訓練データに含まれるn個の説明変数の値それぞれとの類似度を示す。λは、0より大きい定数である。
 情報処理装置100は、実際のイテレーション毎の実行時間が期待値から変動するリスクを考慮し、そのリスクに対するロバスト性を考慮した時間モデルを使用することもできる。まず、数式(3)に示すように、イテレーション毎の実行時間について、CVaR(Conditional Value at Risk)が規定される。数式(3)において、αは0より大きく1以下の定数である。ψν(y)およびUは、数式(4)のように規定される。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 ロバスト性を考慮した時間モデルは、例えば、数式(3)のCVaRを用いて数式(5)のように規定される。数式(5)によって算出される推定値は、イテレーション毎の実行時間の上振れリスクが反映されており、数式(2)によって算出される期待値より大きいと想定される。ベクトルxについての分布をρとし、分布ρに対応する累積分布関数をFとすると、数式(5)は数式(6)の推定値を与えている。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 また、情報処理装置100は、訓練データが不十分であることによる時間モデルの推定の不確実性を更に考慮し、ロバスト性および不確実性を考慮した時間モデルを使用することもできる。まず、数式(7)に示すように、イテレーション毎の実行時間についてσ(x)が規定される。数式(7)において、k (x)はk(x)の転置行列である。
Figure JPOXMLDOC01-appb-M000007
 ロバスト性および不確実性を考慮した時間モデルは、例えば、数式(7)のσ(x)を用いて数式(8)のように規定される。数式(8)において、βは正の定数である。数式(8)によって算出される推定値は、イテレーション毎の実行時間の更なる上振れリスクが反映されており、数式(5)によって算出される推定値より大きい。
Figure JPOXMLDOC01-appb-M000008
 次に、反復回数を推定する反復モデルについて説明する。反復モデルの基本的構造は、時間モデルと同じである。ただし、説明変数および目的変数の意味が時間モデルと異なる。反復モデルの説明変数は、数式(9)に示す次数2のベクトルzである。数式(9)において、mは古典アルゴリズムの反復回数、sは原子間距離である。
 第2の実施の形態では、古典アルゴリズムはCCSD(T)である。ただし、古典アルゴリズムが、CISDまたはCCSDであってもよい。なお、広義の「CCSD」は、狭義のCCSDとCCSD(T)とを包含していると解釈されることがある。
Figure JPOXMLDOC01-appb-M000009
 反復回数を推定する反復モデルは、例えば、数式(10)のように規定される。数式(10)において、wはVQEの反復回数を示す目的変数である。反復モデルを訓練するための訓練データには、(z,w),…,(z,w)のように、説明変数の値と目的変数の値のペアであるレコードがn個含まれる。
Figure JPOXMLDOC01-appb-M000010
 数式(10)について、lをガウス過程のカーネルとする。Lは、訓練データに含まれる説明変数の値から生成されるn×nの正方行列である。行列Lのi行j列の成分は、l(z,z)である。l(z)は、i行目の成分がl(z,z)である列ベクトルである。λは、0より大きい定数である。
 時間モデルと同様に、情報処理装置100は、実際の反復回数が期待値から変動するリスクを考慮し、そのリスクに対するロバスト性を考慮した反復モデルを使用することもできる。ロバスト性を考慮した反復モデルは、例えば、数式(3)のCVaRを用いて数式(11)のように規定される。ただし、数式(3)および数式(4)について、xがzに置換され、yがwに置換され、KがLに置換され、kがlに置換される。
Figure JPOXMLDOC01-appb-M000011
 また、情報処理装置100は、訓練データが不十分であることによる反復モデルの推定の不確実性を更に考慮し、ロバスト性および不確実性を考慮した反復モデルを使用することもできる。ロバスト性および不確実性を考慮した反復モデルは、例えば、数式(7)を用いて数式(12)のように規定される。ただし、数式(7)について、xがzに置換され、KがLに置換され、kがlに置換される。
Figure JPOXMLDOC01-appb-M000012
 図6は、VQE実行時間の推定例を示す図である。以下では、1つの距離に対応するエネルギーをVQEによって算出するプロセスを、VQEジョブと呼ぶことがある。情報処理装置100は、分析対象の分子についてデータ131を取得する。データ131は、分子に含まれる複数の原子それぞれの種類および座標を示す。機械学習の際には、サンプルデータとして、データ131に相当するものがnセット使用される。
 情報処理装置100は、データ131からデータ132を生成する。データ132は、量子ビット数、アンザッツ回路の深さ、ハミルトニアンの項数およびイテレーション毎の実行時間を含む。量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数は、時間モデルの入力データであり、VQEの前処理によってデータ131から算出される。イテレーション毎の実行時間は、時間モデルの出力データである。
 機械学習の際には、時間モデルを訓練するための訓練データとして、データ132に相当するものがnセット使用される。その場合、イテレーション毎の実行時間は正解ラベルに相当し、サンプルの分子情報に対してVQEを実行することで測定される。
 また、情報処理装置100は、データ131からデータ133を生成する。データ133は、原子間距離、古典アルゴリズムの反復回数およびVQEの反復回数を含む。原子間距離および古典アルゴリズムの反復回数は、反復モデルの入力データである。古典アルゴリズムの反復回数は、データ131に基づいて古典アルゴリズムを実行することで測定される。第2の実施の形態では、古典アルゴリズムの反復回数は、例えば、CCSD(T)の反復回数である。VQEの反復回数は、反復モデルの出力データである。
 機械学習の際には、反復モデルを訓練するための訓練データとして、データ133に相当するものがnセット使用される。その場合、VQEの反復回数は正解ラベルに相当し、VQEを実行することで測定される。
 情報処理装置100は、データ132,133からデータ134を生成する。データ134は、VQEの実行時間の推定値を含む。実行時間は、データ132に含まれるイテレーション毎の実行時間と、データ133に含まれるVQEの反復回数との積である。なお、時間モデルが出力するイテレーション毎の実行時間および反復回数が出力するVQEの反復回数の一方または両方は、期待値でもよいし、ロバスト性を考慮した推定値でもよいし、ロバスト性および不確実性を考慮した推定値でもよい。情報処理装置100は、ユーザからの指示に応じて推定値の種類を切り替えてもよい。
 このようにして、情報処理装置100は、VQE対象距離それぞれについて、VQEを実行する前に、VQEの推定実行時間およびVQEの推定反復回数を算出する。次に、VQEの実行時間の調整について説明する。情報処理装置100は、VQE対象距離のエネルギーの全てを制限時間内に算出できるように、距離毎にVQEの反復回数の上限を設定し、これによって距離毎にVQEの実行時間を調整する。
 図7は、VQEの実行時間を調整する第1の例を示す図である。実行時間調整テーブル135は、距離毎の実行時間の削減および反復回数の削減を示す。実行時間の削減は、実行時間の縮約と呼ばれてもよく、反復回数の削減は、反復回数の縮約と呼ばれてもよい。ここでは説明を簡単にするため、距離2.1Åと距離2.2Åと距離2.3Åの3つが、VQE対象距離として選択されていると仮定する。
 距離2.1Åの推定実行時間は2400秒であり、距離2.1Åの推定反復回数は60回である。距離2.2Åの推定実行時間は2800秒であり、距離2.2Åの推定反復回数は70回である。距離2.3Åの推定実行時間は3200秒であり、距離2.3Åの推定反復回数は80回である。よって、イテレーション毎の推定実行時間は40秒であり、距離2.1Å、距離2.2Åおよび距離2.3Åに共通している。ただし、イテレーション毎の推定実行時間が距離によって異なることもある。
 これに対して、ユーザから指定された制限時間が4800秒であると仮定する。推定実行時間の合計は8400秒であり、VQEを通常通りに実行するとVQEが制限時間内に終わらない可能性が高い。そこで、情報処理装置100は、距離毎に、推定実行時間を参照して削減後実行時間を決定する。そして、情報処理装置100は、推定実行時間に対する削減後実行時間の比率に合わせて、推定反復回数から削減後反復回数を決定する。この削減後反復回数が、VQEの反復回数の上限として設定される。
 例えば、情報処理装置100は、距離2.1Åの削減後実行時間を1200秒に決定し、距離2.2Åの削減後実行時間を1600秒に決定し、距離2.3Åの削減後実行時間を2000秒に決定する。削減後実行時間の合計は4800秒であり、制限時間に収まる。情報処理装置100は、距離2.1Åについて、推定実行時間に対する削減後実行時間の比率50%を、推定反復回数に乗じて、削減後反復回数を30回と決定する。
 また、情報処理装置100は、距離2.2Åについて、推定実行時間に対する削減後実行時間の比率57%を、推定反復回数に乗じて、削減後反復回数を40回と決定する。また、情報処理装置100は、距離2.3Åについて、推定実行時間に対する削減後実行時間の比率63%を、推定反復回数に乗じて、削減後反復回数を50回と決定する。ただし、情報処理装置100は、削減後実行時間をイテレーション毎の推定実行時間で割ることで、削減後反復回数を算出するようにしてもよい。
 次に、複数のVQE対象距離の間の削減後実行時間の配分について説明する。配分方法の例として、推定実行時間に対する削減後実行時間の比率を、全てのVQE対象距離について同一とする一律配分がある。また、配分方法の他の例として、推定実行時間に対する削減後実行時間の比率を、VQE対象距離に応じて変更する傾斜配分がある。
 図8は、VQEの実行時間を調整する第2の例を示す図である。実行時間調整テーブル136は、距離毎の実行時間の削減を示す。ここでは、距離2.1Åから距離2.5Åまでの5つの距離が、VQE対象距離として選択されている。
 距離2.1Åの推定実行時間は500秒、距離2.2Åの推定実行時間は600秒、距離2.3Åの推定実行時間は700秒、距離2.4Åの推定実行時間は800秒、距離2.5Åの推定実行時間は900秒である。よって、推定実行時間の合計は3500秒である。これに対して、ユーザから指定された制限時間が2500秒であると仮定する。また、情報処理装置100は、一律配分によって各距離の削減後実行時間を決定する。
 この場合、情報処理装置100は、制限時間を推定実行時間の合計で割ることで、全てのVQE対象距離に共通の比率αを0.7と算出する。情報処理装置100は、各距離の推定実行時間に比率αを乗じることで、削減後実行時間を決定する。よって、距離2.1Åの削減後実行時間は350秒、距離2.2Åの削減後実行時間は420秒、距離2.3Åの削減後実行時間は490秒、距離2.4Åの削減後実行時間は560秒、距離2.5Åの削減後実行時間は630秒である。削減後実行時間の合計は2450秒であり、ユーザから指定された制限時間である2500秒に収まっている。
 図9は、VQEの実行時間を調整する第3の例を示す図である。実行時間調整テーブル137は、距離毎の実行時間の削減を示す。VQE対象距離、推定実行時間および制限時間は、実行時間調整テーブル136の場合と同じである。ただし、情報処理装置100は、削減後実行時間を、一律配分ではなく傾斜配分によって決定する。
 VQEでは、原子間距離が長いほど、エネルギーが収束値にある程度近付いてからエネルギーが完全に収束するまでの停止待ち時間が長くなる傾向がある。そのため、原子間距離が長いほど、推定実行時間に対する削減後実行時間の比率αを小さくしても、算出されるエネルギーの精度への影響が小さい。そこで、情報処理装置100は、VQE対象距離が長いほど比率αが小さくなるように、削減後実行時間を決定する。
 一例として、情報処理装置100は、複数のVQE対象距離それぞれの比率αを、0.9-β×xという線形式によって算出する。ただし、比率αが非線形式で算出されてもよい。xは、複数のVQE対象距離の順序を示す非負整数のインデックスである。最も小さいVQE対象距離についてはx=0であり、次に小さいVQE対象距離についてはx=1である。以降、VQE対象距離が1段階長くなると、xが1だけ大きくなる。βは、推定実行時間と制限時間との関係から決定される非負の係数である。
 例えば、情報処理装置100は、β=0から始めてβを段階的に大きくしつつ、削減後実行時間の合計と制限時間とを比較する。βが大きいほど、削減後実行時間の合計が小さくなる。情報処理装置100は、削減後実行時間の合計が制限時間以下になる最小のβを探索し、そのβを用いて各VQE対象距離の削減後実行時間を決定する。一例として、情報処理装置100は、β=0.1に決定する。
 すると、距離2.1Åにおける比率αは0.9であり、削減後実行時間は450秒である。距離2.2Åにおける比率αは0.8であり、削減後実行時間は480秒である。距離2.3Åにおける比率αは0.7であり、削減後実行時間は490秒である。距離2.4Åにおける比率αは0.6であり、削減後実行時間は480秒である。距離2.5Åにおける比率αは0.5であり、削減後実行時間は450秒である。削減後実行時間の合計は2350秒であり、ユーザから指定された制限時間である2500秒に収まっている。
 図10は、実行時間削減時のポテンシャルエネルギー曲線の精度例を示す図である。曲線41は、FCIによって算出されるエネルギーを示すポテンシャルエネルギー曲線であり、正解のポテンシャルエネルギー曲線と解釈される。
 曲線42は、合計実行時間を通常の50%に制限したVQEによって算出されるエネルギーを示すポテンシャルエネルギー曲線である。実行時間を制限しないVQEによって算出されるエネルギーを示すポテンシャルエネルギー曲線は、曲線42と近似しているため、図10では記載を省略している。曲線43は、合計実行時間を通常の30%に制限したVQEによって算出されるエネルギーを示すポテンシャルエネルギー曲線である。
 図11は、VQEの誤差の例を示す図である。曲線44は、FCIによって算出されるエネルギーに対する、実行時間を制限しないVQEによって算出されるエネルギーの誤差を示す。曲線45は、FCIによって算出されるエネルギーに対する、合計実行時間を通常の50%に制限したVQEによって算出されるエネルギーの誤差を示す。曲線46は、FCIによって算出されるエネルギーに対する、合計実行時間を通常の30%に制限したVQEによって算出されるエネルギーの誤差を示す。
 曲線41~46に示すように、原子間距離が長くても、VQEを用いることで精度の高いエネルギーが算出される。また、VQEの合計実行時間を50%程度削減しても、算出されるエネルギーの精度への影響は小さい。次に、情報処理装置100の機能と、情報処理装置100による量子化学計算の手順について説明する。
 図12は、情報処理装置の機能例を示すブロック図である。情報処理装置100は、分子情報記憶部121、制御データ記憶部122および推定モデル記憶部123を有する。これらの記憶部は、例えば、RAM102またはHDD103を用いて実装される。
 また、情報処理装置100は、CCSD実行部124、VQE実行部125、アルゴリズム制御部126およびエネルギー可視化部127を有する。これらの処理部は、例えば、CPU101およびプログラムを用いて実装される。なお、CCSD実行部124およびVQE実行部125の一方または両方が、他の情報処理装置に分離されてもよい。
 分子情報記憶部121は、分子情報を記憶する。分子情報は、シミュレーション対象の分子に含まれる原子の種類および位置座標を含む。各原子の位置座標は、着目する2つの原子の距離に応じて修正される。また、分子情報記憶部121は、ユーザが指定した基底関数を記憶する。基底関数は、通常、分子の種類や分子シミュレーションの目的に応じて、既知の基底関数群の中からユーザによって選択される。
 制御データ記憶部122は、エネルギーを算出する複数の距離を記憶する。また、制御データ記憶部122は、複数の距離それぞれについて、古典アルゴリズムによって算出されたエネルギーと、古典アルゴリズムの反復回数とを記憶する。また、制御データ記憶部122は、VQE対象距離それぞれについて、VQEの推定実行時間および推定反復回数を記憶する。また、制御データ記憶部122は、VQE対象距離それぞれについて、VQEによって算出されたエネルギーを記憶する。
 推定モデル記憶部123は、量子回路の特徴量からイテレーション毎の実行時間を推定する時間モデルを記憶する。また、推定モデル記憶部123は、原子間距離と古典アルゴリズムの反復回数とからVQEの反復回数を推定する反復モデルを記憶する。時間モデルと反復モデルは、情報処理装置100または他の情報処理装置によって訓練されている。
 CCSD実行部124は、アルゴリズム制御部126からの指示に応じて、指定された分子情報および基底関数に基づいて古典アルゴリズムを実行する。古典アルゴリズムとして、例えば、CCSD(T)が実行される。ただし、CCSDが実行されてもよい。CCSD実行部124は、1つの距離に対応する分子情報毎に、基底エネルギーを算出してアルゴリズム制御部126に出力する。また、CCSD実行部124は、反復回数を測定してアルゴリズム制御部126に通知する。
 VQE実行部125は、アルゴリズム制御部126からの指示に応じて、指定された分子情報および基底関数に基づいてVQEを実行する。VQE実行部125は、分子情報および基底関数に基づいて、前処理として量子回路を生成し、生成された量子回路をアルゴリズム制御部126に出力する。また、VQE実行部125は、量子回路を用いてエネルギーを測定することを繰り返し、1つのVQE対象距離に対応する分子情報毎に、基底エネルギーを算出してアルゴリズム制御部126に出力する。
 ただし、アルゴリズム制御部126から、反復回数の上限が指定されることがある。その場合、VQE実行部125は、反復回数が上限を超えないようにVQEを実行する。反復回数が上限に達してもエネルギーがまだ収束条件を満たさない場合、VQE実行部125は、VQEを強制的に停止し、収束前の最後のエネルギーを出力する。
 アルゴリズム制御部126は、制限時間の指定をユーザから受け付ける。アルゴリズム制御部126は、古典アルゴリズムの実行結果に基づいてVQE対象距離を決定し、合計実行時間が制限時間以下になるようにVQE対象距離毎の反復回数を制限する。
 まず、アルゴリズム制御部126は、全ての距離のエネルギーをCCSD実行部124に算出させ、古典アルゴリズムのエネルギーおよび反復回数を取得する。アルゴリズム制御部126は、古典アルゴリズムの反復回数を距離の昇順に走査し、反復回数が急激に増加する境界点を検出し、境界点以降の各距離をVQE対象距離として選択する。
 次に、アルゴリズム制御部126は、各VQE対象距離について、VQE実行部125に前処理を実行させ、量子回路の構造の特徴量を取得する。アルゴリズム制御部126は、推定モデル記憶部123に記憶された機械学習モデルを用いて、量子回路の特徴量と古典アルゴリズムの反復回数とから、各VQE対象距離の実行時間と反復回数を推定する。
 アルゴリズム制御部126は、各VQE対象距離の推定実行時間および推定反復回数と、指定された制限時間とから、一定の計算方法に従って、各VQE対象距離の削減後反復回数を決定する。アルゴリズム制御部126は、反復回数が削減後反復回数を超えないように、VQE実行部125にVQEを実行させる。
 エネルギー可視化部127は、制御データ記憶部122から複数の距離に対応する複数のエネルギーを読み出し、読み出したエネルギーをプロットすることでポテンシャルエネルギー曲線を生成する。このとき、エネルギー可視化部127は、VQEが実行された距離についてはVQEのエネルギーを使用し、VQEが実行されていない距離については古典アルゴリズムのエネルギーを使用する。
 エネルギー可視化部127は、生成されたポテンシャルエネルギー曲線を出力する。エネルギー可視化部127は、ポテンシャルエネルギー曲線を不揮発性ストレージに保存してもよいし、表示装置111に表示してもよいし、他の情報処理装置に送信してもよい。
 図13は、量子化学計算の手順例を示すフローチャートである。(S10)アルゴリズム制御部126は、分子情報、基底関数、距離リストおよび制限時間を取得する。距離リストは、エネルギーを算出する複数の距離を示す。
 (S11)CCSD実行部124は、距離リストが示す複数の距離それぞれのエネルギーを、CCSD(T)などの古典アルゴリズムによって算出する。このとき、CCSD実行部124は、エネルギーが収束するまでの反復回数を測定する。
 (S12)アルゴリズム制御部126は、距離リストが示す各距離について、ステップS11で算出された古典アルゴリズムのエネルギーおよび反復回数を記録する。アルゴリズム制御部126は、古典アルゴリズムの反復回数を距離の昇順に並べる。アルゴリズム制御部126は、W個の反復回数が入る幅Wのウィンドウを作成し、最も距離の小さい側に設置する。Wは2以上の整数であり、例えば、W=5である。
 (S13)アルゴリズム制御部126は、ウィンドウに含まれるW個の反復回数から、最小二乗法によって回帰直線を算出する。
 (S14)アルゴリズム制御部126は、ステップS13の回帰直線をT+1回以上算出しており、回帰直線の傾きがT回連続して増加したか判断する。Tは1以上の整数であり、例えば、T=3である。傾きがT回連続して増加した場合、ステップS16に処理が進む。回帰直線の算出回数がT回以下であるか、または、傾きがT回連続して増加していない場合、ステップS15に処理が進む。
 (S15)アルゴリズム制御部126は、距離が1段階増加する方向にウィンドウをシフトする。そして、ステップS13に処理が戻る。
 (S16)アルゴリズム制御部126は、ウィンドウ内の最長距離およびそれよりも長い距離それぞれを、VQE対象距離に決定する。
 (S17)VQE実行部125は、ステップS16で決定されたVQE対象距離それぞれについて、分子情報に基づいて、VQEで使用される量子回路を生成する。
 (S18)アルゴリズム制御部126は、ステップS17で生成された量子回路から、量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数を特定する。
 (S19)アルゴリズム制御部126は、量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数を、訓練済みの時間モデルに入力することで、VQEにおけるイテレーション毎の実行時間を推定する。このイテレーション毎の実行時間は、例えば、ロバスト性および不確実性を考慮した推定値である。
 (S20)アルゴリズム制御部126は、原子間距離と古典アルゴリズムの反復回数とを、訓練済みの反復モデルに入力することで、VQEの反復回数を推定する。この反復回数は、例えば、ロバスト性および不確実性を考慮した推定値である。
 (S21)アルゴリズム制御部126は、ステップS19のイテレーション毎の実行時間とステップS20の反復回数とを乗じて、VQEの実行時間を推定する。
 図14は、量子化学計算の手順例を示すフローチャート(続き)である。(S22)アルゴリズム制御部126は、複数のVQE対象距離について、ステップS21で算出された推定実行時間を合計する。
 (S23)アルゴリズム制御部126は、推定実行時間の合計が制限時間以下であるか判断する。推定実行時間の合計が制限時間以下である場合、ステップS24に処理が進む。推定実行時間の合計が制限時間を超える場合、ステップS25に処理が進む。
 (S24)VQE実行部125は、複数のVQE対象距離それぞれのエネルギーを、反復回数を制限せずにVQEを実行することで算出する。アルゴリズム制御部126は、算出されたVQEのエネルギーを記録する。そして、ステップS28に処理が進む。
 (S25)アルゴリズム制御部126は、制限時間に基づいて、VQE対象距離毎の実行時間を推定実行時間よりも削減する。このとき、アルゴリズム制御部126は、削減後実行時間の合計を制限時間以下にする。推定実行時間に対する削減後実行時間の比率は、全てのVQE対象距離に共通でもよいし、VQE対象距離によって異なってもよい。
 (S26)アルゴリズム制御部126は、ステップS25で算出された削減後実行時間に基づいて、各VQE対象距離の削減後反復回数を算出する。例えば、アルゴリズム制御部126は、推定実行時間に対する削減後実行時間の比率と、推定反復回数に対する削減後反復回数の比率とが同じになるように、削減後反復回数を算出する。
 (S27)VQE実行部125は、反復回数がステップS26の削減後反復回数を超えないようにVQEを実行することで、複数のVQE対象距離それぞれのエネルギーを算出する。VQE実行部125は、反復回数が削減後反復回数に到達した場合、エネルギーが収束していなくてもVQEを強制的に停止し、最後に算出されたエネルギーを出力する。
 (S28)アルゴリズム制御部126は、距離リストに含まれる距離のうちVQE対象距離について、ステップS11で算出された古典アルゴリズムのエネルギーを、ステップS27で算出されたVQEのエネルギーに置換する。
 (S29)エネルギー可視化部127は、ステップS28の置換後の複数の距離に対応する複数のエネルギーから、ポテンシャルエネルギー曲線を生成する。エネルギー可視化部127は、生成されたポテンシャルエネルギー曲線を表示する。
 以上説明したように、第2の実施の形態の情報処理装置100は、量子化学計算により、原子間距離と分子の基底エネルギーとの関係を示すポテンシャルエネルギー曲線を生成する。これにより、情報処理装置100は、分子の特性について有用な情報を提供することができ、材料開発や医薬品開発などの研究開発を支援することができる。
 また、情報処理装置100は、全ての原子間距離について、実行時間の短い古典アルゴリズムでエネルギーを算出し、一部の長い原子間距離について、精度の高いVQEでエネルギーを算出し直す。これにより、情報処理装置100は、精度と実行時間のバランスを図り、ポテンシャルエネルギー曲線を効率的に生成することができる。
 また、情報処理装置100は、古典アルゴリズムの反復回数が急激に増加する境界点を検出し、境界点以降の距離をVQE対象距離として選択する。これにより、古典アルゴリズムでは精度が低くなる原子間距離が自動的に判定され、VQEによってエネルギーを算出し直した方が好ましい原子間距離が選択対象から漏れてしまうリスクが低下する。
 また、情報処理装置100は、VQEの合計実行時間が制限時間以下に収まるように、複数のVQE対象距離それぞれの反復回数を制限する。これにより、反復回数を制限せずに一部のVQE対象距離のみに対して実際にVQEを実行する場合と比べて、ポテンシャルエネルギー曲線の全体的な精度が向上する。例えば、古典アルゴリズムによって算出された低精度のエネルギーとVQEによって算出された高精度のエネルギーとの間が不連続になるような不自然なポテンシャルエネルギー曲線が生成されるリスクが低下する。
 また、情報処理装置100は、量子回路の構造の特徴量と古典アルゴリズムの反復回数の測定値とから、訓練済みの機械学習モデルを用いて、VQEの実行時間および反復回数を推定する。これにより、VQEの実行前にVQEの実行時間および反復回数が高精度に推定される。よって、情報処理装置100は、ユーザから指定された制限時間を遵守しつつ、できる限り精度の高いポテンシャルエネルギー曲線を生成することができる。
 また、情報処理装置100は、VQE対象距離が長いほど、推定実行時間に対する削減後実行時間の比率を小さくしてもよく、反復回数の制限を強くしてもよい。これにより、合計実行時間を削減することによる精度への影響が軽減される。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 10 情報処理装置
 11 記憶部
 12 制御部
 13 分子情報
 14a,14b,14c 原子間距離
 15a,15b,15c 推定実行時間
 16a,16b,16c 推定反復回数
 17 制限時間
 18a,18b,18c 反復回数
 19a,19b,19c 分子エネルギー

Claims (9)

  1.  分析対象の分子を示す分子情報に基づいて、複数の原子間距離それぞれに対して、量子回路データを用いて分子エネルギーを算出する第1のアルゴリズムの推定実行時間と、前記推定実行時間の間に行われる反復処理の推定反復回数とを推定し、
     指定された制限時間と前記複数の原子間距離それぞれにおける前記推定実行時間および前記推定反復回数とに基づいて、前記複数の原子間距離それぞれの反復回数を決定し、
     前記決定された反復回数に基づいて、前記複数の原子間距離それぞれの前記分子エネルギーを、前記第1のアルゴリズムを実行することで算出する、
     処理をコンピュータに実行させることを特徴とする分子シミュレーションプログラム。
  2.  前記複数の原子間距離のうち少なくとも一部の原子間距離における前記決定された反復回数は、前記推定反復回数よりも小さい、
     ことを特徴とする請求項1に記載の分子シミュレーションプログラム。
  3.  前記決定は、前記複数の原子間距離の前記推定実行時間の合計と前記制限時間とに基づいて、前記複数の原子間距離それぞれの実行時間の上限を決定し、前記実行時間の上限と前記推定反復回数とに基づいて、反復回数の上限を決定する処理を含む、
     ことを特徴とする請求項1に記載の分子シミュレーションプログラム。
  4.  前記推定反復回数に対する前記決定された反復回数の比率は、前記複数の原子間距離の間で異なる、
     ことを特徴とする請求項1に記載の分子シミュレーションプログラム。
  5.  前記複数の原子間距離のうち大きい原子間距離ほど、前記比率が小さい、
     ことを特徴とする請求項4に記載の分子シミュレーションプログラム。
  6.  前記分子エネルギーの算出は、実行された反復回数が前記決定された反復回数に到達した場合、前記第1のアルゴリズムを停止し、停止までの前記反復処理の結果に基づいて前記分子エネルギーを出力する処理を含む、
     ことを特徴とする請求項1に記載の分子シミュレーションプログラム。
  7.  前記複数の原子間距離と異なる他の原子間距離の前記分子エネルギーを、前記第1のアルゴリズムと異なる第2のアルゴリズムを実行することで算出し、前記複数の原子間距離および前記他の原子間距離と前記分子エネルギーとを対応付けたポテンシャルエネルギー曲線情報を出力する処理を、前記コンピュータに更に実行させる、
     ことを特徴とする請求項1に記載の分子シミュレーションプログラム。
  8.  分析対象の分子を示す分子情報に基づいて、複数の原子間距離それぞれに対して、量子回路データを用いて分子エネルギーを算出する第1のアルゴリズムの推定実行時間と、前記推定実行時間の間に行われる反復処理の推定反復回数とを推定し、
     指定された制限時間と前記複数の原子間距離それぞれにおける前記推定実行時間および前記推定反復回数とに基づいて、前記複数の原子間距離それぞれの反復回数を決定し、
     前記決定された反復回数に基づいて、前記複数の原子間距離それぞれの前記分子エネルギーを、前記第1のアルゴリズムを実行することで算出する、
     処理をコンピュータが実行することを特徴とする分子シミュレーション方法。
  9.  分析対象の分子を示す分子情報と、複数の原子間距離とを記憶する記憶部と、
     前記分子情報に基づいて、前記複数の原子間距離それぞれに対して、量子回路データを用いて分子エネルギーを算出する第1のアルゴリズムの推定実行時間と、前記推定実行時間の間に行われる反復処理の推定反復回数とを推定し、指定された制限時間と前記複数の原子間距離それぞれにおける前記推定実行時間および前記推定反復回数とに基づいて、前記複数の原子間距離それぞれの反復回数を決定し、前記決定された反復回数に基づいて、前記複数の原子間距離それぞれの前記分子エネルギーを、前記第1のアルゴリズムを実行することで算出する制御部と、
     を有することを特徴とする情報処理装置。
PCT/JP2022/040286 2022-10-28 2022-10-28 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置 WO2024089862A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040286 WO2024089862A1 (ja) 2022-10-28 2022-10-28 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/040286 WO2024089862A1 (ja) 2022-10-28 2022-10-28 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置

Publications (1)

Publication Number Publication Date
WO2024089862A1 true WO2024089862A1 (ja) 2024-05-02

Family

ID=90830286

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040286 WO2024089862A1 (ja) 2022-10-28 2022-10-28 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置

Country Status (1)

Country Link
WO (1) WO2024089862A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021512423A (ja) * 2018-01-30 2021-05-13 リバー レーン リサーチ リミテッドRiver Lane Research Ltd 状態エネルギーを決定する方法
JP2022518863A (ja) * 2019-02-01 2022-03-16 パリティ クオンタム コンピューティング ゲーエムベーハー 量子計算を実行する方法及び装置
WO2022107298A1 (ja) * 2020-11-20 2022-05-27 富士通株式会社 量子計算制御プログラム、量子計算制御方法及び情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021512423A (ja) * 2018-01-30 2021-05-13 リバー レーン リサーチ リミテッドRiver Lane Research Ltd 状態エネルギーを決定する方法
JP2022518863A (ja) * 2019-02-01 2022-03-16 パリティ クオンタム コンピューティング ゲーエムベーハー 量子計算を実行する方法及び装置
WO2022107298A1 (ja) * 2020-11-20 2022-05-27 富士通株式会社 量子計算制御プログラム、量子計算制御方法及び情報処理装置

Similar Documents

Publication Publication Date Title
CN113574327B (zh) 通过选择控制设置来控制环境的方法及系统
Kathuria et al. Batched gaussian process bandit optimization via determinantal point processes
US8818922B2 (en) Method and apparatus for predicting application performance across machines with different hardware configurations
US12106223B2 (en) Data valuation using reinforcement learning
WO2023060737A1 (zh) 量子体系下的期望值估计方法、装置、设备及系统
US12125265B2 (en) Reinforcement learning based locally interpretable models
Yalovetzky et al. NISQ-HHL: Portfolio optimization for near-term quantum hardware
WO2024089862A1 (ja) 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置
JP7231829B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
WO2024069910A1 (ja) 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置
EP4047531A1 (en) Machine learning program, machine learning method, and machine learning device
WO2024069839A1 (ja) 推定プログラム、情報処理装置および機械学習方法
JP6233432B2 (ja) 混合モデルの選択方法及び装置
Perrin Point process-based approaches for the reliability analysis of systems modeled by costly simulators
US20240104263A1 (en) Algorithm selecting method and information processing apparatus
JP2024067751A (ja) アルゴリズム制御プログラム、アルゴリズム制御方法および情報処理装置
US20230281496A1 (en) Equilibrium solution searching method and information processing apparatus
WO2023112099A1 (ja) 選択方法、選択装置、及びプログラム
Charniauski et al. Autoregressive Bandits in Near-Unstable or Unstable Environment.
Naqvi et al. Fast Laplace Approximation for Sparse Bayesian Spike and Slab Models.
WO2023089563A1 (en) Quantum advantage using quantum circuit for gradient estimation
JP2024065991A (ja) 評価支援プログラム、評価支援方法、および情報処理装置
JP2019053349A (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: 22963509

Country of ref document: EP

Kind code of ref document: A1