Random number generation device, design support device, random number generation method and program
The random number generation device optimizes random number sets using an evaluation function to enforce constraints, addressing inefficiencies in conventional methods and facilitating the development of novel substances with reduced lead times.
Patent Information
- Application Number
- JP2025534254
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-02-05
- Filing Date
- 2025-01-30
- Publication Date
- 2025-10-01
- Estimated Expiration
- 2045-01-30
AI Technical Summary
Conventional random number generation techniques are inefficient, requiring numerous attempts to generate random numbers that satisfy strict constraints, especially when generating large numbers of random numbers under stringent conditions.
A random number generation device and method that optimizes a set of random numbers using an evaluation function to enforce constraints, including nonlinear constraints, and determines whether the optimized set meets these conditions, allowing for efficient generation of random numbers that satisfy both individual and relational constraints.
The proposed method enables the efficient generation of random number sets that meet specified constraints, improving search efficiency and enabling the development of novel substances with reduced lead times.
Smart Images

Figure 0007747250000002 
Figure 0007747250000003 
Figure 0007747250000004
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a random number generation device, a design support device, a random number generation method, and a program. [Background technology]
[0002] There are known techniques for generating random numbers that satisfy predetermined conditions. For example, Patent Document 1 discloses a random number generation device in which, when the randomness of a random number generated by a random number generation means does not satisfy a predetermined condition, a random number generation control means updates a parameter for random number generation and causes the random number generation means to regenerate a random number. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2005 / 124537 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in conventional techniques, there is room for improvement in the efficiency of random number generation. For example, in conventional techniques, it is necessary to repeatedly attempt to generate random numbers until a random number that satisfies a certain condition is generated. Therefore, in order to generate a large number of random numbers under strict conditions, the number of attempts to generate random numbers becomes enormous, which is inefficient.
[0005] One aspect of the present disclosure aims to efficiently generate a set of random numbers that satisfies constraints. [Means for solving the problem]
[0006] The present disclosure has the following configuration.
[0007] [1] A generator configured to generate a set of random numbers including a plurality of random numbers; an optimization unit configured to optimize the random number set based on an evaluation function indicating a predetermined constraint condition; a determination unit configured to determine whether the optimized random number set satisfies the constraints; A random number generating device comprising:
[0008] [2] The random number generation device according to [1] above, the constraints include nonlinear constraints; Random number generator.
[0009] [3] The random number generation device according to [2] above, the constraint condition includes a first condition regarding each of the random numbers included in the set of random numbers and a second condition regarding a relationship between the random numbers; Random number generator.
[0010] [4] The random number generation device according to [3] above, the first condition includes an upper limit value and a lower limit value of the random number, the second condition includes a sum of the plurality of random numbers; Random number generator.
[0011] [5] An acquisition unit configured to acquire a plurality of random number sets generated by the random number generator according to any one of [1] to [4] above as a compounding ratio of substances; a prediction unit configured to predict a predetermined physical property value based on the blending ratio; A search unit configured to search for the blending ratio that satisfies a target condition based on the predicted result of the physical property value; A design support device comprising:
[0012] [6] The computer generating a set of random numbers including a plurality of random numbers; a procedure for optimizing the set of random numbers based on an evaluation function that indicates predetermined constraint conditions; a step of determining whether the optimized random number set satisfies the constraints; A random number generation method that performs
[0013] [7] To the computer, generating a set of random numbers including a plurality of random numbers; a procedure for optimizing the set of random numbers based on an evaluation function that indicates predetermined constraint conditions; a step of determining whether the optimized random number set satisfies the constraints; A program to execute. [Effects of the Invention]
[0014] According to one aspect of the present disclosure, a set of random numbers that satisfies constraints can be efficiently generated. [Brief explanation of the drawings]
[0015] [Figure 1] FIG. 1 is a block diagram showing an example of the overall configuration of a design support system. [Figure 2] FIG. 2 is a block diagram showing an example of the hardware configuration of a computer. [Figure 3] FIG. 3 is a block diagram illustrating an example of a functional configuration of the design support system. [Figure 4] FIG. 4 is a diagram illustrating an example of the evaluation function. [Figure 5] FIG. 5 is a flowchart showing an example of the random number generation process. [Figure 6] FIG. 6 is a flowchart showing an example of the blending search process. [Figure 7] FIG. 7 is a diagram showing an example of the evaluation result. DETAILED DESCRIPTION OF THE INVENTION
[0016] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. In this specification and drawings, components having substantially the same functional configurations are designated by the same reference numerals, and redundant description will be omitted.
[0017] [Embodiment] One embodiment of the present disclosure is a design support system that supports the design of a substance to be manufactured using multiple substances. Hereinafter, the substance to be designed will be referred to as a "target substance," and the substances used to manufacture the target substance will be referred to as "material substances."
[0018] Machine learning-based formulation suggestion technology is used to support the design of new substances. In this technology, specific physical properties are predicted for candidate formulations of target substances, and formulations whose predicted results satisfy target conditions are searched for, thereby solving the inverse problem of formulations and physical properties. In this search, a set of random numbers, in which the formulation ratios of each material substance are generated by random numbers, is used as the formulation to be searched for. To efficiently search for formulations of target substances, a set of random numbers that is small in bias and satisfies given constraints is required. In this specification, "random number" means a statistically random number. "Random number set" means a set of a predetermined number of random numbers.
[0019] In machine learning-based formulation suggestion technology, the random number set generated as a candidate formulation for a target substance (hereinafter also referred to as a "candidate formulation") must satisfy the following properties:
[0020] The first property is that the random number sets are homogeneous. It is desirable that the random number sets are uniformly distributed throughout the entire search area. If the random number sets are concentrated in a certain area, there will be areas that are not searched or that are unlikely to be included in the candidate combinations, increasing the possibility that the optimal candidate combination cannot be found.
[0021] The second property is that the relationship between the random numbers contained in the random number set must satisfy a constraint. In a typical mixture ratio problem, the sum of the mixture ratios of the ingredients must be 1 (or 100). For example, when mixing ingredients A, B, and C, the mixture ratio must be A:B:C = 0.1:0.5:0.4, and the sum of the mixture ratios must be 1.
[0022] The third property is that each random number constituting the random number set must satisfy a constraint. Imposing constraints on each compounding ratio of materials is important from the viewpoint of generating a practical random number set and improving search efficiency.
[0023] Generating a practical random number set means, for example, generating a random number set that imposes constraints on the compounding ratio of a specific substance when the compounding ratio of that substance needs to be kept within a specific range due to issues such as handling or price. Improving the efficiency of a search means, for example, narrowing the search range by imposing constraints on the compounding ratio of materials, with reference to past search results. Generating a random number set within a narrowed search range has the advantage of being able to obtain the same concentration of random number sets as before even if the number of random numbers generated is reduced, or increasing the possibility of obtaining candidate compoundings that exhibit better physical properties.
[0024] The present embodiment aims to efficiently generate a set of random numbers that satisfies the constraints. Conventional techniques require repeated attempts to generate random numbers until a set of random numbers that satisfies the constraints is generated, which is inefficient. In particular, under strict constraints, the probability that the generated set of random numbers will not satisfy the constraints increases, and a large amount of calculation is required to generate a predetermined number of sets of random numbers.
[0025] In one aspect, this embodiment allows for efficient generation of random number sets that satisfy constraints. In another aspect, this embodiment allows for efficient generation of candidate combinations, thereby enabling the development of novel substances with short lead times.
[0026] <Overall structure> The overall configuration of a design support system according to this embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of the overall configuration of a design support system.
[0027] 1, the design support system 1000 includes a random number generation device 10, a design support device 20, and a terminal device 30. The random number generation device 10, the design support device 20, and the terminal device 30 are connected to each other so as to be able to communicate data with each other via a communication network N such as a LAN (Local Area Network) or the Internet.
[0028] The random number generation device 10 is an example of an information processing device such as a personal computer, workstation, or server that generates a random number set including a plurality of random numbers. The random number generation device 10 obtains constraint conditions that the random number set must satisfy, and generates a random number set that satisfies the constraint conditions. The constraint conditions may include a condition regarding each random number included in the random number set (an example of a first condition) and a condition regarding the relationship between the random numbers (an example of a second condition).
[0029] The set of random numbers generated by the random number generation device 10 can be used as the compounding ratio of ingredients used to manufacture a target substance. In this case, the constraints may include, for example, a first condition indicating upper and lower limit values for the compounding ratio of each ingredient, and a second condition indicating that the sum of the compounding ratios of the ingredients must be a fixed value (for example, 1 or 100). The constraints are not limited to these, and any conditions may be determined depending on the design conditions of the target substance.
[0030] The design support device 20 is an example of an information processing device such as a personal computer, workstation, or server that searches for a composition of target substances that satisfies target conditions. The composition of the target substance includes the composition ratio of the raw materials used to manufacture the target substance. The design support device 20 acquires a set of random numbers generated by the random number generator 10 as candidate compositions. The design support device 20 predicts predetermined physical property values based on the candidate compositions, and searches for candidate compositions whose predicted results satisfy the target conditions.
[0031] The terminal device 30 is an example of an information processing terminal such as a personal computer, smartphone, or tablet terminal operated by a user of the design support system 1000. The terminal device 30 transmits design conditions specified by the user to the design support device 20. The terminal device 30 receives the search results of candidate formulations from the design support device 20 and presents them to the user.
[0032] The overall configuration of the design support system 1000 shown in FIG. 1 is one example, and various system configuration examples are possible depending on the application and purpose. For example, the design support system 1000 may include multiple units of one or more of the random number generation device 10, the design support device 20, and the terminal device 30. For example, the random number generation device 10 or the design support device 20 may be realized by multiple computers, or may be realized as a cloud computing service. For example, the random number generation device 10 and the design support device 20 may be realized by a standalone computer. The classification of devices such as the random number generation device 10, the design support device 20, and the terminal device 30 shown in FIG. 1 is one example.
[0033] <Hardware configuration> The hardware configuration of a design support system 1000 in this embodiment will be described with reference to Fig. 2. The random number generation device 10, design support device 20, and terminal device 30 included in the design support system 1000 are realized by, for example, a computer. Fig. 2 is a block diagram showing an example of the hardware configuration of a computer.
[0034] 2, the computer 500 includes a CPU (Central Processing Unit) 501, a ROM (Read Only Memory) 502, a RAM (Random Access Memory) 503, a HDD (Hard Disk Drive) 504, an input device 505, a display device 506, a communication I / F (Interface) 507, and an external I / F 508. The CPU 501, the ROM 502, and the RAM 503 form a so-called computer. The hardware components of the computer 500 are connected to each other via a bus line 509. The input device 505 and the display device 506 may be connected to the external I / F 508 for use.
[0035] The CPU 501 is a computing device that controls the entire computer 500 and realizes its functions by reading programs and data from a storage device such as the ROM 502 or HDD 504 onto the RAM 503 and executing the processes.
[0036] The ROM 502 is an example of a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The ROM 502 functions as a main storage device that stores various programs, data, etc. required for the CPU 501 to execute various programs installed in the HDD 504. Specifically, the ROM 502 stores boot programs such as a Basic Input / Output System (BIOS) and an Extensible Firmware Interface (EFI) that are executed when the computer 500 starts up, as well as data such as OS (Operating System) settings and network settings.
[0037] The RAM 503 is an example of a volatile semiconductor memory (storage device) in which programs and data are erased when the power is turned off. The RAM 503 is, for example, a dynamic random access memory (DRAM) or a static random access memory (SRAM). The RAM 503 provides a working area in which various programs installed in the HDD 504 are expanded when executed by the CPU 501.
[0038] The HDD 504 is an example of a non-volatile storage device that stores programs and data. The programs and data stored in the HDD 504 include an OS, which is basic software that controls the entire computer 500, and applications that provide various functions on the OS. Note that the computer 500 may use a storage device that uses flash memory as a storage medium (e.g., an SSD (Solid State Drive)) instead of the HDD 504.
[0039] The input device 505 includes a touch panel, operation keys and buttons, a keyboard and mouse, a microphone for inputting sound data such as voice, and the like, which are used by the user to input various signals.
[0040] The display device 506 is composed of a display such as a liquid crystal display or organic EL (Electro-Luminescence) display for displaying a screen, a speaker for outputting sound data such as voice, and the like.
[0041] The communication I / F 507 is an interface that connects to the communication network N and enables the computer 500 to perform data communication.
[0042] The external I / F 508 is an interface with external devices, such as a drive device 510.
[0043] The drive device 510 is a device for loading a recording medium 511. The recording medium 511 here includes media that record information optically, electrically, or magnetically, such as a CD-ROM, a flexible disk, or a magneto-optical disk. The recording medium 511 may also include semiconductor memories that record information electrically, such as ROMs and flash memories. This allows the computer 500 to read from and / or write to the recording medium 511 via the external I / F 508.
[0044] The various programs to be installed in the HDD 504 are installed, for example, by setting the distributed recording medium 511 in a drive device 510 connected to the external I / F 508 and reading out the various programs recorded on the recording medium 511 by the drive device 510. Alternatively, the various programs to be installed in the HDD 504 may be installed by being downloaded from the communication network N or another network different from the communication network N via the communication I / F 507.
[0045] <Functional configuration> The functional configuration of the design support system 1000 in this embodiment will be described with reference to Fig. 3. Fig. 3 is a block diagram showing an example of the functional configuration of the design support system.
[0046] <Random Number Generator> As shown in FIG. 3, the random number generation device 10 includes a condition acquisition unit 101, a generation unit 102, an optimization unit 103, a determination unit 104, a random number storage unit 105, and a random number output unit 106.
[0047] The condition acquisition unit 101, the generation unit 102, the optimization unit 103, the judgment unit 104, and the random number output unit 106 are realized by the processing that the CPU 501 executes by the program loaded from the HDD 504 to the RAM 503 shown in FIG.
[0048] The random number storage unit 105 is realized by the HDD 504 shown in FIG.
[0049] The condition acquisition unit 101 acquires constraint conditions that the random number set must satisfy. The condition acquisition unit 101 may acquire generation conditions related to the number of random numbers to be generated. The generation conditions may include the number of random number sets to be generated (hereinafter also referred to as the "target number") and the number of random numbers included in the random number set. The condition acquisition unit 101 may receive information indicating the generation conditions and constraint conditions from the terminal device 30. The condition acquisition unit 101 may accept input of information indicating the generation conditions and constraint conditions via the input device 505 of the random number generation device 10.
[0050] The generation unit 102 generates a random number set including a plurality of random numbers based on the generation conditions acquired by the condition acquisition unit 101. Specifically, the generation unit 102 generates a random number set including the number of random numbers indicated in the generation conditions. The generation unit 102 may generate natural random numbers using a random number generator, or may calculate pseudo-random numbers according to a predetermined algorithm. When calculating pseudo-random numbers, the generation unit 102 may generate uniform random numbers that follow a uniform distribution, or may generate random numbers that follow an arbitrary distribution such as a normal distribution.
[0051] The optimization unit 103 optimizes the set of random numbers generated by the generation unit 102 based on an evaluation function indicating the constraint conditions acquired by the condition acquisition unit 101. The optimization method is preferably a method that can handle nonlinear constraints. Examples of optimization methods that can handle nonlinear constraints include the Nelder-Mead method and the Truncated Newton method (TNC).
[0052] (Evaluation function) The evaluation function may be, for example, a function shown in equation (1).
[0053]
number
[0054] However, rand i is the i-th random number, and MaxLimit i rand i is the upper limit of MinLimit i rand i is the lower limit of
[0055] The first term in equation (1) is the random number rand i is the upper limit MaxLimit i If it exceeds the random number rand i is the lower limit MinLimit i The second term in equation (1) is the random number rand. i This indicates that a linear penalty is imposed when the sum of
[0056] The optimization unit 103 optimizes each random number so as to minimize the evaluation function shown in equation (1). The optimization unit 103 terminates the optimization calculation when a predetermined convergence condition is satisfied. As an example, the convergence condition may be when the minimum value of the evaluation function is no longer updated. As another example, the convergence condition may be when the random number set has been updated a predetermined number of times.
[0057] FIG. 4 is a diagram showing an example of an evaluation function. In FIG. 4, a function corresponding to the first term of equation (1) is shown. In FIG. 4, the dashed line indicates the random number rand i is the lower limit MinLimit i The dashed line indicates the state where the random number rand i is the upper limit MaxLimit i The solid line indicates the random number rand i The evaluation function shown in Figure 4 is a function that indicates the penalty depending on the value of the random number rand i This indicates that when is within the range that satisfies the constraints, the penalty is 0, and that a linear penalty is imposed as the value deviates from the range that satisfies the constraints.
[0058] Although Figure 4 shows an evaluation function that imposes a linear penalty, the evaluation function may also impose a nonlinear penalty. For example, a nonlinear penalty can be imposed by raising the first term of equation (1) to the x-th power.
[0059] The first term in equation (1) will have the same value as long as the random numbers are within a range that satisfies the constraints. Therefore, the optimal solution is not limited to one but has a range. If there is one optimal solution, there will be one set of random numbers obtained after optimization. On the other hand, if the optimal solution has a range, the set of random numbers obtained after optimization will also have a range, and multiple sets of random numbers can be generated.
[0060] The determination unit 104 determines whether the random number set optimized by the optimization unit 103 satisfies the constraint conditions acquired by the condition acquisition unit 101. The determination unit 104 discards the random number set determined not to satisfy the constraint conditions, and outputs the random number set determined to satisfy the constraint conditions.
[0061] Random number sets that are determined to satisfy the constraint conditions by the determination unit 104 are stored in the random number storage unit 105. The random number storage unit 105 is configured to be able to store at least the target number of random number sets specified in the generation conditions.
[0062] The random number output unit 106 outputs a set of random numbers of the target number read from the random number storage unit 105. The random number output unit 106 may transmit the set of random numbers to the design support device 20 in response to a request from the design support device 20. The random number output unit 106 may display the set of random numbers on the display device 506 of the random number generation device 10.
[0063] ≪Design support device≫ As shown in FIG. 3, the design support device 20 includes a request unit 201, an acquisition unit 202, a combination storage unit 203, a prediction unit 204, a search unit 205, and a result output unit 206.
[0064] The request unit 201, acquisition unit 202, prediction unit 204, search unit 205, and result output unit 206 are realized by processing that is executed by the CPU 501 in accordance with a program loaded from the HDD 504 onto the RAM 503 shown in FIG.
[0065] The combination storage unit 203 is realized by the HDD 504 shown in FIG.
[0066] The request unit 201 requests the random number generation device 10 to generate a random number set. The request unit 201 transmits a generation request including generation conditions and constraint conditions to the random number generation device 10. The request unit 201 may generate the generation conditions and constraint conditions based on design conditions of the target substance. The design conditions may be received from the terminal device 30, or may be predetermined and stored in a storage device such as the HDD 504.
[0067] The acquiring unit 202 acquires a plurality of random number sets generated by the random number generation device 10. The acquiring unit 202 may read out the random number sets from the random number storage unit 105 of the random number generation device 10. The acquiring unit 202 may receive the random number sets transmitted by the random number generation device 10.
[0068] The combination storage unit 203 stores the random number sets acquired by the acquisition unit 202 as candidate combinations. The candidate combinations stored in the combination storage unit 203 may include random number sets that have been generated in the past.
[0069] The prediction unit 204 predicts a predetermined physical property value based on a candidate formulation read from the formulation storage unit 203. The prediction unit 204 may predict a physical property value by inputting the candidate formulation into a trained prediction model. The prediction unit 204 may predict multiple physical property values. The prediction unit 204 outputs a prediction result of the physical property value. The prediction result includes a predicted value of the predetermined physical property value.
[0070] The search unit 205 searches for candidate compositions that satisfy the target conditions based on the prediction results by the prediction unit 204. The target conditions may be conditions that indicate a range of target physical property values. The target conditions may be received from the terminal device 30, or may be predetermined and stored in a storage device such as the HDD 504. The search unit 205 outputs search results that include candidate compositions that satisfy the target conditions.
[0071] The result output unit 206 outputs the search results by the search unit 205. The result output unit 206 may transmit the search results to the terminal device 30. The result output unit 206 may display the search results on the display device 506 of the design support device 20. The search results include information about candidate combinations that satisfy the target conditions. The search results may also include candidate combinations that do not satisfy the target conditions, prediction results for each candidate combination, information about the target conditions, etc.
[0072] <Processing Procedure> A design support method executed by the design support system 1000 in this embodiment will be described with reference to Fig. 5 and Fig. 6. Fig. 5 is a sequence diagram showing an example of the design support method.
[0073] In step S1, a user of the design support system 1000 inputs design conditions and target conditions for a target substance to the terminal device 30. The terminal device 30 transmits the input design conditions and target conditions to the design support device 20.
[0074] In step S2, the request unit 201 of the design support device 20 receives the design conditions and the target conditions from the terminal device 30. Next, the request unit 201 generates generation conditions and constraint conditions based on the received design conditions. The request unit 201 transmits a request to generate a random number set to the random number generation device 10. The request to generate a random number set includes the generation conditions and the constraint conditions. The request unit 201 also transmits the received target conditions to the search unit 205.
[0075] In step S3, the random number generation device 10 receives a request to generate a random number set. Next, the random number generation device 10 generates a random number set based on the generation conditions and constraints included in the generation request. Subsequently, the random number generation device 10 stores the generated random number set in the random number storage unit 105. When the number of random number sets stored in the random number storage unit 105 reaches or exceeds the target number, the random number generation device 10 transmits the random number sets stored in the random number storage unit 105 to the design support device 20.
[0076] In step S4, the acquisition unit 202 of the design support device 20 receives the target number of random number sets from the random number generation device 10. Next, the acquisition unit 202 stores the received random number sets in the combination storage unit 203 as candidate combinations.
[0077] In step S5, the prediction unit 204 of the design support device 20 reads out a target number of candidate formulations from the formulation storage unit 203. Next, the prediction unit 204 predicts predetermined physical property values by inputting each of the read candidate formulations into a trained prediction model. The prediction unit 204 sends the prediction results for each candidate formulation to the search unit 205.
[0078] In step S6, the search unit 205 of the design support device 20 receives prediction results for each candidate composition from the prediction unit 204. The search unit 205 also receives target conditions from the request unit 201. Next, the search unit 205 searches for candidate compositions that satisfy the target conditions based on the prediction results. The search unit 205 sends the search results of the candidate compositions to the result output unit 206.
[0079] In step S7, the result output unit 206 of the design support device 20 receives the search results from the search unit 205. The result output unit 206 transmits the search results to the terminal device 30. The terminal device 30 receives the search results from the design support device 20. The terminal device 30 presents the search results to the user. The terminal device 30 may display the search results on the display device 506 of the terminal device 30.
[0080] The user of the terminal device 30 can refer to the search results to find candidate formulations that satisfy the target conditions. The user may manufacture a target substance based on the candidate formulation that satisfies the target conditions. The user may also conduct experiments using the manufactured target substance. The user may reconsider the design conditions and target conditions and request the design support device 20 to propose a formulation based on the new design conditions and target conditions.
[0081] <Random number generation process> The random number generation process (step S3 in FIG. 5) in this embodiment will be described in more detail below. FIG. 6 is a flowchart showing an example of the random number generation process.
[0082] In step S11, the condition acquisition unit 101 of the random number generation device 10 receives the generation conditions and the constraint conditions from the design support device 20. Next, the condition acquisition unit 101 sends the received generation conditions to the generation unit 102. In addition, the condition acquisition unit 101 sends the received constraint conditions to the optimization unit 103 and the determination unit 104.
[0083] In step S12, the generation unit 102 of the random number generation device 10 receives the generation conditions from the condition acquisition unit 101. Next, the generation unit 102 generates a random number set including a plurality of random numbers based on the received generation conditions. The generation unit 102 sends the generated random number set to the optimization unit 103.
[0084] In step S13, the optimization unit 103 of the random number generation device 10 receives the constraint conditions from the condition acquisition unit 101. The optimization unit 103 also receives the random number set from the generation unit 102. Next, the optimization unit 103 generates an evaluation function that indicates the received constraint conditions. Subsequently, the optimization unit 103 optimizes the received random number set based on the generated evaluation function. When the optimization unit 103 determines that the optimization calculation has converged, it sends the optimized random number set to the determination unit 104.
[0085] As an optimization method, for example, the Nelder-Mead method can be used, and other methods such as the truncated Newton conjugate gradient method can also be preferably used.
[0086] In step S14, the determination unit 104 of the random number generation device 10 receives the constraint conditions from the condition acquisition unit 101. The determination unit 104 also receives the optimized random number set from the optimization unit 103. Next, the determination unit 104 determines whether the received optimized random number set satisfies the constraint conditions.
[0087] If it is determined that the optimized random number set satisfies the constraint conditions (YES), the determination unit 104 proceeds to step S15. If it is determined that the optimized random number set does not satisfy the constraint conditions (NO), the determination unit 104 proceeds to step S16.
[0088] In step S15, the determination unit 104 of the random number generation device 10 stores the optimized random number set received in step S14 in the random number storage unit 105.
[0089] In step S16, the determination unit 104 of the random number generation device 10 discards the optimized random number set received in step S14. In other words, the determination unit 104 does not store the optimized random number set in the random number storage unit 105, but deletes it.
[0090] In step S17, the judgment unit 104 of the random number generation device 10 judges whether the number of random number sets stored in the random number storage unit 105 is equal to or greater than the target number specified in the generation conditions. If the number of random number sets is equal to or greater than the target number (YES), the judgment unit 104 proceeds to step S18. On the other hand, if the number of random number sets is less than the target number (NO), the judgment unit 104 returns the process to step S12.
[0091] After returning to step S12, the random number generation device 10 generates a new random number set and executes the processes from step S13 to step S17 again. In this way, the random number generation device 10 repeatedly generates and optimizes random number sets until the target number of random number sets is generated.
[0092] In step S18, the random number output unit 106 of the random number generation device 10 reads out the set of random numbers of the target number from the random number storage unit 105. The random number output unit 106 transmits the read set of random numbers of the target number to the design support device 20.
[0093] <Evaluation results> The results of evaluating the random number generation performance in this embodiment will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of the evaluation results.
[0094] In the evaluation, two conventional methods (Conventional Method 1 and Conventional Method 2) and the method according to the embodiment (Proposed Method) were used. For each method, 10,000 random number pairs were generated, and the time required to generate the random number pairs and the number of times that the random number pairs that satisfied the constraints were successfully generated were compared.
[0095] ≪Restrictions≫ The constraints are that the random number set contains three random numbers, the first of which is in the range of 0 to 0.5, the second in the range of 0 to 0.4, the third in the range of 0.08 to 0.1, and the sum of the random numbers is 1. The only random number set that satisfies this constraint is {0.5, 0.4, 0.1}, which can be said to be a strict constraint.
[0096] ≪Generation conditions≫ For each method, 10,000 sets of random numbers were generated, and a method was evaluated as successful if the generated sets of random numbers satisfied the constraints. In other words, if the generation of random numbers was completely successful, 10,000 sets of random numbers that satisfied the constraints were generated. For each method, the generation of random numbers was repeated 10 times, and the average time required to generate the sets of random numbers and the average number of sets of random numbers successfully generated were compared.
[0097] <Evaluation environment> The generation time was calculated without fixing the random number seed. The execution environment was a desktop personal computer equipped with an Intel (registered trademark) Xeon (registered trademark) W-2123 processor. The environment had sufficient free memory. Furthermore, the environment was one where no other programs were imposing a load on the system when measuring the generation time.
[0098] <Conventional method> Conventional Method 1 generates a random number set containing three random numbers, and then divides all of the random numbers in the set by the sum of the random numbers in the set. As an example, Conventional Method 1 first generates a random number set containing three random numbers: {0.2, 0.5, 0.8}. Next, each of the random numbers 0.2, 0.5, and 0.8 is divided by the sum of the random numbers, 1.5. This results in the random number set {0.13, 0.33, 0.53}.
[0099] According to Conventional Method 1, even if the condition regarding the sum of random numbers can be satisfied, the condition regarding the upper or lower limit of each random number may not be satisfied. Furthermore, according to Conventional Method 1, the random numbers may become irrational numbers, and the condition regarding the sum of random numbers may not be satisfied.
[0100] Conventional method 2 generates the number of random numbers to be included in the random number set minus 1 (i.e., 2), and then subtracts the sum of the random numbers already generated from 1 to obtain the final random number. As an example, conventional method 2 first generates a random number set {0.2, 0.5, ?} containing two random numbers, where ? is an undefined constant. Next, the final random number is calculated as 0.3, obtained by subtracting the sum of the two random numbers (0.2 + 0.5) from 1. This results in a random number set {0.2, 0.5, 0.3} containing three random numbers.
[0101] According to conventional method 2, if the final random number satisfies the conditions imposed on that random number, the set of random numbers can satisfy the constraints. On the other hand, if the conditions imposed on each random number are strict, the final random number is more likely to not satisfy the conditions, and the probability of successfully generating a set of random numbers decreases.
[0102] ≪Generation result≫ As shown in Figure 7, conventional method 1 succeeded in generating an average of 0.1 random number pairs, taking less than 0.005 seconds. Conventional method 2 succeeded in generating an average of 0.3 random number pairs, taking 3.68 seconds. On the other hand, the proposed method succeeded in generating an average of 8,227 random number pairs, taking 38 seconds.
[0103] With the conventional method, the time required for generation was short, but the probability of successfully generating a set of random numbers that satisfied the constraints was extremely low. With the conventional method, it is clear that in order to generate a sufficient number of sets of random numbers, an enormous number of attempts to generate sets of random numbers would be made, which would take a great deal of time. On the other hand, with the proposed method, there was a high probability of success in generating sets of random numbers that satisfied the constraints. The evaluation results shown in Figure 7 indicate that the proposed method can generate sets of random numbers that satisfy the constraints more efficiently than the conventional method.
[0104] <Effects of the embodiment> The random number generation device 10 in this embodiment optimizes a random number set including a plurality of random numbers based on an evaluation function indicating a predetermined constraint condition, and determines whether the optimized random number set satisfies the constraint condition. In one aspect, this embodiment makes it possible to efficiently generate a random number set that satisfies the constraint condition.
[0105] The constraint conditions may include nonlinear constraints. Therefore, according to this embodiment, even a set of random numbers that satisfies a nonlinear constraint can be efficiently generated.
[0106] The constraints may include a first condition for each random number included in the set of random numbers and a second condition for the relationship between the random numbers. The first condition may indicate upper and lower limits for the random numbers, and the second condition may indicate the sum of the multiple random numbers. Therefore, according to this embodiment, even a set of random numbers that satisfies strict constraints can be efficiently generated.
[0107] In this embodiment, the design support device 20 acquires a plurality of random number sets generated by the random number generator 10 as compounding ratios of materials, predicts predetermined physical property values based on the compounding ratios, and searches for compounding ratios that satisfy target conditions based on the predicted physical property values. In one aspect, this embodiment makes it possible to efficiently search for compounding ratios of materials that satisfy target conditions. In another aspect, this embodiment makes it possible to develop new materials with a short lead time.
[0108] [supplement] Each function of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to execute each function by software, such as a central processing unit (CPU) or a graphics processing unit (GPU) implemented by an electronic circuit, as well as devices such as an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), and conventional circuit modules designed to execute each of the above-described functions.
[0109] Although the embodiments of the present disclosure have been described in detail above, the embodiments disclosed herein are illustrative in all respects and are not limiting. The embodiments can be modified and improved in various ways without departing from the scope and spirit of the appended claims. The matters described in the above embodiments can be configured in other ways as long as they are not inconsistent, and can be combined as long as they are not inconsistent.
[0110] This application claims priority from Japanese Patent Application No. 2024-15581, filed with the Japan Patent Office on February 5, 2024, the entire contents of which are incorporated herein by reference. [Explanation of symbols]
[0111] 10: Random number generator 20:Design support equipment 30: Terminal device 101: Condition acquisition section 102: Generation part 103: Optimization section 104: Judgment section 105: Random number memory unit 106: Random number output unit 201:Request part 202: Acquisition Department 203: Formulation storage section 204: Prediction Department 205: Search Department 206: Result output section 1000: Design support system
Claims
1. a generator configured to generate a set of random numbers including a plurality of random numbers; an optimization unit configured to optimize the random number set based on an evaluation function indicating a predetermined constraint condition; a determination unit configured to determine whether the optimized random number set satisfies the constraints; A random number generating device comprising:
2. 2. The random number generation device according to claim 1, the constraints include nonlinear constraints; Random number generator.
3. 3. The random number generation device according to claim 2, the constraint condition includes a first condition regarding each of the random numbers included in the random number set, and a second condition regarding a relationship between the random numbers; Random number generator.
4. 4. The random number generation device according to claim 3, the first condition includes an upper limit value and a lower limit value of the random number, the second condition includes a sum of the plurality of random numbers; Random number generator.
5. an acquisition unit configured to acquire a plurality of random number sets generated by the random number generator according to any one of claims 1 to 4 as a compounding ratio of substances; a prediction unit configured to predict a predetermined physical property value based on the blending ratio; A search unit configured to search for the blending ratio that satisfies a target condition based on the predicted result of the physical property value; A design support device comprising:
6. The computer generating a set of random numbers including a plurality of random numbers; a procedure for optimizing the set of random numbers based on an evaluation function that indicates predetermined constraint conditions; a step of determining whether the optimized random number set satisfies the constraints; A random number generation method that performs
7. On the computer, generating a set of random numbers including a plurality of random numbers; a procedure for optimizing the set of random numbers based on an evaluation function that indicates predetermined constraint conditions; a step of determining whether the optimized random number set satisfies the constraints; A program to execute.
Citation Information
Patent Citations
Creation method of pseudo-random row, creation device of pseudo-random row, and game
JP2015200958A
Arithmetic unit, method and program for nonlinear planning problem
JP2020086706A
Random number generation device, generation method, generator evaluation method, and random number use method
WO2005124537A1