Query method and device for minimum group Steiner tree on graph data and medium
By obtaining the core vertex set and multiple rounds of partition-merge iteration, the query process of grouping Steiner trees in large-scale graph data is optimized, and the problem of slow response speed in the existing technology is solved, and the query response time and high-quality results are achieved in seconds.
Patent Information
- Application Number
- CN202510349206.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-24
- Publication Date
- 2025-07-04
AI Technical Summary
In the case where there are many query groups in large-scale graph data, the response speed of constructing the minimum group Steiner tree is slow, the query takes a long time, and the result cannot be returned within a time acceptable to the user.
By obtaining the set of core vertices and the minimum core vertices, the smallest group Steiner tree is constructed using the method of multiple rounds of division-merge iterations. The current connected block is divided into two parts of DS and X of τ:1, and a dynamic index is constructed during each round of merger, optimizing path selection to speed up the query process.
In the large group number scenario, the query time is reduced from the day level to the second level, ensuring that high-quality query results are returned within the acceptable time of the user, reducing the number of paths considered, and improving query efficiency.
Smart Images

Figure CN120256690A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of graph theory, relates to graph search technology, and provides a method, device, and medium for querying the minimum group Steiner tree on graph data. Background Art
[0002] Graph data is a common data type and has wide applications in many practical scenarios. For example, a knowledge graph is a graph data set, and the relationships between entities can be presented by the edges between nodes. The Group Steiner Tree Problem is an extension of the Steiner tree problem, and the goal is to find the minimum-cost tree that connects at least one node from each group. It is a classical combinatorial optimization problem on graphs and is often used in scenarios such as keyword search, knowledge graph summarization, and integrated circuit design.
[0003] A graph data is described by G = <V, E, w>: G is an undirected weighted graph, consisting of a vertex set V, a bidirectional edge set E, and an edge weight mapping function w: E → R 0+ For each edge e ∈ E, its edge weight is determined by the mapping function and is a non-negative real number w(e).
[0004] The query for the minimum group Steiner tree can be described in the following form: The query is a set of groups Q = {K1, K2,..., K g}, where is the i-th group in the query, g is the number of groups in the query, and i = 1, 2,..., g. For example, in the scenario of knowledge graph summarization, it is the entity description pattern EDP and the link pattern LP abstracted by the Pattern-Coverage Snippet Generation algorithm (PCSG). Each pattern is a group that contains some vertices on the knowledge graph. The number of groups g is the number of entity description patterns and link patterns solved by the PCSG algorithm. All EDPs and LPs in the graph form a query Q, which is used to describe the most representative fragments in this graph, and it is required that this fragment be as small as possible for easy understanding by users; in the scenario of integrated circuit design, some equivalent pins are a group, and a query Q is to find the lowest cost to connect these equivalent pins on the circuit. g is the number of different types of equivalent pins to be connected; in the scenario of keyword search, a group consists of the vertices corresponding to all entities containing a certain keyword, and the query Q is the most closely connected fragment that the user wants to find containing these keywords.
[0005] The query needs to return a subgraph T that satisfies:
[0006] (1) T is a connected subgraph;
[0007] (2) For any All satisfy That is, the subgraph covers at least one vertex in each group;
[0008] (3) Minimize the sum of the edge weights of the subgraph, that is, minimize ∑ e∈T w(e).
[0009] It is easy to find that there must be a tree T that satisfies the above conditions. We call this tree the minimum group Steiner tree for graph G and query Q.
[0010] This problem is an NP-hard problem, a generalization of the Steiner tree problem, equivalent to the set cover problem. Existing feasible techniques are all approximation algorithms, such as KeyKG and KeyKG+ introduced in "Keyword Search over Knowledge Graphs via Static and Dynamic Hub Labelings" (WWW'20: Proceedings of The Web Conference 2020, April 2020). However, existing techniques are basically designed based on the characteristics of "large-scale graphs, small number of group queries", and can often only handle scenarios where the number of vertices |V| is large and the number of groups g is small, which can meet the needs of classical scenarios for keyword search; when encountering scenarios where both |V| and g are large, such as knowledge graph summaries and integrated circuit designs, existing techniques have long running times and cannot respond to queries within an acceptable time. In these scenarios, it will cause users to wait a long time when using existing techniques, resulting in a poor user experience. Therefore, it is necessary to reduce the time sensitivity to the number of groups g in the technology and return query results in a shorter time. Summary of the Invention
[0011] The problem to be solved by the present invention is that in existing graph data technologies, for scenarios with a large number of query groups, the solution response speed of the minimum group Steiner tree is slow, the query takes a long time, and the query efficiency cannot meet the usage requirements.
[0012] The technical solution of the present invention is: A query method for the minimum group Steiner tree on graph data. The application scenario is given graph data G = <V, E, w>, where V is the set of graph vertices, E is the set of edges, and w is the edge weight mapping function. The user requests a group Steiner tree query, and the query group Q = {K1, K2,..., K g}, is the i-th group in the query, and g is the number of query groups. Search for the minimum group Steiner tree on the graph data:
[0013] 1) Obtain the core vertex set U of the query rAnd the smallest core vertex r: First, select the group with the fewest vertices in Q, traverse the vertices therein, calculate the sum of the minimum distances from each vertex to other groups, where the distance is the edge weight, and take the vertex with the smallest sum of minimum distances as the core vertex r. The core vertex r and the vertices in other groups with the minimum distance to the core vertex r form the core vertex set U r ;
[0014] 2) Use the core vertex set U r to perform connected component merging. Divide the current connected component into two parts D S and X in a ratio of τ:1, where τ is an empirical parameter. Add r to D during the division S , and through multiple rounds of division and merging iterations of D S and X, obtain the search result of the minimum Steiner tree and respond to the user request.
[0015] Furthermore, step 1) is specifically as follows:
[0016] 1.1) Select the group K min with the fewest vertices. If this group is not K1, swap the numbers of this group and K1;
[0017] 1.2) Enumerate the unvisited vertices v1 in K1, mark that the vertex has been visited and execute 1.3). If all vertices in K1 have been marked as visited, go to 1.6);
[0018] 1.3) Initialize the vertex set as {v1}, and initialize the sum of the edge weights of vertex v1 as 0;
[0019] 1.4) Start enumerating the group number i from 2. If the current i ≤ g, execute 1.5), otherwise go to 1.2);
[0020] 1.5) Select the point v in K i that is closest to v1, add v to the set and update the sum of the edge weights: where dist(v, v1) is the shortest distance between v and v1, then update the group number: i ← i + 1, and go to 1.4);
[0021] 1.6) Select the one with the smaller sum of edge weights from all vertices in K1 as the core vertex r. The core vertex r and the vertices in other groups with the closest distance to the core vertex r form the core vertex set U r , and return the binary tuple <U r , r>.
[0022] Furthermore, step 2) is specifically as follows:
[0023] 2.1) Initialize the vertex set V of the minimum Steiner treeT For U r , the edge set E T is an empty set. Set the set D as the representative vertex set of the current connected component, and the set D is initially U r ;
[0024] 2.2) For each vertex v ∈ V in the graph, establish and initialize the union-find set to maintain connectivity;
[0025] 2.3) When the number of elements in D is greater than 1, execute 2.4), otherwise go to 2.11);
[0026] 2.4) Randomly divide the set D into two parts D S and X according to the parameter τ, where r is added to D S , and ensure that Then let S be equal to where Set(Find(v)) is the connected component where v is located, obtained through the union-find set, and S represents all the core vertices in the connected component where the points divided into D S are located;
[0027] 2.5) Traverse each vertex in X Execute 2.6), if the traversal ends, go to 2.3);
[0028] 2.6) Find the closest pair of points <s, x> between the point set S and , and take any shortest path p between s and x;
[0029] 2.7) Scan p in the order from x to s, and intercept the sub-path p′ starting from the last point belonging to the connected block and ending at the first point belonging to the point set ; the point set represents the union of the point sets of other trees in the forest except the tree where the vertex is located;
[0030] 2.8) Update V T ←V T ∪(p ′ ∩V), E T ←E T ∪(p ′ ∩E);
[0031] 2.9) For all edges (u, v) belonging to p ′ ∩E, merge the connected component where u is located and the connected component where v is located;
[0032] 2.10) Update and go to 2.5), indicating that the vertex Delete from set D;
[0033] 2.11) Return the minimum Steiner tree T = <V T , E T .
[0034] The present invention also provides an electronic device, including a storage medium and a processor. At least one instruction or at least one program segment is stored in the storage medium. The at least one instruction or the at least one program segment is loaded and executed by the processor to implement the above-mentioned query method for the minimum Steiner tree on graph data, and to query the Steiner tree of a given graph data based on the application scenario in response to a user request.
[0035] The present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed, the above-mentioned query method for the minimum Steiner tree on graph data is implemented.
[0036] The application scenario of the present invention is particularly applicable to scenarios with a large number of vertices and a large number of query groups, such as knowledge graph summaries of large-scale multi-entity types and large-scale integrated circuit designs, and can also be downward compatible with scenarios with a small number of vertices and a small number of query groups, such as keyword searches.
[0037] The beneficial effects of the present invention are as follows:
[0038] In the prior art, when constructing the result tree, that is, when iteratively solving the minimum Steiner tree, the core vertex is often used to ensure a theoretical approximation ratio of g - 1 in the set of vertices being pointed to. Each time a connected component is merged, a new core vertex is added, and the paths connecting this vertex to the existing vertices on the tree are enumerated greedily, considering O(g) or O(n) paths. This results in the total number of paths considered reaching at least the level of O(g 2 ), so that the running time of the prior art contains a factor of O(g 2 ) or O(g 3 ), that is, the time complexity with respect to g is quadratic or cubic. This leads to a very slow running speed of the prior art when the number of query groups g reaches tens of thousands, which is quite common in scenarios with a large number of groups such as knowledge graph summaries.
[0039] The present invention proposes a new method of constructing the result tree by multi-round "partitioning" and merging iterations. First, the current connected component is divided into two parts D S and X in a ratio of τ:1 through the parameter τ. Here, τ is an empirical parameter, which can be any number greater than or equal to 1, and a number between 6 and 10 is preferred, which can ensure both the running speed and the result quality of the method. The present invention forces r to be added to D during the partitioning S , ensuring a theoretical approximation ratio of g - 1. When merging each round, D is constructed in advance SDynamic indexing, that is, constructing a point set S, and then considering each point in X to D S for merging, so as to accelerate the search for the nearest point pair of the vertexes of the point sets S and X in the connected component where they are located, for the merging of connected components. Because in each merging, the number of elements in X will become τ / (τ + 1) of the previous round, shrinking in proportion, it is easy to find that the number of iterative rounds is of the order of O(log g), and the number of operations in each round is of the order of O(g). Therefore, the method of the present invention has only an order of O(g log g) with respect to the factor of g, which is much smaller than the prior art and is sufficient to support fast queries for tens of thousands or even hundreds of thousands of sets of data. Compared with the traditional technology, the method of the present invention constructs a dynamic index in each round to consider multiple paths simultaneously, so that the total number of paths considered reaches O(g 2 ) level, while the time consumed is much lower than this level.
[0040] Aiming at the problem that the running time of the prior art for solving the approximate solution of the group Steiner tree problem in the scenario of a large number of groups is too long, the present invention reduces the solution time of most scenarios from the level of days to the level of seconds, returns a higher-quality solution within the acceptable time of users, and avoids the problem of too long or even timeout of the query response time. At the same time, the present invention is also applicable to the classical scenario and is a technology with universality. Brief Description of the Drawings
[0041] Figure 1 It is a schematic flow chart for the present invention to obtain the core vertex set U r and the smallest core vertex.
[0042] Figure 2 It is a schematic flow chart for the present invention to solve the approximate solution of the group Steiner tree problem.
[0043] Figure 3 It is a schematic diagram of the query process of the embodiment of the present invention. Detailed Embodiment
[0044] For the group Steiner tree problem in the scenario of a large number of groups on graph data, the present invention proposes a search method based on the selection of the core vertex set and multi-round "partitioning - merging" iterative construction of the result tree to quickly search for the group Steiner tree problem on graph data.
[0045] The main steps of the present invention are as follows: for a given graph and a group Steiner tree query requested by a user, first select the smallest group of the query, and search for the core vertex set starting from the smallest group; then construct connected components based on the core vertex set, and gradually merge these connected components in a multi-round iterative manner to return the result tree.
[0046] The specific implementation of the present invention is as follows. For the graph data G = <V, E, w> given in the application scenario and the query Q = {K1, K2, …, K g} of the group Steiner tree problem requested by the user, V is the set of graph vertices, E is the set of edges, w is the edge weight mapping function, and Ki is the i-th group in the query, g is the number of groups in the query. Searching for the minimum group Steiner tree on the graph data includes the following steps.
[0047] 1) Obtain the core vertex set U r of the query and the minimum core vertex r: First, select the group with the fewest vertices, traverse the vertices therein, calculate the sum of the minimum distances from each vertex to other groups, where the distance is the edge weight, and use the vertex with the minimum sum of the minimum distances as the core vertex r. The core vertex r and the vertices in other groups with the minimum distance to the core vertex r form the core vertex set U r , as Figure 1 shown.
[0048] 1.1) Select the group K min with the fewest vertices. If this group is not K1, swap the numbers of this group and K1; sorting the numbers of the groups here is for convenient sequential enumeration when enumerating the groups later.
[0049] 1.2) Enumerate the unvisited vertices v1 in K1, mark that the vertex has been visited and execute 1.3). If all vertices in the current K1 have been marked as visited, go to 1.6).
[0050] 1.3) Initialize the vertex set as {v1}, and initialize the sum of the edge weights of vertex v1 as 0.
[0051] 1.4) For each query group, start enumerating the group number i from 2. If the current i ≤ g, execute 1.5); otherwise, go to 1.2).
[0052] 1.5) Take the point v in K i that is closest to v1, add v to the set and update the sum of the edge weights: where dist(v, v1) is the shortest distance between v and v1. Update the group number: i ← i + 1, and go back to 1.4); the variable i represents the group number. When i + 1 > g, it means that all groups have been enumerated, and in the judgment of step 1.4), go back to 1.2).
[0053] 1.6) Select the one with the smaller sum of the edge weights from all vertices in K1, that is, K min , as the core vertex r. The core vertex r and the vertices in other groups with the shortest distance to the core vertex r form the core vertex set U r , and return the binary tuple <Ur , r >.
[0054] 2) Use the core vertex set U r to perform connected component merging. Divide the current connected component into two parts D S and X in the ratio of τ:1 through the parameter τ. τ is an empirical parameter, and r is added to D S during the division. Through multiple rounds of division and merging iterations of D S and X, the search result of the minimum Steiner tree is obtained, as shown in Figure 2 .
[0055] 2.1) Initialize the vertex set V T of the minimum Steiner tree to U r , and the edge set E T is an empty set. Set the set D as the representative vertex set of the current connected component, and the set D is initially U r .
[0056] 2.2) For each vertex v ∈ V in the graph, establish and initialize the union-find set to maintain connectivity.
[0057] 2.3) When the number of elements in D is greater than 1, execute 2.4), otherwise go to 2.11).
[0058] 2.4) Randomly divide the set D into two parts D S and X according to the parameter τ, where r is added to D S , and ensure that |D S | and |X| are the limitations on the number of vertices in D S and X. By limiting the size, the time complexity is guaranteed; then let S be equal to where Set(Find(v)) is the connected component where v is located, obtained through the union-find set, and S represents all the core vertices in the connected component where the points divided into D S are located.
[0059] 2.5) Traverse each vertex in X and execute 2.6). If the traversal ends, go to 2.3).
[0060] 2.6) Find the nearest point pair <s, x> between the point set S and , and take any shortest path p between s and x.
[0061] 2.7) Scan p in the order from x to s, and intercept the sub-path p′ starting from the last point belonging to the connected component and ending at the first point belonging to the point set . The result of connected component merging is a forest. Denote the connected component where the vertex is located, and the point set represents the union of the point sets of other trees in the forest except for the tree where the vertex is located.
[0062] 2.8) Update V T ←V T ∪(p ′ ∩V), E T ←E T ∪(p ′ ∩E); p ′ ∩V represents all vertices on the sub-path, and p ′ ∩E represents all edges on the sub-path.
[0063] 2.9) For all edges (u, v) belonging to p ′ ∩E, merge the connected block where vertex u is located and the connected block where vertex v is located.
[0064] 2.10) Update and go back to 2.5), which means deleting the vertex from the set D because the connected block it belongs to has been merged with other connected blocks. The set D is used to record the representative points in the current connected block. After the merge, the representative points of other connected blocks are used to represent this connected block, and is no longer needed. During this process, since the elements in D are partitioned according to τ:1, the elements in X account for 1 / (τ + 1). After being deleted, the number of elements in X will become τ / (τ + 1) of the previous round, and X shrinks proportionally, making the number of iteration rounds be of the order of O(log g), and the number of operations in each round be of the order of O(g), greatly reducing the time complexity.
[0065] 2.11) Return the minimum Steiner tree T = <V T , E T >.
[0066] The present invention is implemented through a computer program. The present invention provides an electronic device, including a storage medium and a processor. At least one instruction or at least one program segment is stored in the storage medium, and the at least one instruction or the at least one program segment is loaded and executed by the processor to implement the query method for the minimum Steiner tree on the graph data as described above, and to respond to the query for the Steiner tree of the group given the graph data in the application scenario. The present invention also provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed, the query method for the minimum Steiner tree on the graph data as described above is implemented.
[0067] The present invention is further described below in conjunction with the accompanying drawings and specific embodiments so that those skilled in the art can implement the invention with reference to the description.
[0068] Figure 3 is an example diagram of a specific implementation of the present invention. In this example, the diagram data is as follows Figure 3 As shown, the query Q is composed of four groups: K1 = {A, B}, marked by a gray background; K2 = {E, F}, marked by a black background; K3 = {D, J}, marked by a grid stripe background; K4 = {H, I}, marked by a horizontal stripe background. The number of groups g in the use scenario of the present invention can reach tens of millions. Here, in order to facilitate the implementation process of the present invention, g = 4 is taken for simple demonstration. In actual applications, the calculation and solution process can be inferred by the same logic according to this embodiment.
[0069] First, select the group with the least number of vertices. K1 itself is one of the smallest groups, so there is no need to exchange. Then enumerate the vertex A in K1, the minimum distance to other groups and W A =0.2+0.7+1.2=2.1, U A ={A,D,F,I}; Enumerate the vertex B in K1, the minimum distance to other groups and W B =2.3+2.3+3.3=7.9, U B ={B,D,E,I}. Discover W A <W B , so return r = A, U r ={A,D,F,I}.
[0070] Then through U r To iteratively construct the result tree and solve the minimum group Steiner tree. Figure 3 The points and edges belonging to the result tree are marked with bold dashed lines. Here, in order to make the example of the embodiment more intuitive, the parameter τ=1 is selected, that is, the division is performed at 1:1. In actual scenarios, it is preferred that τ is between 6 and 10.
[0071] In the first iteration, the full set D = {A, D, F, I} is divided into two sets D S = {A, I}, X = {D, F}, where D S Contains r, which is A. Then for point D, find the shortest path AD; for point F, find the shortest path IGF. Both paths here are extremely small paths that meet the conditions, so the intercepted subpath is still itself. The two connected blocks after merging are the connected block composed of A and D and the connected block composed of I, G, F, and delete the elements belonging to X from the full set.
[0072] In the second round of iteration, the full set D = {A, I} is divided into two sets DS = {A} and X = {I}. For point I, find the shortest path A - C - F - G - I. Here, it is necessary to intercept sub - paths. Starting from I, find the last - occurring point F in the path that is in the same connected component as I, and the first point A in other connected components in the result tree. Therefore, intercept the path A - C - F. After merging according to this path, there is only one connected component left, and the process ends.
[0073] In the knowledge graph abstract scenario, this invention uses the dataset in the paper "PCSG: Pattern - Coverage Snippet Generation for RDF Datasets", In: Hotho, A., et al. The Semantic Web – ISWC 2021. ISWC 2021. Lecture Notes in Computer Science (), vol 12922, with data where g >= 5000 for experiments. The results are shown in Table 1. Compared with the existing efficient approximate algorithm KeyKG +, it can be seen that the query response time of the method of this invention for user requests is at the second - level, and there is a significant improvement in the response time compared with similar methods.
[0074] Table 1
[0075]
[0076]
Claims
1. A query method for the minimum Steiner tree on graph data, characterized by applying Given a scenario of graph data G = <V, E, w>, where V is the set of graph vertices, E is the set of edges, and w is the edge weight mapping function. A user requests a group Steiner tree query, and the query group Q = {K1, K2, …, K g}, is the i-th group in the query, and g is the number of groups in the query. Search for the minimum group Steiner tree on the graph data: 1) Obtain the core vertex set U of the query r and the smallest core vertex r: First, select the group with the fewest vertices in Q, traverse the vertices therein, calculate the sum of the minimum distances from each vertex to other groups, where the distance is the edge weight, and take the vertex with the smallest sum of minimum distances as the core vertex r. The core vertex r and the vertices in other groups with the minimum distance to the core vertex r form the core vertex set U r ; 2) Utilize the core vertex set U r Perform connected component merging. Randomly divide the representative vertex set of the current connected component into two parts D S and X in the ratio of τ:1, where τ is an empirical parameter, and add r to D during the division S , and through multiple rounds of division and merging iterations of D S and X, obtain the search result of the minimum Steiner tree and respond to the user request.
2. The query method for the minimum Steiner tree on graph data according to claim 1, characterized in that Step 1) Specifically: 1.1) Select the group K with the minimum number of vertices min , if this group is not K1, then swap the numbers of this group and K1; 1.2) Enumerate the unvisited vertices v1 in K1, mark the visited vertices and execute 1.3). If all vertices in K1 are marked as visited, go to 1.6); 1.3) Initialize the vertex set as {v1}, and initialize the sum of edge weights of vertex v1 to 0; 1.4) Enumerate the group number i starting from 2. If the current i ≤ g, execute 1.5), otherwise go to 1.2); 1.5) Take K i Take the point v closest to v1 in terms of distance, and add v to the set Update the edge weights and: where dist(v, v1) is the shortest distance between v and v1, then update the group number: i ← i + 1, and go to 1.4); 1.6) Select the vertex with the smallest sum of edge weights from all vertices of K1 as the core vertex r. The core vertex r and the vertices in other groups that are closest to the core vertex r form the core vertex set U r , and return the binary tuple <U r , r>.
3. The query method for the minimum Steiner tree on graph data according to claim 1, characterized in that Step 2) Specifically: 2.1) Initialize the vertex set V of the minimum Steiner tree T as U r , the edge set E T is an empty set, set the set D as the representative vertex set of the current connected component, and the set D is initially U r ; 2.2) For each vertex v ∈ V in the graph, establish and initialize the union-find set to maintain connectivity; 2.3) When the number of elements in D is greater than 1, execute 2.4), otherwise go to 2.11); 2.4) Randomly partition the set D into two parts D S and X according to the parameter τ, where r is added to D S , and ensure that Then let S be equal to where Set(Find(v)) is the connected component where v is located, obtained through the union-find set, and S represents all the core vertices in the connected component where the points partitioned into D S are located; 2.5) Traverse each vertex in X Execute 2.6), if the traversal ends, go to 2.3); 2.6) Find the closest pair of points <s, x> between point set S and and take any shortest path p between s and x; 2.7) Scan p in the order from x to s, and intercept a sub-path p' starting from the last point belonging to the connected component and ending at the first point belonging to the point set . The point set represents the union of the point sets of other trees in the forest except for the tree where the vertex is located; 2.8) Update V T ←V T ∪(p ′ ∩V), E T ←E T ∪(p ′ ∩E); 2.9) For all edges (u, v) belonging to p ′ ∩ E, merge the connected components where u and v are located; 2.10) Update and go to 2.5), indicating to delete the vertex from the set D; 2.11) Return the minimum Steiner tree T = <V T , E T >.
4. The query method for the minimum Steiner tree on graph data according to claim 1, characterized in that The empirical parameter τ ranges from 6 to 10.
5. An electronic device, characterized in that It includes a storage medium and a processor. At least one instruction or at least one program segment is stored in the storage medium. The at least one instruction or the at least one program segment is loaded and executed by the processor to implement the query method for the minimum group Steiner tree on the graph data as described in any one of claims 1-4, and to respond to the user's request for querying the group Steiner tree based on the graph data given by the application scenario.
6. A computer-readable storage medium, characterized in that A computer program is stored on the computer-readable storage medium. When the computer program is executed, the query method for the minimum group Steiner tree on the graph data as described in any one of claims 1-4 is implemented.
Citation Information
Patent Citations
Method for determining wire lengths between nodes using a rectilinear steiner minimum tree (RSMT) with existing pre-routes algorithm
CN103930891A
Distributed keyword query method based on RDF graph
CN108959318A
Method and system for keyword search over a knowledge graph
CN113535890A
Complete optimal Steiner tree construction method based on lookup table
CN113947057A
Diffuser for dispersing scent
KR1020250136447A
Cited By
Retrieval enhancement mode linking method and device based on multi-round iteration
CN120523827A