Simulation device, simulation system, simulation method, and simulation program
The simulation device uses a quantum annealing machine with a QUBO model to simulate particle diffusion, addressing power consumption issues in Neumann-type computers and achieving efficient, accurate results.
Patent Information
- Application Number
- PCT/JP2025/001132
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-26
- Filing Date
- 2025-01-16
- Publication Date
- 2025-07-31
AI Technical Summary
Existing techniques for simulating particle diffusion using Neumann-type computers result in significant power consumption, necessitating a method to simulate particle diffusion using a non-Neumann-type computer that can suppress this increase.
A simulation device and method utilizing a quantum annealing machine with a QUBO model to simulate particle diffusion by defining a space with cells, generating cell data, obtaining destination data, and updating cell data based on QUBO model calculations to identify particle movement.
Simulates particle diffusion efficiently while reducing power consumption compared to Neumann-type computers, providing accurate simulation results that match theoretical models.
Smart Images

Figure JP2025001132_31072025_PF_FP_ABST
Abstract
Description
Simulation device, simulation system, simulation method, and simulation program
[0001] The present disclosure relates to a simulation device, a simulation system, a simulation method, and a simulation program for simulating the diffusion of at least one particle.
[0002] As the demand for calculating huge amounts of data in a short time using AI (Artificial Intelligence) increases, the power consumption of the computers that perform the calculations is also increasing significantly. AI is realized by von Neumann computers, also known as classical computers, which use processors such as GPUs (Graphics Processing Units) or TPUs (Tensor Processing Units). However, in recent years, non-von Neumann computers, represented by quantum computers, which consume less power than von Neumann computers, have been attracting attention.
[0003] While von Neumann computers can perform tasks that require a huge amount of calculations, quantum computers and related technologies, which are non-von Neumann computers, can obtain optimal solutions in a very short time using unique algorithms. For example, quantum Ising machines (also known as "quantum annealing machines") perform calculations for optimization problems by utilizing the tunneling effect, which allows superconducting spin energy to reach the ground state quickly. Digital annealers, which mimic the operation of quantum Ising machines using electronic circuits, can also obtain optimal solutions quickly by specializing in calculations for optimization problems.
[0004] Ising machines (quantum Ising machines, digital annealers) can only solve QUBO (Quadratic Unconstrained Binary Optimization) problems and optimization problems of quadratic expressions with two-valued variables, known as the Ising model, which is a model equivalent to QUBO. However, they can reduce power consumption compared to von Neumann computers.
[0005] Conventionally, techniques for simulating particle diffusion using a von Neumann computer have been known. For example, Non-Patent Document 1 discloses the results of a simulation of the diffusion of particles, including coronaviruses, using the supercomputer "Fugaku." Furthermore, Non-Patent Documents 2 and 3 disclose Monte Carlo simulation techniques for particle diffusion.
[0006] Kazuto Ando, Rahul Bale, ChungGang Li, Satoshi Matsuoka, Keiji Onishi, Makoto Tsubokura, "DIGITAL TRANSFORMATION OF DROPLET / AEROSOL INFECTION RISK ASSESSMENT REALIZED ON 'FUGAKU' FOR THE FIGHT AGAINST COVID-19" Hiroshima University Faculty of Science, Earth and Planetary Interior Physics Seminar B, Material 8, "VIII. Monte Carlo Simulation of Particle Diffusion" Ianik Plante, Francis A. Cucinotta, "Monte-Carlo Simulation of Particle Diffusion in Various Geometry and Application to Chemistry and Biology"
[0007] As disclosed in Non-Patent Documents 1 to 3, it is possible to simulate particle diffusion using a von Neumann computer, but there is a demand for a technology that can simulate particle diffusion using an Ising machine, which can suppress an increase in power consumption compared to a von Neumann computer.
[0008] The present disclosure has been made to solve such problems, and its purpose is to provide a technique for simulating particle diffusion using an Ising machine.
[0009] A simulation device according to an aspect of the present disclosure includes an arithmetic unit and a storage device that stores a program executed by the arithmetic unit. The arithmetic unit defines a space including a plurality of cells for arranging at least one particle, generates cell data for identifying a cell among the plurality of cells in which the at least one particle is located, acquires destination data for identifying a destination of the at least one particle calculated using a QUBO model of an Ising machine, and updates the cell data based on the destination data to simulate the diffusion of the at least one particle.
[0010] A simulation system according to another aspect of the present disclosure includes a simulation device and an Ising machine having a QUBO model. The simulation device defines a space including a plurality of cells for arranging at least one particle, generates cell data for identifying a cell among the plurality of cells in which the at least one particle is located, acquires destination data for identifying a destination of the at least one particle calculated using the QUBO model of the Ising machine, and updates the cell data based on the destination data to simulate the diffusion of the at least one particle.
[0011] A simulation method according to another aspect of the present disclosure includes, as processing executed by a computer, a step of defining a space including a plurality of cells for arranging at least one particle; a step of generating cell data for identifying a cell among the plurality of cells in which the at least one particle is located; a step of acquiring destination data for identifying a destination of the at least one particle calculated using a QUBO model of an Ising machine; and a step of updating the cell data based on the destination data and simulating the diffusion of the at least one particle.
[0012] A simulation program according to another aspect of the present disclosure causes a computer to execute the steps of: defining a space including a plurality of cells for arranging at least one particle; generating cell data for identifying a cell among the plurality of cells in which the at least one particle is located; acquiring destination data for identifying a destination of the at least one particle calculated using a QUBO model of an Ising machine; and updating the cell data based on the destination data to simulate the diffusion of the at least one particle.
[0013] According to the present disclosure, it is possible to simulate the diffusion of at least one particle by updating cell data for identifying a cell in which at least one particle is located based on destination data for identifying a destination of at least one particle calculated using the QUBO model of an Ising machine.
[0014] 1 is a diagram illustrating a configuration of a simulation system according to an embodiment. FIG. 2 is a diagram for explaining a random walk. FIG. 3 is a diagram illustrating an example of a simulation process related to particle diffusion in one-dimensional space, which is executed by a simulation device according to an embodiment. FIG. 4 is a diagram illustrating an example of a simulation process related to particle diffusion in two-dimensional space, which is executed by a simulation device according to an embodiment. FIG. 5 is a diagram illustrating an example of verification of a simulation result in two-dimensional space. FIG. 6 is a diagram illustrating an example of a simulation result at a predetermined timing in two-dimensional space. FIG. 7 is a diagram illustrating an example of verification of a simulation result in two-dimensional space. FIG. 8 is a diagram illustrating an example of a simulation process related to particle diffusion in three-dimensional space, which is executed by a simulation device according to an embodiment. FIG. 9 is a diagram illustrating an example of a simulation process related to interaction between a plurality of particles, which is executed by a simulation device according to an embodiment. FIG. 10 is a diagram illustrating an example of a simulation process related to interaction between a plurality of particles, which is executed by a simulation device according to an embodiment. FIG. 11 is a diagram illustrating an example of a simulation process related to interaction between a plurality of particles, which is executed by a simulation device according to an embodiment. FIG. 12 is a diagram illustrating an example of a simulation result at a predetermined timing in three-dimensional space. FIG. 13 is a diagram illustrating an example of verification of a simulation result in three-dimensional space. A flowchart related to a simulation process executed by a simulation device according to an embodiment.
[0015] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are designated by the same reference numerals, and description thereof will not be repeated.
[0016] [Configuration of Simulation System] A simulation system 1 according to an embodiment will be described with reference to FIG. 1. FIG. 1 is a diagram showing the configuration of the simulation system 1 according to the embodiment. As shown in FIG. 1, the simulation system 1 includes a simulation device 10 and an Ising machine 20. The simulation device 10 uses the Ising machine 20 to execute a process for simulating the diffusion of at least one particle (hereinafter also referred to as a "simulation process"). "Diffusion" refers to the transport (movement) of a substance from one location to another due to the thermal motion of atoms or molecules. Furthermore, "diffusion" refers to the spread of heterogeneity in a substance due to random walk (random walk motion).
[0017] The simulation device 10 is configured as a von Neumann-type computer, such as a desktop, laptop, or tablet PC (Personal Computer), or a mobile terminal such as a smartphone. The simulation device 10 includes a calculation unit 11, a memory 12, a storage unit 13, a display 14, an input unit 15, a data reading unit 16, and a communication unit 17.
[0018] The arithmetic device 11 is a computing entity (computer) that executes predetermined processing. The arithmetic device 11 is configured with a processor such as a CPU (Central Processing Unit), MPU (Micro-Processing Unit), TPU (Tensor Processing Unit), or GPU (Graphics Processing Unit). A processor, which is an example of the arithmetic device 11, has the function of executing predetermined processing by executing a predetermined program. However, some or all of these functions may be implemented using dedicated hardware circuits such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array). The term "processor" is not limited to a processor in the narrow sense that executes processing using a stored program, such as a CPU, MPU, TPU, or GPU, but may also include hardwired circuits such as an ASIC or FPGA. The arithmetic device 11 described above can also be interpreted as a processing circuitry that executes predetermined processing. The arithmetic device 11 may be configured on a single chip or multiple chips. Furthermore, the processor and associated processing circuitry may be comprised of multiple computers interconnected by wire or wirelessly, such as via a local area network or a wireless network. The processor and associated processing circuitry may also be comprised of a cloud computer that performs remote calculations based on input data and outputs the results of the calculations to other devices at remote locations.
[0019] The memory 12 includes a volatile storage area (e.g., a working area) that temporarily stores program code, work memory, etc. when the arithmetic unit 11 executes various programs. Examples of the memory 12 include volatile memories such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory), and non-volatile memories such as ROM (Read Only Memory) and flash memory.
[0020] The storage device 13 stores various programs and various data executed by the arithmetic device 11. For example, the storage device 13 stores a simulation program 130 executed by the arithmetic device 11. The storage device 13 may be one or more non-transitory computer readable media, or may be one or more computer readable storage media. Examples of the storage device 13 include a hard disk drive (HDD) and a solid state drive (SSD).
[0021] The simulation program 130 includes a program that defines a processing procedure for the arithmetic device 11 to execute a simulation process. The arithmetic device 11 executes the simulation process in accordance with the simulation program 130, thereby obtaining a simulation result of at least one particle diffusion. The simulation program 130 may be designed by a user using the input device 15, read from the storage medium 30 by the data reading device 16, or obtained from another device such as a server via a network by the communication device 17.
[0022] The display 14 displays a predetermined image, such as a simulation image showing the simulation result obtained by the arithmetic unit 11 .
[0023] The input device 15 is an interface for allowing a user to input various data to the simulation device 10, and includes, for example, a keyboard or a mouse.
[0024] The data reader 16 is a device for reading data stored in the storage medium 30. The storage medium 30 may be any medium capable of storing various types of data, such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a USB (Universal Serial Bus) memory.
[0025] The communication device 17 is an interface that enables the arithmetic device 11 to communicate with other devices via a wired connection using an optical fiber line or the like or a wireless connection such as Wi-Fi (registered trademark). For example, the communication device 17 can communicate with the Ising machine 20 and transmit and receive data to and from the Ising machine 20 based on the control of the arithmetic device 11.
[0026] The Ising machine 20 is, for example, a quantum computer (cloud computer) provided by cloud computing. The Ising machine 20 has a QUBO model 210 and can solve a quadratic optimization problem of two variables using the QUBO model 210.
[0027] As will be described in detail later, a user can simulate particle diffusion using the simulation system 1 configured as described above.
[0028] [Outline of Random Walk] Fig. 2 is a diagram for explaining a random walk. Fig. 2 shows how a single particle moves randomly in a time series in a space that extends one-dimensionally along the X-axis direction. The space includes a plurality of cells for arranging the particle. The cell in which the particle is located is indicated by hatching. As shown in Fig. 2, the particle moves a unit distance in either the negative or positive direction of the X-axis per unit time by the random walk. The probability that the particle moves a unit distance in the negative direction of the X-axis is the same as the probability that the particle moves a unit distance in the positive direction of the X-axis.
[0029] For example, in step 1, a particle is located in cell X6. In step 2, a unit time after step 1, the particle moves to cell X5 or cell X7, which are adjacent to X6. The probability that the particle moves to cell X5 is the same as the probability that the particle moves to cell X7. In this example, in step 2, the particle moves to cell X5.
[0030] In step 2, the particle is located in cell X5. In step 3, a unit time after step 2, the particle moves to cell X4 or cell X6, which are adjacent to X5. The probability that the particle moves to cell X4 is the same as the probability that the particle moves to cell X6. In this example, in step 3, the particle moves to cell X4.
[0031] In step 3, the particle is located in cell X4. In step 4, a unit time after step 3, the particle moves to cell X3 or cell X5, which are adjacent to X4. The probability that the particle moves to cell X3 is the same as the probability that the particle moves to cell X5. In this example, in step 4, the particle moves to cell X5.
[0032] Similarly, in each step after step 4, the particle moves randomly to one of the adjacent cells.
[0033] [Simulation Processing in One-Dimensional Space] A simulation processing related to the diffusion of at least one particle in one-dimensional space, which is executed by the simulation device 10 according to the embodiment, will be described with reference to Fig. 3. Fig. 3 is a diagram illustrating an example of the simulation processing related to the diffusion of particles in one-dimensional space, which is executed by the simulation device 10 according to the embodiment.
[0034] First, the simulation device 10 defines a one-dimensional space including a plurality of cells in which at least one particle is to be placed. For example, as shown in FIG. 3 , the simulation device 10 places a plurality of cells in a space along the X-axis direction and places one particle in any one of the cells (cell X6 in this example). The simulation device 10 generates data (hereinafter also referred to as "cell data") for identifying the cell in which the particle is located among the plurality of cells. In the example of FIG. 3 , the simulation device 10 generates cell data indicating that the particle is located in cell X6.
[0035] Furthermore, the simulation device 10 sets the variable q i and whether the particle is located or not is determined by the variable q i In the example of FIG. 3, the simulation device 10 calculates variables corresponding to a plurality of cells adjacent to a cell where a particle is currently located (hereinafter also referred to as a "current cell") as q 0 or q 1 Shown in.
[0036] For example, the simulation device 10 determines whether a particle is located in the cell X5 adjacent to the current cell X6 by using the variable q 0 If the particle is not located in cell X5, the variable q 0 becomes "0" and the particle is located in cell X5, the variable q 0 becomes "1." The simulation device 10 also determines whether a particle is located in the cell X7 adjacent to the current cell X6 by using the variable q 1 If the particle is not located in cell X7, the variable q 1 becomes "0" and the particle is located in cell X7, the variable q 1 becomes "1".
[0037] The simulation device 10 uses the QUBO model 210 of the Ising machine 20 to calculate the destination of the particles in the next step, and updates the cell data based on the calculation result of the Ising machine 20.
[0038] The simulation device 10 generates at least one cost function that represents the energy (Hamiltonian) of the QUBO model 210 so that the Ising machine 20 can calculate the destination of a particle using the QUBO model 210. The cost function for calculating the destination of one particle in one-dimensional space is expressed by the following formula (1).
[0039] In formula (1), "q i " is a variable that indicates whether the particle is located or not. 0 " is a variable corresponding to the cell adjacent to the current cell in the negative direction of the X axis (for example, to the left). 1 " is a variable corresponding to a cell adjacent to the current cell in the positive direction of the X axis (for example, to the right). For example, the variable q 0 The value of is "1" and the variable q 1 If the value of q is "0", the particle moves to the cell adjacent to the current cell in the negative direction of the X axis. 0 , q 1 The variable q 0 The value of is "0" and the variable q 1 If the value of q is "1", the particle moves to the cell adjacent to the current cell in the positive direction of the X axis. 0 , q 1 Since there is only one particle and it always moves, the variable q 0 , q 1 The values of both of these can never be "0" or "1".
[0040] The simulation device 10 outputs the cost function shown in Equation (1) to the Ising machine 20. The Ising machine 20 calculates the variable q 0 and the value of the variable q 1 The cost function shown in equation (1) calculates the value of the variable q 0 and the variable q 1 When one of the variables is "1" and the other is "0", the minimum value is reached. 0 The probability that 1The probability that the calculated variable q 0 , q 1 (hereinafter also referred to as "destination data") to the simulation device 10.
[0041] The simulation device 10 calculates the variable q 0 , q 1 Based on the destination data including the value of , the direction of particle movement is identified and the cell data is updated.
[0042] In the example of FIG. 3, the simulation device 10 calculates the variable q 0 The value of "1" is calculated, and the variable q 1 If "0" is calculated as the value of the variable q 0 is calculated as the value of "0", and the variable q 1 If the value of is calculated as "1", the cell data is updated to generate cell data indicating that the particle is located in cell X7.
[0043] The simulation device 10 can generate cell data for identifying the cell in which one particle is located at each step by repeatedly performing the above-described calculations over multiple steps. Based on the cell data for each step, the simulation device 10 can generate a simulation image showing the diffusion of one particle over multiple steps and display the image on the display 14.
[0044] Furthermore, the simulation device 10 generates cell data for each of the plurality of particles, and outputs the cost function shown in Equation (1) for each of the plurality of particles to the Ising machine 20, thereby calculating the variable q 0 , q 1 The simulation device 10 acquires destination data including the values of the variables q of the plurality of particles acquired from the Ising machine 20. 0 , q1 The movement direction of each of the plurality of particles is identified based on the movement destination data including the value of (a)., and the cell data of each of the plurality of particles is updated.
[0045] This allows the simulation device 10 to generate a simulation image showing how each of the multiple particles diffuses over multiple steps based on the cell data for each step for each of the multiple particles, and display the image on the display 14.
[0046] [Simulation Processing in Two-Dimensional Space] A simulation processing related to the diffusion of at least one particle in a two-dimensional space executed by the simulation device 10 according to the embodiment will be described with reference to Figures 4 to 8. Figure 4 is a diagram showing an example of the simulation processing related to the diffusion of particles in a two-dimensional space executed by the simulation device 10 according to the embodiment.
[0047] First, the simulation device 10 defines a two-dimensional space including a plurality of cells in which at least one particle is to be placed. For example, as shown in FIG. 4 , the simulation device 10 places a plurality of cells along a space extending in the X-axis direction and the Y-axis direction, and places one particle in any one of the cells (cell X4, Y4 in this example). The simulation device 10 generates cell data for identifying the cell in which the particle is located among the plurality of cells. In the example of FIG. 4 , the simulation device 10 generates cell data indicating that the particle is located in cell X4, Y4.
[0048] Furthermore, the simulation device 10 sets the variable q i and whether the particle is located or not is determined by the variable q i In the example of FIG. 4, the simulation device 10 sets the variable corresponding to the current cell where the particle is currently located as q 4 The variables corresponding to the cells around the current cell are denoted by q 0 ~q 3 , q 5 ~q 8 Shown in.
[0049] For example, the simulation device 10 determines whether a particle is located in the cell X3, Y5 using the variable q 0 Whether the particle is located in the cell X4 or Y5 is determined by the variable q 1 Whether the particle is located in the cell X5, Y5 is indicated by the variable q 2 and whether the particle is located in the cell of X3, Y4 is determined by the variable q 3 Whether the particle is located in the cell X4 or Y4 is determined by the variable q 4 Whether the particle is located in the cell X5, Y4 is determined by the variable q 5 Whether the particle is located in the cell of X3, Y3 is determined by the variable q 6 and whether the particle is located in the cell X4, Y3 is determined by the variable q 7 and whether the particle is located in the cell X5, Y3 is determined by the variable q 8 The variable q defined in the cell of the two-dimensional space is 0 ~q 8 Each of the values is "0" if no particle is located in the corresponding cell, and is "1" if a particle is located in the corresponding cell.
[0050] The simulation device 10 generates at least one cost function that represents the energy (Hamiltonian) of the QUBO model 210 so that the Ising machine 20 can calculate the destination of a particle using the QUBO model 210. The cost function for calculating the destination of one particle in two-dimensional space is expressed by the following equation (2).
[0051] In formula (2), "q i " is a variable that indicates whether the particle is located or not, and the variable q 0 ~q 8 The variable q corresponds to 0 ~q 8 Each of the variables is "0" when no particle is located in the corresponding cell, and is "1" when a particle is located in the corresponding cell. Note that the particle may not move from the current cell. Also, since there is only one particle, the variable q 0 ~q 8 Two or more variables will never have the value "1".
[0052] The simulation device 10 outputs the cost function shown in equation (2) to the Ising machine 20. The Ising machine 20 calculates the variable q 0 ~q 8 The Ising machine 20 calculates the value of the calculated variable q 0 ~q 8 The destination data including the value of is output to the simulation device 10.
[0053] The simulation device 10 calculates the variable q 0 ~q 8 Based on the destination data including the value of , it is determined whether or not the particle will move and the direction of particle movement, and the cell data is updated.
[0054] By repeatedly performing the above-described calculations, the simulation device 10 can generate cell data for identifying the cell in which one particle is located at each step. Based on the cell data for each step, the simulation device 10 can generate a simulation image showing the diffusion of one particle over multiple steps and display the image on the display 14.
[0055] Furthermore, the simulation device 10 generates cell data for each of the plurality of particles, and outputs the cost function shown in Equation (2) for each of the plurality of particles to the Ising machine 20, thereby calculating the variable q 0 ~q 8 The simulation device 10 acquires destination data including the values of the variables q of the plurality of particles acquired from the Ising machine 20. 0 ~q 8 Whether each of the plurality of particles is moving and the direction of movement of each of the plurality of particles are identified based on the movement destination data including the value of (a)., and the cell data of each of the plurality of particles is updated.
[0056] This allows the simulation device 10 to generate a simulation image showing how each of the multiple particles diffuses over multiple steps based on the cell data for each step for each of the multiple particles, and display the image on the display 14.
[0057] 5 is a diagram showing an example of verification of the simulation results in a two-dimensional space. In FIG. 5, the variable q 0 ~q 8 For each corresponding cell, the number of times the particle was placed over multiple steps (e.g., 800,000 steps) is shown in a heat map.
[0058] As shown in FIG. 5, the variable q 1 and the cell corresponding to the variable q that has been placed the least number of times. 6 The difference in the number of times particles have been placed between the cell corresponding to the variable q and the cell corresponding to the variable q is about 700 times. Considering that the number of particle movements is 800,000, the difference in the number of times particles have been placed between the cell corresponding to the variable q and the cell corresponding to the variable q is less than about 1%. 0 ~q 8 It can be seen that the signal is evenly spread to the cells corresponding to each of the signals.
[0059] 6 is a diagram showing an example of a simulation result at a predetermined timing in a two-dimensional space. As shown in FIG. 6, when the simulation process is executed over 500 steps and the positions of particles are indicated by black dots based on the simulation results obtained at each step, it can be seen that the particles diffuse outward from the center of the space, which is their initial position.
[0060] Fig. 7 is a diagram showing an example of verification of simulation results at a predetermined timing in two-dimensional space. Fig. 7 shows a Gaussian (normal distribution) graph created based on simulation results over 500 steps. In the graph of Fig. 7, the horizontal axis represents the coordinate position (random variable) in the X-axis direction in space, and the vertical axis represents the number of particles arranged (probability density). It is assumed that the X-coordinate of the particle's initial position near the center of space (for example, X4 in Fig. 4) is 1500.
[0061] As shown in Figure 7, the number of times particles are placed is greatest near the center of space, which is the particle's initial position, and the number of times particles are placed decreases as the distance from the center of space (X = 1500) increases. The graph in Figure 7 is also symmetrical with respect to the center of space (X = 1500).
[0062] The theoretical formula for the probability density variable in the Gaussian shown in FIG. 7 is given by the following formula (3).
[0063] In equation (3), "x" represents the value on the horizontal axis of the Gaussian graph. 0 " indicates the average value of x. Also, as shown in the following formula (4), the Gaussian variance (σ 2 ) can be represented as
[0064] Based on equation (4), the variance (σ 2 ) is proportional to time. Here, FIG. 8 is a diagram showing an example of verification of simulation results in two-dimensional space. FIG. 8 shows a graph of the degree of particle distribution with respect to time obtained based on the simulation results of each step. In the graph of FIG. 8, the horizontal axis shows the number of steps, and the vertical axis shows the variance (σ 2 ) values are shown.
[0065] As shown in FIG. 8, the simulation results show that the variance (σ 2) also increases. As such, it can be seen that the time change in particle distribution in the simulation results obtained by the simulation device 10 matches the theoretical formula. Therefore, it can be said that the simulation results obtained by the simulation device 10 are theoretically correct.
[0066] [Simulation Processing in Three-Dimensional Space] A simulation processing related to the diffusion of at least one particle in a three-dimensional space executed by the simulation device 10 according to the embodiment will be described with reference to Fig. 9. Fig. 9 is a diagram illustrating an example of the simulation processing related to the diffusion of particles in a three-dimensional space executed by the simulation device 10 according to the embodiment.
[0067] First, the simulation device 10 defines a three-dimensional space including a plurality of cells in which at least one particle is to be placed. For example, as shown in Fig. 9, the simulation device 10 places the plurality of cells along a space extending in the X-axis direction, the Y-axis direction, and the Z-axis direction, and places one particle in any one of the cells. The simulation device 10 generates cell data for identifying the cell in which the particle is located among the plurality of cells.
[0068] Furthermore, the simulation device 10 sets the variable q i and whether the particle is located or not is determined by the variable q i Each variable defined in a cell in the three-dimensional space is "0" when no particle is located in the corresponding cell, and is "1" when a particle is located in the corresponding cell.
[0069] The simulation device 10 generates at least one cost function that represents the energy (Hamiltonian) of the QUBO model 210 so that the Ising machine 20 can calculate the destination of a particle using the QUBO model 210. The cost function for calculating the destination of one particle in three-dimensional space is expressed by the following equation (5).
[0070] In formula (5), "q i" is a variable that indicates whether a particle is located or not. Each variable is "0" if a particle is not located in the corresponding cell, and "1" if a particle is located in the corresponding cell. Note that a particle may not move from its current cell. Also, since there is only one particle, the value of two or more variables cannot be "1".
[0071] The simulation device 10 outputs the cost function shown in equation (5) to the Ising machine 20. The Ising machine 20 calculates the value of each variable when the cost function acquired from the simulation device 10 is minimized. The Ising machine 20 outputs destination data including the calculated values of each variable to the simulation device 10.
[0072] The simulation device 10 determines whether or not the particle will move and the direction of movement of the particle based on the destination data including the values of each variable acquired from the Ising machine 20, and updates the cell data.
[0073] By repeatedly performing the above-described calculations, the simulation device 10 can generate cell data for identifying the cell in which one particle is located at each step. Based on the cell data for each step, the simulation device 10 can generate a simulation image showing the diffusion of one particle over multiple steps and display the image on the display 14.
[0074] Furthermore, the simulation device 10 generates cell data for each of the plurality of particles, and outputs the cost function shown in equation (5) for each of the plurality of particles to the Ising machine 20, thereby acquiring destination data including the values of the variables of each of the plurality of particles from the Ising machine 20. Based on the destination data including the values of the variables of each of the plurality of particles acquired from the Ising machine 20, the simulation device 10 identifies whether each of the plurality of particles will move and the direction of movement of each of the plurality of particles, and updates the cell data for each of the plurality of particles.
[0075] This allows the simulation device 10 to generate a simulation image showing how each of the multiple particles diffuses over multiple steps based on the cell data for each step for each of the multiple particles, and display the image on the display 14.
[0076] [Simulation Process Related to Diffusion of Multiple Interacting Particles] The simulation process related to the diffusion of multiple interacting particles, which is executed by the simulation device 10 according to the embodiment, will be described with reference to Figures 10 to 14. Figures 10 to 12 are diagrams showing an example of the simulation process related to the diffusion of multiple interacting particles, which is executed by the simulation device 10 according to the embodiment.
[0077] In the examples shown in FIGS. 10 to 12, two particles are assumed to be arranged in a one-dimensional space including a plurality of cells. For example, the simulation device 10 arranges the plurality of cells in a space along the X-axis direction, and arranges two particles in each of two arbitrary cells (cell X4 and cell X8 in this example). The simulation device 10 generates cell data for identifying the plurality of cells in which each of the plurality of particles is located. In the example of FIG. 10, the simulation device 10 arranges two particles q in each of cell X4 and cell X8. i , q j The cell data indicating where the cell is located is generated.
[0078] Furthermore, the simulation device 10 i , q j The variable q is within the range where it can be moved. i , q j and assign particle q i , q j Whether or not is located is determined by the variable q i , q j In the example of FIG. 10, the simulation device 10 calculates the particle q i The variables corresponding to the cells adjacent to the current cell where q is currently located are 0 or q 1 Shown in.
[0079] For example, the simulation device 10 assigns a particle q to a cell X3 adjacent to a current cell X4. i Whether or not is located is determined by the variable q 0 Particle q i If is not located in the cell of X3, the variable q 0 becomes "0", and particle q i If is located in cell X3, then variable q 0 becomes "1." The simulation device 10 also assigns particle q i Whether or not is located is determined by the variable q 1 Particle q i If is not located in cell X5, variable q 1 becomes "0", and particle q i If is located in cell X5, then variable q 1 becomes "1".
[0080] For example, the simulation device 10 assigns particle q to the cell X7 adjacent to the current cell X8. j Whether or not is located is determined by the variable q 2 Particle q j If is not located in cell X7, then variable q 2 becomes "0", and particle q j If is located in cell X7, then variable q 2 becomes "1." The simulation device 10 also assigns particle q j Whether or not is located is determined by the variable q 3 Particle q j If is not located in cell X9, then variable q 3 becomes "0", and particle q j If is located in cell X9, then variable q 3 becomes "1".
[0081] Energy interactions (attractive forces) occur between multiple particles. The range in which the energy of one particle affects the energy of other particles is roughly determined. In the example of Figure 10, particle q located in cell X4 i The energy of particle q in cell X4 affects the energy of other particles in cell X9. iThe particle q located in cell X8 has the energy j This affects the energy of particle q i and particle q j The cost function associated with the energy interaction occurring between
[0082] In formula (6), "q i " is the particle q i is a variable that indicates whether or not "q" is located. j " is the particle q j is a variable that indicates whether or not "d" is located. ij " is the particle q i and particle q j "P(d ij )) is a particle q i and particle q j The degree of energy interaction between particle q and particle q is shown in cell X4. i is located, and particle q j The energy distribution of the entire system when is located is expressed by a graph as shown in FIG.
[0083] FIG. 11 shows the energy distribution of the entire system at the next step after a unit time has elapsed from the state illustrated in FIG. 10. As shown in FIG. 11, particle q i moves from cell X4 to cell X5, and particle q j is moving from cell X8 to cell X7. In this case, particle q i and particle q j The distance between ij ) is shortened, so particle q i The energy of particle q j Therefore, as shown in FIG. 11, the particle q i is located, and particle q j In the energy distribution of the entire system when ij )) becomes larger.
[0084] In this way, when the distance between multiple particles becomes shorter, the degree of energy interaction of the entire system (P(d ij ) becomes larger and the energy of the entire system becomes stable.
[0085] The simulation device 10 generates at least one cost function that represents the energy (Hamiltonian) of the QUBO model 210 so that the Ising machine 20 can calculate the destination of a particle using the QUBO model 210. The cost function for calculating the destination of a particle in a space where energy interactions occur between a plurality of particles is expressed by the following equation (7).
[0086] In formula (7), H rw is a cost function for calculating the destinations of two particles in one-dimensional space, and is expressed by the following equation (8).
[0087] In formula (8), "q 0 " is the particle q i is a variable corresponding to a cell adjacent to the current cell in the negative direction of the X axis (for example, to the left). 1 " is the particle q i is a variable corresponding to a cell adjacent to the current cell in the positive direction of the X axis (for example, to the right). For example, the variable q 0 The value of is "1" and the variable q 1 If the value of is "0", particle q i The variable q is used to move to the cell adjacent to the current cell in the negative direction of the X axis. 0 , q 1 The variable q 0 The value of is "0" and the variable q 1 If the value of is "1", particle q i The variable q is used to move to the cell adjacent to the current cell in the positive direction of the X axis. 0 , q 1 It is shown by the particle q i is one and always moves, so the variable q 0 , q 1 The values of both of these can never be "0" or "1".
[0088] Also, "q 2" is the particle q j is a variable corresponding to a cell adjacent to the current cell in the negative direction of the X axis (for example, to the left). 3 " is the particle q j is a variable corresponding to a cell adjacent to the current cell in the positive direction of the X axis (for example, to the right). For example, the variable q 2 The value of is "1" and the variable q 3 If the value of is "0", particle q j The variable q is used to move to the cell adjacent to the current cell in the negative direction of the X axis. 2 , q 3 The variable q 2 The value of is "0" and the variable q 3 If the value of is "1", particle q j The variable q is used to move to the cell adjacent to the current cell in the positive direction of the X axis. 2 , q 3 It is shown by the particle q j is one and always moves, so the variable q 2 , q 3 The values of both of these can never be "0" or "1".
[0089] Also, in formula (7), H interaction is a cost function related to the energy interactions that occur between particles, and is given by the following equation (9):
[0090] In formula (9), "d 02 " is the variable q 0 (cell X3 in the example of Figure 12) and variable q 2 The distance between the cell corresponding to "d" (cell X7 in the example of FIG. 12) and the cell corresponding to "d" (cell X7 in the example of FIG. 12) is shown. 12 " is the variable q 1 (cell X5 in the example of Figure 12) and variable q 2 The distance between the cell corresponding to "d" (cell X7 in the example of FIG. 12) and the cell corresponding to "d" (cell X7 in the example of FIG. 12) is shown. 03 " is the variable q 0 (cell X3 in the example of Figure 12) and variable q 3 The distance between the cell corresponding to "d" (cell X9 in the example of FIG. 12) and the cell corresponding to "d" (cell X9 in the example of FIG. 12) is shown. 13 " is the variable q 1(cell X5 in the example of Figure 12) and variable q 3 12. The distance between the cell corresponding to the cell (cell X9 in the example of FIG. 12) and the cell corresponding to the cell (cell X9 in the example of FIG. 12).
[0091] Also, in equation (7), W rw Is, H rw is a weighting coefficient multiplied by W interaction Is, H interaction In the calculation by the Ising machine 20, the simulation device 10 uses H interaction More H rw In order to increase the influence of interaction The value of W rw For example, increase the value of W rw The value of W interaction is set to about 10 times the value of
[0092] The simulation device 10 outputs the cost function shown in equation (7) to the Ising machine 20. The Ising machine 20 calculates the variable q 0 ~q 3 The Ising machine 20 calculates the value of the calculated variable q 0 ~q 3 The destination data including the value of is output to the simulation device 10.
[0093] The simulation device 10 calculates the variable q 0 ~q 3 Based on the destination data including the values of i , q j The direction of movement is identified and the cell data is updated.
[0094] The simulation device 10 repeatedly executes the above-described calculations to calculate the time course of two particles q i , q j The simulation device 10 can generate cell data for identifying the cell in which two particles q are located over multiple steps based on the cell data for each step. i , q jA simulation image showing the state of diffusion of the light can be generated and displayed on the display 14.
[0095] Furthermore, the simulation device 10 generates cell data for each of the other multiple particles, and outputs the cost function shown in equation (7) for each of the multiple particles to the Ising machine 20, thereby calculating the variable q 0 ~q 3 The simulation device 10 acquires destination data including the value of each of the variables q of the other plurality of particles acquired from the Ising machine 20. 0 ~q 3 Based on the movement destination data including the value of , the movement direction of each of the other plurality of particles is identified, and the cell data of each of the other plurality of particles is updated.
[0096] As a result, the simulation device 10 can generate a simulation image showing how each of the other multiple particles diffuses over multiple steps based on the cell data for each step for each of the other multiple particles, and display the image on the display 14.
[0097] 13 is a diagram showing an example of a simulation result at a predetermined timing in three-dimensional space. As shown in FIG. 13, when a simulation process is performed over multiple steps and the positions of multiple interacting particles are indicated by black dots based on the simulation results obtained at each step, it can be seen that the multiple particles move randomly and aggregate while diffusing (Brownian aggregation). The entire particle group generated by such aggregation while diffusing is also referred to as an "aggregate" below.
[0098] The theoretical formula for the size of aggregates produced by Brownian aggregation is given by the following formula (10):
[0099] In formula (10), "V p " indicates the size of the aggregate. p0 " indicates the volume of one particle. "n 0 " indicates the number of particles. B0" denotes the aggregation constant. "t" denotes time.
[0100] In other words, based on equation (10), the size of the aggregate is proportional to time. Here, FIG. 14 is a diagram showing an example of verification of the simulation results in three-dimensional space. FIG. 14 shows a graph of the size of the aggregate versus time obtained based on the simulation results of each step. In the graph of FIG. 14, the horizontal axis shows the number of steps, and the vertical axis shows the size of the aggregate.
[0101] As shown in Figure 14, the simulation results show that the aggregates become larger in proportion to the number of steps. As such, the simulation results obtained by the simulation device 10 show that the time change in the distribution of multiple particles that interact with each other matches the theoretical formula. Therefore, it can be said that the simulation results obtained by the simulation device 10 are theoretically correct.
[0102] [Simulation Processing] Fig. 15 is a flowchart relating to the simulation processing executed by the simulation device 10 according to the embodiment. The arithmetic unit 11 of the simulation device 10 executes the simulation program 130 to perform the processing of the flowchart shown in Fig. 15. In Fig. 15, "S" is used as an abbreviation for "STEP."
[0103] 15, the simulation device 10 defines a space including a plurality of cells for arranging at least one particle (S1). The simulation device 10 generates cell data for identifying a current cell in which at least one particle is currently located among the plurality of cells included in the space defined in S1 (S2).
[0104] The simulation device 10 generates at least one cost function for the Ising machine 20 to calculate the destination of the particles using the QUBO model 210, and outputs the generated at least one cost function to the Ising machine 20 (S3). On the other hand, the Ising machine 20 calculates the variable q i Calculate the value of the calculated variable q i The destination data including the value of is output to the simulation device 10.
[0105] The simulation device 10 determines whether or not destination data has been acquired from the Ising machine 20 (S4). If the simulation device 10 has not acquired destination data from the Ising machine 20 (NO in S4), the simulation device 10 repeats the process of S4 until it acquires destination data from the Ising machine 20. On the other hand, if the simulation device 10 has acquired destination data from the Ising machine 20 (YES in S4), the simulation device 10 identifies the movement direction of the particle based on the acquired destination data and updates the cell data (S5).
[0106] The simulation device 10 identifies the positions of the particles before and after the movement based on the cell data before and after the update, generates a simulation image showing the state of the particles diffusing, and displays it on the display 14 (S6).The simulation device 10 then terminates this process.
[0107] The simulation device 10 repeatedly executes the simulation process shown in FIG. 15 for each unit time, thereby obtaining a simulation result of particle diffusion that indicates the position of the particle at each step.
[0108] As described above, the simulation device 10 can simulate the diffusion of at least one particle by updating the cell data for identifying the cell in which at least one particle is located, based on the destination data for identifying the destination of at least one particle calculated using the QUBO model 210 of the Ising machine 20.
[0109] This allows the user to simulate particle diffusion using the Ising machine 20, which can suppress increases in power consumption compared to a von Neumann computer.
[0110] In the above example, the simulation device 10 assumes that the particle moves to a cell adjacent to the current cell where the particle is currently located, and calculates the variable q i However, assuming that the particle moves to a cell that is not adjacent to the current cell, the variable q i For example, the simulation apparatus 10 may set a variable q i may be used to generate the cost function.
[0111] [Aspect] (Item 1) A simulation device (10) according to one aspect includes a calculation device (11) and a storage device (13) that stores a program executed by the calculation device (11). The calculation device (11) defines a space including a plurality of cells for arranging at least one particle, generates cell data for identifying a cell among the plurality of cells in which the at least one particle is located, acquires destination data for identifying a destination of the at least one particle calculated using a QUBO model (210) of an Ising machine (20), and updates the cell data based on the destination data to simulate the diffusion of the at least one particle.
[0112] (2) In the simulation device (10) described in (1), the calculation device (11) determines whether at least one particle is moving and the direction of movement of at least one particle based on the destination data, and updates the cell data.
[0113] (Item 3) In the simulation device (10) described in item 1 or 2, the Ising machine (20) calculates the value of a variable when at least one cost function representing the energy of the QUBO model (210) is minimized. The calculation device (11) outputs the at least one cost function to the Ising machine (20) to acquire, from the Ising machine (20), destination data including the value of the variable calculated based on the at least one cost function.
[0114] (Item 4) In the simulation device (10) described in item 3, the at least one particle includes a plurality of particles. The calculation device (11) outputs at least one cost function for each of the plurality of particles to the Ising machine (20), thereby acquiring destination data for each of the plurality of particles from the Ising machine (20).
[0115] (Item 5) In the simulation device (10) according to item 3 or 4, the at least one cost function includes a cost function related to energy interactions occurring between a plurality of particles.
[0116] (Item 6) In the simulation device (10) according to any one of Items 1 to 5, the space includes a plurality of cells arranged to extend one-dimensionally, two-dimensionally, or three-dimensionally.
[0117] (Item 7) A simulation system (1) according to one aspect includes a simulation device (10) and an Ising machine (20) having a QUBO model (210). The simulation device (10) defines a space including a plurality of cells for arranging at least one particle, generates cell data for identifying a cell among the plurality of cells in which the at least one particle is located, acquires destination data for identifying a destination of the at least one particle calculated using the QUBO model (210) of the Ising machine (20), and updates the cell data based on the destination data to simulate the diffusion of the at least one particle.
[0118] (Item 8) A simulation method according to one aspect includes, as processing executed by a computer (11), a step (S1) of defining a space including a plurality of cells for arranging at least one particle, a step (S2) of generating cell data for identifying a cell among the plurality of cells in which the at least one particle is located, steps (S3, S4) of acquiring destination data for identifying a destination of the at least one particle calculated using a QUBO model (210) of an Ising machine (20), and steps (S5, S6) of updating the cell data based on the destination data and simulating the diffusion of the at least one particle.
[0119] (Item 9) A simulation program (130) according to one aspect causes a computer (11) to execute the following steps: a step (S1) of defining a space including a plurality of cells for arranging at least one particle; a step (S2) of generating cell data for identifying a cell among the plurality of cells in which the at least one particle is located; steps (S3, S4) of acquiring destination data for identifying a destination of the at least one particle calculated using a QUBO model (210) of an Ising machine (20); and steps (S5, S6) of updating the cell data based on the destination data and simulating the diffusion of the at least one particle.
[0120] The embodiments disclosed herein should be considered to be illustrative in all respects and not restrictive. The scope of the present disclosure is defined by the claims, not by the description of the above embodiments, and is intended to include all modifications within the meaning and scope of the claims.
[0121] 1 Simulation system, 10 Simulation device, 11 Arithmetic device, 12 Memory, 13 Storage device, 14 Display, 15 Input device, 16 Data reading device, 17 Communication device, 20 Ising machine, 30 Storage medium, 130 Simulation program, 210 QUBO model.
Claims
1. A simulation device for simulating the diffusion of at least one particle, comprising: an arithmetic device; and a storage device for storing a program executed by the arithmetic device, wherein the arithmetic device defines a space including a plurality of cells for arranging the at least one particle, generates cell data for identifying a cell in which the at least one particle is located among the plurality of cells, acquires destination data for identifying a destination of movement of the at least one particle calculated using a QUBO model of an annealing machine, and updates the cell data based on the destination data to simulate the diffusion of the at least one particle.
2. The simulation device according to claim 1, wherein the arithmetic device identifies whether the at least one particle moves and a direction of movement of the at least one particle based on the destination data, and updates the cell data.
3. The annealing machine calculates a value of a variable when at least one cost function representing the energy of the QUBO model is minimized, and the arithmetic device outputs the at least one cost function to the annealing machine to acquire the destination data including the value of the variable calculated based on the at least one cost function from the annealing machine. The simulation device according to claim 1 or claim 2.
4. The at least one particle includes a plurality of particles, and the arithmetic device outputs the at least one cost function of each of the plurality of particles to the annealing machine to acquire the destination data of each of the plurality of particles from the annealing machine. The simulation device according to claim 3.
5. The simulation device according to claim 4, wherein the at least one cost function includes a cost function related to an energy interaction occurring between the plurality of particles.
6. The simulation device according to any one of claims 1 to 5, wherein the space includes the plurality of cells arranged to extend in one dimension, two dimensions, or three dimensions.
7. A simulation system for simulating the diffusion of at least one particle, comprising a simulation device and an annealing machine having a QUBO model, wherein the simulation device defines a space including a plurality of cells for arranging the at least one particle, generates cell data for identifying a cell in which the at least one particle is located among the plurality of cells, obtains destination data for identifying a destination of the at least one particle calculated using the QUBO model of the annealing machine, and updates the cell data based on the destination data to simulate the diffusion of the at least one particle.
8. A simulation method for simulating the diffusion of at least one particle, which includes, as processes executed by a computer, a step of defining a space including a plurality of cells for arranging the at least one particle, a step of generating cell data for identifying a cell in which the at least one particle is located among the plurality of cells, a step of obtaining destination data for identifying a destination of the at least one particle calculated using a QUBO model of an annealing machine, and a step of updating the cell data based on the destination data to simulate the diffusion of the at least one particle.
9. A simulation program for simulating the diffusion of at least one particle, which causes a computer to execute a step of defining a space including a plurality of cells for arranging the at least one particle, a step of generating cell data for identifying a cell in which the at least one particle is located among the plurality of cells, a step of obtaining destination data for identifying a destination of the at least one particle calculated using a QUBO model of an annealing machine, and a step of updating the cell data based on the destination data to simulate the diffusion of the at least one particle.
Citation Information
Patent Citations
Method and system for quantum computing-enabled first-principles molecular simulation using quantum-classical computing hardware
JP2021504831A
Simulating electronic structure with quantum annealing devices and artificial neural networks
US20200286595A1
Parameter generation device, method and program
WO2023095594A1