Information processing device, information processing method, and computer-readable recording medium
The information processing device enhances task planning for multiple robots by identifying and dividing tasks into subsystems with guaranteed connectivity, addressing computational inefficiencies and ensuring consistent parallel calculations.
Patent Information
- Application Number
- PCT/JP2024/007389
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-28
- Publication Date
- 2025-09-04
AI Technical Summary
Existing task planning methods for multiple robots face significant computational challenges when the number of robots increases or the task complexity grows, leading to low operational efficiency due to potential inconsistencies in parallel calculations.
An information processing device and method that identifies subsystems in a modeled task graph, determines connectivity, and outputs whether the task can be divided, ensuring consistent parallel calculations by dividing tasks into subsystems with guaranteed connectivity.
Improves operational efficiency of multiple robots by ensuring consistent and efficient task division, reducing computational overhead and enhancing coordination among robots.
Smart Images

Figure JP2024007389_04092025_PF_FP_ABST
Abstract
Description
Information processing device, information processing method, and computer-readable recording medium
[0001] The present disclosure relates to an information processing device and information processing method for formulating an action plan or a work process, and further to a computer-readable recording medium on which a program for realizing these is recorded.
[0002] Planning the actions of a robot or planning the work processes of an automated factory to accomplish a given task is called "task planning." Non-Patent Document 1 discloses a task planning method in which a task is given using a logical expression with a time-related aspect called linear temporal logic, and an action plan for multiple robots to accomplish this task is created.
[0003] M. Kloetzer and C. Belta, "LTL Planning for Groups of Robots," 2006 IEEE International Conference on Networking, Sensing and Control, 2006, pp. 578-583, doi: 10.1109 / ICNSC.2006.1673210.
[0004] However, the method disclosed in Non-Patent Document 1 has a problem in that the amount of calculation becomes enormous when the number of robots that need to perform action planning increases or when the task itself is complex. Furthermore, Non-Patent Document 1 does not describe how to reduce the amount of calculation.
[0005] Such a huge amount of calculation can be reduced by parallelizing calculations. An intuitive idea for parallelizing calculations is, for example, when a task such as "perform task A, then perform task B" is given, to calculate a plan to perform task A and a plan to perform task B separately, and then combine the calculated plans.
[0006] However, such parallelization of calculations may not work well. The reason is that when calculating a plan to execute task B, it is necessary to assume the state (of, for example, the robot) after task A has been completed, and to start the calculation using that state as the initial state. In other words, when parallelizing the above calculations, if the assumed state differs from the actual state, there is a possibility that the two parallel calculations will not be consistent, and the parallel calculation will fail. As such, conventional methods have the problem of low operational efficiency when multiple robots work in coordination.
[0007] An example of an objective of the present disclosure is to improve the operational efficiency of multiple robots.
[0008] In order to achieve the above object, an information processing device according to one aspect of the present disclosure is characterized by comprising: a subsystem identification unit that identifies a subsystem in a graph obtained by modeling an entity that executes a task, the subsystem satisfying a proposition corresponding to a divided portion when the task is divided; a connectivity determination unit that determines whether the identified subsystem has connectivity; and an output unit that outputs a result indicating whether the task can be divided based on the determination result.
[0009] In addition, in order to achieve the above object, an information processing method according to one aspect of the present disclosure is characterized by having: a subsystem identification step of identifying a subsystem in a graph obtained by modeling an entity that performs a task, the subsystem satisfying a proposition corresponding to a divided portion when the task is divided; a connectivity determination step of determining whether the identified subsystem has connectivity; and an output step of outputting a result indicating whether the task can be divided based on the determination result.
[0010] Furthermore, in order to achieve the above object, a computer-readable recording medium according to one aspect of the present disclosure is characterized in that it records a program including instructions for causing a computer to execute the following steps: a subsystem identification step for identifying a subsystem in a graph obtained by modeling an entity that executes a task, the subsystem satisfying a proposition corresponding to a divided portion when the task is divided; a connectivity determination step for determining whether the identified subsystem has connectivity; and an output step for outputting a result indicating whether the task can be divided based on the determination result.
[0011] As described above, according to the present disclosure, it is possible to improve the operational efficiency of multiple robots.
[0012] FIG. 1 is a diagram showing a schematic configuration of a first example of an information processing device. FIG. 2 is a diagram showing a more specific configuration of the first example of the information processing device. FIG. 3 is a diagram showing an example of a map on which a robot cleaner operates. FIG. 4 is a diagram showing an example of a graph representing a transition system of a robot cleaner. FIG. 5 is a diagram showing an example of a graph representing tasks of the robot cleaner. FIG. 6 is a diagram showing an example of a task graph for a robot cleaner when it is desired to avoid a certain grid. FIG. 7 is a diagram showing an example of a subsystem that satisfies a proposition of the robot cleaner. FIG. 8 is a flow diagram showing the operation of the first example of the information processing device. FIG. 9 is a diagram showing a first example of a task graph for explaining the accuracy of a determination of divisibility. FIG. 10 is a diagram showing a second example of a task graph for explaining the accuracy of a determination of divisibility. FIG. 11 is a diagram showing another example of a subsystem that satisfies a proposition of the robot cleaner. FIG. 12 is a diagram showing a configuration of the second example of the information processing device. FIG. 13 is a diagram showing an example of a truth table. FIG. 14 is a diagram showing an example of an inter-subsystem graph (nodes only). FIG. 15 is a diagram showing an example of an inter-subsystem graph to which an edge has been added. Fig. 16 is a diagram showing an example of a transition system and a plurality of subsystems. Fig. 17 is a flow diagram showing the operation of a second example of an information processing device. Fig. 18 is a diagram showing an example of a transition system in which propositions are mapped to number constraints. Fig. 19 is a block diagram showing an example of a computer that realizes an information processing device in an embodiment.
[0013] First Embodiment Hereinafter, an information processing device, an information processing method, and a program according to a first embodiment will be described with reference to FIGS.
[0014] [Device Configuration] First, the schematic configuration of an example of an information processing device will be described with reference to Fig. 1. Fig. 1 is a diagram showing the schematic configuration of a first example of an information processing device.
[0015] 1 is a device used to create an action plan or a work process for a subject that executes a task. As shown in FIG. 1, the information processing device 10 includes a partial system identification unit 11, a connectivity determination unit 12, and an output unit 13.
[0016] The subsystem identification unit 11 identifies a subsystem that satisfies a proposition corresponding to a divided part when dividing a task in a graph obtained by modeling an entity that executes a task. The connectivity determination unit 12 determines whether the identified subsystem has connectivity. The output unit 13 outputs a result indicating whether the task can be divided based on the determination result.
[0017] In this way, the information processing device 10 divides the model of the subject at the time of task execution into subsystems, and indicates whether the task can be divided using the connectivity of these subsystems. Therefore, when the calculations of the divided tasks are performed in parallel, the information processing device 10 can determine whether the plans calculated in parallel are consistent. As a result, it is possible to improve the operating efficiency of multiple robots.
[0018] Next, the configuration and functions of an example of an information processing device will be specifically described with reference to Figures 2 to 10. Figure 2 is a configuration diagram showing the configuration of a first example of an information processing device in more detail.
[0019] As shown in FIG. 2, the information processing device 10 includes a storage unit 14 and an input receiving unit 15 in addition to the partial system identifying unit 11, connectivity determining unit 12, and output unit 13 shown in FIG.
[0020] The storage unit 14 stores graphs obtained by modeling an entity (system) that executes a task, such as a robot, an automated factory, etc. Examples of graphs obtained by modeling include a transition system that shows the transition relationship between states of a robot, etc., and a Petri net that simply represents an entity (system) including its resources.
[0021] In the following, a transition system will be used as an example, but this does not limit the effects of this embodiment. Furthermore, many modeling representations of systems, including Petri nets, are compatible with transition systems. Therefore, if a graph stored in the storage unit is compatible with a transition system, the stored graph may be converted into a transition system before the processing described below is performed.
[0022] In the following, a self-propelled robot, specifically a robot vacuum cleaner, will be exemplified as the entity that executes the task. In this case, the transition system is a model of the robot vacuum cleaner that performs cleaning. Fig. 3 is a diagram showing an example of a map on which the robot vacuum cleaner behaves. Fig. 4 is a diagram showing an example of a graph representing the transition system of the robot vacuum cleaner.
[0023] When a robot vacuum cleaner moves in the 3x3 grid space shown in Fig. 3, the transition system of this robot vacuum cleaner becomes the graph shown in Fig. 4. In the graph shown in Fig. 4, circles represent nodes and arrows represent edges. The nodes correspond to each grid (i.e., the position of the robot vacuum cleaner). The edges correspond to the robot vacuum cleaner's actions of moving up, down, left, or right, or staying in place.
[0024] The example in Figure 4 is a very simple example, but the transition system can also represent not only the robot's position, but also the internal state of the remaining battery power, the time elapsed since the last cleaning in a certain grid (the length of time without cleaning), and other environmental conditions.
[0025] For convenience, nodes in a transition system may be assigned labels in addition to names. Continuing with the example of a robot vacuum cleaner, for example, in a room, dust tends to accumulate in the corners, while the center is often relatively clean. If such differences in the state of each node are assigned as labels, subsequent processing becomes easier. As will be explained in more detail later, the node p, which corresponds to the corner of the room, 1 , p 3 , p 7 , p 9 If the label "corner" is assigned to p, when instructing the task of cleaning the corner of a room, 1 , p 3 , p 7 , p 9 Instead of ordering someone to clean the area, you can simply order them to clean the corner, making instructions simpler.
[0026] In the following explanation, it is assumed that each node has been assigned a label. However, if no label has been assigned, the name of the node can be treated as the label for convenience. Also, multiple labels can be assigned to one node, and in many cases the name of the node is also assigned to the label as an identifier. That is, in the above example of corner, node p 1 is labeled as "p 1 " and "corner".
[0027] The input receiving unit 15 receives input of propositions (logical expressions) corresponding to the divided parts of a task when the task is divided. Here, "proposition" means a constraint condition. To explain the propositions corresponding to the divided parts of a task, we will first explain basic task planning.
[0028] A task planner (a device that performs task planning) can handle tasks as a graph in order to process them. This graph is like a flowchart that shows a rough (abstract) work procedure, but in strict terms, it differs from a flowchart in the details in order to handle tasks. Figure 5 shows an example of a graph that shows the tasks of a robot vacuum cleaner.
[0029] FIG. 5 shows a graph (hereinafter referred to as a "task graph") that represents a task of making a robot cleaner clean two grids. In the example of FIG. 5, the grids to be cleaned are grids 1 and 2 (node p 1 and p 2 ) For the sake of simplicity, it is assumed here that once the robot cleaner has reached a grid, cleaning of that grid is completed.
[0030] In Fig. 5, the node marked "init" indicates the initial state of the task. The node marked "3" with a double circle indicates that the robot cleaner will reach the final state when it reaches grid 3. In Fig. 5, the p 1 , p 2 ,1,p 1 &&p 2is a proposition (logical formula). When the proposition is satisfied, a transition along that edge becomes possible (note that the "1" next to the arrow means True, and "&&" means and).
[0031] In task planning, a product system is formed by a transition system and a task graph, and a search is performed on this product system to calculate an action plan. Expressed intuitively, this search is performed as follows: when the robot moves appropriately, i.e., when a node in the transition system transitions, a process is repeatedly performed at the current node on the transition system until the current node in the task graph becomes a node in the final state. Specifically, in the task graph, the selection of an edge that satisfies the proposition at the current node and the movement of the node along the selected edge are repeatedly performed until the node in the final state is reached.
[0032] For example, if the initial state of the robot vacuum cleaner is node p 3 (Node p of the transition system 3 In the task graph, the node init is the initial state. Here, the robot cleaner is connected to the node p 6 Let's say you move to.
[0033] First, the cleaning robot checks the label of the node of the transition system where it is currently located, and checks whether the edges of the task graph are satisfied by setting the atomic propositions included in the label to True and the others to False. 6 The label of 6 (the case where only the name is included in the label), the cleaning robot 6 is set to True, and other p 1 , p 2 ,...p 9 is set to False, and it is determined whether the logical expression assigned to the edge is True.
[0034] In the task graph shown in Figure 5, of the four edges going out from the node init, only the edge marked "1" (meaning True) is True, and the others are False. Therefore, in the above case, on the task graph side, movement occurs along the edge marked "1" and returns to the original node. This means that, at an abstract level, the task has not yet progressed.
[0035] On the other hand, cleaning robots 6 Not p 2 In this case, the transition system shown in FIG. 2 The label of 2 Therefore, p 2 The logical formula of the edge of the task graph is checked by setting ∑ p = 1 to True and other values to False. 2 The logical expression of the edge written as follows becomes True, and in addition to the self-regressive edge, movement along the edge toward node 1 also occurs. If there are multiple edges, either edge may be selected. Here, it is assumed that node 1 is selected. This means that the cleaning robot moves along grid 2 (node p 2 This means that the task has been completed, cleaning up the entire system. That is, the task has progressed at an abstract level.
[0036] In the same way, if the cleaning robot moves from grid 2 to grid 1, the node p 2 From node p 1 A transition occurs to the next node, and the robot can reach the node 3 on the task graph, which represents the final state. This allows the robot to complete the task with the action plan p 3 →p 2 →p 1 In this way, the act of searching by simultaneously performing node transitions in both the transition system and the task graph is called searching on a product system.
[0037] Therefore, the search on the product system is divided using the nodes of the task graph as the dividing points. For example, in the case of the task graph shown in FIG. 5, the search is divided at node 1. As a result, the search on the product system is divided into a search from node init to node 1 and a search from node 1 to node 2. Note that the "search from node init to node 1" starts from the initial state and ends at grid 2 (node p 2 ) is cleaned. "Search from node 1 to node 2" means to calculate the robot's action plan until the grid 2 (node p 2 After the cleaning of grid 1 (node p 1 This means calculating the robot's action plan until it cleans the area.
[0038] Specifically, the propositions accepted as input by the input accepting unit 15 are propositions corresponding to edges of nodes that can divide the search of the task graph. More precisely, the propositions are propositions corresponding to self-recursive edges of nodes that divide the search of the task graph.
[0039] For example, if the search is split at node 1, the proposition corresponding to the edge that self-returns from node 1 to node 1 is 1 (True). In this case, the proposition is always True, which means that there is no constraint.
[0040] An example of a case where an input proposition has a constraint is when the search is divided at node 1 in a task graph such as that shown in Fig. 6. Fig. 6 shows an example of a task graph for a robot cleaner when it is desired to avoid a certain grid.
[0041] In the example shown in FIG. 6, the task graph assigns the robot cleaner to grid 5 (node p 5 ) while preventing the entry of grids 1 and 2 (node p 1 and p 2 In this case, the proposition corresponding to the autoregressive edge of node 1 is 5 (The "!" in FIG. 6 means "not"). As a result, the cleaning robot moves to grid 5 (node p 5), it becomes False, so grid 5 (node p 5 ) is a constraint that must not be invaded.
[0042] The subsystem identification unit 11 identifies a subsystem that satisfies the proposition received by the input receiving unit 15 in the transition system stored in the storage unit 14. Specifically, the subsystem identification unit 11 first checks the label of each node in the transition system and extracts those for which the input proposition is True (atomic propositions included in the label are True, and others are False, and the input proposition is True).
[0043] Next, the subsystem identification unit 11 extracts an edge connecting any two nodes from the extracted set of nodes. These two nodes may be the same node. In this case, the edge connecting the two nodes is a self-regressive edge.
[0044] The partial transition system consisting of the set of nodes and the set of edges extracted in this way is a partial system that satisfies the proposition. For example, in the transition system of the robot vacuum cleaner shown in Figure 4, the proposition ¬p 5 The subsystem that satisfies the above is the graph shown in Figure 7. Figure 7 is a diagram showing an example of a subsystem that satisfies a proposition of a robot vacuum cleaner. The subsystem that satisfies the proposition is a graph that allows transitions only between nodes that satisfy the constraints indicated by the proposition.
[0045] The connectivity determination unit 12 determines whether a subsystem that satisfies the proposition identified by the subsystem identification unit 11 has connectivity. Since this subsystem is a graph, a general method for determining the connectivity of a graph can be used to determine the connectivity. Here, the connectivity of a graph means that it is possible to move from any node in the graph to any other node via edges in the graph, that is, there is a path from any node to any other node.
[0046] An example of a method for determining whether a graph has connectivity is a method performed by the following steps (1) to (3): (1) First, select one node in the graph, and calculate the paths from that node to all other nodes. (2) Next, select one node from all other nodes, and calculate the paths to the selected node. (3) If a path can be calculated by steps (1) and (2) above, it is determined that the graph is connected; if a path cannot be calculated, it is determined that the graph is not connected.
[0047] The reason for making the determination in (3) above is that if a route can be calculated using (1) and (2) above, it is guaranteed that there is a route from any node to any other node that passes through the node calculated in (1) above.
[0048] The output unit 13 outputs a result indicating that the node is divisible if the connectivity determination unit 12 determines that the node is connected, and that it is unclear whether the node is divisible if the connectivity determination unit 12 determines that the node is not connected. Here, divisible means that it is guaranteed that when a calculation is divided at a node in the task graph selected by the task planner as a division candidate, the calculation results will be consistent.
[0049] When outputting the result that division is possible, the output unit 13 can also output the path from any node to any node in the subsystem calculated by the connectivity determination unit 12. This path can be used when the task planner aligns the calculation results of the division.
[0050] [Device Operation] Next, an example of the operation of the first example of the information processing device will be described using FIG. 8. FIG. 8 is a flow diagram showing the operation of the first example of the information processing device. In the following description, reference will be made to FIGS. 1 to 7 as appropriate. In addition, in the first embodiment, the information processing method is implemented by operating the information processing device 10. Therefore, the description of the information processing method will be replaced by the description of the operation of the information processing device 10 below.
[0051] 8, first, the input receiving unit 15 receives an input of a proposition (a proposition of a self-regressive edge of a split node of a task graph) from outside (step A1). The proposition may be input by a user using an input device, or may be input from a computer (task planner).
[0052] Next, the subsystem identification unit 11 acquires a transition system from the memory unit 14, and in the acquired transition graph, identifies a subsystem of the transition system stored in the working system memory unit that satisfies the proposition received in step A1 (step A2).
[0053] Next, the connectivity determining unit 12 determines whether the graph of the subsystem identified in step A2 has connectivity (step A3).
[0054] Thereafter, the output unit 13 outputs a result indicating whether the task can be divided based on the determination result of step A3 (step A4). Specifically, if it is determined in step A3 that connectivity exists, the output unit 13 outputs a result indicating that the task can be divided. On the other hand, if it is determined in step A3 that connectivity does not exist, the output unit 13 outputs a result indicating that it is unclear whether the task can be divided.
[0055] [Effects of First Embodiment] Here, it will be explained using Figs. 9 to 11 that the information processing device 10 can correctly determine the divisibility of a calculation. Fig. 9 is a diagram showing an example of a task graph for explaining that the divisibility determination is correct. Fig. 10 is a diagram showing a second example of a task graph for explaining the accuracy of the divisibility determination. Fig. 11 is a diagram showing another example of a subsystem that satisfies the proposition of a robot vacuum cleaner.
[0056] For the purpose of explanation, a simple task graph is shown in Fig. 9. In the example of Fig. 9, a task is represented in which an operation corresponding to proposition a is first performed, and then an operation corresponding to proposition c is performed while observing the constraint corresponding to proposition b.
[0057] Assume that node 1 in the task graph shown in FIG. 9 is a division candidate, the input receiving unit 15 receives input of proposition b, and the output unit 13 outputs a determination result that division is possible as a result of a series of processes.
[0058] When the task planning calculation is divided, two action plans are obtained. One is an action plan (first half action plan) that executes task a and simultaneously (or immediately after) satisfies constraint b. The other is an action plan (second half action plan) that assumes the end state of the first half of the work and executes task c while satisfying constraint b, using the assumed end state as the initial state. Because the calculation is divided at node 1, the end state of the first half action plan and the initial state of the second half action plan naturally satisfy proposition b.
[0059] If the final state of the first half of the action plan and the initial state of the second half of the action plan are the same, then the task can clearly be achieved by connecting the two plans, and so these plans are consistent. Even if the final state of the first half of the action plan and the initial state of the second half of the action plan are different, if the judgment result is divisible, then the subsystem that satisfies proposition b is connected, and so there is always a path from the final state to the initial state. In other words, the task can be achieved by connecting the first half of the action plan, the action plan that transitions from the final state to the initial state, and then the second half of the action plan, so the first half of the action plan and the second half of the action plan can be consistent.
[0060] As shown above, if the output shows that the task is divisible, it means that a plan that can accomplish the task can be calculated by dividing the calculation and integrating the plans.
[0061] Next, we will explain the case where it is output that it is unclear whether the task can be divided. In this case, the plans calculated by dividing the task may or may not be consistent. As an example, consider the case where the robot vacuum cleaner shown in Figure 4 executes the task shown in the example of Figure 10.
[0062] The input receiving unit 15 selects node 1 as a division candidate and outputs "p 4 ∧¬p 5 ∧¬p 6 " is accepted. Also, the label "corner" indicates the grid points corresponding to the four corners.1 , p 3 , p 7 , p 9 In this case, the subsystem that satisfies the proposition is the graph shown in Figure 11. This subsystem is obviously not connected (for example, p 1 From p 9 (You cannot move to
[0063] First, the final state of the first half of the action plan is p 7 and the initial state of the second half action plan is p 8 Let p be 7 From p 8 However, the final state of the first half of the action plan is p 3 and the initial state of the second half action plan is p 8 If p 3 From p 8 Since it is not possible to transition to , the two plans cannot be consistent.
[0064] In this way, when the output unit 13 outputs that it is unclear whether the system is divisible, that is, when the subsystem that satisfies the proposition is not connected, it is clear that there are cases where the plans calculated by dividing the system can be consistent and cases where they cannot be consistent.
[0065] [Program] In the first embodiment, the program may be any program that causes a computer to execute steps A1 to A4 shown in Fig. 8. By installing and executing this program on a computer, the information processing device 10 and the information processing method in the first embodiment can be realized. In this case, the processor of the computer functions as the partial system identification unit 11, the connectivity determination unit 12, the output unit 13, and the input reception unit 15 and performs processing.
[0066] Examples of the computer include a general-purpose PC, a smartphone, and a tablet terminal device. The storage unit 14 may be realized by a storage device such as a hard disk provided in the computer, or may be realized by a storage device of another computer.
[0067] In the first embodiment, the program may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any one of the partial system identification unit 11, the connectivity determination unit 12, the output unit 13, and the input reception unit 15.
[0068] Second Embodiment Next, an information processing device, an information processing method, and a program according to a second embodiment will be described with reference to FIGS.
[0069] [Device Configuration] First, a schematic configuration of an example of an information processing device will be described with reference to Fig. 12. Fig. 12 is a configuration diagram showing the configuration of a second example of an information processing device.
[0070] When a subsystem is large-scale, the calculation for checking the connectivity may take a long time. Therefore, in the second embodiment, an example will be described in which the calculation efficiency is improved in the process of determining whether a subsystem can be divided.
[0071] 2, the information processing device 20 includes a proposition division unit 21 and an integration determination unit 22 in addition to the partial system identification unit 11, connectivity determination unit 12, output unit 13, storage unit 14, and input reception unit 15 shown in FIG. 2. The following description will focus on the differences from the first embodiment.
[0072] The input receiving unit 15 receives input of a proposition (logical formula) corresponding to a divided part when a task is divided, as in the example of embodiment 1. However, in embodiment 2, the input receiving unit 15 inputs the received proposition to the proposition separating unit 21.
[0073] The proposition separation unit 21 separates a proposition input received by the input receiving unit 15 into a plurality of propositions. Specifically, the proposition separation unit 21 first converts the input received proposition into a prime additive normal form. Here, the prime additive normal form is " i (v j (¬) a ij ) is expressed in the format:
[0074] That is, the prime additive normal form is obtained by connecting multiple terms connected with AND and NOT with OR. To convert to prime additive normal form, for example, a truth table of the logical expression is constructed, and terms that make the logical expression true are extracted and connected with OR.
[0075] The above procedure will be explained using a specific example. For example, to convert the logical formula "b = (a ∨ c) ∧ (d ∧ ¬ e)" into the prime additive normal form, first, a truth table is constructed as shown in Figure 13. Figure 13 is a diagram showing an example of a truth table.
[0076] 13, for rows where b is True, the terms that are True are left as they are, the terms that are False are negated, and the terms are connected with AND to create a logical formula. For example, a∧c∧d∧¬e is created from the second row, a∧¬c∧d∧¬e is created from the sixth row, and ¬a∧c∧d∧¬e is created from the tenth row. These created logical formulas are then connected with OR, resulting in (a∧c∧d∧¬e)∨(a∧¬c∧d∧¬e)∨(¬a∧c∧d∧¬e), which is the prime additive normal form of logical formula b.
[0077] Next, the proposition separation unit 21 separates the primary additive normal form at the OR part. That is, the primary additive normal form is separated into three propositions: (a∧c∧d∧¬e), (a∧¬c∧d∧¬e), and (¬a∧c∧d∧¬e).
[0078] In the second embodiment, the subsystem identification unit 11 identifies a subsystem of the transition system that satisfies each proposition separated by the proposition separation unit 21. The connectivity determination unit 12 determines whether the subsystem identified for each separated proposition has connectivity.
[0079] Furthermore, if all the subsystems are connected, they form a single connected system. Therefore, the integration determination unit 22 determines whether the calculated subsystems, when combined, form a single connected system.
[0080] In order to determine whether or not the systems will be connected, the integration determination unit 22 first creates a graph having nodes corresponding to each of the subsystems. The integration determination unit 22 creates, for example, the graph shown in Fig. 14. Hereinafter, the created graph will be referred to as a "subsystem-to-subsystem graph." Fig. 14 is a diagram showing an example of the subsystem-to-subsystem graph (nodes only).
[0081] In the example of FIG. 14, the integration determination unit 22 creates three nodes corresponding to three subsystems that satisfy the three propositions (a∧c∧d∧¬e), (a∧¬c∧d∧¬e), and (¬a∧c∧d∧¬e).
[0082] Next, as shown in Fig. 14, if any two subsystems have a common node (on the transition system), the integration determination unit 22 adds an edge between the nodes in the inter-subsystem graph corresponding to those subsystems. The common node will be described later with reference to Fig. 15. Fig. 15 is a diagram showing an example of the inter-subsystem graph to which an edge has been added.
[0083] 15 shows an example of three subsystems that satisfy (a∧c∧d∧¬e), (a∧¬c∧d∧¬e), and (¬a∧c∧d∧¬e). As shown in FIG. 15, the subsystem that satisfies the proposition (a∧c∧d∧¬e) and the subsystem that satisfies the proposition (a∧¬c∧d∧¬e) share a common node p 1 The partial system satisfying the proposition (a∧c∧d∧¬e) and the partial system satisfying the proposition (¬a∧c∧d∧¬e) have a common node p 3 Therefore, the graph shown in FIG.
[0084] If the inter-subsystem graph is connected, the integration determination unit 22 determines that integration is possible. On the other hand, if the inter-subsystem graph is not connected, the integration determination unit 22 determines that it is unclear whether integration is possible. In other words, when the inter-subsystem graph is connected (if all the subsystems are connected), it is guaranteed that combining the subsystems will result in a single connected system.
[0085] When the inter-subsystem graph is connected, all the subsystems are combined to form a single connected system, as will be explained below. In the following explanation, it is assumed that all the subsystems are connected. However, this assumption does not limit the functionality. As will be explained in more detail later, if any of the subsystems is not connected, the output unit 13 outputs that it is unclear whether it is divisible, regardless of the judgment result of the integration judgment unit 22, so even if the assumption is incorrect, the final output result will not change.
[0086] A system that combines the subsystems corresponding to the two nodes at either end of an edge in the inter-subsystem graph is connected because there is a path from any node in the first subsystem to the common node of the two subsystems, and there is a path from the common node to any node in the second subsystem.
[0087] A path from any node in the first subsystem to the common node always exists, since both nodes belong to the first subsystem, under the assumption that the subsystems are connected. Similarly, a path from the common node to any node in the second subsystem always exists, under the assumption that the subsystems are connected. Therefore, a path exists from any node in the first subsystem to any node in the second subsystem. Similarly, a path exists from any node in the second subsystem to any node in the first subsystem. In other words, a path exists from any node to any node in the system formed by combining the two subsystems, and by the definition of connectivity, the combined system is connected.
[0088] If the graph between the subsystems is connected, then the transitions described above can be repeated, and a transition from a node in any of the subsystems to a node in any of the subsystems is possible, so the system formed by combining all of the subsystems is connected.
[0089] The transition in a subsystem will be explained using FIG. 16. FIG. 16 is a diagram showing an example of a transition system and a plurality of subsystems. Referring to the subsystem graph shown in FIG. 15, there is a path from a subsystem that satisfies the proposition (a∧→c∧d∧→e) to a subsystem that satisfies the proposition (→a∧c∧d∧→e), via a subsystem that satisfies the proposition (a∧c∧d∧→e). Therefore, as shown in FIG. 16, the node p 7 From node p 9 There is a path to.
[0090] The output unit 13 outputs a result that division is possible when the connectivity determination unit 12 determines that all subsystems are connected and the integration determination unit 22 determines that integration is possible. In other cases, the output unit 13 outputs a result that it is unclear whether division is possible.
[0091] As described above, when it is determined that all subsystems are connected and can be integrated, the resulting combined subsystem is connected. This combined subsystem is a subsystem that satisfies the propositions input to the input receiving unit 15 before being separated by the proposition separation unit. This is because combining subsystems is an operation equivalent to connecting corresponding propositions with OR.
[0092] Therefore, when the connectivity determination unit 12 determines that all subsystems are connected and the integration determination unit 22 determines that they can be integrated, the subsystems that satisfy the proposition input to the input receiving unit 15 are connected. That is, in the second embodiment, the determination result of the output unit 13 corresponds to the determination result of the output unit 13 in the first embodiment.
[0093] [Device Operation] Next, an example of the operation of the second example of the information processing device will be described using FIG. 17. FIG. 17 is a flow diagram showing the operation of the second example of the information processing device. In the following description, reference will be made to FIGS. 12 to 16 as appropriate. In addition, in the second embodiment, an information processing method is implemented by operating the information processing device 20. Therefore, the description of the information processing method will be replaced by the following description of the operation of the information processing device 20.
[0094] 17, first, the input receiving unit receives an input of a proposition (a proposition of a self-regressive edge of a split node of a task graph) from outside (step B1). Step B1 is the same as step A1 shown in FIG.
[0095] Next, the proposition separation unit 21 separates the proposition received in step B1 into a plurality of propositions (step B2). Next, the subsystem determination unit 12 identifies a subsystem that satisfies each of the propositions separated in step B2 (step B3).
[0096] Next, the connectivity determination unit 12 determines whether each subsystem identified in step B3 has connectivity (step B4). Next, the integration determination unit 22 determines whether integration is possible using the determination result of step B4 (step B5). Specifically, in step B5, the integration determination unit 22 determines that integration is possible if the subsystem-to-subsystem graph is connected. On the other hand, if the subsystem-to-subsystem graph is not connected, the integration determination unit 22 determines that it is unclear whether integration is possible. Note that step B5 may be executed in parallel with step B4.
[0097] Thereafter, the output unit 13 outputs a result indicating whether the task can be divided based on the determination result of step B5 (step B6). Specifically, if all subsystems have connectivity and can be integrated, the output unit 13 outputs a result indicating that the task can be divided. On the other hand, in other cases, the output unit 13 outputs a result indicating that it is unclear whether the task can be divided.
[0098] [Program] In the second embodiment, the program may be any program that causes a computer to execute steps B1 to B7 shown in Fig. 17. By installing and executing this program on a computer, the information processing device 20 and the information processing method in the second embodiment can be realized. In this case, the processor of the computer functions as the subsystem identification unit 11, the connectivity determination unit 12, the output unit 13, the input reception unit 15, the proposition division unit 21, and the integration determination unit 22, and performs processing.
[0099] Examples of the computer include a general-purpose PC, a smartphone, and a tablet terminal device. The storage unit 14 may be realized by a storage device such as a hard disk provided in the computer, or may be realized by a storage device of another computer.
[0100] In the second embodiment, the program may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any one of the subsystem identification unit 11, connectivity determination unit 12, output unit 13, input reception unit 15, proposition division unit 21, and integration determination unit 22.
[0101] [Effects of the Second Embodiment] In the second embodiment, by separating the proposition, it is only necessary to determine the connectivity of a subsystem that satisfies a proposition consisting only of AND. The proposition consisting only of AND obtained by separating the original proposition has stricter conditions than the original proposition, and the subsystem that satisfies the separated proposition is also smaller in size than the subsystem that satisfies the original proposition. Therefore, the calculation time required to check the connectivity of a subsystem can be reduced.
[0102] Third Embodiment Next, an information processing device, an information processing method, and a program according to a third embodiment will be described with reference to FIG.
[0103] In the third embodiment, the information processing device, information processing method, and program are specialized for a system in which multiple robots of the same type are operating. In a system in which multiple robots of the same type are operating, the system typically grows in size exponentially with the number of robots. However, according to the third embodiment, it is possible to avoid an exponential increase in calculations and further speed up the process of determining whether a task can be divided.
[0104] In the third embodiment, the information processing device has the same configuration as the information processing device shown in the second embodiment. In the third embodiment, the information processing device executes processing in accordance with the steps shown in Fig. 17. Furthermore, in the third embodiment, the program may be any program that causes a computer to execute the steps shown in Fig. 17.
[0105] However, the third embodiment differs from the second embodiment in the operations of the partial system identification unit 11, the connectivity determination unit 12, and the integration determination unit 22. The following description will focus on the differences from the second embodiment. Also, it is assumed that the subject that executes the task is a self-propelled robot.
[0106] First, let us explain in detail the situation where multiple robots of the same type are operating. Robots of the same type are robots that have exactly the same transition system. In this situation, when a task is given, it does not matter which robot or which combination of robots executes the task. This is because all robots can take the same action, and no inconvenience occurs if one robot takes over the work of another robot.
[0107] Therefore, a proposition for a system in which multiple robots of the same type are operating is constructed using an atomic proposition that adds a number specifying the number of robots to the label of the transition system of one of the robots. For example, atomic proposition a 3 is a proposition that requires that there are three or more robots at the node of the transition system with label a. The reason why only the number of robots is specified is that the proposition can be achieved with any combination of robots, since the system is composed of homogeneous robots.
[0108] The input receiving unit 15 receives input of propositions (logical expressions) corresponding to the divided parts when a task is divided, as in the example of the first embodiment. Also, the input receiving unit 15 inputs the received propositions to the proposition separating unit 21, as in the second embodiment.
[0109] The storage unit 14 stores a transition system for one robot, rather than a transition system that combines the actions of multiple robots.
[0110] The subsystem identification unit 11 converts the proposition into a number constraint on a subsystem of one robot and adds the number constraint to the subsystem. Specifically, the subsystem identification unit 11 identifies the subsystem by mapping the proposition to the number constraint on the transition system. The proposition given to the subsystem identification unit 11 is the proposition after separation by the proposition separation unit, and is therefore a proposition consisting only of ANDs. A proposition consisting only of ANDs can be uniquely mapped to a number constraint on the transition system.
[0111] As an example of the mapping of propositions, let us consider the transition system of the robot vacuum cleaner in FIG. 4. 1 3 ∧¬p 1 6 ∧¬p 5 1 ∧p 6 2 ∧¬p 7 2 ) is considered to be mapped. 1 6 " is a grid p 1 Since it is a negation of the constraint that there are five or fewer robots in grid p 1 This results in the constraint that the
[0112] The result of mapping the proposition to the transition system is shown in Figure 18. Figure 18 is a diagram showing an example of a transition system in which the proposition is mapped to the number constraint. In Figure 18, [a, b] indicates that the number of robots that may exist at the node is between a and b. Node p 1 The proposition about p 1 3 and¬p 1 6 Therefore, there can be 3 to 5 robots. 2 In this case, the minimum number of vehicles is set to 0 and the maximum number to infinity. In this way, the proposition is mapped to a number constraint on the transition system.
[0113] The connectivity determination unit 12 determines whether a subsystem to which a number constraint is mapped as a proposition has connectivity. A subsystem having connectivity means that it can transition to any node that satisfies the proposition, that is, any state that satisfies the constraint expressed by the proposition. In other words, in a system with multiple robots of the same type, this means that it can transition from a combination of states of a certain robot that satisfies the number constraint to a combination of states of any robot that satisfies the number constraint.
[0114] The combination of the robot states here is, for example, if there are three robots, "all three are at node p 1 I'm in (p 1 , p 1 , p 1 ) and "Two are node p 1 One node is node p 2 I'm in (p 1 , p 2 , p 1 However, in this case, the robots are of the same type and the order of combination does not matter.
[0115] To determine the connectivity of a subsystem to which a number constraint is mapped, it is sufficient to confirm that the subsystem is connected excluding the node whose upper limit of the number of units is 0. This is because an upper limit of 0 units essentially means that entry into that node is prohibited. For example, in the example of Figure 16, node p 5 It is confirmed whether the partial system (transition system) excluding is connected.
[0116] If the subsystem excluding the node with an upper limit of 0 has connectivity, each robot can move freely through only the nodes it can enter, and any combination that satisfies the number constraint can be formed, so the subsystem that satisfies the proposition also has connectivity.
[0117] Furthermore, the connectivity determination unit 12 can determine whether a node has connectivity by excluding nodes with a number constraint of [n, n] (n is any natural number) in addition to nodes with an upper limit of 0. Whether or not to exclude such nodes is primarily related to system operation. For example, if there is a grid that requires five or more robots but not more than five, the node can be considered to be prohibited from entry due to the presence of five robots. In this case, the node with the number constraint of [n, n] is excluded. However, if one of the five robots moves to another grid and a robot from the other grid is simultaneously allowed to enter that grid, the node with the number constraint of [n, n] is essentially a movable node, and there is no need to exclude this node.
[0118] The integration determination unit 22 performs the operations described in the second embodiment with some exceptions. In the third embodiment, the integration determination unit 22 determines whether a common node exists between a plurality of subsystems by using the number constraints attached to each subsystem. Specifically, the third embodiment differs from the third embodiment in that it determines whether two subsystems have a common node. In the third embodiment, the integration determination unit 22 further integrates the mappings of two subsystems, each of which is mapped with two propositions, into one, and checks the number constraints to determine whether the subsystems that satisfy each proposition have a common node.
[0119] To combine two transition systems with mapped propositions, i.e., with constraints on the number of vehicles, simply compare the constraints on each node and convert them to the strictest constraint. For example, suppose the constraint on the number of vehicles at a node is [3, 7] in one transition system and [4, 10] in the other. In this case, the strictest conditions are combined, and the constraint on the number of vehicles at that grid in the combined transition system becomes [4, 7]. By repeating this process, the combined transition system can be constructed.
[0120] Next, we check whether the number constraints of the integrated transition system satisfy the following three conditions (1) to (3): (1) The minimum number of robots that satisfy the constraints is less than or equal to the total number of robots. (2) The upper limit of the number of robots that satisfy the constraints is greater than or equal to the total number of robots. (3) There are no number constraints for which no solution exists for any node.
[0121] Each condition will be explained below. The minimum number of robots that satisfy the constraints in condition (1) is the sum of the minimum number of robots that must exist in all nodes. In the case of Figure 18, 1 At least three units 6 The minimum number of robots required to satisfy the overall constraint is five, so if there are only four robots in total, this constraint cannot be met. Condition (1) checks whether or not a situation exists in which it is clearly impossible to satisfy such a constraint.
[0122] Condition (2), the opposite of condition (1), focuses on the maximum number of robots. For example, if there are only six robots in all nodes combined, but there are seven robots in total, this constraint cannot be met. Condition (2) confirms this.
[0123] Condition (3) checks whether a condition such as [3, 2] exists for a certain node. This node must have three or more robots, but the number of robots present at any one time must be two or less, so the condition can never be met. Condition (3) checks whether such a case with no solution exists.
[0124] When all conditions (1) to (3) are met, there exists a combination of robots that satisfies both of the two given propositions. Conversely, if any of conditions (1) to (3) are not met, there is no combination of robots that satisfies both of the two given propositions. And the existence of a combination of robots that satisfies both of the two propositions is equivalent to two subsystems that each satisfy two propositions having a common node, so it can be determined that a common node exists.
[0125] As in the example of embodiment 2, when the connectivity determination unit 12 determines that all subsystems are connected and the integration determination unit 22 determines that integration is possible, the output unit 13 outputs a result that division is possible. In other cases, the output unit 13 outputs a result that it is unclear whether division is possible. When it is determined that a common node exists between multiple subsystems, the output unit 13 can also output a result that indicates that there is a combination of robots that simultaneously satisfies each of the divided propositions.
[0126] [Effects of the Third Embodiment] In the third embodiment, by converting a proposition into a number constraint and mapping it to a transition system for one robot, it is possible to check the connectivity of a proposition satisfaction system in a transition system for multiple robots. Therefore, according to the third embodiment, it is possible to reduce the calculation time without exponentially exploding the amount of calculation.
[0127] [Physical Configuration] A computer that implements an information processing device by executing a program in the embodiment will now be described with reference to Fig. 19. Fig. 19 is a block diagram showing an example of a computer that implements an information processing device in the embodiment.
[0128] 19, a computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These components are connected to each other via a bus 121 so as to be able to communicate data with each other.
[0129] Furthermore, the computer 110 may include a GPU (Graphics Processing Unit) or an FPGA (Field-Programmable Gate Array) in addition to or instead of the CPU 111. In this aspect, the GPU or FPGA can execute the programs in the embodiments.
[0130] The CPU 111 loads a program in the embodiment, which is composed of a group of codes and stored in the storage device 113, into the main memory 112 and executes each code in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
[0131] The program in the embodiment is provided in a state stored in a computer-readable recording medium 120. The program in the embodiment may be distributed over the Internet connected via the communication interface 117.
[0132] Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse. The display controller 115 is connected to a display device 119 and controls the display on the display device 119.
[0133] 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.
[0134] Specific examples of the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as flexible disks, or optical recording media such as CD-ROMs (Compact Disk Read Only Memory).
[0135] The information processing device in the embodiments can be realized not by a computer on which a program is installed, but by hardware corresponding to each unit, such as an electronic circuit. Furthermore, the information processing device may be partially realized by a program and the remaining unit by hardware. In the embodiments, the computer is not limited to the computer shown in FIG. 19 .
[0136] Some or all of the above-described embodiments can be expressed by (Supplementary Note 1) to (Supplementary Note 15) described below, but are not limited to the following descriptions.
[0137] (Supplementary Note 1) An information processing device comprising: a subsystem identification unit that identifies a subsystem that satisfies a proposition corresponding to a divided part when dividing a task in a graph obtained by modeling an entity that executes a task; a connectivity determination unit that determines whether the identified subsystem has connectivity; and an output unit that outputs a result indicating whether the task can be divided based on the determination result.
[0138] (Supplementary Note 2) The information processing device described in Supplementary Note 1, wherein the graph is a graph representing the subject's transition system, the task is represented by a task graph consisting of nodes and edges, the proposition corresponding to the divided part when the task is divided is a proposition corresponding to the edge of a node that can divide the search of the task graph, and the subsystem identification unit extracts nodes from the transition system for which the proposition is true, further extracts edges connecting the extracted nodes, and identifies the subsystem using the nodes and edges extracted from the transition system.
[0139] (Supplementary Note 3) The information processing device according to Supplementary Note 1, wherein the connectivity determination unit determines connectivity of the identified subsystem by determining whether a node of the identified subsystem can be connected to a node other than the identified subsystem in the graph.
[0140] (Supplementary Note 4) The information processing device according to Supplementary Note 1, further comprising: a proposition division unit that divides the proposition into a plurality of propositions; the subsystem identification unit that identifies the subsystem for each divided proposition; and an integration determination unit that determines whether the subsystems for each divided proposition can be integrated; and when it is determined that all of the subsystems for each divided proposition have connectivity and that the subsystems for each divided proposition can be integrated, the output unit outputs a result indicating that the task can be divided.
[0141] (Supplementary Note 5) An information processing device according to Supplementary Note 4, wherein the entity executing the task is a self-propelled robot, the subsystem identification unit converts the proposition into a number constraint on the subsystem of one of the robots and adds the number constraint to the subsystem, the connectivity determination unit determines whether the subsystem to which the number constraint is added has connectivity, the integration determination unit uses the number constraint added to each of the subsystems to determine whether a common node exists between multiple subsystems, and when it is determined that a common node exists between multiple subsystems, the output unit outputs a message indicating that a combination of robots exists that satisfies the divided proposition at once.
[0142] (Supplementary Note 6) An information processing method comprising: a subsystem identification step of identifying a subsystem that satisfies a proposition corresponding to a divided part when dividing a task in a graph obtained by modeling an entity that executes a task; a connectivity determination step of determining whether the identified subsystem has connectivity; and an output step of outputting a result indicating whether the task can be divided based on the determination result.
[0143] (Supplementary Note 7) An information processing method according to Supplementary Note 6, wherein the graph is a graph representing the subject's transition system, the task is represented by a task graph consisting of nodes and edges, the proposition corresponding to the divided part when the task is divided is a proposition corresponding to the edge of a node that can divide a search of the task graph, and in the subsystem identification step, nodes for which the proposition is true are extracted from the transition system, and edges connecting the extracted nodes are further extracted, and the subsystem is identified using the nodes and edges extracted from the transition system.
[0144] (Supplementary Note 8) The information processing method according to Supplementary Note 6, wherein in the connectivity determination step, the connectivity of the identified subsystem is determined by determining whether a node of the identified subsystem can be connected to a node other than the identified subsystem in the graph.
[0145] (Supplementary Note 9) An information processing method according to Supplementary Note 6, comprising a proposition division step of dividing the proposition into a plurality of propositions, a subsystem identification step of identifying the subsystem for each divided proposition, and an integration determination step of determining whether the subsystems for each divided proposition can be integrated, and when it is determined that all of the subsystems for each divided proposition have connectivity and that the subsystems for each divided proposition can be integrated, a result indicating that the task can be divided is output in the output step.
[0146] (Supplementary Note 10) An information processing method according to Supplementary Note 9, wherein the entity executing the task is a self-propelled robot, and in the subsystem identification step, the proposition is converted into a number constraint on the subsystem of one of the robots and the number constraint is added to the subsystem, and in the connectivity determination step, it is determined whether the subsystem to which the number constraint is added has connectivity, and in the integration determination step, it is determined whether a common node exists between multiple subsystems using the number constraint added to each of the subsystems, and in the output step, if it is determined that a common node exists between multiple subsystems, it is output that there is a combination of robots that satisfies the divided proposition at once.
[0147] (Supplementary Note 11) A computer-readable recording medium having recorded thereon a program including instructions for causing a computer to execute the following steps: a subsystem identification step of identifying a subsystem that satisfies a proposition corresponding to a divided portion when dividing a task in a graph obtained by modeling an entity that executes a task; a connectivity determination step of determining whether the identified subsystem has connectivity; and an output step of outputting a result indicating whether the task can be divided based on the determination result.
[0148] (Supplementary Note 12) A computer-readable recording medium according to Supplementary Note 11, wherein the graph is a graph representing a transition system of the subject, the task is represented by a task graph consisting of nodes and edges, the proposition corresponding to a division part when dividing the task is a proposition corresponding to an edge of a node that can divide a search of the task graph, and in the subsystem identification step, nodes for which the proposition is true are extracted from the transition system, and edges connecting the extracted nodes are further extracted, and the subsystem is identified using the nodes and edges extracted from the transition system.
[0149] (Supplementary Note 13) The computer-readable recording medium according to Supplementary Note 11, wherein in the connectivity determination step, the connectivity of the identified subsystem is determined by determining whether a node of the identified subsystem can be connected to a node other than the identified subsystem in the graph.
[0150] (Supplementary Note 14) The computer-readable recording medium according to Supplementary Note 11, wherein the program causes the computer to execute a proposition division step of dividing the proposition into a plurality of propositions; in the subsystem identification step, the subsystem is identified for each divided proposition; the program further causes the computer to execute an integration determination step of determining whether the subsystems for each divided proposition can be integrated; and when it is determined that all of the subsystems for each divided proposition have connectivity and that the subsystems for each divided proposition can be integrated, in the output step, a result indicating that the task can be divided is output.
[0151] (Supplementary Note 15) A computer-readable recording medium according to Supplementary Note 14, wherein the entity that executes the task is a self-propelled robot, wherein in the subsystem identification step, the proposition is converted into a number constraint on the subsystem of one of the robots and the number constraint is added to the subsystem, wherein in the connectivity determination step, it is determined whether the subsystem to which the number constraint is added has connectivity, wherein in the integration determination step, it is determined whether a common node exists between multiple subsystems using the number constraint added to each of the subsystems, and wherein in the output step, if it is determined that a common node exists between multiple subsystems, it is output that there is a combination of the robots that satisfies the divided proposition at once.
[0152] Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
[0153] As described above, according to the present disclosure, it is possible to improve the operational efficiency of multiple robots. The present disclosure is useful for systems that require the formulation of action plans, such as robots and factories.
[0154] REFERENCE SIGNS LIST 10 Information processing device (first example) 11 Subsystem identification unit 12 Connectivity determination unit 13 Output unit 14 Storage unit 15 Input reception unit 20 Information processing device (second example) 21 Proposition division unit 22 Integration determination unit 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: a subsystem identification means for identifying a subsystem that satisfies a proposition corresponding to a divided part when dividing a task in a graph obtained by modeling an entity that executes a task; a connectivity determination means for determining whether the identified subsystem has connectivity; and an output means for outputting a result indicating whether the task can be divided based on the determination result.
2. The information processing device according to claim 1, wherein the graph is a graph representing the subject's transition system, the task is represented by a task graph consisting of nodes and edges, the proposition corresponding to the division part when the task is divided is a proposition corresponding to the edge of a node that can divide the search of the task graph, and the subsystem identification means extracts nodes from the transition system for which the proposition is true, further extracts edges connecting the extracted nodes, and identifies the subsystem using the nodes and edges extracted from the transition system.
3. The information processing device according to claim 1, wherein the connectivity determination means determines the connectivity of the identified subsystem by determining whether a node of the identified subsystem can be connected to a node other than the identified subsystem in the graph.
4. An information processing device as described in claim 1, further comprising: a proposition division means for dividing the proposition into a plurality of propositions; a subsystem identification means for identifying the subsystem for each divided proposition; and an integration determination means for determining whether the subsystems for each divided proposition can be integrated; and when it is determined that all of the subsystems for each divided proposition have connectivity and that the subsystems for each divided proposition can be integrated, the output means outputs a result indicating that the task can be divided.
5. The information processing device according to claim 4, wherein the entity executing the task is a self-propelled robot, the subsystem identification means converts the proposition into a number constraint on the subsystem of one of the robots and adds the number constraint to the subsystem, the connectivity determination means determines whether the subsystem to which the number constraint is added has connectivity, the integration determination means uses the number constraint added to each of the subsystems to determine whether a common node exists between multiple subsystems, and when it is determined that a common node exists between multiple subsystems, the output means outputs a message indicating that a combination of robots exists that satisfies the divided proposition at once.
6. An information processing method comprising: identifying a subsystem in a graph obtained by modeling an entity that executes a task, which subsystem satisfies a proposition corresponding to a division portion when dividing the task; determining whether the identified subsystem has connectivity; and outputting a result indicating whether the task can be divided based on the determination result.
7. A computer-readable recording medium having a program recorded thereon, including instructions for causing a computer to: identify a subsystem in a graph obtained by modeling the entity that executes a task, that satisfies a proposition corresponding to a division portion when dividing the task; determine whether the identified subsystem has connectivity; and output a result indicating whether the task can be divided based on the determination result.
Citation Information
Patent Citations
Method and equipment for task assignment of hypercube multicomputer
JP1995281907A
Apparatus, Device, Method and Computer Program for Controlling the Execution of a Computer Program by a Computer System
US20220326991A1