Information processing device, information processing method, and computer-readable recording medium
The information processing device addresses inefficiencies in planning systems by determining knowledge certainty and using both knowledge-assisted and independent searches to generate accurate action plans, ensuring efficient and error-resistant plan generation.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2026-04-02
AI Technical Summary
Existing planning systems, both general-purpose and domain-specific, face challenges in generating appropriate action plans due to computational inefficiencies and the need for task-specific knowledge, which can lead to increased development costs and errors if knowledge accuracy is not maintained.
An information processing device determines the certainty of knowledge used in action decision processing and calculates action plans based on this certainty, utilizing both knowledge-assisted and knowledge-independent searches to ensure accurate and efficient plan generation.
This approach allows agents to generate appropriate action plans efficiently, even when knowledge contains errors, by combining certainty-based knowledge searches with independent searches, thereby ensuring solution obtainment and reducing computational time.
Smart Images

Figure JP2024034569_02042026_PF_FP_ABST
Abstract
Description
Information processing device, information processing method, and computer-readable recording medium
[0001] This disclosure relates to an information processing device and an information processing method for generating action plans, and further to a computer-readable recording medium that stores a program for realizing these.
[0002] Planning systems can be broadly divided into general-purpose planning systems and domain-specific planning systems. A planning system is a system that generates action plans for agents, such as vehicles and robots, to achieve their objectives (tasks).
[0003] As a related technology, Non-Patent Document 1 discloses a representative algorithm for a general-purpose planning system, a technology that can be used universally for various problems, from path planning to manufacturing process planning.
[0004] Furthermore, Non-Patent Document 2 discloses a domain-specific planning system that specializes in the task of transporting goods, known as pick-up and delivery. However, the domain-specific planning system in Non-Patent Document 2 cannot be used for other types of tasks, such as planning manufacturing processes. Therefore, domain-specific planning systems lack versatility. However, because they are built on knowledge of specialized tasks, they can calculate plans faster than general-purpose planning systems for most specialized tasks.
[0005] Furthermore, Non-Patent Document 3 discloses a path planning technique for multi-agent systems, where multiple agents perform actions. In the multi-agent system described in Non-Patent Document 3, there is a problem that the computational load increases exponentially if action plans are calculated for all agents at once. Therefore, the path planning technique disclosed in Non-Patent Document 3 speeds up the calculation by sequentially calculating action plans for each agent.
[0006] Helmert, M., “The Fast Downward Planning System”, [online], Submitted on 27 Sep 2011, Journal Of Artificial Intelligence Research, Volume 26, pages 191-246, Internet <URL: https: / / doi.org / 10.48550 / arXiv.1109.6051> Q. Xu, J. Li, S. Koenig and H. Ma, “Multi-Goal Multi-Agent Pickup and Delivery”, [online], Submitted on 2 Aug 2022, IEEE / RSJ International Conference on Intelligent Robots and Systems (IROS), Kyoto, Japan, 2022, pp. 9964-9971, doi: 10.1109 / IROS47612.2022.9981785., Internet <URL: https: / / doi.org / 10.48550 / arXiv.2208.01223> Silver, D., “Cooperative Pathfinding”, [online], Published 2021-09-28, Artificial Intelligence and Interactive Digital Entertainment Conference, Internet <URL: https: / / doi.org / 10.1609 / aiide.v1i1.18726>
[0007] However, even if the technologies disclosed in Non-Patent Documents 1 to 3 are used, it is not guaranteed that the agent will be able to generate an appropriate action plan to accomplish the task.
[0008] One example of the purpose of this disclosure is to enable agents to generate appropriate action plans to achieve their objectives.
[0009] To achieve the above objective, the information processing device in one aspect of this disclosure is characterized by determining the extent to which knowledge is used in the action decision processing that determines the agent's actions, according to the certainty of the knowledge used in the action decision processing that determines the agent's actions, and calculating the agent's action plan using the knowledge based on the determined extent.
[0010] Furthermore, in order to achieve the above objective, an information processing method in one aspect of this disclosure is characterized in that the information processing device determines the extent to which knowledge is used in the action decision processing that determines the agent's actions, according to the certainty of the knowledge used in the action decision processing that determines the agent's actions, and calculates the agent's action plan using the knowledge based on the determined extent.
[0011] Furthermore, in order to achieve the above objective, a computer-readable recording medium recording a program in one aspect of this disclosure is characterized in that it records a program that causes a computer to execute a process that determines the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process that determines the actions of the agent, and calculates an action plan for the agent using the knowledge based on the determined extent.
[0012] As described above, this disclosure enables the agent to generate an appropriate action plan to achieve its objectives.
[0013] Figure 1 is a diagram illustrating an example of an information processing device. Figure 2 is a diagram illustrating an example of a system having an information processing device. Figure 3 is a diagram illustrating an example of the operation of the generation unit. Figure 4 is a diagram illustrating an example of the operation of the search unit. Figure 5 is a diagram illustrating an example of the operation of an information processing device. Figure 6 is a diagram illustrating Embodiment 1. Figure 7 is a diagram illustrating Embodiment 2. Figure 8 is a diagram illustrating an example of a computer that implements an information processing device.
[0014] First, to facilitate understanding of the embodiments described below, we will provide an overview. When generating action plans for new types of tasks, general-purpose planning systems can be applied immediately, but they have the problem of requiring more computation time compared to domain-specific planning systems.
[0015] Furthermore, if there is no domain-specific planning system tailored to the task, workers must create such a system based on their task-specific knowledge, which leads to increased development costs.
[0016] Furthermore, if there are errors in the underlying knowledge, the domain-specific planning system may not be able to provide a solution (it may not be able to calculate an action plan), which presents a problem as it requires a high level of knowledge (accuracy) from the operator.
[0017] Therefore, there is a need for a system based on a general-purpose planning system that can easily utilize task-specific knowledge and speed up calculations, thereby solving the aforementioned problems.
[0018] However, as mentioned above, the problem is that if the knowledge contains errors, a solution cannot be obtained. The more detailed the knowledge, the faster the calculation becomes, but if the knowledge contains errors, a solution may not be obtained, that is, an appropriate action plan may not be generated.
[0019] Through this process, the inventors have derived a means to provide a planning system that effectively utilizes knowledge that is not necessarily correct (may contain errors) in the manner described above, ensuring that a solution can be obtained even if the knowledge contains errors, while also speeding up computation. As a result, the agent can generate an appropriate action plan to achieve its objective.
[0020] Embodiments will be described below with reference to the drawings. In the drawings described below, elements having the same function or corresponding function will be denoted by the same reference numeral, and repeated descriptions of such elements may be omitted.
[0021] (Embodiment) The configuration of the information processing device in the embodiment will be described using Figure 1. Figure 1 is a diagram illustrating an example of an information processing device.
[0022] [Device Configuration] The information processing device shown in Figure 1 is a device that generates an agent's action plan (action plan generation device). That is, the information processing device 10 determines the extent to which knowledge is used in the decision processing that determines the agent's action, according to the certainty of the knowledge used in the decision processing, and calculates (searches for) an agent's action plan using the knowledge based on the determined extent. Also, as shown in Figure 1, the information processing device 10 has a generation unit 11, a selection unit 12, and a search unit 13.
[0023] The generation unit 11 generates an open list representing the intermediate state of the search, which is based on the knowledge used to assist in the agent's search (calculation of the action plan), and an open list that is not based on the knowledge.
[0024] The selection unit 12 selects an open list based on an indicator (probability or frequency based on probability) that represents the certainty of the knowledge.
[0025] The search unit 13 performs one step of search based on the selected open list and adds the new state generated by the one step of search to the selected open list.
[0026] Thus, in this embodiment, when generating the agent's search (calculation of the action plan), an open list is selected according to the certainty of the knowledge that assists the search, one step of the search is performed based on the selected open list, a new state is generated in one step of the search, and the generated new state is added to the open list. This ensures that a solution can be obtained even if the knowledge contains errors, and the calculation can be sped up. As a result, an appropriate action plan can be generated.
[0027] [System Configuration] Next, the configuration of the information processing device 10 in the embodiment will be described in more detail using Figure 2. Figure 2 is a diagram illustrating an example of a system having an information processing device.
[0028] As shown in Figure 2, the system 100 in this embodiment includes an information processing device 10, an agent 20, and a storage device 30. The information processing device 10, the agent 20, and the storage device 30 are connected via a network for communication and control the agent 20 based on an action plan. Alternatively, the system may simply generate an action plan and formulate it for a worker or the like without controlling the agent 20.
[0029] The information processing device 10 is, for example, a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), or a GPU (Graphics Processing Unit), or a circuit equipped with one or more of these, a server computer, a personal computer, a mobile terminal, or other information processing device.
[0030] Agent 20 is a mobile device such as an automated guided vehicle, an automated guided ship, or a robot. Agent 20 is equipped with an information processing device such as a CPU, an FPGA, or a circuit incorporating one or more of these, a personal computer, or a mobile terminal.
[0031] The storage device 30 is a database, a server computer, a circuit with memory, etc. The storage device 30 stores, for example, at least information such as knowledge, open lists, and action plans, which will be described later. In the example in Figure 2, the storage device 30 is located outside the information processing device 10, but it may also be located inside the information processing device 10.
[0032] A network is a general network constructed using communication lines such as the internet, LAN (Local Area Network), dedicated lines, telephone lines, corporate networks, mobile communication networks, Bluetooth®, and Wi-Fi (Wireless Fidelity)®.
[0033] The configuration of the information processing device 10 in this embodiment will be described in more detail. The information processing device 10 also includes a knowledge input unit 14, a generation unit 11, a selection unit 12, a search unit 13, a plan output unit 15, and a control unit 16.
[0034] The knowledge input unit 14 accepts input of knowledge to assist in the search (calculation of the action plan) (acquires knowledge). However, the knowledge that assists in the search does not necessarily have to be correct (it may contain errors).
[0035] Knowledge that aids exploration includes knowledge about subgoals that represent the steps to completing the task, knowledge about the actions required to complete the task, and information indicating the accuracy of that knowledge.
[0036] The concepts of knowledge about subgoals, knowledge about actions, and information demonstrating the accuracy of that knowledge will be explained in detail using the example of a pick-and-delivery task.
[0037] A subgoal is an intermediate goal that outlines the steps involved in completing a task. Like the task's main goal, a subgoal is described as a condition that must be met. A subgoal represents the desired state during the task's execution. Furthermore, a subgoal represents the conditions that define that state during the task's execution.
[0038] This section describes a case where the task is for an agent to deliver item A to location B. However, the task is not limited to the example above. For example, the task could be for an agent to process item C into item D, or to create item F by shaping item E.
[0039] For example, in a task to deliver item A to location B, the agent first needs to move to the location where item A is located in order to pick up item A. Therefore, a subgoal might be for the agent to be at the location of item A. There can also be multiple subgoals, such as achieving subgoal 1, then subgoal 2, and so on.
[0040] Knowledge about subgoals can be entered as a list of conditions that each subgoal must satisfy, such as [Conditions that must be satisfied for subgoal 1, conditions that must be satisfied for subgoal 2, ...].
[0041] Having knowledge of subgoals allows you to know what needs to be achieved next, compared to a situation where you don't know the intermediate states leading up to task completion. This enables more efficient planning and reduces calculation time.
[0042] An action is an action that an agent can take in a given state. For example, an action would be for an agent holding an item to move up, down, left, or right; to pick up any item at the agent's current location; or to place an item the agent is holding back at the agent's current location.
[0043] Knowledge about the actions required to complete a task should be entered as a set of actions necessary to achieve that task. For example, to complete the task of delivering item A to location B, the actions required would be {move up, move down, move left, move right, pick up item A, place item A}.
[0044] Having knowledge of actions eliminates the need to consider unnecessary actions for task completion, allowing for more efficient planning and reduced calculation time.
[0045] Knowledge certainty is an indicator that represents the probability of being able to accomplish a task, assuming knowledge about the subgoal, knowledge about the action, or both. The probability does not necessarily have to be mathematically defined. For example, it could be information indicating the degree to which the task can be accomplished, or an estimate of the likelihood of accomplishing the task. For the sake of explanation, the following explanation will use the case where knowledge certainty is expressed as probability.
[0046] For example, suppose the knowledge input is that in order to accomplish the task of delivering item A to location B, the following actions are possible: {move up, move down, move left, move right, pick up item A, place item A}. In tasks such as transporting items in a warehouse, there are cases where item A is behind item C, and item A cannot be taken until item C is moved first.
[0047] In such cases, the input knowledge is not necessarily correct. Assuming there is a possibility that the knowledge is incorrect (that the task cannot be completed if the knowledge is followed), the accuracy of the knowledge is an indicator of the probability that the task can be completed based on that knowledge. This accuracy of knowledge can be input as a probability. This probability is merely an estimate and may differ from the actual probability.
[0048] The knowledge input unit 14 may contain all three of the above-mentioned pieces of knowledge, or only some of them. If information on the accuracy of the knowledge is not entered, a predetermined value may be used instead. For example, if it is not entered, it may always be set to 90%.
[0049] Furthermore, knowledge can be a more complex combination of knowledge about subgoals and knowledge about actions. For example, knowledge such as "Action set 1 is necessary until subgoal 1 is achieved, and Action set 2 is necessary from the time subgoal 1 is achieved until subgoal 2 is achieved."
[0050] Furthermore, multiple pieces of knowledge may be entered. For example, there may be two pieces of knowledge about a subgoal, namely knowledge A and knowledge B, where the certainty of knowledge A is 40% and the certainty of knowledge B is 40%.
[0051] The generation unit 11 generates an open list that presupposes knowledge and an open list that does not presuppose knowledge, based on the knowledge input by the knowledge input unit 14.
[0052] The open list is information that represents the intermediate state of the search (the calculation of the planning calculation), and is stored in the memory device 30. For example, the open list represents information such as the state in which an agent has moved to the right from the initial state, the state in which an agent has moved to the left from the initial state, and the state in which an agent has moved to the right and then moved up from the initial state.
[0053] All open lists contain the same information, but the order of states within each list differs. For example, open list 1 stores states in the order [State A, State B, State C], while open list 2 stores them in the order [State B, State A, State C]. The order of states within each open list is determined by the evaluation criteria for each open list, which assess how good each state is.
[0054] The evaluation criteria include estimated costs from the current state to task completion. By using these evaluation criteria, the search unit 13 can prioritize searching for the next intermediate state that is closer to task completion, and quickly find an action plan to achieve the task.
[0055] The operation of the generation unit will be explained using the path planning task shown in Figure 3. Figure 3 is a diagram illustrating an example of the operation of the generation unit.
[0056] In the path planning task shown in Figure 3, the agent is initially at point S and plans a path to reach the goal point G. The black rectangles (regions) in the figure represent obstacles that cannot be passed through. Furthermore, the input for the subgoals is a list of subgoals containing only one element, [SG], meaning the agent is currently at point SG.
[0057] At this point, two open lists are generated: Open List 1, which assumes the input knowledge, and Open List 2, which does not assume the input knowledge. As the search progresses, these open lists are assumed to contain two states: State 1, where the agent is at location (1), and State 2, where the agent is at location (2). However, it is assumed that neither state has passed through location SG to reach these locations. Furthermore, it is assumed that Manhattan distance (the distance required to reach the destination by moving up, down, left, or right, ignoring obstacles) is used as the cost evaluation value between states common to all open lists.
[0058] First, in Open List 2, which does not assume prior knowledge, states are stored in the order [State 2, State 1]. Note that the earlier a state is in the list, the better its evaluation value. The reason is that from State 2, the goal can be reached in a total of 4 moves (1 up, 3 right), whereas from State 1, it takes a total of 7 moves (4 up, 3 right) to reach the goal. Note that the evaluation value is based on Manhattan distance, so obstacles are ignored.
[0059] An open list that does not presuppose knowledge is, for example, an array in which states are arranged in order of proximity to their target state. It can also be described as an array in which states are arranged in order of their similarity to their target state, with the evaluation value of the similarity being the highest. Furthermore, an open list that does not presuppose knowledge is an array whose order is determined solely by the two states: the current state and the target state. However, open lists that do not presuppose knowledge are not limited to the examples described above.
[0060] In contrast, in open list 1, which assumes knowledge about the subgoal, the states are stored in the order [state 1, state 2]. The reason is that, as knowledge, one must first reach point SG before reaching the goal. Therefore, from state 1 to point SG, only one move to the right is needed, but from state 2 to point SG, three moves down and one move to the right are needed, for a total of four moves. In this case, the input knowledge is correct, so it can be seen that open list 1, which assumes knowledge, uses a more correct evaluation criterion than open list 2, which does not assume knowledge.
[0061] An open list that assumes knowledge of subgoals can also be described as an array whose order is determined by the states defined by the subgoals. When there are multiple subgoals, an open list that assumes knowledge of subgoals may be an array whose order is determined by the states defined by some of the subgoals, or it may be an array whose order is determined by the states defined by all of the subgoals. An open list that assumes knowledge of subgoals only needs to be an array whose order is determined by the states defined by at least some of the subgoals.
[0062] Furthermore, each open list is labeled with a corresponding set of actions. In other words, even if the evaluation criteria for the state within a list are the same, there may be open lists with different corresponding actions. For open lists that presuppose knowledge about actions, the corresponding set of actions is the set of actions necessary to complete the task based on that presupposed knowledge. For open lists that do not presuppose knowledge, the corresponding set of actions is the set of all actions that the agent can take. Alternatively, for open lists that do not presuppose knowledge, the corresponding set of actions may be the complement of the action set corresponding to the open list that presupposes knowledge about actions. Information on the corresponding action set for each open list is used in the search unit 13, which will be described later.
[0063] Note that open lists that presuppose knowledge about subgoals and open lists that presuppose knowledge about actions are not fundamentally independent. However, knowledge can be intentionally divided into multiple pieces of knowledge and generated independently. Generally, the premise of an action planning system (device) is that there is an agent that performs the action and an environment that changes as a result of the action.
[0064] If multiple pieces of knowledge are entered, an open list is generated for each piece of knowledge. For example, if knowledge A and knowledge B are entered, three open lists will be generated: one that assumes knowledge A, one that assumes knowledge B, and one that does not assume any knowledge.
[0065] The selection unit 12 selects an open list for the next step of searching based on the knowledge certainty information (probability or frequency based on probability) entered in the knowledge input unit 14. For example, if the knowledge certainty is 90%, the selection unit 12 will select an open list that assumes knowledge 9 times and an open list that does not assume knowledge 1 time out of 10 searches. Alternatively, the selection of open lists will be performed probabilistically, with a 90% probability of selecting an open list that assumes knowledge and a 10% probability of selecting an open list that does not assume knowledge.
[0066] By selecting an open list in the selection unit 12 according to the certainty of the knowledge, a search that assumes knowledge and a search that does not assume knowledge are combined and executed in a proportion corresponding to the certainty of the knowledge. As a result, even if there is an error in the knowledge and a solution that assumes the knowledge cannot be obtained, a solution can be found without being affected by the error by using a search that does not assume the knowledge in combination, and by searching with a certain proportion of knowledge as an assumption, the plan can be calculated faster than when no knowledge is used at all.
[0067] However, the certainty value and the number of times the open list is used do not necessarily have to be the same. A higher certainty value means a greater degree of knowledge is used for searching, and a lower certainty value means a lesser degree of knowledge is used for searching. Note that the relationship between the number of times the open list is used and the certainty value is not limited to the example above.
[0068] The search unit 13 performs one step of searching based on the open list selected by the selection unit 12, and adds the new state generated by the one step of searching to the selected open list.
[0069] I will now explain the search process in detail. A single search step involves picking up items, determining task completion, and expanding the search results.
[0070] In the pickup process, the optimal state is retrieved from the selected open list based on the evaluation criteria of that open list. Since the states within the open list are arranged according to the evaluation criteria, to retrieve the optimal state, you only need to retrieve the state at the top of the list.
[0071] In the task completion determination, it is determined whether the retrieved state satisfies the task completion conditions. If the task completion conditions are met, the search is terminated, and the sequence of actions (or state) leading up to that state is sent to the plan output unit 15.
[0072] During the expansion, a new state is generated by adding each executable action from the action set labeled in the selected open list to the extracted state. After expansion, the new state is added to all open lists.
[0073] Note that in open lists with different corresponding action sets, even if the same state is picked up, the newly created state will be different.
[0074] The search unit 13 will be explained in detail using a path planning task. Figure 4 is a diagram illustrating an example of the operation of the search unit.
[0075] Assume that the state where an agent is at point a, as shown in Figure 4, is picked up from the open list. Also, assume that the set of actions corresponding to (labeled) in the open list is {Move Up, Move Down, Move Left, Move Right}. In this case, when determining task completion, point a is not the goal, so the search continues. In the expansion, three new states are created: the state where the agent who added the "Move Up" action is at point b, the state where the agent who added the "Move Down" action is at point c, and the state where the agent who added the "Move Left" action is at point d, and these are added to all open lists. In the state where the agent is at point a, the "Move Right" action is not added because it is impossible to execute due to hitting an obstacle.
[0076] In planning systems, to streamline exploration, a closed list is sometimes used in addition to the open list. This list stores expanded states (added states) and prevents them from being redeployed (restored). This process prevents the same state from being picked up repeatedly. For example, in the expansion described above, if the state of the agent being at location d was previously expanded, that is, if this state has been added to the closed list, this state will not be added to the open list. Note that the closed list may also be used.
[0077] Here, the open list is used to add intermediate states of the exploration (calculation of the action plan). At the start of the exploration, only the information of the initial state is stored, and new states created by the expansion are added through one-step exploration. Each open list has evaluation criteria for a state that presupposes knowledge (or a state that does not presuppose knowledge), and a label for the corresponding set of actions.
[0078] Intermediate states stored in the open list each hold a pointer to the state they created through their own expansion. By traversing this pointer, one can obtain the sequence of states (or actions) from the current state to the initial state.
[0079] The plan output unit 15 stores the action sequence (or state sequence) sent from the search unit 13 as an action plan in the storage device 30.
[0080] The control unit 16 acquires the action plan described above and controls one or more agents 20 based on the action plan.
[0081] [Device Operation] Next, the operation of the information processing device in the embodiment will be explained with reference to the figures. Figure 5 is a diagram illustrating an example of the operation of the information processing device. In the following explanation, the figures will be referred to as appropriate. In this embodiment, the information processing method is carried out by operating the information processing device. Therefore, the explanation of the information processing method in this embodiment will be replaced by the following explanation of the operation of the information processing device.
[0082] As shown in Figure 5, first, the knowledge input unit 14 accepts input of knowledge that will assist in the search (planning calculation) (step A1). Specifically, in step A1, the knowledge input unit 14 acquires information representing the knowledge entered by the worker (knowledge about subgoals, knowledge about actions, and information indicating the certainty of the knowledge). Next, in step A1, the knowledge input unit 14 transmits the entered knowledge to the generation unit 11 and stores it in the storage device 30.
[0083] Next, the generation unit 11 generates an open list that assumes knowledge and an open list that does not assume knowledge, based on the input knowledge (step A2). Specifically, in step A2, the generation unit 11 acquires information representing knowledge from the generation unit 11. Next, in step A2, the generation unit 11 generates an open list that assumes knowledge and an open list that does not assume knowledge and stores them in the storage device 30.
[0084] Next, the selection unit 12 starts the search and selects an open list for the next step of the search based on the information about the certainty of the knowledge entered in the knowledge input unit 14 (probability or frequency based on probability) (step A3).
[0085] Next, the search unit 13 retrieves the optimal state from the open list selected by the selection unit 12 based on the evaluation criteria of the open list (pickup) (step A4).
[0086] Next, the search unit 13 determines whether the retrieved state satisfies the task completion conditions (task completion determination) (step A5). If the task completion conditions are not met (step A5: No), the search unit 13 expands the retrieved state, generates a new state, and adds the new state to all open lists (step A6). In this way, the processes of step A3 (selection of open list) and steps A4 to A6 (search for one step) are repeatedly executed.
[0087] Then, if a state that satisfies the task completion conditions is selected (Step A5: Yes), the action column (or state column) leading up to the current state is output to the plan output unit 15 as an action plan.
[0088] Next, the plan output unit 15 stores the action sequence (or state sequence) sent from the search unit 13 as an action plan in the storage device 30 (step A7).
[0089] Next, the control unit 16 acquires the action plan described above and controls one or more agents 20 based on the action plan (step A8). If the agent 20 is not to be controlled and the action plan is only to be generated and presented to workers, the action plan can be displayed on an output device (not shown).
[0090] According to the present invention, by performing both knowledge-based and knowledge-independent searches based on an index that represents the certainty of the knowledge, it is possible to speed up calculations while guaranteeing that a solution can be obtained even if the knowledge contains errors.
[0091] (Example 1) Example 1 describes the case where knowledge about subgoals is input using the path plan shown in Figure 6. Figure 6 is a diagram for explaining Example 1.
[0092] In the map shown in Figure 6, the initial state p 12 From goal p 55 Suppose we are given the task of moving towards a certain point. In this case, the subgoal is p 31 When the knowledge input unit 14 receives knowledge about the subgoal, and information that the certainty of that knowledge is 80%, the generation unit 11 generates an open list 1 that assumes the knowledge and an open list 2 that does not assume the knowledge. In both open lists, the Manhattan distance is used as the predicted value of the cost of moving between states.
[0093] The evaluation value of the initial state in Open List 2 does not assume any prior knowledge, so it is simply the initial state p 12 From goal p 55 The Manhattan distance to is 7 (3 up, 4 left). On the other hand, the evaluation value of the initial state in open list 1 is subgoal p 31 After moving to goal p 55 It is assumed that there is knowledge that it is necessary to move to the initial state p 12 From sub-goal p31 The Manhattan distance 3 (1 down, 2 left) to it, and the sub-goal p 31 from the goal p 55 The sum of the Manhattan distance 6 (4 up, 2 left) to is 9.
[0094] The search list selection unit selects the open list 1 and the open list 2 at a frequency of 4:1 based on the certainty of knowledge 80 [%]. Hereinafter, the search for each step is performed as follows. For simplicity in the search, it is assumed that a state that has already been stored in the open list is not added again.
[0095] ・ At the first step, the open list 1 assuming knowledge is selected, and the initial state p 12 is picked up. As new states, three states p 11 , p 22 , p 13 are added to the open lists 1 and 2.
[0096] ・ At the second step, the open list 1 assuming knowledge [p 22 (8), p 11 (8), p 13 (10)] (the numbers in parentheses are the evaluation values of each state) is selected, and the state p 22 is picked up. As new states, two states p 21 , p 23 are added to the open lists 1 and 2.
[0097] ・ At the third step, the open list 1 assuming knowledge [p 21 (7), p 11 (8), p 23 (9), p 13 (10)] is selected, and the state p 21 is picked up. As new states, one state p 31 is added to the open lists 1 and 2.
[0098] ・ At the fourth step, the open list 1 assuming knowledge [p 31 (6), p 11 (8), p 23 (9), p 13 (10)] is selected, and the state p 31 is picked up. As new states, one state p41 These are stored in open lists 1 and 2. Note that state p indicates that the subgoal has been achieved. 31 , p 41 Regarding this, since the subgoal has already been achieved, there is no need to consider the subgoal as part of the evaluation value. In other words, instead of using the Manhattan distance from the current state to the subgoal plus the Manhattan distance from the subgoal to the goal as the evaluation value, we simply use the Manhattan distance from the current state to the goal. Therefore, the new state p in open list 1 is 41 The evaluation value is 5.
[0099] ・5th step: Open list 2 that does not assume prior knowledge [p 23 (5), p 41 (5), p 13 (6), p 22 (6), p 31 (6), p 12 (7), p 11 (8) (The evaluation criteria are different from those for Open List 1) is selected, and state p 23 This is picked up. As a new state, one state p 24 These are stored in open lists 1 and 2.
[0100] • Open list 1 [p] that assumes knowledge of step 6 41 (5), p 11 (8), p 23 (9), p 13 (10), p 24 (11)] is selected, state p 41 This is picked up. Two states p are introduced as new states. 421 , p 51 These will be added to open lists 1 and 2.
[0101] 7th step: Open list 1 [p 42 (4), p 51 (4), p 11 (8), p 23 (9), p 13 (10), p 24 (11)] is selected, state p 42 This is picked up. Two states p are introduced as new states. 43 , p 52is added to the open lists 1 and 2.
[0102] ・The open list 1 [p 43 (3), p 52 (3), p 51 (4), p 11 (8), p 23 (9), p 13 (10), p 24 (11)] is selected, and the state p 43 is picked up. As new states, two states p 44 and p 53 are added to the open lists 1 and 2.
[0103] ・The open list 1 [p 44 (2), p 53 (2), p 52 (3), p 51 (4), p 11 (8), p 23 (9), p 13 (10), p 24 (11)] is selected, and the state p 44 is picked up. As new states, two states p 45 and p 54 are added to the open lists 1 and 2.
[0104] ・The open list 2 [p 45 (1), p 54 (1), p 44 (2), p 53 (2), p 43 (3), p 52 (3), p 42 (4), p 51 (4), p 24 (4), p 41 (5), p 13 (6), p 22 (6), p 31 (6), p 12 (7), p 21 (7), p 11 (8)] is selected, and the state p 45 is picked up. As a new state, one state p 55 is added to the open lists 1 and 2.
[0105] ・11th step Open list 1 [p 55 (0), p 45 (1), p 54 (1), p 53 (2), p 52 (3), p 51 (4), p 11 (8) p 23 (9), p 13 (10), p 24 (11)] is selected, state p 55 This was picked up. Condition p 55 The goal conditions are met, so the exploration ends.
[0106] The plan output section is on the right (p 22 )・Bottom(p 21 )・Right (p 31 )・Right (p 41 )・Top (p 42 )・Top (p 43 )・Top (p 44 )・Top (p 45 )・Right (p 55 Output this as an action plan.
[0107] Thus, by using a knowledge-based search (open list 1), we can perform a knowledge-free search (when knowledge is not used, the initial steps are as in step 5). 25 This allows for more efficient searching than prioritizing the search for states that lead to a certain outcome.
[0108] (Example 2) Example 2 describes a case where knowledge about subgoals and actions is input using multi-agent path planning. Figure 7 is a diagram illustrating Example 2.
[0109] In the map shown in Figure 7, initially, Agent 1 is located at point a and Agent 2 is located at point b. Agent 1 is given the task of moving from point a to point d, and Agent 2 is given the task of moving from point b to point a.
[0110] In this case, assume that the input knowledge is that agent 1 is at point d, and only agent 1 should perform actions until the subgoal is achieved, and only agent 2 should perform actions from the time the subgoal is achieved until the task is completed. The input knowledge is a restatement of the knowledge described in Non-Patent Literature 3, which states that planning the paths of multiple agents at once is computationally expensive, so it is better to plan them one by one in sequence. Also, assume that the confidence of the knowledge is 80%.
[0111] An open list 1 that assumes prior knowledge and an open list 2 that does not assume prior knowledge are generated, and the search is performed as follows. For simplicity, states that have already been stored in the open list are not stored again.
[0112] Step 1: Open List 1, which assumes prior knowledge, is selected, and the initial states (a, b) (the former representing Agent 1's position and the latter representing Agent 2's position) are picked up. Agent 1 cannot move anywhere because Agent 2 is in the way, and there are no executable actions for Agent 1 corresponding to Open List 1, so no new state is created.
[0113] Steps 2 through 4: Open list 1, which assumes knowledge, is selected, but no new state is created because there is no state to pick up.
[0114] Step 5: Open list 2, which does not require prior knowledge, is selected, and the initial state (a, b) is picked up. From all available actions, the actions "Agent 2 moves up" and "Agent 2 moves right" are added, and two states, (a, c) and (a, d), are stored in open lists 1 and 2.
[0115] Step 6: The knowledge-based open list 1 [(a, c)(4), (a, d)(4)] is selected, and state (a, c) is picked up. From the actions of the corresponding agent 1, the action "move right" is added as an action that can be performed, and one state (b, c) is stored in open lists 1 and 2.
[0116] Step 7: The knowledge-based open list 1 [(b, c) (3), (a, d) (4)] is selected, and state (b, c) is picked up. The corresponding action of agent 1 is added, and one state (d, c) is stored in open lists 1 and 2.
[0117] Step 8: The knowledge-based open list 1 [(d, c)(2), (a, d)(4)] is selected, and state (d, c) is picked up. Since this state already satisfies the subgoal, the corresponding action is the action of agent 2 from after the subgoal is achieved until the task is completed, and one state (d, b) is stored in open lists 1 and 2.
[0118] Step 9: The knowledge-based open list 1 [(d,b)(1), (a,d)(4)] is selected, and state (d,b) is picked up. Since this state already satisfies the subgoal, the corresponding action becomes the action of agent 2, and one state (d,a) is stored in open lists 1 and 2.
[0119] Step 10: The open list 2 [(d,a)(0), (d,b)(1), (d,c)(2), (b,c)(3), (a,c)(4), (a,d)(4)] is selected, and state (d,a) is picked up. This state satisfies the task completion condition, so the search ends.
[0120] Example 2 illustrates a case where the knowledge contains errors. The knowledge that each agent should plan their path sequentially contains errors because other agents may get in the way and prevent them from reaching the goal. However, as shown in Example 2, by using a suitable proportion of searches that do not rely on knowledge, it is possible to calculate an action plan quickly while ensuring that a solution can be obtained even when the knowledge contains errors.
[0121] [Effects of the Embodiment] As described above, according to the embodiment, in generating the agent's search (calculation of the action plan), an open list is selected according to the certainty of the knowledge that assists the search, one step of search is performed based on the selected open list, a new state is generated in one step of search, and the generated new state is added to the open list. This ensures that a solution can be obtained even if the knowledge contains errors, and the calculation can be sped up. As a result, an appropriate action plan can be generated.
[0122] [Program] The program in this embodiment may be any program that causes a computer to execute steps A1 to A8 shown in Figure 5. By installing and executing this program on a computer, the information processing apparatus and information processing method in this embodiment can be realized. In this case, the computer's processor functions as a knowledge input unit 14, a generation unit 11, a selection unit 12, a search unit 13, a plan output unit 15, and a control unit 16, and performs the processing.
[0123] Furthermore, the program in the embodiment 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: knowledge input unit 14, generation unit 11, selection unit 12, search unit 13, plan output unit 15, or control unit 16.
[0124] [Physical Configuration] Here, a computer that realizes an information processing device by executing the program in the embodiment will be described using Figure 8. Figure 8 is a diagram illustrating an example of a computer that realizes an information processing device.
[0125] As shown in Figure 8, 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. These components are connected to each other via a bus 121, enabling data communication. In addition to the CPU 111, or in place of the CPU 111, the computer 110 may also include a GPU or FPGA.
[0126] 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).
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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).
[0131] Furthermore, the information processing device 10 in this embodiment can be implemented not by a computer on which a program is installed, but 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 8.
[0132] [Note] The following further notes are disclosed regarding the embodiments described above. Some or all of the embodiments described above can be expressed by (Note 1) to (Note 15) below, but are not limited to the following descriptions.
[0133] (Note 1) An information processing device that determines the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process, and calculates an action plan for the agent using the knowledge based on the determined extent.
[0134] (Note 2) The information processing device according to Note 1, comprising: a generation unit that generates an open list that presupposes the knowledge and an open list that does not presuppose the knowledge, based on knowledge that assists in calculating the agent's action plan; a selection unit that selects an open list based on an index representing the certainty of the knowledge; and a search unit that performs a one-step search based on the selected open list and adds the new state generated by the one-step search to the selected open list.
[0135] (Note 3) The information processing apparatus according to Note 2, wherein the selection unit selects the open list using probability or frequency based on the probability as an indicator of the certainty of the knowledge.
[0136] (Note 4) The information processing device described in Note 2, wherein the generation unit generates an open list for evaluating intermediate states, based on knowledge of auxiliary goals that need to be achieved along the way to achieve the goal, and predicts the cost based on the assumption that subgoals will be passed through from the intermediate state of the search to the achievement of the goal.
[0137] (Note 5) The information processing device described in Note 2, wherein the search unit, when an open list is selected that assumes knowledge of the set of actions necessary to accomplish the task, uses only the set of actions in one step of the search.
[0138] (Note 6) An information processing method comprising: an information processing device determining the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process that determines the actions of an agent; and calculating an action plan for the agent using the knowledge based on the determined extent.
[0139] (Note 7) The information processing method according to Note 6, wherein the information processing device generates an open list that presupposes the knowledge and an open list that does not presuppose the knowledge, based on knowledge that assists in calculating the agent's action plan, selects an open list based on an index that represents the certainty of the knowledge, performs a one-step search based on the selected open list, and adds the new state generated by the one-step search to the selected open list.
[0140] (Note 8) The information processing method according to Note 7, wherein the information processing device selects the open list using probability or a frequency based on the probability as an indicator of the certainty of the knowledge.
[0141] (Note 9) The information processing method described in Note 7, wherein the information processing device generates an open list for evaluating intermediate states by performing cost predictions based on the assumption that subgoals are passed through from the intermediate state of the search to the achievement of the goal, as an open list based on knowledge of auxiliary goals that need to be achieved along the way to achieve the goal.
[0142] (Note 10) The information processing method described in Note 7, wherein when the information processing device selects an open list that assumes knowledge of the set of actions necessary to accomplish a task, it uses only the set of actions in one step of the search.
[0143] (Note 11) A computer-readable recording medium that records a program for a computer that performs a process to determine the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process that determines the actions of the agent, and calculates an action plan for the agent using the knowledge based on the determined extent.
[0144] (Note 12) A computer-readable recording medium according to Note 11, which performs the following operations on the computer: generating an open list that presupposes the knowledge and an open list that does not presuppose the knowledge based on knowledge that assists in calculating the agent's action plan; selecting an open list based on an index representing the certainty of the knowledge; performing a one-step search based on the selected open list; and adding the new state generated by the one-step search to the selected open list.
[0145] (Note 13) A computer-readable recording medium according to Note 12, which performs a process on the computer to select the open list using probability or a frequency based on the probability as an indicator of the certainty of the knowledge.
[0146] (Note 14) A computer-readable recording medium as described in Note 12, which executes a process for the computer to generate an open list for evaluating intermediate states by performing cost predictions based on the assumption that subgoals are passed through from the intermediate state of the search to the goal, as an open list based on knowledge of auxiliary goals that need to be achieved along the way to achieve the goal.
[0147] (Note 15) A computer-readable recording medium as described in Note 12, which, when the computer selects an open list that assumes knowledge of the set of actions necessary to accomplish the task, executes a process that uses only the set of actions in one step of the search.
[0148] Although the invention has been described above with reference to embodiments, the invention is not limited to the embodiments described above. Various modifications to the structure and details of the invention can be made that will be understood by those skilled in the art within the scope of the invention.
[0149] As described above, the agent can generate an appropriate action plan to achieve its objectives. Furthermore, it is useful in areas where action planning is required.
[0150] 10 Information processing device 11 Generation unit 12 Selection unit 13 Search unit 14 Knowledge input unit 15 Plan output unit 16 Control unit 20 Agent 30 Storage device 100 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 that determines the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process, and calculates an action plan for the agent using the knowledge based on the determined extent.
2. The information processing apparatus according to claim 1, comprising: a generation means for generating an open list that presupposes the knowledge and an open list that does not presuppose the knowledge, based on knowledge that assists in calculating the agent's action plan; a selection means for selecting an open list based on an index representing the certainty of the knowledge; and a search means for performing a one-step search based on the selected open list and adding a new state generated by the one-step search to the selected open list.
3. The information processing apparatus according to claim 2, wherein the selection means selects the open list using probability or a frequency based on the probability as an indicator representing the certainty of the knowledge.
4. The information processing apparatus according to claim 2, wherein the generation means generates an open list for evaluating intermediate states, based on knowledge of auxiliary goals that need to be achieved along the way to achieve the goal, and performs cost prediction assuming that the search will proceed from the intermediate state to the goal via subgoals.
5. The information processing apparatus according to claim 2, wherein, when an open list is selected that presupposes knowledge of the set of actions necessary to accomplish a task, the search means uses only the set of actions in one step of the search.
6. An information processing method comprising: an information processing device determining the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process that determines the actions of the agent; and calculating an action plan for the agent using the knowledge based on the determined extent.
7. A computer-readable recording medium that records a program for a computer that performs a process to determine the extent to which knowledge is used in an action decision process that determines the actions of an agent, according to the certainty of the knowledge used in the action decision process that determines the actions of the agent, and to calculate an action plan for the agent using the knowledge based on the determined extent.
Citation Information
Patent Citations
Continuous-time multi-agent path planning method and system for rail transit network
CN117391273A
Device and method for processing information and recording medium recording information processing program
JP1999085524A