WO2022024324A1 - 情報処理方法および情報処理システム - Google Patents

情報処理方法および情報処理システム Download PDF

Info

Publication number
WO2022024324A1
WO2022024324A1 PCT/JP2020/029336 JP2020029336W WO2022024324A1 WO 2022024324 A1 WO2022024324 A1 WO 2022024324A1 JP 2020029336 W JP2020029336 W JP 2020029336W WO 2022024324 A1 WO2022024324 A1 WO 2022024324A1
Authority
WO
WIPO (PCT)
Prior art keywords
spin
interaction
information processing
dth
group
Prior art date
Application number
PCT/JP2020/029336
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/JP2020/029336 priority Critical patent/WO2022024324A1/ja
Priority to JP2022539922A priority patent/JP7357795B2/ja
Publication of WO2022024324A1 publication Critical patent/WO2022024324A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass

Definitions

  • the present invention relates to an information processing method and an information processing system.
  • Patent Document 1 describes a method for efficiently performing a ground state search by expressing the interaction relationship of an Ising model having a quadratic interaction in a bipartite graph.
  • Non-Patent Document 1 describes a method of rewriting a higher-order interaction with a binary variable into a second-order interaction by introducing an auxiliary variable.
  • the interaction model is defined by the plurality of nodes constituting the model, the interaction between the nodes, and the bias of each node.
  • Various mathematical models have been proposed in physics and social science, but they can be interpreted as a form of interaction model.
  • the Ising model in which each node has a binary value of ⁇ 1 is a typical example.
  • Searching for the ground state of the Ising model is an optimization problem for finding a spin array that minimizes the energy function of the Ising model.
  • a method of searching the ground state of the Ising model there is a Markov chain Monte Carlo method.
  • a desired statistic is estimated by sampling states while probabilistically transitioning between states.
  • the present invention has been made in view of such a background, and an object of the present invention is to provide an information processing system and an information processing method capable of efficiently searching the ground state of an inging model having a high-order interaction. do.
  • a preferred aspect of the present invention is an information processing method for searching the ground state of an interaction model using an information processing system.
  • N N ⁇ D spin memory for storing N ⁇ D group spin values (N is a natural number, D is a natural number of 3 or more), and first to D spins.
  • the interaction relations of the d-th order (d is a natural number of 3 or more) of the Ising model having N spins (N is a natural number) are exchanged with D pieces (D) having N spins, respectively.
  • D D pieces
  • Corresponds to the interaction relationship of the D part graph structure in the Ising model composed of spin groups of 3 or more natural numbers), and the i-th spin (i 1 to N) of the first to D spin groups is the basal state.
  • a storage unit that stores an energy function in which an appropriate quadratic interaction is set between all pairs of i-th (i 1 to N) spins of the first to d spin groups so as to have the same value in the above.
  • a base state search unit for searching the base state of the Ising model based on the energy function and spin-specific information is provided.
  • the Ising model appears as a lattice model that describes magnetic materials in statistical mechanics.
  • the Ising model is defined using binary variables called (Ising) spins that take two values such as + 1 / -1 and 0/1, and interaction coefficients that represent the coupling between spins.
  • the D-th order interaction is represented by a d-th order polynomial of spins.
  • Equation 1 ⁇ i represents the value of the i-th variable, and J ijk represents the interaction coefficient between the i, j, and k-th spins.
  • the Ising model is expressed as an undirected graph, and each interaction term is specified by the set of spins contained therein. Therefore, Jijk is a symmetric tensor that does not change the value for the replacement of subscripts and is 0 when two or more subscripts have the same value.
  • the influence of the interaction is obtained for the combination of ⁇ i, ⁇ j, and ⁇ k that satisfies i ⁇ j ⁇ k .
  • Low-order interactions including linear bias terms can be rewritten into higher-order interactions, for example, by using spins with a fixed value of 1. Therefore, in the following, the maximum order of the interaction of the Ising model to be considered is set to D, and only the D-order interaction term is considered. At this time, the energy of the Ising model can be calculated by substituting the spin array ⁇ into the interaction term.
  • Searching for the ground state of the Ising model is an optimization problem for finding a spin array that minimizes the energy function of the Ising model.
  • the search for the ground state of the Ising model is performed by the Markov chain Monte Carlo method (hereinafter referred to as MCMC (Markov Chain Monte Carlo methods)).
  • Figure 1 is a conceptual diagram of the energy landscape of the Ising model.
  • the horizontal axis of the graph is the spin array, and the vertical axis is the total energy of the system.
  • the probability of transition from the state ⁇ to the state ⁇ ' is hereinafter referred to as a transition probability P ( ⁇ , ⁇ ').
  • Examples of the transition probability P ( ⁇ , ⁇ ') include those by the metropolis method and those by the heat bath method. The formula for calculating the transition probability P ( ⁇ , ⁇ ') in the metropolis method is shown below.
  • T is a parameter generally called temperature, and represents the ease of transition between states.
  • a method of changing one spin from the current state ⁇ is common.
  • the search is performed for the states that the entire variable can take. For example, in the case of FIG. 1, when one spin is inverted from the state A, it becomes the state B, and when one variable is further inverted, it becomes the state C.
  • Simulated annealing is a method for obtaining an optimum solution or an approximate solution for a minimized problem by utilizing this.
  • SA Simulated Annealing
  • the spin value is stochastically determined based on Equation 2.
  • Equation 2 it is possible to apply the state transitions based on Equation 2 to a plurality of spins that are not coupled at the same time. Therefore, it is possible to speed up the processing of MCMC and SA by updating the spins that are not coupled in parallel.
  • FIG. 2 is a complete graph showing the interaction relationship between the variables of the Ising model as a complete graph, and is a complete graph showing the interaction relationship between all the spins of the Ising model when the number of spins is 6. Full join graph). For example, the value of a cubic interaction is determined from a set of three variables connected by a dotted line. Similarly, the D-th order interaction is determined from D variables.
  • Patent Document 1 proposes a method for efficiently obtaining the ground state by converting the interaction relationship of an Ising model having a quadratic interaction into a bipartite graph.
  • the method of Patent Document 1 can be applied to an Ising model having a higher-order interaction by converting a higher-order interaction into an Ising model having a second-order interaction, but it is described in Non-Patent Document 1.
  • such a conversion requires a large number of auxiliary spins, which increases the scale of the problem, and also causes an increase in the interaction coefficient, which makes it difficult to search for the base state by SA.
  • the ground state is obtained by a method of converting the D-order interaction relationship in the Ising model into a D-part graph.
  • this method will be described.
  • a complete graph as shown in FIG. 2 can be converted into a three-part graph.
  • the number of spins is 6. From the left in the figure, they are called the first spin group, the second spin group, and the third spin group.
  • the interaction J ijk acts between the i-th spin of the first spin group, the j-th spin of the second spin group, and the k-th spin of the third spin group as in the complete graph.
  • the interaction coefficient of this secondary interaction is defined as ⁇ w (w ⁇ 0).
  • the line is cut due to the constraint of the drawing in FIG. 3, the interaction shown by the thick line and the thin line also acts between the first spin group and the third spin group. That is, the first to third spin groups are connected in an annular shape.
  • the interaction coefficient w When the interaction coefficient w is set to a sufficiently large value, the i-th spins (variables) of the first to third spin groups all have the same value in the ground state of the Ising model shown in FIG. If w is a value satisfying the following equation 3, it can be shown that the i-th spins of the first to third spin groups have the same value in the ground state.
  • ⁇ (x) is the maximum eigenvalue of the matrix M (x) of the following equation 4.
  • Equation 5 the energy H of the Ising model in the ground state
  • the spins s 1 , ..., S N can be regarded as ⁇ 1 , ..., ⁇ N , which minimize the energy of the Ising model of Eq. 1. That is, the spin arrangement of each column in the ground state of the model represented by the three-part graph shown in FIG. 3 is equal to the ground state of the Ising model having a third-order interaction of fully connected as shown in FIG. Further, since the graph shown in FIG. 3 is a three-part graph, there is no coupling between spins in each spin group, so that the spins of each group can update their values at the same time when MCMC is executed. The search for the ground state can be performed efficiently.
  • Equation 9 the difference ⁇ H of the energy H when the value ⁇ di of the i -th spin of the d -th spin group is inverted can be obtained from Equation 9.
  • the acceptance probability (transition probability) of the state transition at the temperature T is expressed by Equation 2. Therefore, if a uniform random number u (0 ⁇ u ⁇ 1) is used, the condition for accepting the state transition can be expressed by the following equation.
  • the next state of the spin value ⁇ di of the dth spin group may be obtained from the following equation.
  • the function sign (x) in the following equation 14 is a function that returns +1 if x ⁇ 0 and -1 if x ⁇ 0.
  • equation 14 focuses on one spin of the dth spin group, and is an equation for determining the next state of this spin according to the metropolis method. Further, since the equation 14 includes only the i-th spin with respect to the spins of the d-th spin group, the equation 14 can be applied to a plurality of spins of the d-th spin group at the same time.
  • FIG. 4 is an example of an information processing system that searches for the ground state of the Ising model based on Equation 14.
  • the information processing system 10 includes a processor 11, a main storage device 12, an auxiliary storage device 13, an input device 14, an output device 15, a communication device 16, one or more arithmetic units 20, and these.
  • a system bus 5 for communicably connecting the devices is provided. Even if the information processing system 10 is partially or wholly realized by using a virtual information processing resource such as a cloud server provided by a cloud system (CloudSystem), for example. good.
  • the information processing system 10 may be realized by, for example, a plurality of information processing systems that are communicably connected and operate in cooperation with each other.
  • the processor 11 is configured by using, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit).
  • a CPU Central Processing Unit
  • MPU Micro Processing Unit
  • the main storage device 12 is a device that stores programs and data, and is, for example, a ROM (ReadOnlyMemory) (SRAM (StaticRandomAccessMemory), NVRAM (NonVolatileRAM), mask ROM (MaskReadOnlyMemory), PROM. (Programmable ROM), etc.), RAM (RandomAccessMemory) (DRAM (DynamicRandomAccessMemory), etc.), etc.
  • ROM ReadOnlyMemory
  • SRAM StaticRandomAccessMemory
  • NVRAM NonVolatileRAM
  • mask ROM Memory
  • PROM PROM.
  • RAM RandomAccessMemory
  • DRAM DynamicRandomAccessMemory
  • DRAM DynamicRandomAccessMemory
  • the auxiliary storage device 13 is a hard disk drive (Hard Disk Drive), a flash memory (Flash Memory), an SSD (Solid State Drive), an optical storage device (CD (Compact Disc), DVD (Digital Versatile Disc), etc.) and the like. ..
  • the programs and data stored in the auxiliary storage device 13 are read into the main storage device 12 at any time.
  • the input device 14 is a user interface that receives information input from the user, and is, for example, a keyboard, a mouse, a card reader, a touch panel, or the like.
  • the output device 15 is a user interface that provides information to the user, and is, for example, a display device (LCD (Liquid Crystal Display), graphic card, etc.) that visualizes various information, an audio output device (speaker), a printing device, and the like. ..
  • LCD Liquid Crystal Display
  • audio output device speaker
  • printing device and the like. ..
  • the communication device 16 is a communication interface that communicates with another device, and is, for example, a NIC (NetworkInterfaceCard), a wireless communication module, a USB (UniversalSerialInterface) module, a serial communication module, or the like.
  • NIC NetworkInterfaceCard
  • wireless communication module e.g., a Wi-Fi module
  • USB UniversalSerialInterface
  • serial communication module e.g., a serial communication module, or the like.
  • the arithmetic unit 20 is a device that executes processing related to the search for the ground state of the Ising model.
  • the arithmetic unit 20 may take the form of an expansion card to be mounted on the information processing system 10, such as a GPU (Graphics Processing Unit).
  • the arithmetic unit 20 is composed of hardware such as a CMOS (Complementary Metal Oxide Semiconductor) circuit, an FPGA (Field Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit).
  • the arithmetic unit 20 includes a control device, a storage device, an interface for connecting to the system bus 5, and sends / receives commands and information to / from the processor 11 via the system bus 5.
  • the arithmetic unit 20 may be connected to the other arithmetic unit 20 so as to be communicable via a communication line, and may operate in cooperation with the other arithmetic unit 20.
  • the function realized by the arithmetic unit 20 may be realized, for example, by causing a processor (CPU, GPU, etc.) to execute a program.
  • FIG. 5 is a diagram for explaining the operating principle of the arithmetic unit 20, and is a block diagram of a circuit (hereinafter, referred to as an arithmetic circuit 500) constituting the arithmetic unit 20.
  • the arithmetic circuit 500 realizes the function corresponding to the equation 14.
  • the operating principle of the arithmetic unit 20 will be described with reference to the figure.
  • the number of spins of the Ising model handled by the arithmetic circuit 500 is represented by N, and the order of interaction is represented by D.
  • the interaction coefficient memory 511 stores information representing the interaction coefficients J i, j, k (in the case of the third order).
  • the interaction coefficients J i, j, k are generally symmetric tensors for subscripts, and this symmetry can be used to reduce the amount of memory 511 used.
  • a signal EN, a signal SW, and a signal SR are input to the arithmetic circuit 500.
  • the comparator 517 outputs a signal SP.
  • the signal EN is a signal that periodically outputs D discrete values, and specifies a spin group to be updated.
  • the first selector 513 is the d'spin memory 512. All the values of d'(d' ⁇ d) are output.
  • the second selector 514 is the dth spin memory 512. Output the value of d.
  • the signal EN is directly supplied by a driver that controls the memory.
  • the control method may be configured by the hardware of the driver, or may be indirectly controlled by a higher-level control device.
  • the signal SW is a signal representing an N element vector (N-dimensional vector).
  • the signal SW represents a coefficient that defines the strength of the coupling (indicated by the thick line in FIG. 3) of the corresponding spins of the spin group.
  • the value of the interaction coefficient J stored in the interaction coefficient memory 511, the signal SW, and the output of the first selector 513 are input to the tensor product arithmetic unit 515.
  • the tensor product arithmetic unit 515 outputs the values on the left side of equations 12 and 13.
  • the product arithmetic unit 516 outputs a value obtained by multiplying the vector input from the second selector 514 by the SR input value. Therefore, the output signal is also an N-dimensional vector.
  • the value w on the left side of the equations 12 and 13 is calculated based on the equation 3 or the equation 7. This calculation may be performed outside the arithmetic unit 20, for example, the processor 11. Further, the calculation may be performed in the arithmetic unit 20.
  • the signal SR represents an N-dimensional vector in which each element is a random number independent of each other.
  • each element is the product of the temperature T and the random number -ln (u) / 2.
  • u is a uniform random number (0 ⁇ u ⁇ 1).
  • An N-dimensional vector output from the tensor product arithmetic unit 515 and an N-dimensional vector output from the product arithmetic unit 516 are input to the comparator 517.
  • the comparator 517 compares the corresponding elements of each input N-dimensional vector, and outputs the comparison result (magnitude relationship between the elements). For example, when the first element of the N-dimensional vector is compared in the two input signals of the comparator 517, the comparator 517 sets 1 when the signal of the product arithmetic unit 516 is larger, and -1 when the signal is smaller. , Set to the first element of the comparator 517. The same applies to the second and subsequent elements, and the setting is repeated up to the Nth element.
  • the signal SP output from the comparator 517 is the next state of the spin based on the MCMC described above. If the signal value of the signal EN is d, the information of the signal SP is the dth spin memory 512. Written in d.
  • FIG. 6 shows the main functions (software configuration) of the information processing system 10.
  • the information processing system 10 includes a storage unit 600, a model conversion unit 611, an interaction coefficient setting unit 612, an eigenvalue calculation unit 613, a spin value initialization unit 614, a temperature setting unit 615, and an interaction calculation execution.
  • a unit 616 and a spin value reading unit 617 are provided. These functions are realized by the processor 11 reading and executing the program stored in the main storage device 12, or by the hardware provided in the arithmetic unit 20.
  • the information processing system 10 may have other functions such as an operating system, a file system, a device driver, and a DBMS (DataBase Management System).
  • DBMS DataBase Management System
  • the storage unit 600 stores the problem data 601, the singing format problem data 602, and the arithmetic unit control program 603 in the main storage device 12 or the auxiliary storage device 13.
  • the problem data 601 is data in which, for example, a combinatorial optimization problem or the like is described in a predetermined description format.
  • the problem data 601 is set by the user, for example, via a user interface (input device, output device, communication device, etc.).
  • the Ising format problem data 602 is data generated by the model conversion unit 611 converting the problem data 601 into Ising model format data.
  • the arithmetic unit control program 603 is a program that is executed when the interaction arithmetic execution unit 616 controls the arithmetic unit 20, or is loaded by the interaction arithmetic execution unit 616 into each arithmetic unit 20 and executed by the arithmetic unit 20. be.
  • the model conversion unit 611 converts the problem data 601 into Ising format problem data 602, which is Ising model format data.
  • the function of the model conversion unit 611 does not necessarily have to be implemented in the information processing system 10, and the information processing system 10 inputs the isging format problem data 602 generated by another information processing device or the like to the input device 14 or the communication device 16. It may be taken in via.
  • the interaction coefficient setting unit 612 sets the symmetric tensor J described above for the interaction relationship of the Ising model based on the Ising format problem data 602 in the interaction coefficient memory 511.
  • the temperature setting unit 615 sets the value of the temperature T in the equation 14 used by the interaction calculation execution unit 616 when searching for the ground state of the Ising model.
  • the interaction calculation execution unit 616 performs a calculation (hereinafter referred to as an interaction calculation) for searching the ground state of the Ising model according to the equation 14 for each temperature T set by the temperature setting unit 615.
  • the interaction calculation execution unit 616 changes, for example, the temperature T from the higher side to the lower side.
  • the interaction calculation can be performed by, for example, an arithmetic unit 20 composed of dedicated hardware described later.
  • the spin value reading unit 617 completes the search for the ground state of the Ising model by the interaction calculation execution unit 616, the dth spin memory 512.
  • the spin value stored in d is read out, and the read value is output to the output device 15 and the communication device 16.
  • FIG. 7 is a flowchart illustrating a process (hereinafter referred to as a ground state search process S700) performed by the information processing system 10 when searching for the ground state of the Ising model.
  • a ground state search process S700 will be described with reference to the figure.
  • the letter "S" attached before the reference numeral means a processing step.
  • the ground state search process S700 is started by receiving an instruction from the user or the like via the input device 14, for example.
  • the model transformation unit 611 converts the problem data 601 into the Ising format problem data 602 (S711). If the storage unit 600 has already stored the Ising format problem data 602, the process S711 is omitted.
  • the processing of S711 and the processing after S712 may be executed by different devices. Further, the processing of S711 and the processing after S712 may be executed at different timings (for example, it is conceivable that the processing of S711 is performed in advance).
  • the interaction coefficient setting unit 612 sets a value in the interaction coefficient memory 511 (S712).
  • the memory value can also be set or edited by the user via a user interface (eg, implemented by an input device 14, an output device 15, a communication device 16, etc.).
  • the eigenvalue calculation unit 613 calculates the maximum eigenvalue of the matrix constructed from the interaction coefficient from the interaction coefficient stored in the interaction coefficient memory 511, and determines the value of the signal SW. As described above, this calculation may be performed in the arithmetic unit 20 or in the processor 11 (S713).
  • the above-mentioned subscript ⁇ represents the type of temperature T to be set.
  • the interaction calculation execution unit 616 generates the next state by executing the interaction calculation based on the equation 14 (S716).
  • the interaction calculation execution unit 616 determines whether or not the stop condition is satisfied (for example, whether or not the temperature T has reached a preset minimum temperature) (S717).
  • the interaction calculation execution unit 616 determines that the stop condition is satisfied (S717: YES)
  • the process proceeds to S718.
  • the interaction calculation execution unit 616 determines that the stop condition is not satisfied (S717: NO)
  • the process returns to S716.
  • the spin value reading unit 617 has the dth spin memory 512.
  • FIG. 8 is a block diagram showing a detailed configuration example of the arithmetic unit 20, and is a block diagram showing a circuit configuration example when the SRAM technology is applied to the arithmetic circuit 500 of the present embodiment.
  • a plurality of units 808 constitute an array unit 807. Such a configuration can be manufactured by applying semiconductor manufacturing technology.
  • FIG. 9 is an example of a circuit configuration of one unit 808.
  • One unit 808 includes a spin memory 901 that stores one variable ⁇ di and a configuration for updating the value of the spin memory 901 described later. That is, D ⁇ N units are prepared for the unit 808.
  • the configuration example of FIG. 8 will be described with reference to the generalized configuration of FIG.
  • the data stored in the interaction coefficient memory 511 is set by the model coefficient setting unit 801.
  • the D-th order symmetric tensor J is stored in the interaction coefficient memory 511, but is commonly used by all units 808 in order to reduce the circuit scale. Therefore, the interaction coefficient memory 511 supplies the coefficient J to all the units 808, but the signal line for that purpose is omitted in FIG.
  • each unit 808 may individually provide the interaction coefficient memory 511.
  • the weight w set by the weight setting unit 805 is stored in the weight memory 803.
  • the signal line that supplies the signal SW to the unit 808 is omitted.
  • the temperature signal TE supplied from the temperature setting unit 615 is supplied to all the units 808.
  • the function and configuration of the temperature signal follow the conventional technology.
  • the signal line that supplies the signal TE to the unit 808 is omitted.
  • the interaction driver 809 selects one from the D spin groups and inputs a signal permitting the update to each unit 808. As a result, only the spins of one specific spin group are updated at the same time.
  • the SRAM interface 806 writes and reads from the spin memory 901 that stores the variables of the unit 808 created by applying the circuit configuration of the SRAM.
  • the variable read after the processing in the arithmetic circuit 500 is completed is sent to the variable value reading unit 802.
  • the variable value reading unit 802 obtains a solution to the problem by outputting the read variable.
  • the controller 804 initializes the calculation circuit 500 and reports the end of processing according to the instruction of the interaction calculation execution unit 616.
  • FIG. 9 is a diagram showing a circuit configuration example of one unit 808.
  • One unit includes a spin memory 901 that stores any one of ⁇ di .
  • the difference calculation circuit 902 for example, when updating the i-th spin of the d group, the value of the i-th spin included in the groups other than the d group is input. For example, in the third-order problem, when updating the d group, the spin values of the d'group and the d'group other than the d group are input.
  • the interaction coefficient J stored in the interaction coefficient memory 511. The value of and the signal SW are input.
  • variable vectors are generated by reading from the spin memory 901 of the other unit 808 by the SRAM interface 806. Further, a symmetric tensor J which is a coefficient is input. Further, the weight w is input. The difference calculation circuit 902 outputs the values on the left side of the equations 12 and 13 for these inputs.
  • the output of the difference calculation circuit 902, the signal EN, the signal SW, the signal TE, and the variables stored in the spin memory 901 are input to the sampling circuit 903. Then, the candidate of the next state of the variable is sampled based on the equation 14.
  • the next state determination circuit 904 determines the next state of the variable based on one or more candidates output from the sampling circuit 903. In the next state determination circuit 904, for example, when a plurality of candidates are obtained from the sampling circuit 903 when the excessive relaxation method is followed, the candidate opposite to the state immediately before the spin memory 901 is selected and the next state is determined. The determined next state is stored in the spin memory 901.
  • the difference calculation circuit 902, the sampling circuit 903, and the next state determination circuit 904 are assumed to be hardware such as FPGA, but software can be implemented by, for example, a GPU arranged in the unit.
  • the array-shaped unit 808 By providing the array-shaped unit 808 in this way, it is possible to update variables in parallel.
  • the information processing system 10 of the present embodiment it is possible to efficiently search for the ground state of the Ising model. Therefore, the combinatorial optimization problem can be solved efficiently. Since the information processing system 10 (including the arithmetic unit 20) has a simple configuration, it can be manufactured inexpensively and easily.
  • each of the above configurations, functional units, processing units, processing means, etc. may be realized by hardware by designing a part or all of them by, for example, an integrated circuit.
  • each of the above configurations, functions, and the like may be realized by software by the processor interpreting and executing a program that realizes each function.
  • Information such as programs, tables, and files that realize each function can be placed in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or a DVD.
  • control lines and information lines are shown as necessary for explanation, and not all the control lines and information lines on the mounting are necessarily shown. For example, in practice almost all configurations may be considered interconnected.
  • the arrangement form of various functional units, various processing units, and various databases of the information processing system 10 described above is only an example.
  • the arrangement form of the various functional units, the various processing units, and the various databases can be changed to the optimum arrangement form from the viewpoint of the performance, processing efficiency, communication efficiency, and the like of the hardware and software included in the information processing system 10.
  • the configuration of the database (schema, etc.) that stores the various data described above can be flexibly changed from the viewpoints of efficient use of resources, improvement of processing efficiency, improvement of access efficiency, improvement of search efficiency, and the like.
  • It can be used for information processing devices, arithmetic units, and information processing methods.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

高次の相互作用をもつイジングモデルの基底状態探索を効率よく行い、組合せ最適化問題を効率よく解けるようにする。 N個×D群のスピンの値(Nは自然数、Dは3以上の自然数)を夫々格納するN×D個のスピンメモリと、第1~第Dスピン群の一つのみを選択する選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のi番目のスピンの値と、第dスピン群以外のスピン群の複数のi番目のスピンの値を入力とし、前記第1~第Dスピン群のi番目のスピン(i=1~N)の間に働く2次相互作用である重みw、前記第1~第Dスピン群の少なくともi,j,k番目のスピン(j,k=1~N)の間に働く3次以上の相互作用を示す相互作用係数J、および温度Tに基づいて、第dスピン群のi番目のスピンの値の次状態を計算する演算装置を有する、情報処理システムである。

Description

情報処理方法および情報処理システム
 本発明は、情報処理方法および情報処理システムに関する。
 特許文献1には、2次相互作用をもつイジングモデルの相互作用関係を2部グラフに表すことで基底状態探索を効率良く行う方法に関して記載されている。
 非特許文献1には、バイナリ変数に対する高次の相互作用を、補助変数を導入することで2次の相互作用に書き直す方法に関して記載されている。
WO19/216277
E. Boros and A. Gruber, "On quadratization of pseudo-Boolean functions", International Symposium on Artificial Intelligence and Mathematics (2012).
 物理現象や社会現象の多くは相互作用モデルによって表現することができる。相互作用モデルは、モデルを構成する複数のノード、ノード間の相互作用、ノード毎のバイアスにより定義される。物理学や社会科学では様々な数理モデルが提案されているが、それらは相互作用モデルの一形態として解釈することができる。例えば、各ノードが±1のバイナリ値を有するイジングモデルが代表例である。
 イジングモデルの基底状態の探索は、イジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。イジングモデルの基底状態を探索する方法として、マルコフ連鎖モンテカルロ法によるものがある。マルコフ連鎖モンテカルロ法では、状態間を確率的に遷移させつつ状態のサンプリングを行うことで所望の統計量を推定する。
 組合せ最適化問題をイジングモデルの基底状態の探索問題に変換すると、しばしば、変数間の相互作用関係が密な(各変数が他の変数のほとんど全てと結合した)高次の相互作用(3次以上の多項式として表される相互作用関係)が現れる。このような高次の相互作用をもつイジングモデルの基底状態探索にはいくつかの方法があるがそれぞれに課題が存在する。
 まず、相互作用が密結合であるために、各変数について確率的な処理を同時に行うことができず、処理の高速化が困難である。また、密な2次相互作用をもつイジングモデルに対しては各変数に対する確率的な処理を同時に行う方法が提案されているが、高次の相互作用を2次の相互作用へ変換するには多くの補助スピンが必要であり、さらに、相互作用係数が増大して基底状態探索が困難となる。
 本発明は、こうした背景を鑑みてなされたもので、高次の相互作用をもつイジングモデルの基底状態探索を効率良く行うことが可能な、情報処理システム及び情報処理方法を提供することを目的とする。
 本発明の好ましい一側面は、情報処理システムを利用して、相互作用モデルの基底状態の探索を行う情報処理方法である。この方法では、前記相互作用モデルは、D次(Dは3以上の自然数)の多項式として表される相互作用関係を含む。また、前記相互作用関係を、それぞれN個のスピン(Nは自然数)を有するD個のスピン群により構成されたD部グラフ構造の相互作用関係に対応させる。また、第1~第Dスピン群のi番目のスピン(i=1~N)が基底状態において同じ値となるように、前記第1~第Dスピン群のi番目のスピンのすべての間に重みwを設定する。また、基底状態の探索を行うためにスピンの状態遷移を行う際に、前記第1~第Dスピン群のうち一つのスピン群のみを更新するように前記情報処理システムを動作させる。
 本発明の好ましい他の一側面は、N個×D群のスピンの値(Nは自然数、Dは3以上の自然数)を夫々格納するN×D個のスピンメモリと、第1~第Dスピン群の一つのみを選択する選択信号ENを供給する供給線と、前記第1~第Dスピン群のi番目のスピン(i=1~N)の間に働く2次相互作用である重みwを格納する重みメモリと、前記第1~第Dスピン群の少なくともi,j,k番目のスピン(j,k=1~N)の間に働く3次以上の相互作用を示す相互作用係数Jを格納する相互作用係数メモリと、温度Tを供給する温度設定部と、前記選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のi番目のスピンの値と、第dスピン群以外のスピン群の複数のi番目のスピンの値を入力とし、前記重みw、前記相互作用係数J、および前記温度Tに基づいて、第dスピン群のi番目のスピンの値の次状態を計算する演算装置を有する、情報処理システムである。
 その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
 本発明によれば、高次の相互作用をもつイジングモデルの基底状態の探索を効率良く行うことができる。上記以外の課題、構成及び効果は、以下の発明を実施するための形態の説明により明らかにされる。
イジングモデルのエネルギーランドスケープの概念図である。 イジングモデルの変数間の相互作用関係を完全グラフとして表したグラフ図である。 3次のイジングモデルにおいて、スピン間の相互作用関係を3部グラフとして表した図である。 情報処理システムの概略的な構成を示すブロック図である。 演算回路のブロック図である。 情報処理システムが備える主な機能を示す機能ブロック図である。 基底状態探索処理を説明するフローチャートである。 演算装置の詳細な構成例を示すブロック図である。 一つのユニットの回路構成例を示すブロック図である。
 以下、実施の形態を図面にもとづいて詳細に説明する。尚、以下の説明において、同一の又は類似する構成に共通の符号を付して重複した説明を省略することがある。また同一あるいは同様の機能を有する要素が複数ある場合に同一の符号に異なる添字を付して説明することがある。また複数の要素を区別する必要がない場合は添字を省略して説明することがある。
 実施例の一つの例である情報システムは、Nスピン(Nは自然数)をもつイジングモデルのd次(dは3以上の自然数)の相互作用関係を、それぞれNスピンを有したD個(Dは3以上の自然数)のスピン群により構成されたイジングモデルにおけるD部グラフ構造の相互作用関係に対応させ、前記第1~Dスピン群のi番目のスピン(i=1~N)が基底状態において同じ値となるように前記第1~dスピン群のi番目(i=1~N)のスピンのすべてペアの間に適当な2次相互作用を設定したエネルギー関数を記憶する記憶部と、前記エネルギー関数と前記スピン固有の情報にもとづき前記イジングモデルの基底状態を探索する基底状態探索部と、を備える。
 まずイジングモデル(Ising Model)について説明する。イジングモデルは統計力学で磁性体を記述する格子モデルとして現れる。イジングモデルは、+1/-1や0/1などの2値をとる(イジング)スピンと呼ばれるバイナリ変数、及びスピン間の結合を表す相互作用係数を用いて定義される。D次の相互作用はスピンのd次の多項式で表現される。例えば、D=3次の相互作用は次式で表される。
Figure JPOXMLDOC01-appb-M000001
 式1において、σi は i 番目の変数の値、Jijk はi、j、k番目のスピン間の相互作用係数を表す。一般にイジングモデルは無向グラフとして表現され、各相互作用項はそこに含まれるスピンの組で指定される。そのため、Jijkは添え字の入れ替えに対して値を変えず、2個以上の添え字が同じ値の場合には0であるような対称テンソルとなっている。式1ではi<j<kを満たすσi、σj、σの組み合わせについて相互作用の影響を求めている。
 線形のバイアス項を含めた低次の相互作用は、例えば、値を1に固定したスピンを用いることで、より高次の相互作用の表式に書き直すことができる。そこで、以下では考えたいイジングモデルの相互作用の最大の次数をDとして、D次の相互作用項のみを考えることにする。このとき、イジングモデルのエネルギーは、スピン配列σを相互作用項に代入することで計算できる。
 イジングモデルの基底状態の探索はイジングモデルのエネルギー関数を最小化するスピン配列を求める最適化問題である。本実施形態では、イジングモデルの基底状態の探索をマルコフ連鎖モンテカルロ法(以降、MCMC(Markov Chain Monte Carlo methods)と呼ぶ)により行う。
 図1はイジングモデルのエネルギーランドスケープの概念図である。グラフの横軸はスピン配列、縦軸は系の全エネルギーである。確率的な遷移では、現在の状態σから、状態σの近傍のある状態σ’への確率的な遷移を繰り返す。状態σから状態σ’に遷移する確率のことを、以下、遷移確率P(σ,σ’)と称する。遷移確率P(σ,σ’)の例としてメトロポリス法(Metropolis method)によるものや熱浴法によるものがある。メトロポリス法における遷移確率P(σ,σ’)の算出式を次に示す。
Figure JPOXMLDOC01-appb-M000002
 式2において、Tは一般に温度と呼ばれるパラメータであり、状態間の遷移のし易さを表す。
 近傍の状態σ’を生成する方法としては、現在の状態σからひとつのスピンを変更する方法が一般的である。スピンをひとつずつ順番に変えていくことで、変数全体が取り得る状態について探索を行う。例えば、図1の場合、状態Aからひとつのスピンが反転すると状態Bとなり、更に一つの変数が反転すると状態Cとなる。
 温度Tを大きな値から徐々に減少させつつMCMCを実行するとき、エネルギーが最も低い状態に漸近的に収束する。これを利用して最小化問題の最適解または近似解を求める手法として、シミュレーティッド・アニーリング(以下、SA(Simulated Annealing)と呼ぶ)がある。イジングモデルに対してMCMCやSAを適用する場合、式2にもとづきスピンの値を確率的に決定する。ここで結合しない複数のスピンについては式2にもとづく状態遷移を同時に適用することが可能である。そのため、結合しないスピンを並列して更新することで、MCMCやSAの処理の高速化を図ることが可能である。
 図2は、イジングモデルの変数間の相互作用関係を完全グラフとして表したグラフ図であり、スピンの数を6とした場合における、イジングモデルの全スピン間の相互作用関係を表した完全グラフ(全結合グラフ)である。例えば、3次の相互作用の値は点線で結ばれる3つの変数の組から決定される。同様にD次の相互作用はD個の変数から決定される。
 組合せ最適化問題をイジングモデルの基底状態の探索問題に変換すると、スピン間の相互作用関係は同図に示すような密結合となる。すなわち、個々の変数が他のほとんど全ての変数と結合する。そのため、各スピンの確率的な処理を同時に行うことはできず、MCMCやSAの処理の高速化を図ることは困難である。
 逆に言えば、こうした密な相互作用関係を持つイジングモデルに対して、MCMCの要求する理論的背景を満たしつつ複数のスピンを同時に更新することができれば、MCMCやSAの処理の高速化を図ることが可能になる。実際、特許文献1では、2次相互作用をもつイジングモデルの相互作用関係を2部グラフに変換することで効率良く基底状態を求める方法が提案されている。高次の相互作用をもつイジングモデルに対しても、高次の相互作用を2次の相互作用をもつイジングモデルに変換することで特許文献1の方法が適用できるが、非特許文献1に記載されているようにそのような変換には多くの補助スピンが必要となり問題規模が大きくなる、また、相互作用係数が増大してSAによる基底状態探索が困難となるという課題が存在した。
 こうした背景に鑑みて、本実施形態では、イジングモデルにおけるD次の相互作用関係をD部グラフに変換する方法により基底状態を求める。以下、この方法について説明する。例として、式1で表されるD=3の場合を示すが、D≧4でも同様な手続きが実施可能であり、修正が必要な箇所は説明する。
 図3はD=3次の相互作用をもつイジングモデルの相互作用関係をD=3部グラフとして表した図である。図2に示すような完全グラフは、3部グラフに変換することが可能である。本例ではスピンの数を6としている。同図の左から順に第1スピン群、第2スピン群、第3スピン群と呼ぶ。第1スピン群のi番目のスピン、第2スピン群のj番目のスピン、第3スピン群のk番目のスピンの間には完全グラフ同様に相互作用Jijkが働く。第1~3スピン群のi番目(i=1~N)のスピンのすべてのペアの間に、図中太線で示す2次相互作用(重み)を導入する。以下、この2次相互作用の相互作用係数を-w(w≧0)とする。なお、図3では図面の制約上線が切断されているが、第1スピン群と第3スピン群の間にも、太線と細線で示す相互作用が働いている。すなわち第1~第3スピン群は円環状に接続されている。
 相互作用係数wを充分に大きい値に設定すると、図3に示すイジングモデルの基底状態において、第1~3スピン群のi番目のスピン(変数)はすべて同じ値となる。wを次の式3を満たす値とすれば、基底状態において第1~3スピン群のi番目のスピンが同じ値になることが示せる。
Figure JPOXMLDOC01-appb-M000003
 ここで、λ(x)は次の式4の行列M(x)の最大固有値である。
Figure JPOXMLDOC01-appb-M000004
 ただし、x=±1(k=1~N)である。
 基底状態において第1~3スピン群が同じ値と仮定する。第1~3スピン群のそれぞれのスピンの総数をNとし、基底状態における第1~3スピン群のi番目のスピンの値をs(i=1~N)とする。このとき、基底状態におけるイジングモデルのエネルギーHは、式5で表すことができる。
Figure JPOXMLDOC01-appb-M000005
 つまり値s、・・・、sは、次に示す式6の解である。
Figure JPOXMLDOC01-appb-M000006
 故にスピンs、・・・、sは、式1のイジングモデルのエネルギーを最小化するσ、・・・、σと捉えることができる。つまり、図3に示す3部グラフで表したモデルの基底状態における各列のスピン配列は、図2のように全結合の3次の相互作用をもつイジングモデルの基底状態と等しい。また図3に示すグラフは3部グラフであるので各スピン群の中でスピン間に結合を持たないので、MCMCを実行するときに各群のスピンは同時に値を更新することが可能であり、基底状態の探索を効率良く行うことができる。
 以上の議論は、D=4の場合でも式3を次式7に、式4を次式8に置き換えることで同様に成立する。
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
 式3や式7でwを評価しない場合でも、適当に十分大きなwをとれば任意のD次の相互作用に対して上の議論が成り立つ。
 続いて、メトロポリス法によりスピンを更新する場合を考える。以下の説明では、第dスピン群(d=1~D)の各スピンの値をσ 、…、σ と表す。ここで第dスピン群のi番目のスピンの値σ を反転させたときのエネルギーHの差分ΔHは式9から求めることができる。
Figure JPOXMLDOC01-appb-M000009
 ただし、d’=d+1 mod D=3、d”=d+2 mod D=3である。
 前述したように、メトロポリス法において温度Tにおける状態遷移の受理確率(遷移確率)は式2で表される。従って、一様乱数u(0<u≦1)を用いると、状態遷移が受理される条件は次式で表すことができる。
Figure JPOXMLDOC01-appb-M000010
 ここで状態遷移後に第dスピン群のスピンの値σ が+1となる場合を考える。まず状態遷移前の第dスピン群のスピンの値σ が+1ならば、ΔH>-T・ln(u)、つまり式9から、次式11が成り立つときに条件を満たす。
Figure JPOXMLDOC01-appb-M000011
 同様に、状態遷移前の第dスピン群のスピンの値σ が-1ならばΔH≦-T・ln(u)、つまり式8から、次式12が成り立つときに状態遷移後に第dスピン群のスピンの値σ が+1となる。
Figure JPOXMLDOC01-appb-M000012
 故に状態遷移前の第dスピン群のスピンの値σ に依らず、次式13を満たせば状態遷移後に第dスピン群のスピンの値σ が=+1となることがわかる。
Figure JPOXMLDOC01-appb-M000013
 結局、メトロポリス法に従った状態遷移を実行するには、第dスピン群のスピンの値σ の次状態を次式から求めればよい。尚、次式14における関数sign(x)は、x≧0ならば+1、x<0ならば-1を返す関数である。
Figure JPOXMLDOC01-appb-M000014
 ここで式14は、第dスピン群のある1つのスピンに着目し、このスピンの次状態をメトロポリス法に従って決定するための式である。また、式14は第dスピン群のスピンに関してi番目のスピンのみを含むので、第dスピン群の複数のスピンに対して式14は同時に適用することが可能である。
 以上の議論は、式9~式14に含まれる3次の相互作用に関する和をD次の相互作用に関するものに置き換えることで、D次相互作用をもつイジングモデルにも適用できる。
 図4は、式14にもとづいてイジングモデルの基底状態の探索を行う情報処理システムの一例である。同図に示すように、この情報処理システム10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、通信装置16、一つ以上の演算装置20、及びこれらの装置を通信可能に接続するシステムバス5を備える。情報処理システム10は、例えば、その一部又は全部がクラウドシステム(Cloud System)により提供されるクラウドサーバ(Cloud Server)のような仮想的な情報処理資源を用いて実現されるものであってもよい。また情報処理システム10は、例えば、互いに協調して動作する、通信可能に接続された複数の情報処理システムによって実現されるものであってもよい。
 プロセッサ11は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。
 主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read Only Memory)(SRAM(Static Random Access Memory)、NVRAM(Non Volatile RAM)、マスクROM(Mask Read Only Memory)、PROM(Programmable ROM)等)、RAM(Random Access Memory)(DRAM(Dynamic Random Access Memory)等)等である。
 補助記憶装置13は、ハードディスクドライブ(Hard Disk Drive)、フラッシュメモリ(Flash Memory)、SSD(Solid State Drive)、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)等である。補助記憶装置13に格納されているプログラムやデータは、随時、主記憶装置12に読み込まれる。
 入力装置14は、ユーザから情報の入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、カードリーダ、タッチパネル等である。
 出力装置15は、ユーザに情報を提供するユーザインタフェースであり、例えば、各種情報を可視化する表示装置(LCD(Liquid Crystal Display)、グラフィックカード等)や音声出力装置(スピーカ)、印字装置等である。
 通信装置16は、他の装置と通信する通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Interface)モジュール、シリアル通信モジュール等である。
 演算装置20は、イジングモデルの基底状態の探索に関する処理を実行する装置である。演算装置20は、例えば、GPU(Graphics Processing Unit)のように、情報処理システム10に装着する拡張カードの形態を取るものであってもよい。演算装置20は、例えば、CMOS(Complementary Metal Oxide Semiconductor)回路、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等のハードウェアによって構成される。演算装置20は、制御装置、記憶装置、システムバス5に接続するためのインタフェース等を含み、システムバス5を介してプロセッサ11との間でコマンドや情報の送受を行う。演算装置20は、例えば、通信線を介して他の演算装置20と通信可能に接続され、他の演算装置20と協調して動作するものであってもよい。演算装置20により実現される機能を、例えば、プロセッサ(CPU、GPU等)にプログラムを実行させることにより実現してもよい。
 図5は、演算装置20の動作原理を説明する図であり、演算装置20を構成する回路(以下、演算回路500と称する。)のブロック図である。演算回路500は式14に相当する機能を実現する。以下、同図とともに演算装置20の動作原理について説明する。尚、以下の説明において、演算回路500が取り扱うイジングモデルのスピンの数をN、相互作用の次数をDで表す。
 図5に示すように、演算回路500は、相互作用係数メモリ511、第dスピンメモリ512.d(d=1~D)、第1セレクタ513、第2セレクタ514、テンソル積演算装置515、積演算装置516、比較器517を含む。
 相互作用係数メモリ511には、相互作用係数Ji,j,kを表す情報が格納される(三次の場合)。相互作用係数Ji,j,kは添え字について一般に対称テンソルであり、この対称性を用いてメモリ511の使用量を削減することができる。
 第dスピンメモリ512.d(d=1~D)には、前述したD部グラフの第dスピン群の各スピンの状態を示すN次元ベクトルの情報が格納される。例えば、図3で示した3部グラフで3次の相互作用を扱う場合には、D=3である。図3の例では、一つのスピン群は6つのスピンを含むため、3つのスピンメモリ512はそれぞれ6次元ベクトルの情報を格納する。
 図5に示すように、演算回路500には、信号EN、信号SW、及び信号SRが入力される。比較器517は信号SPを出力する。
 信号ENは、D個の離散値を周期的に出力する信号であり、更新するスピン群を指定する。信号値がdのとき(d=1~D)、第1セレクタ513は第d’スピンメモリ512.d’(d’≠d)の値を全て出力する。第2セレクタ514は第dスピンメモリ512.dの値を出力する。信号ENは、直接的にはメモリを制御するドライバで供給される。制御方式はドライバのハードウェアで構成してもよいし、間接的には上位の制御装置によって制御してもよい。
 信号SWは、N要素のベクトル(N次元ベクトル)を表す信号である。信号SWは、スピン群の対応するスピンの結合(図3の太線で示す)の強さを規定する係数を表す。
 テンソル積演算装置515には、相互作用係数メモリ511に格納されている相互作用係数Jの値、信号SW、及び第1セレクタ513の出力が入力される。テンソル積演算装置515は式12及び式13の左辺の値を出力する。
 積演算装置516は、第2セレクタ514からのベクトルの入力に対して、SRの入力値をかけた値を出力する。したがって、出力信号もN次元ベクトルである。
 前述の通り、式12及び式13の左辺の値wは式3あるいは式7にもとづいて計算する。この計算は演算装置20の外部、たとえばプロセッサ11で行ってもよい。また、演算装置20内で計算してもよい。
 信号SRは、各要素が互いに独立な乱数であるN次元ベクトルを表す。本例では各要素は温度Tと乱数-ln(u)/2を掛け合わせたものである。但しuは一様乱数(0<u≦1)である。
 比較器517には、テンソル積演算装置515から出力されるN次元ベクトルと、積演算装置516から出力されるN次元ベクトルとが入力される。比較器517は、入力された各N次元ベクトルの対応する要素同士を比較し、比較した結果(要素同士の大小関係)を出力する。例えば、比較器517は、比較器517の2入力信号において、N次元ベクトルの1番目の要素を比較したとき、積演算装置516の信号の方が大きい場合は1を、小さい場合は-1を、比較器517の1番目の要素に設定する。2番目の要素以降も同様であり、N番目の要素まで設定が繰り返される。
 比較器517から出力される信号SPは、前述したMCMCにもとづくスピンの次状態である。信号SPの情報は、信号ENの信号値がdであれば第dスピンメモリ512.dに書き込まれる。
 図6に情報処理システム10が備える主な機能(ソフトウェア構成)を示している。同図に示すように、情報処理システム10は、記憶部600、モデル変換部611、相互作用係数設定部612、固有値計算部613、スピン値初期化部614、温度設定部615、相互作用演算実行部616、及びスピン値読出部617を備える。これらの機能は、プロセッサ11が、主記憶装置12に格納されているプログラムを読み出して実行することにより、もしくは、演算装置20が備えるハードウェアにより実現される。尚、情報処理システム10は、上記の機能に加えて、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の他の機能を備えていてもよい。
 上記機能のうち記憶部600は、問題データ601、イジング形式問題データ602、及び演算装置制御プログラム603を、主記憶装置12又は補助記憶装置13に記憶する。問題データ601は、例えば、組合せ最適化問題等を所定の記述形式で記述したデータである。問題データ601は、例えば、ユーザがユーザインタフェース(入力装置、出力装置、通信装置等)を介して設定する。イジング形式問題データ602は、モデル変換部611が、問題データ601をイジングモデル形式のデータに変換することにより生成されるデータである。演算装置制御プログラム603は、相互作用演算実行部616が演算装置20を制御する際に実行する、もしくは相互作用演算実行部616が個々の演算装置20にロードして演算装置20に実行させるプログラムである。
 モデル変換部611は、問題データ601をイジングモデル形式のデータであるイジング形式問題データ602に変換する。モデル変換部611の機能は必ずしも情報処理システム10に実装されていなくてもよく、情報処理システム10が、他の情報処理装置等で生成されたイジング形式問題データ602を入力装置14や通信装置16を介して取り込むようにしてもよい。
 相互作用係数設定部612は、イジング形式問題データ602にもとづくイジングモデルの相互作用関係を前述した対称テンソルJを相互作用係数メモリ511に設定する。
 スピン値初期化部614は、演算装置20の第dスピンメモリ512.d(d=1~D)に格納されている各スピンの値を初期化する。例えば、各スピンの値をいずれも50%の確率で「1」か「-1」に設定する。
 温度設定部615は、相互作用演算実行部616がイジングモデルの基底状態の探索を行う際に用いる、式14における温度Tの値を設定する。
 相互作用演算実行部616は、温度設定部615により設定された温度Tごとに、式14に従ってイジングモデルの基底状態を探索する演算(以下、相互作用演算と称する。)を行う。相互作用演算に際し、相互作用演算実行部616は、例えば、温度Tを高いほうから低いほうに向けて変化させる。相互作用演算は、例えば後述する専用のハードウェアからなる演算装置20で行うことができる。
 スピン値読出部617は、相互作用演算実行部616によるイジングモデルの基底状態の探索が終了すると、第dスピンメモリ512.dに格納されているスピンの値を読み出し、読み出した値を出力装置15や通信装置16に出力する。
 図7は、イジングモデルの基底状態の探索に際し情報処理システム10が行う処理(以下、基底状態探索処理S700と称する。)を説明するフローチャートである。以下、同図とともに基底状態探索処理S700について説明する。尚、以下において、符号の前に付している「S」の文字は処理ステップの意味である。基底状態探索処理S700は、例えば、入力装置14を介してユーザからの指示等を受け付けることにより開始される。
 同図に示すように、まずモデル変換部611が、問題データ601をイジング形式問題データ602に変換する(S711)。記憶部600が既にイジング形式問題データ602を記憶している場合、当該処理S711は省略される。S711の処理と、S712以降の処理とは、それぞれを異なる装置で実行するようにしてもよい。またS711の処理と、S712以降の処理とを異なるタイミングで実行するようにしてもよい(例えば、S711の処理を事前に行っておくことが考えられる)。
 続いて、相互作用係数設定部612が、相互作用係数メモリ511に値を設定する(S712)。メモリの値は、ユーザインタフェース(例えば、入力装置14、出力装置15、通信装置16等により実現される。)を介してユーザが設定又は編集することもできる。
 続いて、固有値計算部613が、相互作用係数メモリ511に格納された相互作用係数から、相互作用係数から構築される行列の最大固有値を計算して、信号SWの値を決定する。前述の通り、この計算は演算装置20内またはプロセッサ11で実行してもよい(S713)。
 続いて、スピン値初期化部614が、第dスピンメモリ512.d(d=1~D)に格納されている各スピンの値を初期化する(S714)。
 続いて、温度設定部615が、式14の温度Tα(α=1,2,3,・・・)を設定する(S715)。尚、上記の添字αは設定される温度Tの種類を表す。
 続いて、相互作用演算実行部616が、式14にもとづき相互作用演算を実行することにより次状態を生成する(S716)。
 続いて、相互作用演算実行部616は、停止条件が成立したか否か(例えば、温度Tが予め設定された最低温度に達したか否か)を判定する(S717)。停止条件が成立したと相互作用演算実行部616が判定した場合(S717:YES)、処理はS718に進む。一方、停止条件が成立しないと相互作用演算実行部616が判定した場合(S717:NO)、処理はS716に戻る。
 S718では、スピン値読出部617が、第dスピンメモリ512.d(d=1~D)に格納されているスピンの値を読み出して出力する。以上で基底状態探索処理S700は終了する。
 図8は、演算装置20の詳細な構成例を示すブロック図であり、SRAMの技術を本実施例の演算回路500に適用した場合の回路構成例を示すブロック図である。複数のユニット808がアレイユニット807を構成している。このような構成は半導体製造技術を応用して製造可能である。
 図9は、一つのユニット808の回路構成例である。一つのユニット808には、一つの変数σ を記憶するスピンメモリ901と、後述するスピンメモリ901の値を更新するための構成が含まれる。すなわち、ユニット808はD×N個準備される。
 図8の構成例を、一般化されている図5の構成も参照しつつ説明する。相互作用係数メモリ511に格納されるデータは、モデル係数設定部801から設定される。相互作用係数メモリ511には、D次対称テンソルJが格納されるが、回路規模を縮小するために全てのユニット808で共通に用いられる。よって、相互作用係数メモリ511は、全てのユニット808に係数Jを供給するが、図8ではそのための信号線は省略している。なお、原理的には相互作用係数メモリ511を、各ユニット808が個々に備えてもよい。
 重みメモリ803には重み設定部805で設定された重みwが格納される。図8ではユニット808に信号SWを供給する信号線は省略している。
 温度設定部615から供給される温度信号TEは、全てのユニット808に供給される。温度信号の機能や構成は、従来技術を踏襲するものである。ユニット808に信号TEを供給する信号線は省略している。
 相互作用ドライバ809は、図5で説明したように、D個あるスピン群から一つを選び、更新を許可する信号を各ユニット808に入力する。これにより、特定の一つのスピン群のスピンのみが同時に更新される。
 SRAMインタフェース806は、SRAMの回路構成を応用して作成されたユニット808の変数を格納するスピンメモリ901に対して書き込みおよび読み出しを行う。演算回路500での処理終了後に読み出された変数は、変数値読出部802に送られる。変数値読出部802は、読み出した変数を出力することにより、問題の解を得る。
 コントローラ804は、相互作用演算実行部616の指示により、演算回路500の初期化や処理の終了報告を行う。
 図9は、一つのユニット808の回路構成例を示す図である。一つのユニットには、σ のいずれか一つを記憶するスピンメモリ901が含まれる。
 差分計算回路902は、例えばd群のi番目のスピンを更新する場合、d群以外の群に含まれるi番目のスピンの値が入力される。例えば、3次の問題において、d群を更新する場合、d群以外のd’群、d”群のスピンの値が入力される。また相互作用係数メモリ511に格納されている相互作用係数Jの値、信号SWが入力される。
 これらの変数ベクトルは、他のユニット808のスピンメモリ901からSRAMインタフェース806が読み出して生成する。また、係数である対称テンソルJが入力される。また、重みwが入力される。差分計算回路902は、これらの入力に対して式12及び式13の左辺の値を出力する。
 サンプリング回路903には、差分計算回路902の出力、信号EN、信号SW、信号TE、および、スピンメモリ901の記憶する変数が入力される。そして、式14に基づいて変数の次状態の候補をサンプリングする。
 次状態決定回路904は、サンプリング回路903から出力される一つないしは複数の候補に基づいて、変数の次状態を決定する。次状態決定回路904では、たとえば、過剰緩和法に従う場合には、サンプリング回路903から複数の候補を得ると、スピンメモリ901の直前の状態と逆となる候補を選択して次状態を決定する。決定された次状態はスピンメモリ901に格納される。
 以上では、差分計算回路902、サンプリング回路903、次状態決定回路904は、FPGA等のハードウェアを想定したが、例えばユニット内に配置したGPUによりソフトウェア実装が可能である。このようにアレイ状のユニット808を備えることにより、並列的な変数の更新が可能となる。以上、詳細に説明したように、本実施形態の情報処理システム10によれば、イジングモデルの基底状態の探索を効率よく行うことができる。そのため、組合せ最適化問題を効率よく解くことができる。尚、情報処理システム10(演算装置20を含む)は、シンプルな構成であるので安価かつ容易に製造することができる。
 以上、一実施形態について詳述したが、本発明は上記の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
 また上記の各構成、機能部、処理部、処理手段等は、それらの一部または全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD(Solid State Drive)等の記録装置、ICカード、SDカード、DVD等の記録媒体に置くことができる。
 また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 また以上に説明した情報処理システム10の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態は、情報処理システム10が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
 また前述した各種のデータを格納するデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
 情報処理装置、演算装置、及び情報処理方法に利用することが可能である。
10 情報処理システム、
11 プロセッサ、
12 主記憶装置、
13 補助記憶装置、
14 入力装置、
15 出力装置、
16 通信装置、
20 演算装置、
511 相互作用係数メモリ、
512.d 第dスピンメモリ(d=1~D)、
513 第1セレクタ、
514 第2セレクタ、
515 テンソル積演算装置、
516 積演算装置、
517 比較器、
519 否定(NOT)回路、
600 記憶部、
601 問題データ、
602 イジング形式問題データ、
603 演算装置制御プログラム、
611 モデル変換部、
612 相互作用係数設定部、
613 固有値計算部、
614 スピン値初期化部、
615 温度設定部、
616 相互作用演算実行部、
617 スピン値読出部

Claims (15)

  1.  情報処理システムを利用して、相互作用モデルの基底状態の探索を行う情報処理方法であって、
     前記相互作用モデルは、D次(Dは3以上の自然数)の多項式として表される相互作用関係を含み、
     前記相互作用関係を、それぞれN個のスピン(Nは自然数)を有するD個のスピン群により構成されたD部グラフ構造の相互作用関係に対応させ、
     第1~第Dスピン群のi番目のスピン(i=1~N)が基底状態において同じ値となるように、前記第1~第Dスピン群のi番目のスピンのすべての間に重みwを設定し、
     基底状態の探索を行うためにスピンの状態遷移を行う際に、前記第1~第Dスピン群のうち一つのスピン群のみを更新するように前記情報処理システムを動作させる、
     情報処理方法。
  2.  前記情報処理システムは、
     N個×D群のスピンの値を夫々格納するN×D個のスピンメモリと、
     前記第1~第Dスピン群の一つのみを選択する選択信号ENを供給する供給線と、を備え、
     前記選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のスピンの値と、第dスピン群以外の複数のスピンの値に基づいて、第dスピン群のスピンの値の次状態を計算する、
     請求項1記載の情報処理方法。
  3.  前記情報処理システムは、
     前記相互作用関係を規定する相互作用係数Jを格納する相互作用係数メモリと、
     前記重みwを格納する重みメモリと、
     温度Tを供給する温度設定部と、を備え、
     前記相互作用係数J、前記重みw、前記温度Tを用いて、前記次状態を計算する
     請求項2記載の情報処理方法。
  4.  前記相互作用係数Jは対称テンソルであり、
     前記重みwが満足すべき条件は前記相互作用係数Jに依存して定められ、前記Dの値により変化する、
     請求項3記載の情報処理方法。
  5.  シミュレーティッド・アニーリング法(simulated Annealing Method)のアルゴリズムに従って前記相互作用モデルの基底状態を探索し、
     前記探索において、状態間の遷移のし易さを表すパラメータである前記温度Tにおける状態遷移の受理確率Pをメトロポリス法(Metropolis method)にもとづき求める、
     請求項3記載の情報処理方法。
  6.  N個×D群のスピンの値(Nは自然数、Dは3以上の自然数)を夫々格納するN×D個のスピンメモリと、
     第1~第Dスピン群の一つのみを選択する選択信号ENを供給する供給線と、
     前記第1~第Dスピン群のi番目のスピン(i=1~N)の間に働く2次相互作用である重みwを格納する重みメモリと、
     前記第1~第Dスピン群の少なくともi,j,k番目のスピン(j,k=1~N)の間に働く3次以上の相互作用を示す相互作用係数Jを格納する相互作用係数メモリと、
     温度Tを供給する温度設定部と、
     前記選択信号ENが第dスピン群(d=1~D)を選択した場合、前記N×D個のスピンメモリから読み出した、第dスピン群のi番目のスピンの値と、第dスピン群以外のスピン群の複数のi番目のスピンの値を入力とし、前記重みw、前記相互作用係数J、および前記温度Tに基づいて、第dスピン群のi番目のスピンの値の次状態を計算する演算装置を有する、
     情報処理システム。
  7.  前記演算装置は、前記スピンメモリに対応して配置される、
     請求項6記載の情報処理システム。
  8.  前記重みwは、前記第1~第Dスピン群のi番目のスピンが基底状態において同じ値となるように設定される、
     請求項6記載の情報処理システム。
  9.  前記演算装置は、前記スピンの値σ、前記重みw、および前記相互作用係数Jを変数として積和演算を実行する、
     請求項6記載の情報処理システム。
  10.  前記演算装置は、前記第dスピン群以外のスピン群の複数のi番目のスピンの値の和を演算し、該和と前記重みwの積を演算する第1の演算を行うテンソル積演算装置を含む、
     請求項9記載の情報処理システム。
  11.  前記テンソル積演算装置は、前記第dスピン群以外の相異なるスピン群のj番目のスピンの値とk番目のスピンの値の積を演算し、該積と前記相互作用係数Jの積を演算する第2の演算を行う、
     請求項10記載の情報処理システム。
  12.  前記テンソル積演算装置は、前記第1の演算の結果から前記第2の演算の結果を差し引く、
     請求項11記載の情報処理システム。
  13.  前記演算装置は、前記第dスピン群のi番目のスピンの値と前記温度Tの積を演算することにより、遷移条件を演算する積演算装置を含む、
     請求項12記載の情報処理システム。
  14.  前記演算装置は、前記テンソル積演算装置の出力と前記積演算装置の出力を入力とし、前記第dスピン群のi番目のスピンの値を決定する比較器を含む、
     請求項13記載の情報処理システム。
  15.  D次の多項式として表される相互作用関係を含む相互作用モデルの基底状態の探索を行う、
     請求項14記載の情報処理システム。
PCT/JP2020/029336 2020-07-30 2020-07-30 情報処理方法および情報処理システム WO2022024324A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2020/029336 WO2022024324A1 (ja) 2020-07-30 2020-07-30 情報処理方法および情報処理システム
JP2022539922A JP7357795B2 (ja) 2020-07-30 2020-07-30 情報処理方法および情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/029336 WO2022024324A1 (ja) 2020-07-30 2020-07-30 情報処理方法および情報処理システム

Publications (1)

Publication Number Publication Date
WO2022024324A1 true WO2022024324A1 (ja) 2022-02-03

Family

ID=80037821

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/029336 WO2022024324A1 (ja) 2020-07-30 2020-07-30 情報処理方法および情報処理システム

Country Status (2)

Country Link
JP (1) JP7357795B2 (ja)
WO (1) WO2022024324A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533106A (ja) * 2015-08-13 2018-11-08 ディー−ウェイブ システムズ,インコーポレイテッド 量子装置間の高次相互作用を生成および使用するためのシステムおよび方法
WO2019216277A1 (ja) * 2018-05-08 2019-11-14 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018533106A (ja) * 2015-08-13 2018-11-08 ディー−ウェイブ システムズ,インコーポレイテッド 量子装置間の高次相互作用を生成および使用するためのシステムおよび方法
WO2019216277A1 (ja) * 2018-05-08 2019-11-14 株式会社日立製作所 情報処理装置、演算装置、及び情報処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Computational Science and Engineering", EMERGING SCIENCE OF SYSTEMS WITH ULTRA MANY DEGREES OF FREEDOM, vol. 10, 30 November 2010 (2010-11-30), pages 19 - 73, ISBN: 978-4-320-12275-8 *
TANAKA, SHU: "Recent Development of Annealing Machines", PROCEEDINGS OF THE 2019 IEICE ENGINEERING SCIENCES SOCIETY / NOLTA SOCIETY CONFERENCE, 27 August 2019 (2019-08-27), pages SS-45 - SS-46, ISSN: 2189-700X *

Also Published As

Publication number Publication date
JPWO2022024324A1 (ja) 2022-02-03
JP7357795B2 (ja) 2023-10-06

Similar Documents

Publication Publication Date Title
JP6874219B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP7007520B2 (ja) 情報処理装置、演算装置、及び情報処理方法
JP6925546B1 (ja) 演算システム、情報処理装置、および最適解探索処理方法
JP7323777B2 (ja) 最適化装置および最適化方法
JP6895415B2 (ja) 計算装置、計算プログラム、記録媒体及び計算方法
WO2019208564A1 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
WO2022024324A1 (ja) 情報処理方法および情報処理システム
CN114528996B (zh) 一种目标体系试验态初始参数的确定方法、装置及介质
CN114492815B (zh) 一种基于量子化学计算目标体系能量的方法、装置及介质
US11886780B2 (en) Optimization device, optimization device control method, and computer-readable recording medium recording optimization device control program
JP7398401B2 (ja) 最適化方法、情報処理装置及びそれを用いたシステム
US11106761B2 (en) Optimization problem arithmetic method and optimization problem arithmetic apparatus
JP7470019B2 (ja) 情報処理システム
JP2022094510A (ja) 最適化プログラム、最適化方法及び情報処理装置
AU2020465147B2 (en) Information processing system and optimal solution search processing method
JP7444804B2 (ja) 制御方法およびサンプリング装置
US20230153376A1 (en) Optimization method, information processing device, and information processing system
WO2021084629A1 (ja) 演算回路、演算装置、情報処理装置およびイジングモデルの基底状態探索方法
JP2024049148A (ja) 情報処理方法、及び情報処理装置
JP2022158010A (ja) 情報処理システム、情報処理方法、及び情報処理プログラム
US20230267170A1 (en) Information processing system, information processing method, and non-transitory computer-readable recording medium for information processing program
Bulling Advancing quantum many-body simulations with improved quantum cluster algorithms and modern software development
Ye et al. Automating Model Design with Meta-optimization
JP2021064413A (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: 20946843

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022539922

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20946843

Country of ref document: EP

Kind code of ref document: A1