A maximal bipartite clique enumeration method based on candidate vertex merging technique

By merging vertices within enumerated tree nodes and utilizing the maximal biclique enumeration method of candidate vertex merging technique, the problems of invalid branches and calculations in existing technologies are solved, thereby improving computational efficiency and result accuracy.

CN117349289BActive Publication Date: 2026-04-24ZHEJIANG UNIV
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG UNIV
Filing Date
2023-10-24
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing maximal biclique enumeration methods fail to effectively utilize the merging property of candidate vertices within the enumeration tree node, resulting in a large number of invalid branches and invalid calculations during the computation process, which affects efficiency.

Method used

By merging vertices with the same runtime neighbors within an enumerated tree node, invalid branches and invalid calculations are reduced. The maximal biclique enumeration method, which employs candidate vertex merging technology, includes recursively calling the BicliqueFind(L,R,C) function and performing vertex merging operations.

Benefits of technology

It improves the efficiency of maximal binary enumeration, and enhances the detection rate and speed of fraudulent transactions in e-commerce, the recommendation speed in social networks, and the accuracy of gene analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117349289B_ABST
    Figure CN117349289B_ABST
Patent Text Reader

Abstract

The application discloses a maximal bipartite clique enumeration method based on candidate vertex merging technology, obtains a bipartite graph G(U, V, E), wherein U and V are two non-intersecting vertex sets in the bipartite graph, and E is an edge set; the vertex sets U and V are selectively interchanged, and the vertices are selectively reordered; a calculation function is recursively called with U and V as initial parameters of a function; and all maximal bipartite cliques or counting results of the maximal bipartite cliques are output to a user. The application utilizes the mergable characteristics of candidate vertices in an enumeration tree node, reduces invalid branches and invalid calculation in the calculation process, and improves the efficiency of maximal bipartite clique enumeration. Meanwhile, the vertex merging technology provided by the application is applicable to other graph enumeration algorithms, and can improve the calculation efficiency of algorithms such as maximal clique enumeration and subgraph mining.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the fields of computer graph computing and data mining, and in particular relates to a maximal biclique enumeration method based on candidate vertex merging technology. Background Technology

[0002] Enumerating maximal bicliques in a bipartite graph is a fundamental problem and a hot research topic in data mining. It has wide applications in e-commerce, gene analysis, overlapping community detection, GNN information aggregation, and social relationship recommendation. Taking e-commerce as an example, users and goods constitute the two vertex sets of a bipartite graph, and the relationships between users purchasing goods constitute the edges. The behavior of a group of users simultaneously purchasing a batch of goods constitutes a bipartite clique. A maximal bipartite clique is a bipartite clique that is not completely contained within any other bipartite clique, and it best describes the purchasing behavior of a user group towards the same set of goods. By enumerating all maximal bipartite cliques in a bipartite graph, suspicious transactions, such as fraudulent order placement, can be identified.

[0003] Current maximal biclique enumeration methods primarily employ recursive algorithms based on enumeration trees. Specifically, for a bipartite graph G(U,V,E), existing methods first recursively generate the power set of the set V as the right-hand vertex set R, and then expand the right-hand vertex set R to the corresponding biclique (L,R). The algorithm enumerates all maximal bicliques and prunes non-maximal bicliques. In recent years, optimizations to maximal biclique enumeration methods have mainly included vertex sorting, pruning invalid branches, and improving parallelism. The iMBEA (improved maximal biclique enumeration algorithm) method combines backtracking and branch-and-bound methods, sorting the vertices within each node in ascending order of the number of their neighbors at runtime. The ParMBE (parallel maximalbiclique enumeration) method implements a maximal biclique enumeration algorithm with multi-CPU core parallel computation through shared memory. The PMBE (pivot-based maximal biclique enumeration) method employs a pivot-based search strategy, selecting a pivot vertex at each node to reduce invalid branches. The OoMBEA (order optimized maximalbiclique enumeration algorithm) method reorders the search order of vertices according to the one-sided order. Chinese patent document CN110175172A discloses a parallel enumeration method for maximal bicliques based on sparse bipartite graphs, including: uniform initialization task allocation and efficient task migration; and redundancy removal operations on the information content of individual tasks, storing redundant and repetitive information in a common area, with each task only querying and obtaining all parameter information during execution. However, the above method ignores the characteristic that candidate vertices within the enumeration tree nodes can be merged, thus still having significant room for improvement. Summary of the Invention

[0004] To address the shortcomings of existing technologies that neglect the mergeable characteristic of candidates within enumeration tree nodes, this invention provides a maximal bicluster enumeration method based on candidate vertex merging technology. By merging vertices with the same runtime neighbors within an enumeration tree node, invalid branches and invalid calculations are reduced, thereby improving the efficiency of maximal bicluster enumeration.

[0005] A maximal biclique enumeration method based on candidate vertex merging technology includes:

[0006] Obtain the bipartite graph G(U,V,E) to be processed, where U and V are two disjoint vertex sets in the bipartite graph, and E is the edge set; the bipartite graph is a bipartite graph composed of users and products in the e-commerce scenario, a bipartite graph composed of users and interests in the social network scenario, or a bipartite graph of genes and traits in the gene analysis scenario.

[0007] Take U, V is the initial parameter of the function, and the BicliqueFind(L,R,C) function is called recursively; the details are as follows:

[0008] 3-1. Obtain the three parameters L, R, and C corresponding to the current enumeration tree node;

[0009] 3-2. Determine if set C is empty. If yes, the function exits; otherwise, proceed to step 3-3.

[0010] 3-3. Create a copy (L',R',C') of the current enumeration tree node (L,R,C);

[0011] 3-4. Select a vertex v from set C, calculate the intersection of set L and the neighbor set of vertex v, and assign the result to L';

[0012] 3-5. Find the intersection of the neighbor sets of each element in set L', and assign the result to R';

[0013] 3-6. Determine whether R' is a subset of R∪C. If yes, proceed to step 3-7; otherwise, proceed to step 3-11.

[0014] 3-7. Divide all vertices in set C into one group;

[0015] 3-8. Using the groups obtained in step 3-7 as the initial groups, divide each group sequentially using the element u in set L'; vertices within each group are divided according to whether they are connected to u;

[0016] 3-9. Assign the vertices in set C whose neighbors intersect with L' in a non-empty set and are not L' to C', while preserving the grouping relationship;

[0017] 3-10. Output a maximal biclique (L', R'). Recursively execute the function BicliqueFind(L', R', C'), where, when assigning a copy L' to L', select a vertex v or a group of vertices from the set C' according to the grouping relations preserved in C', calculate the intersection of set L with the vertex v or the vertex neighbor set of a group, and assign the result to L';

[0018] 3-11. Based on the grouping results of step 3-8, delete all vertices in the same group as vertex v from set C, and execute step 3-2;

[0019] (4) Output the count results of all maximal cliques or maximal cliques to the user.

[0020] Furthermore, after obtaining the bipartite graph G(U,V,E) to be processed, the process also includes selectively swapping vertex sets U and V, and selectively reordering the vertices. The method for swapping vertex sets U and V is to select the set with the smaller number of vertices as V and the set with the larger number of vertices as U. The reordering is specifically to reorder the vertices in V according to the number of their neighbors in ascending order.

[0021] Furthermore, each call to the BicliqueFind(L,R,C) function generates a set of enumerated tree nodes, where (L,R) constitutes the biclique corresponding to the node, and C is a set of candidate vertices used to expand the R set to generate new nodes.

[0022] Compared with the prior art, the present invention has the following beneficial effects:

[0023] 1. This invention utilizes the characteristic that candidate vertices within an enumerated tree node can be merged to propose a maximal biclique enumeration method based on candidate vertex merging technology. This reduces invalid branches and invalid calculations in the computation process, improves the efficiency of maximal biclique enumeration, and thus improves the detection rate and speed of fraudulent order behavior in e-commerce, recommendation speed in social networks, gene analysis, and overlapping community detection speed.

[0024] 2. The vertex merging technique proposed in this invention is applicable to other graph enumeration algorithms and can improve the computational efficiency of algorithms such as maximal clique enumeration and subgraph mining. Attached Figure Description

[0025] Figure 1 This is a flowchart of the present invention;

[0026] Figure 2 This is a flowchart of the execution of the BicliqueFind(L,R,C) function in this invention;

[0027] Figure 3 This refers to the bipartite graph G0 in this embodiment of the invention.

[0028] Figure 4 This is the enumeration tree generated using vertex merging technology in this embodiment of the invention;

[0029] Figure 5 This describes the calculation process for generating node p in this embodiment of the invention;

[0030] Figure 6 This is the enumeration tree generated in this embodiment of the invention without using vertex merging technology. Detailed Implementation

[0031] like Figure 1 As shown, a maximal biclique enumeration method based on candidate vertex merging technology includes the following steps:

[0032] (1) Obtain the bipartite graph G(U,V,E), wherein the bipartite graph is a bipartite graph composed of users and products in the e-commerce scenario, a bipartite graph composed of users and interests in the social network scenario, or a bipartite graph of genes and traits in the gene analysis scenario, etc.; U and V are two disjoint vertex sets in the bipartite graph, and E is the edge set;

[0033] (2) Selectively swap the vertex sets U and V, and selectively reorder the vertices.

[0034] (3) Take U, V is the initial parameter of the function, and the BicliqueFind(L,R,C) function is called recursively. The execution flow of the BicliqueFind function is as follows: Figure 2 As shown, the details are as follows:

[0035] 3-1. Obtain the three parameters L, R, and C corresponding to the current enumeration tree node;

[0036] 3-2. Determine if set C is empty. If yes, the function exits; otherwise, proceed to step 3-3.

[0037] 3-3. Create a copy (L',R',C') of the current enumeration tree node (L,R,C);

[0038] 3-4. Select a vertex v from set C, calculate the intersection of set L and the neighbor set of vertex v, and assign the result to L';

[0039] 3-5. Find the intersection of the neighbor sets of each element in set L', and assign the result to R';

[0040] 3-6. Determine whether R' is a subset of R∪C. If yes, proceed to step 3-7; otherwise, proceed to step 3-11.

[0041] 3-7. Divide all vertices in set C into one group;

[0042] 3-8. Using the groups obtained in step 3-7 as the initial groups, divide each group sequentially using the element u in set L'; vertices within each group are divided according to whether they are connected to u;

[0043] 3-9. Assign the vertices in set C whose neighbors intersect with L' in a non-empty set and are not L' to C', while preserving the grouping relationship;

[0044] 3-10. Output a maximal biclique (L', R'). Recursively execute the function BicliqueFind(L', R', C'), where, when assigning a copy L' to L', select a vertex v or a group of vertices from the set C' according to the grouping relations preserved in C', calculate the intersection of set L with the vertex v or the vertex neighbor set of a group, and assign the result to L';

[0045] 3-11. Based on the grouping results of step 3-8, delete all vertices in the same group as vertex v from set C, and execute step 3-2;

[0046] (4) Output the count results of all maximal cliques or maximal cliques to the user.

[0047] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be noted that the embodiments described below are intended to facilitate the understanding of the present invention and do not constitute any limitation thereof.

[0048] Example 1:

[0049] Taking e-commerce as an example, companies like Alibaba can handle over 100 million transactions per day, corresponding to a bipartite graph with over 100 million edges, describing user transaction behavior. Maximal bipartite clusters best describe the bulk purchase behavior of user groups of the same product. However, some malicious merchants use order-brushing tactics, hiring a group of users to simultaneously purchase a batch of products to increase the exposure of the target product. Maximal bipartite clusters can effectively describe this type of order-brushing behavior. Therefore, by enumerating maximal bipartite clusters, we can help detect most suspicious transactions as early as possible, improving the detection rate of suspicious transactions. Specifically, a suspicious transaction detection method using a maximal bipartite cluster enumeration method based on candidate vertex merging technology includes the following steps:

[0050] As shown in step (1), the bipartite graph G0 is obtained using the maximal biclique enumeration method based on the candidate vertex merging technique. In this embodiment, the bipartite graph is a bipartite graph composed of users and goods in an e-commerce scenario, such as... Figure 3 As shown;

[0051] As shown in step (2), the enumeration tree selects the set {v1,v2,v3,v4} with fewer vertices as set V. At the same time, the vertices in V are reordered in ascending order of the number of their neighbors.

[0052] As shown in step (3), the BicliqueFind(L,R,C) function is recursively called to generate the search tree; Figure 4 The example illustrates the search tree generated using vertex merging technology in an embodiment of the present invention. Figure 4 The enumeration tree shown is U, Using V as the initial parameter of the function, the BicliqueFind function is called recursively. Taking the root node as an example, the specific steps are as follows:

[0053] 3-1. Obtain the parameter L = U corresponding to the root node. C = V;

[0054] 3-2. Determine if set C is empty; otherwise, proceed to step 3-3; if it is empty, the function exits.

[0055] 3-3. Create a copy (L',R',C') of the current enumeration tree node (L,R,C);

[0056] 3-4. Select a vertex v1 from set C, and calculate the intersection of set L and the neighbor set of vertex v1, i.e., {u1,u2,u3,u4,u5,u6}∩{u1,u2,u3}={u1,u2,u3}. Assign the value {u1,u2,u3} to L'.

[0057] 3-5. Find the intersection of the sets of neighbors of each element in set L', and assign the result to R'. In this embodiment, N(*) represents the neighbors of vertex *, and we know that R' = N(u1)∩N(u2)∩N(u3) = {v1};

[0058] 3-6. Determine whether R' is a subset of R∪C. If yes, proceed to step 3-7; otherwise, proceed to step 3-11.

[0059] 3-7. For example Figure 5 As shown, all vertices v1, v2, v3, and v4 in set C are grouped into one group;

[0060] 3-8. For example Figure 5 As shown, the groups obtained in steps 3-7 are used as the initial groups. Each group is then divided sequentially using elements u from set L'. Vertices within each group are divided based on whether they are connected to u. Specifically, based on whether C is connected to u1, the initial group {v1,v2,v3,v4} is split into two first-level groups {v1,v3,v4} and {v2}. The first-level group {v2} has only a single vertex and requires no further division. The other first-level group {v1,v3,v4} is connected to u2, so it is not divided in this step, resulting in the second-level groups {v1,v3,v4} and {v2}. Then, based on whether C is connected to u3, the second-level group {v1,v3,v4} is further split into two tertiary groups: {v1} and {v3,v4}. The final result is three groups: {v1}, {v2}, and {v3,v4}.

[0061] 3-9. Assign the vertices v2, v3, v4 in set C whose neighbors intersect with L' in a non-empty set and are not L' to C', while preserving the grouping relationship {v2}, {v3, v4}.

[0062] 3-10. Output the maximal biclique (L', R') corresponding to the next node p. Recursively execute the function BicliqueFind(L', R', C'). Specifically, when assigning a copy L' to L', select a vertex v or a vertex of a group from the set C' according to the grouping relationships preserved in C', calculate the intersection of set L with the neighbor set of vertex v or the vertex of a group, and assign the result to L'; that is, in the subtree rooted at node p, elements v3 and v4 of the same group always appear together.

[0063] 3-11. Based on the grouping results of step 3-8, delete all vertices in the same group as vertex v1 from set C, and execute step 3-2.

[0064] As shown in step (4), output the count results of all maximal bisectors or maximal bisectors that are suspicious transactions to the user.

[0065] In contrast, Figure 6 This demonstrates the maximal biclique enumeration process without employing vertex merging techniques. Through comparison... Figure 4 It can be seen that the maximal bicluster enumeration method based on vertex merging technology merges vertices v3 and v4 with the same runtime neighbor within the enumeration tree node, reducing the number of nodes such as v3 and v4. Figure 6 The invalid branches and invalid calculations corresponding to nodes w1, x1, and z1 improve computational efficiency, help detect most suspicious transactions as early as possible, and improve the detection rate and speed of suspicious transactions.

[0066] Example 2

[0067] In social network scenarios, maximal bicliques, based on bipartite graphs composed of users and their interests, maximally describe the shared interests of user groups. Maximal biclique enumeration can better assist social recommendation systems. By discovering strong connections between users, the system can recommend other users with similar interests, thereby increasing social interaction and user satisfaction. Specifically, a recommendation method for a social recommendation system utilizing maximal biclique enumeration based on candidate vertex merging technology includes the following steps:

[0068] As shown in step (1), the bipartite graph G0 is obtained using the maximal biclique enumeration method based on the candidate vertex merging technique. In this embodiment, the bipartite graph in the social network scenario is composed of users and interests.

[0069] As shown in step (2), vertex sets U and V are selectively swapped, and the vertices are selectively reordered. The method for swapping vertex sets U and V is to select the set with the smaller number of vertices as V and the set with the larger number of vertices as U; the reordering is specifically to reorder the vertices in V according to the number of their neighbors in ascending order.

[0070] As shown in step (3), with U, V is the initial parameter of the function, and the BicliqueFind(L,R,C) function is called recursively to generate a search tree;

[0071] As shown in step (4), output all maximal binary groups, i.e. user groups with the greatest similar interests and interest categories, and make mutual recommendations among users or recommend interests that the current user has not followed based on the maximal binary groups.

[0072] This invention proposes a maximal bicluster enumeration method based on vertex merging technology. This method merges vertices with the same runtime neighbors within an enumeration tree node, reducing corresponding invalid branches and invalid calculations, thereby improving computational efficiency, enhancing the recommendation speed and accuracy of social recommendation systems, and ultimately increasing social interaction and user satisfaction.

[0073] Example 3

[0074] In gene analysis, maximal diclases describe the determining role of the same set of genes in a set of traits. Enumerating maximal diclases can better help biologists understand the relationship between genes and traits. By analyzing the connection patterns between different genes, the interactions between genes and their combined effects on trait expression can be revealed. This maximal diclase-based analysis method can provide a more comprehensive and in-depth perspective on gene function research, helping scientists to further analyze protein-protein interaction networks. Specifically, a gene-trait relationship analysis method using a maximal diclase enumeration method based on candidate vertex merging technology includes the following steps:

[0075] As shown in step (1), the bipartite graph G0 is obtained using the maximal biclique enumeration method based on the candidate vertex merging technique. In this embodiment, it is a bipartite graph of genes and traits in a gene analysis scenario;

[0076] As shown in step (2), vertex sets U and V are selectively swapped, and the vertices are selectively reordered. The method for swapping vertex sets U and V is to select the set with the smaller number of vertices as V and the set with the larger number of vertices as U; the reordering is specifically to reorder the vertices in V according to the number of their neighbors in ascending order.

[0077] As shown in step (3), with U, V is the initial parameter of the function, and the BicliqueFind(L,R,C) function is called recursively to generate a search tree;

[0078] As shown in step (4), all genes and traits with the largest dichotomies, i.e. the largest connections, are output to the user.

[0079] This invention presents a maximal bicluster enumeration method based on vertex merging technology, which merges vertices with the same runtime neighbors within an enumeration tree node. This reduces corresponding invalid branches and invalid calculations, improving computational efficiency and enhancing the speed and accuracy of gene-trait relationship analysis. It helps scientists further conduct protein-protein interaction network analysis, accurately predicts the impact of gene variations on traits, and provides important guidance for disease research, genetic engineering, and other fields.

[0080] Furthermore, the method of this invention is also applicable to overlapping community detection, GNN information aggregation, etc.

[0081] The embodiments described above provide a detailed explanation of the technical solutions and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, additions, and equivalent substitutions made within the scope of the principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A maximal biclique enumeration method based on candidate vertex merging technology, characterized in that, include: Obtain the bipartite graph G(U, V, E) to be processed, where U and V are two disjoint vertex sets in the bipartite graph, and E is the edge set; the bipartite graph is a bipartite graph composed of users and products in the e-commerce scenario, a bipartite graph composed of users and interests in the social network scenario, or a bipartite graph of genes and traits in the gene analysis scenario. Take U, V is the initial parameter of the function, and the BicliqueFind(L, R, C) function is called recursively; the details are as follows: 3-1. Obtain the three parameters L, R, and C corresponding to the current enumeration tree node, where L=U, R= C=V; 3-2. Determine if set C is empty. If yes, the function exits; otherwise, proceed to step 3-3. 3-3. Create a copy (L', R', C') of the current enumeration tree node (L, R, C); 3-4. Select a vertex v from set C, calculate the intersection of set L and the neighbor set of vertex v, and assign the result to L'; 3-5. Find the intersection of the neighbor sets of each element in set L', and assign the result to R'; 3-6. Determine if R' is If it is a subset, then proceed to step 3-7; otherwise, proceed to step 3-11. 3-7. Divide all vertices in set C into one group; 3-8. Using the groups obtained in step 3-7 as the initial groups, divide each group sequentially using the element u in set L'; vertices within each group are divided according to whether they are connected to u; 3-9. Assign the vertices in set C whose neighbors intersect with L' in a non-empty set and are not L' to C', preserving the grouping relationship; 3-10. Output a maximal biclique (L', R'); recursively execute the function BicliqueFind(L', R', C'), where, when assigning a copy L'' of L', a vertex v or a vertex of a group is selected from the set C' according to the grouping relationship preserved in C', the intersection of set L with the vertex v or the vertex neighbor set of a group is calculated, and the result is assigned to L'; 3-11. Based on the grouping results of step 3-8, delete all vertices in the same group as vertex v from set C, and execute step 3-2; Output the count results of all maximal cliques or maximal cliques to the user.

2. The maximal biclique enumeration method based on candidate vertex merging technology according to claim 1, characterized in that, After obtaining the bipartite graph G(U, V, E) to be processed, the process also includes swapping the vertex sets U and V and reordering the vertices. The method for swapping the vertex sets U and V is to select the set with the smaller number of vertices as V and the set with the larger number of vertices as U. The reordering is specifically to reorder the vertices in V according to the number of their neighbors in ascending order.

3. The maximal biclique enumeration method based on candidate vertex merging technology according to claim 1, characterized in that, Each call to the BicliqueFind(L,R,C) function generates a set of enumerated tree nodes, where (L,R) constitutes the biclique corresponding to the node, and C is a set of candidate vertices used to expand the set R to generate new nodes. .

Citation Information

Patent Citations

  • Maximum bipartite cluster parallel enumeration method based on sparse bipartite graph

    CN110175172A

  • (p, q)-bipartite cluster enumeration and counting method of bipartite graph

    CN114048207A

  • Method for mining cohesive subgraph in symbol network on the basis of cluster attribute and balance theory

    WO2021212812A1