Information processing device, information processing method, and program

By setting search priorities and pruning constrained nodes/edges in the search tree, the method addresses the challenge of lengthy search times in directed graph problems, enabling efficient optimization of mobile object tasks.

WO2025154171A1PCT designated stage expired Publication Date: 2025-07-24NT T INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/000974
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-01-16
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

Conventional methods for solving directed graph search problems with mobile object position constraints face challenges in reducing search time and computational complexity, making it difficult to optimize objective functions within a realistic timeframe.

Method used

A search tree construction method that sets search priorities for each directed graph and prunes nodes and edges violating constraints, reducing the search space by combining nodes and edges, weighting based on constraint violations, and using Monte Carlo tree search to prioritize nodes with better evaluation values.

Benefits of technology

This approach enables the output of solutions to directed graph searches within a realistic search time by reducing the search space and optimizing objective functions effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024000974_24072025_PF_FP_ABST
    Figure JP2024000974_24072025_PF_FP_ABST
Patent Text Reader

Abstract

An information processing device according to the present invention includes a processing unit that, in constructing of a search tree for solving a directed graph search problem with a moving body position constraint, sets a search priority in each directed graph, and also performs pruning of nodes and edges of a search tree that violate the constraint, on the basis of the search priority set in each directed graph, thereby constructing the search tree.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, information processing method, and program

[0001] The disclosed technology relates to an information processing device, an information processing method, and a program.

[0002] Conventionally, there are technologies that output solutions to phenomena that can be formulated as multiple directed graphs with branches (for example, Non-Patent Documents 1 and 2). Conventional technologies solve problems by setting the search order for nodes and edges while taking into account the positional relationships of multiple directed graphs, and can optimize a given objective function, such as maximizing the number of mobile vehicles passing through in road inspections or minimizing the construction period for water pipe construction.

[0003] Such prior art techniques include methods for enumerating all combinations, methods for formulating the problem as a job shop scheduling problem (JSP), and solutions using Monte Carlo tree search.

[0004] Recent Research Trends in Genetic Algorithm Based Flexible Job Shop Scheduling Problems. Mathematical Problems in Engineering, 2018, pp.1-32.Monte Carlo Tree Search: A Review of Recent Modifications and Applications. Artificial Intelligence Review, 2021. pp.2497-2562.

[0005] However, these conventional techniques have problems such as requiring a huge amount of calculation and search time, and in some cases not being able to be designed for application.

[0006] The disclosed technology has been made in consideration of the above points, and aims to provide an information processing device, an information processing method, and a program that can reduce the search space and output a solution to a directed graph search in a realistic search time.

[0007] A first aspect of the present disclosure is an information processing device that, in constructing a search tree for solving a directed graph search problem with mobile object position constraints, includes a processing unit that sets a search priority for each directed graph and prunes nodes and edges of the search tree that violate constraints based on the search priority set for each directed graph, thereby constructing the search tree.

[0008] A second aspect of the present disclosure is an information processing method in which, in constructing a search tree for solving a directed graph search problem with mobile object position constraints, a computer executes a process of setting a search priority for each directed graph, pruning nodes and edges of the search tree that violate constraints based on the search priority set for each directed graph, and constructing the search tree.

[0009] The disclosed technology reduces the search space and enables output of a directed graph search solution in a realistic search time.

[0010] FIG. 1 is a block diagram showing the hardware configuration of a directed graph search device. FIG. 2 is a block diagram showing the configuration of a directed graph search device of this embodiment. FIG. 3 is an example of a directed graph. FIG. 4 is an example of mobile object information. FIG. 5 is an example of a task. FIG. 6 is an example of node deletion in preprocessing of a directed graph. FIG. 7 is an example of a constructed search tree. FIG. 8 is an example of weighting a search tree. FIG. 9 is an example of task allocation to each vehicle. FIG. 10 is a flowchart showing the flow of search processing by the directed graph search device.

[0011] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that the same or equivalent components and parts in each drawing are given the same reference numerals. Also, the dimensional proportions in the drawings are exaggerated for the convenience of explanation and may differ from the actual proportions.

[0012] First, the technology and problems underlying the technology of the present disclosure will be described.

[0013] When multiple directed graphs exist in a two-dimensional space, such as a map, there are many examples in the world in which multiple mobile entities visit the nodes and edges of the directed graph in order from the starting point to perform a specific task. Road inspections are one example of such tasks. In this example, traffic lights are considered nodes on public roads, and the roads between the lights are considered edges. Multiple vehicles are expected to travel along the roads to inspect the roads. Other possible tasks include inspecting traffic lights and repairing any defects, or inspecting roads for cracks and dispatching repair technicians if any are found. Another example of a task is water pipe installation. In the water pipe installation example, manholes are considered edges, and water pipes are considered nodes. Multiple excavators and dump trucks are expected to alternately install manholes and water pipes according to a blueprint.

[0014] A mobile object does not need to move along edges on a directed graph, but can move freely in two-dimensional space. Therefore, it is possible to move to another location by passing through nodes or edges that are not connected in the directed graph. Here, a node is defined as a coordinate that represents a point in two-dimensional space, and an edge is defined as a line that connects two coordinates in two-dimensional space. Edges are not limited to straight lines; they can also be represented by curved lines. Note that visiting an edge means tracing from the start node of the edge to the end node. Note that if you visit only an edge without tracing the nodes, the start node and end node will remain unvisited.

[0015] In these tasks, there are constraints on the order in which nodes and edges are visited. For example, when inspecting traffic lights, it is desirable to alternate between road inspections and traffic light inspections in order to minimize the duration of road closures. When installing water pipes, it is necessary to install manholes before installing the water pipes. Furthermore, since moving objects working in close proximity to each other will interfere with each other's work, they are required to work while maintaining a certain distance. In this disclosure, a task in which there are constraints on the order in which nodes and edges are visited and the positional relationships of moving objects is referred to as a "directed graph search problem with mobile object position constraints (hereinafter also referred to as this problem)."

[0016] If there is only one directed graph and it does not have any branches, you can simply perform the task in a straight line from the starting point to the end point. There are only two options for the starting point and the end point, and you can decide which one to use as the starting point by taking into account the relative positions of other roads and installed water pipes.

[0017] However, when multiple directed graphs exist and the directed graphs have branches, multiple search order options exist. In road inspections, an example of multiple directed graphs is to represent each of the inbound and outbound lanes as a directed graph. Branches are typical of intersections and T-junctions. In such cases, inspecting both the inbound and outbound lanes simultaneously would temporarily disable the road, significantly reducing pedestrian convenience. Therefore, it is desirable to close one of the inbound and outbound lanes and allow traffic to alternate between the two lanes for inspection. As another example, when a road branches at a T-junction, a search method could be considered in which the inspection of one road is stopped midway and the other road is inspected. Compared to inspecting both roads simultaneously, the best option depends on the traffic conditions, making it difficult to determine which is best; in other words, it is the subject of search. In this way, by setting the search order for nodes and edges while taking into account the relative positions of multiple directed graphs, it is possible to optimize specific objective functions in road inspections, such as maximizing the number of vehicles passing through or minimizing the construction time for water pipe construction.

[0018] There are several candidate methods for solving the above problem. The first solution is to enumerate all combinations, calculate the objective function for all combinations, and select the optimal combination. However, since the number of combinations increases exponentially with the number of nodes and edges, the amount of calculation required becomes enormous. As a result, it is difficult to find the optimal combination in a practical amount of time.

[0019] A second solution method is to formulate the problem as a job shop scheduling problem (JSP). Because exact solutions cannot be solved in a realistic time frame as the number of tasks and mobile objects increases, heuristics such as genetic algorithms (GAs) are used (see Non-Patent Document 1). However, in directed graph search problems with mobile object position constraints, constraints exist on the order of visiting nodes and edges and the positional relationships of mobile objects, making it difficult to generate individuals that satisfy the constraints. Furthermore, in GAs, the genetic design of individuals is important, and it is desirable to obtain an average individual when crossing a population. However, in this problem, genetic design for obtaining an average individual is not trivial, making it difficult to apply.

[0020] A third possible solution is to use Monte Carlo tree search. Monte Carlo tree search is an algorithm that repeats simulations and prioritizes searching for candidates with good average results. It is often applied to games such as Go and competitive games, but it can also be applied to this problem. However, if a tree search is simply constructed taking into account not only the search order of nodes and edges but also the positional relationships of moving objects, the problem arises that the search time becomes enormous due to the increase in branching of the search tree (see Non-Patent Document 2).

[0021] As described above, a solution to this problem could not be found in a realistic time, and the optimization of the specified objective function had to be interrupted midway, resulting in insufficient optimization. The technology disclosed herein is characterized by using a search tree to search for a solution to this problem, while pruning branches that violate given constraints. The technology disclosed herein reduces the search space and enables the output of a directed graph search solution in a realistic search time.

[0022] In this embodiment, the solution is based on the use of a search tree, and the search space is reduced by the following methods (1) to (3) in constructing the search tree. In method (1), a search priority is set for each directed graph, and if there are edges or nodes that exist nearby between directed graphs, constraints are set to prune the search tree. The constraints are set so that directed graphs with higher search priorities are searched first when constructing the search tree. This reduces the number of branches in the search tree by up to a power of the number of directed graphs. In method (2), a node that does not fall under the start point, end point, or branch is selected, two edges connected to that node are combined into one edge, and that node is deleted. This operation is repeated every predetermined distance to prune the search tree. This reduces the depth of the search tree by a constant factor. In method (3), the positional relationship of moving objects is set as a constraint, and nodes and edges in the search tree are weighted based on the violation degree calculated from the constraint. This makes it easier to select nodes with higher priority, virtually reducing the search space. By using these techniques, the technology of this embodiment can optimize a predetermined objective function in a realistic search time in a directed graph search problem with moving object position constraints.

[0023] The configuration of this embodiment will be described below.

[0024] Fig. 1 is a block diagram showing the hardware configuration of a directed graph search device 100. As shown in Fig. 1, the directed graph search device 100 has a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, storage 14, an input unit 15, a display unit 16, and a communication interface (I / F) 17. Each component is connected to each other via a bus 19 so as to be able to communicate with each other.

[0025] The CPU 11 is a central processing unit that executes various programs and controls each part. That is, the CPU 11 reads the programs from the ROM 12 or the storage 14 and executes the programs using the RAM 13 as a work area. The CPU 11 controls the above components and performs various arithmetic processing in accordance with the programs stored in the ROM 12 or the storage 14. In this embodiment, the programs are stored in the ROM 12 or the storage 14.

[0026] The ROM 12 stores various programs and various data. The RAM 13 temporarily stores programs or data as a working area. The storage 14 is configured by a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.

[0027] The input unit 15 includes a pointing device such as a mouse and a keyboard, and is used to input various types of information.

[0028] The display unit 16 is, for example, a liquid crystal display, and displays various information. The display unit 16 may be a touch panel type and function as the input unit 15.

[0029] The communication interface 17 is an interface for communicating with other devices such as terminals, etc. For this communication, for example, a wired communication standard such as Ethernet (registered trademark) or FDDI, or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark) is used.

[0030] Next, each functional configuration of the directed graph search device 100 will be described. Fig. 2 is a block diagram showing the configuration of the directed graph search device 100 of this embodiment. Each functional configuration is realized by the CPU 11 reading a program stored in the ROM 12 or the storage 14, expanding it in the RAM 13, and executing it. Note that the directed graph search device 100 is an example of an information processing device disclosed herein.

[0031] 2, the directed graph search device 100 includes an input unit 110, a processing unit 112, a search unit 114, a constraint determination unit 116, an evaluation unit 118, and an output unit 120. The configuration and operation of each processing unit will be described below. Note that the device responsible for the processing (processing unit 112) and the device responsible for the search (search unit 114, constraint determination unit 116, and evaluation unit 118) may be configured separately.

[0032] The input unit 110 receives a plurality of directed graphs, mobile object information, tasks, constraints, and objective functions. Note that, although the following description will be given taking as an example a case where the method of this embodiment is applied to a plurality of directed graphs, it can also be applied to a single directed graph.

[0033] Constraint conditions include, for example, maintaining a certain distance between mobile objects and the possibility of visiting nearby nodes and edges (probability of visiting). Constraint conditions are set in the search process of the search unit 114. Objective functions are values ​​such as the total number of days or time required for inspection, or the number of mobile objects passing through during inspection. Furthermore, search priorities are set in advance for the directed graph, as in the following example:

[0034] FIG. 3 is an example of a directed graph. FIG. 3 shows an example in which two directed graphs, DG1 and DG2, exist. The distance intervals represented by each square will be referenced in the following explanation of directed graphs and search trees. The first directed graph, DG1, is a directed graph that starts at node A and branches at node C. Based on the direction of the edges of the directed graph, there are options to visit nodes A, B, and C in that order, and then visit them in the direction of node D or in the direction of node F. After visiting node D, there is also an option to return to node C without visiting node E and then visit them in the direction of node F. The second directed graph, DG2, is a directed graph that starts at node a and branches at nodes d and h. The number of visit options is greater than that of DG1 because there is one more branch. Note that search priorities are set for these directed graphs by the processing unit 112, which will be described later, in order to prune the search tree. In this example, DG1 has a higher search priority than DG2 (DG1>DG2). For example, the search priority is set based on the following conditions: DG1 is a national highway, D2 is a city road, and national highways have a higher number of mobile vehicles passing through them than city roads, and therefore have a higher maintenance priority. In this way, the search priority is set based on conditions such as regional characteristics, route characteristics, and the purpose of optimization. The priority of the directed graph can be set arbitrarily depending on the problem to be solved.

[0035] Figure 4 shows an example of mobile object information. There are two types of inspection vehicles (mobile objects): signal inspection vehicles and road inspection vehicles. Each vehicle is engaged in inspection work. There are also two types of repair vehicles: signal repair vehicles and road repair vehicles. If an abnormality is found during inspection, a mobile object such as a signal repair vehicle or road repair vehicle is called to perform the repair or maintenance. There are two vehicles for inspection and one for repair. For pruning the search tree, visit priorities are set in advance. In this example, signal inspection vehicles are set to have a higher visit priority than road inspection vehicles, based on the condition that a signal failure has a significant impact on traffic, and the signal side is given priority over the road side for repairs, etc. As a result, the priorities are set as follows: signal inspection vehicle: 1, signal repair vehicle: 2, road inspection vehicle: 3, road repair vehicle: 4. The priority of mobile object information can be set arbitrarily depending on the problem being solved.

[0036] FIG. 5 shows an example of a task. Node C is a T-junction with a traffic light, so it is necessary to inspect the traffic light and the road at the T-junction. Node F is a straight road, but there is a traffic light, so like node C, it is necessary to inspect both the traffic light and the road. Edge C-F is a road sandwiched between nodes C and F. There is no traffic light on that road, so a traffic light inspection is not necessary. As described above, tasks are assigned to nodes and edges according to the characteristics of the location. If location characteristics are also assigned to other nodes and edges, tasks according to the characteristics of the location can be set in the same way.

[0037] The processing unit 112 constructs a search tree using each directed graph received by the input unit 110. Furthermore, as preprocessing for construction, the processing unit 112 deletes predetermined nodes from the directed graph based on distance as described below, and then constructs the search tree. As preprocessing, the processing unit 112 selects nodes that do not correspond to the start point, end point, or branch for each directed graph, combines two edges connected to the selected nodes into one edge, and deletes the node. This operation is repeated for each predetermined distance. In the processing of the processing unit 112, in constructing a search tree for solving a directed graph search problem with mobile object position constraints, a search priority is set for each preprocessed directed graph. The processing unit 112 constructs the search tree by pruning nodes and edges of the search tree that violate constraints based on the search priority set for each directed graph.

[0038] FIG. 6 shows an example of node deletion in the preprocessing of a directed graph. First, in node deletion, nodes are traced from the start point for each directed graph. In this example, if there is a node that does not correspond to the start point, end point, or branch within four squares from the current position, that node is deleted. In directed graph DG1, tracing is performed from start point node A, and node B is a node that does not correspond to the start point, end point, or branch within four squares, so it is subject to deletion. Node C is not subject to deletion because it is a branch. Node F is subject to deletion because it is within four squares from node C. Node G is not subject to deletion because the distance calculation is performed from node C with node F deleted. Node deletion is also performed for DG2 using the same process.

[0039] FIG. 7 shows an example of a constructed search tree. Because multiple directed graphs exist, there are options for the starting points of DG1 and DG2 from the root node of the search tree. For example, if the left path, which selects A on DG1, is selected, the next option to visit is node C on DG1 or node a on DG2. If node C is selected, the task of edge A-C, which exists between them, i.e., road inspection, will be performed. If node a is selected, there is no edge between A and a, so the task of node a can be performed immediately. It can be seen that the path from node d to node h, listed in the lower right of the search tree, cannot be selected (constraint violation). This is because edge d-h intersects with edge C-G on DG1, i.e., exists nearby, and therefore edge C-G on DG1 must be searched first due to the search priority (DG1 > DG2). In this way, the processing unit 112 prunes nodes and edges of the search tree that violate constraints based on the priority of the directed graph.

[0040] The search unit 114 repeats the search while pruning the nodes and edges of the search tree based on the search priority set for each directed graph and the visit priority set for the mobile object, until a predetermined condition is satisfied. In the search process, the solution found by the search unit 114 is output to the constraint determination unit 116 and the evaluation unit 118, and the feasibility determination result and evaluation value are obtained as feedback, and the search is repeated.

[0041] The constraint determination unit 116 determines the feasibility of the solution based on the constraints. The evaluation unit 118 calculates an evaluation value of the solution using an objective function.

[0042] An example of the search process will be described below. The search unit 114 sets at least the search priority set for each directed graph and the positional relationship of the moving object as constraint conditions, and weights the nodes and edges of the search tree based on the violation degree calculated from the constraint conditions.

[0043] FIG. 8 is an example of weighting a search tree. FIG. 9 is an example of allocating tasks to each vehicle. This is an example of a solution in which the order of visiting work locations (nodes and edges) where tasks are located is searched for. Road inspection vehicle A is the vehicle for DG1, and road inspection vehicle B is the vehicle for DG2. The work locations for the tasks are roads C-G, signal G, signal a, roads a-c, and signal c. In addition, a work start time and work end time are allocated to each work location. From the time allocation, the time when another vehicle is present within three squares is identified.

[0044] If a work order (visit order) such as A-C-G-a-c is selected, vehicles are assigned to nodes and edges in order and tasks are performed. Due to the connectivity of the directed graph, work must be performed in order from A to A-C-G. Let's assume that the start time of a day's work is 9:00, and work begins with edge C-G. In this case, the task for edge C-G is completed, followed by the task for node G. If there are two road inspection vehicles, edge C-G in graph DG1 and node a in graph DG2 are located far apart, so work can begin without being affected by the search priority DG1 > DG2. Therefore, once the tasks for nodes a and a-c are completed, the task for node c becomes available for initiation. Here, the distance between node G in graph DG1 and node c in graph DG2 is two squares. If the constraint on the vehicle's positional relationship requires that each moving object be at least three squares apart, nodes G and c cannot be started simultaneously. Therefore, based on the search priority, the task at node G is given priority and the task at node c is scheduled to start 0.5 hours later. At this time, the waiting time of the mobile unit is defined as the violation degree, and the nodes and edges of the search tree are weighted. By weighting in this manner, a solution can be searched for that shortens the waiting time as much as possible, i.e., in a direction that improves the evaluation value. The constraint determination unit 116 determines whether the visiting order determined as the solution is feasible or not. If it is determined to be feasible, the evaluation unit 118 calculates an evaluation value for the search. If the constraint determination unit 116 determines that it is not feasible, the evaluation value is not reflected and the search tree is pruned.

[0045] When using Monte Carlo tree search as a search method for the search tree, nodes with poor evaluation values ​​are gradually less likely to be selected, which virtually reduces the search space. Other tree search methods, such as random search, can also be used. The search process repeats the above search and evaluation until a predetermined number of searches is reached or the search time has elapsed.

[0046] The output unit 120 outputs the solution with the best evaluation value within a predetermined number of searches or search time.

[0047] Next, we will explain the operation of the directed graph search device 100. Figure 10 is a flowchart showing the flow of search processing by the directed graph search device 100. The search processing is performed by the CPU 11 reading a program from the ROM 12 or storage 14, expanding it into the RAM 13, and executing it.

[0048] In step S100, the CPU 11 receives a plurality of directed graphs, mobile object information, tasks, constraints, and objective functions.

[0049] In step S102, the CPU 11 performs preprocessing by deleting a predetermined node from each directed graph, selecting a node that does not correspond to a start point, an end point, or a branch, combining two edges connected to the selected node into one edge, and deleting the node. This operation is repeated every predetermined distance.

[0050] In step S104, the CPU 11 sets a search priority for each preprocessed directed graph, and constructs a search tree by pruning nodes and edges of the search tree that violate constraints based on the search priority set for each directed graph.

[0051] In step S106, the CPU 11 searches the search tree for the visiting order based on the search priority set for each directed graph and the visiting priority set for the mobile object.

[0052] In step S108, the CPU 11 determines whether the visiting sequence obtained as a search solution is feasible or not using the constraint conditions, using the constraint determination unit 116. If it is feasible, the process proceeds to step S110, and if it is not feasible, the process proceeds to step S112.

[0053] In step S110, the CPU 11 calculates an evaluation value of the solution for each feasible search using an objective function.

[0054] In step S112, the CPU 11 prunes the nodes and edges of the search tree for the infeasible search. In this way, the search is repeatedly performed while pruning the nodes and edges of the infeasible search tree.

[0055] In step S114, the CPU 11 determines whether the search has been completed until a predetermined condition is met. As described above, the condition is until the number of searches reaches or exceeds the search time. If the condition is met, the process proceeds to step S116. If the condition is not met, the process returns to step S106 and the search is repeated.

[0056] In step S116, the CPU 11 outputs the solution with the highest evaluation value among the solutions found. Note that a plurality of higher-ranked solutions other than the solution with the highest evaluation value may also be output.

[0057] As described above, the directed graph search device 100 of this embodiment reduces the search space and enables output of a directed graph search solution within a realistic search time.

[0058] In the above embodiment, the information processing performed by the CPU after reading the software (program) may be performed by various processors other than the CPU. Examples of such processors include programmable logic devices (PLDs) whose circuit configuration can be changed after manufacture, such as field-programmable gate arrays (FPGAs), graphics processing units (GPUs), and dedicated electrical circuits, such as application-specific integrated circuits (ASICs), which are processors having a circuit configuration designed specifically for performing specific processing. Furthermore, the information processing may be performed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, a combination of a CPU and an FPGA, etc.). Furthermore, the hardware structure of these various processors is, more specifically, an electric circuit that combines circuit elements such as semiconductor elements.

[0059] In the above embodiment, the program is pre-stored (installed) in the storage 14, but the present invention is not limited to this. The program may be provided in a form stored on a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. The program may also be downloaded from an external device via a network.

[0060] The following additional notes are provided regarding the above-described embodiments.

[0061] (Supplementary Item 1) An information processing device comprising: a memory; and at least one processor connected to the memory, wherein the processor is configured to, in constructing a search tree for solving a directed graph search problem with mobile object position constraints, set a search priority for each directed graph, and prune nodes and edges of the search tree that violate constraints based on the search priority set for each directed graph, thereby constructing the search tree.

[0062] (Supplementary Item 2) A non-transitory storage medium storing a program executable by a computer to perform processing, wherein in constructing a search tree for solving a directed graph search problem with moving object position constraints, a search priority is set for each directed graph, and nodes and edges of the search tree that violate constraints are pruned based on the search priority set for each directed graph, thereby constructing the search tree.

[0063] 100 Directed graph search device (information processing device) 110 Input unit 112 Processing unit 114 Search unit 116 Constraint determination unit 118 Evaluation unit 120 Output unit

Claims

1. In constructing a search tree for solving a directed graph search problem with mobile body position constraints, a search priority is set for each directed graph, and nodes and edges of the search tree that violate the constraints are pruned based on the search priority set for each directed graph, and a processing unit that constructs the search tree. An information processing apparatus including the processing unit.

2. As a preprocessing, the processing unit repeats, for each directed graph, an operation of selecting a node that does not correspond to a start point, an end point, or a branch, combining two edges connected to the node as one edge, and deleting the node, at predetermined distances. The information processing apparatus according to claim 1.

3. Further including a search unit, the search unit repeats the search until a predetermined condition is satisfied based on the search priority set for each directed graph and the visit priority set for the mobile body. In the search, at least the positional relationship between the search priority and the mobile body is set as a constraint condition, and the nodes and edges of the search tree are weighted based on the degree of violation obtained from the constraint condition. The information processing apparatus according to claim 1.

4. Further including a constraint determination unit and an evaluation unit, the constraint determination unit determines whether the solution of the search is executable or non-executable using the constraint condition, and the evaluation unit calculates an evaluation value of the solution using an objective function for an executable search. The search unit prunes the nodes and edges of the search tree for a non-executable search. The information processing apparatus according to claim 3.

5. In constructing a search tree for solving a directed graph search problem with mobile body position constraints, a search priority is set for each directed graph, and nodes and edges of the search tree that violate the constraints are pruned based on the search priority set for each directed graph, and a search tree is constructed. An information processing method in which a computer executes the process.

6. A program for causing a computer to function as each unit of the information processing apparatus according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method, system and program for creating each movement route of multiple moving bodies

    JP2022075273A

  • Route adjustment system, route adjustment device, route adjustment method, and route adjustment program

    JP2022526546A