Information processing device, information processing method, and computer-readable recording medium

WO2026176546A1PCT designated stage Publication Date: 2026-08-27NEC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/005566
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-19
Publication Date
2026-08-27

Smart Images

  • Figure JP2025005566_27082026_PF_FP_ABST
    Figure JP2025005566_27082026_PF_FP_ABST
Patent Text Reader

Abstract

This information processing device 10 comprises: an input reception unit 11 that receives, as inputs, a condition which was an input for a heuristic function and a mitigating action queue which is an execution result of the heuristic function; a mitigating action queue verification unit 12 that determines a sequence for verifying each of the actions constituting the mitigating action queue which was input and that follows the determined sequence and uses the condition which was the input to, per each action, determine whether the condition directly prior to said action satisfies an execution condition for said action, generate a new condition in which the effect of said action has been applied, and apply the generated new condition to the determination regarding the action following said action; and a verification results output unit 13 that uses the results of the determination per each action to output verification results of the heuristic function.
Need to check novelty before this filing date? Find Prior Art

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 verifying a heuristic function used for formulating an action plan, and further relates to a computer-readable recording medium for realizing them.

[0002] A system for formulating an action plan for an agent such as a person or a robot to achieve an objective is called a "planning system". Specifically, 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) described in Non-Patent Document 1 is often used.

[0003] In a planning system, mainly a path search algorithm such as the A* algorithm disclosed in Non-Patent Document 2 is used for generating an action sequence. The state in a planning system does not necessarily represent a physical position. However, if the path between the state before taking a certain action and the state after taking it is regarded as that action, a path can be defined between states, and an action sequence can be generated by a path search algorithm.

[0004] An image of path search in a planning system is shown in FIG. 11. FIG. 11 is a diagram for explaining path search by a conventional planning system. In FIG. 11, the following task of carrying a load by a robot is assumed.

[0005] [Task] ・Environment: There are two rooms, Room A and Room B, and a robot and luggage are located in each room. ・Set of possible actions: The robot in Room A moves to Room B (move(A->B)), the robot in Room B moves to Room A (move(B->A)), the robot picks up the luggage when both are in the same room (pick(luggage)), the robot drops the luggage in the room it is currently in when it is loading it (drop(luggage)). ・Initial state: Both the robot and luggage are in Room A. ・Target state: The luggage is in Room B.

[0006] In the task described above, a path is defined as an action between states, as shown in Figure 11. Therefore, the planning system can generate a sequence of actions from the initial state to the target state using a pathfinding algorithm, as follows: 1. pick (luggage) 2. move (A->B) 3. drop (luggage)

[0007] One of the important techniques in planning systems is the heuristic function. A heuristic function takes a given state as input and estimates the distance (or cost) from that state to the target state. By using this estimated distance (estimated value) (for example, by considering states with lower estimated values ​​as closer to the target state and prioritizing the exploration of paths from those states), the calculation for generating the action sequence can be sped up. Specifically, according to the heuristic function, an estimated value can be obtained by generating a task with some of the conditions of the task input into the planning system relaxed (this is called a relaxed task), and then calculating the action sequence (this is called a relaxed action sequence) on the relaxed task.

[0008] Representative heuristic functions in planning systems 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.

[0009] Furthermore, Non-Patent Documents 3 and 4 disclose a method called priority behavior (or useful behavior). This method treats actions included in the sequence of mitigation behaviors as priority behaviors, which are likely to be useful actions for reaching the target state, and prioritizes exploring paths beyond these priority behaviors.

[0010] Furthermore, Non-Patent Document 4 discloses a method for performing searches using multiple heuristic functions in combination. The higher the accuracy of the distance (or cost) estimation of a heuristic function, the more unnecessary searches can be eliminated, contributing to faster computation. However, the accuracy of a heuristic function varies depending on the type of task, and even within the same task, it depends on which state the distance (or cost) is estimated from. Therefore, in this method, by using multiple heuristic functions in combination, even if the accuracy of one of them is poor, if the accuracy of another is high, the overall computation is expected to be faster.

[0011] Ghallab, M., Knoblock, C., Wilkins, D., Barrett, A., Christianson, D., Friedman, M., Kwok, C., Golden, K., Penberthy, S., Smith, D., Sun, Y., & Weld, D., “The Planning Domain Definition Language”, 1998, PDDL, Internet <URL: https: / / planning.wiki / _citedpapers / pddl1998.pdf>Peter E. Hart; Nils J. Nilsson; Bertram Raphael, “A Formal Basis for the Heuristic Determination of Minimal Cost Paths”, July 1968, IEEE Transactions on Systems Science and Cybernetics 4 (2): 100-107. doi:10.1109 / TSSC.1968.300136. ISSN 0536-1567.Hoffmann, J., “The Fast-Forward Planning System”, 2001, FF, AI Magazine, 22(3), 57, Internet <URL: https: / / doi.org / 10.1609 / aimag.v22i3.1572> Helmert, M., “The Fast Downward Planning System”, 2006, J.Artif, Intell Res, 26 191-246, Internet <URL: https: / / doi.org / 10.48550 / arXiv.1109.6051>

[0012] Applying the aforementioned priority action method to a search method that uses multiple heuristic functions in combination is expected to speed up computation in planning systems. However, the problem lies in the fact that it is unclear how often each heuristic function-based search should be used. This will be explained in detail below.

[0013] First, Non-Patent Document 4 states that the search frequency for preferred actions is one-to-one with the search frequency for other actions. Furthermore, Non-Patent Document 4 proposes an algorithm that uses heuristic functions in combination, in which searches based on each heuristic function are performed with equal frequency.

[0014] For example, since the number of priority actions is very small compared to the number of other actions, searching for them at a 1:1 frequency means that priority actions will be relatively prioritized. For instance, if there are 10 priority actions and 100 other actions, and they are searched at a frequency proportional to their numbers, the ratio of priority actions to other actions being searched will be 1:10 (10:100). On the other hand, if the search ratio between priority actions and other actions is 1:1, priority actions will be searched 10 times more frequently.

[0015] However, this does not necessarily mean that the same frequency is the optimal frequency. As mentioned above, the higher the accuracy of the heuristic function, the faster the computation can be expected. Therefore, if it is known that a certain heuristic function has high accuracy, rather than keeping the same frequency, increasing the frequency of searches based on that heuristic function can be expected to further speed up the computation. However, it is difficult to appropriately determine the search frequency based on each heuristic function. The reason for this is that the accuracy of the heuristic function cannot be verified in a short amount of time.

[0016] For example, one can verify the accuracy of a heuristic function for a given task by actually solving it using a planning system (generating a sequence of actions) and checking the computation speed. However, this verification method takes as much time as it does for the planning system to generate the actions.

[0017] In other words, the reason why the search frequency based on heuristic functions cannot be properly determined is, more precisely, that the accuracy of the heuristic function cannot be verified in a sufficiently short time relative to the computation time of the planning, either before or during the execution of the planning system.

[0018] One example of the purpose of this disclosure is to reduce the time required to verify heuristic functions.

[0019] To achieve the above objective, an information processing device in one aspect of this disclosure is characterized by comprising: an input receiving means that receives a state that has been input to a heuristic function and a sequence of relaxation actions that is the result of executing the heuristic function as input; a relaxation action sequence verification means that determines the order in which to verify each of the actions constituting the input sequence of relaxation actions, and further determines, using the input state, whether the state immediately preceding the action satisfies the execution conditions for that action, generates a new state to which the effect of the action has been applied, and applies the generated new state to the determination for the action following the action; and a verification result output means that outputs the verification result of the heuristic function using the result of the determination for each action.

[0020] Furthermore, in order to achieve the above objective, the information processing method in one aspect of this disclosure is characterized by: receiving a state that has been input to a heuristic function and a sequence of relaxation actions that is the result of executing the heuristic function as input; determining the order in which to verify each of the actions constituting the input sequence of relaxation actions; further determining, using the input state, whether the state immediately preceding the action satisfies the execution conditions for that action, generating a new state to which the effect of the action has been applied; applying the generated new state to the determination for the action following the action; and outputting the verification result of the heuristic function using the result of the determination for each action.

[0021] 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 state that has been input to a heuristic function and a sequence of relaxation actions that are the result of executing the heuristic function as input; causing the computer to determine the order in which to verify each of the actions constituting the input sequence of relaxation actions; further, using the input state, to determine for each action whether the state immediately preceding the action satisfies the execution conditions of the action, to generate a new state to which the effect of the action has been applied, to apply the generated new state to the determination for the action following the action, and to output the verification result of the heuristic function using the result of the determination for each action.

[0022] As described above, this disclosure makes it possible to reduce the time required to verify heuristic functions.

[0023] Figure 1 is a schematic diagram showing the general configuration of an example of an information processing device. Figure 2 is a schematic diagram showing the configuration of an example of an information processing device. Figure 3 is a diagram showing an example of a graph representation of a relaxation action sequence. Figure 4 is a diagram showing an example of a verification order determined by breadth-first search. Figure 5 is a flowchart showing an example of the operation of an information processing device. Figure 6 is a diagram showing an example of the output result of an FF heuristic function. Figure 7 is a diagram showing an example of the verification result of a relaxation action sequence. Figure 8 is a diagram showing another example of the output result of an FF heuristic function. Figure 9 is a diagram showing another example of the verification result of a relaxation action sequence. Figure 10 is a block diagram showing an example of a computer that implements an information processing device. Figure 11 is a diagram explaining pathfinding using a conventional planning system.

[0024] (Embodiment 1) Hereinafter, the information processing device, information processing method, and program will be described with reference to Figures 1 to 10 in the embodiment.

[0025] [Actions in a Planning System] Before explaining the configuration of the information processing device, we will explain actions in a planning system. In a planning system, actions consist of execution conditions and effects.

[0026] The "execution conditions" of an action are the conditions that determine whether or not that action is possible under certain circumstances. Taking the task explained using Figure 11 as an example, the action move(A->B), in which the robot moves from room A to room B, is physically possible when the robot is in room A, but not when the robot is not in room A. Therefore, the action move(A->B) has the execution condition that "the robot is in room A".

[0027] The "effect" of an action refers to what the state will be after the action is performed in a given state. Taking the task used in Figure 11 as an example, the action move(A->B) in which the robot moves from room A to room B, when performed in a given state, will change the robot's position from room A to room B, while leaving everything else unchanged. Therefore, move(A->B) has the effect of "changing the robot's position to room B". Furthermore, an "action" may be expressed in a format such as the PDDL disclosed in Non-Patent Document 1.

[0028] [Device Configuration] First, the general configuration of the information processing device will be explained using Figure 1. Figure 1 is a configuration diagram showing the general configuration of an example of an information processing device.

[0029] The information processing device 10 shown in Figure 1 is a device for verifying heuristic functions used in a planning system. As shown in Figure 1, the information processing device 10 includes an input receiving unit 11, a relaxation action sequence verification unit 12, and a verification result output unit 13.

[0030] The input receiving unit 11 accepts the state that has been input to the heuristic function, and the relaxation action sequence, which is the result of executing the heuristic function, as input.

[0031] The mitigation action sequence verification unit 12 first determines the order in which to verify each action that constitutes the input mitigation action sequence. Next, the mitigation action sequence verification unit 12 uses the input state to determine, for each action, whether the state immediately preceding that action satisfies the execution conditions for that action, in accordance with the determined order. Furthermore, for each action, the mitigation action sequence verification unit 12 generates a new state to which the effect of that action has been applied, and applies the generated new state to the determination of the next action after that action.

[0032] The verification result output unit 13 outputs the verification result of the heuristic function using the result of the judgment for each action.

[0033] In this way, the information processing device 10 can verify the accuracy of the heuristic function without actually solving the task in the planning system. According to the information processing device 10, the heuristic function can be verified in a sufficiently short time compared to the action sequence generation of the planning system. The planning system can then use these verification results to appropriately select the heuristic function and determine the frequency of searches based on the heuristic function, thereby reducing the computation time required for action sequence generation.

[0034] Next, the configuration and functions of the information processing device 10 will be specifically explained using Figures 2 to 4. Figure 2 is a configuration diagram that specifically shows the configuration of an example of an information processing device.

[0035] 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.

[0036] Furthermore, as shown in Figure 2, the information processing device 10 includes an input receiving unit 11, a relaxation action sequence verification unit 12, and a verification result output unit 13, as shown in Figure 1. The relaxation action sequence verification unit 12 is composed of a sequence determination unit 21, a state synthesis unit 22, an action verification unit 23, and an action application unit 24.

[0037] The input receiving unit 11 receives the state of input to the heuristic function and the execution result output by the heuristic function as input from the planning system 100.

[0038] Here, we will explain heuristic functions. 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 (relaxed task) that relaxes some of the conditions of the task input to the planning system. Furthermore, by calculating the action sequence, the heuristic function obtains an estimate of the distance (or cost) from the input state to the target state.

[0039] Specifically, the input receiving unit 11 receives the state that has been input to the heuristic function and the relaxation action sequence calculated by the heuristic function as input.

[0040] The mitigation action sequence verification unit 12 determines the feasibility of the mitigation action sequence entered into the input reception unit 11. The processing in the mitigation action sequence verification unit 12 can be viewed as one of the action sequence verification (plan validation) processes, but it differs from normal action sequence verification in the following two respects.

[0041] - The system targets partially ordered sequences of actions. For this reason, it is equipped with an order determination unit 21 and a state synthesis unit 22. - Even if an unexecutable action is discovered during the verification process, the process continues, and a different process from normal sequence verification is performed to verify the degree of unexecutability (processing in the action application unit 24).

[0042] First, let's explain the general process for validating sequence of actions. Validating a sequence of actions (fully ordered) is generally performed using the following steps (a) to (f).

[0043] (a) In the initial state, it is determined whether the first action is executable. If it is not executable, the action sequence is determined to be non-executable, and the action sequence verification ends. (b) If it is executable, the effect of the first action is applied to the initial state to generate the second state. (c) In the second state, it is determined whether the second action is executable. If it is not executable, the action sequence is determined to be non-executable, and the action sequence verification ends. (d) If it is executable, the effect of the second action is applied to the second state to generate the third state. (e) From the third state to the (N - 1)th state, the same process is repeatedly executed. (f) In the Nth state (the last state), it is determined whether the Nth action is executable. If it is not executable, the action sequence is determined to be non-executable, and the action sequence verification ends. On the other hand, if it is executable, the action sequence is determined to be executable, and the action sequence verification ends.

[0044] By the way, in the relaxed action sequences of many heuristic functions, the order between actions is also relaxed, and the order is not determined between some actions. Those in which the order of all actions is determined are called "total order", while those in which only the order of some actions is determined are called "partial order". An example of expressing the order of a relaxed action sequence as a graph is shown in FIG. 3. FIG. 3 is a diagram showing an example of the graph representation of a relaxed action sequence.

[0045] The graph shown in FIG. 3 shows the order that the action before the arrow (the side where the arrow starts) is executed before the action at the tip of the arrow (the side where the arrow points). That is, in the relaxed action sequence, the action act1 is executed before the actions act3 and act4. Similarly, considering the execution order between act1 and act6, since act1 is before act3 and act4 and act6 is after act3 and act4, it can be seen that act1 is executed before act6. On the other hand, the execution order between some actions such as act3 and act4, act4 and act5, act5 and act6 is not determined. That is, act3 may be either before or after ac4.

[0046] For a partially ordered action sequence, since the processing order is not determined, the processing of normal action sequence verification cannot be used. Further, even if an indeterminate order is determined by any method and the processing of normal action sequence verification is performed, there is a problem that the verification result changes depending on the method of determining the order. Moreover, even if one tries to verify all possible orders, the number of possible order patterns is enormous, so it is difficult to verify all patterns.

[0047] Therefore, in order to verify a partially ordered action sequence, the order determination unit 21 determines the verification order for each action constituting the relaxed action sequence. The verification order may be determined by any method as long as it does not conflict with the execution order of the actions.

[0048] The simplest way to determine the verification order is to add a root node to the directed graph representing the execution order of the relaxed action sequence shown in FIG. 3, and in the graph where edges (arrows) are added from the root node to the nodes without parents (actions without incoming arrows), perform a breadth-first search from the root node. Breadth-first search is a method of searching in order from the nodes closest to the root, and this search order may be used as the verification order. FIG. 4 is a diagram showing an example of the verification order determined by breadth-first search.

[0049] When a plurality of states are input, the state synthesis unit 22 outputs a state obtained by superimposing all of those states. The superimposition here has a meaning similar to the superimposition in quantum mechanics. For example, a state obtained by superimposing the state where the robot is in room A and not in room B and the state where the robot is in room B and not in room A is a state where the robot is in room A and not in room A, and is in room B and not in room B. If the state is defined as a set of facts as in the PDDL format disclosed in Non-Patent Document 1, the superimposed state may simply be a state obtained by taking the sum (union of sets) of a plurality of states.

[0050] The action verification unit 23 determines whether an action included in the mitigation action sequence is feasible. Specifically, the action verification unit 23 first lists the actions immediately preceding the action to be verified (here, "immediately preceding" does not refer to the action immediately preceding the one in the provisionally determined processing order). An action performed immediately preceding a given action means the action to which an arrow points when the order of the mitigation action sequence is represented graphically. Taking the mitigation action sequence shown in Figure 3 as an example, the action immediately preceding act3 is act1 (only), the actions immediately preceding act6 are act3 and act4, and the actions immediately preceding act7 are act5 and act6.

[0051] If no action exists immediately before the action to be verified, the action verification unit 23 checks whether the state that became the input to the heuristic function satisfies the execution conditions of the action to be verified, and determines whether or not the action can be executed.

[0052] If there is only one action immediately preceding the action to be verified, the action verification unit 23 checks whether the state generated from the preceding action (referred to as the preceding state) satisfies the execution conditions for the action to be verified, and determines whether or not it can be executed.

[0053] If there are multiple actions immediately preceding the action to be verified, rather than a single, fixed action, then naturally, there will also be multiple states resulting from applying those actions. In this case, all of these states are combined by the state synthesis unit 22, and the action verification unit 23 determines whether the action to be verified can be executed in the synthesized state (if there are multiple preceding actions, this synthesized state is called the preceding state).

[0054] The action application unit 24 generates a new state by applying the action to the state immediately preceding the action, for the action that has been verified by the action verification unit 23.

[0055] If the previous state is a superposition state, the effect of the action may not be uniquely determined. In such cases, the action application unit 24 generates a new state that reflects each of the possible effects. The action application unit 24 then has the state synthesis unit 22 synthesize the multiple states it has generated, and this synthesized state becomes the new state.

[0056] For example, when a robot is in a superposition state where it is both in room UL (up-left) and room DL (down-left), the action of moving to the right has the effect of moving the robot to room UR (upright) when it is in room UL (up-left), and moving the robot to room DR (downright) when it is in room DL (down-left). Therefore, the new state generated by applying the action of moving to the right will be a superposition state where the robot is both in room UR (upright) and room DR (downright).

[0057] Furthermore, the mitigation action sequence verification unit 12 can continue verification even if the action verification unit 23 finds an action that cannot be performed. Therefore, the action application unit 24 can add the facts that satisfy the execution conditions to the previous state, and then apply the effect of the action to generate a new state.

[0058] For example, when applying the action move(A->B) to move the robot from room A to room B, the action application unit 24 first adds the fact that the robot is in room A to the state, then applies the action move(A->B) to generate a new state.

[0059] Furthermore, when the action application unit 24 applies the effect of an action after adding a certain fact, it may remove a fact that is mutually exclusive with that fact from the state immediately before the action. Two facts being mutually exclusive means that they cannot be true at the same time. For example, a single robot cannot be in both room A and room B at the same time. Therefore, the fact that the robot is in room B is mutually exclusive with the fact that the robot is in room A.

[0060] An exclusive fact may be a fact explicitly defined within a task, or it may be a fact extracted from the task. One method for extracting exclusive facts from a task is the method disclosed in Non-Patent Document 4, which involves converting a PDDL-formatted task into a Multi-Valued Planning task to extract a group of exclusive facts.

[0061] The verification result output unit 13 outputs the verification result of the heuristic function using the verification results from the behavior verification unit 23 for each behavior included in the relaxation behavior sequence. There are several variations in the output format of the verification result. Three useful output formats of the verification result are described below. However, in this embodiment, the output format of the verification result is not limited to the following output formats.

[0062] Output Format 1: Output Format 1 outputs either Yes or No, indicating whether the use of the heuristic function is appropriate. For example, if a threshold is set for the proportion of feasible actions among all actions included in the mitigation action column, Yes will be output if the proportion is above the threshold, and No will be output if it is below the threshold.

[0063] Output Format 2: Output Format 2 outputs a real number between 0 and 1 indicating the appropriateness of using the heuristic function. 1 represents the most appropriate, and 0 represents the least appropriate. This real number may also represent, for example, the proportion of feasible actions among all actions included in the mitigation action sequence.

[0064] • Output Format 3: In Output Format 3, in addition to the appropriateness of the use of the heuristic function, the reason for the decision is also output. The reason is, for example, the fact that the execution conditions were not met when a certain action was determined to be impossible to perform.

[0065] [Device Operation] Next, the operation of the information processing device 10 will be explained using Figure 5. Figure 5 is a flowchart showing an example of the operation of the information processing device. In the following explanation, Figures 1 to 4 will be referred to as appropriate. In this embodiment, the information processing method is carried out by operating the information processing device 10. Therefore, the explanation of the information processing method will be replaced by the following explanation of the operation of the information processing device 10.

[0066] As shown in Figure 5, first, the input receiving unit 11 receives from the planning system 100 the state in which the heuristic function has been input, and the sequence of relaxation actions output by the heuristic function as input (step A1).

[0067] Next, the sequence determination unit 21 determines the order in which to verify each of the actions constituting the sequence of mitigation actions, which were received as input in step A1 (step A2).

[0068] Next, the behavior verification unit 23 determines whether there are any unverified behaviors among the behaviors that make up the mitigation behavior sequence (step A3).

[0069] If the determination in step A3 reveals that there are unverified actions, the action verification unit 23 selects one of the unverified actions in the order determined in step A2 (step A4).

[0070] Next, after the selection in step A4, the action verification unit 23 determines whether there are multiple states immediately preceding the selected action (step A5). If the determination in step A5 shows that there are multiple states immediately preceding the selected action, the action verification unit 23 calls the state synthesis unit 22 because the execution order of the relaxation action sequence is uncertain. The state synthesis unit 22 then synthesizes the multiple states immediately preceding the selected action to generate a new immediate preceding state (step A9).

[0071] If, as a result of the determination in step A5, there are no multiple states immediately preceding the selected action, or if step A9 is executed, the action verification unit 23 determines whether the state immediately preceding the selected action satisfies the execution conditions for the selected action (step A6). If no action exists immediately preceding the selected action, in step A6, the action verification unit 23 uses the state that became the input to the heuristic function, which was received as input in step A1, to perform the above determination.

[0072] Next, the action application unit 24 applies the effects of the action verified in step A6 to the state immediately preceding that action, generating a new state (step A7).

[0073] Next, the action application unit 24 determines whether the effect applied in step A7 is uniquely determined (step A8). This is because if the previous state is a superposition state, the effect of the action is not uniquely determined. If the determination in step A8 determines that the effect applied in step A7 is uniquely determined, step A3 is executed again.

[0074] On the other hand, if the result of the determination in step A8 does not uniquely determine the effect applied in step A7, the action application unit 24 calls the state synthesis unit 22. As a result, the state synthesis unit 22 generates a state in which each effect is applied, synthesizes each of the generated states, and generates a new state after the action has been applied (step A10). After that, step A3 is executed again.

[0075] If, as a result of the determination in step A3 described above, there are no unverified actions, the verification result output unit 13 outputs the verification result of the heuristic function using the determination result in step A6 for each action (step A11). This completes the processing in the information processing device 10.

[0076] Thus, the computational complexity in the information processing device 10 is significantly smaller than that in the planning system 100. This is because the computational complexity of verifying the discovered sequence of actions is smaller than that of finding the sequence of actions through search. In other words, even within the search process, verification of each action is necessary, so the verification-only process requires less computation. The processing in the planning system 100 corresponds to the process in which the heuristic function finds the sequence of relaxation actions, and the process in which the relaxation action sequence verification unit 12 verifies the discovered sequence of relaxation actions.

[0077] The computational complexity of the heuristic function is sufficiently small compared to that of the planning system, and furthermore, the computational complexity of the information processing device 10 is even smaller than that of the heuristic function. Therefore, the computational complexity of the information processing device 10 is sufficiently small compared to that of the planning system.

[0078] As described above, in this embodiment, the heuristic function can be verified based on the feasibility of each action included in the sequence of mitigation actions output by the heuristic function. Furthermore, this verification of the heuristic function can be performed in a sufficiently short time compared to the generation of action sequences by the planning system.

[0079] Furthermore, according to this embodiment, the planning system 100 can use the verification results of the heuristic function to appropriately determine the selection of the heuristic function and the frequency of the search based on the heuristic function before and during planning, thereby shortening the computation time required to generate the action sequence.

[0080] [Examples] Below, we will describe specific examples using the transport task shown in Figure 11 and the FF heuristic function disclosed in Non-Patent Document 3 as examples.

[0081] Example 1: Example 1 will be described using Figures 6 and 7. Figure 6 is a diagram showing an example of the output result of the FF heuristic function. Figure 7 is a diagram showing an example of the verification result of the relaxation behavior sequence.

[0082] As a task, consider the transport task shown in Figure 11. However, to make it easier to explain the behavior in the embodiment, in the transport task considered in Example 1, regarding the robot's movement, it is assumed that in order to move between room A and room C, it must pass through room B. The goal of this transport task is to move the cargo in room A to room C. Also, for the sake of simplicity, the task is assumed to be defined in PDDL format.

[0083] In Example 1, we consider the case where the state {at(A), in(A)} is input to the FF heuristic function ({} represents a set). Here, at(A) represents the fact that the robot is located in room A, and in(A) represents the fact that the luggage is located in room A. In PDDL form, the state is given as a set of facts.

[0084] At this point, the FF heuristic function outputs a sequence of relaxation actions represented by the graph shown in Figure 6. pick(luggage, A) and drop(luggage, C) represent the robot picking up the luggage in room A and the robot placing the luggage in room C, respectively. The calculation method by which the FF heuristic function outputs the sequence of relaxation actions shown in Figure 6 is not the main focus of this invention, so an explanation is omitted here.

[0085] First, the input receiving unit 11 receives the state {at(A), in(A)} as input to the FF heuristic function and the relaxation action sequence shown in Figure 6 as output.

[0086] Next, the order determination unit 21 determines the order in which each action is verified using any method. Here, it is decided to use breadth-first search to verify in the order move(A->B), pick(luggage,A), move(B->C), drop(luggage,C).

[0087] Figure 7 shows the results of the mitigation behavior sequence verification unit 12's verification of each behavior. The following describes in detail each step of the mitigation behavior sequence verification unit.

[0088] The action verification unit 23 first verifies move(A->B). Since move(A->B) has no preceding action, the state {at(A), in(A)} input to the FF heuristic function is adopted as the preceding state. The execution condition for move(A->B) is that the robot is in room A, i.e., at(A), which is included in the state {at(A), in(A)}, so the verification result is that it is executable. Subsequently, the action application unit 24 generates a new state {at(B), in(A)} by applying move(A->B) to {at(A), in(A)}.

[0089] The action verification unit 23 then verifies pick(luggage, A) as the second action. Since pick(luggage, A) has no preceding action, {at(A), in(A)} is adopted as the preceding action, similar to move(A->B). The execution conditions for pick(luggage, A) are that the robot and the luggage are in room A, i.e., at(A) and in(A), and since both are included in the state {at(A), in(A)}, the verification result is that it is executable. Subsequently, the action application unit 24 generates a new state {at(A), carry} by applying pick(A, luggage) to {at(A), in(A)} (carry represents the fact that the luggage is loaded onto the robot).

[0090] The action verification unit 23 performs the third action, move(B->C). The action immediately preceding move(B->C) is move(A->B), and the state immediately preceding the application of that action is {at(B),in(A)}. The execution condition for move(B->C) is at(B), which is included in the state {at(B),in(A)}, so the verification result is that it is executable. Subsequently, the action application unit applies move(B->C) to {at(B),in(A)} to generate a new state {at(C),in(A)}.

[0091] The action verification unit 23 finally verifies drop(luggage,C). The actions immediately preceding drop(luggage,C) are move(B->C) and pick(luggage,A). Since there are multiple preceding actions, the state synthesis unit 22 is called, and a superposition state {at(A),at(C),in(A),carry} is generated as the preceding state by combining the states generated by each action. The execution conditions for drop(luggage,C) are that the robot is in room C with the luggage loaded, i.e., at(C) and carry. Since both are included in the state {at(A),at(C),in(A),carry}, the verification result is that it is executable. Subsequently, the action application unit 24 generates a new state by applying drop(luggage,C) to {at(A),at(C),in(A),carry}.

[0092] First, the action application unit 24 adds the execution conditions at(C) and carry to the state (however, since these facts are already included in the state, the state does not change). At this time, the action application unit 24 may delete facts that are mutually exclusive with the added facts. For example, since a robot can only exist in one place at a time, at(C) and at(A) are mutually exclusive facts. Similarly, since luggage can only exist in one place at a time, carry and in(A) are mutually exclusive facts. Therefore, at(A) and in(A), which are mutually exclusive with respect to the added facts, are deleted from the state. After that, the effect of drop(luggage,C) is applied to the state {at(C),carry}, and a new state {at(C),in(C)} is generated.

[0093] Finally, the verification result output unit 13 outputs the verification result of the heuristic function based on the verification result of each action included in the mitigation action sequence. For example, if the output is to specify the percentage of feasible actions included in the mitigation action sequence, the verification result output unit 13 outputs 1 (or 100%, etc.).

[0094] Example 2: Example 2 will be described using Figures 8 and 9. Figure 8 shows another example of the output result of the FF heuristic function. Figure 9 shows another example of the verification result of the relaxation behavior sequence.

[0095] In Example 2, we consider the case where the FF heuristic function is input with the states {at(C), in(A)}, as in Example 1. That is, in Example 1, the FF heuristic function is input with the state that the robot is located in room A, whereas in Example 2, the FF heuristic function is input with the state that the robot is located in room C.

[0096] At this point, the FF heuristic function outputs a sequence of relaxation actions represented by the graph shown in Figure 8.

[0097] Figure 9 shows the results of the mitigation action sequence verification unit 12's verification of each action. Since the detailed process has already been explained in Example 1, only the action drop(luggage, C), which was determined to be impossible to perform, will be explained here.

[0098] The action immediately preceding drop(luggage,C) is pick(luggage,A), and the state immediately preceding it is {at(A),carry}. The execution condition for drop(luggage,C) is that the robot has loaded the luggage and is in room C, i.e., at(C) and carry. However, at(C) is not included in the state {at(A),carry}, so the verification result is that it is impossible to execute.

[0099] Finally, the verification result output unit 13 outputs the verification result of the heuristic function based on the verification result of each action included in the mitigation action sequence. Here, the output is the proportion of feasible actions included in the mitigation action sequence and the reason for this. The reason is the reason why the action was determined to be unfeasible, which in this case corresponds to the fact that at(C) was not satisfied when dropping(luggage,C) was executed. Therefore, the output is <0.75, {at(C)}>.

[0100] [Program] In this embodiment, the program is one that causes a computer to execute steps A1 to A11 shown in Figure 5. 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 relaxation behavior sequence verification unit 12, and a verification result output unit 13, and performs processing. As for the computer, examples include a server device, a general-purpose PC (Personal Computer), a smartphone, and a tablet terminal device.

[0101] Furthermore, in this embodiment, the program may be executed by a computer system constructed by multiple computers. In this case, for example, each computer may function as either an input receiving unit 11, a relaxation action sequence verification unit 12, or a verification result output unit 13.

[0102] [Physical Configuration] Here, an example of a computer that realizes the information processing device 10 by executing a program in the embodiment will be described using Figure 10. Figure 10 is a block diagram showing an example of a computer that realizes the information processing device.

[0103] As shown in Figure 10, 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.

[0104] 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.

[0105] 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).

[0106] 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.

[0107] 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.

[0108] 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.

[0109] 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).

[0110] Furthermore, the information processing device 10 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 10 may be partially implemented by a program and the remaining part by hardware. In this embodiment, the computer is not limited to the computer shown in Figure 10.

[0111] 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.

[0112] (Note 1) An information processing device comprising: an input receiving means that receives a state that has been input to a heuristic function and a sequence of relaxation actions that is the result of executing the heuristic function as input; a relaxation action sequence verification means that determines the order in which to verify each of the actions constituting the input sequence of relaxation actions, and further determines, using the state that has been input, whether the state immediately preceding the action satisfies the execution conditions for that action, and further generates a new state to which the effect of the action has been applied, and applies the generated new state to the determination for the action following the action; and a verification result output means that outputs the verification result of the heuristic function using the result of the determination for each action.

[0113] (Note 2) The information processing device according to Note 1, wherein the relaxation action sequence verification means, when the state immediately preceding the action is not uniquely determined but there are multiple states, synthesizes the multiple states immediately preceding the action and makes the synthesized multiple states the state immediately preceding the action.

[0114] (Note 3) The information processing device described in Note 2, wherein, when the effect of the action is not uniquely determined, the mitigation action sequence verification means generates a state in which each of the effects of the action is applied, combines the generated states, and applies this combined state as the new state to the determination for the next action of the action.

[0115] (Note 4) The information processing device described in Note 2, wherein the mitigation action sequence verification means adds facts that satisfy the execution conditions of the action to the state immediately preceding the action, then applies the effects of the action to generate the new state, and further deletes facts that are exclusive to the added facts from the state immediately preceding the action during the generation process.

[0116] (Note 5) An information processing method characterized by receiving a state that has been input to a heuristic function and a sequence of mitigation actions that is the result of executing the heuristic function as input; determining the order in which to verify each action that constitutes the input sequence of mitigation actions; further determining, using the state that has been input, whether the state immediately preceding the action satisfies the execution conditions for that action, generating a new state to which the effect of the action has been applied; applying the generated new state to the determination for the action following the action; and outputting the verification result of the heuristic function using the result of the determination for each action.

[0117] (Note 6) The information processing method described in Note 5, wherein, if the state immediately preceding the action is not uniquely determined but there are multiple states, the multiple states immediately preceding the action are combined, and the combined state is considered the state immediately preceding the action.

[0118] (Note 7) The information processing method described in Note 6, wherein, when the effect of the action is not uniquely determined, a state is generated for each of the effects of the action, the generated states are combined, and this combined state is applied as the new state to the determination for the next action of the action.

[0119] (Appendix 8) The information processing method described in Appendix 6, wherein the new state is generated by adding facts that satisfy the conditions for performing the action to the state immediately preceding the action, and then applying the effects of the action, and further, in generating the new state, facts that are exclusive to the added facts are deleted from the state immediately preceding the action.

[0120] (Note 9) A computer-readable recording medium that records a program including instructions for causing a computer to accept a state that has been input to a heuristic function and a sequence of relaxation actions that are the result of executing the heuristic function as input; causing the computer to determine the order in which to verify each of the actions constituting the input sequence of relaxation actions; further causing the computer to determine, using the input state, whether the state immediately preceding the action satisfies the execution conditions for that action, to generate a new state to which the effect of the action has been applied; to apply the generated new state to the determination for the action following the action; and to output the verification result of the heuristic function using the result of the determination for each action.

[0121] (Note 10) The computer-readable recording medium described in Note 9, wherein the program causes the computer to synthesize multiple immediate states when the state immediately preceding the action is not uniquely determined but there are multiple states, and to make the synthesized multiple states the state immediately preceding the action.

[0122] (Note 11) The computer-readable recording medium described in Note 10, wherein the program causes the computer to generate a state in which all the effects of the action are applied when the effect of the action is not uniquely determined, to synthesize the generated states, and to apply this synthesized state as the new state to the determination for the next action of the action.

[0123] (Note 12) The computer-readable recording medium described in Note 10, wherein the program causes the computer to add facts that satisfy the execution conditions of the action to the state immediately preceding the action, then apply the effects of the action to generate the new state, and further, in the generation thereof, delete facts from the state immediately preceding the action that are exclusive to the added facts.

[0124] 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.

[0125] As described above, this disclosure makes it possible to reduce the time required to verify heuristic functions. This disclosure is useful in planning systems.

[0126] 10 Information processing device 11 Input receiving unit 12 Relaxation action sequence verification unit 13 Verification result output unit 21 Sequence determination unit 22 State synthesis unit 23 Action verification unit 24 Action application 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 that receives a state that has been input to a heuristic function and a sequence of relaxation actions that is the result of executing the heuristic function as input; a relaxation action sequence verification means that determines the order in which to verify each of the actions constituting the input sequence of relaxation actions, and further determines, using the input state, whether the state immediately preceding the action satisfies the execution conditions for that action, generates a new state to which the effect of the action has been applied, and applies the generated new state to the determination for the action following the action; and a verification result output means that outputs the verification result of the heuristic function using the result of the determination for each action.

2. The information processing apparatus according to claim 1, wherein the relaxation action sequence verification means, when the state immediately preceding the action is not uniquely determined but there are multiple states, synthesizes the multiple states immediately preceding the action and makes the synthesized multiple states the state immediately preceding the action.

3. The information processing apparatus according to claim 2, wherein, when the effect of the action is not uniquely determined, the mitigation action sequence verification means generates a state in which each of the effects of the action is applied, combines the generated states, and applies this combined state as the new state to the determination for the next action of the action.

4. The information processing apparatus according to claim 2, wherein the mitigation action sequence verification means adds facts that satisfy the execution conditions of the action to the state immediately preceding the action, then applies the effects of the action to generate the new state, and further, in the generation thereof, deletes facts that are exclusive to the added facts from the state immediately preceding the action.

5. An information processing method characterized by: receiving a state that has been input to a heuristic function and a sequence of mitigation actions that is the result of executing the heuristic function as input; determining the order in which to verify each action that constitutes the input sequence of mitigation actions; further determining, using the input state, whether the state immediately preceding the action satisfies the execution conditions for that action, generating a new state to which the effect of the action has been applied; applying the generated new state to the determination for the action following the action; and outputting the verification result of the heuristic function using the result of the determination for each action.

6. The information processing method according to claim 5, wherein, if the state immediately preceding the action is not uniquely determined but there are multiple states, the multiple states immediately preceding the action are combined, and the combined state is considered the state immediately preceding the action.

7. The information processing method according to claim 6, wherein, when the effect of the action is not uniquely determined, a state is generated for each of the effects of the action, the generated states are combined, and this combined state is applied as the new state to the determination for the next action of the action.

8. The information processing method according to claim 6, comprising adding facts that satisfy the conditions for performing the action to the state immediately preceding the action, then applying the effects of the action to generate the new state, and further deleting facts that are exclusive to the added facts from the state immediately preceding the action during the generation process.

9. A computer-readable recording medium that stores a program including instructions for causing a computer to accept a state that has been input to a heuristic function and a sequence of relaxation actions that are the result of executing the heuristic function as input; causing the computer to determine the order in which to verify each of the actions constituting the input sequence of relaxation actions; further causing the computer to determine, using the input state, whether the state immediately preceding the action satisfies the execution conditions for that action, to generate a new state to which the effect of the action has been applied; to apply the generated new state to the determination for the action following the action; and to output the verification result of the heuristic function using the result of the determination for each action.

10. The computer-readable recording medium according to claim 9, wherein the program causes the computer to synthesize multiple preceding states when the state immediately preceding the action is not uniquely determined but there are multiple such states, and to make the synthesized multiple states the state immediately preceding the action.

11. The computer-readable recording medium according to claim 10, wherein the program causes the computer to generate a state in which all the effects of the action are applied when the effect of the action is not uniquely determined, to synthesize the generated states, and to apply the synthesized state as the new state to the determination for the next action of the action.

12. The computer-readable recording medium according to claim 10, wherein the program causes the computer to add facts that satisfy the execution conditions of the action to the state immediately preceding the action, then apply the effects of the action to generate the new state, and further, in the generation thereof, delete facts that are exclusive to the added facts from the state immediately preceding the action.