Calculation program, calculation method, and information processing apparatus

JP2025034537APending Publication Date: 2025-03-13FUJITSU LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023140967
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-31
Publication Date
2025-03-13

AI Technical Summary

Benefits of technology

【0007】 サンプリング回数を低減することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025034537000001_ABST
    Figure 2025034537000001_ABST
Patent Text Reader

Abstract

To provide a calculation program, a calculation method, and an information processing apparatus that can reduce the number of times of sampling.SOLUTION: A calculation program performs: in repeatedly executing calculation processing of generating an Ising model based on a learning data group, searching for a first set number of first recommended points for the Ising model, searching for a second set number of second recommended points for the learning data group by a genetic algorithm, and adding the first recommended points and first evaluation values of the first recommended points and the second recommended points and second evaluation values of the second recommended points to the learning data group as learning data respectively, generating a plurality of types of a sequence as an initial point of each piece of learning data of the learning data group; when the first recommended points are searched for, searching for the first recommended points for each learning data by providing a 2way1hot constraint; and when searching for the second recommended points are searched for, applying the genetic algorithm to a form of the sequence.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a computing program, a computing method, and an information processing device. [Background technology]

[0002] Techniques for performing optimization by sampling binary variables have been disclosed (see, for example, Patent Documents 1 to 3). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2022-190752 A [Patent Document 2] Patent Publication No. 2021-33544 [Patent Document 3] Patent Publication No. 2022-45870 Summary of the Invention [Problem to be solved by the invention]

[0004] For example, the sampling technique using the Ising model in the QUBO format is a method of sequentially sampling recommendation points on the model, so there is a risk that the sampling area may be limited. As a result, there is a risk that the number of samplings may be large.

[0005] In one aspect, an object of the present invention is to provide a calculation program, a calculation method, and an information processing device that can reduce the number of sampling times. [Means for solving the problem]

[0006] In one embodiment, the calculation program generates a computer with a plurality of types of permutations as initial points of each piece of learning data in the learning data group when repeatedly executing a calculation process of creating an Ising model based on a learning data group, searching for a first set number of first recommendation points for the Ising model, searching for a second set number of second recommendation points for the learning data group by a genetic algorithm, and adding the first recommendation points and the first evaluation values ​​of the first recommendation points and the second recommendation points and the second evaluation values ​​of the second recommendation points to the learning data group as learning data. a process of searching for the first recommendation point by setting a constraint that, when an index of a variable in the permutation is i and an index expressing a type of the variable is j, a value corresponding to the permutation in a matrix of i and j is set to 1 and others are set to 0, and the matrix is ​​converted into a bit array of i and j, and then, in the matrix, only one variable in each row is set to 1 and only one variable in each column is set to 1, and a process of applying the genetic algorithm to the format of the permutation when searching for the second recommendation point is executed. Effect of the Invention

[0007] The number of sampling times can be reduced. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 illustrates a solution search in QUBO format. [Diagram 2] FIG. 13 is a diagram showing the rating values ​​of movies watched by a large number of users. [Diagram 3] 1 is a flowchart showing the execution procedure of a sampling technique using a QUBO format model. [Figure 4] FIG. 13 is a diagram for explaining an overview of a 2way1hot constraint. [Diagram 5] FIG. 2A is a block diagram illustrating an example of an overall configuration of an information processing device, and FIG. 2B is a block diagram illustrating an example of a hardware configuration of the information processing device. [Figure 6]11 is a flowchart illustrating an example of an operation of the information processing device. [Figure 7] 13 is a flowchart showing details of step S11. [Figure 8] FIG. 11 is a diagram illustrating an example of step S21 and step S22. [Figure 9] FIG. 11 is a diagram illustrating another example of step S21 and step S22. [Figure 10] 13 is a flowchart showing details of step S13. [Figure 11] (a) is a diagram illustrating crossover, and (b) is a diagram illustrating mutation. [Figure 12] FIG. 1 is a diagram summarizing the processing of the embodiment. [Figure 13] FIG. 13 is a diagram illustrating an example of a test question. [Figure 14] FIG. 13 shows the best value found in the search. [Figure 15] FIG. 13A is a diagram showing details of the results of the FM-DA only technique, and FIG. 13B is a diagram showing details of the results of the technique of the embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Binary variable sampling technology is used as a technique for searching for a good solution with a high evaluation value from a large number of combinations and sequences. Examples of binary variable sampling technology include sampling technology that performs random sampling and sampling technology that uses the Ising model in the QUBO format.

[0010] Although the random sampling technique allows easy sampling, it has the drawback that sampling efficiency is low and a large number of samplings must be performed to obtain a good solution with high accuracy.

[0011] An example of a sampling technique that uses a QUBO-format model is FMQA (Factorization Machine with Quantum Annealing). FMQA is a method that combines QA (Quantum Annealing) and FM (Machine Learning). FMQA creates a QUBO-format FM model from training data, finds a good answer through QA, analyzes the evaluation value of the good answer with a solver, adds the result to the training data, and performs interactive sampling. Another sampling technique that uses a QUBO-format model is FMDA technology. FMDA replaces the QA part of FMQA with DA (Digital Annealer).

[0012] Here, the QUBO format stands for Quadratic Unconstrained Binary Optimization, which is a format that allows binary optimization without quadratic constraints. The QUBO format can be expressed, for example, as in the following formula. Note that x i = 0 or 1 for i = 1, ..., N. ij x i and x j is the coupling coefficient of i x i is the bias coefficient. The first term on the right hand side is a quadratic term and represents the interaction. The second term on the right hand side is a linear term and represents the bias action. The third term on the right hand side is a constant term. In the QUBO format, a good solution x is searched for to minimize E(x), which represents the energy, according to the following formula, as illustrated in Figure 1.

number

[0013] Here, we will provide an overview of FMDA as an example of a sampling technique that uses a QUBO format model. As an example, Figure 2 shows the rating values ​​of movies watched by many users. These rating values ​​are n-dimensional vectors. First, a QUBO format model is created to represent interactions from these rating values. The QUBO format model can be expressed as the following formula.

number

[0014] In the above formula, w0, w i , v i , and v j is the coefficient to be learned. This machine learning model is strong against sparse data sets. Since this model is in QUBO format, it is possible to automatically generate a model in QUBO format by learning FM.

[0015] Figure 3 is a flowchart showing the execution procedure of the sampling technique using a QUBO format model. As illustrated in Figure 3, first, a group of training data is generated by randomly generating training data (initial points) (step S1). The number of training data to be generated is determined by the user's settings.

[0016] Next, a solver is used to calculate an evaluation value of the initial point (step S2). The evaluation value is an index for determining whether the initial point and the recommendation point (described later) are good or not. Through the above steps, an initial learning data group consisting of a set of the initial point and the evaluation value is generated.

[0017] Next, a model in the QUBO format is created by generating an FM from the training data group (step S3). Since the FM is in the QUBO format, generating an FM is equivalent to generating a model in the QUBO format. Other machine learning models can also be used as long as they can generate a model in the QUBO format.

[0018] Next, the created QUBO format model is optimized using DA to generate a good solution (DA recommendation point) that provides the best evaluation value (step S4).

[0019] Next, the evaluation value of the DA recommendation point is calculated using a solver (step S5).

[0020] Next, the evaluation result (a set of recommendation points and evaluation values) is added as learning data to the learning data group (step S6).

[0021] Next, it is determined whether the number of iterations has reached an upper limit (step S7). If the determination in step S7 is "No", execution is resumed from step S3. Thereby, steps S3 to S6 are repeated until a termination condition is satisfied. If the determination in step S7 is "Yes", execution of the flowchart ends. Note that, as the termination condition, a condition such as a case where the amount of change in the objective function is less than a threshold for a certain period of time can be used.

[0022] The above procedure updates the training data set, enabling the optimal solution to be obtained.

[0023] In addition, although FMDA has been explained in Fig. 3, the DA part of FMDA may be replaced with QA, and other methods may be used as long as the Ising machine can solve QUBO. In addition to using an Ising machine dedicated to solving QUBO, the Ising model may be solved using software.

[0024] The sampling technique using the QUBO format model is a method of sequentially sampling recommendation points on the model, so there is a risk that the sampling area may be limited. In addition, with the sampling technique using the QUBO format model, the sampling performance depends on the training data set used for model generation. In addition, since FM is a second-order model, there is a possibility that the problem cannot be fully expressed. In addition, when using multiple recommendation methods, it is difficult to adjust the number of recommendations. For these reasons, the number of samplings must be increased in order to improve the search accuracy of the optimal solution.

[0025] Therefore, it is possible to improve the search efficiency by using a penalty method. The penalty method is a technique for finding an approximate solution while avoiding constraint violations by imposing a numerical penalty (deteriorating the objective function) when a constraint is violated in a problem with constraints. As an example, it is possible to use a 2way1hot constraint to generate an initial point. Figure 4 is a diagram for explaining the outline of the 2way1hot constraint. As shown in the example of Figure 4, in the 2way1hot constraint, x i and x j When expressing x as a matrix, only one state variable in each row is 1, and only one state variable in each column is 1. i and x j Set.

[0026] However, when the 2way1hot constraint is used, a solution that violates the 2way1hot constraint may occur during the solution search, which may reduce the efficiency of the solution search. As a result, the solution searched for may fall into a local solution. Therefore, in the following embodiment, an example will be described in which the number of samplings can be reduced while avoiding local solutions even when the 2way1hot constraint is applied. EXAMPLES

[0027] Fig. 5(a) is a block diagram illustrating an example of the overall configuration of an information processing device 100. As illustrated in Fig. 5(a), the information processing device 100 includes a storage unit 10, an initial point generation unit 20, an evaluation unit 30, an FMDA execution unit 40, a GA execution unit 50, a learning data update unit 60, an output unit 70, and the like.

[0028] Fig. 5(b) is a block diagram illustrating an example of a hardware configuration of the information processing device 100. As illustrated in Fig. 5(b), the information processing device 100 includes a CPU 101, a RAM 102, a storage device 103, an input device 104, a display device 105, and the like.

[0029] The CPU (Central Processing Unit) 101 is a central processing unit. The CPU 101 includes one or more cores. The RAM (Random Access Memory) 102 is a volatile memory that temporarily stores a program executed by the CPU 101, data processed by the CPU 101, and the like. The storage device 103 is a non-volatile storage device. For example, a ROM (Read Only Memory), a solid state drive (SSD) such as a flash memory, or a hard disk driven by a hard disk drive can be used as the storage device 103. The storage device 103 stores a calculation program. The input device 104 is an input device such as a keyboard or a mouse. The display device 105 is a display device such as an LCD (Liquid Crystal Display). The CPU 101 executes the calculation program to realize a storage unit 10, an initial point generation unit 20, an evaluation unit 30, an FMDA execution unit 40, a GA execution unit 50, a learning data update unit 60, an output unit 70, and the like. The storage unit 10, the initial point generation unit 20, the evaluation unit 30, the FMDA execution unit 40, the GA execution unit 50, the learning data update unit 60, the output unit 70, and the like may be implemented using hardware such as dedicated circuits.

[0030] Fig. 6 is a flowchart showing an example of the operation of the information processing device 100. As illustrated in Fig. 6, the initial point generating unit 20 generates an initial point of the learning data to generate a learning data group (step S11). The number of learning data to be generated is determined by a user setting.

[0031] Fig. 7 is a flowchart showing the details of step S11. As illustrated in Fig. 7, the initial point generation unit 20 randomly generates the number of initial points having permutation information (step S21). It is assumed that each permutation is different from each other. Next, the initial point generation unit 20 converts the initial points generated in step S21 into a bit array (step S22). After that, the flowchart in Fig. 7 ends.

[0032] FIG. 8 is a diagram showing an example of step S21 and step S22. As illustrated in the upper left diagram of FIG. 8, one initial point is generated in the form of a permutation. "i" is an index of a variable in the permutation. In this case, "j" is an index representing the type of the variable. In the example of the upper left diagram of FIG. 8, when "i" is arranged in order from 1 to 10, a permutation is generated in which "j" is arranged in order from 1 to 10. This permutation is converted into a bit matrix as shown in the right diagram of FIG. 8. In the example of FIG. 8, when i=j, it becomes "1", and when i≠j, it becomes "0". The obtained bit matrix is ​​converted into a bit array as shown in the lower left diagram.

[0033] FIG. 9 is a diagram showing another example of step S21 and step S22. As illustrated in the upper left diagram of FIG. 9, one initial point is generated in the form of a permutation. In the example of the upper left diagram of FIG. 8, when "i" is arranged in order from 1 to 10, a permutation is generated in which "j" is arranged in the order of "2, 1, 4, 3, 6, 5, 8, 7, 10, 9". This permutation is converted into a bit matrix as shown in the right diagram of FIG. 9. When (i, j)=(1, 2), (2, 1), (3, 4), (4, 3), (5, 6), (6, 5), (7, 8), (8, 7), (9, 10), (10, 9), it becomes "1", and otherwise it becomes "0". The obtained bit matrix is ​​converted into a bit array as shown in the lower left diagram.

[0034] The number of such initial points is generated according to a setting made by the user.

[0035] Referring again to FIG. 6, the evaluation unit 30 then uses a solver to calculate an evaluation value for each initial point (step S12). The evaluation unit 30 calculates an evaluation value for the bit array generated from the permutation. The obtained evaluation value is reflected in the evaluation value columns of FIG. 8 and FIG. 9. An initial training data group, which is a set of the initial point obtained in step S11 and the evaluation value calculated in step S12, is stored in the storage unit 10. Each training data group is a set of permutation information, bit array information, and an evaluation value.

[0036] Next, the FMDA execution unit 40 generates a DA recommendation point, and the GA execution unit 50 generates a GA recommendation point (step S13).

[0037] FIG. 10 is a flowchart showing the details of step S13. As illustrated in FIG. 10, the FMDA execution unit 40 generates a model in the QUBO format by generating an FM from a group of learning data stored in the storage unit 10 (step S31). The FMDA execution unit 40 generates an FM using a bit array. Since the FM is in the QUBO format, generating an FM is equivalent to generating a model in the QUBO format. Other machine learning models can also be used as long as they can generate a model in the QUBO format.

[0038] Next, the FMDA execution unit 40 calculates the coefficient of determination R 2 (Step S32) The coefficient of determination R 2 is an index of model accuracy, and the closer it is to 1, the better the accuracy of searching for a good solution with a high evaluation value. 2 can be calculated, for example, by the following formula:

number

number

number

[0039] Next, the FMDA execution unit 40 calculates the coefficient of determination R 2 It is determined whether or not the ratio is equal to or greater than a threshold value δ (step S33). The threshold value δ is preset by the user. An example of the threshold value δ will now be described. For example, when step S33 is executed for the first time, the threshold value δ is set to about 0.8. It is preferable to reduce the value of the threshold value δ when the DA recommendation is working effectively, and to increase the value of the threshold value δ when the DA recommendation is not working effectively. For example, whether or not the DA recommendation is working effectively can be determined by whether or not the ratio at which the DA recommendation is determined to be "Yes" in step S33 is equal to or greater than a threshold value.

[0040] If the answer in step S33 is "Yes," the FMDA execution unit 40 generates DA recommendation points for the number of DA setting recommendations by QUBO optimization using DA with 2way1hot constraints (step S34). The number of DA setting recommendations is set in advance by the user. The DA recommendation points are good solutions (recommendation points) with the best evaluation value. Alternatively, the DA recommendation points are good solutions (recommendation points) with evaluation values ​​equal to or greater than a threshold value. Alternatively, the DA recommendation points are good solutions (recommendation points) with evaluation values ​​up to a predetermined number of top positions. In DA with 2way1hot constraints, constraint conditions are utilized when selecting inversion bits, and in 2way1hot, a search can be performed that avoids constraint violations by inverting four bits simultaneously.

[0041] After that, the GA execution unit 50 sets the GA recommended number to the GA setting recommended number (step S35).

[0042] If the result of the determination in step S33 is "No," the GA execution unit 50 sets the GA recommendation number to (the GA setting recommendation number + the DA setting recommendation number) (step S36). The GA setting recommendation number is set in advance by the user. Note that the GA recommendation number does not have to be (the GA setting recommendation number + the DA setting recommendation number), and may be any number that is greater than the GA recommendation number.

[0043] After executing step S35 or step S36, the GA execution unit 50 selects parent solids from the learning data group stored in the storage unit 10 in a number equal to the number of GA recommendations (step S37). The method of selecting parent solids is not particularly limited, but for example, a number of parent solids exceeding the number of GA recommendations (tournament size N T ) and select the number of highly evaluated individuals recommended by the GA from among them (tournament selection). Alternatively, the number of highly evaluated individuals recommended by the GA may be selected from the training data set (elite selection). T is preset by the user.

[0044] Next, the GA execution unit 50 generates a number of child individuals (GA recommended points) recommended by the GA from the parent individuals by crossover and mutation of the sequential GA (step S38). In this case, the GA execution unit 50 uses the permutation information of each learning data.

[0045] FIG. 11(a) is a diagram illustrating crossover. For example, for parent individual A and parent individual B, one or more elements "j" of the same "i" are set as crossover points. Next, the crossover point of parent individual A is exchanged with the crossover point of parent individual B. Next, a crossover that does not collide with the one between the crossover points is determined. In the example of FIG. 11(a), a crossover that does not collide is marked with "*". Next, the exchange mapping is referenced and the remaining ones are determined so that no collision occurs. FIG. 11(b) is a diagram illustrating mutation. First, two "i"s are randomly selected. Next, the elements "j" of the two selected "i"s are exchanged. Note that the crossover probability and mutation probability are preset by the user.

[0046] Referring again to Fig. 10, the GA execution unit 50 converts the information on the permutation of the GA recommended points generated in step S38 into a bit array as described with reference to Figs. 8 and 9 (step S39).

[0047] Next, the GA executing unit 50 determines whether or not the recommendation point obtained in step S39 is a point that has already been searched (step S40).

[0048] If the result of step S40 is "No", the searched recommendation points are removed, and the number of removed points is set as the GA recommendation number (step S41). After that, the process is executed again from step S37. This makes it possible to generate GA recommendation points by removing the searched recommendation points. If the result of step S40 is "Yes", the flow chart in FIG. 10 is executed.

[0049] 6 again. Next, the evaluation unit 30 uses a solver to calculate the evaluation value of the recommendation point (step S14). The recommendation point here refers to the DA recommendation point and the GA recommendation point if step S36 is executed, and refers to the GA recommendation point if step S35 is executed.

[0050] Next, the learning data update unit 60 adds the evaluation result (a set of recommendation points and evaluation values) to the learning data groups as learning data (step S15). Each learning data group is a set of permutation information, bit array information, and evaluation values.

[0051] Next, the learning data update unit 60 determines whether or not the number of pieces of learning data in the learning data group exceeds an upper limit number (step S16). The upper limit number of pieces of learning data is preset by the user.

[0052] If the result of the determination in step S16 is "Yes," the learning data update unit 60 selects an upper limit of learning data in order of best evaluation value, and deletes learning data other than the selected learning data (step S17). Alternatively, the learning data update unit 60 may select learning data whose evaluation value is equal to or greater than a predetermined value, and delete learning data other than the selected learning data.

[0053] If step S16 is judged as "No" or after step S17 is executed, the FMDA execution unit 40 judges whether the number of iterations has reached the upper limit (step S18). The number of times step S18 is executed may be regarded as the number of iterations. The upper limit of the number of iterations is preset by the user.

[0054] If the determination in step S18 is "No", the process is executed again from step S 13. If the determination in step S18 is "Yes", the execution of the flow chart ends.

[0055] The output unit 70 outputs the result of the processing in Fig. 6. The output result is displayed, for example, by the display device 105. For example, the output unit 70 may output the contents of the learning data group, or may output learning data with a high evaluation value from the learning data group as a good answer.

[0056] Fig. 12 is a diagram summarizing the processing of this embodiment. As illustrated in Fig. 12, initial points are generated randomly in the form of permutations, and then the generated initial points are converted into a bit array, thereby converting them into a form that satisfies the 2way1hot constraint. In addition, an evaluation value is calculated for each learning data. A learning data set of the obtained permutations and evaluation values ​​is stored.

[0057] Next, a QUBO is generated using machine learning as shown below.

number

[0058] Next, the 2way1hot constraint is set when solving the DA, and the optimal value of the FM model (QUBO) that satisfies the 2way1hot constraint is searched for. As a result, the DA recommendation point satisfies the 2way1hot constraint.

[0059] On the other hand, the training data is treated as a population, and recommendation points are generated using sequential GA processing (selection, crossover, and mutation). Since the GA recommendation points are permutation information, they are converted to bit arrays after generation. By processing the individual representation of the permutation, the recommendation points satisfy the 2way1hot constraint.

[0060] According to this embodiment, the number of recommended DA settings and the number of recommended GA settings are determined according to the accuracy of the FM model generated from the learning data group. This makes it possible to achieve both high accuracy for obtaining a good solution and a reduction in the number of samplings.

[0061] For example, if the accuracy of the FM model generated from the training data is low, there is a risk that the accuracy of the search for a good solution using DA will be low. Therefore, the number of GA recommendations is increased without performing DA recommendations. By using GA, the training data can be treated as a population and recommendation points can be generated using GA processing. This makes it possible to sample a wide range of areas where the evaluation value is likely to improve. In this case, DA recommendations are not performed with low accuracy, and as a result, a good solution can be obtained with high accuracy with a small number of samplings.

[0062] For example, if the accuracy of the FM model generated from the training data group is high, a good answer on the FM model can be generated as a recommendation point by DA. In this case, areas with high evaluation values ​​can be actively sampled. This makes it possible to reduce the number of samplings required to obtain a good answer.

[0063] As described above, according to this embodiment, it is possible to achieve both high accuracy for obtaining a good solution and a reduction in the number of sampling times.

[0064] In addition, in this embodiment, by generating initial points in the form of permutations, a group of training data in a format that satisfies the 2way1hot constraint can be generated. By setting a constraint that satisfies the 2way1hot constraint during DA optimization, the 2way1hot constraint can be satisfied. Furthermore, by using an ordered GA during GA optimization, a group of training data in a format that satisfies the 2way1hot constraint can be generated. As a result, the 2way1hot constraint can be satisfied, and it is possible to prevent the optimization from falling into a local solution during optimization.

[0065] In addition, when the number of data in the training data group exceeds an upper limit, the training data group is updated according to the evaluation value of each piece of training data contained in the training data group, thereby improving the accuracy of the modeling used for sampling.

[0066] (Simulation results) Below, a description will be given of the results of a simulation in which a hypothetical problem was set and the computation process according to the above embodiment was performed. FIG. 13 is a diagram illustrating a test problem. In this test problem, the score is the deviation between the target permutation and the solution. In the example of FIG. 13, target values ​​are set for four indexes v0, v1, v2, and v3. Of the evaluation points v0, v1, v2, and v3 of a certain solution, three are different from the target value. Since the number of these is the deviation, in the example of FIG. 13, the score value E is 3.

[0067] For this test problem, sampling was carried out using two methods: FMDA using the penalty method, and the method of this embodiment. The common settings were 25 variables and 625 bits used. The number of initial points was set to 150, making the number of initial points smaller than the number of bits used. In FMDA using the penalty method, the following formula was applied to the test problem in FIG. 13. Nv is the number of variables, and x ij ∈{0,1}. α=1 / Nv 2 Let β = 1 and C = Nv. The penalty term has a positive value in case of constraint violation.

number

[0068] FIG. 14 is a diagram showing the best value found by the search. The vertical axis represents the energy E in the QUBO format. Therefore, the smaller the value on the vertical axis, the better the result. The number of analyses on the horizontal axis represents the number of iterations. As shown in FIG. 14, in this embodiment, it can be seen that the optimal solution can be found with a small number of analyses.

[0069] Fig. 15(a) shows the detailed results of the FM-DA method alone. In Fig. 15(a), the evaluation value (energy E) of each solution obtained is plotted. As shown in Fig. 15(a), it can be seen that FM-DA converges to a local solution. This is believed to be because many points that violate constraints occur in the penalty method.

[0070] In contrast, Fig. 15(b) is a diagram showing the details of the results of the method of this embodiment. As shown in Fig. 15(b), in this embodiment, optimization can be searched for with a small number of analyses. This is believed to be because constraint violations during the search can be avoided.

[0071] In the above example, the initial point generating unit 20 is an example of an initial point generating unit that generates multiple types of permutations as the initial points of each learning data of the learning data group. When the FMDA executing unit 40 and the GA executing unit 50 search for a first recommendation point, for each learning data, the index of the variable in the permutation is i, and the index representing the type of the variable is j, the value corresponding to the permutation in the matrix of i and j is set to 1, and the others are set to 0, and the matrix is ​​converted to a bit array of i and j, and the first recommendation point is searched for under the constraint that only one variable in each row is 1 and only one variable in each column is 1 in the matrix. When the learning data updating unit 60 searches for a second recommendation point, the learning data group is updated according to the evaluation value of each learning data when the number of learning data in the learning data group exceeds the upper limit.

[0072] Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims. (Appendix 1) In a case where a calculation process is repeatedly performed in which an Ising model is created based on a learning data group, a first set number of first recommendation points are searched for in the Ising model, a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm, and the first recommendation points and a first evaluation value of the first recommendation points, and the second recommendation points and a second evaluation value of the second recommendation points are added to the learning data group as learning data, On the computer, generating a plurality of types of permutations as initial points of each learning data of the learning data group; When searching for the first recommendation point, for each of the learning data, an index of a variable in the permutation is set to i, and an index expressing a type of the variable is set to j, a value corresponding to the permutation in a matrix of i and j is set to 1, and the others are set to 0, and the matrix is ​​converted into a bit array of i and j, and then a process of searching for the first recommendation point under the constraint that only one variable in each row of the matrix is ​​set to 1, and only one variable in each column is set to 1; and applying the genetic algorithm to the format of the permutation when searching for the second recommendation point. (Appendix 2) The computer includes: 2. The arithmetic program according to claim 1, further comprising: a process of searching for another second recommendation point when the found second recommendation point is included in the learning data group. (Appendix 3) The computer includes: 2. The arithmetic program according to claim 1, further comprising a program for executing a process of determining the first set number and the second set number according to an accuracy of the Ising model. (Appendix 4) The computer includes: 4. The arithmetic program according to claim 3, further comprising: a process of increasing a number of the second recommendation points without searching for the first recommendation points, and searching for the second recommendation points, when the accuracy of the Ising model is less than a threshold. (Appendix 5) The computer includes: 4. The arithmetic program according to claim 3, further comprising: when an accuracy of the Ising model is less than a threshold, the arithmetic program executes a process of setting the sum of the first set number and the second set number as the second set number without searching for the first recommendation point, and searching for the second recommendation point. (Appendix 6) The computer includes: The arithmetic program according to claim 3, characterized in that, when the accuracy of the Ising model is equal to or greater than a threshold, a process of searching for the first recommendation points and the second recommendation points is executed without changing the first set number and the second set number. (Appendix 7) An upper limit is set on the number of the learning data in the learning data group, The computer includes: 2. The arithmetic program according to claim 1, further comprising: a process for updating the learning data group in accordance with an evaluation value of each of the learning data when the number of the learning data in the learning data group exceeds the upper limit. (Appendix 8) The computer includes: 8. The arithmetic program according to claim 7, further comprising: a process for executing, when the number of the learning data in the learning data group exceeds the upper limit, a process for leaving the learning data up to the upper limit in the learning data group in order of highest evaluation value and deleting the other learning data. (Appendix 9) In a case where a calculation process is repeatedly performed in which an Ising model is created based on a learning data group, a first set number of first recommendation points are searched for in the Ising model, a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm, and the first recommendation points and a first evaluation value of the first recommendation points, and the second recommendation points and a second evaluation value of the second recommendation points are added to the learning data group as learning data, The computer generating a plurality of types of permutations as initial points of each learning data of the learning data group; When searching for the first recommendation point, for each of the learning data, an index of a variable in the permutation is set to i, and an index expressing a type of the variable is set to j, a value corresponding to the permutation in a matrix of i and j is set to 1, and the others are set to 0, and the matrix is ​​converted into a bit array of i and j, and then a process of searching for the first recommendation point under the constraint that only one variable in each row of the matrix is ​​set to 1, and only one variable in each column is set to 1; and applying the genetic algorithm to the format of the permutation when searching for the second recommendation point. (Appendix 10) The computer, The calculation method according to claim 9, further comprising the step of: executing a process of searching for another second recommendation point when the found second recommendation point is included in the learning data group. (Appendix 11) The computer, 10. The calculation method according to claim 9, further comprising executing a process of determining the first set number and the second set number according to accuracy of the Ising model. (Appendix 12) The computer, The calculation method according to claim 11, characterized in that, when the accuracy of the Ising model is less than a threshold, a process of searching for the second recommendation points by increasing the number of second recommendation points without searching for the first recommendation points is executed. (Appendix 13) The computer, The calculation method according to claim 11, characterized in that, when the accuracy of the Ising model is less than a threshold, a process is executed in which the first recommendation point is not searched for, but the sum of the first set number and the second set number is set as the second set number to search for the second recommendation point. (Appendix 14) The computer, The calculation method according to claim 11, characterized in that, when the accuracy of the Ising model is equal to or greater than a threshold, a process of searching for the first recommendation points and the second recommendation points is executed without changing the first set number and the second set number. (Appendix 15) An upper limit is set on the number of the learning data in the learning data group, The computer, 10. The calculation method according to claim 9, characterized in that, when the number of the learning data in the learning data group exceeds the upper limit, a process of updating the learning data group is executed according to an evaluation value of each of the learning data. (Appendix 16) The computer, 16. The computing method according to claim 15, characterized in that, when the number of the learning data in the learning data group exceeds the upper limit, a process is executed in which the learning data up to the upper limit is left in the learning data group in order of highest evaluation value, and the other learning data is deleted. (Appendix 17) a computation process that repeatedly executes the following computation process: creating an Ising model based on a learning data group, searching for a first set number of first recommendation points for the Ising model, searching for a second set number of second recommendation points for the learning data group by a genetic algorithm, and adding the first recommendation points and first evaluation values ​​of the first recommendation points, and the second recommendation points and second evaluation values ​​of the second recommendation points to the learning data group as learning data; an initial point generation unit that generates a plurality of types of permutations as initial points of each piece of learning data of the learning data group; an execution unit that, when searching for the first recommendation point, for each of the learning data, an index of a variable in the permutation is set to i and an index expressing a type of the variable is set to j, a value corresponding to the permutation in a matrix of i and j is set to 1 and others are set to 0, and the matrix is ​​converted into a bit array of i and j, and then the first recommendation point is searched for under the constraint that only one variable in each row in the matrix is ​​set to 1 and only one variable in each column is set to 1 in the matrix, and when searching for the second recommendation point, the information processing device applies the genetic algorithm to the format of the permutation. (Appendix 18) The information processing device according to claim 17, wherein the execution unit executes a process of searching for another of the second recommendation points when the searched-for second recommendation point is included in the learning data group. (Appendix 19) The information processing device according to claim 17, wherein the execution unit determines the first set number and the second set number according to accuracy of the Ising model. (Appendix 20) The information processing device according to claim 19, wherein when the accuracy of the Ising model is less than a threshold, the execution unit increases the number of the second recommendation points without searching for the first recommendation points and searches for the second recommendation points. (Appendix 21) The information processing device described in Addendum 19, wherein when an accuracy of the Ising model is less than a threshold, the execution unit does not search for the first recommendation point, but sets the sum of the first set number and the second set number as the second set number and searches for the second recommendation point. (Appendix 22) The information processing device described in Appendix 19, wherein the execution unit searches for the first recommendation points and the second recommendation points without changing the first set number and the second set number when the accuracy of the Ising model is equal to or higher than a threshold. (Appendix 23) An upper limit is set on the number of the learning data in the learning data group, 18. The information processing device according to claim 17, further comprising an update unit that updates the learning data group according to an evaluation value of each of the learning data when the number of the learning data in the learning data group exceeds the upper limit. (Appendix 24) 24. The information processing device according to claim 23, wherein when the number of the learning data in the learning data group exceeds the upper limit, the update unit leaves the learning data up to the upper limit in the learning data group in order of highest evaluation value and deletes the other learning data. [Explanation of symbols]

[0073] 10 Storage area 20 Initial point generator 30 Evaluation Section 40 FMDA Executive Division 50 GA Executive Department 60 Learning Data Update Unit 70 Output section 100 Information processing device 101 CPU 102 RAM 103 Storage device 104 Input Devices 105 Display device

Claims

1. a first set number of first recommendation points are searched for in the Ising model based on a learning data group; a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm; and the first recommendation points and first evaluation values ​​of the first recommendation points, and the second recommendation points and second evaluation values ​​of the second recommendation points are added to the learning data group as learning data, On the computer, generating a plurality of types of permutations as initial points of each learning data of the learning data group; When searching for the first recommendation point, a process of searching for the first recommendation point by setting a constraint that, for each of the learning data, an index of a variable in the permutation is i, and an index expressing a type of the variable is j, a value corresponding to the permutation in a matrix of i and j is set to 1, and others are set to 0, and the matrix is ​​converted into a bit array of i and j, and only one of the variables in each row in the matrix is ​​set to 1, and only one of the variables in each column is set to 1; and applying the genetic algorithm to the format of the permutation when searching for the second recommendation point.

2. The computer includes:

2. The arithmetic program according to claim 1, further comprising: a process for searching for another second recommendation point when the found second recommendation point is included in the learning data set.

3. The computer includes: The computing program according to claim 1 , further comprising a step of determining the first set number and the second set number in accordance with an accuracy of the Ising model.

4. The computer includes:

4. The computer-readable medium according to claim 3, further comprising: a program for executing a process of searching for the second recommendation points by increasing the number of the second recommendation points without searching for the first recommendation points, when the accuracy of the Ising model is less than a threshold value.

5. The computer includes:

4. The arithmetic program according to claim 3, further comprising: when an accuracy of the Ising model is less than a threshold, a process of setting a sum of the first set number and the second set number as the second set number without searching for the first recommendation point and searching for the second recommendation point is executed.

6. The computer includes:

4. The computer-readable storage medium according to claim 3, further comprising: a program for executing a process of searching for the first recommendation points and the second recommendation points without changing the first set number and the second set number when the accuracy of the Ising model is equal to or greater than a threshold.

7. An upper limit is set on the number of the learning data in the learning data group, The computer includes:

2. The computing program according to claim 1, further comprising: a process for updating the learning data group in accordance with an evaluation value of each of the learning data when the number of the learning data in the learning data group exceeds the upper limit.

8. The computer includes:

8. The computing program according to claim 7, further comprising: a program for executing, when the number of the learning data in the learning data group exceeds the upper limit, a process of leaving the learning data up to the upper limit in the learning data group in order of highest evaluation value and deleting the other learning data.

9. a first set number of first recommendation points are searched for in the Ising model based on a learning data group; a second set number of second recommendation points are searched for in the learning data group by a genetic algorithm; and the first recommendation points and first evaluation values ​​of the first recommendation points, and the second recommendation points and second evaluation values ​​of the second recommendation points are added to the learning data group as learning data, The computer generating a plurality of types of permutations as initial points of each learning data of the learning data group; When searching for the first recommendation point, a process of searching for the first recommendation point by setting a constraint that, for each of the learning data, an index of a variable in the permutation is i, and an index expressing a type of the variable is j, a value corresponding to the permutation in a matrix of i and j is set to 1, and others are set to 0, and the matrix is ​​converted into a bit array of i and j, and only one of the variables in each row in the matrix is ​​set to 1, and only one of the variables in each column is set to 1; and applying the genetic algorithm to the permutation format when searching for the second recommendation point.

10. a computation process that repeatedly executes a computation process of creating an Ising model based on a learning data group, searching for a first set number of first recommendation points for the Ising model, searching for a second set number of second recommendation points for the learning data group by a genetic algorithm, and adding the first recommendation points and first evaluation values ​​of the first recommendation points, and the second recommendation points and second evaluation values ​​of the second recommendation points, respectively, as learning data to the learning data group, an initial point generation unit that generates a plurality of types of permutations as initial points of each piece of learning data of the learning data group; an execution unit that, when searching for the first recommendation point, for each of the learning data, an index of a variable in the permutation is set to i and an index expressing a type of the variable is set to j, a value corresponding to the permutation in a matrix of i and j is set to 1 and others are set to 0, and the matrix is ​​converted into a bit array of i and j, and then the first recommendation point is searched for under a constraint that only one of the variables in each row in the matrix is ​​set to 1 and only one of the variables in each column is set to 1 in the matrix, and when searching for the second recommendation point, applies the genetic algorithm to the format of the permutation.

Citation Information

Patent Citations

  • Learning data refining method and computer system

    JP2021033544A

  • Electrocardiographic abnormality detection network training method, and electrocardiographic abnormality early warning method and device

    JP2022045870A

  • Computer system, inference method, and program

    JP2022190752A