Information processing device, information processing method, and computer-readable recording medium
Patent Information
- Application Number
- PCT/JP2025/005567
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2026-08-27
Smart Images

Figure JP2025005567_27082026_PF_FP_ABST
Abstract
Description
Information Processing Apparatus, Information Processing Method, and Computer-Readable Recording Medium
[0001] The present disclosure relates to an information processing apparatus and an information processing method for evaluating tasks in a planning system, and further to a computer-readable recording medium for realizing these.
[0002] A system in which agents such as humans and robots formulate an action plan to achieve an objective is called a "planning system". Specifically, when given an environment, a set of possible actions, an initial state, a target state, etc. as tasks, the planning system generates an action sequence from the initial state until the target state is achieved. As a method for expressing tasks, a format called Planning Domain Definition Language (PDDL) disclosed in Non-Patent Document 1 is often used. Also, as a method for expressing tasks, there is another format called SAS+ disclosed in Non-Patent Document 2.
[0003] One of the important technologies in a planning system is a heuristic function. A heuristic function is one that estimates the cost from the input state to the target state when a state is input. By using this estimated cost (estimated value), the calculation for generating an action sequence can be accelerated.
[0004] Specifically, according to the heuristic function, a task (referred to as a relaxed task) in which some conditions of the task input to the planning system are relaxed is generated, and an action sequence (referred to as a relaxed action sequence) is calculated on the relaxed task, whereby the cost of the relaxed action sequence from the input state to the target state is estimated.
[0005] Typical heuristic functions in a planning system include the fast forward heuristic function (FF heuristic function) disclosed in Non-Patent Document 3 and the causal graph heuristic function (CG heuristic function) disclosed in Non-Patent Document 4.
[0006] Furthermore, task pruning is a technique for speeding up calculations in planning systems. In task pruning, when a task is given, elements unnecessary for generating the action sequence are extracted and removed from the task. When the action sequence is calculated in the pruned task (called the post-pruned task), the scale of the problem to be considered is reduced because unnecessary elements have been removed, thus shortening the calculation time.
[0007] Task pruning techniques include the method disclosed in Non-Patent Document 4, which uses a causal graph to extract elements that are not causally related to the elements included in the target state as unnecessary elements.
[0008] Ghallab, M., Knoblock, C., Wilkins, D., Barrett, A., Christianson, D., Friedman, M., Kwok, C., Golden, K., Penberthy, S., Smith, D., Sun, Y., Weld, D., “PDDL - The Planning Domain Definition Language”, 1998, Internet <URL: https: / / planning.wiki / _citedpapers / pddl1998.pdf> Backstrom, C., Nebel, B., “Complexity results for SAS+ planning.”, Computational Intelligence.11(4), 625-655, 1995Hoffmann, J., “FF: The Fast-Forward Planning System. AI Magazine”, 22(3), 57, 2001, Internet <URL: https: / / doi.org / 10.1609 / aimag.v22i3.1572> Helmert, M., “The Fast Downward Planning System.”, J. Artif. Intell. Res., 26, 191-246, 2006, Internet <URL: https: / / doi.org / 10.48550 / arXiv.1109.6051>
[0009] However, traditional task pruning methods have a problem in that even after pruning is performed, many tasks are judged to have almost no unnecessary elements.
[0010] For example, in the task pruning method using a causal graph disclosed in Non-Patent Document 4, all situations are considered to determine whether an element has a causal relationship with an element included in the target state, and only elements that do not have a causal relationship with any of the elements included in the target state are extracted as unnecessary elements. In other words, conventional task pruning methods consider situations that are not considered in the actual planning system's action sequence generation to determine whether a causal relationship exists, resulting in the conclusion that there are almost no unnecessary elements.
[0011] As a concrete example, consider a transport task. In this task, the objective is for a mobile robot with an arm to transport a specified item to a specified location. However, the robot's arm can only carry one item at a time. Intuitively, in a task to transport a specific item, other items seem irrelevant and could be extracted as unnecessary elements. However, conventional task pruning methods would incorrectly determine that items other than the one to be transported are also not unnecessary.
[0012] This is because, if we consider a situation where a robot is holding an object with its arm, in order to pick up the object it wants to carry, it must first put down the object it is currently holding, and therefore, the object it is currently holding cannot be ignored in order to achieve its objective. Furthermore, since a robot may hold any object, all objects are deemed to be related to the object it wants to carry and are not unnecessary elements.
[0013] On the other hand, contrary to the above, let's consider a case where we intuitively prune items other than the item we want to carry as unnecessary elements. In this case, as mentioned above, if the robot's arm is holding any one of those items, the pruned task will not include a sequence of actions that achieve the objective. Therefore, in the pruned task, it becomes impossible for the planning system to generate a sequence of actions that achieve the objective.
[0014] Therefore, it is important to evaluate whether the pruning for a task is appropriate and to be able to modify the pruning based on that evaluation.
[0015] One example of the purpose of this disclosure is to enable evaluation of whether task pruning in a planning system is appropriate.
[0016] To achieve the above objective, an information processing device in one aspect of this disclosure is characterized by comprising: an input receiving means for receiving a task and pruning for the task as input; a task pruning application means for applying the pruning to the task to generate a pruned task; a heuristic function execution means for executing a heuristic function in the pruned task; and a task pruning evaluation means for evaluating the pruning for the task using the execution result of the heuristic function.
[0017] Furthermore, in order to achieve the above objective, the information processing method in one aspect of this disclosure is characterized by: receiving a task and pruning for the task as input; applying the pruning to the task to generate a pruned task; executing a heuristic function in the pruned task; and evaluating the pruning for the task using the result of executing the heuristic function.
[0018] Furthermore, in order to achieve the above objective, a computer-readable recording medium in one aspect of this disclosure is characterized by recording a program that includes instructions for causing a computer to accept a task and pruning for the task as input, to apply the pruning to the task to generate a pruned task, to execute a heuristic function in the pruned task, and to evaluate the pruning for the task using the result of executing the heuristic function.
[0019] As described above, this disclosure makes it possible to evaluate whether task pruning in a planning system is appropriate.
[0020] Figure 1 is a schematic diagram showing the general configuration of an example of an information processing device. Figure 2 is a configuration diagram specifically showing the configuration of an example of an information processing device. Figure 3 is a flowchart showing an example of the operation of an information processing device. Figure 4 is a block diagram showing an example of a computer that implements an information processing device.
[0021] (Embodiment 1) Hereinafter, the information processing device, information processing method, and program in Embodiment 1 will be described with reference to Figures 1 to 3.
[0022] [Device Configuration] First, the schematic configuration of an example of an information processing device will be explained using Figure 1. Figure 1 is a configuration diagram showing the schematic configuration of an example of an information processing device.
[0023] The information processing device 10 shown in Figure 1 is a task evaluation layer value for evaluating tasks in a planning system. As shown in Figure 1, the information processing device 10 includes an input receiving unit 11, a task pruning application unit 12, a heuristic function execution unit 13, and a task pruning evaluation unit 14.
[0024] The input receiving unit 11 receives a task and pruning for that task as input. The task pruning application unit 12 applies the input pruning to the input task to generate a pruned task. The heuristic function execution unit 13 executes a heuristic function on the pruned task. The task pruning evaluation unit 14 evaluates the pruning for the task using the result of executing the heuristic function.
[0025] Thus, the information processing device 10 can evaluate how appropriate the pruning of a task is. Based on this evaluation, the planning system can decide whether to adopt or reject a task pruning, or select a task pruning option from among several candidate options. Furthermore, even if the task pruning is inappropriate, the planning system can evaluate how much modification is needed to make it appropriate and provide guidance for correcting the task pruning.
[0026] Next, the configuration and functions of the information processing device 10 will be specifically explained using Figure 2. Figure 2 is a configuration diagram that specifically shows the configuration of an example of an information processing device.
[0027] As shown in Figure 2, the information processing device 10 is connected to the planning system 100 via a network or the like, enabling data communication. The planning system 100 is a system that formulates action plans for agents such as humans and robots to achieve their objectives. The information processing device 10 may also be located within the planning system 100.
[0028] Furthermore, as shown in Figure 2, the information processing device 10 includes an evaluation output unit 15 in addition to the input receiving unit 11, task pruning application unit 12, heuristic function execution unit 13, and task pruning evaluation unit 14 shown in Figure 1.
[0029] As described above, the input receiving unit 11 accepts a task and pruning for that task as input. Here, the "pruning for the task" that is input represents a set of elements that are predicted to be unnecessary for the achievement of the task.
[0030] Furthermore, the "task elements" referred to here mainly consist of states and actions. Taking a transport task as an example, the state can be represented as a combination of the robot's position and the positions of each item. In this case, if we want to prune the task so that an item does not need to be moved from its initial state defined by the task, we can simply make all states in which the item exists at a location other than its initial position unnecessary elements. Thus, this task pruning can also be represented by making actions unnecessary elements. For example, task pruning can be represented by making "all actions that change the position of an item (specifically, such as the robot picking up an item)" unnecessary elements.
[0031] Furthermore, for example, tasks and pruning for those tasks may be entered in PDDL format disclosed in Non-Patent Document 1 or SAS+ format disclosed in Non-Patent Document 2.
[0032] As described above, the task pruning application unit 12 generates a pruned task by applying pruning to the input task. Specifically, the task pruning application unit 12 generates a pruned task by deleting elements that are unnecessary for pruning from the input task.
[0033] For example, if tasks are entered in PDDL format, the task pruning application unit 12 can easily delete unnecessary actions. Also, if the format is SAS+, since the state is given as a variable value, the task pruning application unit 12 can easily delete unnecessary states by deleting specific variable values.
[0034] On the other hand, there are cases where simply deleting unnecessary elements is difficult. For example, in the PDDL format, the range of possible states is not explicitly defined in advance, making it difficult to delete a specific state.
[0035] Therefore, the task pruning application unit 12 can also convert unnecessary states into unnecessary actions before deleting unnecessary elements. That is, for each unnecessary state, the task pruning application unit 12 considers all actions that could cause that unnecessary state to be unnecessary actions. For example, if the state of the robot being in room A is unnecessary, then the task pruning application unit 12 considers all actions that cause the robot to enter room A to be unnecessary actions (hereafter, this process will be conveniently referred to as "converting pruning on states to pruning on actions").
[0036] The heuristic function execution unit 13 executes a heuristic function in the pruned task generated by the task pruning application unit 12, using the initial state of the task as input.
[0037] Here, the heuristic function used in this invention will be explained in detail. When a state is input, the heuristic function calculates a sequence of actions (relaxed action sequence) from the input state to the target state on a task with some relaxed conditions (relaxed task). If a relaxed action sequence is found, the cost of that relaxed action sequence is used as the estimated cost from the input state to the target state. In most cases, the cost of an action sequence including a relaxed action sequence is the sum of the costs of each action included in the action sequence. If a relaxed action sequence is not found, an infinite value is generally used as the estimated cost.
[0038] Thus, according to the heuristic function, a sequence of relaxation actions is calculated on the relaxation task. Therefore, the computation time is significantly reduced compared to calculating a sequence of actions to achieve the task in a planning system.
[0039] The heuristic function execution unit 13 can use any heuristic function, such as the FF heuristic function disclosed in Non-Patent Document 3 and the CG heuristic function disclosed in Non-Patent Document 4.
[0040] As described above, the task pruning evaluation unit 14 evaluates the pruning of tasks using the execution result of the heuristic function. There are various variations as evaluation methods, and here two evaluation methods considered useful will be described.
[0041] Evaluation method 1: Evaluation method 1 is a method of evaluating whether task pruning is appropriate or not. In evaluation method 1, when the estimated value of the cost of the heuristic function is finite, it is evaluated that the pruning of the task is appropriate, and in other cases, it is evaluated that the pruning of the task is inappropriate.
[0042] Evaluation method 2: Evaluation method 2 is a method of using the estimated value of the cost of the heuristic function itself as the evaluation value of the appropriateness of task pruning. In evaluation method 2, the smaller the evaluation value, the higher the appropriateness is considered.
[0043] In other words, the above-mentioned evaluation method 1 is an evaluation method that only evaluates (or estimates) whether the task after pruning includes an action sequence that achieves the goal. When the heuristic function outputs infinity as the estimated cost value, it is highly likely that the task does not include an action sequence that satisfies the goal. In particular, when using the FF heuristic function, if the estimated cost value is infinite, it is guaranteed that the task does not include an action sequence that satisfies the goal. Evaluation method 1 is an evaluation method that is easy to use to determine whether to adopt the pruning of a task when one candidate for task pruning is given.
[0044] In other words, the above-mentioned evaluation method 2 is an evaluation method that is easy to use to determine which task pruning to adopt when multiple candidates for task pruning are given. In evaluation method 2, even when the estimated cost value output by the heuristic function is finite, the cost of the action sequence for achieving the goal may increase due to task pruning.
[0045] For example, in a task where there are multiple robots, consider a situation where the goal can be achieved by only one robot. At this time, as a candidate for pruning the task, pruning where only that robot acts for each robot is given, that is, pruning that makes the actions of all robots other than the selected robot unnecessary.
[0046] In such a case, relatively speaking, there will be a robot that is relatively easy to achieve the goal (a robot with a small cost of the action sequence to achieve the goal) and a robot that is difficult to achieve the goal (a robot with a large cost of the action sequence to achieve the goal). Therefore, by using Evaluation Method 2 and taking the output of the heuristic function, which is an estimated value of the cost of the action sequence to achieve the goal, as the evaluation value, it is possible to select, as the optimal one, the pruning of the task for which it is estimated that the cost of the generated action sequence will be the smallest.
[0047] The evaluation output unit 15 outputs an evaluation of the task pruning by the task pruning evaluation unit 14 described above. An example of the output destination of the evaluation output unit 15 is the planning system 100.
[0048] [Device Operation] Next, the operation of the information processing device 10 will be described using FIG. 3. FIG. 3 is a flowchart showing an example of the operation of the information processing device. In the following description, FIGS. 1 and 2 will be referred to as appropriate. Also, in Embodiment 1, an information processing method is implemented by operating the information processing device 10. Therefore, in Embodiment 1, the description of the information processing method will be replaced with the following description of the operation of the information processing device 10.
[0049] As shown in FIG. 3, first, the input reception unit 11 receives, as inputs, a task and pruning for that task (step A1). The pruning input in step A1 is represented by a set of elements predicted to be unnecessary for achieving the task.
[0050] Next, the task pruning application unit 12 applies the pruning input in step A1 to the task input in step A1 to generate a pruned task (step A2).
[0051] Specifically, in step A2, the task pruning application unit 12 generates a pruned task by deleting elements that are unnecessary for pruning as specified in step A1 from the task input in step A1.
[0052] Next, the heuristic function execution unit 13 executes a heuristic function in the pruned task generated in step A2, using the initial state of the task input in step A1 as input (step A3).
[0053] Next, the task pruning evaluation unit 14 evaluates the pruning of the task using the execution result of the heuristic function in step A3 (step A4).
[0054] Subsequently, the evaluation output unit 15 outputs the evaluation of the task pruning in step A4 to the planning system 100 (step A5).
[0055] [Effects of Embodiment 1] As described above, according to Embodiment 1, the degree to which pruning is appropriate for a task can be evaluated based on the execution result of a heuristic function. Therefore, the planning system 100 can decide whether to adopt or reject pruning for a certain task based on this evaluation, and furthermore, it can select the task pruning to adopt from among multiple task pruning candidates.
[0056] [Program] In Embodiment 1, the program is one that causes a computer to execute steps A1 to A5 shown in Figure 3. By installing and executing this program on a computer, the information processing device 10 and the information processing method can be realized. In this case, the computer's processor functions as an input receiving unit 11, a task pruning application unit 12, a heuristic function execution unit 13, a task pruning evaluation unit 14, and an evaluation output unit 15, and performs processing. In addition to server devices and general-purpose PCs, the computer can also be a smartphone or a tablet terminal device.
[0057] Furthermore, in Embodiment 1, the program may be executed by a computer system constructed by multiple computers. In this case, for example, each computer may function as one of the following: an input receiving unit 11, a task pruning application unit 12, a heuristic function execution unit 13, a task pruning evaluation unit 14, and an evaluation output unit 15.
[0058] (Embodiment 2) Next, the information processing device, information processing method, and program in Embodiment 2 will be described.
[0059] In Embodiment 2, the information processing device also includes an input receiving unit 11, a task pruning application unit 12, a heuristic function execution unit 13, a task pruning evaluation unit 14, and an evaluation output unit 15, similar to the information processing device 10 shown in Figure 2. Furthermore, in Embodiment 2, the operation of the information processing device is performed according to the steps shown in Figure 3.
[0060] However, Embodiment 2 differs from Embodiment 1 in terms of the functions of the task pruning application unit 12 and the task pruning evaluation unit 14. The following description will focus on the differences from Embodiment 1. In the following description, Figures 1 to 3 will be referred to as appropriate.
[0061] First, in Embodiment 1, the degree to which pruning for a task was appropriate was evaluated, but it was difficult to evaluate the degree to which it was inappropriate. In other words, in Embodiment 1, when the estimated cost of the heuristic function was within a finite range, it was possible to evaluate how appropriate it was based on the estimated cost, but when the estimated cost was infinite, it was only possible to evaluate that it was inappropriate.
[0062] However, even if pruning the task results in no longer having a sequence of actions that achieve the objective, the degree of inappropriateness can be considered different depending on the extent to which the elements removed by pruning are restored in order to create a sequence of actions that achieve the objective.
[0063] To put it another way, pruning a task so that a sequence of actions exists that achieves the objective by restoring just one element is inappropriate, but very close to achieving it. On the other hand, in comparison, pruning a task so that a sequence of actions exists that finally achieves the objective after restoring 100 elements is not only inappropriate but also completely off the mark.
[0064] In Embodiment 2, even when task pruning is inappropriate, the degree to which the task pruning is inappropriate, or in other words, the degree of deviation from appropriate task pruning, is evaluated. Embodiment 2 has a feature that differs from Embodiment 1 in this respect.
[0065] In Embodiment 2, the task pruning application unit 12 uses the input task and the pruning applied to this task to generate a pseudo-pruned task that utilizes a penalty cost.
[0066] Specifically, the task pruning application unit 12 first converts the input, scheduled pruning into pruning for all actions that are elements of the input task. Then, the task pruning application unit 12 assigns a sufficiently large cost (hereinafter referred to as "penalty cost") to each action that is deemed unnecessary in the scheduled pruning of the task, and generates a task with the penalty cost assigned to each action as the pruned task. This sufficient cost is predetermined.
[0067] To distinguish it from the tasks after pruning in Embodiment 1, the tasks after pruning in Embodiment 2 will hereafter be referred to as "pseudo-pruning tasks." Furthermore, actions to which a penalty cost is imposed will be referred to as "penalty actions."
[0068] In Embodiment 2, unlike Embodiment 1, the heuristic function execution unit 13 executes a heuristic function using the initial state of the task as input in the pseudo-pruned task generated by the task pruning application unit 12.
[0069] In Embodiment 2, the task pruning evaluation unit 14 evaluates task pruning by focusing on the relaxation action sequence calculated during the execution of the heuristic function, rather than the estimated cost. Here, the relaxation action sequence is a sequence of actions that achieve the objective in the task after the pseudo-pruning task has been relaxed.
[0070] The task pruning evaluation unit 14 uses, for example, the number of penalty behaviors (i.e., behaviors that are pruned) included in the mitigation behavior sequence as an evaluation value for the degree of inappropriateness. In this case, the smaller the evaluation value, the lower the degree of inappropriateness. In other words, the smaller the evaluation value, the closer the task pruning is to being appropriate.
[0071] In Embodiment 2, the evaluation output unit 15 can output a list of penalty actions included in the mitigation action sequence along with the evaluation value. As will be described later, this list of actions is useful information when modifying task pruning.
[0072] Here, the reason why the degree of inadequacy in task pruning can be evaluated in Embodiment 2 will be explained below. Furthermore, in the following, unlike Embodiment 1, it will be assumed that a relaxation behavior sequence is obtained in most cases as a result of executing the heuristic function.
[0073] Since the task after pseudo-pruning does not actually have any elements removed from the task before pruning, if the task before pruning has a sequence of actions that achieve the objective, then the task after pseudo-pruning will also have a sequence of actions that achieve the objective. In particular, when a heuristic function such as FF is used, if the task before pruning has a sequence of actions that achieve the objective, then a sequence of relaxation actions can always be found in the task after pseudo-pruning.
[0074] Therefore, even when inappropriate task pruning is input, the task pruning evaluation unit 14 can evaluate the degree of inappropriateness based on the mitigation behavior sequence. In the pruned task in Embodiment 1, the heuristic function cannot find a mitigation behavior sequence, so inappropriate task pruning is not input.
[0075] Next, we will explain why the number of penalty behaviors included in the mitigating behavior column is a suitable indicator of the degree of inappropriateness.
[0076] A heuristic function calculates the sequence of easing actions that minimizes cost in an easing problem in order to estimate the cost. Naturally, including penalty actions in the sequence of easing actions will cause the cost to skyrocket, so the heuristic function calculates a sequence of easing actions that includes as few penalty actions as possible. In other words, a sequence of easing actions includes penalty actions only if it is impossible to obtain a sequence of easing actions that achieve the objective without penalty actions. Furthermore, even if it is impossible to obtain a sequence of easing actions that achieve the objective without penalty actions, the heuristic function calculates a sequence of easing actions that includes as few penalty actions as possible.
[0077] Considering that penalty actions are actions that are normally eliminated by task pruning, the number of penalty actions included in the mitigation action sequence indicates how many actions must be restored in the pruned task for the task pruning to be evaluated as appropriate in Embodiment 1. In Embodiment 1, the task pruning being evaluated as appropriate means that the heuristic function execution unit 13 outputs a finite cost estimate. Therefore, in Embodiment 2, the task pruning evaluation unit 14 evaluates how close the input task pruning is to appropriate task pruning.
[0078] Furthermore, the list of penalty actions included in the mitigation action column means that "if all penalty actions included in this list are excluded from the actions to be removed by task pruning (i.e., actions that are not removed), then task pruning can be evaluated as appropriate even in Embodiment 1." Therefore, the information in the list of penalty actions is very useful when modifying task pruning.
[0079] As described above, according to Embodiment 2, when task pruning is inappropriate, it is possible to evaluate the degree of deviation between the inappropriate pruning and the appropriate task pruning. Furthermore, in Embodiment 2, the planning system 100 can correct task pruning using a list of penalty actions.
[0080] Furthermore, in Embodiment 2, the information processing method is carried out by operating the information processing device in accordance with each step shown in Figure 3. In addition, in Embodiment 2, the program is a program that causes the computer to execute steps A1 to A5 shown in Figure 3.
[0081] (Physical Configuration) Here, a computer that realizes an information processing device by executing the programs in Embodiments 1 and 2 will be described using Figure 4. Figure 4 is a block diagram showing an example of a computer that realizes an information processing device.
[0082] As shown in Figure 4, the computer 110 comprises a CPU (Central Processing Unit) 111, main memory 112, storage device 113, input interface 114, display controller 115, data reader / writer 116, and communication interface 117. Each of these components is connected to the others via a bus 121, enabling data communication.
[0083] Furthermore, the computer 110 may be equipped with a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to, or instead of, the CPU 111. In this embodiment, the GPU or FPGA can execute the program in the embodiment.
[0084] The CPU 111 loads the program in the embodiment, which consists of a group of codes stored in the storage device 113, into the main memory 112, and performs various calculations by executing each code in a predetermined order. The main memory 112 is typically a volatile storage device such as DRAM (Dynamic Random Access Memory).
[0085] Furthermore, the program in this embodiment is provided stored on a computer-readable recording medium 120. The program in this embodiment may also be distributed over the Internet via a communication interface 117.
[0086] Furthermore, specific examples of the storage device 113 include hard disk drives and semiconductor storage devices such as flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and mouse. The display controller 115 is connected to the display device 119 and controls the display on the display device 119.
[0087] The data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, reads programs from the recording medium 120, and writes processing results from the computer 110 to the recording medium 120. The communication interface 117 mediates data transmission between the CPU 111 and other computers.
[0088] Furthermore, specific examples of the recording medium 120 include general-purpose semiconductor memory devices such as CF (Compact Flash®) and SD (Secure Digital), magnetic recording media such as Flexible Disks, or optical recording media such as CD-ROMs (Compact Disk Read Only Memory).
[0089] Furthermore, the information processing device can be implemented not only by a computer with a program installed, but also by using hardware corresponding to each part, such as electronic circuits. Moreover, the information processing device may be partially implemented by a program and the remaining parts by hardware. In this embodiment, the computer is not limited to the computer shown in Figure 4.
[0090] Some or all of the embodiments described above can be expressed by (Appendix 1) to (Appendix 12) described below, but are not limited to the following descriptions.
[0091] (Note 1) An information processing device comprising: an input receiving means for receiving a task and pruning for the task as input; a task pruning application means for applying the pruning to the task to generate a pruned task; a heuristic function execution means for executing a heuristic function in the pruned task; and a task pruning evaluation means for evaluating the pruning for the task using the result of executing the heuristic function.
[0092] (Note 2) The information processing apparatus according to Note 1, wherein the pruning is represented by a set of elements that are predicted to be unnecessary for achieving the task, and the task pruning application means applies the pruning to the task by deleting the set of elements that are predicted to be unnecessary for achieving the task from the task.
[0093] (Note 3) The information processing apparatus according to Note 1, wherein the task pruning application means converts the pruning into pruning on actions which are elements of the input task, assigns a predetermined cost to each action to be pruned, thereby generating a pseudo-pruned task, the heuristic function execution means executes a heuristic function on the pseudo-pruned task, and the task pruning evaluation means evaluates the pruning on the task based on the actions to be pruned which are included in the sequence of relaxation actions calculated in the process of executing the heuristic function.
[0094] (Appendix 4) The information processing apparatus according to Appendix 1, further comprising an evaluation output means for outputting the results of the pruning evaluation for the task.
[0095] (Note 5) An information processing method characterized by comprising: an input acceptance step of accepting a task and pruning for the task as input; a task pruning application step of applying the pruning to the task to generate a pruned task; a heuristic function execution step of executing a heuristic function in the pruned task; and a task pruning evaluation step of evaluating the pruning for the task using the result of executing the heuristic function.
[0096] (Note 6) The information processing method according to Note 5, wherein the pruning is represented by a set of elements that are predicted to be unnecessary for the achievement of the task, and in the task pruning application step, the pruning is applied to the task by deleting the set of elements that are predicted to be unnecessary for the achievement of the task from the task.
[0097] (Note 7) The information processing method described in Note 5, wherein in the task pruning application step, the pruning is converted into pruning on actions which are elements of the input task, a predetermined cost is assigned to each action to be pruned, thereby generating a pseudo-pruned task; in the heuristic function execution step, the heuristic function is executed on the pseudo-pruned task; and in the task pruning evaluation step, the pruning on the task is evaluated based on the actions to be pruned which are included in the sequence of mitigation actions calculated during the execution of the heuristic function.
[0098] (Appendix 8) The information processing method according to Appendix 5, further comprising an evaluation output step for outputting the results of the evaluation of pruning for the task.
[0099] (Note 9) A computer-readable recording medium that records a program that includes instructions for a computer to execute: an input acceptance step of accepting a task and pruning for the task as input; a task pruning application step of applying the pruning to the task to generate a pruned task; a heuristic function execution step of executing a heuristic function in the pruned task; and a task pruning evaluation step of evaluating the pruning for the task using the result of executing the heuristic function.
[0100] (Note 10) The computer-readable recording medium according to Note 9, wherein the pruning is represented by a set of elements that are predicted to be unnecessary for the achievement of the task, and in the task pruning application step, the pruning is applied to the task by removing the set of elements that are predicted to be unnecessary for the achievement of the task from the task.
[0101] (Note 11) A computer-readable recording medium as described in Note 9, wherein in the task pruning application step, the pruning is converted into pruning on actions which are elements of the input task, a predetermined cost is assigned to each action to be pruned, thereby generating a pseudo-pruned task; in the heuristic function execution step, a heuristic function is executed on the pseudo-pruned task; and in the task pruning evaluation step, the pruning on the task is evaluated based on the actions to be pruned which are included in the sequence of mitigation actions calculated during the execution of the heuristic function.
[0102] (Note 12) The computer-readable recording medium according to Note 9, further comprising an instruction causing the program to execute an evaluation output step that outputs the results of an evaluation of pruning for the task.
[0103] Although the present invention has been described above with reference to embodiments, the present invention is not limited to the above embodiments. Various modifications to the structure and details of the present invention can be made, as can be understood by those skilled in the art within the scope of the present invention.
[0104] As described above, this disclosure allows for the evaluation of whether task pruning in a planning system is appropriate. This disclosure is useful for planning systems.
[0105] 10 Information processing device 11 Input receiving unit 12 Task pruning application unit 13 Heuristic function execution unit 14 Task pruning evaluation unit 15 Evaluation output unit 100 Planning system 110 Computer 111 CPU 112 Main memory 113 Storage device 114 Input interface 115 Display controller 116 Data reader / writer 117 Communication interface 118 Input device 119 Display device 120 Recording medium 121 Bus
Claims
1. An information processing device comprising: an input receiving means for receiving a task and pruning for the task as input; a task pruning application means for applying the pruning to the task to generate a pruned task; a heuristic function execution means for executing a heuristic function in the pruned task; and a task pruning evaluation means for evaluating the pruning for the task using the result of executing the heuristic function.
2. The information processing apparatus according to claim 1, wherein the pruning is represented by a set of elements that are predicted to be unnecessary for achieving the task, and the task pruning application means applies the pruning to the task by removing the set of elements that are predicted to be unnecessary for achieving the task from the task.
3. The information processing apparatus according to claim 1, wherein the task pruning application means converts the pruning into pruning on actions which are elements of the input task, assigns a preset cost to each action to be pruned, thereby generating a pseudo-pruned task; the heuristic function execution means executes a heuristic function on the pseudo-pruned task; and the task pruning evaluation means evaluates the pruning on the task based on the actions to be pruned which are included in the sequence of relaxation actions calculated in the process of executing the heuristic function.
4. The information processing apparatus according to claim 1, further comprising evaluation output means for outputting the results of the evaluation of pruning for the task.
5. An information processing method characterized by receiving a task and pruning applied to the task as input, applying the pruning to the task to generate a pruned task, executing a heuristic function in the pruned task, and evaluating the pruning applied to the task using the result of executing the heuristic function.
6. A computer-readable recording medium that stores a program including instructions for causing a computer to accept a task and pruning for the task as input, to apply the pruning to the task to generate a pruned task, to execute a heuristic function in the pruned task, and to evaluate the pruning for the task using the result of executing the heuristic function.