Formal language conversion system, control system, formal language conversion method, and storage medium
Patent Information
- Application Number
- PCT/JP2025/006087
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-21
- Publication Date
- 2026-08-27
Smart Images

Figure JP2025006087_27082026_PF_FP_ABST
Abstract
Description
Formal language conversion system, control system, formal language conversion method, and storage medium
[0001] The present invention relates to a formal language conversion system, a control system, a formal language conversion method, and a storage medium.
[0002] A work plan for operating an operation target may be generated. For example, Patent Document 1 describes generating a work plan for a robot, an automatic machine, etc. using a Petri net.
[0003] Japanese Patent Laid-Open No. 8-305756
[0004] When automatically generating a work plan, it is preferable that the possibility of generating an executable work plan is as high as possible.
[0005] An example of the object of the present disclosure is to provide a formal language conversion system, a control system, a formal language conversion method, and a storage medium that can solve the above-described problems.
[0006] According to a first aspect of the present disclosure, a formal language conversion system determines elements to be extracted from formal language data in which an operation executable by an agent that operates according to a work plan, a state of an operation environment of the agent, and a target state of the operation environment are described, and extracts the elements determined from the formal language data to generate a character string. Formal language conversion means, an automatic planning means that executes an automatic plan for generating a work plan based on the generated character string and determines whether an executable work plan has been generated, and when it is determined that an executable work plan has not been generated, identifies the factor for which an executable work plan has not been generated, and based on the identified factor, Automatic plan evaluation means for updating the elements to be extracted from the formal language data.
[0007] According to a second aspect of the present disclosure, the control system comprises a formal language conversion system and an agent, the formal language conversion system comprising: a formal language conversion means that determines elements to be extracted from formal language data describing an action that the agent can perform, the state of the agent's operating environment, and the target state of the operating environment; extracts the elements determined from the formal language data to generate a string; an automatic planning means that executes an automatic plan to generate a work plan based on the generated string and determines whether an actionable work plan has been generated; and an automatic plan evaluation means that, if it is determined that an actionable work plan has not been generated, identifies the factors that prevented the generation of an actionable work plan and updates the elements to be extracted from the formal language data based on the identified factors.
[0008] According to a third aspect of this disclosure, a formal language conversion method includes a computer determining elements to extract from formal language data describing the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment; extracting the elements determined from the formal language data to generate a string; executing an automated plan to generate a work plan based on the generated string; determining whether an executable work plan has been generated; if it is determined that an executable work plan has not been generated, identifying the reasons why an executable work plan has not been generated; and updating the elements to be extracted from the formal language data based on the identified factors.
[0009] According to a fourth aspect of this disclosure, the storage medium is a storage medium that stores a program that causes a computer to perform the following actions: determine elements to extract from formal language data describing the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment; extract the elements determined from the formal language data to generate a string; execute an automated plan to generate a work plan based on the generated string; determine whether an executable work plan has been generated; and, if it is determined that an executable work plan has not been generated, identify the reason why an executable work plan has not been generated, and update the elements to be extracted from the formal language data based on the identified reason.
[0010] According to the aspects of this disclosure, when automatically generating a work plan, it is expected that there is a relatively high probability of generating an executable work plan.
[0011] This is a block diagram showing an example of the configuration of a formal language conversion system according to at least one embodiment. This is a flowchart showing an example of the processing procedure performed by a formal language conversion system according to at least one embodiment. This is a diagram showing an example of the initial state in a problem to be planned by a formal language conversion system according to at least one embodiment. This is a diagram showing an example of the target state. This is a diagram showing an example of a PDDL domain file acquired by an input unit according to at least one embodiment. This is a diagram showing an example of a PDDL problem file acquired by an input unit according to at least one embodiment. This is a diagram showing an example of a map corresponding to an automated planning problem generated by a problem generation unit according to at least one embodiment. This is a diagram showing an example of a map corresponding to an automated planning problem generated by a problem generation unit according to at least one embodiment. This is a block diagram showing an example of the configuration of a formal language conversion system according to at least one embodiment. This is a flowchart showing an example of the processing procedure performed by a formal language conversion system according to at least one embodiment. This is a diagram showing an example of the processing procedure in which a formal language conversion unit according to at least one embodiment generates a string based on an element set. This is a diagram showing an example of the processing procedure in which an automated planning evaluation unit according to at least one embodiment identifies the factors that caused the work plan to become unexecutable. This is a diagram showing an example of the initial state in a problem to be planned by a formal language conversion system according to at least one embodiment. This is a diagram showing an example of the target state. This is a diagram showing an example of a PDDL domain file acquired by an input unit according to at least one embodiment. This figure shows an example of a PDDL problem file acquired by an input unit according to at least one embodiment. This figure shows an example of a PDDL domain file assigned to an agent in at least one embodiment. This figure shows an example of a PDDL problem file assigned to an agent in at least one embodiment. This figure shows an example of a PDDL domain file assigned to an agent in at least one embodiment. This figure shows an example of a PDDL problem file assigned to an agent in at least one embodiment. This figure shows an example of a map corresponding to an automated planning problem generated by a problem generation unit according to at least one embodiment.This figure shows an example of a map corresponding to an automated planning problem generated by a problem generation unit according to at least one embodiment. This figure shows an example of the configuration of a control system according to at least one embodiment. This figure shows an example of the configuration of a control system according to at least one embodiment. This is a block diagram showing an example of the configuration of a formal language conversion system according to at least one embodiment. This is a block diagram showing an example of the configuration of a control system according to at least one embodiment. This figure shows an example of the processing procedure in a formal language conversion method according to at least one embodiment. This is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
[0012] The embodiments will be described below with reference to the drawings.
[0013] <First Embodiment> (Description of Configuration) Figure 1 is a block diagram showing an example of the configuration of a formal language conversion system according to at least one embodiment. In the configuration shown in Figure 1, the formal language conversion system 1 comprises an input unit 10, a formal language conversion unit 20, an automatic planning unit 30, an automatic planning evaluation unit 40, an output unit 50, and an extracted element database 60.
[0014] The formal language conversion system 1 performs automatic planning. Automatic planning, in this context, means automatically generating a plan to achieve a specified objective. "Automatically" here means that the plan generation is performed by a device, not by a human. The formal language conversion system 1 generates and outputs a work plan through automatic planning. This work plan is information indicating a series of actions to achieve the objective. The object that is made to act according to the work plan (the object controlled by the work plan) is also called an agent. The actions of the agent are also called agent actions or agent tasks.
[0015] The agents targeted for automatic planning by the formal language conversion system 1 are not limited to specific ones. For example, various things that can be controlled by giving control commands can be used as agents, such as mobile objects like industrial robots and automated guided vehicles, individual devices, or systems including multiple devices such as production lines or factories.
[0016] The input unit 10 acquires formal language data describing the state, action, and goal in a text file. Here, the state refers to the state of the agent's operating environment. Here, the action refers to an action that the agent can perform. Here, the goal refers to the target state of the agent's operating environment. The formal language conversion system 1 generates a work plan to cause the agent to act so that the state of the agent's operating environment becomes the target state.
[0017] The input unit 10 may acquire formal language data provided by the user or an external system. Furthermore, if the user specifies elements to be extracted from the formal language data, the input unit 10 also acquires information indicating the specified elements. The number of elements specified by the user is not limited to a specific number.
[0018] The formal language conversion unit 20 comprises an element extraction determination unit 21 and a formal language conversion processing unit 22. The element extraction determination unit 21 takes as input the formal language data output from the input unit 10, which describes the state, action, and goal, and the element specified by the user, as well as that element, and determines the elements to be extracted from the formal language data. The number of elements determined by the element extraction determination unit 21 is not limited to a specific number. A set of elements is also called an element set.
[0019] In this context, an element refers to a unit of information extracted from formal language data. In other words, an element is information that the formal language conversion system 1 treats as a single unit of information. The formal language data acquired by the input unit 10 contains information that plays an important role in calculating the work plan.
[0020] For example, the formal language conversion system 1 may extract the initial state of each agent and the working environment conditions (placement of obstacles, usable range of workspace, etc.) as elements related to the state. Alternatively, the formal language conversion system 1 may extract a list of actions that each agent can perform, the prerequisites for the actions, and the results of the actions as elements related to the actions.
[0021] Furthermore, the formal language conversion system 1 may extract the target state and the specific conditions necessary to achieve the target state as elements related to the goal. The formal language conversion system 1 may also extract the work object, physical constraints, and relationships with other agents (such as priority relationships) as elements related to environmental information. However, the candidates for these elements (types of elements) do not need to be defined in advance. The formal language conversion system 1 determines what information to extract as elements from the formal language data and at what size (granularity).
[0022] The element extraction determination unit 21 stores information indicating the determined elements in the element extraction database 60. The element extraction determination unit 21 may, but is not limited to, outputting element names as information indicating elements. The information indicating elements is also called element set information.
[0023] The formal language conversion processing unit 22 takes the element set information stored in the extracted element database 60 and the formal language data output from the input unit 10 as input and extracts the determined elements (elements indicated in the element set information) from the formal language data. The extraction of elements from the formal language data by the formal language conversion processing unit 22 can be understood as a process that extracts only the necessary elements from the original formal language data and generates a string containing the minimum necessary information. The elements extracted from the formal language data are also called extracted elements.
[0024] The formal language conversion processing unit 22 outputs the elements extracted from the formal language data as a string (text data). The output of the formal language conversion processing unit 22 can be considered as the extracted and converted string.
[0025] The automatic planning unit 30 comprises a problem generation unit 31, an automatic planning processing unit 32, and a determination unit 33. The problem generation unit 31 takes a string generated by the formal language conversion processing unit 22 as input and generates an automatic planning problem for executing automatic planning.
[0026] The automated planning problem referred to here is a problem of planning a series of actions necessary to achieve a specified goal. Automated planning can be understood as solving an automated planning problem. The problem generation unit 31 outputs the automated planning problem as data in Planning Domain Definition Language (PDDL) format or as text data.
[0027] The automated planning processing unit 32 takes the generated automated planning problem as input and generates a work plan. In the output of the work plan, the automated planning processing unit 32 outputs a sequence of actions to achieve the goal, for example, as a string.
[0028] The determination unit 33 takes the work plan generated by the automatic planning processing unit 32 as input and determines the feasibility of the generated work plan. The determination unit 33 outputs the feasibility determination result and information for analyzing the determination result. The information for analyzing the determination result here is used by the determination unit 33 to analyze the factors that make the generated work plan unfeasible if it determines that the generated work plan is unfeasible.
[0029] For example, the determination unit 33 may perform a simulation of the work plan generated by the automatic planning processing unit 32 to determine whether or not the work plan can be executed. In this case, the determination unit 33 may output the simulation data obtained when the work plan simulation was performed as information for analyzing the determination result.
[0030] Alternatively, if an executable work plan cannot be generated, the automatic planning processing unit 32 may fail to generate the work plan. In this case, the automatic planning processing unit 32 may output a determination result that the work plan is unexecutable, along with information for analyzing the determination result. For example, the automatic planning processing unit 32 may use the PDDL planner to execute an automatic plan and output the error message and log data when the work plan generation fails as information for analyzing the determination result.
[0031] When the automatic planning processing unit 32 outputs a judgment result and information for analyzing the judgment result, the automatic planning processing unit 32 can be considered to also function as a judgment unit 33. Alternatively, if the judgment unit 33 is provided as a separate configuration from the automatic planning processing unit 32, the automatic planning processing unit 32 may output the judgment result and information for analyzing the judgment result to the judgment unit 33. The judgment unit 33 may then output the judgment result obtained from the automatic planning processing unit 32 and information for analyzing the judgment result to the automatic planning evaluation unit 40. The situations in which a work plan is generated and the generated work plan is unexecutable, and the situations in which no work plan is generated, are collectively referred to as the work plan being unexecutable or no executable work plan being generated.
[0032] The automated plan evaluation unit 40 includes an unexecutable factor analysis unit 41 and an extracted element adjustment unit 42. When the determination unit 33 determines that the work plan is unexecutable, the unexecutable factor analysis unit 41 takes as input the information for analyzing the determination result output by the determination unit 33 and the element set information stored in the extracted element database 60 to identify the factors that caused the work plan to become unexecutable. The factors that caused the work plan to become unexecutable are also called unexecutable factors or failure factors. The unexecutable factor analysis unit 41 outputs the unexecutable factors as strings.
[0033] The extracted element adjustment unit 42 takes the factors that make execution impossible identified by the impossibility factor analysis unit 41 and the element set information stored in the extracted element database 60 as input, and determines which elements to add or delete as elements to be extracted from the formal language data. The extracted element adjustment unit 42 stores information indicating the elements it has determined in the extracted element database 60. For example, the extracted element adjustment unit 42 may update the element set information stored in the extracted element database 60 by reflecting the determined additions or deletions in the element set information.
[0034] The output unit 50 outputs the work plan generated by the automatic planning unit 30 when the determination unit 33 determines that the work plan is feasible.
[0035] The extracted element database 60 stores element set information indicating the elements to be extracted from the formal language data. The extracted element database 60 is configured using a storage medium such as a magnetic disk or an SSD (Solid State Drive). The element set information stored in the extracted element database 60 is updated when the input unit 10 obtains a user specification of the elements to be extracted from the formal language data, when the extracted element determination unit 21 determines the elements to be extracted from the formal language data, and when the extracted element adjustment unit 42 determines the elements to be added or deleted.
[0036] The formal language conversion processing unit 22 refers to the element set information stored in the extracted element database 60 when generating a string. Similarly, the unexecutable factor analysis unit 41 refers to the element set information stored in the extracted element database 60 when identifying the factors that caused the work plan to become unexecutable. The element set information stored in the extracted element database 60 is dynamically updated in response to the addition and deletion of elements.
[0037] With the above configuration, the formal language conversion system 1 can efficiently extract the elements necessary for work planning from a large-scale problem described in a formal language, and calculate a work plan by executing an automatic plan based on the converted string of formal language data. Furthermore, even if the automatic plan fails, the formal language conversion system 1 can perform an iterative improvement process by re-selecting the element set.
[0038] (Explanation of operation) Figure 2 is a flowchart showing an example of the processing procedure performed by the formal language conversion system 1.
[0039] (Step A11) The input unit 10 acquires formal language data describing the state, action, and goal. The input unit 10 may acquire formal language data through user operation or by acquiring data from an external system (a system outside the formal language conversion system). For example, the formal language data may be written in a text file, and the user may perform a user operation to specify the file. The input unit 10 may then acquire the formal language data by reading the specified file.
[0040] Furthermore, the user may be allowed to specify elements to be extracted from the formal language data. When the user specifies elements, the input unit 10 obtains information indicating the specified elements and stores it in the extracted element database 60.
[0041] The element set information stored in the extracted element database 60 represents each element as a string. The extracted element database 60 may also store data in array format that enumerates the elements. The element set information stored in the extracted element database 60 may have a parameter indicating the importance of each element. In this case, the extracted element database 60 may store the string representing the element (a string that identifies the element) and the numerical value corresponding to each element in array format data. After step A11, the process proceeds to step A12.
[0042] (Step A12) The element extraction determination unit 21 of the formal language conversion unit 20 determines the elements to be extracted from the formal language data. The element extraction determination unit 21 refers to the element extraction database 60 and obtains element set information indicating the elements to be extracted from the formal language data. If the user specifies the elements to be extracted from the formal language data, the element extraction determination unit 21 determines the elements to be extracted from the formal language data, taking the specified elements into consideration. Alternatively, the element extraction determination unit 21 may determine the elements to be extracted from the formal language data by taking into consideration the element set information updated in past cases.
[0043] The element extraction determination unit 21 may use a Large Language Model (LLM) to determine which elements to extract from the formal language data based on the context and structure of the formal language. When using a Large Language Model, for example, the element extraction determination unit 21 may present the given formal language data as a prompt and then give an explicit instruction such as, "Based on the given formal language data, please list the elements necessary to perform automatic planning." With such a prompt, the Large Language Model can extract the relevant elements from the formal language data and output them in list format.
[0044] Also, it is expected that the large language model can recognize elements in the formal language data through knowledge from pre-training, guidance by a given prompt, or either of these. Regarding the knowledge from pre-training, pre-training of the large language model is performed using training data (training data) including programming languages, logical expressions, natural language manuals, and specifications. Thus, it is expected that the large language model has the following knowledge.
[0045] (1) Knowledge for pattern recognition of structured data: Formal language data is described according to specific grammar rules and patterns. It is expected that the large language model can grasp the structure in which the formal language data includes information such as states, actions, and goals through pre-training.
[0046] (2) Knowledge regarding work plans and control systems It is expected that the large language model has the ability to infer which information affects the plan by learning technical documents and cases such as industrial robots, automation, and planning algorithms.
[0047] However, these knowledges are not necessarily accurate. If the elements determined by the extraction element determination unit 21 to be extracted from the formal language data are inappropriate due to these knowledges being inaccurate, etc., it is conceivable that the formal language conversion system 1 fails to generate a work plan that can achieve the goal. In this case, the extraction element determination unit 21 re-determines the elements. The formal language conversion system 1 attempts to generate a work plan again based on the newly determined elements.
[0048] Alternatively, the extraction element determination unit 21 may determine the elements to be extracted from the formal language data by a systematic method based on the grammar rules of the formal language without using the large language model. After step A12, the process proceeds to step A13.
[0049] (Step A13) The element extraction determination unit 21 stores the element set information indicating the determined elements in the element extraction database 60. After step A13, the process proceeds to step A14.
[0050] (Step A14) The formal language conversion processing unit 22 of the formal language conversion unit 20 extracts elements indicated by the element set information stored in the extracted element database 60 from the formal language data and generates a string. The string generated by the formal language conversion processing unit 22 is expected to contain only the minimum information necessary for automatic planning.
[0051] The format in which the formal language conversion processing unit 22 outputs the generated string is not limited to a specific format. For example, the formal language conversion processing unit 22 may generate and output the string in natural language, program source code, or formal language. The formal language conversion processing unit 22 may also generate the string by utilizing the capabilities of natural language processing by using a large-scale language model. When using a large-scale language model, for example, the formal language conversion processing unit 22 presents formal language data and element set information stored in the extracted element database 60 as a prompt, and then gives an explicit instruction such as, "Generate a concise string by extracting only the specified elements from the formal language data." With such a prompt, the large-scale language model can generate a string by extracting only the necessary elements from the formal language data. Alternatively, the formal language conversion processing unit 22 may generate the string in a systematic way using a rule-based algorithm with regular expressions. After step A14, the process proceeds to step A15.
[0052] (Step A15) The problem generation unit 31 of the automatic planning unit 30 generates subtasks and the priority of each subtask based on the string generated by the formal language conversion processing unit 22. The problem generation unit 31 may also generate subtasks by utilizing the capabilities of natural language processing by using a large-scale language model.
[0053] When using a large-scale language model, for example, the problem generation unit 31 presents a string generated by the formal language conversion processing unit 22 as a prompt, and then gives explicit instructions such as, "List the small subtasks necessary to accomplish this task and determine the priority between each subtask." The large-scale language model is expected to have the ability to analyze the content of a given task and break it down into logical steps, thereby enabling the automatic generation of appropriate subtasks that take into account the execution flow and dependencies.
[0054] Alternatively, the problem generation unit 31 may generate subtasks in a systematic manner without using a large-scale language model. For example, the problem generation unit 31 may generate subtasks by analyzing a set of goal states described in a formal language and dividing them into appropriate units. After step A15, the process proceeds to step A16.
[0055] (Step A16) The formal language conversion system 1 starts a loop L11 that processes each subtask. After step A16, the process proceeds to step A17.
[0056] (Step A17) The problem generation unit 31 generates an automated planning problem for generating an automated plan for the subtasks based on the subtasks generated in step A15. The problem generation unit 31 describes the automated planning problem in a format that can be interpreted by the automated planning algorithm. For example, if the formal language conversion system 1 uses the PDDL planner as the automated planning algorithm, the problem generation unit 31 outputs the automated planning problem as a PDDL file. Also, for example, if the formal language conversion system 1 uses a large-scale language model as the automated planning algorithm, the problem generation unit 31 outputs the automated planning problem as a text file that can be read by the large-scale language model.
[0057] The problem generation unit 31 may generate an automated programming problem from a string using a large-scale language model. When using a large-scale language model, for example, the problem generation unit 31 may, as a prompt, present the string generated by the formal language conversion processing unit 22 in step A1, and then give an explicit instruction such as, "Generate a problem description in PDDL format from this string." With such a prompt, the large-scale language model can generate an automated programming problem from the string. Alternatively, the problem generation unit 31 may generate an automated programming problem using an existing problem generation algorithm. After step A17, the process proceeds to step A18.
[0058] (Step A18) The automatic planning processing unit 32 of the automatic planning unit 30 generates a work plan for the subtask based on the automatic planning problem generated for the subtask by the problem generation unit 31. The automatic planning unit 30 generates and outputs the work plan as a sequence of actions arranged on a time axis, which represents the actions that need to be performed.
[0059] The automatic planning processing unit 32, for example, A * The work plan may be generated using an existing automated planning algorithm, such as an algorithm or a PDDL planner. Alternatively, the automated planning processing unit 32 may generate the work plan using a large-scale language model. When using a large-scale language model, for example, the automated planning processing unit 32 presents an automated planning problem as a prompt and then gives an explicit instruction such as, "Execute an automated plan for this problem and output the sequence of actions." With such a prompt, the large-scale language model can generate a work plan from the automated planning problem. After step A18, the process proceeds to step A19.
[0060] (Step A19) The formal language conversion system 1 performs termination processing of loop L11. Specifically, the formal language conversion system 1 determines whether or not it has performed processing of loop L11 for all subtasks generated in step A15. If it determines that there are subtasks that have not yet performed processing of loop L11, the formal language conversion system 1 continues to perform processing of loop L11 for those subtasks that have not yet performed processing of loop L11.
[0061] On the other hand, if the system determines that it has performed the processing in loop L11 for all subtasks generated in step A15, the formal language conversion system 1 adjusts the execution order of the work plans for each subtask and consolidates the work plans. Specifically, the automatic planning unit 30 (for example, the automatic planning processing unit 32) adjusts the execution order of the work plans generated for each subtask according to the priority of each subtask generated by the problem generation unit 31. After that, the formal language conversion system 1 terminates loop L11 and the process proceeds to step A20.
[0062] Alternatively, the problem generation unit 31 and the automatic planning processing unit 32 may, instead of performing the processes in steps A15 to A19, generate an automatic planning problem for one task based on the string generated by the formal language conversion processing unit 22, and then generate a work plan for that task. In this case, the process can be considered as the process performed by the problem generation unit 31 and the automatic planning processing unit 32 in steps A15 to A19 when the problem generation unit 31 generates one subtask in step A15.
[0063] (Step A20) The determination unit 33 of the automatic planning unit 30 determines the feasibility of the work plan. The determination unit 33 verifies that the work plan will reach the goal state of the problem (specified target) and that the work plan satisfies the constraints. If it determines that the goal state will not be reached, or if it determines that one or more constraints are not met, the determination unit 33 determines that the work plan is unfeasible and outputs information for analysis of the determination result.
[0064] The determination unit 33 may determine whether the work plan is feasible by performing a simulation of the work plan or by using a systematic method such as a work plan verification algorithm. Alternatively, the determination unit 33 may determine feasibility by analyzing the work plan using a large-scale language model.
[0065] Furthermore, if the automatic planning processing unit 32 executes the automatic planning and an error occurs, the determination unit 33 will determine that the work plan is unexecutable. In this case, it is possible that no work plan will be generated, and the work plan can be considered unexecutable.
[0066] The automatic planning processing unit 32 may output an error message and log data to the determination unit 33 if an error occurs during the execution of the automatic plan. The determination unit 33 may then refer to the error message or log data and determine that the work plan is unexecutable. The determination unit 33 outputs the determination result that the work plan is unexecutable, along with the error message and log data, to the unexecutable factor analysis unit 41.
[0067] Alternatively, the automatic planning processing unit 32 may also function as a determination unit 33. In this case, if an error occurs when the automatic planning processing unit 32 executes the automatic planning, it determines that the work plan is unexecutable. The automatic planning processing unit 32 then outputs the determination result that the work plan is unexecutable, along with an error message and log data, to the unexecutable cause analysis unit 41.
[0068] If the determination unit 33 determines in step A20 that the work plan is feasible (step A20: YES), the process proceeds to step A24. On the other hand, if the determination unit 33 determines in step A20 that the work plan is not feasible (step A20: NO), the process proceeds to step A21.
[0069] (Step A21) The Unexecutable Factor Analysis Unit 41 of the Automatic Planning Evaluation Unit 40 identifies the factors that made the work plan unexecutable (unexecutable factors). The Unexecutable Factor Analysis Unit 41 acquires information for analyzing the determination result that the work plan is unexecutable, such as simulation data when the determination unit 33 performs a simulation of the work plan, log data of the verification algorithm when the determination unit 33 uses the work plan verification algorithm to determine the feasibility of the work plan, or error messages and log data when the automatic planning processing unit 32 fails to perform automatic planning. The Unexecutable Factor Analysis Unit 41 also reads the element set information stored in the extracted element database 60. Then, based on the information for analyzing the determination result and the element set information, the Unexecutable Factor Analysis Unit 41 identifies the factors that made the work plan unexecutable.
[0070] Here, it is conceivable that the format and content of error messages and log data may differ depending on the algorithm or planner used by the automatic planning processing unit 32. Therefore, it is considered effective for the unexecutable factor analysis unit 41 to analyze these diverse strings using a large-scale language model. The large-scale language model can handle diverse formats because it statistically acquires various text patterns, such as natural language, program code, and formal language, during the learning process. As a result, the large-scale language model can flexibly infer in response to input in various formats.
[0071] The impossibility factor analysis unit 41 may use a large-scale language model that has been fine-tuned to be specific to the type of planner used by the automatic planning processing unit 32, or it may use a publicly available large-scale language model as is.
[0072] When using a large-scale language model, the unexecutable factor analysis unit 41 may, as a prompt, assign a role such as "You analyze the inconsistencies from the given inconsistent work plan" or "You are a worker given a work plan," and then present error messages and log data (information for analyzing the result of determining that the work plan is unexecutable) and element set information read from the extracted element database 60, and give explicit instructions such as "The work plan was executed but failed. Refer to the element set extracted to calculate the work plan and the error message, and output a list of factors that caused the work to fail."
[0073] The impossibility factor analysis unit 41 outputs the identified factors as strings. The extracted element adjustment unit 42 uses the strings output by the impossibility factor analysis unit 41. After step A21, the process proceeds to step A22.
[0074] (Step A22) The extracted element adjustment unit 42 of the automatic planning evaluation unit 40 determines which elements to add and which to delete as elements to be extracted from the formal language data, based on the impossibility factors identified by the impossibility factor analysis unit 41.
[0075] The extracted element adjustment unit 42 may use a large-scale language model to analyze the failure factors and determine which elements to add and which to delete. When using a large-scale language model, the extracted element adjustment unit 42 may, as a prompt, present the failure factors identified by the unexecutable factor analysis unit 41 and the element set information read from the extracted element database 60, and then give an explicit instruction such as, "Refer to these failure factors and output lists of elements that should be newly extracted and elements that do not need to be extracted." After step A22, the process proceeds to step A23.
[0076] (Step A23) The extracted element adjustment unit 42 updates the extracted element database 60 to reflect the addition and deletion of elements determined in step A22. After step A23, the process returns to step A14.
[0077] The extracted element database 60, updated in step A23, is referenced in the next processing cycle (execution of processing from step A14). The formal language conversion system 1 refers to the element set information stored in the extracted element database 60 and performs re-conversion from the given formal language data to a work plan. The formal language conversion system 1 repeatedly performs the loop processing from step A14 to step A23 until an executable work plan is generated or until a predefined maximum number of processing times is reached.
[0078] (Step A24) The output unit 50 outputs the work plan. The method by which the output unit 50 outputs the work plan is not limited to any particular method. For example, the output unit 50 may save the work plan as a text file, or it may display the work plan on a display, but is not limited to these. After step A24, the formal language conversion system 1 terminates the process shown in Figure 2.
[0079] (Example 1) Example 1 describes an example in which the formal language conversion system 1 performs automatic planning to generate a work plan.
[0080] Figure 3 shows an example of the initial state of a problem to be planned by the formal language conversion system 1. Figure 3 shows the initial state of the problem to be planned in Example 1. In the example of Figure 3, nine nodes are shown from node A to node I. Agent G1 is located at node A. Object J1 is located at node D, and object J2 is located at node E. The agent is assumed to be able to move between nodes connected by edges and to be able to grasp one object at a time. Hereafter, agent G1 will also be referred to as agent 1. Object J1 will also be referred to as object 1. Object J2 will also be referred to as object 2.
[0081] The agent is capable of performing the actions move, pick, and place. The move action causes the agent to move between nodes. The parameters for the move action are the agent name, the name of the node before the move, and the name of the node after the move. The prerequisites for the move action are that the agent exists at the node before the move and that the node before and after the move are connected by an edge. Executing the move action removes the agent's presence at the node before the move and adds the agent's presence at the node after the move.
[0082] The `pick` action allows an agent to load an object. The parameters for `pick` are the agent name and the name of the object to be loaded. The prerequisites for `pick` are that the agent is on the same node as the target object and that the agent does not hold any other objects. Executing `pick` removes the object from the current node, and the agent then holds the object.
[0083] The `actionplace` command causes an agent to unload an object. The parameters for `actionplace` are the agent name and the name of the object to be unloaded. The prerequisite for `actionplace` is that the agent is holding the object. Executing `actionplace` releases the agent from holding the object and adds the existence of the object currently located on the node.
[0084] Assume that the initial state is as shown in Figure 3, and that the task is to transport object J1 located at node D and object J2 located at node E to node C. The target state at this time can be expressed as shown in logical formula 1.
[0085] Logical formula 1: (:goal (and (at obj_1 node_C) (at obj_2 node_C))
[0086] "obj_1" refers to object J1. "obj_2" refers to object J2. Logical expression 1 indicates that in the target state, both object J1 and object J2 are located at node C.
[0087] Figure 4 shows an example of the target state. In the example in Figure 4, both object J1 and object J2 are located at node C. Note that the position of agent G1 is not specified in logical expression 1. Figure 4 shows an example where agent G1 is located at node C, but the position of agent G1 in logical expression 1 is not limited to this.
[0088] In Example 1, it is assumed that the input unit 10 has acquired a problem setting represented in PDDL, as shown in Figures 5 and 6. In PDDL, the model of the planning problem (the problem to be automated) is divided and stored in a domain file and a problem file.
[0089] Figure 5 shows an example of a PDDL domain file acquired by the input unit 10. The domain file includes a definition of the domain name, a definition of the planner requirements, a definition of the object hierarchy, a definition of constant objects, a definition of predicates, and a definition of possible actions. Actions include parameters, preconditions, and effects. The effects of actions can also be conditional. In the domain file shown in Figure 5, the domain name (transport-domain) and planner requirements (use of the ":strips" and ":typing" modules) are defined, the definition of constant objects (the existence of "agent", "object", and "node") is shown, the predicates at_agent, at_object, holding_agent, holding_object, and connected are defined, and the actions move, pick, and place are defined.
[0090] Figure 6 shows an example of a PDDL problem file acquired by the input unit 10. The problem file includes a definition of the problem name, a definition of the associated domain name, a definition of all objects, a definition of the initial conditions, and a definition of the target state. In the problem file shown in Figure 6, agent G1 ("agent_1"), object J1 ("obj_1"), object J2 ("obj_2"), and nodes A to I ("node_A" to "node_I") are defined, and the initial positions of the agents and objects, the connection relationships between nodes, and the target state are set.
[0091] ・First Processing First, the extraction element determination unit 21 of the formal language conversion unit 20 determines the agent's action, the agent's initial position, and the object's initial and target positions as extraction elements. Here, it is assumed that the extraction element determination unit 21 determines the extraction elements by utilizing a large-scale language model. The extraction element determination unit 21 obtains the extraction elements by, for example, providing the large-scale language model with a PDDL and then giving it a prompt that explicitly instructs, "Extract the elements necessary to execute automatic planning from the PDDL format problem setting and show each element in list format." The extraction element determination unit 21 stores information indicating the three extraction elements output by the large-scale language model (agent's action, agent's initial position, object's initial position, and target position) in the extraction element database 60.
[0092] Next, the formal language conversion processing unit 22, based on the extracted elements determined by the extracted element determination unit 21, uses a large-scale language model to generate the following string: "The executable actions of agent 1 are move, pick, and place. Agent 1's initial position is node A. Object 1 and object 2's initial positions are node D and node E, respectively, and their target positions are both node C." The formal language conversion processing unit 22 obtains the above string by, for example, giving the large-scale language model the prompt, "From the given PDDL, extract the agent's actions, the agent's initial position, and the initial and target positions of the objects, and briefly explain the problem."
[0093] Next, the problem generation unit 31 of the automatic planning unit 30 generates an automatic planning problem based on the string generated by the formal language conversion processing unit 22, relating to subtask 1, in which agent G1 loads objects J1 and J2 at nodes D and E, and subtask 2, in which agent G1 unloads objects J1 and J2 at node C. Here, the problem generation unit 31 performs subtask decomposition using a large-scale language model. For example, the problem generation unit 31 presents an example of the converted string to the large-scale language model using Few-shot Learning, and then gives a prompt that explicitly instructs, "Based on the given problem, decompose the task into subtasks to complete it," and obtains the automatic planning problem for each subtask in PDDL format.
[0094] Figure 7 shows an example of a map corresponding to an automated planning problem generated by the problem generation unit 31. Figure 7 shows that agent G1 moves to node D (loads object J1), moves to node E (loads object J2), and moves to node C (loads and unloads objects J1 and J2 at node C).
[0095] Here, let's assume that the determination unit 33 has determined that the work plan for the automatic planning problem generated by the problem generation unit 31 is unexecutable. For example, if the automatic planning processing unit 32 executes the automatic plan using the PDDL planner, an error may occur in subtask 1. This is because the agent cannot hold more than one object at a time.
[0096] Alternatively, the automatic planning processing unit 32 may generate a work plan for the automatic planning problem, and the determination unit 33 may determine that the work plan is unexecutable. For example, the problem generation unit 31 generates the automatic planning problem in PDDL format or as a string such as natural language. The automatic planning processing unit 32 then executes automatic planning using a large-scale language model and generates a work plan. The determination unit 33 simulates the work plan generated by the automatic planning processing unit 32 and determines that the work plan is unexecutable. As mentioned above, the simulation of the work plan may fail because the agent cannot hold two or more objects at the same time.
[0097] The automatic planning processing unit 32 outputs not only the determination result that the work plan for the automatic planning problem is unexecutable, but also information for analyzing the factors that make it unexecutable. For example, the automatic planning processing unit 32 may output error messages and log data when the automatic planning is executed using the PDDL planner.
[0098] Alternatively, instead of the automatic planning processing unit 32, the determination unit 33 may output information for analyzing the factors that make it impossible to execute a work plan for an automatic planning problem. For example, the determination unit 33 may output simulation data when a work plan simulation is performed.
[0099] Here, the execution failure factor analysis unit 41 of the automatic planning evaluation unit 40 identifies the following execution failure factor based on the error message and log data output by the automatic planning processing unit 32 and the element set information stored in the extracted element database 60: "Agent 1 failed when attempting to load object 2 while object 1 was already loaded."
[0100] For example, the execution failure factor analysis unit 41 provides the large-scale language model with an error message, element set information, and a prompt that reads, "Based on the error message and the extracted element set, identify the factors that caused subtask 1 to become unexecutable and explain them in natural language," thereby obtaining the above-mentioned execution failure factors.
[0101] Next, the Extraction Element Adjustment Unit 42 decides to add preconditions for the agent's actions as extracted elements based on the impossibility factors identified by the Impossibility Factor Analysis Unit 41. For example, the Extraction Element Adjustment Unit 42 presents the impossibility factors and element set information to the large-scale language model and then prompts it with, "Based on the factors that made execution impossible and the elements that should be extracted in addition, please output any extracted elements that should be added to realize an executable automated plan. Or, please output any unnecessary elements." The Extraction Element Adjustment Unit 42 then registers the extracted elements that it has decided to add in the Extraction Element Database 60.
[0102] - Assume that the second processing format language conversion unit 20 refers to the updated extracted element database 60, converts the format language data again, and generates a string like the following: "The executable actions for agent 1 are move, pick, and place. For move, the agent must be present at the destination node and connected to the destination node; for pick, an object must be present at the same node as the agent and the agent must not be holding anything; and for place, the agent must be holding an object. Agent 1's initial position is node A. Object 1 and Object 2's initial positions are node D and node E, respectively, and their target position is node C."
[0103] Next, the problem generation unit 31 of the automatic planning unit 30 generates an automatic planning problem based on the string generated by the formal language conversion processing unit 22, relating to subtask 1, in which agent G1 loads object J1 at node D and unloads it at node C, and subtask 2, in which agent G1 loads object J2 at node E and unloads it at node C.
[0104] Figure 8 shows an example of a map corresponding to an automated planning problem generated by the problem generation unit 31. Figure 8 shows that agent G1 moves to node D, (loads object J1), moves to node C, (unloads object J1), moves to node E, (loads object J2), and moves to node C (unloads object J2 at node C).
[0105] Next, the automatic planning processing unit 32 executes an automatic planning problem using the automatic planning problem generated by the problem generation unit 31, and the determination unit 33 verifies its feasibility. Here, it is assumed that the automatic planning processing unit 32 generates the work plan shown in logical expression 2, and the determination unit 33 performs a simulation of this work plan and determines that it is feasible.
[0106] Logical formula 2: (move(agent_1, node_A, node_D)) (pick(agent_1, obj_1)) (move(agent_1, node_D, node_A)) (move(agent_1, node_A, node_B)) (move(agent_1, node_B, node_C)) (place(agent_1, obj_1)) (move(agent_1, node_C, node_B)) (move(agent_1, node_B, node_E)) (pick(agent_1, obj_2)) (move(agent_1, node_E, node_B)) (move(agent_1, node_B, node_C)) (place(agent_1, obj_2))
[0107] Logical expression 2 indicates the following actions: (move(agent_1, node_A, node_D)): Agent G1 moves from node A to node D (move). (pick(agent_1, obj_1)): Agent G1 picks up object J1 (pick).
[0108] (move(agent_1, node_D, node_A)): Agent G1 moves from node D to node A. (move(agent_1, node_A, node_B)): Agent G1 moves from node A to node B. (move(agent_1, node_B, node_C)): Agent G1 moves from node B to node C. (place(agent_1, obj_1)): Agent G1 places object J1.
[0109] (move(agent_1, node_C, node_B)): Agent G1 moves from node C to node B. (move(agent_1, node_B, node_E)): Agent G1 moves from node B to node E. (pick(agent_1, obj_2)): Agent G1 picks up object J2.
[0110] (move(agent_1, node_E, node_B)): Agent G1 moves from node E to node B. (move(agent_1, node_B, node_C)): Agent G1 moves from node B to node C. (place(agent_1, obj_2)): Agent G1 unloads object J2.
[0111] In the second processing, as described above, the problem generation unit 31 generates an automated planning problem based on the string generated by the formal language conversion processing unit 22, relating to subtask 1, in which agent G1 loads object J1 at node D and unloads it at node C, and subtask 2, in which agent G1 loads object J2 at node E and unloads it at node C. Accordingly, the automated planning processing unit 32 creates a work plan to execute subtask 1 and then subtask 2.
[0112] In this work plan, agent G1 only needs to load and unload object J1, and then load and unload object J2; it is not necessary to load object J1 and object J2 simultaneously. In this respect, this work plan (the work plan shown in logical expression 2) is executable. The output unit 50 outputs the work plan shown in logical expression 2.
[0113] (Explanation of Effects) As described above, the formal language conversion unit 20 determines elements to extract from formal language data that describes the actions that the agent, which is the target of operation according to the work plan, can perform, the state of the agent's operating environment, and the target state of the agent's operating environment, and extracts the elements determined from the formal language data to generate a string. The automatic planning unit 30 executes an automatic plan that generates a work plan based on the generated string and determines whether or not an executable work plan has been generated. If the automatic plan evaluation unit 40 determines that an executable work plan has not been generated, it identifies the reasons why an executable work plan has not been generated and updates the elements to be extracted from the formal language data based on the identified reasons.
[0114] According to the formal language conversion system 1, if it is not possible to convert the given formal language data and generate an executable work plan, the elements extracted from the formal language data can be updated, and the conversion of the formal language data and the automatic generation of the work plan can be performed again. In this respect, the formal language conversion system 1 is expected to have a relatively high probability of generating an executable work plan when automatically generating a work plan.
[0115] In this context, automated planning can be conceivable, generating a work plan using formal language data that describes the state (the state of the agent's operating environment), the action (the action the agent can take), and the goal (the target state of the agent's operating environment). The state, action, and goal described in formal language can be considered as problems to be solved by automated planning.
[0116] When performing automated planning, if the problem is large in scale, it may be advisable to break it down into subproblems to solve it effectively. One method of breaking down a problem into subproblems is to use a large-scale language model. However, large-scale problems described in formal languages have an enormous number of tokens, making it impossible to input them into a large-scale language model. Furthermore, even if input is possible, the problem decomposition by the large-scale language model may not function as expected.
[0117] Therefore, the formal language conversion system 1 converts the given formal language data into strings containing the elements necessary for decomposition into subproblems and subsequent work planning. As a result, when a large-scale language model is used to decompose a problem into subproblems, for example, the formal language conversion system 1 makes it relatively easy to input the problem into the large-scale language model, and is expected to enable effective decomposition into subproblems utilizing the large-scale language model. In this way, the formal language conversion system 1 makes it possible to extract the necessary elements from a large-scale problem described in a formal language and generate a work plan.
[0118] Furthermore, when the impossibility factor analysis unit 41 uses a large-scale language model, it can appropriately analyze the various error messages from the automatic planning processing unit 32, enabling efficient problem solving. Also, when the impossibility factor analysis unit 41 uses a large-scale language model, it does not require a predefined complete conversion table, a trained model that has been trained specifically for a particular formal language, or a model that has been fine-tuned to be specialized for a particular formal language. In this respect, the formal language conversion system 1 can flexibly handle various formal languages and problems.
[0119] According to the formal language conversion system 1, it is possible to construct an advanced automated planning system (a system that performs automated planning) by effectively utilizing large-scale language models and combining them with systematic methods.
[0120] Furthermore, the formal language conversion unit 20 stores the elements to be extracted from the formal language data in the extracted element database 60. The automatic plan evaluation unit 400 updates the elements to be extracted from the formal language data by updating the information stored in the extracted element database 60. The formal language conversion system 1 can dynamically update the elements to be extracted from the formal language data, enabling flexible plan generation according to the characteristics of the problem and the status of the agents.
[0121] Furthermore, if the automatic planning unit 30 fails to generate a work plan using automatic planning, the automatic planning evaluation unit 40 inputs a prompt containing error messages and log data from the automatic planning process into the large-scale language model to identify the reason why an executable work plan has not been generated. The formal language conversion system 1 uses the large-scale language model when identifying the reason why an executable work plan has not been generated, allowing for flexible identification of the cause in response to various formats and contents of error messages and log data.
[0122] Furthermore, if the automatic planning unit 30 generates a work plan using automatic planning and determines that the generated work plan is unexecutable, the automatic planning unit 40 inputs a prompt containing log data from when the automatic planning unit 30 determined the feasibility of the work plan into the large-scale language model to identify the factors that prevented the generation of an executable work plan. The formal language conversion system 1 uses a large-scale language model to identify the factors that prevented the generation of an executable work plan, allowing for flexible identification of factors in response to various formats and contents of log data.
[0123] Furthermore, the automated plan evaluation unit 40 inputs prompts to the large-scale language model that include the factors identified as reasons why an executable work plan has not been generated, and re-determines the elements to be extracted from the formal language data. In the formal language conversion system 1, by using a large-scale language model to determine the elements to be extracted from the formal language data, the elements can be determined without the need to provide a dedicated machine learning model or dedicated logic for determining the elements to be extracted from the formal language data.
[0124] Furthermore, the automatic planning unit 30 divides the problem into multiple subproblems based on the string generated by the formal language conversion unit 20, and generates an automatic planning problem and executes the automatic plan for each subproblem. According to the formal language conversion system 1, since an automatic planning problem is generated and automatic planning is performed for each subproblem, the automatic planning problem for each subproblem becomes relatively small, and it is expected that there is a relatively high possibility that an executable work plan will be generated using the automatic planning problem.
[0125] <Second Embodiment> In the second embodiment, a case in which a formal language conversion system generates a multi-agent work plan will be described.
[0126] (Description of Configuration) Figure 9 is a block diagram showing an example of the configuration of a formal language conversion system according to at least one embodiment. In the configuration shown in Figure 9, the formal language conversion system 2 comprises an input unit 10, a formal language conversion unit 200, an automatic planning unit 30, an automatic planning evaluation unit 400, an output unit 50, and an extracted element database 60. The formal language conversion unit 200 comprises an extracted element determination unit 21, a decomposition unit 220, a formal language conversion processing unit 221, and a conversion result integration unit 222. The automatic planning unit 30 comprises a problem generation unit 31, an automatic planning processing unit 32, and a determination unit 33. The automatic planning evaluation unit 400 comprises an agent identification unit 410, an unfeasible factor analysis unit 411, an unfeasible factor integration unit 412, and an extracted element adjustment unit 42.
[0127] Figure 9 shows an example where the formal language conversion unit 200 of the formal language conversion system 2 has three formal language conversion processing units 221. When distinguishing between these three formal language conversion processing units 221, they are also referred to as formal language conversion processing unit 221-1, formal language conversion processing unit 221-2, and formal language conversion processing unit 221-3.
[0128] Figure 9 also shows an example where the automatic planning and evaluation unit 400 of the formal language conversion system 2 is equipped with three impossibility factor analysis units 411. When distinguishing between these three impossibility factor analysis units 411, they are also referred to as impossibility factor analysis unit 411-1, impossibility factor analysis unit 411-2, and impossibility factor analysis unit 411-3.
[0129] However, the number of formal language conversion processing units 221 and the number of unexecutable factor analysis units 411 in the formal language conversion system 2 is not limited to a specific number. The formal language conversion system 2 only needs to have the same number of formal language conversion processing units 221 and unexecutable factor analysis units 411 as the number of agents indicated in the formal language data acquired by the input unit 10, or more. In the example in Figure 9, the formal language conversion system 2 can handle cases where the number of agents is up to three.
[0130] Alternatively, the formal language conversion processing unit 221 and the impossibility factor analysis unit 411 may each process multiple agents using time-sharing processing. In this case, the formal language conversion system 2 can handle cases where the number of agents is greater than the number of formal language conversion processing units 221, and also cases where the number of agents is greater than the number of impossibility factor analysis units 411. For example, the formal language conversion system 2 may consist of one formal language conversion processing unit 221 and one impossibility factor analysis unit 411.
[0131] In Figure 9, parts that have the same function as the parts in Figure 1 are denoted by the same reference numerals (10, 21, 30, 31, 32, 33, 42, 50, 60), and detailed explanations are omitted here. The formal language conversion system 2 differs from the formal language conversion system 1 in that, instead of the formal language conversion processing unit 22 in the formal language conversion unit 20 of the formal language conversion system 1, the formal language conversion unit 200 comprises a decomposition unit 220, formal language conversion processing units 221-1 to 221-3, and a conversion result integration unit 222. Furthermore, the formal language conversion system 2 differs from the formal language conversion system 1 in that, instead of the unfeasibility factor analysis unit 41 in the automatic planning and evaluation unit 40 of the formal language conversion system 1, the automatic planning and evaluation unit 400 comprises an agent identification unit 410, unfeasibility factor analysis units 411-1 to 411-3, and an unfeasibility factor integration unit 412. In all other respects, formal language conversion system 2 is the same as formal language conversion system 1.
[0132] The formal language conversion system 2 corresponds to an example of the formal language conversion system 1. The combination of the decomposition unit 220, the formal language conversion processing units 221-1 to 221-3, and the conversion result integration unit 222 corresponds to an example of the formal language conversion processing unit 22. The combination of the agent identification unit 410, the impossibility factor analysis units 411-1 to 411-3, and the impossibility factor integration unit 412 corresponds to an example of the impossibility factor analysis unit 41.
[0133] The decomposition unit 220 takes the formal language data output from the input unit 10 as input and decomposes it into formal language data for each agent. The decomposition unit 220 outputs formal language data for each agent. In generating the formal language data for each agent, the decomposition unit 220 performs the following processing.
[0134] First, the decomposition unit 220 identifies the descriptions of agents within the formal language data. For example, in the case of formal language data in PDDL format, the decomposition unit 220 analyzes the action definitions in the domain file and the initial and goal states in the problem file, and extracts the elements in which each agent is involved.
[0135] Next, the decomposition unit 220 analyzes the actions, states, and goals that each agent is involved in, and extracts only the information related to each agent. Specifically, the decomposition unit 220 classifies the actions for each agent based on the agent identifier specified as a parameter for each action. The decomposition unit 220 also determines the scope of influence of each agent regarding the initial state and goal state, and retains only the information related to the relevant agent.
[0136] The decomposition unit 220 then generates independent formal language data for each agent based on the classified information. For example, in the case of formal language data in PDDL format, the decomposition unit 220 creates a dedicated domain file for each agent and generates a problem file by extracting only the part related to the agent in question from the overall problem file. This provides a problem definition that can be applied to each agent.
[0137] Each of the formal language conversion processing units 221 takes the formal language data for each agent and the set of elements for the corresponding agent determined by the extracted element determination unit 21 as input, extracts the necessary elements from the formal language data, and generates a string. The string output by each of the formal language conversion processing units 221 is expected to be a string containing the minimum necessary information for each agent.
[0138] The formal language conversion processing unit 221 can generate strings by the same process as the formal language conversion processing unit 22 in the formal language conversion device 1. When using a large-scale language model, the formal language conversion processing unit 221 presents the formal language data of the agent in question and the element set for that agent as prompts, and then provides a prompt.
[0139] The conversion result integration unit 222 takes the converted strings (strings output by the formal language conversion processing unit 221) for each agent as input and integrates them. Specifically, the conversion result integration unit 222 performs string concatenation as part of the string integration. When integrating strings, the conversion result integration unit 222 adds the agent's name, etc., to the beginning of each string before integration to clarify which agent each string corresponds to. The conversion result integration unit 222 outputs the integrated string for the overall problem description.
[0140] If the determination unit 33 determines that no executable work plan has been generated, the agent identification unit 410 identifies one or more agents that are associated with the reason why no executable work plan has been generated, based on the information for analyzing the determination result output by the determination unit 33 and the element set information stored in the extracted element database 60. The agent identification unit 410 outputs a list showing the list of agents that have been identified as being associated with the reason why no executable work plan has been generated.
[0141] The Impossibility Factor Analysis Unit 411 identifies, for each agent identified as corresponding to a factor for which an executable work plan has not been generated, the factors for which an executable work plan has not been generated, based on the agent's action plan, information for analyzing the judgment result, and the element set information stored in the extracted element database 60. For each agent, the Impossibility Factor Analysis Unit 411 outputs a list of strings indicating a list of factors for which an executable work plan has not been generated.
[0142] The Impossibility Factor Integration Unit 412 integrates the list of factor strings identified for each agent by the Impossibility Factor Analysis Unit 411 and outputs the integrated string. Specifically, the Impossibility Factor Integration Unit 412 performs string list merging as part of string list integration. When integrating string lists, the Impossibility Factor Integration Unit 412 adds the agent's name or other information to the beginning of each string list before integration to clarify which agent the string list corresponds to.
[0143] The extracted element adjustment unit 42 determines which elements to add or delete from the formal language data based on the identified failure factors and the element set information stored in the extracted element database 60. The extracted element adjustment unit 42 updates the elements to be extracted from the formal language data by adding or deleting elements from the element set information stored in the extracted element database 60.
[0144] With the above configuration, the formal language conversion system 2 can efficiently extract the elements necessary for work planning from a multi-agent problem described in a formal language, and calculate the work plan by executing an automatic plan based on the converted string of formal language data.
[0145] (Explanation of operation) Figure 10 is a flowchart showing an example of the processing procedure performed by the formal language conversion system 2.
[0146] (Step B11) The input unit 10 acquires formal language data describing the state, action, and goal. The input unit 10 may acquire the formal language data through user operation or by acquiring data from an external system (a system outside the formal language conversion system). For example, the formal language data may be written in a text file, and the user may perform a user operation to specify the file. The input unit 10 may then acquire the formal language data by reading the specified file. In step B11, the formal language data acquired by the input unit 10 includes the overall state and goal in the multi-agent system (the overall state of the operating environment of the multiple agents, and the goals that the multiple agents should achieve).
[0147] Furthermore, the user may be allowed to specify elements to be extracted from the formal language data. If the user specifies elements to be extracted from the formal language data, the input unit 10 obtains information indicating the specified elements and stores it in the extracted element database 60.
[0148] As described above, the element set information stored in the extracted element database 60 represents each element as a string. The extracted element database 60 may also store data in array format that enumerates the elements. The element set information stored in the extracted element database 60 may have parameters indicating the importance of each element. In this case, the extracted element database 60 may store the string representing the element (a string that identifies the element) and the numerical value corresponding to each element in array format data.
[0149] Alternatively, the extracted element database 60 may store elements to be extracted from the language data for each agent. In this case, the extracted element database 60 may store array-format data in which a string representing each element is associated with a string indicating the name of the agent from which that element is to be extracted. After step B11, the process proceeds to step B12.
[0150] (Step B12) The element extraction determination unit 21 of the formal language conversion unit 200 determines the elements to be extracted from the formal language data. The element extraction determination unit 21 obtains information on the elements to be extracted from the formal language data by referring to the element extraction database 60. If the user specifies an element, the element extraction determination unit 21 determines the elements to be extracted from the formal language data by considering the specified element. Alternatively, the element extraction determination unit 21 may determine the elements to be extracted from the formal language data by considering updated element set information from past cases.
[0151] The element extraction determination unit 21 may use a large-scale language model to determine which elements to extract from the formal language data based on the context and structure of the formal language. When using a large-scale language model, for example, the element extraction determination unit 21 may present the given formal language data as a prompt and then give an explicit instruction such as, "Based on the given formal language data, please enumerate the elements necessary to perform automatic planning." With such a prompt, the large-scale language model can extract the relevant elements from the formal language data and output them in list format.
[0152] Alternatively, the element extraction determination unit 21 may determine the elements to be extracted from the formal language data in a systematic manner based on the grammatical rules of the formal language, without using a large-scale language model. After step B12, the process proceeds to step B13.
[0153] The element extraction determination unit 21 may use a large-scale language model to determine the elements to extract from the formal language data based on the context and structure of the formal language. When using a large-scale language model, for example, the element extraction determination unit 21 may present the given formal language data as a prompt and then give an explicit instruction such as, "Based on the given formal language data, please enumerate the elements necessary to perform automatic planning." With such a prompt, the large-scale language model can extract the relevant elements from the formal language data and output them in list format. Alternatively, the element extraction determination unit 21 may determine the elements to extract from the formal language data in a systematic way based on the grammatical rules of the formal language, without using a large-scale language model.
[0154] (Step B13) The extraction element determination unit 21 stores the element set information indicating the determined elements in the extraction element database 60. After step B13, the process proceeds to step B14.
[0155] (Step B14) The decomposition unit 220, the formal language conversion processing unit 221, and the conversion result integration unit 222 of the formal language conversion unit 200 extract elements indicated by the element set information stored in the extracted element database 60 from the formal language data to generate a string. After step B14, the process proceeds to step B15.
[0156] Figure 11 shows an example of the procedure for the formal language conversion unit 200 to generate a string based on element set information. The formal language conversion unit 200 performs the process shown in Figure 11 in step B14 of Figure 10.
[0157] (Step B31) The decomposition unit 220 of the formal language conversion unit 200 decomposes the formal language data acquired by the input unit 10 into formal language data for each agent. For example, if the formal language data is given in PDDL format, a domain file describing the definition of actions for each agent is given for each agent, and one problem file describing the overall state and goal definition is given. In this case, the decomposition unit 220 can systematically decompose the formal language data, such as combining the domain file and the overall problem file for agent G1 into formal language data for agent G1, and combining the domain file and the overall problem file for agent G2 into formal language data for agent G2. After step B31, the process proceeds to step B32.
[0158] (Step B32) The formal language conversion processing unit 221 extracts elements from the formal language data for each agent that are shown in the element set information stored in the extracted element database 60, and generates a string for each agent. The string generated by the formal language conversion processing unit 221 is expected to contain only the minimum necessary information.
[0159] The formal language conversion processing units 221-1 to 221-3 may execute the process of step B32 in parallel for each agent. Alternatively, the formal language conversion processing unit 221 may execute the process of step B32 sequentially for each agent in a processing loop that processes each agent.
[0160] If the element set information stored in the extracted element database 60 has an agent name associated with each element, the formal language conversion processing unit 221 extracts the element associated with the agent's name from the formal language data for each agent and generates a string.
[0161] On the other hand, if the element set information stored in the extracted element database 60 does not associate an agent name with each element, the formal language conversion processing unit 221 extracts all elements shown in the element set information from the formal language data for each agent and generates a string. After step B32, the process proceeds to step B33.
[0162] (Step B33) The conversion result integration unit 222 of the formal language conversion unit 20 integrates the strings generated by the formal language conversion processing unit 221 for each agent to generate a string common to all agents. The string generated by the conversion result integration unit 222 corresponds to the string for generating the overall automatic planning problem. This makes it possible to set the problem from the perspective of the entire multi-agent system.
[0163] The conversion result integration unit 222 may perform string integration systematically. Alternatively, the conversion result integration unit 222 may perform string integration using a large-scale language model. In this case, it is expected that the conversion result integration unit 222 can eliminate duplicate content and generate a string with a reduced number of tokens.
[0164] When using a large-scale language model, for example, the conversion result integration unit 222 prompts the formal language conversion processing unit 221 with the strings generated for each agent, and then gives instructions such as, "Integrate the strings converted for each agent. However, eliminate any duplicate content and generate a concise string." Such prompts allow the large-scale language model to generate a string that represents the problem setting from the perspective of the entire multi-agent system. After step B33, the formal language conversion unit 20 completes the process shown in Figure 11. In this case, the process in step B14 of Figure 10 is completed, and the process proceeds to step B15.
[0165] (Step B15) The problem generation unit 31 of the automatic planning unit 30 generates subtasks and the priority of each subtask based on the string generated by the conversion result integration unit 222. The problem generation unit 31 may also generate subtasks by using a large-scale language model and leveraging the capabilities of natural language processing. When using a large-scale language model, for example, the problem generation unit 31 presents the string generated by the conversion result integration unit 222 as a prompt and then gives explicit instructions such as, "List the small subtasks necessary to accomplish this task and determine the priority of each subtask." Because the large-scale language model has the ability to analyze the content of a given task and break it down into logical steps, it is possible to automatically generate appropriate subtasks that take into account the execution flow and dependencies.
[0166] Alternatively, the problem generation unit 31 may generate subtasks in a systematic manner without using a large-scale language model. For example, the problem generation unit 31 may generate subtasks by analyzing a set of goal states described in a formal language and dividing them into appropriate units. After step B15, the process proceeds to step B16.
[0167] (Step B16) The formal language conversion system 2 starts a loop L21 that processes each subtask. After step B16, the process proceeds to step B17.
[0168] (Step B17) The problem generation unit 31 of the automatic planning unit 30 generates an automatic planning problem for executing automatic planning from the string generated by the conversion result integration unit 222 (a string formed by integrating the strings generated by the formal language conversion processing unit 221 for each agent).
[0169] The problem generation unit 31 describes the automatic planning problem in a format that can be interpreted by the automatic planning algorithm. For example, if the formal language conversion system 2 uses the PDDL planner as the automatic planning algorithm, the problem generation unit 31 outputs the automatic planning problem as a PDDL file. Alternatively, if the formal language conversion system 2 uses a large-scale language model as the automatic planning algorithm, the problem generation unit 31 outputs the automatic planning problem as a text file that can be read by the large-scale language model. After step B17, the process proceeds to step B18.
[0170] (Step B18) The automatic planning processing unit 32 of the automatic planning unit 30 generates a work plan in a multi-agent environment based on the automatic planning problem generated by the problem generation unit 31. The automatic planning unit 30 generates and outputs the work plan as an overall action sequence including the actions of each agent.
[0171] The automated planning processing unit 32 may generate a work plan using an automated planning algorithm that supports multiple agents. Alternatively, the automated planning processing unit 32 may generate a work plan using a large-scale language model. When using a large-scale language model, for example, the automated planning processing unit 32 presents an automated planning problem as a prompt and then gives an explicit instruction such as, "Execute a work plan for this problem and output the sequence of actions." With such a prompt, the large-scale language model can generate a work plan from the automated planning problem. After step B18, the process proceeds to step B19.
[0172] (Step B19) The formal language conversion system 2 performs termination processing for loop L21. Specifically, the formal language conversion system 2 determines whether or not it has performed processing for loop L21 for all subtasks generated in step B15. If it determines that there are subtasks that have not yet performed processing for loop L21, the formal language conversion system 2 continues to perform processing for loop L21 for those subtasks.
[0173] On the other hand, if the system determines that it has performed the processing in loop L21 for all subtasks generated in step B15, the formal language conversion system 2 adjusts the execution order of the work plans for each subtask and consolidates the work plans. Specifically, the automatic planning unit 30 (for example, the automatic planning processing unit 32) adjusts the execution order of the work plans generated for each subtask according to the priority of each subtask generated by the problem generation unit 31. After that, the formal language conversion system 2 terminates loop L21 and the process proceeds to step B20.
[0174] (Step B20) The determination unit 33 of the automatic planning unit 30 determines the feasibility of the generated work plan. The determination unit 33 verifies that the work plan will reach the goal state of the problem (specified target) and that the work plan satisfies the constraints. As described above, the case in which the automatic planning processing unit 32 does not generate a work plan is also included in the case in which the work plan is not feasible.
[0175] The determination unit 33 may determine whether the work plan is feasible by performing a simulation of the work plan or by using a systematic method such as a work plan verification algorithm. Alternatively, the determination unit 33 may determine feasibility by analyzing the work plan using a large-scale language model.
[0176] If the determination unit 33 determines in step B20 that the work plan is feasible (step B20: YES), the process proceeds to step B24. On the other hand, if the determination unit 33 determines in step B20 that the work plan is not feasible (step B20: NO), the process proceeds to step B21.
[0177] (Step B21) The agent identification unit 410, the unexecutable factor analysis unit 411, and the unexecutable factor integration unit 412 of the automatic plan evaluation unit 400 identify the factors that caused the work plan to become unexecutable. After step B21, the process proceeds to step B22.
[0178] Figure 12 shows an example of the procedure for the automated planning evaluation unit 400 to identify the factors that made the work plan unexecutable. The automated planning evaluation unit 400 performs the process shown in Figure 12 in step B21 of Figure 10.
[0179] (Step B41) The agent identification unit 410 of the automatic plan evaluation unit 400 identifies the agent associated with the factor that made the work plan unexecutable. The agent identification unit 410 may also identify the agent associated with the factor that made the work plan unexecutable by providing the large-scale language model with the information for analyzing the determination result that the work plan is unexecutable, which has been output by the determination unit 33. Alternatively, the agent identification unit 410 may systematically identify the agent associated with the factor that made the work plan unexecutable from the agent name included in the information for analyzing the determination result that the work plan is unexecutable. After step B41, the process proceeds to step B42.
[0180] (Step B42) The execution failure factor analysis unit 411 analyzes the factors that made the work plan impossible to execute for each agent that is associated with the factors that made the work plan impossible to execute, as identified by the agent identification unit 410.
[0181] Of the non-executable factor analysis units 411-1 to 411-3, the non-executable factor analysis unit associated with the agent identified in step B41 may perform the processing in step B43 in parallel. In this case, the non-executable factor analysis units 411-1 to 411-3 associated with agents other than the agent identified in step B41 may not perform any additional processing. Alternatively, the non-executable factor analysis unit 411 may perform the processing in step B42 in parallel for each agent identified in step B41 within a processing loop that processes each agent identified in step B41.
[0182] The execution failure factor analysis unit 411 refers to the action sequence of the relevant agent and the element set information stored in the extracted element database 60 to identify the factors that caused the work plan to become unexecutable.
[0183] The unexecutable factor analysis unit 411 may use a large-scale language model to identify the factors that caused the work plan to become unexecutable. Here, the format and content of error messages and log data may differ depending on the algorithm or planner used by the automatic planning processing unit 32. Therefore, it is considered effective for the unexecutable factor analysis unit 41 to analyze these diverse strings using a large-scale language model.
[0184] When using a large-scale language model, for example, the failure factor analysis unit 411 may, as a prompt, assign the role of "You analyze the inconsistencies from the given inconsistent work plan" or "You are an agent given a work plan," and then present error messages and log data (information for analyzing the result of determining that the work plan is unexecutable) and element set information read from the extracted element database 60, and give explicit instructions such as "This agent failed when executing the work plan. Refer to the element set extracted to calculate the work plan and the error message, and output a list of factors that caused the work to fail." The failure factor analysis unit 411 outputs the identified factors as strings. After step B42, the process proceeds to step B43.
[0185] (Step B43) The unfeasibility factor integration unit 412 of the automated plan evaluation unit 40 integrates the factors identified for each agent by the unfeasibility factor analysis unit 411 in step B41 to summarize the overall unfeasibility factors.
[0186] The failure factor integration unit 412 may systematically integrate the strings indicating the factors. For example, the failure factor integration unit 412 may simply concatenate the integrated strings for each agent. Alternatively, the integration processing unit 414 can use a large-scale language model to eliminate duplicate content and integrate into a string with a reduced number of tokens. When using a large-scale language model, the failure factor integration unit 412 may, for example, present the identified failure factors (failure factors) for each agent as a prompt and then give instructions such as, "Organize the failure factors generated for each agent. However, eliminate duplicate content to generate a concise string." With such prompts, the large-scale language model can generate a string that represents the failure factors from the perspective of the entire multi-agent system.
[0187] The Impossibility Factor Integration Unit 412 outputs the integrated impossibility factors as a string. The Extraction Element Adjustment Unit 42 uses the string output by the Impossibility Factor Analysis Unit 411. After step B43, the Automatic Plan Evaluation Unit 400 completes the process shown in Figure 12. In this case, the process in step B21 of Figure 10 is completed, and the process proceeds to step B22.
[0188] (Step B22) The extracted element adjustment unit 42 of the automatic planning evaluation unit 40 determines which elements to add and which to delete as elements to be extracted from the formal language data, based on the integrated impossibility factors. After step B22, the process proceeds to step B23.
[0189] (Step B23) The extracted element adjustment unit 42 updates the extracted element database 60 to reflect the addition and deletion of elements determined in step B22. If the extracted element database 60 stores element set information for each agent, the extracted element adjustment unit 42 may reflect the addition and deletion of elements in the extracted element database 60 for each agent. If the extracted element database 60 stores element set information without distinguishing between agents, the extracted element adjustment unit 42 may reflect the addition and deletion of elements in the extracted element database 60 without specifying an agent. After step B23, the process returns to step B14.
[0190] As described above, the formal language conversion system 2, upon re-executing the process from step B14, refers to the element set information stored in the extracted element database 60 and performs a re-conversion from the given formal language data to a work plan. The formal language conversion system 2 repeatedly performs the loop processing from step B14 to step B23 until an executable work plan is generated or until the predefined maximum number of processing times is reached.
[0191] (Step B24) The output unit 50 outputs the work plan. After step B24, the format language conversion system 2 completes the process shown in Figure 10.
[0192] (Example 2) Example 2 describes an example in which the formal language conversion system 2 performs automatic planning to generate a work plan.
[0193] Figure 13 shows an example of the initial state of a problem to be planned by the formal language conversion system 2. Figure 13 shows the initial state of the problem to be planned in Example 2.
[0194] In the example in Figure 13, five nodes are shown, from node A to node E. Agent G1 is located at node A, and agent G2 is located at node D. Object J1 is located at node C. As mentioned above, agent G1 is also referred to as agent 1. Agent G2 is also referred to as agent 2. Object J1 is also referred to as object 1.
[0195] In Example 2, it is assumed that each agent can move to different nodes. Agent G1 can move between nodes A and B, A and C, B and D, and C and D. Agent G2 can move between nodes D and E. The actions of each agent are different. The action "drive" is defined as an action that only Agent G1 can perform, and the action "fly" is defined as an action that only Agent G2 can perform. Both are actions that move between nodes, but whether or not they can be performed depends on the type of connection between the nodes. For the action "drive", the current node and the destination node must be connected by "connected_road". For the action "fly", the current node and the destination node must be connected by "connected_air".
[0196] Assuming the initial state is as shown in Figure 13, we are given the task of transporting object J1, located at node C, to node E. The target state at this time can be expressed as shown in logical formula 3.
[0197] Logical expression 3: (:goal (and (at obj_1 node_E))
[0198] "obj_1" refers to object J1. Logical expression 3 indicates that in the target state, object J1 is located at node E.
[0199] Figure 14 shows an example of the target state. In the example in Figure 14, object J1 is located at node E. Note that the positions of agent G1 and agent G2 are not specified in logical expression 3. Figure 14 shows an example where agent G1 is located at node D and agent G2 is located at node E, but the positions of agent G1 and agent G2 are not limited to this.
[0200] In Example 2, we assume that the input unit 10 has obtained the problem setting represented in PDDL. We assume that the input unit 10 has obtained the PDDL domain file shown in Figure 15 and the PDDL problem file shown in Figure 16.
[0201] Figure 15 shows an example of a PDDL domain file acquired by the input unit 10. In the domain file shown in Figure 15, the domain name (multi-agent-transport-domain) and planner requirements (use of the ":strips" and ":typing" modules) are defined, the definition of constant objects (the existence of "agent", "object", and "node") is indicated, and the predicates at_agent, at_object, holding_agent, holding_object, connected-road, and connected-air are defined, as well as the actions drive, fly, pick, and place.
[0202] Figure 16 shows an example of a PDDL problem file acquired by the input unit 10. In the problem file shown in Figure 16, agent G1 ("agent_1"), agent G2 ("agent_2"), object 1 ("obj_1"), and nodes A to E ("node_A" to "node_E") are defined, and the initial positions of the agents and objects, the connection relationships between nodes ("connected_road" and "connected_air"), and the target state are set. Regarding the connection relationships between nodes, as described above, the action drive by agent G1 allows movement between nodes A and B, A and C, B and D, and C and D, while the action fly by agent G2 allows movement between nodes D and E.
[0203] ・First Processing First, the extraction element determination unit 21 of the formal language conversion unit 20 determines the agent's action, the agent's initial position, and the object's initial and target positions as extraction elements. Here, it is assumed that the extraction element determination unit 21 determines the extraction elements by utilizing a large-scale language model. The extraction element determination unit 21 obtains the above extraction elements by, for example, providing the large-scale language model with a PDDL and then giving it a prompt that explicitly instructs, "Extract the elements necessary to execute automatic planning from the problem setting in PDDL format, and show each element in list format." The extraction element determination unit 21 stores the three extraction elements output by the large-scale language model (agent's action, agent's initial position, object's initial position, and target position) in the extraction element database 60.
[0204] Next, the decomposition unit 220 divides the formal language data indicating the problem to be planned into separate files for each agent. The decomposition unit 220 assigns a domain file and a problem file related to agent G1 to agent G1, and assigns a domain file and a problem file related to agent G2 to agent G2.
[0205] Figure 17 shows an example of a domain file assigned to agent G1. The domain file in Figure 17 contains information from the domain file in Figure 15, excluding the definition of action fly. The decomposition unit 220 extracts the information from the domain file in Figure 15, excluding the definition of action fly which is relevant only to agent G2, and generates the domain file in Figure 17 which is assigned to agent G1.
[0206] Figure 18 shows an example of a problem file assigned to agent G1. The problem file in Figure 18 shows information from the problem file in Figure 16, excluding the definition of agent G2 ("agent_2 - airplane") and the initial position of agent G2 ("(at agent agent_2 node_D)"). The decomposition unit 220 extracts information from the problem file in Figure 16 that is relevant only to agent G2, excluding the definition of agent G2 and the initial position of agent G2, and generates the problem file in Figure 18 which is assigned to agent G1.
[0207] Figure 19 shows an example of a domain file assigned to agent G2. The domain file in Figure 19 contains information from the domain file in Figure 15, excluding the definition of the action drive. The decomposition unit 220 extracts the information from the domain file in Figure 15, excluding the definition of the action drive that is relevant only to agent G1, and generates the domain file in Figure 19 that is assigned to agent G2.
[0208] Figure 20 shows an example of a problem file assigned to agent G2. The problem file in Figure 20 shows information other than the definition of agent G1 ("agent_1 - truck") and the initial position of agent G1 ("(at agent agent_1 node_A)") from the problem file in Figure 16. The decomposition unit 220 extracts the information other than the definition of agent G1 and the initial position of agent G1 that are relevant only to agent G1 from the information shown in the problem file in Figure 16, and generates the problem file in Figure 20 which is assigned to agent G2.
[0209] The formal language conversion processing units 221-1 and 221-2 generate the following strings using a large-scale language model based on the extracted elements determined by the extracted element determination unit 21: Formal language conversion processing unit 221-1: "The executable actions for agent 1 are drive, pick, and place. The initial position of agent 1 is node A. The initial position of object 1 is node C and the target position is node E." Formal language conversion processing unit 221-2: "The executable actions for agent 2 are fly, pick, and place. The initial position of agent 2 is node D. The initial position of object 1 is node C and the target position is node E."
[0210] The formal language conversion processing units 221-1 and 221-2, for example, give the large-scale language model a prompt such as, "From the given PDDL, extract the agent's actions, the agent's initial position, and the object's initial and target positions, and briefly explain the problem," and obtain the above string.
[0211] The conversion result integration unit 222 combines the string generated by the formal language conversion processing unit 221-1 and the string generated by the formal language conversion processing unit 221-2 to generate the following string: "The executable actions of Agent 1 are drive, pick, and place. The executable actions of Agent 2 are fly, pick, and place. The initial position of Agent 1 is node A. The initial position of Agent 2 is node D. The initial position of Object 1 is node C and the target position is node E."
[0212] The conversion result integration unit 222 may use a large-scale language model to combine the two strings while eliminating the overlapping parts. For example, the conversion result integration unit 222 prompts the large-scale language model with the message, "Integrate the strings containing each agent's information and convert them into a concise string with the overlapping parts removed," and obtains the above string.
[0213] Next, the problem generation unit 31 of the automatic planning unit 30 generates an automatic planning problem for subtask 1, in which agent G1 transports object J1 from node C to node E, based on the string generated by the conversion result integration unit 222. Here, the problem generation unit 31 performs subtask decomposition using a large-scale language model. For example, the problem generation unit 31 presents an example of the converted string using fusion learning to the large-scale language model, and then gives a prompt that explicitly instructs, "Based on the given problem, decompose the task into subtasks to complete it and assign them to agents," and obtains the automatic planning problem for each subtask in PDDL format.
[0214] Figure 21 shows an example of a map corresponding to an automated planning problem generated by the problem generation unit 31. Figure 21 shows that agent G1 moves to node C (loads object J1), and then moves to node E (unloads object J1 at node E).
[0215] Here, let's assume that the determination unit 33 has determined that the work plan for the automatic planning problem generated by the problem generation unit 31 is unexecutable. For example, if the automatic planning processing unit 32 executes the automatic plan using the PDDL planner, an error may occur in subtask 1. This is because agent G1 cannot move from node D to node E.
[0216] Alternatively, the automatic planning processing unit 32 may generate a work plan for the automatic planning problem, and the determination unit 33 may determine that the work plan is unexecutable. For example, the problem generation unit 31 generates the automatic planning problem in PDDL format or as a string such as natural language. The automatic planning processing unit 32 then executes automatic planning using a large-scale language model and generates a work plan. The determination unit 33 simulates the work plan generated by the automatic planning processing unit 32 and determines that the work plan is unexecutable. As mentioned above, the simulation of the work plan may fail because agent G1 cannot move from node D to node E.
[0217] The automatic planning processing unit 32 outputs not only the determination result that the work plan for the automatic planning problem is unexecutable, but also information for analyzing the factors that make it unexecutable. For example, the automatic planning processing unit 32 may output error messages and log data when the automatic planning is executed using the PDDL planner.
[0218] Alternatively, instead of the automatic planning processing unit 32, the determination unit 33 may output information for analyzing the factors that make it impossible to execute a work plan for an automatic planning problem. For example, the determination unit 33 may output simulation data when a work plan simulation is performed.
[0219] Here, it is assumed that the agent identification unit 410 of the automatic planning evaluation unit 40 determines, based on the error message and log data output by the automatic planning processing unit 32 and the element set information stored in the extracted element database 60, that the failure to execute subtask 1 is caused by agent G1.
[0220] The execution failure factor analysis unit 411, which corresponds to agent G1 identified by the agent identification unit 410, shall identify the following execution failure factor: "Agent 1 failed because it could not reach node E."
[0221] For example, the execution failure factor analysis unit 411 obtains the above execution failure factors by providing the large-scale language model with the error message and log data output by the automatic planning processing unit 32, the element set information stored in the extracted element database 60, and the prompt, "Based on the error message and the extracted element set, identify the factors that caused execution failure when subtask 1 was executed by agent 1, and explain them in natural language."
[0222] Here, one impossibility factor analysis unit (impossibility factor analysis unit 411) identifies the impossibility factors. The impossibility factor integration unit 412 then adopts the impossibility factors identified by the impossibility factor analysis unit 411 as they are.
[0223] Next, the Extraction Element Adjustment Unit 42 decides to add information indicating nodes that the agent can move to as an extraction element, based on the impossibility factors identified by the Impossibility Factor Analysis Unit 411. For example, the Extraction Element Adjustment Unit 42 presents the impossibility factors and element set information to the large-scale language model and then prompts it with, "Based on the factors that made execution impossible and the elements that should be extracted in addition, output any extraction elements that should be added to realize an executable automated plan. Or output any unnecessary elements." The Extraction Element Adjustment Unit 42 then reflects the extraction elements that it has decided to add into the element set information stored in the Extraction Element Database 60.
[0224] - Assume that the second processing format language conversion processing units 221-1 and 221-2 refer to the updated extracted element database 60, convert the format language data again, and generate strings like the following: Format Language Conversion Processing Unit 221-1: "The actions that Agent 1 can perform are drive, pick, and place. Agent 1's initial position is node A. The nodes that Agent 1 can move to are A, B, C, and D. The initial position of Object 1 is node C and its target position is node E." Format Language Conversion Processing Unit 221-2: "The actions that Agent 2 can perform are fly, pick, and place. Agent 2's initial position is node D. The nodes that Agent 2 can move to are D and E. The initial position of Object 1 is node C and its target position is node E."
[0225] Next, let's assume that the problem generation unit 31 of the automatic planning unit 30 generates an automatic planning problem relating to subtask 1, in which agent G1 transports object J1 from node C to node D, and subtask 2, in which agent G2 transports object J1 from node D to node E, based on the strings generated by the formal language conversion processing units 221-1 and 221-2.
[0226] Figure 22 shows an example of a map corresponding to an automated planning problem generated by the problem generation unit 31. Figure 22 shows that agent G1 moves to node C (loads object J1), moves to node D (unloads object J1), agent G2 moves to node E (loads object J2), and (unloads object J1 at node E).
[0227] Next, the automatic planning processing unit 32 executes an automatic planning problem using the automatic planning problem generated by the problem generation unit 31, and the determination unit 33 verifies its feasibility. Here, it is assumed that the automatic planning processing unit 32 generates the work plan shown in logical expression 4, and the determination unit 33 performs a simulation of this work plan and determines that it is feasible.
[0228] Logical formula 4: (drive(agent_1, node_A, node_C)) (pick(agent_1, obj_1)) (drive(agent_1, node_C, node_D)) (place(agent_1, obj_1)) (pick(agent_2, obj_2)) (fly(agent_2, node_D, node_E)) (place(agent_2, obj_2))
[0229] Logical expression 4 indicates the following actions: (drive(agent_1, node_A, node_C)): Agent G1 moves from node A to node C. (pick(agent_1, obj_1)): Agent G1 picks up object J1. (drive(agent_1, node_C, node_D)): Agent G1 moves from node C to node D. (place(agent_1, obj_1)): Agent G1 unloads object J1.
[0230] (pick(agent_2, obj_2)): Agent G2 picks up object J1. (fly(agent_2, node_D, node_E)): Agent G2 moves from node D to node E. (place(agent_2, obj_2)): Agent G2 unloads object J1.
[0231] In the second processing, as described above, the problem generation unit 31 generates an automated planning problem based on the string generated by the formal language conversion processing unit 221, relating to subtask 1, in which agent G1 transports object J1 from node C to node D, and subtask 2, in which agent G2 transports object J1 from node D to node E. Accordingly, the automated planning processing unit 32 creates a work plan to execute subtask 1 first, and then subtask 2.
[0232] In this work plan, agent G1 moves from node C to node D, and agent G2 moves from node D to node E. Both are movements between nodes that agents can move between, and in this respect, this work plan (the work plan shown in logical expression 4) is executable. The output unit 50 outputs the work plan shown in logical expression 4.
[0233] (Explanation of Effects) As described above, the formal language data contains information about multiple agents. The formal language conversion unit 200 decomposes the formal language data into formal language data for each agent, extracts determined elements from the formal language data for each agent, and generates a string. The automatic plan evaluation unit 400 identifies one or more agents that are associated with the factors that prevent the generation of an executable work plan, identifies the factors that prevent the generation of an executable work plan for each identified agent, integrates the results of identifying the factors for each agent, and updates the elements to be extracted from the formal language data based on the integrated identification results.
[0234] According to the formal language conversion system 2, even for a multi-agent system, if it is unable to generate a work plan that can achieve the objective, the elements extracted from the formal language data can be updated, and the conversion of the formal language data and the automatic generation of the work plan can be performed again.
[0235] Furthermore, the formal language conversion system 2 enables efficient extraction of necessary elements for each agent from a large-scale problem described in a formal language in a multi-agent environment, and generates a work plan. In particular, the combination of the agent identification unit 410 and the impossibility factor analysis unit 411 is expected to enable detailed analysis of the factors causing impossibility on an agent-by-agent basis, and to accurately adjust the elements for problem solving.
[0236] Furthermore, the formal language conversion system 2 can improve the computational efficiency of automatic planning by performing formal language data conversion and factor analysis for each agent. In addition, the extracted element adjustment unit 42 dynamically updates the extracted element database 60, enabling flexible plan generation according to the characteristics of the problem and the status of the agents.
[0237] This allows the formal language conversion system 2 to effectively handle complex tasks in multi-agent systems. The formal language conversion system 2 makes it possible to construct an advanced automated planning system for the entire group of agents.
[0238] <Third Embodiment> In the third embodiment, a control system using the formal language conversion system 1 will be described. Figure 23 is a diagram showing an example of the configuration of a control system according to at least one embodiment. In the configuration shown in Figure 23, the control system 3 comprises the formal language conversion system 1 and agent G1.
[0239] As described above, the formal language conversion system 1 generates a work plan that achieves the given objective through automatic planning. In the example shown in Figure 23, the output unit 50 of the formal language conversion system 1 transmits the work plan generated by the formal language conversion system 1 to agent G1. The formal language conversion system 1 then controls agent G1 to execute the generated work plan. According to the control system 3, it is expected that agent G1 will be automatically controlled according to the work plan and the given objective will be achieved.
[0240] <Fourth Embodiment> In the fourth embodiment, a control system using the formal language conversion system 2 will be described. Figure 24 is a diagram showing an example of the configuration of a control system according to at least one embodiment. In the configuration shown in Figure 24, the control system 3 comprises the formal language conversion system 2 and agents G1 to G(n). Here, (n) indicates the number of agents provided by the control system 3.
[0241] As described above, the formal language conversion system 2 generates a work plan for each agent that achieves the given objective through automatic planning. In the example shown in Figure 24, the output unit 50 of the formal language conversion system 2 transmits the work plan generated by the formal language conversion system 2 for each agent to each of agents G1 through G(n). In this way, the formal language conversion system 2 controls agents G1 through G(n) to execute the generated work plan. According to the control system 4, it is expected that the given objective can be achieved by automatically controlling each of agents G1 through G(n) according to the work plan.
[0242] <Fifth Embodiment> Figure 25 is a block diagram showing an example of the configuration of a formal language conversion system according to at least one embodiment. In the configuration shown in Figure 25, the formal language conversion system 70 comprises a formal language conversion unit 71, an automatic planning unit 72, and an automatic planning evaluation unit 73.
[0243] In this configuration, the formal language conversion unit 71 determines elements to extract from formal language data that describes the actions that the agent, which is the target of operation according to the work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment, and extracts the elements determined from the formal language data to generate a string. The automatic planning unit 72 executes an automatic plan to generate a work plan based on the generated string and determines whether an executable work plan has been generated. If the automatic plan evaluation unit 73 determines that an executable work plan has not been generated, it identifies the reasons why an executable work plan has not been generated and updates the elements to extract from the formal language data based on the identified reasons. The formal language conversion unit 71 corresponds to an example of formal language conversion means. The automatic planning unit 72 corresponds to an example of automatic planning means. The automatic plan evaluation unit 73 corresponds to an example of automatic plan evaluation means.
[0244] According to the formal language conversion system 70, if it is not possible to convert the given formal language data and generate an executable work plan, the elements extracted from the formal language data can be updated, and the conversion of the formal language data and the automatic generation of the work plan can be performed again. In this respect, according to the formal language conversion system 70, it is expected that there is a relatively high probability of generating an executable work plan when automatically generating a work plan.
[0245] Furthermore, the formal language conversion system 70 makes it possible to efficiently extract the elements necessary for a work plan from a large-scale problem described in a formal language, without the need to separately prepare a conversion table or a learning model, and to generate an executable work plan.
[0246] The formal language conversion unit 71 can be implemented, for example, using the functions of the formal language conversion unit 20 in Figure 1. The automatic planning unit 72 can be implemented, for example, using the functions of the automatic planning unit 30 in Figure 1. The automatic planning evaluation unit 73 can be implemented, for example, using the functions of the automatic planning evaluation unit 40 in Figure 1.
[0247] Furthermore, the formal language conversion system 70 may include means for decomposing formal language data for each agent (for example, the decomposition unit 220 in Figure 1) and means for integrating the strings converted from the formal language data for each agent (for example, the conversion result integration unit 222 in Figure 1) in response to a multi-agent work planning problem.
[0248] Furthermore, the formal language conversion system 70 may also include, in the case of a multi-agent work plan problem, means for identifying which agent is responsible for the failure when the work plan is unexecutable (for example, the agent identification unit 410 in Figure 1), and means for integrating the results of identifying the unexecutable factors for each agent (for example, the unexecutable factor integration unit 412 in Figure 1).
[0249] With such a configuration, in a multi-agent environment, problems can be broken down agent by agent, and the factors that make execution impossible can be identified and integrated on an agent-by-agent basis, thereby generating an efficiently executable work plan.
[0250] <Sixth Embodiment> Figure 26 is a block diagram showing an example of the configuration of a control system according to at least one embodiment. In the configuration shown in Figure 26, the control system 80 comprises a formal language conversion system 81 and an agent 85. The formal language conversion system 81 comprises a formal language conversion unit 82, an automatic planning unit 83, and an automatic planning evaluation unit 84.
[0251] In this configuration, the formal language conversion unit 82 determines elements to extract from formal language data describing the actions that agent 85 can perform, the state of agent 85's operating environment, and the target state of the operating environment, and extracts the determined elements from the formal language data to generate a string. The automatic planning unit 83 executes an automatic plan to generate a work plan based on the generated string and determines whether an executable work plan has been generated. If the automatic plan evaluation unit 84 determines that an executable work plan has not been generated, it identifies the reasons why an executable work plan has not been generated and updates the elements to be extracted from the formal language data based on the identified reasons. The formal language conversion unit 82 is an example of formal language conversion means. The automatic planning unit 83 is an example of automatic planning means. The automatic plan evaluation unit 84 is an example of automatic plan evaluation means.
[0252] According to the control system 80, if it is not possible to generate an executable work plan by converting the given formal language data, the elements extracted from the formal language data can be updated, and the conversion of the formal language data and automatic generation of the work plan can be performed again. According to the control system 80, in this respect, it is expected that there is a relatively high probability of generating an executable work plan when automatically generating a work plan. According to the control system 80, it is expected that the agent 85 will be able to achieve the objective by acting in accordance with the obtained work plan.
[0253] The formal language conversion system 81 can be implemented, for example, using the functions of the formal language conversion system 1 in Figure 1. The formal language conversion unit 82 can be implemented, for example, using the functions of the formal language conversion unit 20 in Figure 1. The automatic planning unit 83 can be implemented, for example, using the functions of the automatic planning unit 30 in Figure 1. The automatic planning evaluation unit 84 can be implemented, for example, using the functions of the automatic planning evaluation unit 40 in Figure 1. The functions of agent 85 can be implemented, for example, using the functions of agent G1 in Figure 23.
[0254] <Seventh Embodiment> Figure 27 shows an example of the processing procedure in a formal language conversion method according to at least one embodiment. The formal language conversion method shown in Figure 27 includes converting a formal language (step S71), performing automatic planning (step S72), and evaluating the automatic planning (step S73).
[0255] In converting the formal language (step S71), the computer determines elements to extract from the formal language data, which describes the actions that the agent, which is to be operated according to the work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment. The computer then extracts the determined elements from the formal language data to generate a string. In performing automatic planning (step S72), the computer executes an automatic planning process to generate a work plan based on the generated string, and determines whether an executable work plan has been generated. In evaluating the automatic planning process (step S73), if the computer determines that an executable work plan has not been generated, it identifies the reasons why an executable work plan has not been generated and updates the elements to be extracted from the formal language data based on the identified reasons.
[0256] According to the formal language conversion method shown in Figure 27, if the given formal language data cannot be converted to generate an executable work plan, the elements extracted from the formal language data can be updated, and the conversion of the formal language data and the automatic generation of the work plan can be performed again. In this respect, the formal language conversion method shown in Figure 27 is expected to have a relatively high probability of generating an executable work plan when automatically generating a work plan.
[0257] Figure 28 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. The computer 1000 includes a processor 1001, a main memory 1002, a storage device 1003, an input interface 1004, a display controller 1005, and a data reader / writer 1006. An input device 1007, a display device 1008, and a storage medium 1009 are also connected to the computer 1000. Furthermore, a computer for executing automatic planning, an automatic planning planner, a simulator, etc., may also be connected.
[0258] One or more of the above-described formal language conversion systems 1, 2, 70, and 81, or parts thereof, may be implemented in the computer 1000. In that case, the operation of each of the above-described processing units is stored in the storage device 1003 in the form of a program. The processor 1001 reads the program from the storage device 1003, expands it into the main memory 1002, and executes the above processing according to the program.
[0259] Interaction between the computer 1000 and the user can be realized using the input device 1007 and the display device 1008. The input device 1007 can be used by the user to input formal language data. It is also possible to save a file of formal language data in advance on the storage medium 1009 and read and process it using the data reader / writer 1006. The display device 1008 can be used to output a work plan. It is also possible to write the work plan as a file from the data reader / writer 1006 to the storage medium 1009 and save it.
[0260] One or more of the above-mentioned programs may be recorded on the storage medium 1009. In this case, the data reader / writer 1006 may read the program from the storage medium 1009. The processor 1001 may then either directly execute the program read by the data reader / writer 1006, or it may temporarily save it in the main memory 1002 or storage device 1003 before executing it.
[0261] Furthermore, the processing of each part may be performed by recording a program for executing all or part of the processing performed by formal language conversion system 1, formal language conversion system 2, formal language conversion system 70, and formal language conversion system 81 on a computer-readable storage medium, and then loading and executing the program recorded on this storage medium into a computer system. Here, "computer system" includes hardware such as an OS (Operating System) and peripheral devices. "Computer-readable storage medium" refers to portable media such as flexible disks, magneto-optical disks, ROMs (Read Only Memory), CD-ROMs (Compact Disc Read Only Memory), and storage devices such as hard disks built into the computer system. Moreover, the above program may be for implementing part of the functions described above, and may also be for implementing the above functions in combination with programs already recorded in the computer system.
[0262] While this disclosure has been described with reference to the embodiments described above, it is not limited thereto. Various modifications can be made to the structure and details of this disclosure to the extent that those skilled in the art can understand. Furthermore, each embodiment can be used in appropriate combination with other embodiments.
[0263] Some or all of the above embodiments may also be described as follows, but are not limited to the following:
[0264] (Note 1) A formal language conversion system comprising: a formal language conversion means that determines elements to be extracted from formal language data describing the actions that an agent, which is the target to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment, and extracts the elements determined from the formal language data to generate a string; an automatic planning means that executes an automatic plan to generate a work plan based on the generated string and determines whether or not an executable work plan has been generated; and an automatic planning evaluation means that, if it is determined that an executable work plan has not been generated, identifies the factors that have not been generated and updates the elements to be extracted from the formal language data based on the identified factors.
[0265] (Note 2) The formal language data includes information about a plurality of agents, the formal language conversion means decomposes the formal language data into formal language data for each agent, extracts the determined elements from the formal language data for each agent to generate a string, and the automatic plan evaluation means identifies one or more agents that correspond to the factors for which an executable work plan has not been generated, identifies the factors for which an executable work plan has not been generated for each identified agent, integrates the results of identifying the factors for each agent, and updates the elements to be extracted from the formal language data based on the integrated identification results, the formal language conversion system as described in Note 1.
[0266] (Note 3) The formal language conversion system according to Note 1 or Note 2, wherein the formal language conversion means stores the elements to be extracted from the formal language data in an extracted element database, and the automatic planning and evaluation means updates the elements to be extracted from the formal language data by updating the information stored in the extracted element database.
[0267] (Note 4) The formal language conversion system according to any one of Notes 1 to 3, wherein if the automatic planning evaluation means fails to generate a work plan in the automatic planning, it inputs a prompt including an error message and log data from the automatic planning to the large language model to identify the reason why the executable work plan has not been generated.
[0268] (Note 5) The automatic planning evaluation means, when the automatic planning means generates a work plan using the automatic planning and determines that the generated work plan is unexecutable, inputs a prompt to the large-scale language model containing log data from when the automatic planning means determined the feasibility of the work plan, in order to identify the factors that prevented the generation of an executable work plan, as described in any one of Notes 1 to 4.
[0269] (Note 6) The formal language conversion system according to any one of Notes 1 to 5, wherein the automatic plan evaluation means inputs a prompt to a large language model that includes the factors identified as factors that have not generated the feasible work plan, and re-determines the elements to be extracted from the formal language data.
[0270] (Note 7) The formal language conversion system according to any one of Notes 1 to 6, wherein the automatic planning means divides the problem into multiple subproblems based on the string generated by the formal language conversion means, and generates an automatic planning problem and executes the automatic planning for each subproblem.
[0271] (Note 8) A control system comprising a formal language conversion system and an agent, wherein the formal language conversion system includes: a formal language conversion means that determines elements to be extracted from formal language data describing the actions that the agent can perform, the state of the agent's operating environment, and the target state of the operating environment, and extracts the elements determined from the formal language data to generate a string; an automatic planning means that executes an automatic planning to generate a work plan based on the generated string and determines whether or not an executable work plan has been generated; and an automatic planning evaluation means that, if it is determined that an executable work plan has not been generated, identifies the factors that prevented the generation of an executable work plan, and updates the elements to be extracted from the formal language data based on the identified factors.
[0272] (Note 9) The control system as described in Note 8, wherein the formal language data includes information about a plurality of agents, the formal language conversion means decomposes the formal language data into formal language data for each agent, extracts the determined elements from the formal language data for each agent to generate a string, and the automatic plan evaluation means identifies one or more agents that correspond to the factors for which an executable work plan has not been generated, identifies the factors for which an executable work plan has not been generated for each identified agent, integrates the results of identifying the factors for each agent, and updates the elements to be extracted from the formal language data based on the integrated identification results.
[0273] (Note 10) The control system, as specified in Note 8 or Note 9, wherein the formal language conversion means stores the elements to be extracted from the formal language data in an extracted element database, and the automatic planning evaluation means updates the elements to be extracted from the formal language data by updating the information stored in the extracted element database.
[0274] (Note 11) The control system according to any one of Notes 8 to 10, wherein if the automatic planning means fails to generate a work plan in the automatic planning, it inputs a prompt including an error message and log data from the automatic planning to the large language model to identify the reason why the executable work plan has not been generated.
[0275] (Note 12) The control system according to any one of Notes 8 to 11, wherein the automatic planning evaluation means, when the automatic planning means generates a work plan using the automatic planning, determines that the generated work plan is unexecutable, inputs a prompt to the large-scale language model containing log data from when the automatic planning means determined the feasibility of the work plan, in order to identify the factors that prevented the generation of an executable work plan.
[0276] (Note 13) The control system according to any one of Notes 8 to 12, wherein the automatic plan evaluation means inputs prompts to a large language model that include factors identified as factors causing the failure to generate an executable work plan, and re-determines the elements to be extracted from the formal language data.
[0277] (Note 14) The control system according to any one of Notes 8 to 13, wherein the automatic planning means divides the problem into multiple subproblems based on the string generated by the formal language conversion means, and generates an automatic planning problem and executes the automatic planning for each subproblem.
[0278] (Note 15) A formal language conversion method comprising: determining elements to extract from formal language data that describes the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment; extracting the elements determined from the formal language data to generate a string; executing an automated plan to generate a work plan based on the generated string; determining whether an executable work plan has been generated; if it is determined that an executable work plan has not been generated, identifying the reasons why an executable work plan has not been generated; and updating the elements to be extracted from the formal language data based on the identified factors.
[0279] (Note 16) The formal language data includes information about a plurality of agents, determining the elements and extracting the determined elements from the formal language data to generate a string includes the computer decomposing the formal language data into formal language data for each agent, and extracting the determined elements from the formal language data for each agent to generate a string, and identifying the factors and updating the elements to be extracted from the formal language data based on the identified factors includes the computer identifying one or more agents associated with the factors for which an executable work plan has not been generated, identifying the factors for which an executable work plan has not been generated for each identified agent, integrating the results of identifying the factors for each agent, and updating the elements to be extracted from the formal language data based on the integrated results, as described in Note 15.
[0280] (Note 17) The formal language conversion method according to Note 15 or Note 16, wherein determining the elements and extracting the determined elements from the formal language data to generate a string includes the computer storing the elements to be extracted from the formal language data in an extracted element database, and executing the automatic plan and determining whether an executable work plan has been generated includes the computer updating the elements to be extracted from the formal language data by updating the information stored in the extracted element database.
[0281] (Note 18) The formal language conversion method according to any one of Notes 15 to 17, wherein executing the automatic plan and determining whether an executable work plan has been generated includes, if the automatic plan fails to generate a work plan, the computer inputting a prompt to the large language model containing error messages and log data from the automatic plan to identify the factors that prevented the creation of the executable work plan.
[0282] (Note 19) The formal language conversion method described in any one of Notes 15 to 18, wherein the execution of the automated plan and determination of whether an executable work plan has been generated includes, if the computer determines that the generated work plan is not executable, inputting a prompt containing log data from when the executableness of the work plan was determined to the large language model to identify the factors that prevented the generation of the executable work plan.
[0283] (Note 20) The formal language conversion method according to any one of Notes 15 to 19, wherein executing the automated plan and determining whether an executable work plan has been generated includes the computer inputting a prompt to the large language model containing the factors identified as factors that have not resulted in the generation of an executable work plan, and redetermining the elements to be extracted from the formal language data.
[0284] (Note 21) The formal language conversion method described in any one of Notes 15 to 20, wherein the computer performs the automatic planning and determines whether an executable work plan has been generated, the computer divides the problem into multiple subproblems based on the generated string, and for each subproblem, it performs the generation of an automatic planning problem and the execution of the automatic planning.
[0285] (Note 22) A storage medium storing a program that causes a computer to perform the following: determine elements to extract from formal language data that describes the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment; extract the elements determined from the formal language data to generate a string; execute an automated plan to generate a work plan based on the generated string, and determine whether or not an executable work plan has been generated; and if it is determined that an executable work plan has not been generated, identify the reason why an executable work plan has not been generated, and update the elements to be extracted from the formal language data based on the identified reason.
[0286] (Note 23) The storage medium described in Note 22, wherein the formal language data includes information about a plurality of agents, and in determining the elements and extracting the elements determined from the formal language data to generate a string, the program causes the computer to decompose the formal language data into formal language data for each agent, and extract the elements determined from the formal language data for each agent to generate a string, and in identifying the factors and updating the elements to be extracted from the formal language data based on the identified factors, the program causes the computer to identify one or more agents associated with the factors for which an executable work plan has not been generated, for each identified agent to identify the factors for which an executable work plan has not been generated, integrate the results of identifying the factors for each agent, and update the elements to be extracted from the formal language data based on the integrated results.
[0287] (Note 24) The storage medium described in Note 22 or Note 23, wherein in determining the elements and extracting the determined elements from the formal language data to generate a string, the program causes the computer to store the elements to be extracted from the formal language data in an extracted element database, and in executing the automatic plan and determining whether an executable work plan has been generated, the program causes the computer to update the elements to be extracted from the formal language data by updating the information stored in the extracted element database.
[0288] (Note 25) The storage medium described in any one of Notes 22 to 24, wherein the program, in executing the automatic plan and determining whether an executable work plan has been generated, causes the computer to input a prompt to the large language model containing error messages and log data from the automatic plan if the automatic plan fails to generate a work plan, in order to identify the cause of the failure to generate an executable work plan.
[0289] (Note 26) In executing the automated plan and determining whether an executable work plan has been generated, the program instructs the computer to input a prompt containing log data from when the executableness of the work plan was determined to be unexecutable, to the large language model, thereby causing the computer to identify the factors that prevented the generation of an executable work plan. The storage medium is as described in any one of Notes 22 to 25.
[0290] (Note 27) The storage medium according to any one of Notes 22 to 26, wherein the program, in executing the automated plan and determining whether an executable work plan has been generated, causes the computer to input a prompt to the large language model containing the factors identified as factors that prevented the generation of the executable work plan, thereby causing the computer to re-determine the elements to be extracted from the formal language data.
[0291] (Note 28) In executing the automatic plan and determining whether an executable work plan has been generated, the program causes the computer to divide the problem into multiple subproblems based on the generated string, and for each subproblem, to perform the generation of an automatic plan problem and the execution of the automatic plan, as described in any one of Notes 22 to 27.
[0292] The present invention may be applied to a formal language conversion system, a formal language conversion method, and a storage medium.
[0293] 1, 2, 70, 81 Formal Language Conversion System 3, 4, 80 Control System 10 Input Unit 20, 71, 82 Formal Language Conversion Unit 21 Extraction Element Determination Unit 220 Decomposition Unit 22, 221 Formal Language Conversion Processing Unit 222 Conversion Result Integration Unit 30, 72, 83 Automatic Planning Unit 31 Problem Generation Unit 32 Automatic Planning Processing Unit 33 Judgment Unit 40, 73, 84 Automatic Planning Evaluation Unit 410 Agent Identification Unit 41, 411 Impossibility Factor Analysis Unit 412 Impossibility Factor Integration Unit 42 Extraction Element Adjustment Unit 50 Output Unit 60 Extraction Element Database 85 Agent
Claims
1. A formal language conversion system comprising: a formal language conversion means that determines elements to be extracted from formal language data describing the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment, and extracts the elements determined from the formal language data to generate a string; an automatic planning means that executes an automatic plan to generate a work plan based on the generated string and determines whether or not an executable work plan has been generated; and an automatic plan evaluation means that, if it is determined that an executable work plan has not been generated, identifies the reasons why an executable work plan has not been generated, and updates the elements to be extracted from the formal language data based on the identified reasons.
2. The formal language data includes information about a plurality of agents, the formal language conversion means decomposes the formal language data into formal language data for each agent, extracts the determined elements from the formal language data for each agent to generate a string, and the automatic plan evaluation means identifies one or more agents that are associated with the factors for which an executable work plan has not been generated, identifies the factors for which an executable work plan has not been generated for each identified agent, integrates the results of identifying the factors for each agent, and updates the elements to be extracted from the formal language data based on the integrated identification results, the formal language conversion system according to claim 1.
3. The formal language conversion system according to claim 1 or 2, wherein the formal language conversion means stores elements to be extracted from the formal language data in an extracted element database, and the automatic planning and evaluation means updates the elements to be extracted from the formal language data by updating the information stored in the extracted element database.
4. The formal language conversion system according to any one of claims 1 to 3, wherein if the automatic planning evaluation means fails to generate a work plan in the automatic planning, it inputs a prompt including an error message and log data from the automatic planning to the large language model to identify the reason why the executable work plan has not been generated.
5. The formal language conversion system according to any one of claims 1 to 4, wherein the automatic planning evaluation means, when the automatic planning means generates a work plan using the automatic planning, determines that the generated work plan is unexecutable, inputs a prompt to the large-scale language model containing log data from when the automatic planning means determined the feasibility of the work plan, in order to identify the factors that prevented the generation of an executable work plan.
6. The formal language conversion system according to any one of claims 1 to 5, wherein the automated plan evaluation means inputs a prompt to a large language model that includes factors identified as factors causing the failure to generate an executable work plan, and re-determines the elements to be extracted from the formal language data.
7. The formal language conversion system according to any one of claims 1 to 6, wherein the automatic planning means divides the problem into a plurality of subproblems based on the string generated by the formal language conversion means, and generates an automatic planning problem and executes an automatic planning for each subproblem.
8. A control system comprising a formal language conversion system and an agent, wherein the formal language conversion system includes: formal language conversion means for determining elements to extract from formal language data describing the actions that the agent can perform, the state of the agent's operating environment, and the target state of the operating environment, and for extracting the elements determined from the formal language data to generate a string; automatic planning means for executing automatic planning to generate a work plan based on the generated string and determining whether an executable work plan has been generated; and automatic planning evaluation means for identifying the factors that prevented the generation of an executable work plan, and updating the elements to be extracted from the formal language data based on the identified factors.
9. A formal language conversion method comprising: determining elements to extract from formal language data that describes the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment; extracting the elements determined from the formal language data to generate a string; executing an automated plan to generate a work plan based on the generated string; determining whether an executable work plan has been generated; and, if it is determined that an executable work plan has not been generated, identifying the reasons why an executable work plan has not been generated, and updating the elements to be extracted from the formal language data based on the identified factors.
10. A storage medium storing a program that causes a computer to perform the following: determine elements to extract from formal language data describing the actions that an agent, which is to be operated according to a work plan, can perform, the state of the agent's operating environment, and the target state of the operating environment; extract the elements determined from the formal language data to generate a string; execute an automated plan to generate a work plan based on the generated string; determine whether an executable work plan has been generated; and, if it is determined that an executable work plan has not been generated, identify the reason why an executable work plan has not been generated, and update the elements to be extracted from the formal language data based on the identified reason.