WO2019185052A1 - 用于确定两点之间的可达路径的方法、装置和系统 - Google Patents

用于确定两点之间的可达路径的方法、装置和系统 Download PDF

Info

Publication number
WO2019185052A1
WO2019185052A1 PCT/CN2019/080608 CN2019080608W WO2019185052A1 WO 2019185052 A1 WO2019185052 A1 WO 2019185052A1 CN 2019080608 W CN2019080608 W CN 2019080608W WO 2019185052 A1 WO2019185052 A1 WO 2019185052A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
node
matrix
adjacency matrix
reachable
Prior art date
Application number
PCT/CN2019/080608
Other languages
English (en)
French (fr)
Inventor
潘征
卫文娟
刘春辰
Original Assignee
日本电气株式会社
潘征
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本电气株式会社, 潘征 filed Critical 日本电气株式会社
Priority to JP2020552259A priority Critical patent/JP7156385B2/ja
Priority to US17/043,366 priority patent/US11615090B2/en
Publication of WO2019185052A1 publication Critical patent/WO2019185052A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Definitions

  • the present disclosure relates to the technical field of data mining, and more particularly to a method, apparatus and system for determining a reachable path between two points.
  • a large amount of data can be obtained through various data collection methods. By analyzing and mining data from these data, you can get a lot of useful information.
  • many application scenarios can be represented by a network structure.
  • a complex road network can use points to represent road intersections and lines to represent roads between intersections, thereby making it possible to form a traffic network map using numerous points and lines.
  • a traffic network map using numerous points and lines.
  • people and social relationships in social networks they can also be represented by network structure diagrams.
  • the present disclosure proposes a method, apparatus, and system for determining a reachable path between two points to at least partially eliminate or mitigate problems in the prior art.
  • a method for determining a reachable path between two points is provided.
  • an adjacency matrix comprising a plurality of points and a graph connecting the edges of the plurality of points may be first established, and then based on the adjacency matrix, a search for a reachable path capable of reaching the end point is performed from the starting point.
  • a termination condition for the search is set based on the already searched path, and wherein the corresponding search is terminated in response to the termination condition being satisfied in the search process.
  • an apparatus for determining a reachable path between two points may include: an adjacency matrix establishing module, a path searching module, a condition setting module, and a search termination module.
  • the adjacency matrix establishing module is configured to establish an adjacency matrix comprising a plurality of points and a map connecting edges of the plurality of points.
  • the path search module may be configured to search for a reachable path that is capable of reaching an end point based on the adjacency matrix from a starting point.
  • the condition setting module may be configured to set a termination condition for the search based on the already searched path during the searching process.
  • the search termination module can be configured to terminate the corresponding search in response to satisfying the termination condition in the search process.
  • a system for determining a reachable path between two points includes: a processor, and a memory.
  • the memory stores at least one or more computer program code, when executed by the processor, causing the processor to perform the steps of the method according to the first aspect of the present disclosure.
  • a computer readable storage medium comprising computer program code, when executed by a processor, the computer program code causing the processor to perform a The steps of the method on the one hand.
  • a computing program product comprising computer program code thereon, which when loaded into a computer device, can cause the computer device to perform the method according to the first aspect of the present disclosure step.
  • the repetition traversal can be greatly reduced by setting the termination condition for the search by monitoring the already searched path.
  • the pruning operation can also be performed prior to starting the search. In this way, the time required to search for a reachable path between two points can be further reduced, and the efficiency of the reachable path search is significantly improved.
  • FIG. 1 schematically illustrates a flow chart of a method for determining a reachable path between two points, in accordance with an embodiment of the present disclosure
  • FIG. 2A and 2B schematically illustrate schematic diagrams of example network structures and corresponding adjacency matrices in accordance with one embodiment of the present disclosure
  • 3A and 3B schematically illustrate schematic diagrams of a matrix P and a reach matrix representing adjacency matrices, in accordance with an embodiment of the present disclosure
  • 4A and 4B are respectively a schematic diagram of a network structure and an adjacency matrix before pruning, and a schematic diagram of a network structure and an adjacency matrix before pruning;
  • FIG. 5 schematically illustrates a flowchart of a particular example implementation for determining a reachable path between two points, in accordance with an embodiment of the present disclosure
  • FIGS. 6A and 6B show schematic diagrams of a depth traversal based search process and a depth traversal based search process in accordance with the present invention, in accordance with the prior art.
  • FIG. 7 schematically illustrates a block diagram of an apparatus for determining a reachable path between two points, in accordance with an embodiment of the present disclosure
  • FIG. 8 schematically illustrates a schematic diagram of a system for determining a reachable path between two points, in accordance with an embodiment of the present disclosure.
  • a navigation method based on digital road network map and depth-first traversal is proposed.
  • a digital road network map is first constructed, and then a depth-prioritized traversal is used to plan a navigation path from the departure place to the destination based on the digital road network map.
  • a directed graph is first constructed, and an adjacency matrix of the graph is established. Then for a vertex, search for its neighbor, that is, the node that can be reached from that vertex.
  • the neighbor search is continued for the newly found neighboring point, unless the newly found neighboring point is the end point or no neighboring point is found, and then the search to the upper level node is returned (if present) Time).
  • the search for a neighboring point for the newly found neighboring point the newly found neighboring point will be the new vertex, and the neighboring point of the new vertex will continue to be searched.
  • the search process continues in the depth direction until reaching the end point, returning to the search path and searching for new neighbors of the vertex, or returning to the search loop of the previous node to continue searching if no new neighbors are found.
  • a method, apparatus, and system for determining a reachable path between two points is provided to at least partially alleviate the above problems.
  • a search scheme for a reachable path between two points is proposed.
  • the reachable path that has been searched can be recorded during the search process, and the termination condition for the search is set based on this, so that the repeated traversal is reduced.
  • the original network structure can be pruned to reduce the search space.
  • the search workload is greatly reduced, and the search efficiency is significantly improved to meet the needs of practical applications.
  • the solution of the present disclosure can be widely applied to various fields such as road network search, grid node search, social network search, causal network search, and the like.
  • FIGS. 1 through 8 a method, apparatus, and system for determining a reachable path between two points according to the present disclosure will be described with reference to FIGS. 1 through 8.
  • the description is only for the purpose of illustration, and the disclosure is not limited to the details of the embodiments and the drawings.
  • FIG. 1 schematically illustrates a flow chart of a method for determining a reachable path between two points, in accordance with one embodiment of the present disclosure.
  • an adjacency matrix comprising a plurality of points and a graph connecting the edges of the plurality of points is established.
  • a complex road network can use points to represent road intersections and lines to represent roads between intersections, thereby making it possible to form a traffic network map using numerous points and lines.
  • a traffic network map can be represented using numerous points and lines.
  • people and social relationships in social networks they can also be represented by network structure diagrams. In this way, a graph comprising a plurality of nodes and connecting edges between the plurality of nodes can be formed for a specific application.
  • the adjacency matrix of the graph can be established according to the connection relationship between the nodes and the edges.
  • the adjacency matrix is an N x N matrix, where N is equal to the number of nodes in the graph.
  • the corresponding value represents the weight of the node i to the node j, which indicates whether there is a direct path from the node i to the node j. If there is a direct path from node i to node j, the weight is a value greater than 0; if node i to node j does not have a direct path, the weight should be zero.
  • the weight will be directly set to 1 in the case where there is a direct path for the node i to the node j.
  • the weight may be considered in practical applications to set other suitable non-zero values.
  • FIGS. 2A and 2B For purposes of illustration, schematic diagrams of example network structures and corresponding adjacency matrices in accordance with one embodiment of the present disclosure are schematically illustrated in FIGS. 2A and 2B.
  • node 1 to node 2 and node 3 have a direct path
  • node 2 to node 5 and 6 have a direct path
  • node 3 to node 2 and node 4 exist directly Path
  • a direct path exists from node 6 to node 7 exists from node 7 to node 5.
  • the adjacency matrix of the graph for a particular application can be determined.
  • a search is made for the reachable path that can reach the end point from the starting point.
  • a termination condition for the search is set based on the already searched path, and wherein the corresponding search is terminated in response to the termination condition being satisfied in the search process.
  • the search process is monitored, the reachable path that has been searched during the search process is recorded, and the termination condition for the search is set based on this, so that Reduce duplicate traversal.
  • the node in addition to terminating the end point as a termination condition for a search as in the prior art, the node will further be used as a node for traversing all of its paths to the end point. Terminate one of the conditions. It can be understood that when a node has traversed all its paths to the end point, if the node is reached in the next search, the subsequent search process and result will be the same, that is, repeated traversal will be performed.
  • the node By setting the node as a termination condition, it is possible to omit the repeated search after the node when the search reaches the node again, and directly reuse the previous traversal result. Moreover, as the search process progresses, the termination condition will continue to be updated. In this way, it is possible to reduce repeated traversal operations, improve search efficiency, and reduce the time required for reachable path search.
  • the judgment of the node as the termination condition other than the end point can be additionally added.
  • the corresponding search may be terminated, and the previous search result corresponding to the node is taken as the search result for the node.
  • the subsequent search is terminated, and the previous search result corresponding to the node is taken as the search result for the node. In this way, the search workload can be greatly reduced, and the search efficiency is significantly improved.
  • a node that cannot reach the end point can be removed from the adjacency matrix by a pruning operation.
  • the reach matrix of the graph can be determined from the adjacency matrix, and then the adjacency is based on the reach matrix and the determined end point.
  • the matrix is reduced.
  • the adjacency matrix may be represented by a matrix P, and then the 2nd order to N-1 order adjacency matrix of the matrix P is calculated, where N is the number of nodes in the graph.
  • the reachable matrix of the graph is then determined by adding the matrix P and the 2nd order to the N-1 order adjacency matrix. Then, according to the reachable matrix, the node in which the end point cannot be reached is determined, and the node that cannot reach the end point is removed from the adjacency matrix, thereby reducing the adjacency matrix and reducing the search space.
  • FIG. 3A Shown in FIG. 3A is a matrix P corresponding to the adjacency matrix in FIG. 2B, which represents the adjacency matrix in FIG. 2B in a mathematical matrix form. Then, the reachable matrix A can be calculated based on the matrix P, and the reachable matrix A can be expressed, for example, by the following formula:
  • P k represents the K-order matrix of P
  • K 1, 2, ... N-1.
  • the K-order matrix of P represents K P multiplications.
  • Fig. 3B shows the reachable matrix A calculated according to the above equation.
  • FIG. 4A and 4B are respectively a schematic diagram of a network structure and an adjacency matrix before pruning, and a schematic diagram of a network structure and an adjacency matrix before pruning.
  • Shown in Figure 4A is a complete network structure including seven nodes and a corresponding adjacency matrix before pruning.
  • the network structure and the adjacency matrix are pruned. For the network structure, node 4 and node 5 are taken out from the network structure, so that node 4 and node 5 are no longer included in the pruned network structure.
  • the 4th-5th row and the 4th-5th column corresponding to the node 4 and the node 5 are removed from the adjacency matrix, so that the pruned or reduced adjacency matrix no longer includes the node.
  • the subsequent search process can be performed based on the reduced adjacency matrix, so that the search space is significantly reduced as compared with the case where no pruning is performed, so that the search amount can be further reduced.
  • an adjacency matrix of the graph is first established for a topology map composed of vertices and edges (step 501). Specifically, as described in Figures 2A and 2B, an N x N matrix is established, where N is equal to the number of nodes in the graph. For the i-th row and the j-th column in the adjacency matrix, corresponding weights are set according to whether there is a direct path from the node i to the node j. If there is a direct path from node i to node j, the weight is a value greater than 0, such as 1; if node i to node j does not have a direct path, the weight is set to zero. In this way, it is possible to form an adjacency matrix of the topology map as shown in Fig. 2B.
  • a search target is determined, i.e., a reachability matrix from which node to which node to search is determined.
  • the starting node (ie the starting point) of the search is determined to start and terminate the node (ie the end point) end.
  • conditions can be further set to ensure that the start point and the end point are not the same, because there is no need for searching in this case.
  • the reachable matrix can be calculated based on the adjacency matrix.
  • the reachable matrix A is calculated according to Equation 1 above, as shown in FIG. 3B.
  • the next step is at 504, based on the pruning or reduction of the adjacency matrix.
  • the node that cannot reach the end point is determined. For example, for the case where the end point is the node 7, it can be determined based on the seventh column of the reachable matrix A, and only the node 4 and the node 5 It is impossible to reach the end point 7. Based on such determination, the rows and columns associated with node 4 and node 5 in the adjacency matrix can be correspondingly removed.
  • step 505 initialization of the parameters is performed prior to the search.
  • Three sets are set here, one is visited access set visited, which stores the nodes that have been visited; one is the path set path, which stores the searched paths; and the other is the termination condition set terminal, which is stored as The node that terminated the condition.
  • the visited collection will be set to ⁇ start ⁇ , ie it will only include the starting point, as it will be searched for next; the vertex node will also be set to start, as the next node will be searched for its starting point; Set the path to include only ⁇ start ⁇ ; set the terminal collection to include only the end point, that is, only the end point is the end condition, because the search has not started at the beginning and no additional termination conditions can be added.
  • step 506 the neighboring point v is searched for vertex, and on the first execution, vertex is set as the starting point, so the search is performed for the starting point. Then, at step 507, it is determined whether there is a neighboring point v of the vertex.
  • step 507 If it is determined in step 507 that the neighboring point v of the vertex exists, then in step 509, it is further determined whether the neighboring point v is a node in the termination condition set terminal, and if not, further determining whether the neighboring point v is in the visited set. If yes, the next adjacent point v of the vertex is searched for in step 513, and then the operation returns to step 507 to continue to the next cycle.
  • step 507 if it is determined in step 507 that the vertex does not have any neighboring points v, then vertex is added to the terminal set in step 508, the current loop search is ended, and the previous loop is returned, and if there is no upper loop, the end is ended. All searches. If it is determined in step 509 that the neighboring point v of the searched vertex is a node in the termination condition set, the search for the neighboring point of the neighboring point v is no longer performed, but the search corresponding to the neighboring point v is outputted in step 510. Path and go to step 513 to start searching for the next node of vertex.
  • step 511 If it is determined in step 511 that the search v is not in the visited node set visited, then in step 512, the searched neighbor v is set to the new vertex vertex, and v is added to the visited set and the path set path. Then look for its neighbors for the new vertex.
  • FIGS. 6A and 6B also show a schematic diagram of a depth traversal based search process according to the prior art and a depth traversal based search according to the present invention. Schematic diagram of the process.
  • the search is first started from the node 1, and after the neighbor node 2 of the node 1 is searched, the target is continued.
  • the neighboring point of the node 2 searches, and then searches for the neighboring node 5 of the node 2, and continues to search for the neighboring point of the node 5, and then after searching for the neighboring node 4 of the node 5, and then for the neighboring node 4 Adjacent point. It is found that node 4 has no neighboring points, and the node 4 is not the end point.
  • the surface searches for the path 1:1 ⁇ 1 2 ⁇ 1 2 5 ⁇ 1 2 5 4, but path 1 is not node 1 to node 7. Reachable path. Then, return to the upper level node of the node 4, that is, the node 5, and find other neighboring points of the node 5 again. At this time, it is found that there is no other neighboring point, so the node 2 is continued to return to the upper node of the node 5. Then search for other neighbors for node 2. At this time, it can be searched that node 2 has another neighboring point node 6, and then the neighboring point node 6 is taken as a new vertex, and the neighboring point for searching for node 6 is continued. At this point, the neighbor node 7 of node 6 will be searched.
  • This node 7 is the end point, so the path 2:1 ⁇ 1 2 ⁇ 1 2 6 ⁇ 1 2 6 7 is searched for at this time and it is a reachable path of node 1 to node 7.
  • the upper-level node of the return node 7, that is, the node 6 continues to search for the neighboring point of the node 6, and finds that there is no adjacent point, and then continues to return to the superior node, which is the other adjacency of the search node 2. point.
  • searching for the neighboring points of the joint 2 it is found that there are no other neighboring points except the node 5 and the node 6. At this time, it will continue to return to the upper node, node 1, and continue to search for other neighbors except node 2 for node 1.
  • node 1 By further searching for the neighbors of node 1, it will be found that node 1 still has another neighbor node 3. Similar to node 2, a node 3 neighbor search is performed. At this point, the following three paths will be traversed, namely path 3:1 ⁇ 1 3 ⁇ 1 3 2 ⁇ 1 3 2 5 ⁇ 1 3 2 5 4; path 4:1 ⁇ 1 3 ⁇ 1 3 2 ⁇ 1 3 2 6 ⁇ 1 3 2 6 7; path 5:1 ⁇ 1 3 ⁇ 1 3 4. Of these three paths, only path 4 (ie, 1 3 2 6 7) is the reachable path of node 1 to node 7.
  • Figure 6B shows a schematic diagram of a depth traversal based search process in accordance with the present invention.
  • the topology map has been pruned using the reachable matrix in accordance with the proposal in the present disclosure in FIG. 6B, so that only nodes 1, 2, 3, 6, and 7 remain in the reduced reachable matrix.
  • the search is first started from the node 1, and after the neighboring node 2 of the node 1 is searched, the adjacent point for the node 2 is continued.
  • the search will return from node 2 to the previous node, node 1.
  • the next neighboring node will be searched for node 1, at which point node 3 is searched, and then the next neighboring point of node 3 will continue to be searched, at which point node 2 will be found.
  • node 2 is already in the termination condition set, thus terminating the retrieval, directly returning the previously traversed reachable path "2 6 7" as the search result for node 2, and finally obtaining the reachable path 1 ⁇ 1 3 ⁇ 1 3 2 ⁇ 1 3 2 6 7.
  • the search continues back to the previous level, searching for other neighboring points v for node 3, and it is found that there are no neighbors.
  • node 3 can be added to the termination condition set and further returned to the level of node 1, searching for other nodes of node 1. At this point it is found that there are no other neighbors, so the search for the reachable path for node 1 to node 7 is ended.
  • the search in FIG. 6B is performed. There is no search for invalid paths in the process.
  • the retrieval is terminated when the second path 1 3 2 6 7 is reached, but the previously retrieved 2 6 7 will be directly reused. Therefore, compared with the existing search process, even for such a simple network, it is possible to reduce the repeated traversal, significantly reduce the time required to search for the reachable path between the two points, and significantly improve the efficiency of the reachable path search. Therefore, for other more complex applications, the effect of reducing repetitive traversal, shortening search time and improving search efficiency will be more significant.
  • FIG. 7 also shows a block diagram of an example apparatus 700 for determining a reachable path between two points in accordance with the present disclosure.
  • the apparatus 700 may include an adjacency matrix establishing module 701, a path searching module 702, a condition setting module 703, and a search termination module 704.
  • the adjacency matrix establishing module 701 can be configured to establish an adjacency matrix comprising a plurality of points and a graph connecting the edges of the plurality of points.
  • the path search module 702 can be configured to search for a reachable path that can reach the end point from the starting point based on the adjacency matrix.
  • the condition setting module 703 can be configured to set a termination condition for the search based on the already searched path in the search process.
  • the search termination module 704 can be configured to terminate the corresponding search in response to satisfying the termination condition in the search process.
  • the example apparatus 700 may further include a matrix reduction module 705, which may be configured to reduce the adjacency matrix to reduce A small search space in which the search process is based on a reduced adjacency matrix.
  • a matrix reduction module 705 may be configured to reduce the adjacency matrix to reduce A small search space in which the search process is based on a reduced adjacency matrix.
  • the matrix reduction module 705 may be further configured to: determine a reach matrix of the graph according to the adjacency matrix; and according to the reach matrix and the end point, The adjacency matrix is reduced.
  • the matrix reduction module 705 may be further configured to: determine a 2nd order to N-1 order adjacency matrix of the graph according to the adjacency matrix, where N is in the graph The number of nodes, and the adjacency matrix and the 2nd order to N-1 order adjacency matrix are added to determine the reachable matrix of the graph.
  • the matrix reduction module 705 may be further configured to determine a node in the reachable matrix that cannot reach the end point; and remove the end point in the adjacency matrix Nodes to form a reduced adjacency matrix.
  • condition setting module 703 may be further configured to: monitor the search process, and when traversing all paths of a certain node to the end point in the search process And setting the node to one of the termination conditions for the search.
  • the search termination module 704 may be configured to terminate the corresponding search if the node for which the neighbor search is to be performed is not the end point, and The previous search result corresponding to the node is used as a search result for the node.
  • the search termination module 704 may be configured to terminate the corresponding search if the node for which the neighbor search is to be performed is the end point, and the output has been searched A reachable path from the starting point to the end point is reached, and a search process to the upper level node is returned.
  • the path search module 702 is further configured to be a depth-first traversal-based search.
  • FIG. 8 schematically illustrates a schematic diagram of a system for determining a reachable path between two points, in accordance with an embodiment of the present disclosure.
  • a system that can implement the causality estimation of the present invention will be described with reference to FIG.
  • the computer system shown in FIG. 8 includes a CPU (Central Processing Unit) 801, a RAM (Random Access Memory) 802, a ROM (Read Only Memory) 803, a system bus 804, a hard disk controller 805, a keyboard controller 806, and a serial
  • the interface controller 807, the parallel interface controller 808, the display controller 809, the hard disk 810, the keyboard 811, the serial external device 812, the parallel external device 813, and the display 814 connected to the system bus 804 are a CPU 801, a RAM 802, a ROM 803, a hard disk controller 805, a keyboard controller 806, a serial interface controller 807, a parallel interface controller 808, and a display controller 809.
  • the hard disk 810 is connected to the hard disk controller 805, the keyboard 811 is connected to the keyboard controller 806, the serial external device 812 is connected to the serial interface controller 807, the parallel external device 813 is connected to the parallel interface controller 808, and the display 814 and the display are controlled.
  • the device 809 is connected.
  • One or more codes may be stored in the memory, the code, when executed by the computer, instructing the CPU to perform the steps of the method presented in the embodiments of the present disclosure, such as described above with reference to Figures 1 through 6. Those implementations.
  • FIG. 8 the structural block diagrams shown in FIG. 8 are only for the purpose of illustration and are not intended to limit the invention. In some cases, some of these devices can be added or subtracted as needed.
  • embodiments of the invention may be implemented in software, hardware or a combination of software and hardware.
  • the hardware portion can be implemented using dedicated logic; the software portion can be stored in memory and executed by a suitable instruction execution system, such as a microprocessor or dedicated design hardware.
  • processor control code such as a carrier medium such as a magnetic disk, CD or DVD-ROM, such as a read only memory.
  • processor control code such as a carrier medium such as a magnetic disk, CD or DVD-ROM, such as a read only memory.
  • code is provided on a programmable memory (firmware) or on a data carrier such as an optical or electronic signal carrier.
  • the apparatus of the present embodiment and its components may be implemented by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, and the like. It can also be implemented by software executed by various types of processors, or by a combination of the above hardware circuits and software such as firmware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • Operations Research (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)

Abstract

提供了一种用于确定两点之间的可达路径的方法、装置和系统。其中,用于确定两点之间的可达路径的方法,包括:首先建立包括多个点和连接多个点的边的图的邻接矩阵(101);然后基于该邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索。特别地,在搜索过程中,基于已经搜索的路径设置针对搜索的终止条件,并且其中响应于在搜索过程中满足该终止条件,终止相应的搜索(103)。利用该方法,可以大大减少重复遍历,明显缩减搜索两点之间的可达路径所需的时间,显著提高可达路径搜索的效率。

Description

用于确定两点之间的可达路径的方法、装置和系统 技术领域
本公开涉及数据挖掘的技术领域,更特别地涉及一种用于确定两点之间的可达路径的方法、装置和系统。
背景技术
在大数据时代,可以通过各种数据采集途径来获得大量的数据。通过对这些数据进行数据分析与挖掘,可以得到很多有用的信息。在现实生活中,许多应用场景都可以用网络结构来表示。例如,复杂的道路网络可以用点代表道路交叉口,用线代表交叉口之间的道路,藉此可以利用众多的点和线组成一张交通网络结构图。同样,对于社交网络中的人员和社会关系,也可以用网络结构图进行表示。
在目前的已有技术中,大量的研究集中在针对两点之间的最小路径的搜索和确定上,而对于两点之间的所有可达路径的搜索和确定方案的研究目前较少。但是这样的信息在现实中是具有实际需求和用途的。例如,对于交通网络,可能存在确定从起点出发能够到达终点的所有可能路径的需求;而对于社交网络而言,也会存在针对找到两个人之间的所有可能的关联关系的需求。
对于包括节点和边的数量众多的网络结构,利用已有的技术来查找两点之间的所有可达路径搜索效率较低,需要耗费大量时间,这不能满足应用的需求。因此,在现有技术中存在针对能够以更高效的方案来实现两点之间的可达路径搜索的需求。
发明内容
有鉴于此,本公开提出了一种用于确定两点之间的可达路径的方法、装置和系统,以至少部分上消除或者缓解现有技术中的问题。
根据本公开的第一方面,提供了一种用于确定两点之间的可达路径的方法。在该方法中,可以首先建立包括多个点和连接所述多个点的边的图的邻接矩阵,然后基于所述邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索。特别地,在所述搜索过程中,基于已经搜索的路径设置针对搜索的终止条件,并且其中响应于在所述搜索过程中满足所述终止条件,终止相应的搜索。
根据本公开的第二方面,提供了一种用于确定两点之间的可达路径的装置。该装置可以包括:邻接矩阵建立模块、路径搜索模块、条件设置模块和搜索终止模块。所述邻接矩阵建立模块被配置为建立包括多个点和连接所述多个点的边的图的邻接矩阵。所述路径搜索模块可以被配置为基于所述邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索。所述条件设置模块可以被配置为在所述搜索过程中,基于已经搜索的路径设置针对搜索的终止条件。所述搜索终止模块可以被配置为响应于在所述搜索过程中满足所述终止条件,终止相应的搜索。
根据本公开的第三方面,提供了一种确定两点之间的可达路径的系统。该系统包括:处理器,和存储器。所述存储器存储了至少一个或多个计算机程序代码,所述计算机程序代码在被所述处理器执行时,使得所述处理器执行根据本公开的第一方面所述的方法的步骤。
根据本公开的第四方面,提供了一种计算机可读存储介质,其上包括有计算机程序代码,当由处理器执行中时,所述计算机程序代码使得所述处理器执行根据本公开的第一方面的方法的步骤。
根据本公开的第五方面,提供了一种计算程序产品,其上包括有计算机程序代码,当被加载到计算机设备中时,其可以使得该计算机设备执行根据本公开的第一方面的方法的步骤。
在本公开的实施方式中,通过借助于监控已经搜索的路径,设置针对搜索的终止条件,可以大大减少重复遍历。此外,在一个优选的实施方式中,还可以在开始搜索之前执行剪枝操作。这样,可 以进一步缩减搜索两点之间的可达路径所需的时间,显著提高可达路径搜索的效率。
附图说明
通过对结合附图所示出的实施方式进行详细说明,本公开的上述以及其他特征将更加明显,本公开的附图中相同的标号表示相同或相似的部件。在附图中:
图1示意性地示出了根据本公开的一个实施方式的用于确定两点之间的可达路径的方法的流程图;
图2A和图2B示意性地示出了根据本公开的一个实施方式的示例网络结构和对应的邻接矩阵的示意图;
图3A和3B示意性地示出了根据本公开的一个实施方式的代表邻接矩阵的矩阵P和可达矩阵的示意图;
图4A和图4B分别示出了剪枝前的网络结构和邻接矩阵的示意图以及剪枝前的网络结构和邻接矩阵的示意图;
图5示意性地示出了根据本公开的一个实施方式的用于确定两点之间的可达路径的特定示例实现的流程图;
图6A和图6B示出了根据现有技术的基于深度遍历的搜索过程的示意图与根据本发明的基于深度遍历的搜索过程的示意图。
图7示意性地示出了根据本公开的一个实施方式的用于确定两点之间的可达路径的装置的方框图;以及
图8示意性地示出了根据本公开的一个实施方式的用于确定两点之间的可达路径的系统的示意图。
具体实施方式
在下文中,将参考附图详细描述本公开的各个示例性实施方式。应当注意,这些附图和描述涉及的仅仅是作为示例的优选实施方式。可以应该指出的是,根据随后的描述,很容易设想出此处公开的结构和方法的替换实施方式,并且可以在不脱离本公开要求保护的公 开的原理的情况下使用这些替代实施方式。
应当理解,给出这些示例性实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。此外在附图中,出于说明的目的,将可选的步骤、模块、模块等以虚线框示出。
在此使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
如前所述,对于包括节点和边的数量众多的网络结构,利用已有的技术来查找两点之间的所有可达路径搜索效率较低,需要耗费大量时间,这不能满足应用的需求。在下文中,出于说明的目的,将首先简要描述现有技术中搜索两点之间的可达路径的方案。
在中国专利公开CN105547308A中,提出了一种基于数字路网地图与深度优先遍历的导航方法。根据该方法,首先构建数字路网地图,然后基于数字路网地图,采用深度优先的遍历来规划出发地到目的地的导航路径。具体地,根据该专利公开中提出的技术方案,将首先构建有向图,并建立图的邻接矩阵。然后针对一个顶点,搜索其邻接点,即自该顶点能够到达的节点。一旦找到其邻接点,则继续针对新找到的邻接点进行邻接点搜索,除非新找到的邻接点是终点或者并未找到任何邻接点,此时将返回至对上一级节点的搜索(如果存在时)。关于对新找到的邻接点进行的邻接点搜索,将以新找到的邻接点为新顶点,继续搜索该新顶点的邻接点。该搜索过程在深度方向上持续,直至到达终点,返回搜索路径并搜索顶点的新邻接点,或者在找不到新邻接点的情况下,返回上一层节点的搜索循环继续搜索。
因此,在现有技术的两点之间的可达路径的搜索方案中,需要对整个网络结构进行多次遍历,而当网络中的节点和边的数目较多 时,情况将会更加严重。因而,这将造成搜索效率较低,无法满足应用的需要。
为此,在本公开的实施方式中,提供了一种用于确定两点之间的可达路径的方法、装置和系统,以便至少部分上缓解上述问题。根据本公开的实施方式,提议一种针对两点之间的可达路径的搜索方案。根据该方案,可以在搜索过程中记录已经搜索的可达路径,并基于此设置针对搜索的终止条件,以便减少重复遍历。此外,还可以对原始的网络结构进行剪枝,以减少搜索空间。由此,大大减少搜索工作量,显著提高搜索效率,从而满足实际应用的需求。本公开的方案可以广泛应用于道路网络搜索、电网节点搜索、社交网络搜索、因果网络搜索等各种领域。
在下文中,将参考图1至图8来描述根据本公开的用于确定两点之间的可达路径的方法、装置和系统。然而,需要说明的是,这些描述仅仅出于说明的目的,本公开并不局限于这些实施方式和附图中的细节。
图1示意性地示出了根据本公开的一个实施方式的用于确定两点之间的可达路径的方法的流程图。如图1所示,首先在步骤101,建立包括多个点和连接所述多个点的边的图的邻接矩阵。
如前所述,在现实生活中,许多应用场景都可以用网络结构来表示。例如,复杂的道路网络可以用点代表道路交叉口,用线代表交叉口之间的道路,藉此可以利用众多的点和线组成一张交通网络结构图。同样,对于社交网络中的人员和社会关系,也可以用网络结构图进行表示。以此方式,就可以针对特定应用,形成包括多个节点和连接多个节点之间边的图。
针对这样的图,可以根据节点和边的连接关系,来建立图的邻接矩阵。通常,该邻接矩阵为N×N矩阵,其中N等于所述图中的节点的数目。针对该邻接矩阵中的第i行第j列,其对应的值表示节点i到节点j的权重,其表示从节点i到节点j是否存在直接路径。如果从节点i到节点j存在直接路径,则该权重为大于0的值;如果节 点i到节点j没有直接路径,则该权重应为0。在本公开中,为便于说明,将针对节点i到节点j存在直接路径的情况,将权重直接设置为1。然而,需要说明的是,在实际应用中也可以考虑其他因素将其设置其他适当的非0值。
出于说明的目的,在图2A和图2B中示意性地示出了根据本公开的一个实施方式的示例网络结构和对应的邻接矩阵的示意图。
如图2A所示,示出了具有7个节点的网络,其中节点1到节点2和节点3存在直接路径;节点2到节点5和6存在直接路径;节点3到节点2和节点4存在直接路径;节点5到节点4存在直接路径;节点6到节点7存在直接路径,节点7到节点5存在直接路径。
相应地,上述方式,针对图2A的图结构,在节点i到节点j有直接路径的情况,将权重直接设置为1,而在节点i到节点j没有直接路径的情况,将权重直接设置为0。这样,可以得到图2B所示的邻接矩阵。
如图2B所述,例如针对邻接矩阵的第一行,对于节点1,由于只是节点1本身,所以不存在任何边,故将对应的权重设置为0;对于节点2和节点3,由于节点1到节点2和节点3存在直接路径,因此将其对应的权重设为1;而对于节点4、5、6和7,在图2A所示的图中并不存在节点1到这些节点的直接路径,因此将其对应的权重设置为0。这样,针对第一行,就可以得到[0110000]。类似地,对于第2行、第3行、第4行、第5行、第6行和第7行,可以分别得到[0000110]、[0101000]、[0000000]、[0001000]、[0000001]和[0000100]。以此方式,就可以确定出针对特定应用的图的邻接矩阵。
下面,返回参考图1,接着在步骤102,基于所述邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索。特别地,在所述搜索过程中,基于已经搜索的路径来设置针对搜索的终止条件,并且其中响应于在所述搜索过程中满足所述终止条件,终止相应的搜索。
因此,与现有技术中将终点作为终止条件来终止搜索不同,在 本发明中将针对搜索过程进行监控,记录搜索过程中已经搜索的可达路径,并基于此设置针对搜索的终止条件,以便减少重复遍历。具体地,在本公开中,除了如现有技术中那样将终点作为一次搜索的终止条件之外,还将进一步在针对某个节点已经遍历其到所述终点的所有路径时,将该节点作为终止条件其中之一。可以理解,针对某个节点已经遍历其到所述终点的所有路径时,如果在下次搜索中达到该节点,则之后的搜索过程和结果将是相同的,也就是说将会进行重复遍历。而通过将该节点设置为一个终止条件,则可以在搜索再次到达该节点时,省略在该节点之后的重复搜索,直接重用之前的遍历结果。而且,随着搜索过程的进行,该终止条件将持续更新。通过这种方式,就可以减少重复的遍历操作,提高搜索效率,减少可达路径搜索所需的时间。
相应地,在搜索过程中,在判断终止条件时,可以额外地增加对除终点之外的作为终止条件的节点的判断。在即将针对其进行邻接点搜索的节点为终点的情况下,可以终止所述相应的搜索,并将与所述节点对应的先前搜索结果作为针对所述节点的搜索结果。另一方面,如果即将针对其进行邻接点搜索的节点并非所述终点,则终止随后的搜索,并将与该节点对应的先前搜索结果作为针对该节点的搜索结果。以此方式,就可以大大减少搜索工作量,显著提高搜索效率,
此外,为了更进一步提高搜索效率,可选地在本公开中还提议在进行搜索之前,首先对邻接矩阵进行缩减,以减小搜索空间,如图1中的步骤103所示。例如,可以通过剪枝操作来将根本不能达到终点的节点从邻接矩阵中去除。
存在各种用来剪枝的方法,但在根据本公开的一个实施方式中,可以根据邻接矩阵,来确定所述图的可达矩阵,然后根据可达矩阵和所确定的终点,来对邻接矩阵进行缩减。例如,更具体地,可以将邻接矩阵以矩阵P进行表示,然后计算该矩阵P的2阶至N-1阶邻接矩阵,其中N是指图中的节点的数目。然后通过将该矩阵P和 2阶至N-1阶邻接矩阵相加,来确定所述图的可达矩阵。然后根据可达矩阵,确定其中不能达到终点的节点,并且从邻接矩阵中将不能达到终点的节点给去除,从而对所述邻接矩阵进行缩减,减小搜索空间。
出于说明的目的,在下文中将参考图3A至图4来描述该剪枝的过程。然而需要说明的是,这仅仅是出于说明的目的而给出的,本公开也有可能采用其他适当的剪枝算法。
图3A中示出的是与图2B中的邻接矩阵对应的矩阵P,其以数学的矩阵形式来表示图2B中的邻接矩阵。接着,可以基于矩阵P来中计算可达矩阵A,可达矩阵A例如可以以下面的式子来表示:
A=P+P 2+P 3+P 4+P 5+P 6          (式1)
其中P k表示P的K阶矩阵,K=1,2,...N-1。其中P的K阶矩阵表示K个P相乘。针对图3A中的矩阵P,图3B示出了根据上式算出的可达矩阵A。
在可达矩阵A中,A ij对应的值表示节点i到节点j是否可达。如果A ij=0则表示节点i到节点j是不可达的;否则表示节点i到节点j是可达的。在搜索节点1到节点7的可达路径的情况下,从图3B示出的可达矩阵A中可看出,A 47和A 57均为0,这意味着节点4和5无法到达终点7。基于该可达矩阵中获取的信息,可以对邻接矩阵进行剪枝,从邻接矩阵中去除节点4和5。
图4A和图4B分别示出了剪枝前的网络结构和邻接矩阵的示意图以及剪枝前的网络结构和邻接矩阵的示意图。在图4A中示出的是剪枝前的包括7个节点的完整网络结构和对应的邻接矩阵。在根据图3B中的可达矩阵确定节点4和节点5不能到达终点7之后,对该网络结构和邻接矩阵进行剪枝。对于该网络结构而言,从网络结构中取出了节点4和节点5,这样,剪枝后的网络结构中就不再包括节点4和节点5。而对于邻接矩阵而言,将从该邻接矩阵中去除与节点 4和节点5对应的第4-5行和第4-5列,这样经过剪枝或者缩减后的邻接矩阵就不再包括与节点4和节点5相关的行和列,如图4B所示。
这样,随后的搜索过程就可以基于经过缩减的邻接矩阵进行,因而与不进行剪枝的情况相比,搜索空间被显著减小,从而可以进一步减小搜索量。
为了使得本领域技术人员能够更加深入地了解本公开中提议的方案,在下面将参考图5来描述根据本公开的一个实施方式的用于确定两点之间的可达路径的特定示例实现。
参考图5所示,首先针对由顶点和边组成的拓扑图,建立该图的邻接矩阵(步骤501)。具体地,如图2A和图2B所描述的那样,建立N×N矩阵,其中N等于所述图中的节点的数目。针对该邻接矩阵中的第i行第j列,根据从节点i到节点j是否存在直接路径来设置相应的权重。如果从节点i到节点j存在直接路径,则将该权重为大于0的值,诸如1;如果节点i到节点j没有直接路径,则将该权重设置为0。以此方式,就能够形成如图2B所示的拓扑图的邻接矩阵。
接下来,在步骤502,确定搜索目标,即确定是要搜索从哪个节点到哪个节点的可达矩阵。换句话说,确定搜索的起始节点(即起点)start和终止节点(即终点)end。同时,还可以进一步设置条件来确保起点与终点不相同,这是因为在这种情况下并没有搜索的必要。
然后,在步骤503,可以基于邻接矩阵来计算可达矩阵。具体地,可以如图3A和图3B所示,首先将邻接矩阵以矩阵P来表示,然后计算矩阵P的K阶邻接矩阵,其中K=1,...N-1。然后,基于矩阵P的K阶邻接矩阵,按照上面的式1来计算可达矩阵A,如图3B所示。
下一个步骤是在504,基于可局针对邻接矩阵进行剪枝或者缩减。如前面所述,根据图3B所示的可达矩阵,确定出不能到达终点的节点,例如对于终点为节点7的情况,可以基于可达矩阵A的第7列确定,只有节点4和节点5是不能到达终点7。基于这样的确定, 可以相应的将邻接矩阵中与节点4和节点5相关的行和列去除。
接着,在步骤505,在搜索之前,执行参数的初始化设置。在此设置了三个集合,一个是以访问节点集合visited,其中存储已经访问过的节点;一个是路径集合path,其中存储已经搜索到的路径;还有一个是终止条件集合terminal,其中存储作为终止条件的节点。此外,还有一个顶点变量vertex,其中指示当前正在针对其进行邻接点搜索的顶点。在初始设置时,将将visited集合设置为{start},即其中仅包括起点,因为接下来将针对其进行搜索;将vertex节点也设置为start,因为接下来将针对start节点搜索其邻接点;将path设置为仅仅包括{start};将terminal集合设置为仅仅包括终点,即仅仅终点是结束条件,这是因为初始时还没有开始进行搜索,无法添加额外的终止条件。
接下来,在步骤506,针对vertex搜索其邻接点v,第一次执行时,vertex被设置为起点,因此针对起点进行搜索。然后,在步骤507,确定是否存在该vertex的邻接点v。
如果在步骤507确定存在该vertex的邻接点v,则在步骤509进一步判断,该邻接点v是不是终止条件集合terminal中的节点,如果不是,则进一步判断该邻接点v是不是在visited集合中,如果是则在步骤513搜索vertex的下一个邻接点v,然后操作返回至步骤507,继续下一个循环。
另一方面,如果在步骤507确定该vertex不存在任何邻接点v,则在步骤508将vertex加入terminal集合中,结束当前循环的搜索,返回上一级循环,若无上一级循环,则结束所有搜索。如果在步骤509判断搜索到的vertex的邻接点v是终止条件集合中的节点,则不再针对该邻接点v的邻接点进行搜索,而是在步骤510输出与该邻接点v对应的已搜索路径,并转到步骤513,开始搜索vertex的下一个节点。如果在步骤511中判断搜索到v并不在已访问节点集合visited中,则在步骤512,将搜索到的邻接点v设置为新的顶点vertex,并将v添加到visited集合和路径集合path中,然后针对新的vertex, 寻找其邻接点。
从图5中示出的特定实现可以看出,在上述搜索过程中在搜索到一个顶点的邻接点之后,将针对该邻接点继续在深度方向上进行检索,直至完成该邻接点所有搜索以后,才会进行该顶点的其他邻接点。因此,这是一种可以基于深度优先遍历的搜索。然而,需要说明的是,本发明的方案事实上也可以是应用于其他方式的搜索,诸如广度优先遍历。此外,在该流程图中给出的实现,仅仅是本公开中提出的方案的一个示例。在实际实现时,可以对其进行各种修改。
为了说明本公开的方案与现有技术中的方案的不同之处,图6A和图6B还示出了根据现有技术的基于深度遍历的搜索过程的示意图与根据本发明的基于深度遍历的搜索过程的示意图。
如图6A所示,根据现有技术,针对确定从节点1至节点7的可达路径的情况,则首先从节点1出发进行搜索,在搜索到节点1的邻接点节点2后,继续针对该节点2的邻接点进行搜索,然后搜索到节点2的邻接点节点5后,继续对节点5的邻接点进行搜索,接着后在搜索到节点5的邻接点节点4后,再针对邻接点节点4的邻接点。结果发现节点4没有邻接点,而且该节点4也并非是终点,此时表面搜索到路径1:1→1 2→1 2 5→1 2 5 4,但路径1并不是节点1到节点7的可达路径。然后,返回到节点4的上一级节点,即节点5,再次寻找节点5的其他邻接点,此时发现并没有没有其他邻接点,因此继续返回节点5的上一级节点,节点2。接着针对节点2搜索其他邻接点。此时,可以搜索到节点2存在另一邻接点节点6,随后将邻接点节点6作为新的顶点,继续对针对节点6搜索其邻接点。此时,将会搜索到节点6的邻接点节点7。该节点7是终点,因此此时搜索到路径2:1→1 2→1 2 6→1 2 6 7,并且其是一条节点1到节点7的可达路径。类似地,返回节点7的上一级节点,即节点6,继续搜索节点6的邻接点,结果发现并没有任何邻接点,接下来将继续返回上级节点,节点2,即搜索节点2的其他邻接点。通过对 接点2的邻接点搜索,结果发现已经不存在除节点5和节点6的其他邻接点。这时将会继续返回上一级节点,节点1,并针对节点1继续搜索除节点2之外的其他邻接点。
通过进一步针对节点1的邻接点搜索,将会发现节点1还存在另一邻接点节点3。与节点2类似,执行针对节点3邻接点搜索。此时将会遍历后面的三条路径,即路径3:1→1 3→1 3 2→1 3 2 5→1 3 2 5 4;路径4:1→1 3→1 3 2→1 3 2 6→1 3 2 6 7;路径5:1→1 3→1 3 4。而在这三条路径中,仅仅路径4(即1 3 2 6 7)是节点1到节点7的可达路径。
从图6A中的搜索过程可以看出,在现有技术的情况下,对于路径1和路径3存在针对2 5 4的重复遍历,而对于路径2和路径4存在针对2 6 7的遍历。此外,路径1,路径3和路径5都是没有找到可达路径的无效遍历。因此,搜索所需时间较长,且搜索效率较低。
图6B示出了根据本发明的基于深度遍历的搜索过程的示意图。在图6B中已经根据本公开中的提议,利用可达矩阵对拓扑图进行了剪枝,因此缩减后的可达矩阵中仅仅剩下节点1、2、3、6和7。在这种情况下,针对确定从节点1至节点7的可达路径的情况,则首先从节点1出发进行搜索,在搜索到节点1的邻接点节点2后,继续针对该节点2的邻接点进行搜索,然后搜索到节点2的邻接点节点6后,继续对节点6的邻接点进行搜索,接着会搜索到节点6的邻接点节点7,该节点7是终点,因此搜索终止,得到路径1:1→1 2→1 2 6→1 2 6 7,并且路径1是节点1到节点7的可达路径。接下来,从节点7逐级返回上一级节点,搜索节点6、2的其他邻接点,结果发现都不存在。在完成搜索节点6和2的搜索后,可以将节点6和节点2均放在终止条件集合中。最后在节点2没有其他任何邻接点后,将搜索将从节点2返回上一级节点,即节点1。接着,将针对节点1搜索下一个相邻节点,此时搜索到节点3,然后继续搜索节点3的下一个邻接点,此时将找到节点2。此时,将会发现节点2已经在终止条件集合中,因此终止检索,直接将先前遍历的可达路径“2  6 7”作为针对节点2的搜索结果返回,最终得到可达路径1→1 3→1 3 2→1 3 2 6 7。搜索继续返回至上一级,针对节点3搜索其他邻接点v,结果发现并没有任何的邻接点。此时,可以将节点3加入终止条件集合中并且进一步返回到节点1的级别,搜索节点1的其他节点。此时发现没有任何其他邻接点,因此结束针对节点1到节点7的可达路径的搜索。
从图6A和图6B的搜索过程可以看出,在本公开提出的用于确定两点之间的可达路径的方案中,由于事先对网络和邻接矩阵进行剪枝,所以在图6B的搜索过程中并不存在没有对无效路径的搜索。同时,由于基于搜索过程设置了额外的终止条件,所以针对第二条路径1 3 2 6 7在达到节点2时即终止检索,而是将直接重用之前的检索的2 6 7。因此,与现有搜索过程相比,即便针对这样一个简单的网络,也能够减少重复遍历,明显缩减搜索两点之间的可达路径所需的时间,显著提高可达路径搜索的效率。因此,对于其他更为复杂的应用,减少重复遍历、缩短搜索时间和提高搜索效率的效果将更加显著。
图7还示出了根据本公开的用于确定两点之间的可达路径的示例装置700的方框图。如图7所示,装置700可以包括:邻接矩阵建立模块701、路径搜索模块702、条件设置模块703和搜索终止模块704。邻接矩阵建立模块701可以被配置为建立包括多个点和连接所述多个点的边的图的邻接矩阵。路径搜索模块702可以被配置为基于所述邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索。条件设置模块703可以被配置为在所述搜索过程中,基于已经搜索的路径设置针对搜索的终止条件。搜索终止模块704可以被配置为响应于在所述搜索过程中满足所述终止条件,终止相应的搜索。
在根据本公开的一个实施方式中,所述示例装置700还可以包括矩阵缩减模块705,所述矩阵缩减模块705可以被配置为在进行所述搜索之前,对所述邻接矩阵进行缩减,以减小搜索空间,其中 所述搜索过程基于经过缩减的邻接矩阵进行。
在根据本公开的另一实施方式中,所述矩阵缩减模块705可以进一步被配置为:根据所述邻接矩阵,确定所述图的可达矩阵;以及根据所述可达矩阵和所述终点,对所述邻接矩阵进行缩减。
在根据本公开的又一实施方式中,所述矩阵缩减模块705可以被进一步配置为:根据所述邻接矩阵确定所述图的2阶至N-1阶邻接矩阵,其中N为所述图中的节点数目,以及将所述邻接矩阵和所述2阶至N-1阶邻接矩阵相加,以确定所述图的可达矩阵。
在根据本公开的再一实施方式中,所述矩阵缩减模块705可以被进一步配置为确定所述可达矩阵中不能到达所述终点的节点;以及在所述邻接矩阵中去除不能到达所述终点的节点,以形成经过缩减的邻接矩阵。
在根据本公开的再一实施方式中,所述条件设置模块703可以被进一步配置为:监视所述搜索过程,以及当在所述搜索过程中已遍历某个节点到所述终点的所有路径时,将所述节点设置为针对搜索的所述终止条件其中之一。
在根据本公开的一个实施方式中,所述搜索终止模块704可以被配置为:在即将针对其进行邻接点搜索的节点并非所述终点的情况下,则终止所述相应的搜索,并将与所述节点对应的先前搜索结果作为针对所述节点的搜索结果。
在根据本公开的另一实施方式中,所述搜索终止模块704可以被配置为:在即将针对其进行邻接点搜索的节点为所述终点的情况下,终止所述相应的搜索,输出已经搜索到的从所述起点至所述终点之间的可达路径,并且返回至对上一级节点的搜索过程。
在根据本公开的另一实施方式中,所述路径搜索模块702被进一步配置为可以是基于深度优先遍历的搜索。
需要说明的是,上面参考图7所描述的装置700中的各个模块可以被配置为执行与参考图1至图6所描述的方法相对应的操作。因此,此处不再详细描述装置700的各个模块的具体操作。关于这 些模块的具体操作的细节,可以参考结合图1至图6针对相应方法的各个步骤进行的描述。
图8示意性地示出了根据本公开的一个实施方式的用于确定两点之间的可达路径的系统的示意图。下面,将参考图8来描述可以实现本发明的因果关系估计的系统。
图8中所示的计算机系统包括CPU(中央处理单元)801、RAM(随机存取存储器)802、ROM(只读存储器)803、系统总线804、硬盘控制器805、键盘控制器806、串行接口控制器807、并行接口控制器808、显示器控制器809、硬盘810、键盘811、串行外部设备812、并行外部设备813和显示器814。在这些部件中,与系统总线804相连的有CPU 801、RAM 802、ROM 803、硬盘控制器805、键盘控制器806、串行接口控制器807、并行接口控制器808和显示器控制器809。硬盘810与硬盘控制器805相连,键盘811与键盘控制器806相连,串行外部设备812与串行接口控制器807相连,并行外部设备813与并行接口控制器808相连,以及显示器814与显示器控制器809相连。
在存储器中可以存储一个或多个代码,所述代码在被所述计算机执行时,指示所述CPU执行在本公开的实施方式中提出的方法的步骤,例如前面参考图1至图6所描述的那些实施方式。
需要说明的是,图8所述的结构方框图仅仅为了示例的目的而示出的,并非是对本发明的限制。在一些情况下,可以根据需要添加或者减少其中的一些设备。
可以理解的是,在本公开提出的方案可以在制药、制造、市场分析、交通预测、天气预测、空气质量预测等各种应用中使用,以获得有益效果。
此外,本发明的实施方式可以以软件、硬件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。
本领域的普通技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供这样的代码。
本实施方式的装置及其组件可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
虽然已经参考目前考虑到的实施方式描述了本发明,但应该理解本发明不限于所公开的实施方式。相反,本发明旨在涵盖所附权利要求书的精神和范围内所包括的各种修改和等同布置。所附权利要求书的范围符合最广泛解释,以包含所有这样的修改及等同结构和功能。

Claims (20)

  1. 一种用于确定两点之间的可达路径的方法,包括:
    建立包括多个点和连接多个点的边的图的邻接矩阵;以及
    基于所述邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索,
    其中在所述搜索过程中,基于已经搜索的路径设置针对搜索的终止条件,并且其中响应于在所述搜索过程中满足所述终止条件,终止相应的搜索。
  2. 根据权利要求1所述的方法,还包括:
    在进行所述搜索之前,对所述邻接矩阵进行缩减,以减小搜索空间,其中所述搜索过程基于经过缩减的邻接矩阵进行。
  3. 根据权利要求2所述的方法,其中对所属邻接矩阵进行缩减包括:
    根据所述邻接矩阵,确定所述图的可达矩阵;以及
    根据所述可达矩阵和所述终点,对所述邻接矩阵进行缩减。
  4. 根据权利要求3所述的方法,其中根据所述邻接矩阵,确定所述图的可达矩阵包括:
    根据所述邻接矩阵确定所述图的2阶至N-1阶邻接矩阵,其中N为所述图中的节点数目,以及
    将所述邻接矩阵和所述2阶至N-1阶邻接矩阵相加,以确定所述图的可达矩阵。
  5. 根据权利要求3或4所述的方法,其中根据所述可达矩阵和所述终点,对所述邻接矩阵进行缩减包括:
    确定所述可达矩阵中不能到达所述终点的节点;以及
    在所述邻接矩阵中去除不能到达所述终点的节点,以形成经过缩减的邻接矩阵。
  6. 根据权利要求1至4其中任一项所述的方法,其中基于已经搜索的路径设置针对搜索的终止条件进一步包括:
    监视所述搜索过程,以及
    当在所述搜索过程中已遍历某个节点到所述终点的所有路径时,将所述节点设置为针对搜索的所述终止条件其中之一。
  7. 根据权利要求1至4其中任一项所述的方法,其中响应于在所述搜索过程中满足所述终止条件,终止相应的搜索包括:
    在即将针对其进行邻接点搜索的节点并非所述终点的情况下,终止所述相应的搜索,并将与所述节点对应的先前搜索结果作为针对所述节点的搜索结果。
  8. 根据权利要求1至4其中任一项所述的方法,其中响应于在所述搜索过程中满足所述终止条件,终止相应的搜索包括:
    在即将针对其进行邻接点搜索的节点为所述终点的情况下,终止所述相应的搜索,输出已经搜索到的从所述起点至所述终点之间的可达路径,并且返回至对上一级节点的搜索过程。
  9. 根据权利要求1至4所述的方法,其中从起点出发针对能够到达终点的可达路径进行搜索是基于深度优先遍历进行的搜索。
  10. 一种用于确定两点之间的可达路径的装置,包括:
    邻接矩阵建立模块,被配置为建立包括多个点和连接所述多个点的边的图的邻接矩阵;
    路径搜索模块,被配置为基于所述邻接矩阵,从起点出发针对能够到达终点的可达路径进行搜索;
    条件设置模块,被配置为在所述搜索过程中,基于已经搜索的路径设置针对搜索的终止条件;以及
    搜索终止模块,被配置为响应于在所述搜索过程中满足所述终止条件,终止相应的搜索。
  11. 根据权利要求10所述的装置,还包括矩阵缩减模块,所述矩阵缩减模块被配置为:
    在进行所述搜索之前,对所述邻接矩阵进行缩减,以减小搜索空间,其中所述搜索过程基于经过缩减的邻接矩阵进行。
  12. 根据权利要求11所述的装置,其中所述矩阵缩减模块被 进一步配置为:根据所述邻接矩阵,确定所述图的可达矩阵;以及根据所述可达矩阵和所述终点,对所述邻接矩阵进行缩减。
  13. 根据权利要求12所述的装置,其中所述矩阵缩减模块被进一步配置为:
    根据所述邻接矩阵确定所述图的2阶至N-1阶邻接矩阵,其中N为所述图中的节点数目,以及
    将所述邻接矩阵和所述2阶至N-1阶邻接矩阵相加,以确定所述图的可达矩阵。
  14. 根据权利要求12或13所述的装置,其中所述矩阵缩减模块被进一步配置为:
    确定所述可达矩阵中不能到达所述终点的节点;以及
    在所述邻接矩阵中去除不能到达所述终点的节点,以形成经过缩减的邻接矩阵。
  15. 根据权利要求10至13其中任一项所述的装置,其中所述条件设置模块被进一步配置为:
    监视所述搜索过程,以及
    当在所述搜索过程中已遍历某个节点到所述终点的所有路径时,将所述节点设置为针对搜索的所述终止条件其中之一。
  16. 根据权利要求10至13其中任一项所述的装置,其中所述搜索终止模块被进一步配置为:
    在即将针对其进行邻接点搜索的节点并非所述终点的情况下,终止所述相应的搜索,并将与所述节点对应的先前搜索结果作为针对所述节点的搜索结果。
  17. 根据权利要求10至13其中任一项所述的装置,其中所述搜索终止模块被进一步配置为:
    在即将针对其进行邻接点搜索的节点为所述终点的情况下,终止所述相应的搜索,输出已经搜索到的从所述起点至所述终点之间的可达路径,并且返回至对上一级节点的搜索过程。
  18. 根据权利要求10至13所述的装置,其中所述路径搜索模 块被进一步配置为基于深度优先遍历进行搜索。
  19. 一种用于确定两点之间的可达路径的系统,包括:
    处理器;以及
    存储器,其中存储有计算机程序代码,所述计算机程序代码在被所述处理器执行时,使得所述处理器执行根据权利要求1至9其中任一项所述的方法。
  20. 一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被处理器执行时,使得所述处理器执行根据权利要求1至9其中任一项所述的方法。
PCT/CN2019/080608 2018-03-30 2019-03-29 用于确定两点之间的可达路径的方法、装置和系统 WO2019185052A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020552259A JP7156385B2 (ja) 2018-03-30 2019-03-29 2つのノード間の到達可能なパスを決定するための方法、装置及びシステム
US17/043,366 US11615090B2 (en) 2018-03-30 2019-03-29 Method, apparatus and system for determining accessible paths between two nodes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810276329.9A CN110319845B (zh) 2018-03-30 2018-03-30 用于确定两点之间的可达路径的方法、装置和系统
CN201810276329.9 2018-03-30

Publications (1)

Publication Number Publication Date
WO2019185052A1 true WO2019185052A1 (zh) 2019-10-03

Family

ID=68059493

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/080608 WO2019185052A1 (zh) 2018-03-30 2019-03-29 用于确定两点之间的可达路径的方法、装置和系统

Country Status (4)

Country Link
US (1) US11615090B2 (zh)
JP (1) JP7156385B2 (zh)
CN (1) CN110319845B (zh)
WO (1) WO2019185052A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214647A (zh) * 2020-10-12 2021-01-12 北京同心尚科技发展有限公司 超级节点处理方法、装置、电子设备和可读存储介质
KR20220046467A (ko) * 2020-10-07 2022-04-14 고려대학교 산학협력단 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법
CN117236540A (zh) * 2023-09-25 2023-12-15 国网四川电力送变电建设有限公司 输电线路施工道路的规划方法、装置、设备及介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112683287A (zh) * 2019-10-18 2021-04-20 上海商汤临港智能科技有限公司 路径生成方法及装置、电子设备和存储介质
CN110956015B (zh) * 2019-12-04 2023-08-01 北京华大九天科技股份有限公司 一种检查双重图形制造约束的方法
US11556370B2 (en) * 2020-01-30 2023-01-17 Walmart Apollo, Llc Traversing a large connected component on a distributed file-based data structure
CN111275975B (zh) * 2020-02-28 2021-04-02 清华大学 一种交叉口转向流量数据的获取方法、装置和存储介质
CN111832844A (zh) * 2020-07-31 2020-10-27 上海同普电力技术有限公司 一种agv最短路径规划方法、装置及计算机可读存储介质
CN111947676B (zh) * 2020-08-11 2021-04-30 上海寻梦信息技术有限公司 快递路径规划方法、装置、电子设备以及存储介质
CN114386138B (zh) * 2021-12-09 2023-03-28 五邑大学 建筑物分间方法、电子设备及计算机存储介质
CN116366524B (zh) * 2023-05-31 2023-08-04 天翼云科技有限公司 一种基于内容分发网络的路径计算方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125882A (ja) * 1999-10-29 2001-05-11 Yoichi Aono ダイクストラ法
CN105547308A (zh) * 2015-11-03 2016-05-04 中兴软创科技股份有限公司 基于数字路网地图与深度优先遍历的导航方法与装置
CN106441338A (zh) * 2016-11-28 2017-02-22 西安电子科技大学 基于路链的路径规划方法
CN106840188A (zh) * 2017-02-23 2017-06-13 济南浪潮高新科技投资发展有限公司 一种路径规划方法和装置
CN107121146A (zh) * 2017-06-02 2017-09-01 西安电子科技大学 基于路链深度的最优路径规划方法
CN107276896A (zh) * 2016-11-24 2017-10-20 北京交通大学 改进迪杰斯特拉算法的两点间最短路径搜索方法

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3232962B2 (ja) 1994-08-31 2001-11-26 日本電信電話株式会社 経路選択方法および装置
US5577030A (en) 1995-08-31 1996-11-19 Nippon Telegraph And Telephone Corporation Data communication routing method and device
CA2381471A1 (en) * 2001-05-07 2002-11-07 Andreas Wagner System and method for reconstructing pathways in large genetic networks from genetic perturbations
US6941236B2 (en) * 2003-03-31 2005-09-06 Lucent Technologies Inc. Apparatus and methods for analyzing graphs
KR100920966B1 (ko) * 2008-01-29 2009-10-09 연세대학교 산학협력단 인접행렬을 이용하여 최소 길이의 폐구간을 이루는노드들을 검출하는 프로그램이 저장된 매체
US8554464B2 (en) * 2008-04-30 2013-10-08 K-Nfb Reading Technology, Inc. Navigation using portable reading machine
KR101047108B1 (ko) 2008-11-19 2011-07-06 한국과학기술정보연구원 인용 네트웍을 이용한 핵심 문헌 추출 및 시각화 시스템 및방법
CN101944095B (zh) * 2009-07-08 2012-09-12 广东瑞图万方科技股份有限公司 路径搜索方法和系统
JP5506538B2 (ja) * 2010-05-21 2014-05-28 日本電信電話株式会社 経路計算方法及び装置及びプログラム
GB201011062D0 (en) * 2010-07-01 2010-08-18 Univ Antwerpen Method and system for using an information system
JP5467060B2 (ja) * 2011-01-06 2014-04-09 日本電信電話株式会社 並列資源探索方法及び装置及びプログラム
US9379971B2 (en) * 2012-05-11 2016-06-28 Simula Inovation AS Method and apparatus for determining paths between source/destination pairs
US9306841B2 (en) * 2012-11-05 2016-04-05 Cisco Technology, Inc. Enabling dynamic routing topologies in support of real-time delay traffic
CN103855707B (zh) * 2014-02-20 2017-04-19 深圳供电局有限公司 一种含分布式电源配电网的供电可靠性评估方法
CN103995954A (zh) * 2014-04-08 2014-08-20 中国矿业大学 基于邻接矩阵的节点匹配模型及进化求解方法
CN104266656B (zh) * 2014-09-03 2017-06-06 清华大学 用于道路网的最短路径搜索方法及装置
WO2016129078A1 (ja) * 2015-02-12 2016-08-18 三菱電機株式会社 経路選択装置及び経路選択プログラム
CN105547316B (zh) * 2015-12-28 2018-09-04 北京握奇智能科技有限公司 一种浮动车车载终端的路径搜索方法及系统
US9436760B1 (en) * 2016-02-05 2016-09-06 Quid, Inc. Measuring accuracy of semantic graphs with exogenous datasets
US9558265B1 (en) * 2016-05-12 2017-01-31 Quid, Inc. Facilitating targeted analysis via graph generation based on an influencing parameter
US9710544B1 (en) * 2016-05-19 2017-07-18 Quid, Inc. Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents
US9787705B1 (en) * 2016-08-19 2017-10-10 Quid, Inc. Extracting insightful nodes from graphs
US10109055B2 (en) * 2016-11-21 2018-10-23 Seiko Epson Corporation Multiple hypotheses segmentation-guided 3D object detection and pose estimation
US11706127B2 (en) * 2017-01-31 2023-07-18 Vmware, Inc. High performance software-defined core network
US9911211B1 (en) * 2017-04-13 2018-03-06 Quid, Inc. Lens-based user-interface for visualizations of graphs
CN107404437B (zh) * 2017-07-25 2018-05-18 广东工业大学 一种报文的路径确定方法及装置
US10540054B2 (en) * 2017-09-20 2020-01-21 Matterport, Inc. Navigation point selection for navigating through virtual environments
US11636327B2 (en) * 2017-12-29 2023-04-25 Intel Corporation Machine learning sparse computation mechanism for arbitrary neural networks, arithmetic compute microarchitecture, and sparsity for training mechanism
US20190286504A1 (en) * 2018-03-15 2019-09-19 Ca, Inc. Graph-based root cause analysis

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125882A (ja) * 1999-10-29 2001-05-11 Yoichi Aono ダイクストラ法
CN105547308A (zh) * 2015-11-03 2016-05-04 中兴软创科技股份有限公司 基于数字路网地图与深度优先遍历的导航方法与装置
CN107276896A (zh) * 2016-11-24 2017-10-20 北京交通大学 改进迪杰斯特拉算法的两点间最短路径搜索方法
CN106441338A (zh) * 2016-11-28 2017-02-22 西安电子科技大学 基于路链的路径规划方法
CN106840188A (zh) * 2017-02-23 2017-06-13 济南浪潮高新科技投资发展有限公司 一种路径规划方法和装置
CN107121146A (zh) * 2017-06-02 2017-09-01 西安电子科技大学 基于路链深度的最优路径规划方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220046467A (ko) * 2020-10-07 2022-04-14 고려대학교 산학협력단 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법
KR102635546B1 (ko) 2020-10-07 2024-02-13 고려대학교 산학협력단 기계 학습을 통한 심볼릭 실행의 탐색 공간 자동 축소 방법
CN112214647A (zh) * 2020-10-12 2021-01-12 北京同心尚科技发展有限公司 超级节点处理方法、装置、电子设备和可读存储介质
CN112214647B (zh) * 2020-10-12 2023-10-27 北京同心尚科技发展有限公司 超级节点处理方法、装置、电子设备和可读存储介质
CN117236540A (zh) * 2023-09-25 2023-12-15 国网四川电力送变电建设有限公司 输电线路施工道路的规划方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110319845B (zh) 2024-01-09
US20210097079A1 (en) 2021-04-01
US11615090B2 (en) 2023-03-28
CN110319845A (zh) 2019-10-11
JP7156385B2 (ja) 2022-10-19
JP2021519461A (ja) 2021-08-10

Similar Documents

Publication Publication Date Title
WO2019185052A1 (zh) 用于确定两点之间的可达路径的方法、装置和系统
US9870631B1 (en) Multiple reference point shortest path algorithm
WO2021098400A1 (zh) 一种必经结点最短路径搜索方法
US8903824B2 (en) Vertex-proximity query processing
CN112364213A (zh) 一种基于图数据库的电网检索方法及系统
CN109163722B (zh) 一种仿人机器人路径规划方法及装置
CN110543728B (zh) 一种城市交通路网关键路口发现方法
JP2011007713A (ja) 多点対間最短経路探索方法およびシステム
CN110909961B (zh) 基于bim的室内路径查询方法及装置
US10191998B1 (en) Methods of data reduction for parallel breadth-first search over graphs of connected data elements
CN107276896B (zh) 改进迪杰斯特拉算法的两点间最短路径搜索方法
US8738559B2 (en) Graph partitioning with natural cuts
WO2018184305A1 (zh) 基于社交网络的群组查找方法、装置、服务器和存储介质
Sariyuce et al. Incremental algorithms for network management and analysis based on closeness centrality
JP5506711B2 (ja) 類似ノード検索装置及び方法及びプログラム
WO2021248937A1 (zh) 一种基于差分隐私的地理分布式图计算方法及系统
CN116129648A (zh) 一种路网拥堵关键节点识别方法、设备、介质
WO2023103320A1 (zh) 建筑物分间方法、电子设备及计算机存储介质
CN113537605B (zh) 一种排水线路的确定方法、系统及装置
Lin et al. Computing the diameters of huge social networks
KR100920966B1 (ko) 인접행렬을 이용하여 최소 길이의 폐구간을 이루는노드들을 검출하는 프로그램이 저장된 매체
CN104516995A (zh) 网络流图缩减方法和装置
CN114826678B (zh) 一种基于渗流过程和进化计算的网络传播源定位方法
KR102156621B1 (ko) Gis의 직선도 자동 생성 장치 및 방법
CN115130424B (zh) 一种多层pcb板自动布线方法、装置、设备及介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19777934

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020552259

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 19777934

Country of ref document: EP

Kind code of ref document: A1