WO2014115232A1 - 解探索装置、解探索方法および解探索プログラム - Google Patents
解探索装置、解探索方法および解探索プログラム Download PDFInfo
- Publication number
- WO2014115232A1 WO2014115232A1 PCT/JP2013/007673 JP2013007673W WO2014115232A1 WO 2014115232 A1 WO2014115232 A1 WO 2014115232A1 JP 2013007673 W JP2013007673 W JP 2013007673W WO 2014115232 A1 WO2014115232 A1 WO 2014115232A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- evaluation value
- pruning
- search
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
Definitions
- the present invention relates to a solution search apparatus, a solution search method, and a solution search program applied to solution search in optimization calculation and the like.
- the optimization problem is often a problem in which an objective function and constraint conditions are set and an optimal solution with the best objective function is derived.
- a search method using simulation such as MCTS (Monte-Carlo Tree Search) described in Non-Patent Document 1
- MBP Multi-armed Bandit Problem
- solution space tree (hereinafter referred to as the solution space tree), computer go etc. finds the best node in the next step in each step of the solution space tree.
- the purpose of optimization is to find the best node among the solution nodes at the lowest level. Extending the search tree to the bottom of the solution space tree is an unprecedented goal in MCTS.
- the evaluation function used in the computer Go is based on UCB (Upper Confidence Bound) described in Non-Patent Document 2.
- the evaluation function used in the computer Go is based on the expected value. Expected values include the winning percentage in Go. However, it is said that it is better to use, as an evaluation function, the optimal solution or the top k solutions, that is, the average of the best solutions up to the kth, than the expected value (see Non-Patent Document 3). That is, in the computer go, it is important to appropriately select and use these evaluation functions.
- the evaluation function based on the expected value is expressed as mean
- the evaluation function based on the optimal solution is expressed as best
- the evaluation function based on the average of the top k solutions is expressed as kbest.
- Whether to use best or kbest differs depending on the object to be optimized, and cannot be uniquely determined. That is, it is important to appropriately select which evaluation function to use.
- the user or the like generally specifies the time for obtaining the solution in advance. If the goal is to make the MCTS successful, the accuracy of the solution will not increase unless the search tree reaches the bottom of the solution space tree by the specified time. That is, in order to improve the accuracy of the solution, it is necessary to ensure that the search tree reaches the bottom of the solution space tree by the specified time.
- An object is to provide a solution search apparatus, a solution search method, and a solution search program.
- the solution search apparatus in solution search using simulation, an execution unit that selects a simulation target node from among the nodes that are options in the search tree, and executes the simulation from the selected node; An update unit that calculates an evaluation value using an evaluation function based on the simulation result, and updates an evaluation value of the selected node and its upper node based on the evaluation value, and a predetermined reference And a pruning unit that separates a node having an evaluation value not satisfying from the search tree.
- a node to be subjected to simulation is selected from nodes as options in the search tree, simulation is executed from the selected node, and simulation results are obtained.
- the evaluation value is calculated using the evaluation function, and the evaluation value of the selected node and its upper node is updated based on the evaluation value, and the evaluation value that does not satisfy the predetermined standard is calculated. It is characterized by separating the node it has from the search tree.
- the computer selects a node to be executed from among the nodes to be selected in the search tree, and executes the simulation from the selected node. Based on the process and the simulation result, the evaluation value is calculated using the evaluation function, and based on the evaluation value, the evaluation value of the selected node and its upper node is updated, and a predetermined value is set. And a process of separating a node having an evaluation value that does not satisfy the criterion from the search tree.
- the present invention when solving an optimization problem or the like, it is possible to reliably calculate a solution within a specified calculation time without increasing memory usage, and to improve the accuracy of the solution. it can.
- Embodiment 1 FIG. A first embodiment of the present invention will be described below with reference to the drawings.
- FIG. 1 is a block diagram showing the configuration of the first embodiment of the optimization system.
- the optimization system in the first embodiment includes a user terminal 1 and an optimization device 2.
- the user terminal 1 and the optimization device 2 are connected so as to communicate with each other. Although one user terminal is illustrated in FIG. 1, any number of user terminals may be connected to the optimization device 2.
- the user terminal 1 is an information processing terminal such as a personal computer.
- the user terminal 1 includes an operation unit 11 and a display unit 12.
- the operation unit 11 inputs information necessary for the optimization calculation to be executed (hereinafter referred to as optimization calculation input information). In addition, the operation unit 11 inputs an execution instruction. The operation unit 11 outputs an execution instruction to the optimization device 2 together with the optimization calculation input information.
- the display unit 12 receives the solution of the optimization calculation result from the optimization device 2 and displays it.
- the optimization device 2 includes a GUI (Graphical User Interface) unit 21, a calculation unit 22, and a storage unit 23.
- GUI Graphic User Interface
- the GUI unit 21 receives optimization calculation input information from the operation unit 11 of the user terminal 1.
- the GUI unit 21 transmits optimization calculation input information to the calculation unit 22.
- the GUI unit 21 receives the solution of the optimization calculation result from the calculation unit 22 and transmits it to the display unit 12 of the user terminal 1.
- the calculation unit 22 includes a selection unit 221, an enlargement unit 222, a simulation unit 223, an evaluation value update unit 224, and a pruning unit 225.
- the selection unit 221 selects a node to be played out from among the expanded nodes.
- a node that is a playout execution target is referred to as a selection node.
- the expansion unit 222 expands the search tree (tree). Specifically, the enlargement unit 222 determines whether it is necessary to expand the node selected by the selection unit 221 according to a predetermined criterion, and expands the node further one step lower if necessary. To expand the search tree. When expanding the node, the enlarging unit 222 reselects the selected node as the next lower node.
- the simulation unit 223 executes a simulation. Specifically, the simulation unit 223 searches for one solution by a simple method such as playout, that is, random simulation, and acquires an evaluation value of the solution.
- the evaluation value update unit 224 updates the evaluation value of the solution of each node according to the result of the playout performed by the simulation unit 223.
- the evaluation value of each node includes a statistical value obtained by collecting evaluation values obtained by repeated simulations, and the evaluation value update unit 224 updates the statistical value.
- the evaluation value update unit 224 calculates an index value.
- the evaluation function values of best, mean, and kbest (hereinafter also referred to as solution evaluation values) are calculated as index values.
- the evaluation value update unit 224 calculates a comprehensive evaluation value by combining the calculated evaluation values. At that time, the evaluation value update unit 224 calculates a comprehensive evaluation value so that a trade-off of each index (best, mean, kbest) is taken into consideration, and a value having a feature in each index is emphasized.
- the evaluation value update unit 224 updates the evaluation value of each node based on the calculation result of the comprehensive evaluation value.
- the pruning unit 225 performs pruning.
- FIG. 2 is an explanatory diagram illustrating a state in which pruning is performed on the search tree.
- a triangular frame shown in FIG. 2 represents a solution space tree.
- An ellipse surrounding the base of the triangle represents the lowest node of the solution space tree, that is, the solution node.
- a halftone dot region represents a search tree.
- a black circle represents the root node of the search tree, that is, the uppermost node of the solution space tree.
- a white circle represents a leaf node of the search tree.
- pruning is performed toward the lowest stage of the solution space tree as time elapses and the search tree is expanded. Further, the pruning unit 225 performs pruning so that the size of the search tree (the area of the halftone dot region shown in FIG. 2) does not exceed a certain size.
- the storage unit 23 stores an objective function and constraint conditions.
- the storage unit 23 stores data necessary for solving the problem, such as task information and person-in-charge information (hereinafter referred to as problem data).
- problem data data necessary for solving the problem
- the storage unit 23 stores information that changes such as an evaluation value of a node when the calculation process in the calculation unit 22 proceeds.
- the storage unit 23 stores the number of node searches and evaluation values obtained by the calculation unit 22 during each calculation.
- the storage unit 23 stores a solution that needs to be held among the solutions obtained by the calculation unit 22.
- the GUI unit 21 and the calculation unit 22 are realized by a computer that operates according to a solution search program, for example.
- the CPU provided in the optimization apparatus 2 reads the solution search program and operates as the GUI unit 21 and the calculation unit 22 according to the program.
- each part of the GUI part 21 and the calculation part 22 may be implement
- the storage unit 23 is realized by a storage device such as a RAM (Random Access Memory) provided in the optimization device 2.
- a RAM Random Access Memory
- FIG. 3 is a flowchart showing the operation of the calculation unit 22 in the first embodiment.
- the user inputs optimization calculation input information to the operation unit 11 of the user terminal 1.
- a user inputs problem data such as a task for which optimization calculation is desired, a person in charge who can be engaged, and cost and effectiveness when each person in charge engages in each task as optimization calculation input information.
- the user inputs an execution instruction to the operation unit 11 together with the optimization calculation input information.
- the operation unit 11 outputs optimization calculation input information and an execution instruction to the optimization device 2.
- the GUI unit 21 of the optimization device 2 When the GUI unit 21 of the optimization device 2 receives the execution instruction together with the optimization calculation input information from the user terminal 1, the GUI unit 21 transmits the optimization calculation input information to the calculation unit 22.
- the calculation unit 22 inputs optimization calculation input information as preprocessing (step S301).
- the selection unit 221 of the calculation unit 22 selects a node to be simulated from among the expanded nodes (step S302). Since there is only one node in the initial state, that node is a selection target. In this embodiment, the node is selected using the index value calculated by the evaluation value update unit 224.
- the expansion unit 222 expands the search tree to a node one level lower when the number of playouts of the node selected by the selection unit 221 satisfies a predetermined condition (step S303).
- the enlargement unit 222 expands when the number of playouts exceeds a predetermined number. When there is only one node in the initial state, it is expanded regardless of this condition. In the case of expansion, the enlargement unit 222 sets one of the expanded nodes as a selection node.
- the simulation unit 223 searches for one solution by executing playout, that is, random simulation, from the selected node (step S304).
- playout that is, random simulation
- step S304 it is possible to execute a plurality of simulations for one selected node and search for a plurality of solutions, here, as a simplest example, one simulation is executed for one selected node, A method for searching for one solution will be described.
- the technical scope of the present invention is not limited to the form of executing one simulation for one selected node. Therefore, a form of executing a plurality of simulations for one selected node can also be included in the technical scope of the present invention.
- the evaluation value update unit 224 uses the solution obtained by the simulation unit 223 to update the evaluation value of the solution such as best, mean, and kbest.
- the evaluation value update unit 224 updates the evaluation value of the mean solution (step S305).
- the evaluation value of the best solution is the optimum among the results of simulations executed from the selected node so far.
- the evaluation value of the mean solution is an average of the results of simulations executed from the selected node so far.
- the evaluation value of the kbest solution is an average of the k-th best solution among the results of simulations executed from the selected node so far.
- the evaluation value update unit 224 performs the following normalization process on the evaluation value of the mean solution, which is the index value.
- the maximum value M and the minimum value m are as follows: Can be expressed as Note that L is the total number of child nodes having a common parent node.
- v i is determined to be a good value when it is close to the minimum value m according to a predetermined criterion. Further, it is assumed that a bad value is determined when the value is close to the maximum value M.
- the evaluation value updating unit 224 normalizes v i so that the minimum value m, which is a good value, is 0, and the maximum value M, which is a bad value, is 1. Specifically, the evaluation value update unit 224 converts v i as follows. Value i is a value after normalization of v i .
- v i may be further normalized so that the value i falls within a certain variance.
- the evaluation value update unit 224 performs the above-described process on mean, thereby calculating Value i corresponding to mean.
- Value i corresponding to best, mean, and kbest are expressed as bestValue, meanValue, and kbestValue (k), respectively.
- “(K)” represents that the top k solutions are to be averaged.
- the evaluation value update unit 224 calculates meanValue at each of the selected node and its upper node, and updates the evaluation value of each node based on the calculation result.
- the pruning unit 225 performs pruning when it determines that pruning is necessary because the size of the search tree, for example, the number of nodes in the entire search tree or the number of leaf nodes in the search tree is large. Further, when it is determined that the space to be searched needs to be narrowed so that the search tree reaches the bottom of the solution space tree within a given time, pruning is executed (step S306). In the present embodiment, the pruning unit 225 evaluates each node with the mean updated by the evaluation value update unit 224 in step S305, and prunes a node with a poor evaluation value from the search tree. Thereafter, no simulation is performed from that node or its lower nodes.
- the search tree can reach the bottom of the solution space tree within the calculation time.
- the pruning execution interval for each stage may not be equal. For example, pruning may be performed to reduce the number of nodes located at the depth of the nth stage when ⁇ (n / N) of the entire calculation time has elapsed. Thereby, more calculation time can be allocated to a node near the root node that requires more calculation time.
- the calculation unit 22 performs the processes in steps S302 to S306 (selection process, node expansion process, simulation execution process, evaluation value update process, and pruning process) until the calculation time in the calculation unit 22 reaches a predetermined upper limit. Run repeatedly. That is, when the calculation time has not reached the upper limit (Yes in step S307), the calculation unit 22 returns to the process in step S302. When the calculation time reaches the upper limit (No in step S307), the calculation unit 22 ends the calculation and passes the optimization calculation result, that is, solution information indicating the solution obtained by searching to the GUI unit 21 ( Step S308). Note that the calculation unit 22 may repeatedly execute the processes in steps S302 to S306 until the solution value given as a requirement is calculated instead of the calculation time.
- the calculation unit 22 stores information including the number of node searches and evaluation values obtained during each calculation in the storage unit 23. Further, the calculation unit 22 stores information including the solution obtained by searching in the storage unit 23. The calculation unit 22 can recognize the number of searches for each node and the evaluation value during the calculation by acquiring information stored in the storage unit 23.
- the case where problem data is input as optimization calculation input information from the user terminal 1 to the calculation unit 22 is taken as an example.
- the calculation unit 22 acquires the problem data stored in the storage unit 23. You may do it.
- a user or the like may store problem data in the storage unit 23 in advance.
- FIG. 4 is a block diagram showing another configuration of the optimization system according to the first embodiment.
- the search range can be appropriately narrowed by pruning using the simulation result in the MCTS. Accordingly, the search tree can reach the bottom of the solution space tree within a given calculation time without increasing the memory usage, and the solution can be calculated reliably. In addition, the number of simulations of the node determined to be important based on the simulation result can be increased. Therefore, it is possible to increase the possibility of improving the accuracy of the solution of the search method that calculates the evaluation value by simulation such as MCTS. In addition, by improving the accuracy of the solution, it is possible to increase the possibility of practical use for OR that is difficult to put into practical use.
- Embodiment 2 FIG. Hereinafter, a second embodiment of the present invention will be described.
- the configuration of the optimization system in the second embodiment is the same as that in the first embodiment.
- calculation unit 22 in the second embodiment is the same as that of the first embodiment shown in FIG.
- step S302 the operation of the selection unit 221 in step S302, the operation of the evaluation value update unit 224 in step S305, and the operation of the pruning unit 225 in step S306 are different.
- steps S302, step S305, and step S306 will be described.
- step S302 when the selection unit 221 selects a node, the selection unit 221 uses an index value different from the index value used by the pruning unit 225 to determine whether or not to execute pruning.
- the index used for node selection is mean, and the index used for pruning is best. That is, the index value used for node selection is meanValue, and the index value used for pruning is bestValue.
- step S305 the evaluation value update unit 224 calculates meanValue and bestValue using Expressions 1 to 3. At this time, the evaluation value update unit 224 calculates meanValue and bestValue at each of the selected node and its upper nodes, and updates the evaluation value of each node based on the calculation result.
- step S306 the pruning unit 225 evaluates each node with an index best different from the index used by the selection unit 221 for node selection, and executes the pruning process.
- each node in the search tree has both a meanValue that is an evaluation value for node selection and a bestValue that is an evaluation value for pruning.
- the evaluation value update unit 224 stores the meanValue and the bestValue in the storage unit 23 in association with each node in the search tree.
- the mean value that is an evaluation value for node selection may be given to an edge (branch) connecting the node and its parent, and the best value that is an evaluation value for pruning may be given to the node. .
- an evaluation function different from node selection can be set as an index used for pruning while obtaining the same effect as in the first embodiment.
- pruning a low-value node can be selected more appropriately and removed.
- the number of simulations of high-value nodes can be increased in the executable memory space. If the number of simulations of a more important node can be increased more appropriately, the possibility of further improving the accuracy of a search method solution for calculating an evaluation value by simulation such as MCTS can be increased.
- Embodiment 3 FIG. Hereinafter, a third embodiment of the present invention will be described.
- the configuration of the optimization system in the third embodiment is the same as the configuration in the first embodiment.
- the evaluation value update unit 224 of the optimization device 2 calculates the total evaluation value of the node based on each index value bestValue, meanValue, and kbestValue. Then, the evaluation value update unit 224 of the optimization device 2 updates the evaluation value of each node with the calculated total evaluation value of the node.
- the operation of the calculation unit 22 in the third embodiment is the same as the operation of the first embodiment shown in FIG.
- step S305 the operation of the evaluation value update unit 224 in step S305 is different.
- the operation of the evaluation value update unit 224 in step S305 will be described.
- the evaluation value update unit 224 calculates meanValue, bestValue, kbestValue (k) using Equations 1 to 3 after Step S304.
- the evaluation value update unit 224 obtains the total evaluation value of the node using the following calculation formula for each node.
- hValue is a comprehensive evaluation value of the node.
- w and ⁇ are coefficients representing the weights of the indices best, mean, and kbest.
- the degree of influence of each index on the entire expression that is, the degree of influence of each index on hValue can be increased.
- ⁇ best , ⁇ mean , and ⁇ kbest (k) are coefficients for adjusting the influence of each index when bestValue, meanValue, and kbestValue (k) are the best, that is, near zero.
- the values of ⁇ best , ⁇ mean , ⁇ kbest (k) are reduced, that is, approached to zero.
- the best value is near zero, the smaller the ⁇ best is, the stronger the influence of the index best is.
- w and ⁇ are stored in advance in the storage unit 23 of the optimization device 2.
- the evaluation value update unit 224 distinguishes the values of w and ⁇ between an evaluation function used for node selection and an evaluation function used for pruning. For example, in the evaluation function used for node selection,
- the evaluation value update unit 224 calculates the evaluation function value used for node selection and the evaluation function value used for pruning at each of the selected node and its higher nodes, and updates the evaluation value of each node based on the calculation result To do.
- Embodiment 4 FIG. The fourth embodiment of the present invention will be described below.
- the configuration of the optimization system in the fourth embodiment is the same as that in the first embodiment.
- the evaluation value update unit 224 of the optimization device 2 calculates the total evaluation value of the node based on the index values bestValue, meanValue, and kbestValue, as in the third embodiment. At that time, the evaluation value update unit 224 calculates the total evaluation value of the node for each depth level of the search tree. It is assumed that the solution space tree has N levels. That is, it is assumed that the solution space tree has N stages of depth.
- the operation of the calculation unit 22 in the fourth embodiment is the same as the operation in the third embodiment.
- step S305 the operation of the evaluation value update unit 224 in step S305 is different.
- the operation of the evaluation value update unit 224 in step S305 will be described.
- the evaluation value update unit 224 calculates meanValue, bestValue, kbestValue (k) using Equations 1 to 3 after Step S304.
- the evaluation value update unit 224 obtains a total evaluation value of the node using the following calculation formula for each node. Note that w best (n), w mean (n), w kbest (k) (n), ⁇ best (n), ⁇ mean (n), and ⁇ kbest (k) (n) are N in the solution space tree. This is a coefficient representing the weight for each index best, mean, kbest in the nth stage when it has stages.
- the evaluation value update unit 224 distinguishes the values of w and ⁇ between an evaluation function used for node selection and an evaluation function used for pruning as follows. For example, in the evaluation function used for node selection,
- the same effect as in the third embodiment can be obtained, and the evaluation function can be changed in the depth of the search tree of each node.
- the number of node simulations can be increased appropriately. Therefore, since the number of simulations of more important nodes can be increased more appropriately, it is possible to increase the possibility of further improving the accuracy of the search method such as MCTS that calculates the evaluation value by simulation.
- the configuration of the optimization system in the fifth embodiment is the same as the configuration in the first embodiment.
- the evaluation value update unit 224 of the optimization device 2 uses the evaluation function used for pruning, the evaluation function used for pruning for the purpose of suppressing the size of the solution space tree, and the specified calculation time.
- the search tree is set to each node by distinguishing it from an evaluation function used for pruning for the purpose of reaching the bottom of the solution space tree.
- the evaluation function used for pruning is set as mean
- the evaluation function used for pruning for the purpose of suppressing the size of the solution space tree is set as kbest
- the search tree is set in the solution space within the specified calculation time. The evaluation function used for pruning for the purpose of reaching the bottom of the tree is best.
- the operation of the calculation unit 22 in the fifth embodiment is the same as the operation of the first embodiment shown in FIG.
- step S305 the operations of the evaluation value update unit 224 in step S305 and the pruning unit 225 in step S306 are different.
- step S305 and step S306 will be described.
- step S305 the evaluation value update unit 224 calculates meanValue, bestValue, kbestValue (k) using Expressions 1 to 3.
- the evaluation value update unit 224 calculates meanValue, kbestValue (k), and bestValue at each of the selected node and its higher nodes, and updates the evaluation value of each node based on the calculation result.
- MeanValue is used for node selection processing in the selection unit 221. Also, kbestValue (k) is used for the pruning process in the pruning unit 225 for the purpose of suppressing the size of the search tree. Further, bestValue is used in the pruning process in the pruning unit 225 for the purpose of causing the search tree to reach the bottom of the solution space tree within the specified calculation time.
- step S306 the pruning unit 225 evaluates each node with an evaluation function kbestValue (k) or bestValue different from the evaluation function used by the selection unit 221 for node selection, and executes pruning processing. At this time, the pruning unit 225 determines whether to use kbestValue (k) or bestValue depending on the purpose of the pruning process to be executed. In other words, the purpose of the pruning process is to suppress the size of the search tree, or to make the search tree reach the bottom of the solution space tree within a specified calculation time. Determined by
- the same effect as in the second embodiment can be obtained, and an evaluation function used for pruning can be set for each purpose of pruning.
- a low-value node can be selected and removed more appropriately according to the purpose of pruning.
- Pruning for the purpose of causing the search tree to reach the bottom of the solution space tree within the computation time is pruning at the stage where the number of simulations exceeds a certain number of times at each node, and even if best is used, there is a risk. Can be significantly reduced. Therefore, it is possible to remove low-value nodes more appropriately and efficiently. Therefore, it is possible to further increase the number of simulations of higher-value nodes in the executable memory space.
- the calculation unit including one pruning unit is taken as an example.
- the calculation unit 22 performs pruning for the purpose of suppressing the size of the search tree.
- a pruning part may be included.
- FIG. 5 is a block diagram illustrating an example of a configuration of an optimization system including an optimization device including two pruning units.
- FIG. 6 is a flowchart showing the operation of the calculation unit in the optimization apparatus shown in FIG.
- step S601, step S602, steps S606 to S608, and step S612 is the same as the processing in step S301, step S302, steps S303 to S305, and step S308, and thus description thereof is omitted.
- the first pruning unit 2251 suppresses the size of the search tree by pruning. It is determined whether or not it is necessary (step S604). When pruning is necessary (Yes in step S604), the first pruning unit 2251 performs pruning (step S605). If pruning is not necessary (No in step S604), the enlargement unit 222 expands the search tree to a node one level lower.
- the calculation unit 22 repeatedly executes the processing of steps S602 to S608 until the calculation time at the n-th stage satisfies a predetermined end condition (step S609).
- the calculation unit 22 checks whether or not the search tree has reached the bottom (Nth stage) of the solution space tree. (Step S610). If the search tree has not reached the bottom of the solution space tree (No in step S610), the second pruning unit 2252 performs pruning (step S611).
- the calculation unit 22 returns to the process of step S602 after executing the process of step S611. If the search tree has reached the bottom of the solution space tree (Yes in step S610), the process proceeds to step S612.
- the case where the optimization apparatus is applied to the scheduling problem is taken as an example, but the scope of application of the present invention is not limited thereto.
- the present invention can be applied to optimization problems in general, focusing on combinatorial optimization problems such as scheduling problems for assigning tasks to persons in charge. It can also be applied to solution searches other than optimization problems.
- FIG. 7 is a block diagram showing the minimum configuration of the solution search apparatus according to the present invention.
- the solution search device (corresponding to the optimization device 2 shown in FIG. 1) becomes a simulation execution target from among the nodes that are options in the search tree in the solution search using simulation.
- An execution unit 101 (corresponding to the selection unit 221, the enlargement unit 222, and the simulation unit 223 in the optimization apparatus 2 shown in FIG. 1) that selects a node and executes a simulation from the selected node and the simulation result
- the update unit 102 that calculates the evaluation value using the evaluation function and updates the evaluation value of the selected node and its higher nodes based on the evaluation value (update of the evaluation value in the optimization device 2 shown in FIG. 1)
- a pruning unit 103 (the optimization device 2 shown in FIG. 1) that separates a node having an evaluation value that does not satisfy a predetermined criterion from the search tree.
- the definitive pruning unit 225 including the equivalent.) And.
- the search range can be appropriately narrowed by pruning using the simulation result in MCTS. Accordingly, the search tree can reach the bottom of the solution space tree within a given calculation time without increasing the memory usage, and the solution can be calculated reliably. In addition, the number of simulations of the node determined to be important based on the simulation result can be increased. Therefore, it is possible to increase the possibility of improving the accuracy of the solution of the search method that calculates the evaluation value by simulation such as MCTS.
- the pruning unit 103 determines a time interval for performing pruning based on the specified calculation time, and a node having an evaluation value that does not satisfy a predetermined criterion based on the time interval Solution search apparatus for executing processing for separating a node from a search tree.
- the search tree can reliably reach the bottom of the solution space tree within a given calculation time.
- the pruning unit 103 is a solution search device that gradually shortens the time interval for performing pruning as the solution search time elapses.
- the pruning unit 103 is a solution search device that separates, from the search tree, a node having an evaluation value that does not satisfy a predetermined criterion when the size of the search tree exceeds a certain size.
- the size of the search tree can be reliably suppressed below a certain size.
- the pruning unit 103 is a solution search apparatus that uses different evaluation values for pruning based on the time interval and pruning based on the size of the search tree.
- the pruning unit 103 is a solution search device that determines whether to detach a node from the search tree based on an evaluation value different from the evaluation value used when the execution unit 101 selects a node.
- the update unit 102 calculates an evaluation value for each of a plurality of evaluation functions using a plurality of evaluation functions based on the simulation result, and calculates a harmonic average of the calculated evaluation values as a comprehensive evaluation value.
- the pruning unit 103 updates the evaluation value of the selected node and its upper node based on the comprehensive evaluation value, and the pruning unit 103 determines whether to disconnect the node from the search tree based on the comprehensive evaluation value. Search device.
- the weighting factor for each evaluation value of the harmonic average is distinguished between an evaluation function for selecting a node and an evaluation function used for pruning, whereby a low-value node is used in pruning. Can be selected and removed more appropriately.
- the evaluation function can be changed in the depth of the search tree of each node. Thereby, the number of node simulations can be increased appropriately.
- a solution search apparatus comprising: a pruning unit 103 that separates nodes having no evaluation value from the search tree.
- the pruning part 103 determines the time interval which performs pruning based on the designated calculation time, and has the evaluation value which does not satisfy
- the pruning part 103 is a solution search apparatus of Additional remark 2 which shortens the time interval which performs pruning gradually with progress of the time of solution search.
- the pruning unit 103 separates nodes having evaluation values that do not satisfy a predetermined criterion from the search tree when the size of the search tree exceeds a certain size.
- the solution search apparatus as described in any one of them.
- the pruning unit 103 determines whether to detach the node from the search tree based on an evaluation value different from the evaluation value used when the execution unit 101 selects a node.
- the solution search apparatus as described in any one of these.
- the updating unit 102 uses the evaluation function for selecting a node and the evaluation function for separating the node from the search tree, assigned to each node, based on the simulation result.
- the update part 102 is based on the simulation result, the evaluation function for selecting the node allocated to each edge, and the evaluation function for separating the node from the search tree allocated to each node.
- DAG directed acyclic graph
- the updating unit 102 calculates an evaluation value for each of a plurality of evaluation functions using a plurality of evaluation functions based on the simulation result, and calculates a harmonic average of the calculated evaluation values as a comprehensive evaluation value. Then, based on the comprehensive evaluation value, the evaluation values of the selected node and its upper node are updated, and the pruning unit 103 determines whether to detach the node from the search tree based on the comprehensive evaluation value.
- the solution search device according to any one of supplementary notes 1 to 8.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Geometry (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
以下、本発明の第1の実施形態を図面を参照して説明する。
以下、本発明の第2の実施形態を説明する。
以下、本発明の第3の実施形態を説明する。
以下、本発明の第4の実施形態を説明する。
以下、本発明の第5の実施形態を図面を参照して説明する。
2 最適化装置
11 操作部
12 表示部
21 GUI部
22 計算部
23 記憶部
101 実行部
102 更新部
103、225 枝刈部
221 選択部
222 拡大部
223 シミュレーション部
224 評価値更新部
2251 第1の枝刈部
2252 第2の枝刈部
Claims (10)
- シミュレーションを用いた解探索において、探索木中の選択肢となるノードの中からシミュレーションの実行対象となるノードを選択し、選択された前記ノードからシミュレーションを実行する実行部と、
シミュレーション結果をもとに、評価関数を用いて評価値を算出し、当該評価値をもとに、選択された前記ノードおよびその上位ノードの評価値を更新する更新部と、
予め定められた基準を満たさない評価値を持つノードを探索木から切り離す枝刈部とを含む
ことを特徴とする解探索装置。 - 枝刈部は、指定された計算時間をもとに、枝刈を実行する時間間隔を決定し、当該時間間隔にもとづいて、予め定められた基準を満たさない評価値を持つノードを探索木から切り離す処理を実行する
請求項1に記載の解探索装置。 - 枝刈部は、解探索の時間の経過とともに、枝刈を実行する時間間隔を徐々に短くする
請求項2に記載の解探索装置。 - 枝刈部は、探索木の大きさが一定の大きさを超えたときに、予め定められた基準を満たさない評価値を持つノードを探索木から切り離す
請求項1から請求項3のうちのいずれか1項に記載の解探索装置。 - 枝刈部は、時間間隔にもとづく枝刈と探索木の大きさにもとづく枝刈とで、別々の評価値を用いる
請求項4に記載の解探索装置。 - 枝刈部は、実行部がノードを選択するときに用いる評価値とは別の評価値にもとづいて、ノードを探索木から切り離すか否かを判定する
請求項1から請求項5のうちのいずれか1項に記載の解探索装置。 - 更新部は、シミュレーション結果をもとに、複数の評価関数を用いて、前記複数の評価関数ごとに評価値を算出し、算出した各評価値の調和平均を総合評価値として算出し、前記総合評価値をもとに、選択されたノードおよびその上位ノードの評価値を更新し、
枝刈部は、前記総合評価値をもとにノードを探索木から切り離すか否かを判定する
請求項1から請求項6のうちのいずれか1項に記載の解探索装置。 - 更新部は、探索木の深さに応じて、調和平均を算出する際の各評価値に対する重み係数を変更する
請求項7に記載の解探索装置。 - シミュレーションを用いた解探索において、探索木中の選択肢となるノードの中からシミュレーションの実行対象となるノードを選択し、選択された前記ノードからシミュレーションを実行し、
シミュレーション結果をもとに、評価関数を用いて評価値を算出し、当該評価値をもとに、選択された前記ノードおよびその上位ノードの評価値を更新し、
予め定められた基準を満たさない評価値を持つノードを探索木から切り離す
ことを特徴とする解探索方法。 - コンピュータに、
シミュレーションを用いた解探索において、探索木中の選択肢となるノードの中からシミュレーションの実行対象となるノードを選択し、選択された前記ノードからシミュレーションを実行する処理と、
シミュレーション結果をもとに、評価関数を用いて評価値を算出し、当該評価値をもとに、選択された前記ノードおよびその上位ノードの評価値を更新する処理と、
予め定められた基準を満たさない評価値を持つノードを探索木から切り離す処理とを
実行させるための解探索プログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/759,598 US20150347649A1 (en) | 2013-01-25 | 2013-12-27 | Solution search device, solution search method, and solution search program |
| JP2014558303A JP6222114B2 (ja) | 2013-01-25 | 2013-12-27 | 解探索装置、解探索方法および解探索プログラム |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013011628 | 2013-01-25 | ||
| JP2013-011628 | 2013-01-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2014115232A1 true WO2014115232A1 (ja) | 2014-07-31 |
Family
ID=51227049
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2013/007673 Ceased WO2014115232A1 (ja) | 2013-01-25 | 2013-12-27 | 解探索装置、解探索方法および解探索プログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20150347649A1 (ja) |
| JP (1) | JP6222114B2 (ja) |
| WO (1) | WO2014115232A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020009122A (ja) * | 2018-07-06 | 2020-01-16 | 国立研究開発法人産業技術総合研究所 | 制御プログラム、制御方法及びシステム |
| EP3621001A1 (en) | 2018-09-04 | 2020-03-11 | Hitachi, Ltd. | Solution searching device |
| WO2025126647A1 (ja) * | 2023-12-12 | 2025-06-19 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
| WO2025126648A1 (ja) * | 2023-12-12 | 2025-06-19 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6889087B2 (ja) * | 2017-10-25 | 2021-06-18 | 株式会社デンソーアイティーラボラトリ | 行列分解装置及び行列分解方法 |
| US10970127B1 (en) * | 2020-02-11 | 2021-04-06 | Verizon Patent And Licensing Inc. | Systems and methods for virtual machine resource optimization using machine learning techniques |
| US10915372B1 (en) | 2020-02-11 | 2021-02-09 | Verizon Patent And Licensing Inc. | Systems and methods for virtual machine resource optimization using tree traversal techniques representing alternate configurations |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011027910A (ja) * | 2009-07-23 | 2011-02-10 | Kddi Corp | パターン認識方法および装置ならびにパターン認識プログラムおよびその記録媒体 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2505980B2 (ja) * | 1993-04-16 | 1996-06-12 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 静的辞書作成方法及びコンピュ―タ実行システム |
| JPH09114849A (ja) * | 1995-10-16 | 1997-05-02 | N T T Data Tsushin Kk | 木探索装置及び木探索方法 |
| US8838510B2 (en) * | 2011-09-16 | 2014-09-16 | International Business Machines Corporation | Choosing pattern recognition algorithms and data features using a genetic algorithm |
-
2013
- 2013-12-27 US US14/759,598 patent/US20150347649A1/en not_active Abandoned
- 2013-12-27 WO PCT/JP2013/007673 patent/WO2014115232A1/ja not_active Ceased
- 2013-12-27 JP JP2014558303A patent/JP6222114B2/ja not_active Expired - Fee Related
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011027910A (ja) * | 2009-07-23 | 2011-02-10 | Kddi Corp | パターン認識方法および装置ならびにパターン認識プログラムおよびその記録媒体 |
Non-Patent Citations (3)
| Title |
|---|
| CAMERON B. BROWNE ET AL.: "A Survey of Monte Carlo Tree Search Methods", IEEE TRANSACTIONS ON COMPUTATIONAL INTELLIGENCE AND AI IN GAMES, vol. 4, no. 1, March 2012 (2012-03-01), pages 1 - 43 * |
| KENDAI IJIRI ET AL.: "A Method to Assess Suitability of Solution Space for Simulated Annealing", IPSJ SIG NOTES, vol. 2002, no. 19, 5 March 2002 (2002-03-05), pages 33 - 36 * |
| RYUHEI KITAGAWA ET AL.: "Pruning in UCT search based on limitedness of computational resource", DAI 13 KAI GAME PROGRAMMING WORKSHOP 2008 RONBUNSHU, vol. 2008, no. 11, 31 October 2008 (2008-10-31), pages 46 - 53 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020009122A (ja) * | 2018-07-06 | 2020-01-16 | 国立研究開発法人産業技術総合研究所 | 制御プログラム、制御方法及びシステム |
| JP7093547B2 (ja) | 2018-07-06 | 2022-06-30 | 国立研究開発法人産業技術総合研究所 | 制御プログラム、制御方法及びシステム |
| EP3621001A1 (en) | 2018-09-04 | 2020-03-11 | Hitachi, Ltd. | Solution searching device |
| WO2025126647A1 (ja) * | 2023-12-12 | 2025-06-19 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
| WO2025126648A1 (ja) * | 2023-12-12 | 2025-06-19 | 富士フイルム株式会社 | 情報処理装置、情報処理方法、及び情報処理プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US20150347649A1 (en) | 2015-12-03 |
| JP6222114B2 (ja) | 2017-11-01 |
| JPWO2014115232A1 (ja) | 2017-01-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6222114B2 (ja) | 解探索装置、解探索方法および解探索プログラム | |
| CN113326852B (zh) | 模型训练方法、装置、设备、存储介质及程序产品 | |
| EP3327592A1 (en) | Information processing method, information processing apparatus, and non-transitory recording medium | |
| JP2019096313A (ja) | 情報処理方法及び情報処理装置 | |
| JP2014160457A (ja) | 対話的変数選択装置、対話的変数選択方法および対話的変数選択プログラム | |
| JP2016012285A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| RU2006117318A (ru) | Устройство анализа характеристик документа для документа, который должен исследоваться | |
| CN114003306A (zh) | 一种显存优化方法、装置、设备及存储介质 | |
| JPWO2014087590A1 (ja) | 最適化装置、最適化方法および最適化プログラム | |
| JP2018173909A (ja) | 学習プログラム、学習方法および学習装置 | |
| JP2009237923A (ja) | 学習方法およびシステム | |
| JP2010009518A (ja) | パターン検出器の学習装置、学習方法及びプログラム | |
| WO2021090484A1 (ja) | 学習装置、情報統合システム、学習方法、及び、記録媒体 | |
| JP5964781B2 (ja) | 検索装置、検索方法および検索プログラム | |
| US20250322284A1 (en) | Non-transitory computer-readable recording medium, calculation method and information processing device | |
| WO2020039790A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
| CN112740237A (zh) | 训练人工神经网络的方法和装置 | |
| JP2014142849A (ja) | 解探索装置、解探索方法および解探索プログラム | |
| JP2014142848A (ja) | 解探索装置、解探索方法および解探索プログラム | |
| KR20190040864A (ko) | 부호화된 방향성 네트워크에서의 표현 학습 방법 및 장치 | |
| JP6005583B2 (ja) | 検索装置、検索方法および検索プログラム | |
| JP7489275B2 (ja) | 情報処理装置、情報処理システムおよび情報処理方法 | |
| JP7024502B2 (ja) | ニーポイント選択プログラム、ニーポイント選択方法およびニーポイント選択装置 | |
| JP2018147100A (ja) | 単語学習装置、単語学習方法、及び単語学習プログラム | |
| JP2010055253A (ja) | 不要語決定装置及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13872813 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2014558303 Country of ref document: JP Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 14759598 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 13872813 Country of ref document: EP Kind code of ref document: A1 |







