Information processing device, information processing method, and program

By dynamically adjusting the range of candidate parameter values based on evaluation results and problem properties, the device enhances parameter search efficiency and solution-finding performance for combinatorial optimization problems.

JP7832447B2Active Publication Date: 2026-03-18FUJITSU LTD
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-11-26
Publication Date
2026-03-18

AI Technical Summary

Technical Problem

Existing information processing devices face inefficiencies in parameter search for combinatorial optimization problems, as wider ranges require more evaluations, prolonging the search time, while narrower ranges may miss better candidate values, making it difficult to determine appropriate parameter values.

Method used

The device adjusts the range of candidate parameter values based on evaluation results and problem properties, narrowing the range after identifying the best candidate values, using methods that determine the timing and extent of range changes based on evaluation differences and problem indices.

Benefits of technology

This approach streamlines parameter search, increasing the likelihood of finding better candidate values quickly and reducing the overall search time, thereby improving solution-finding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007832447000005
    Figure 0007832447000005
  • Figure 0007832447000006
    Figure 0007832447000006
  • Figure 0007832447000007
    Figure 0007832447000007
Patent Text Reader

Abstract

To improve the efficiency of parameter search.SOLUTION: A processing unit 12 repeats obtaining a first candidate value from a first range being a candidate value range of a parameter to be used for a search for a solution of a problem based on an energy function of an Ising model, and evaluating the first candidate value according to a result of the search in a case where the first candidate value is used, and changes the candidate value range from the first range to a second range narrower than the first range. The processing unit 12 repeats obtaining a second candidate value from the second range and evaluating the second candidate value according to a result of the search in a case where the second candidate value is used. The processing unit 12 determines, based on at least either one of a first difference or an index, a timing at which the candidate value range is changed from the first range to the second range and a second difference between the first range and the second range, the first difference being a difference between a best evaluation value and another evaluation value, the best evaluation value being any one of a plurality of first evaluation values calculated by the evaluation using the first candidate value on the plurality of first candidate values, the other evaluation value being obtained in an evaluation performed before the best evaluation value, the index indicating a nature of the problem according to the energy function.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to an information processing apparatus, an information processing method, and a program. [Background technology]

[0002] Information processing devices are sometimes used to solve combinatorial optimization problems. These devices convert the combinatorial optimization problem into an energy function of the Ising model, which represents the behavior of a magnetic material's spin. They then search for the combination of state variable values ​​that minimizes the energy function. The combination of state variable values ​​that minimizes the energy function corresponds to the ground state or optimal solution represented by the set of state variables.

[0003] Methods for obtaining approximate solutions to combinatorial optimization problems in a practical amount of time include simulated annealing (SA) and replica exchange methods, which are based on the Markov-Chain Monte Carlo (MCMC) method. In solution searches using SA and replica exchange methods, parameters representing temperature values ​​are used. Therefore, methods for determining the values ​​of these parameters are being considered.

[0004] For example, there is a proposed optimization device that determines the minimum value of the temperature parameter from the energy resolution of the Ising model and the acceptable probability of the state transition of the Ising model when the temperature parameter is at its minimum value. The proposed optimization device also determines the maximum value of the temperature parameter from the acceptable probability when the temperature parameter is at its maximum value, based on the maximum value of the energy change determined from the number of state variables included in the Ising model and the weight coefficients that indicate the weights between the state variables.

[0005] Furthermore, there is a proposed combinatorial optimization method that uses the SA method to solve combinatorial optimization problems with multiple evaluation items. In the proposed combinatorial optimization method, the weight coefficients of each evaluation item are dynamically changed in accordance with the change in the temperature parameter.

[0006] There is also a proposal for a solution search device that searches for a solution by a genetic algorithm using parameters having a predetermined search range. The proposed solution search device stores gene data having a plurality of parameters. The solution search device generates parameter values such that the logarithmic values of the parameter values for at least a part of the search range of the input parameters follow a predetermined distribution, and searches for a solution by a genetic algorithm using the parameters set with the parameter values.

Prior Art Documents

Patent Documents

[0007]

Patent Document 1

Patent Document 2

Patent Document 3

Summary of the Invention

Problems to be Solved by the Invention

[0008] The values of parameters used in the SA method, replica exchange method, etc. affect the solution finding performance of the information processing device. Therefore, the information processing device may perform parameter search before searching for the actual solution in order to determine the values of the parameters used in the SA method, replica exchange method, etc.

[0009] In parameter search, the information processing device repeatedly performs a process of extracting candidate values of the parameter from the values belonging to a predetermined range and evaluating the candidate values based on the results of solution search trials using the extracted candidate values for each candidate value within the predetermined range. The information processing device adopts, as the value of the parameter to be actually used, a candidate value with a good evaluation result among the candidate values.

[0010] However, in parameter search, the wider the range of candidate values, the more candidate values ​​need to be evaluated, and the longer it takes to determine the parameter value. On the other hand, if the range of candidate values ​​is narrowed too much, the number of candidate values ​​to be evaluated may be reduced too much, potentially causing better candidate values ​​to fall outside that range, making it difficult to determine the parameter value appropriately.

[0011] In one aspect, the present invention aims to provide an information processing device, an information processing method, and a program that improve the efficiency of parameter search. [Means for solving the problem]

[0012] In one embodiment, an information processing device is provided. The information processing device has a storage unit and a processing unit. The storage unit stores information representing the energy function of the Ising model corresponding to a problem. The processing unit has a processing unit that obtains a first candidate value from a first range, which is a range of candidate parameter values ​​used to search for a solution to the problem based on the energy function, and evaluates the first candidate value multiple times according to the search results when the first candidate value is used as the parameter value, changes the candidate value range from the first range to a second range which is narrower than the first range, and obtains a second candidate value from the second range and evaluates the second candidate value multiple times according to the search results when the second candidate value is used as the parameter value. The processing unit determines the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range, based on the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate value and other evaluation values ​​obtained by evaluations prior to the best evaluation value, and at least one of an index that shows the properties of the problem according to the energy function. In determining the timing, the processing unit determines the time from the first point in time when the evaluation to acquire multiple first evaluation values ​​is completed, to the second point in time when the candidate value range is changed from the first range to the second range, or the number of times the first candidate value evaluation is performed between the first and second points in time.

[0013] In one embodiment, an information processing device is provided. The information processing device has a storage unit and a processing unit. The storage unit stores information indicating the energy function of the Ising model corresponding to a problem. The processing unit performs a first process of obtaining a first candidate value from a first range, which is a range of candidate values ​​for parameters used in searching for a solution to the problem based on the energy function, and evaluating the first candidate value multiple times according to the search results when the first candidate value is used as the parameter value; a second process of changing the candidate value range from the first range to a second range that is narrower than the first range; and a third process of obtaining a second candidate value from the second range and evaluating the second candidate value multiple times according to the search results when the second candidate value is used as the parameter value. In this process, the processing unit determines the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range based on an index indicating the properties of the problem according to the energy function. In determining the timing, the processing unit determines, before the first time point in time when it starts acquiring the first candidate value from the first range and evaluating the first candidate value, the time from the first time point to the second time point in time when the candidate value range is changed from the first range to the second range, or the number of times the first candidate value will be evaluated from the first time point to the second time point.

[0014] In one embodiment, an information processing method is provided. In another embodiment, a program is provided. [Effects of the Invention]

[0015] In one respect, it can streamline parameter exploration. [Brief explanation of the drawing]

[0016] [Figure 1] This is a diagram illustrating the information processing device of the first embodiment. [Figure 2] This figure shows an example of the hardware of the information processing device according to the second embodiment. [Figure 3] This figure shows an example of the functions of an information processing device. [Figure 4] This figure shows an example of a parameter evaluation table. [Figure 5] This figure shows an example of controlling the range of target values ​​for acquiring candidate parameter values. [Figure 6] This is a flowchart showing an example of processing performed by an information processing device. [Figure 7] This flowchart shows other processing examples from an information processing device. [Figure 8] This figure shows an example of the range of candidate parameter values ​​to be acquired. [Modes for carrying out the invention]

[0017] This embodiment will be described below with reference to the drawings. [First Embodiment] A first embodiment will be described.

[0018] Figure 1 is a diagram illustrating the information processing device of the first embodiment. The information processing device 10 searches for solutions to combinatorial optimization problems using the MCMC method and outputs the searched solutions. For example, the information processing device 10 uses the SA method and the parallel tempering (PT) method, which are based on the MCMC method, to search for solutions. The PT method is also called the replica exchange method. The information processing device 10 has a storage unit 11 and a processing unit 12.

[0019] The memory unit 11 may be a volatile memory device such as RAM (Random Access Memory) or a non-volatile memory device such as flash memory. The memory unit 11 may also include electronic circuits such as registers. The processing unit 12 may be an electronic circuit such as a CPU (Central Processing Unit), DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit), FPGA (Field Programmable Gate Array), or GPU (Graphics Processing Unit). The processing unit 12 may also be a processor that executes programs. "Processor" may include a collection of multiple processors (multiprocessor).

[0020] In the following explanation, we will show an example where the processing unit 12 performs the solution search. However, a search unit implemented by an FPGA or GPU other than the processing unit 12 may perform the solution search in response to instructions from the processing unit 12 and respond to the processing unit 12 with the search results.

[0021] Combinatorial optimization problems are formulated using an Ising-type energy function and can be rephrased as, for example, the problem of minimizing the value of the energy function. The energy function may also be called the objective function or evaluation function. The energy function contains multiple state variables. State variables are binary variables that take values ​​of 0 or 1. State variables may also be called bits. The solution to a combinatorial optimization problem is represented by the values ​​of multiple state variables. The solution that minimizes the value of the energy function represents the ground state of the Ising model and corresponds to the optimal solution of the combinatorial optimization problem. The value of the energy function is denoted as energy.

[0022] The Ising-type energy function is given by equation (1).

[0023]

number

[0024] The state vector x represents the state of the Ising model, with multiple state variables as its elements. Equation (1) is the energy function formulated in the form of QUBO (Quadratic Unconstrained Binary Optimization). Note that in the case of a problem where energy is to be maximized, the sign of the energy function should be reversed.

[0025] The first term on the right-hand side of equation (1) is the product of the values ​​of the two state variables and the weight coefficients for all possible combinations of two state variables that can be selected from all state variables, without any omissions or overlaps. The subscripts i and j are the indices of the state variables. i x is the i-th state variable. j W is the j-th state variable. ij This is a weight coefficient that indicates the weight between the i-th state variable and the j-th state variable, or the strength of the bond. ij =W ji And W ii = 0

[0026] The second term on the right side of Equation (1) is obtained by summing the products of the bias of each of all state variables and the value of the state variable. b i indicates the bias for the i-th state variable. Problem information including weight coefficients and biases included in the energy function is stored in the storage unit 11. The state variable x i The amount of change in energy ΔE i associated with the change is expressed by Equation (2).

[0027]

Equation

[0028] ΔE i When the state variable x i for which < 0 changes, the energy E(x) of Equation (1) decreases. However, when the state variable x i for which ΔE i > 0 changes, ΔE i may be defined such that E(x) decreases. The processing unit 12 calculates the amount of change in the value of the energy function due to the change in the value of one of the plurality of state variables for each of the plurality of state variables, and probabilistically accepts in a form in which a change that makes the value of the energy function smaller is prioritized.

[0029] At this time, in the steepest descent method, it becomes impossible to escape when falling into a local solution. Therefore, the processing unit 12 uses the Metropolis method or the Gibbs method to determine the transition probability from a certain state of the Ising model to the next state by changing a certain state variable. That is, the processing unit 12 also probabilistically allows a change that increases the value of the energy function according to the comparison between the amount of change in the value of the energy function and the thermal noise value. The thermal noise value is obtained based on the temperature value and a random number. The larger the temperature value, the larger the amplitude of the thermal noise value. The larger the amplitude of the thermal noise value, the more likely a state transition with a large increase in the value of the energy function is to be allowed.

[0030] For example, in the SA method, the processing unit 12 gradually changes the temperature value T from the highest temperature value to the lowest temperature value to reduce the amplitude of the thermal noise value and converge the state of the Ising model to the ground state. In the replica exchange method, the processing unit 12 independently performs the MCMC method using multiple temperature values ​​from the highest temperature value to the lowest temperature value, and exchanges the temperature values ​​at predetermined timings for the state obtained at each temperature value, and finally takes the best solution obtained as the solution to the combinatorial optimization problem.

[0031] Thus, in methods such as the SA method and the replica exchange method, parameters such as the maximum and minimum temperature values ​​are used. The values ​​of these parameters affect the solution-finding performance. For example, if the parameter values ​​are not appropriate, the time required to obtain a relatively good solution may become excessively long, or a suitable solution may not be obtained at all.

[0032] Therefore, the processing unit 12 performs a parameter search to determine the parameters to be used for the problem in question. In the parameter search, the processing unit 12 obtains candidate values ​​from the acquisition range, which is the range of candidate parameter values ​​to be acquired, and evaluates the acquired candidate values ​​according to the results of a solution search over a certain period of time using those candidate values. The acquisition range may also be called the candidate value range. For example, obtaining candidate values ​​and the result of evaluating those candidate values, i.e., obtaining an evaluation value, constitutes one evaluation. Methods for acquiring candidate values ​​from the acquisition range include, for example, a brute-force method such as grid search, and a random method such as random search. For the solution search over a certain period of time in the parameter search, techniques such as the SA method and replica exchange method used in practice are employed.

[0033] In evaluating candidate values, the processing unit 12 evaluates, for example, the minimum energy reached during a solution search over a certain period of time and the time it takes to reach that minimum energy, and calculates an evaluation value for the candidate value. The processing unit 12 considers a candidate value to be better if the minimum energy reached is small. Also, the processing unit 12 considers a candidate value to be better if the time it takes to reach the minimum energy is short. The processing unit 12 calculates an evaluation value for each candidate value, and adopts the candidate value corresponding to the best evaluation value among the evaluated candidate values ​​as the value of the corresponding parameter, and uses it in the actual solution search.

[0034] As mentioned above, the solution search may be performed by the processing unit 12 or by a search unit other than the processing unit 12. Furthermore, the number of parameters targeted for parameter search may be multiple. The processing unit 12 may evaluate sets of candidate values ​​for multiple parameters. In this case, a target range for acquisition is defined for each of the multiple parameters. In addition to the maximum and minimum temperature values, the parameters may also include the temperature reduction range in the SA method.

[0035] In parameter search, the processing unit 12 performs a process to narrow the range of target values ​​for acquiring candidate parameter values ​​at a certain timing. The processing unit 12 sets the candidate value corresponding to the best evaluation value among the evaluation values ​​obtained up to that timing as the new center value of the target range, and narrows the width α of the target range from the previous width α=α0 to α=α0-Δα. Δα is a positive real number. At this time, the processing unit 12 determines the timing of narrowing the target range and the amount Δα of narrowing the target range by one of the following first to third methods.

[0036] In the first method, the processing unit 12 determines the timing and the amount to narrow the range Δα based on the difference between the best evaluation value among the evaluation values ​​calculated for each candidate value by evaluation over a predetermined period using the current acquisition range and other evaluation values ​​obtained before the best evaluation value. In this case, the timing is determined by time τ1 from the time when the predetermined period is completed. Time τ1 may also be determined by the number of parameter evaluations from that time.

[0037] For example, if the processing unit 12 performs N parameter evaluations during the predetermined period and obtains N evaluation values, it obtains the best evaluation value V1 among the N evaluation values. The processing unit 12 also obtains an evaluation value V2 obtained from an evaluation that occurred a predetermined number of times k prior to the evaluation in which the best evaluation value was obtained. The predetermined number k is pre-inputted to the information processing device 10 by the user.

[0038] The larger V1-V2 is, the less convergence of the evaluation values ​​is estimated to be. Therefore, the larger V1-V2 is, the longer it is estimated to take to obtain relatively good candidate values ​​within the current target range. Accordingly, the larger V1-V2 is, the longer the timing of narrowing the target range is estimated to be. Delaying this timing corresponds to increasing time τ1. Also, the larger V1-V2 is, the less convergence of the evaluation values ​​is estimated to be, so it is estimated that in the next narrowing of the target range, evaluating candidate values ​​within a wider range is likely to find better candidate values. Accordingly, the larger V1-V2 is, the smaller the amount Δα by which the target range is narrowed is estimated to be. Here, V1-V2 corresponds to the first difference, and Δα corresponds to the second difference.

[0039] On the other hand, the smaller V1-V2 is, the more the evaluation values ​​are estimated to be converging. Therefore, the smaller V1-V2 is, the shorter the time it will take to obtain better candidate values ​​within the current target range. Accordingly, the smaller V1-V2 is, the earlier the timing of narrowing the target range. Early narrowing this timing corresponds to reducing time τ1. Also, since the smaller V1-V2 is, the more the evaluation values ​​are converging, it is estimated that in the next narrowing of the target range, there is a high possibility of finding good candidate values ​​even if candidate values ​​within a narrower range are used as the evaluation target. Therefore, the smaller V1-V2 is, the larger the amount Δα by which the target range is narrowed Δα is increased by the processing unit 12.

[0040] In the second method, instead of the first method, the processing unit 12 determines the timing for narrowing the acquisition range and the amount Δα by which the acquisition range is narrowed, based on an index indicating the nature of the problem according to the energy function. In the second method, the processing unit 12 can determine the timing for narrowing the acquisition range and the amount Δα by which the acquisition range is narrowed, based on the energy function information, as soon as the energy function information is input to the information processing device 10. In this case, the timing may be determined by time τ2 from the time when parameter search in a certain acquisition range is started. Time τ2 may be determined by the number of parameter evaluations from that time.

[0041] An index that indicates the nature of the problem indicates the difficulty of the problem. For example, the index may correspond to at least one of the number of state variables included in the energy function, the type of constraint, or the number of constraints. Here, the energy function E in equation (1) may include a constraint term C. Types of constraint terms C include 1w1h (1way1hot) constraints and 2w1h (2way1hot) constraints. When a 1w1h constraint is used, for example, C=C1 in equation (3) is added to equation (1).

[0042]

number

[0043] Here, t = 0, 1, ..., T-1. T corresponds to the number of constraints that satisfy the 1w1h constraint. t is a constant and a positive real number. C1 is a group of state variables K t Within this group, a small value occurs when only one state variable is 1 and all other state variables are 0. Group K t For example, K t ={x0,x1,x2},{x4,x5,…,x 10}, {x 11 ,x 15 ,…,x 20 It is defined as such, for example.

[0044] When the 2w1h constraint is used, for example, x jk =x j*L+k Then, C=C2 in equation (4) is added to equation (1), where j=0,1,...,L-1 and k=0,1,...,L-1.

[0045]

number

[0046] L corresponds to the number of constraints that define the 2w1h constraint. j C2 is a constant and is a positive real number. C2 is small when multiple state variables are considered as L rows and L columns, and only one state variable in each row is 1, and only one state variable in each column is 1.

[0047] The more state variables in the energy function, the more difficult the problem. The more constraints there are, the more difficult the problem. Furthermore, the more constraints of a stricter type there are, the more difficult the problem. For example, the 2w1h constraint is a stricter type of constraint than the 1w1h constraint.

[0048] The processing unit 12 delays the timing of narrowing the target range and decreases the amount of narrowing Δα as the difficulty of the problem increases. Conversely, the processing unit 12 speeds up the timing of narrowing the target range and increases the amount of narrowing Δα as the difficulty of the problem decreases. This is because, as the difficulty of the problem increases, it becomes more difficult to determine appropriate parameter values, and more candidate values ​​need to be evaluated to obtain better candidate values. Note that delaying the timing corresponds to increasing time τ2, and speeding up the timing corresponds to decreasing time τ2.

[0049] In the third method, the processing unit 12 uses both the first and second methods to determine the timing for narrowing the acquisition target range and the amount Δα by which the acquisition target range is narrowed. In this case, the timing is determined by the time τ1 from the time when the predetermined period in the first method is completed.

[0050] The processing unit 12 delays the timing of narrowing the target range and reduces the amount of narrowing Δα as V1-V2 increases. Furthermore, the processing unit 12 delays the timing of narrowing the target range and reduces the amount of narrowing Δα as the difficulty of the problem increases. Delaying this timing corresponds to increasing time τ1.

[0051] On the other hand, the smaller V1-V2 is, the earlier the timing of narrowing the acquisition target range and the larger the amount of narrowing Δα. Also, the lower the difficulty of the problem, the earlier the timing of narrowing the acquisition target range and the larger the amount of narrowing Δα. Making this timing earlier corresponds to making the time τ1 smaller.

[0052] Here, graphs 20 and 21 show examples of the relationship between candidate parameter values ​​(i.e., parameter values) and evaluation values. The horizontal axis of graphs 20 and 21 represents the parameter values. The vertical axis of graphs 20 and 21 represents the evaluation values. For example, the larger the evaluation value, the higher the evaluation of the corresponding candidate value.

[0053] Graph 20 shows the target acquisition range before the change for the parameter value. The central value of the target acquisition range before the change is P1, and the width of the target acquisition range is α = α0. This target acquisition range before the change is specified in advance by the user to the information processing device 10.

[0054] Graph 21 shows the target acquisition range after the parameter value has been changed. The central value of the target acquisition range after the change is P2, and the width of the target acquisition range is α = α0 - Δα. The processing unit 12 can appropriately determine the target acquisition range after the change by determining the timing and the amount of narrowing Δα as described above. For example, it can increase the likelihood that better candidate values ​​will be included in the target acquisition range after the change. Also, for example, it can shorten the time required for parameter search.

[0055] After changing the target range, the processing unit 12 terminates the parameter search if the evaluation value of each candidate value extracted from the changed target range is not updated a certain number of times. However, after changing the target range, the processing unit 12 may further change the target range using the timing and narrowing amount Δα determined by the first to third methods described above. In other words, the processing unit 12 may gradually narrow the target range of parameter values ​​by changing the target range multiple times.

[0056] The processing unit 12 then determines the candidate value corresponding to the best evaluation value among the evaluation values ​​obtained for each candidate value as the parameter value to be used for the solution search. The processing unit 12 may perform the solution search using the value of this parameter, or it may input the determined parameter value to the aforementioned search unit and have it perform the solution search.

[0057] As explained above, the information processing device 10 performs multiple operations to obtain a first candidate value from a first range, which is a range of candidate parameter values ​​used to search for a solution to a problem based on the energy function, and to evaluate the first candidate value according to the search results when the first candidate value is used as the parameter value. The candidate value range is changed from the first range to a second range, which is narrower than the first range. Multiple operations are performed to obtain a second candidate value from the second range and to evaluate the second candidate value according to the search results when the second candidate value is used as the parameter value. Before changing to the second range, the timing of changing the candidate value range from the first range to the second range and the second difference (=Δα) between the first range and the second range are determined based on at least one of the first information and the second information. The first information is the first difference between the best evaluation value among multiple first evaluation values ​​calculated for multiple first candidate values ​​by evaluation using the first candidate value and other evaluation values ​​obtained by evaluations prior to that best evaluation value. The second information is an indicator that shows the properties of the problem according to the energy function.

[0058] This allows the information processing device 10 to streamline parameter search. Specifically, the information processing device 10 can appropriately determine the second range by changing the first range to the second range using the determined timing and the second difference Δα. For example, the information processing device 10 can increase the likelihood that better candidate values ​​are included in the second range. Also, for example, the information processing device 10 can reduce the time required for parameter search.

[0059] Furthermore, the information processing device 10 can increase the likelihood of determining better parameter values. Therefore, the information processing device 10 can improve its solution-finding performance by using the determined parameter values ​​to search for solutions. For example, the information processing device 10 can increase the likelihood of obtaining a relatively good solution in a short amount of time.

[0060] [Second Embodiment] Next, a second embodiment will be described. Figure 2 shows an example of the hardware of the information processing device according to the second embodiment.

[0061] The information processing device 100 searches for a solution to a combinatorial optimization problem using the MCMC method and outputs the searched solution. The combinatorial optimization problem is represented by the Ising-type energy function of equation (1). Before performing the actual solution search, the information processing device 100 performs a parameter search to determine the values ​​of the parameters to be used in the solution search.

[0062] The information processing device 100 includes a CPU 101, RAM 102, HDD (Hard Disk Drive) 103, GPU 104, input interface 105, media reader 106, NIC (Network Interface Card) 107, and accelerator card 108.

[0063] The CPU 101 is a processor that executes program instructions. The CPU 101 loads at least a portion of the programs and data stored in the HDD 103 into the RAM 102 and executes the program. The CPU 101 may include multiple processor cores. The information processing device 100 may also have multiple processors. The processes described below may be executed in parallel using multiple processors or processor cores. A collection of multiple processors is sometimes referred to as a "multiprocessor" or simply a "processor".

[0064] RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by the CPU 101 and data used by the CPU 101 for calculations. The information processing device 100 may also be equipped with other types of memory, and may be equipped with multiple types of memory.

[0065] HDD103 is a non-volatile storage device that stores software programs and data, such as the OS (Operating System), middleware, and application software. The information processing device 100 may also be equipped with other types of storage devices, such as flash memory or SSD (Solid State Drive), and may be equipped with multiple non-volatile storage devices.

[0066] The GPU 104 outputs an image to the display 31 connected to the information processing device 100, according to instructions from the CPU 101. Any type of display can be used as the display 31, such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD), a plasma display, or an organic electro-luminescence (OEL) display.

[0067] The input interface 105 acquires input signals from the input device 32 connected to the information processing device 100 and outputs them to the CPU 101. The input device 32 can include pointing devices such as a mouse, touch panel, touchpad, or trackball, as well as a keyboard, remote controller, or button switch. Furthermore, multiple types of input devices may be connected to the information processing device 100.

[0068] The media reader 106 is a reading device that reads programs and data recorded on the recording medium 33. The recording medium 33 can be, for example, a magnetic disk, an optical disk, a magneto-optical disk (MO), or semiconductor memory. Magnetic disks include flexible disks (FD) and HDDs. Optical disks include CDs (Compact Discs) and DVDs (Digital Versatile Discs).

[0069] The media reader 106 copies programs and data read from the recording medium 33 to other recording media such as RAM 102 or HDD 103. The read programs are executed by the CPU 101, for example. The recording medium 33 may be a portable recording medium and may be used for distributing programs and data. The recording medium 33 and HDD 103 are sometimes referred to as computer-readable recording media.

[0070] NIC107 is an interface connected to network 34 and used to communicate with other computers via network 34. NIC107 is connected to communication devices such as switches or routers via cables. NIC107 may also be a wireless communication interface.

[0071] The accelerator card 108 is a hardware accelerator that searches for a solution to the Ising problem, which is represented by the Ising-type energy function of equation (1), using the MCMC method. The accelerator card 108 can be used as a sampler to sample states that follow a Boltzmann distribution at a given temperature by performing a constant-temperature MCMC method or a replica exchange method that exchanges the states of the Ising model between multiple temperatures. To solve the Ising problem, the accelerator card 108 performs annealing processes such as the replica exchange method or the SA method, which gradually decreases the temperature value.

[0072] The SA method is a technique for efficiently finding the optimal solution by sampling states that follow a Boltzmann distribution at each temperature value and gradually lowering the temperature value used for sampling from the highest temperature value to the lowest temperature value. For example, when using the SA method, the accelerator card 108 repeats the operation of lowering the temperature value after repeating state transition trials at a constant temperature value a certain number of times.

[0073] The replica exchange method is a technique that independently performs the MCMC method using multiple temperature values ​​and appropriately exchanges the temperature values ​​for the states obtained at each temperature value. By exploring a narrow range of the state space with MCMC at low temperatures and a wide range of the state space with MCMC at high temperatures, a good solution can be found efficiently. For example, when using the replica exchange method, the accelerator card 108 performs trials of state transitions at each of the multiple temperature values ​​in parallel, and after a certain number of trials, it repeats the operation of exchanging the temperature values ​​for the states obtained at each temperature value with a predetermined exchange probability.

[0074] The accelerator card 108 includes an FPGA 108a and a RAM 108b. The FPGA 108a implements the search function in the accelerator card 108. This search function may be implemented by other types of electronic circuits such as a GPU or ASIC. The RAM 108b holds data such as problem information used for the search in the FPGA 108a and the solutions found by the FPGA 108a. The FPGA 108a also has built-in memory. Depending on the search process, the FPGA 108a can write data stored in its built-in memory to the RAM 108b.

[0075] Hardware accelerators that search for solutions to Ising-type problems, such as Accelerator Card 108, are sometimes called Ising machines or Boltzmann machines. In the following description, the information processing device 100 will determine, as an example, a pair of maximum and minimum temperature values ​​by parameter search.

[0076] Figure 3 shows an example of the functions of an information processing device. The information processing device 100 includes a problem information storage unit 110, a problem input unit 120, a parameter evaluation unit 130, an evaluation result storage unit 140, a parameter acquisition range change control unit 150, a parameter acquisition range change unit 160, a parameter acquisition unit 170, a parameter search completion determination unit 180, a solution search unit 190, and a solution output unit 195.

[0077] The problem information storage unit 110 and the evaluation result storage unit 140 utilize the storage areas of RAM 102 and HDD 103, respectively. The problem input unit 120, parameter evaluation unit 130, parameter acquisition range change control unit 150, parameter acquisition range change unit 160, parameter acquisition unit 170, parameter search completion determination unit 180, and solution output unit 195 are implemented by the CPU 101 executing a program stored in RAM 102. The solution search unit 190 is implemented by the accelerator card 108.

[0078] The problem information storage unit 110 stores problem information that represents the Ising problem. The problem information includes information that represents the energy function. For example, the problem information includes weight coefficients and biases included in the energy function. The problem information includes information that represents the number of bits included in the energy function, the type of constraints, and the number of constraints. The problem information may also include the initial state of the Ising model, the initial energy, and the reduction in temperature values ​​in the SA method. The problem information may also include the difference in adjacent temperature values ​​in the replica exchange method. The problem information is input to the information processing device 100 by the user and stored in the problem information storage unit 110.

[0079] The problem input unit 120 inputs problem information stored in the problem information storage unit 110 to the parameter evaluation unit 130 and the solution search unit 190. The problem input unit 120 inputs information indicating the number of bits included in the energy function, the type of constraint, and the number of constraints to the parameter acquisition range change control unit 150. Here, the problem input unit 120 acquires the number of bits included in the energy function of equation (1), and the type and number of constraints based on equations (3) and (4) included in the energy function, based on the problem information stored in the problem information storage unit 110.

[0080] The parameter evaluation unit 130 obtains candidate parameter values ​​from the parameter acquisition unit 170. The candidate parameter values ​​are extracted from values ​​that belong to a certain acquisition range. As mentioned above, in this example, the parameters are the maximum temperature value and the minimum temperature value. An acquisition range is defined for each of the maximum and minimum temperature values. For this reason, the "candidate values" in the following explanation may also be called a set of candidate values ​​or a pair of candidate values.

[0081] The parameter evaluation unit 130 outputs the candidate value to the parameter search completion determination unit 180, causing the solution search unit 190 to perform a solution search for a set period of time. The parameter evaluation unit 130 evaluates the candidate value according to the results of the solution search performed by the solution search unit 190 for a set period of time. The parameter evaluation unit 130 evaluates the candidate value more highly if the energy obtained by performing a solution search such as the SA method by the solution search unit 190 for a set period of time is low, and the time it takes to reach that energy is short. The parameter evaluation unit 130 calculates an evaluation value that indicates the evaluation result for the candidate value.

[0082] For example, the parameter evaluation unit 130 calculates an evaluation value for the corresponding candidate value using the following evaluation formula. As an example, a larger evaluation value indicates a higher evaluation. For example, the parameter evaluation unit 130 defines the evaluation value as E*p + t*q. Here, E is the minimum energy of the solution reached when the parameter values ​​are used as candidate values ​​for solution searching. t is the time required to reach the solution with the minimum energy. p and q are coefficients that represent the energy and time weights, respectively, for the evaluation value. Both p and q are real numbers less than or equal to 0.

[0083] Alternatively, the parameter evaluation unit 130 may use the evaluation value = 1 / (E*p+t*q). In this case, both p and q are real numbers greater than or equal to 0. Note that p+q>0. That is, there is no case where p=0 and q=0.

[0084] The parameter evaluation unit 130 stores the evaluated candidate values ​​and the evaluated values ​​in the evaluation result storage unit 140. The parameter evaluation unit 130 outputs the evaluated values ​​to the parameter acquisition range change control unit 150 and the parameter search completion determination unit 180. The parameter evaluation unit 130 outputs the candidate values ​​corresponding to the current best evaluated value to the parameter acquisition range change unit 160.

[0085] The evaluation result storage unit 140 stores the evaluation results from the parameter evaluation unit 130. The evaluation results include candidate values ​​and evaluated values. The parameter acquisition range change control unit 150 determines the timing and amount by which to narrow the acquisition range of candidate parameter values, based on an index indicating the nature of the Ising problem and the evaluation value of each candidate value. The index indicating the nature of the Ising problem indicates the difficulty of the Ising problem and is, for example, an index corresponding to the number of bits, the type of constraint, and the number of constraints in the Ising problem. The parameter acquisition range change control unit 150 outputs the timing and amount by which to narrow the acquisition range to the parameter acquisition range change unit 160.

[0086] The parameter acquisition range modification unit 160 instructs the parameter acquisition unit 170 to change the acquisition range of the candidate values ​​based on the candidate values ​​corresponding to the current best evaluation value and the input timing and amount by which the acquisition range should be narrowed.

[0087] The parameter acquisition unit 170 acquires the next candidate value to be evaluated from the current acquisition range of candidate parameter values ​​and outputs it to the parameter evaluation unit 130. The parameter acquisition unit 170 may acquire candidate values ​​by brute force, such as in a grid search, or it may acquire candidate values ​​randomly, such as in a random search. The acquisition range at the start of the parameter search is specified in advance by the user.

[0088] The parameter acquisition unit 170 changes the acquisition range for candidate parameter values ​​in accordance with the instructions of the parameter acquisition range change unit 160. The changed acquisition range is narrower than the previous acquisition range. The center value of the changed acquisition range is the candidate value corresponding to the best evaluation value in the previous acquisition range. If there are multiple parameters, the parameter acquisition unit 170 changes the acquisition range for candidate values ​​for each parameter.

[0089] The parameter search termination determination unit 180 determines the end of the parameter search. Specifically, the parameter search termination determination unit 180 causes the solution search unit 190 to perform a solution search for a certain period of time using candidate parameter values ​​input from the parameter evaluation unit 130. The parameter search termination determination unit 180 also terminates the parameter search using the solution search unit 190 if the evaluation value for each candidate value does not change a certain number of times. Then, the parameter search termination determination unit 180 obtains the parameter value corresponding to the best evaluation value obtained in the parameter search from the parameter evaluation unit 130, inputs that parameter value to the solution search unit 190, and causes it to perform the actual solution search.

[0090] The solution search unit 190 performs a solution search using the SA method with candidate parameter values ​​input from the parameter search completion determination unit 180. The solution search unit 190 outputs the results of the solution search in the parameter search to the parameter evaluation unit 130. However, in Figure 3, the connection line between the parameter evaluation unit 130 and the solution search unit 190 is omitted. The results of the solution search include the energy obtained by the solution search. The solution search unit 190 then performs a real solution search using the parameter values ​​determined by the parameter search, and outputs the solution finally obtained by this solution search to the solution output unit 195. The real solution search takes a longer time than the solution search used for evaluating the candidate values.

[0091] The solution output unit 195 outputs the solution to the Ising problem obtained by the solution search unit 190. For example, the solution output unit 195 displays information indicating the solution on the display 31. The solution output unit 195 may also transmit information indicating the solution to other information processing devices via the network 34.

[0092] Figure 4 shows an example of a parameter evaluation table. The parameter evaluation table 141 is stored in the evaluation result storage unit 140. The parameter evaluation table 141 holds evaluation values ​​obtained by the parameter evaluation unit 130 for candidate parameter values. The parameter evaluation table 141 includes items for item number, maximum temperature value, minimum temperature value, and evaluation value.

[0093] The item number field contains a number that identifies the record. The item number indicates how many times the evaluation, i.e., parameter evaluation, has been performed for the corresponding parameter. One record in the parameter evaluation table 141 corresponds to the result of one parameter evaluation. The maximum temperature value field contains a candidate value for the maximum temperature value, which is one of the parameters. The minimum temperature value field contains a candidate value for the minimum temperature value, which is one of the parameters. The evaluation value field contains the evaluation value for the pair of the maximum temperature value candidate value and the minimum temperature value candidate value.

[0094] For example, parameter evaluation table 141 has a record with item number "1", maximum temperature value "Tmax1", minimum temperature value "Tmin1", and evaluation value "V11". This record indicates that in the first evaluation during parameter search, the candidate value pair (Tmax1, Tmin1) of (maximum temperature value, minimum temperature value) was evaluated, and the evaluation value was "V11".

[0095] The parameter evaluation table 141 also registers records of evaluation values ​​for other parameter sets. Figure 5 shows an example of controlling the range of target acquisition for candidate parameter values.

[0096] The parameter acquisition range change control unit 150 determines the timing and amount by which to narrow the acquisition range of candidate parameter values ​​based on the parameter evaluation table 141. Specifically, the parameter acquisition range change control unit 150 determines the best evaluation value V obtained from N evaluations for a given acquisition range. n The parameter acquisition range change control unit 150 obtains the evaluation value V obtained k times before the time n in which the highest evaluation value was obtained. n-k We obtain the result. k is an integer greater than or equal to 1. V n ,V n-k This is the evaluation value for each candidate value obtained from the same acquisition range. The parameter acquisition range change control unit 150 then controls V n -V n-kBased on this, the timing and amount by which the acquisition range is narrowed are determined. The values ​​of N and k are pre-entered into the information processing device 100 by the user.

[0097] Graphs 41 and 42 show the highest evaluation value V obtained from N evaluations, respectively. n However, V n =V N The following is an example of this case. In graphs 41 and 42, the horizontal axis shows the number of evaluations. In graphs 41 and 42, the vertical axis shows the evaluation value.

[0098] Graph 41 shows the difference V n -V n-k =V N -V N-k This shows the case where the difference V is relatively small. n -V n-k =V N -V N-k The smaller this difference is, the more it is estimated that the evaluation value is converging with the candidate parameter value. The smaller this difference is, the earlier the timing of narrowing the acquisition target range and the greater the amount by which the acquisition target range is narrowed by the parameter acquisition target range control unit 150.

[0099] Graph 42 shows the difference V n -V n-k =V N -V N-k This shows the case where the difference V is relatively large. n -V n-k =V N -V N-k The larger this difference is, the less progress is made in the convergence of the evaluation values ​​with respect to the candidate parameter values. The larger this difference is, the more the parameter acquisition range change control unit 150 delays the timing of narrowing the acquisition target range and reduces the amount by which the acquisition target range is narrowed.

[0100] For example, the parameter acquisition range change control unit 150 calculates the timing for narrowing the acquisition range and the amount Δα by which the acquisition range is narrowed using equations (5) and (6). This timing is represented by time τ1 from the point in time when N evaluations have been completed. τ1 may also be represented by the number of parameter evaluations performed after that point in time.

[0101] τ1 = g * (V n -V n-k )+c ···(5) Δα = g / (V) n -V n-k )+c ···(6) g and c are both positive real numbers. g in equations (5) and (6) may be different values. c in equations (5) and (6) may be different values.

[0102] Furthermore, the parameter acquisition range change control unit 150 may determine τ1 and Δα based on an index indicating the properties of the Ising problem according to the energy function. The index indicating the properties of the Ising problem includes the number of bits A in the energy function of equation (1), the type of constraint, and the number of constraints of each type. The types of constraints include the aforementioned 1w1h constraint and 2w1h constraint. For example, the parameter acquisition range change control unit 150 may calculate τ1 and Δα using equations (7) and (8). Here, we assume that the energy function contains two types of constraints. The number of constraints of the first type is B1. The number of constraints of the second type is B2.

[0103] τ1 = a*A + b1*B1 + b2*B2 + g*(V n -V n-k )+c ···(7) Δα = a / A + b3 / B1 + b4 / B2 + g / (V n -V n-k )+c ···(8) a, b1, and b2 are all positive real numbers. In equations (7) and (8), a may have different values. In equations (7) and (8), g may have different values. In equations (7) and (8), c may have different values. In equation (7), b1 and b2 are coefficients corresponding to the type of constraint. The more complex the type of constraint, the larger the values ​​of b1 and b2. In equation (8), b1 and b2 are coefficients corresponding to the type of constraint. The more complex the type of constraint, the smaller the values ​​of b3 and b4. Note that the energy function may contain one type of constraint or three or more types of constraints.

[0104] Alternatively, the parameter acquisition range change control unit 150 may calculate τ1 and Δα using equations (9) and (10). τ1 = a * A * B1 * B2 * (V n -V n-k )+c ···(9) Δα = a / {A*B1*B2*(V n -V n-k )}+c ···(10) In equations (9) and (10), a may be different values ​​from each other. In equations (9) and (10), c may be different values ​​from each other.

[0105] Here, if there are multiple parameters, the parameter acquisition range change control unit 150 may calculate Δα for each parameter. The parameter acquisition range change control unit 150 may use coefficients corresponding to the relevant parameters as coefficients such as a, b1, b2 used in the calculation of Δα. Also, equations (5) to (10) are just examples, and the information processing device 100 may use other equations to obtain τ1 and Δα.

[0106] Furthermore, the information processing device 100 has a bit count of d or less in the Ising problem, and the number of constraints of the first type is e1 or less, and the number of constraints of the second type is e2 or less, and V n -V n-k A table may be maintained that shows patterns such as τ1=t and Δα=u when f is less than or equal to f. In this case, the table is stored in advance in a memory unit realized by the RAM 102 or HDD 103 of the information processing device 100. The parameter acquisition range change control unit 150 may determine τ1 and Δα by referring to the table and adopting a pattern that meets the conditions.

[0107] Next, the processing procedure of the information processing device 100 will be explained. Figure 6 is a flowchart showing an example of processing performed by an information processing device. (S10) The problem input unit 120 inputs the information of the Ising problem stored in the problem information storage unit 110 to the parameter evaluation unit 130, the parameter acquisition range change control unit 150, and the solution search unit 190.

[0108] (S11) The parameter acquisition unit 170 acquires candidate parameter values ​​from a certain acquisition range and outputs them to the parameter evaluation unit 130. The initial acquisition range is pre-input into the information processing device 100. If there are multiple parameters, the acquisition range is determined for each parameter. For example, if there are a maximum temperature value and a minimum temperature value as parameters, the parameter acquisition unit 170 acquires a candidate value for the maximum temperature value from the acquisition range for the maximum temperature value and a candidate value for the minimum temperature value from the acquisition range for the minimum temperature value. The parameter acquisition unit 170 then outputs the pair of acquired candidate values ​​for the maximum temperature value and the minimum temperature value to the parameter evaluation unit 130.

[0109] (S12) The parameter evaluation unit 130 evaluates candidate parameter values. Specifically, the parameter evaluation unit 130 supplies candidate parameter values ​​to the solution search unit 190 via the parameter search completion determination unit 180 and causes the solution search to be performed for a certain period of time using the candidate values. Based on the minimum energy reached and the time taken to reach the minimum energy, which are obtained as a result of the solution search performed by the solution search unit 190 for a certain period of time, the parameter evaluation unit 130 calculates an evaluation value for the candidate parameter value. The parameter evaluation unit 130 stores the candidate parameter value and the evaluation value in the parameter evaluation table 141.

[0110] (S13) The parameter acquisition range change control unit 150 determines whether the parameter evaluation in step S12 has been performed N times. If the parameter evaluation has not been performed N times, the parameter acquisition range change control unit 150 proceeds to step S11. If the parameter evaluation has been performed N times, the parameter acquisition range change control unit 150 proceeds to step S14.

[0111] (S14) The parameter acquisition range change control unit 150 determines the timing and amount Δα of narrowing the parameter acquisition range, that is, the range to be acquired for candidate parameter values. For example, equations (5), (7), and (9) are used to calculate the timing. For example, equations (6), (8), and (10) are used to calculate Δα. If there are multiple parameters, the parameter acquisition range change control unit 150 determines Δα for each parameter. The parameter acquisition range change control unit 150 outputs τ1 and Δα, which indicate the determined timing, to the parameter acquisition range change unit 160.

[0112] (S15) The parameter acquisition range modification unit 160 determines whether the current time is the time to narrow the range of parameters to be acquired. If the current time is not the time, the parameter acquisition range modification unit 160 proceeds to step S17. If the current time is the time, the parameter acquisition range modification unit 160 proceeds to step S16.

[0113] For example, the parameter acquisition range modification unit 160 determines that the current time is the right time to narrow the range of parameters to be acquired when the elapsed time since immediately after step S14 reaches τ1. Alternatively, the parameter acquisition range modification unit 160 may determine that the current time is the right time to narrow the range of parameters to be acquired when the number of parameter evaluations since step S14 reaches τ1.

[0114] (S16) The parameter acquisition range modification unit 160 obtains candidate values ​​for parameters corresponding to the highest evaluation value at the present time from the parameter evaluation unit 130. The parameter acquisition range modification unit 160 sets the obtained candidate value as the center value of the new acquisition range. Then, the parameter acquisition range modification unit 160 sets the range in which the width of the acquisition range is narrowed by Δα with the center value as the center value as the new acquisition range for the candidate parameter values. For example, if the center value is Pc and the width of the original acquisition range is α0, the new acquisition range will be Pc ± {(α0 - Δα) / 2}. If there are multiple parameters, the parameter acquisition range modification unit 160 determines a new acquisition range for each parameter. Then, the parameter acquisition range modification unit 160 proceeds to step S17.

[0115] (S17) The parameter acquisition unit 170 acquires candidate parameter values ​​from the current acquisition range and outputs them to the parameter evaluation unit 130. At this time, the parameter acquisition unit 170 acquires, for example, candidate values ​​that have not been acquired so far from the current acquisition range.

[0116] (S18) The parameter evaluation unit 130 evaluates candidate values ​​for the parameter. The evaluation method is the same as in step S12. The parameter evaluation unit 130 outputs the evaluation value for the corresponding candidate value to the parameter search completion determination unit 180. The parameter evaluation unit 130 also stores the candidate value and evaluation value of the parameter in the parameter evaluation table 141.

[0117] (S19) The parameter search termination determination unit 180 determines whether or not to terminate the parameter search. If the parameter search is not terminated, the parameter search termination determination unit 180 proceeds to step S15. If the parameter search is terminated, the parameter search termination determination unit 180 proceeds to step S20. For example, the parameter search termination determination unit 180 determines to terminate the parameter search if the evaluation value for each candidate value does not change a certain number of times.

[0118] (S20) The parameter evaluation unit 130 inputs the parameter values ​​corresponding to the best evaluation values ​​obtained so far, based on the parameter evaluation table 141, to the solution search unit 190 via the parameter search completion determination unit 180, and initiates the actual solution search. The solution search unit 190 executes the solution search using the parameter values ​​corresponding to the best evaluation values.

[0119] (S21) When the solution search by the solution search unit 190 is completed, the solution output unit 195 retrieves the solution finally obtained by the solution search from the solution search unit 190 and outputs the solution. Here, the procedure in Figure 6 shows an example in which the information processing device 100 changes the acquisition range of candidate parameter values ​​only once. On the other hand, the information processing device 100 may change the acquisition range multiple times. For example, the parameter acquisition range changing unit 160 may narrow the acquisition range step by step by executing step S16 with a period τ1, thereby gradually narrowing the acquisition range by Δα.

[0120] Alternatively, when the number of parameter evaluations using the modified target range reaches N', the parameter acquisition range modification unit 160 may further determine the timing and amount to narrow the current target range based on the results of the N' parameter evaluations and the nature of the problem. The parameter acquisition range modification unit 160 may then further narrow the current target range based on the determined timing and amount. In this way, the parameter acquisition range modification unit 160 may gradually narrow the target range for acquiring candidate parameter values.

[0121] Figure 6 shows an example where the timing and amount of narrowing the target range are determined after N parameter evaluations. Alternatively, the parameter acquisition range change control unit 150 may determine the timing and amount of narrowing Δα using only indicators that show the nature of the problem. Alternatively, the timing may be expressed as time τ2 from the start of the parameter search. τ2 may be expressed as the number of parameter evaluations performed after the start time.

[0122] τ2=a*A+b1*B1+b2*B2+c ···(11) Δα=a / A+b3 / B1+b4 / B2+c (12) In equations (11) and (12), a may be different values ​​from each other. In equations (11) and (12), c may be different values ​​from each other. In equation (11), the more complex the type of constraint, the larger the values ​​of b1 and b2. In equation (12), the more complex the type of constraint, the smaller the values ​​of b3 and b4.

[0123] Alternatively, the parameter acquisition range change control unit 150 may calculate τ2 and Δα using equations (13) and (14). τ² = a * A * B1 * B2 + c ... (13) Δα = a / {A*B1*B2} + c ... (14) In equations (13) and (14), a may be a different value from each other. In equations (13) and (14), c may be a different value from each other. Also, equations (11) to (14) are just examples, and the information processing device 100 may use other equations to find τ² and Δα.

[0124] The information processing device 100 may also maintain a table showing patterns such as τ2=t and Δα=u when the number of bits in the Ising problem is d or less, the number of constraints of the first type is e1 or less, and the number of constraints of the second type is e2 or less. The parameter acquisition range change control unit 150 may determine τ2 and Δα by referring to the table and adopting a pattern that meets the conditions.

[0125] When the information processing device 100 determines the timing and amount Δα of narrowing the target range using only indicators that show the nature of the problem, it may perform the following procedure instead of the procedure in Figure 6. Figure 7 is a flowchart showing other processing examples of the information processing device.

[0126] The procedure in Figure 7 differs from the procedure in Figure 6 in that step S10a is executed immediately after step S10, and then step S15 is performed after step S10a. Therefore, in the following, we will explain step S10a and omit the explanation of the other steps.

[0127] (S10a) The parameter acquisition range change control unit 150 determines the timing and amount Δα of narrowing the parameter acquisition range, that is, the range of candidate parameter values ​​to be acquired. For example, equations (11) and (13) are used to calculate the timing. For example, equations (12) and (14) are used to calculate Δα. If there are multiple parameters, the parameter acquisition range change control unit 150 determines Δα for each parameter. The parameter acquisition range change control unit 150 outputs τ2 and Δα, which indicate the determined timing, to the parameter acquisition range change unit 160. The initial fixed acquisition range is pre-input into the information processing device 100.

[0128] In step S15, for example, the parameter acquisition range modification unit 160 determines that the current time is the time to narrow the range of parameters to be acquired when the elapsed time from the start of the parameter search reaches τ2, which is immediately after step S10a. Alternatively, the parameter acquisition range modification unit 160 may determine that the current time is the time to narrow the range of parameters to be acquired when the number of parameter evaluations from the start time reaches τ2.

[0129] In this way, the information processing device 100 can efficiently narrow down the range of candidate parameter values ​​to be acquired. Note that the procedure in Figure 7 shows an example in which the information processing device 100 changes the acquisition range of candidate parameter values ​​only once. On the other hand, the information processing device 100 may change the acquisition range multiple times. For example, the parameter acquisition range changing unit 160 may narrow the acquisition range step by step by executing step S16 with a period τ2, thereby gradually narrowing the acquisition range by Δα.

[0130] Furthermore, the parameter acquisition range change control unit 150 may determine τ2, which indicates the timing of narrowing, and the amount Δα, and perform parameter search according to the procedure shown in Figure 6. For example, τ2 may be determined as the time immediately following step S14 of the procedure shown in Figure 6.

[0131] Figure 8 shows an example of the range of target values ​​for acquiring candidate parameter values. Figure 8(A) illustrates graph 51, which shows an inappropriate target range. Figure 8(B) illustrates graph 52, which shows an appropriate target range. The horizontal axis of graphs 51 and 52 represents candidate parameter values, i.e., parameter values. The vertical axis of graphs 51 and 52 represents evaluation values. Assume that the highest-evaluated parameter value, i.e., the best parameter value, is p5. Graph 51 shows a target range with width α1 centered on parameter value p3. Graph 52 shows a target range with width α2 centered on parameter value p4.

[0132] For example, one could consider a method of narrowing the target range by setting both the timing and the amount of narrowing as fixed values. However, in this case, as shown in Graph 51, the best parameter value p5 may be excluded from the target range.

[0133] Therefore, the information processing device 100 determines the timing and amount of narrowing the acquisition range using at least one of the degree of convergence of evaluation values ​​in parameter search and an indicator indicating the nature of the problem. This makes it easier for the information processing device 100 to find a parameter value p4 that is better than parameter value p3, and enables it to determine an acquisition range with an appropriate width α2 centered on parameter value p4. As a result, the information processing device 100 can reduce the possibility that the best parameter value p5 is excluded from the acquisition range. In addition, the information processing device 100 can suppress the time spent on parameter search when the degree of convergence of evaluation values ​​is fast or when the problem is relatively easy due to its nature.

[0134] Furthermore, since the information processing device 100 can appropriately determine the parameter values ​​used in the solution search, it can improve the solution-finding performance of the solution search unit 190 during the actual solution search. In other words, the information processing device 100 can increase the possibility of reducing the time required for parameter search while avoiding a decrease in solution-finding performance due to missing the best parameter values.

[0135] In addition, there is also the TPE (Tree-structured Parzen Estimator) method for parameter search. TPE is a method that obtains parameter values ​​that are estimated to have a high evaluation based on evaluations of parameter values ​​that have already been obtained. However, even when using TPE, it takes time to converge to the best parameter values ​​because it requires the evaluation of many parameter values ​​before accurate estimation can be achieved. On the other hand, the information processing device 100 can increase the likelihood of converging to the best parameter values ​​in a relatively short time compared to the TPE method.

[0136] Here, experiments were conducted on five practical problems. Three of the five practical problems involved relatively small bit counts (477-755 bits) and had around 159-250 constraints. On the other hand, the remaining two problems involved 5079 bits for one problem and 6321 bits for the other, with 1693 and 2107 constraints, respectively.

[0137] For five practical problems, the parameters were simply acquired and evaluated 300 times using other information processing devices. After narrowing the range of candidate parameter values ​​to 1 / 4, the solutions were found using the searched parameter values. In contrast, for three problems with relatively small bit counts, the parameters were acquired and evaluated 200 times using the functions of information processing device 100. After narrowing the range of acquisition targets, the solutions were found using the searched parameter values. Comparing the results of both methods yielded the following results.

[0138] For three problems with relatively small bit counts, it was confirmed that narrowing the target range after 200 iterations using the information processing device 100 improved the solving speed while maintaining a similar level of solving performance. Specifically, for the three problems with relatively small bit counts, the energies obtained by solving them using other information processing devices were (19222, 14670, 25362), and the times to reach these energies were (18 hours, 29 hours, 29 hours), respectively. On the other hand, for the same three problems, the energies obtained by solving them using the information processing device 100 were (19215, 14686, 25362), and the times to reach these energies were (21 hours, 25 hours, 18 hours), respectively. Therefore, in this case, an average speed improvement of 19% was achieved while maintaining an average solving performance difference of 0.024% in terms of energy.

[0139] As explained above, the information processing device 100 performs the following processing. The problem information storage unit 110 stores information representing the energy function of the Ising model corresponding to the problem. The information processing device 100 repeatedly obtains a first candidate value from a first range, which is a range of candidate parameter values ​​used in searching for a solution to the problem based on the energy function, and evaluates the first candidate value according to the results of the solution search when the first candidate value is used as the parameter value. The information processing device 100 changes the candidate value range from the first range to a second range that is narrower than the first range. The information processing device 100 repeatedly obtains a second candidate value from the second range and evaluates the second candidate value according to the results of the solution search when the second candidate value is used as the parameter value. Before changing to the second range, the information processing device 100 determines the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range, based on the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate values ​​and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and at least one of an index indicating the nature of the problem according to the energy function.

[0140] This allows the information processing device 100 to perform parameter search more efficiently. The period for obtaining multiple first evaluation values ​​may be predetermined by the number of evaluations performed on the candidate parameter values. The number of parameters may be one or multiple. Examples of parameters to be searched include the maximum temperature value and minimum temperature value in the SA method and the replica exchange method. The parameters to be searched may also include other parameters such as the temperature reduction amount in the SA method and the difference between adjacent temperature values ​​in the replica exchange method. The number of replicas may be used as a parameter corresponding to the difference between adjacent temperature values ​​in the replica exchange method. The search for a solution is performed by a search unit such as the accelerator card 108. However, the search for a solution may also be performed by the CPU 101.

[0141] For example, the larger the first difference, the more the information processing device 100 may delay the timing of changing from the first range to the second range, thereby reducing the second difference. This increases the likelihood that the information processing device 100 can discover better parameter values. Furthermore, if the information processing device 100 determines that the convergence of the evaluation values ​​is relatively advanced, it can efficiently reduce the time spent on parameter search.

[0142] Furthermore, if the first difference is less than or equal to the threshold, the information processing device 100 may change from the first range to the second range earlier and increase the second difference compared to when the first difference is greater than the threshold. This increases the likelihood that the information processing device 100 can discover better parameter values. Also, if the information processing device 100 determines that the convergence of the evaluation values ​​is relatively advanced, it can efficiently reduce the time spent searching for parameters.

[0143] Furthermore, the indicators that show the nature of the problem may, for example, indicate the difficulty level of the problem. The information processing device 100 may delay the timing of changing from the first range to the second range and reduce the second difference as the difficulty level of the problem increases. This increases the likelihood that the information processing device 100 can find better parameter values. Also, when the difficulty level of the problem is judged to be relatively low, the information processing device 100 can efficiently reduce the time spent searching for parameters.

[0144] For example, indicators that show the nature of a problem include at least one of the number of state variables included in the energy function, the type of constraints, and the number of constraints. The information processing device 100 can appropriately determine the difficulty level of the problem using these indicators.

[0145] The information processing device 100 may delay the timing of the change from the first range to the second range and reduce the second difference as the number of state variables and constraints included in the energy function increases. This increases the likelihood that the information processing device 100 can find better parameter values. Furthermore, the information processing device 100 can efficiently reduce the time spent on parameter search when the difficulty of the problem is judged to be relatively low.

[0146] When the information processing device 100 changes the candidate value range from the first range to the second range, it sets the first candidate value corresponding to the best evaluation value among the first candidate values ​​obtained from the first range as the center value of the second range. This increases the likelihood that the information processing device 100 can discover better parameter values.

[0147] For example, the information processing device 100 may calculate the best evaluation value corresponding to the first candidate value based on the best value of the energy function obtained by searching for a solution for a certain period of time using the first candidate value, and the time required to reach the best value. That is, the information processing device 100 calculates a first evaluation value corresponding to the first candidate value based on the best value of the energy function obtained by searching for a solution for a certain period of time using the first candidate value, and the time required to reach the best value. Then, the information processing device 100 obtains the best evaluation value from a plurality of first evaluation values ​​corresponding to a plurality of first candidate values.

[0148] This allows the information processing device 100 to appropriately evaluate candidate parameter values. For example, in the problem of minimizing energy, the lower the energy of the solution, the better the value of the energy function, and the higher the evaluation of the corresponding candidate value. Also, the shorter the time required to reach the best value of the energy function, the higher the evaluation of the corresponding candidate value.

[0149] The information processing device 100 determines a second candidate value as the parameter value, which corresponds to the best evaluation value among the multiple second evaluation values ​​obtained for multiple second candidate values ​​acquired from a second range. The information processing device 100 may use the CPU 101 to search for a solution to the problem using this parameter value. Alternatively, the information processing device 100 may input the parameter value determined by the CPU 101 into a search unit such as an accelerator card 108 that searches for a solution to the problem, and have the search unit perform the search for a solution. Since the information processing device 100 can determine a better parameter value through parameter search, it can improve its solution-finding performance by searching for a solution using this parameter value. Note that the search unit may be provided by a device other than the information processing device 100.

[0150] Furthermore, there may be multiple parameters targeted for parameter search. The information processing device 100 repeatedly obtains sets of candidate values ​​from a first range for each of the multiple parameter candidate values ​​and evaluates these sets of candidate values ​​according to the results of the solution search using these sets. The first range, which is the range for obtaining candidate values, is defined for each parameter. The information processing device 100 changes the first range for each of the multiple parameter candidate values ​​to a second range that is narrower than the first range. The information processing device 100 repeatedly obtains sets of candidate values ​​from the second range for each of the multiple parameter candidate values ​​and evaluates these sets of candidate values ​​according to the results of the solution search using these sets. Then, before changing to the second range, the information processing device 100 determines the timing for changing the candidate value acquisition range for each parameter from the first range to the second range, and the second difference between the first range and the second range, based on the first difference between the best evaluation value among the evaluation values ​​calculated for each set of candidate values ​​by evaluation using the first range and other evaluation values ​​obtained before the best evaluation value, and at least one of the indicators that show the nature of the problem according to the energy function. This allows the information processing device 100 to streamline parameter search.

[0151] For example, the search for a solution to a problem may be performed by the simulated annealing (SA) method or the replica exchange method. The multiple parameters may include at least one of the maximum temperature value and the minimum temperature value used in the SA method or the replica exchange method. As mentioned above, the multiple parameters may also include other parameters such as the reduction in temperature in the SA method or the difference between adjacent temperature values ​​in the replica exchange method. This allows the information processing device 100 to efficiently search for parameters used in the SA method or the replica exchange method.

[0152] Furthermore, the information processing device 100 may perform the following processing on the parameter search process, which includes the first, second, and third processing. Here, the first processing is a process that repeatedly obtains a first candidate value from a first range, which is a candidate range of parameter values, and evaluates the first candidate value according to the results of the solution search when the first candidate value is used as the parameter value. The second processing is a process that changes the candidate value range from the first range to a second range, which is narrower than the first range. The third processing is a process that repeatedly obtains a second candidate value from the second range and evaluates the second candidate value according to the results of the solution search when the second candidate value is used as the parameter value. The problem information storage unit 110 stores information that shows the energy function of the Ising model corresponding to the problem. The information processing device 100 determines the timing of ending the first processing and executing the second processing, that is, the timing of changing the candidate value range from the first range to the second range, and the difference between the first range and the second range, based on an index that shows the properties of the problem according to the energy function.

[0153] This allows the information processing device 100 to perform parameter search more efficiently. In this case, the parameter search process may be performed by the information processing device 100 or by a device other than the information processing device 100. If the parameter search process is performed by a device other than the information processing device 100, the information processing device 100 transmits information indicating the determined timing and information indicating the difference to that device.

[0154] Furthermore, the information processing in the first embodiment can be achieved by having the processing unit 12 execute a program. Similarly, the information processing in the second embodiment can be achieved by having the CPU 101 execute a program. The program can be recorded on a computer-readable recording medium 33.

[0155] For example, a program can be distributed by distributing a recording medium 33 on which the program is stored. Alternatively, the program may be stored on another computer and distributed via a network. A computer may, for example, store (install) a program stored on the recording medium 33 or a program received from another computer into a storage device such as RAM 102 or HDD 103, and then read and execute the program from that storage device.

[0156] With regard to embodiments including the first and second embodiments described above, the following additional notes are disclosed. (Note 1) A memory unit that stores information showing the energy function of the Ising model corresponding to the problem, The processing unit includes: a first candidate value from a first range which is a range of candidate values ​​for parameters used in searching for a solution to the problem based on the energy function, and a processing unit that performs multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter, then changes the candidate value range from the first range to a second range which is narrower than the first range, and performs multiple evaluations of the second candidate value from the second range according to the search results when the second candidate value is used as the value of the parameter, The processing unit determines the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range, based on the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate value and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and at least one of an index indicating the nature of the problem according to the energy function. Information processing device.

[0157] (Note 2) The processing unit is the information processing device according to Note 1, wherein the larger the first difference, the slower the timing and the smaller the second difference. (Note 3) The information processing apparatus according to Note 1, wherein when the first difference is less than or equal to a threshold, the timing is made earlier than when the first difference is greater than the threshold, and the second difference is made larger.

[0158] (Note 4) The indicators that show the nature of the above problem indicate the difficulty level of the problem, The processing unit is an information processing device as described in Appendix 1, wherein the higher the difficulty level, the slower the timing and the smaller the second difference.

[0159] (Note 5) The information processing apparatus described in Note 1, wherein the indicator showing the nature of the problem is an indicator showing at least one of the number of state variables included in the energy function, the type of constraint, and the number of constraints.

[0160] (Note 6) The processing unit is the information processing device according to Note 5, wherein the processing unit delays the timing and reduces the second difference as the number of state variables and the number of constraints included in the energy function increases.

[0161] (Note 7) The information processing device according to Note 1, wherein when the processing unit changes the candidate value range from the first range to the second range, the first candidate value that corresponds to the best evaluation value among the first candidate values ​​obtained from the first range is set as the center value of the second range.

[0162] (Note 8) The processing unit calculates the best evaluation value corresponding to the first candidate value based on the best value of the energy function obtained by the search for a certain period of time using the first candidate value, and the time required to reach the best value, as described in Note 1.

[0163] (Note 9) The aforementioned processing unit is The second candidate value corresponding to the best evaluation value among the multiple second evaluation values ​​obtained for the multiple second candidate values ​​obtained from the second range is determined as the value of the parameter. The determined parameter values ​​are used to perform the search for a solution to the problem, or the determined parameter values ​​are input to the search unit that performs the search, causing the search unit to perform the search. The information processing device described in Appendix 1.

[0164] (Note 10) There are multiple parameters, The aforementioned processing unit, The process involves obtaining a set of candidate values ​​from the first range for each of the multiple candidate values ​​of the parameters and evaluating the set of candidate values ​​according to the search results when using the set of candidate values ​​multiple times, changing the first range for each of the multiple candidate values ​​of the parameters to a second range, obtaining a set of candidate values ​​from the second range for each of the multiple candidate values ​​of the parameters and evaluating the set of candidate values ​​according to the search results when using the set of candidate values ​​multiple times, Before changing to the second range, the timing and the second difference are determined based on the first difference between the best evaluation value among the evaluation values ​​calculated for each set of candidate values ​​by the evaluation using the first range and other evaluation values ​​obtained before the best evaluation value, and at least one of the indicators that show the nature of the problem according to the energy function. The information processing device described in Appendix 1.

[0165] (Note 11) The search for a solution to the above problem is performed by simulated annealing or replica exchange. The plurality of parameters include at least one of the highest and lowest temperature values ​​used in the simulated annealing method or the replica exchange method. The information processing device described in Appendix 10.

[0166] (Note 12) Computers, We obtain information showing the energy function of the Ising model that corresponds to the problem, The process involves obtaining a first candidate value from a first range, which is a range of candidate values ​​for the parameter used in searching for a solution to the problem based on the energy function, and evaluating the first candidate value according to the search results when the first candidate value is used as the parameter value, then changing the candidate value range from the first range to a second range that is narrower than the first range, and obtaining a second candidate value from the second range and evaluating the second candidate value according to the search results when the second candidate value is used as the parameter value, multiple times. Before changing to the second range, the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range are determined based on at least one of the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate values ​​and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and an index indicating the nature of the problem according to the energy function. Information processing methods.

[0167] (Note 13) To the computer, We obtain information showing the energy function of the Ising model that corresponds to the problem, The process involves obtaining a first candidate value from a first range, which is a range of candidate values ​​for the parameter used in searching for a solution to the problem based on the energy function, and evaluating the first candidate value according to the search results when the first candidate value is used as the parameter value, then changing the candidate value range from the first range to a second range that is narrower than the first range, and obtaining a second candidate value from the second range and evaluating the second candidate value according to the search results when the second candidate value is used as the parameter value, multiple times. Before changing to the second range, the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range are determined based on at least one of the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate values ​​and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and an index indicating the nature of the problem according to the energy function. A program that executes a process.

[0168] (Note 14) A memory unit that stores information showing the energy function of the Ising model corresponding to the problem, A process comprising: a first process of obtaining a first candidate value from a first range which is a range of candidate values ​​for a parameter used in searching for a solution to the problem based on the energy function, and performing multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter; a second process of changing the candidate value range from the first range to a second range which is narrower than the first range; and a third process of obtaining a second candidate value from the second range and performing multiple evaluations of the second candidate value according to the search results when the second candidate value is used as the value of the parameter, wherein the processing unit determines the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range based on an index indicating the properties of the problem according to the energy function, An information processing device having

[0169] (Note 15) The indicators that show the nature of the aforementioned problem indicate the difficulty level of the problem, The processing unit is an information processing device as described in Appendix 14, wherein the higher the difficulty level, the slower the timing and the smaller the difference.

[0170] (Note 16) The information processing device described in Note 14, wherein the indicator showing the nature of the problem is an indicator showing at least one of the number of state variables included in the energy function, the type of constraint, and the number of constraints.

[0171] (Note 17) The processing unit is an information processing device according to Note 16, wherein the processing unit delays the timing and reduces the difference as the number of state variables and the number of constraints included in the energy function increases.

[0172] (Note 18) Computers, We obtain information showing the energy function of the Ising model that corresponds to the problem, A process comprising: a first process of obtaining a first candidate value from a first range which is a range of candidate values ​​for parameters used in searching for a solution to the problem based on the energy function, and performing multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter; a second process of changing the candidate value range from the first range to a second range which is narrower than the first range; and a third process of obtaining a second candidate value from the second range and performing multiple evaluations of the second candidate value according to the search results when the second candidate value is used as the value of the parameter, wherein the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range are determined based on an index that indicates the properties of the problem according to the energy function. Information processing methods.

[0173] (Note 19) To the computer, We obtain information showing the energy function of the Ising model that corresponds to the problem, A process comprising: a first process of obtaining a first candidate value from a first range which is a range of candidate values ​​for parameters used in searching for a solution to the problem based on the energy function, and performing multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter; a second process of changing the candidate value range from the first range to a second range which is narrower than the first range; and a third process of obtaining a second candidate value from the second range and performing multiple evaluations of the second candidate value according to the search results when the second candidate value is used as the value of the parameter, wherein the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range are determined based on an index that indicates the properties of the problem according to the energy function. A program that executes a process. [Explanation of Symbols]

[0174] 10 Information Processing Devices 11 Storage section 12 Processing Units Graphs 20, 21

Claims

1. A memory unit that stores information showing the energy function of the Ising model corresponding to the problem, The processing unit includes: a first candidate value from a first range which is a range of candidate values ​​for parameters used in searching for a solution to the problem based on the energy function, and a processing unit that performs multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter, changes the candidate value range from the first range to a second range which is narrower than the first range, and performs multiple evaluations of the second candidate value from the second range according to the search results when the second candidate value is used as the value of the parameter, The processing unit determines the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range, based on the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate value and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and at least one of an index indicating the nature of the problem according to the energy function. In determining the timing, the time from the first time point in time when the evaluation to acquire the multiple first evaluation values ​​is completed to the second time point in time when the candidate value range is changed from the first range to the second range is determined, or the number of times the first candidate value evaluation is performed from the first time point to the second time point. Information processing device.

2. The processing unit delays the timing and reduces the second difference as the first difference increases, according to claim 1.

3. The information processing apparatus according to claim 1, wherein the processing unit, when the first difference is less than or equal to a threshold, makes the timing earlier and increases the second difference compared to when the first difference is greater than the threshold.

4. The indicators that show the nature of the aforementioned problem indicate the difficulty level of the problem, The information processing apparatus according to claim 1, wherein the processing unit delays the timing and reduces the second difference as the difficulty level increases.

5. The information processing apparatus according to claim 1, wherein the indicator showing the nature of the problem is an indicator showing at least one of the number of state variables included in the energy function, the type of constraint, and the number of constraints.

6. The information processing apparatus according to claim 5, wherein the processing unit delays the timing and reduces the second difference as the number of state variables and the number of constraints included in the energy function increases.

7. The information processing apparatus according to claim 1, wherein when the processing unit changes the candidate value range from the first range to the second range, the first candidate value that corresponds to the best evaluation value among the first candidate values ​​obtained from the first range is set as the center value of the second range.

8. The information processing apparatus according to claim 1, wherein the processing unit calculates the best evaluation value corresponding to the first candidate value based on the best value of the energy function obtained by the search for a certain period of time using the first candidate value, and the time required to reach the best value.

9. The aforementioned processing unit, The second candidate value corresponding to the best evaluation value among the multiple second evaluation values ​​obtained for the multiple second candidate values ​​acquired from the second range is determined as the value of the parameter. The determined parameter values ​​are used to perform the search for a solution to the problem, or the determined parameter values ​​are input to the search unit that performs the search, causing the search unit to perform the search. The information processing apparatus according to claim 1.

10. There are multiple parameters as mentioned above. The aforementioned processing unit, The process involves obtaining a set of candidate values ​​from the first range for each of the multiple candidate values ​​of the parameters and evaluating the set of candidate values ​​according to the search results when using the set of candidate values ​​multiple times, changing the first range for each of the multiple candidate values ​​of the parameters to a second range, obtaining a set of candidate values ​​from the second range for each of the multiple candidate values ​​of the parameters and evaluating the set of candidate values ​​according to the search results when using the set of candidate values ​​multiple times, Before changing to the second range, the timing and the second difference are determined based on the first difference between the best evaluation value among the evaluation values ​​calculated for each set of candidate values ​​by the evaluation using the first range and other evaluation values ​​obtained before the best evaluation value, and at least one of the indicators that show the nature of the problem according to the energy function. The information processing apparatus according to claim 1.

11. The search for a solution to the aforementioned problem is performed by the simulated annealing method or the replica exchange method. The plurality of parameters include at least one of the highest and lowest temperature values ​​used in the simulated annealing method or the replica exchange method. The information processing apparatus according to claim 10.

12. Computers We obtain information showing the energy function of the Ising model that corresponds to the problem, The process of obtaining a first candidate value from a first range, which is a range of candidate values ​​for the parameter used in searching for a solution to the problem based on the energy function, and evaluating the first candidate value according to the search results when the first candidate value is used as the parameter value, is repeated multiple times, the candidate value range is changed from the first range to a second range that is narrower than the first range, and the process of obtaining a second candidate value from the second range and evaluating the second candidate value according to the search results when the second candidate value is used as the parameter value is repeated multiple times, Before changing to the second range, the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range are determined based on the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate values ​​and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and at least one of the indicators that show the nature of the problem according to the energy function. In determining the timing, the time from the first time point in time when the evaluation to acquire the multiple first evaluation values ​​is completed to the second time point in time when the candidate value range is changed from the first range to the second range is determined, or the number of times the first candidate value evaluation is performed from the first time point to the second time point. Information processing methods.

13. On the computer, We obtain information showing the energy function of the Ising model that corresponds to the problem, The process of obtaining a first candidate value from a first range, which is a range of candidate values ​​for the parameter used in searching for a solution to the problem based on the energy function, and evaluating the first candidate value according to the search results when the first candidate value is used as the parameter value, is repeated multiple times, the candidate value range is changed from the first range to a second range that is narrower than the first range, and the process of obtaining a second candidate value from the second range and evaluating the second candidate value according to the search results when the second candidate value is used as the parameter value is repeated multiple times, Before changing to the second range, the timing for changing the candidate value range from the first range to the second range and the second difference between the first range and the second range are determined based on the first difference between the best evaluation value among a plurality of first evaluation values ​​calculated for a plurality of first candidate values ​​by evaluation using the first candidate values ​​and other evaluation values ​​obtained by evaluation prior to the best evaluation value, and at least one of the indicators that show the nature of the problem according to the energy function. In determining the timing, the time from the first time point in time when the evaluation to acquire the multiple first evaluation values ​​is completed to the second time point in time when the candidate value range is changed from the first range to the second range is determined, or the number of times the first candidate value evaluation is performed from the first time point to the second time point. A program that executes a process.

14. A memory unit that stores information showing the energy function of the Ising model corresponding to the problem, A process comprising: a first process of obtaining a first candidate value from a first range which is a range of candidate values ​​for a parameter used in searching for a solution to the problem based on the energy function, and performing multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter; a second process of changing the candidate value range from the first range to a second range which is narrower than the first range; and a third process of obtaining a second candidate value from the second range and performing multiple evaluations of the second candidate value according to the search results when the second candidate value is used as the value of the parameter, wherein the processing unit determines the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range based on an index indicating the properties of the problem according to the energy function, It has, In determining the timing, the processing unit determines, before the first time point in which it starts acquiring the first candidate value from the first range and evaluating the first candidate value, the time from the first time point to the second time point in which the candidate value range is changed from the first range to the second range, or the number of times the first candidate value is evaluated from the first time point to the second time point. Information processing device.

15. Computers We obtain information showing the energy function of the Ising model that corresponds to the problem, A process comprising: a first process of obtaining a first candidate value from a first range which is a range of candidate values ​​for a parameter used in searching for a solution to the problem based on the energy function, and performing multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter; a second process of changing the candidate value range from the first range to a second range which is narrower than the first range; and a third process of obtaining a second candidate value from the second range and performing multiple evaluations of the second candidate value according to the search results when the second candidate value is used as the value of the parameter, wherein the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range are determined based on an index that indicates the properties of the problem according to the energy function, In determining the timing, before the first time point in which the acquisition of the first candidate value from the first range and the evaluation of the first candidate value begin, the time from the first time point to the second time point in which the candidate value range is changed from the first range to the second range is determined, or the number of times the first candidate value is evaluated from the first time point to the second time point. Information processing methods.

16. On the computer, We obtain information showing the energy function of the Ising model that corresponds to the problem, A process comprising: a first process of obtaining a first candidate value from a first range which is a range of candidate values ​​for a parameter used in searching for a solution to the problem based on the energy function, and performing multiple evaluations of the first candidate value according to the search results when the first candidate value is used as the value of the parameter; a second process of changing the candidate value range from the first range to a second range which is narrower than the first range; and a third process of obtaining a second candidate value from the second range and performing multiple evaluations of the second candidate value according to the search results when the second candidate value is used as the value of the parameter, wherein the timing of changing the candidate value range from the first range to the second range and the difference between the first range and the second range are determined based on an index that indicates the properties of the problem according to the energy function, In determining the timing, before the first time point in which the acquisition of the first candidate value from the first range and the evaluation of the first candidate value begin, the time from the first time point to the second time point in which the candidate value range is changed from the first range to the second range is determined, or the number of times the first candidate value is evaluated from the first time point to the second time point. A program that executes a process.

Citation Information

Patent Citations

  • Combination optimizing method

    JP1997034951A

  • Information processor, information processing method, and program

    JP2016012285A

  • Optimization device, control method of optimization device and control program of optimization device

    JP2020046718A

  • Information processing device, information processing method and program

    JP2021174313A

  • Solution search apparatus and initial value setting method thereof

    US20060010091A1