A method for publishing the number of range subgraphs based on differential privacy

By constructing a differentially private range tree and adding Laplace noise, the problem of privacy protection in range subgraph counting is solved, and efficient and concise privacy-preserving subgraph counting is achieved. It is suitable for multi-dimensional attribute situations and provides simple sensitivity estimation.

CN119719428BActive Publication Date: 2025-09-30UNIV OF SCI & TECH OF CHINA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411897935.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-23
Publication Date
2025-09-30
Estimated Expiration
2044-12-23

AI Technical Summary

Technical Problem

Existing range subgraph counting methods lack privacy protection, are prone to leaking individual privacy information, and cannot meet the current trend of data protection.

Method used

A range subgraph number publishing method based on differential privacy is designed. By constructing a differential privacy range tree and adding Laplace noise, privacy-preserving range subgraph counting is achieved. The method is simple, efficient and easy to deploy.

Benefits of technology

While achieving the same privacy guarantee, it has smaller actual error, runs in polynomial time, is applicable to multi-dimensional attribute situations, is concise and easy to deploy, and provides a simple estimation of subgraph count sensitivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119719428B_ABST
    Figure CN119719428B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of privacy protection technology, and discloses a method for publishing the number of range subgraphs based on differential privacy, including inputting a point attribute graph and privacy parameters; sorting the nodes in ascending order according to the value of the attribute; initializing an intermediate vector; enumerating all copies of the pattern graph in the point attribute graph; constructing a differential privacy range tree with all Euclidean space points as input; obtaining a new discretization boundary value according to the discretization range of each query; and recursively traversing the differential privacy range tree generated in step four according to the attribute range to obtain the number of copies of the pattern graph in the point attribute graph within the attribute range. The present invention can realize an efficient ε-DP method with the same additive error for the range subgraph counting problem with edge attributes through simple transformation. The method of the present invention is concise and easy to deploy, and its time complexity is consistent with that of the non-private range subgraph counting method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of privacy protection technology, and in particular to a method for publishing the number of range subgraphs based on differential privacy. Background Art

[0002] A graph is a data structure that represents objects and their relationships through a collection of nodes and edges, where nodes represent entities and edges represent relationships between entities. A graph's data structure can be an adjacency list or an adjacency matrix, and edges can be undirected or directed and can carry weights. Graph properties include connectivity, directionality, cycles, density, and sparseness; these properties determine its structure and analysis methods. Graphs have a wide range of applications, including social network analysis, network science, recommender systems, path search, computer vision, bioinformatics, and network security. They are used to analyze user relationships in social networks, study network structural characteristics in network science, provide personalized recommendations in recommender systems, find the shortest path in mapping services, process image data in computer vision, analyze biomolecular interactions in bioinformatics, and detect anomalous patterns in network security. With technological advancements, the scope of graph applications continues to expand, becoming an indispensable part of data science.

[0003] Subgraph Count is Computational Graph A certain pattern diagram Counting the occurrence of graphs (e.g., triangles, stars, etc.) is an important issue in social network mining. For example, network pattern analysis has investigated recurring and key functional patterns, such as feedforward loops, that appear in many real biological networks, such as gene regulation and metabolic networks. Subgraph counting can provide valuable insights for downstream community discovery and property analysis.

[0004] Range subgraph counting was proposed by Tao et al. to expand the concept of subgraph counting and give subgraph counting a new direction from a more practical application perspective. It also provides range subgraph counting and enumeration methods for common subgraphs, balancing space and time. Range subgraph counting considers attribute graphs, that is, each node has an attribute value. Each query A numerical range will be given, and the query content is the induced graph composed of points with attribute values ​​within this range. This method meets practical needs. Users typically query the properties of subgraphs consisting of points within a certain range, such as interpersonal relationships within a specific age range. However, this method lacks privacy protection and is prone to leaking individual privacy information, which is inconsistent with current data protection trends.

[0005] A widely accepted and robust standard for ensuring data privacy is differential privacy, developed by Dwork et al. Two adjacent graphs are considered adjacent if they differ in exactly one edge. A method is considered differentially private if it ensures that the output generated for two adjacent databases is statistically indistinguishable. The concept of differential privacy sets the standard for providing strong privacy guarantees. Within the field of privacy protection, diverse objectives have led to a variety of applications of differential privacy.

[0006] Therefore, how to design a range subgraph counting method with differential privacy properties is a problem that needs to be studied. Summary of the Invention

[0007] To address the above technical issues, this paper provides a differentially private method for publishing the number of range subgraphs, addressing the privacy protection issues inherent in range subgraph counting. Specifically, this paper designs a range subgraph counting method with differential privacy properties. First, this method strikes a good balance between privacy and practical error. Compared with other solutions to this problem, it has a smaller actual error while maintaining the same privacy guarantees. Second, this method is concise, efficient, and easy to develop and deploy.

[0008] In order to solve the above technical problems, the present invention adopts the following technical solutions:

[0009] A method for publishing the number of range subgraphs based on differential privacy, point attribute graph is an undirected graph, Each node in has a real-valued attribute vector ; For a given interval , define the query point set , and order Indicated by Induced A subgraph of ;set up { The query set includes the following steps:

[0010] Step 1: Input point attribute map and privacy parameters ,in Represents a collection of nodes, represents the edge set, Represents a set of attributes for a node; and There is a direct one-to-one mapping relationship;

[0011] Step 2: Sort the nodes in ascending order according to the attribute value; for nodes with the same attribute value, sort them according to the initial label of the node; let represents the new order, where Representing a collection ; Representing a point attribute graph The number of midpoints;

[0012] Step 3: Initialize the intermediate vector , ; Enumerate all the pattern graphs in the point attribute graph A copy of ,in, Is the current mode diagram The node with the smallest sort value among the replicas, Is the current mode diagram The node with the largest sort value among the replicas; Represent the sorted nodes respectively and nodes Serial number;

[0013] Step 4: Build a differential privacy range tree using all Euclidean space points as input ; The root node of the differential privacy range tree is , the Euclidean space points are all binary pairs , ;

[0014] Step 5: Based on each query The discretization range of , and obtain the new discretization boundary value , Is a query The left boundary value of Is a query The right boundary value of ;

[0015] Step 6: According to the attribute range Recursively traverse the differential privacy range tree generated in step 4 , obtain the pattern diagram of the point attribute diagram within the attribute range of the release The number of replicas.

[0016] Furthermore, in step 4, the differential privacy range tree is constructed using all Euclidean space points as input, specifically including the following steps:

[0017] S41, use total tuples Constructed with Range tree with root node ,in ; Each tuple weighted Euclidean space point , the first dimension is called Coordinates, the second dimension is called Coordinates; Press The coordinates of the Euclidean space points are grouped with the same The Euclidean space points of the coordinates belong to the same group;

[0018] S42, press The coordinates sort the Euclidean space points of each group, expressed as ;

[0019] S43, use Building a scope tree , only considering Coordinates, partition the first dimension by building a one-dimensional range tree; Each node of contains a one-dimensional range tree associated with the second dimension and boundary information;

[0020] S44, press Coordinate pairs The Euclidean space points covered by each node in are grouped and sorted, and a matrix containing the nodes is constructed. The corresponding scope tree in ;

[0021] S45, traversing the range tree All weights, adding independent Laplace noise ; will be The root node is the root node, which contains boundary information and ,and The range tree with Laplace noise added to the weights is called a differentially private range tree ;in ; The scale factor is , a Laplace distribution with mean 0; .

[0022] Furthermore, in step S43, the method for constructing a one-dimensional range tree specifically includes the following steps:

[0023] S431, given a set of points , where each point has a Coordinates and weights; press The coordinates sort the points, expressed as ;

[0024] S432, recursively build a tree starting from the root node, setting the interval to arrive ;

[0025] S433, tree node The corresponding interval is ,make ;

[0026] S434, point of use Recursively construct the left child node, using dot Recursively construct the right child node; if the interval contains only one point, terminate the recursion;

[0027] S435, during backtracking, calculate the weight of the current tree node as the sum of its intervals:

[0028] ;

[0029] Represents a tree node, Represents the weight of the tree node. Indicates the weight of the left child of the current tree node, Indicates the weight of the right child of the current tree node.

[0030] Further, in step 5, the The discretization range of , and obtain the new discretization boundary value , specifically including the following steps:

[0031] S51, for the left boundary , find the current The first attribute value under the mapping is not less than The node number of A mapping representing the sorting in step 2;

[0032] S52, for the right boundary , find the current The first attribute value under the mapping is not less than The node number of A mapping representing the sorting in step 2.

[0033] Furthermore, step six specifically includes:

[0034] S61, will Decompose into ranges ;Will Denoted as ; Given range and differentially private range trees ,from Start recursive query from the root node; , , , Indicates the query range boundary; for the current node, if the node is within the range Inside, use For a one-dimensional range tree Execute the query; if Located in the left child of the node, recursively query the left subtree; if If it is in the right child, recursively query the right subtree;

[0035] S62: Return the sum of the results of the left subtree and the right subtree of the root node, which is the number of ternary communities in the social network under the current attribute range.

[0036] Furthermore, in step S61, the process of executing a query on the one-dimensional range tree specifically includes the following steps:

[0037] S611, given a query range , from a one-dimensional range tree Start from the root node of ; start recursive query from the root node of T;

[0038] S612, for the current node, if the node is in the range If inside, it returns ;if lie in In the left subtree of , recursively query the left subtree; if lie in In the right subtree of , recursively query the right subtree;

[0039] S613, backtrack, add the results of the left subtree and the right subtree and return them.

[0040] Compared with the prior art, the beneficial technical effects of the present invention are:

[0041] This paper proposes the first efficient range subgraph counting method that satisfies differential privacy and has almost optimal additive error. The running time of the method is polynomial time, which has practical significance. The present invention can achieve efficient range subgraph counting with the same additive error for the range subgraph counting problem with edge attributes through simple transformation. -DP method.

[0042] The method of this invention can be extended to multi-dimensional attributes, which is common in practical applications. This property is mainly due to the scalability of differentially private range trees. Moreover, in multi-dimensional cases, the privacy and practicality of this invention are still well balanced.

[0043] The proposed method is concise and easy to deploy, with the same time complexity as non-private range subgraph counting methods. Furthermore, a simple method for estimating the sensitivity of subgraph counting in practice is provided, further enhancing its engineering application value. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 It is a schematic diagram of the overall framework of the present invention;

[0045] Figure 2 Schematic diagram of the process of constructing a two-dimensional range tree in an embodiment of the present invention. DETAILED DESCRIPTION

[0046] A preferred embodiment of the present invention will be described in detail below with reference to the accompanying drawings.

[0047] Definition of terms:

[0048] Tree: A tree is an abstract data type or a data structure that implements this abstract data type, used to simulate a data set with tree-like structure.

[0049] Euclidean space: Euclidean space is a geometric space used to describe the positions, distances, and angular relationships between points. Its dimensions range from one-dimensional lines and two-dimensional planes to three-dimensional physical spaces and even higher-dimensional mathematical abstractions. Points are represented by coordinates, and the distance between two points is calculated using Euclidean formulas. Its fundamental properties include the shortest path being a straight line, angles being defined by the angle between vectors, and the preservation of geometric properties under translation and rotation.

[0050] This paper proposes a differentially private range subgraph number publication method that can help detect the number of communities in social network graph data. Specifically, it can detect the number of ternary community relationships within a large social network, consisting of individuals with different attributes, while protecting individual privacy. The number of ternary community relationships can help detect the closeness between communities.

[0051] In this embodiment, the point attribute graph is a social network.

[0052] In this embodiment, the social network is first converted into an adjacency matrix representation. Figure 1 As shown, a subgraph is projected on a given social network, and then the intermediate vectors are output to construct a differentially private range tree. When querying, discretization is first performed, and then the differentially private range tree is traversed and calculated. Specifically, this embodiment proceeds as follows:

[0053] Step 1: Input social network with individual attributes , and privacy parameters .in represents a collection of individuals, represents a collection of relationships between individuals (such as friendships), Represents a set of individual attributes (such as age, height, weight, etc.). Privacy parameters , is a constant value used to balance privacy and practicality. The social network is converted into an adjacency matrix representation and individual attributes are stored in an array structure.

[0054] Adjacency Matrix is a The matrix of It's a social network The number of nodes in the adjacency matrix The elements in are defined as follows:

[0055] If the node and nodes There is an edge between them (edges in undirected graphs are bidirectional), then .

[0056] If the node and nodes If there is no edge between .

[0057] Step 2: Sort the nodes corresponding to all individuals in ascending order by attribute value. For nodes corresponding to individuals with the same attribute value, sort them by their initial labels. Indicates the new order. Representing a collection , store the mapping relationship in an array.

[0058] Step 3: Initialize the intermediate vector , , that is, initialize a two-dimensional array; enumerate all the ternary relationships in the entire social network, that is, the triangles of the social network graph, and calculate ,in, It is the one with the smallest sort value in the current ternary relationship copy (also called triangle copy), It has the largest sort value among the current ternary relationship copies. Represents nodes respectively and nodes The sorting value, that is, the sorted node and nodes Serial number.

[0059] Step 4: Transform the tuple The corresponding Euclidean space point As input, construct a differentially private range tree Differentially Private Range Tree The root node is , .

[0060] like Figure 2 As shown, step 4 specifically includes the following steps:

[0061] Step 4-1: Using Totals tuples Constructed with Range tree with root node ,in ; Each tuple weighted Euclidean space point , the first dimension is called Coordinates, the second dimension is called Coordinates; Press Coordinates group Euclidean space points with the same The coordinates of the Euclidean space points belong to the same group.

[0062] Step 4-2: Press Sort each group of Euclidean space points, expressed as .

[0063] Step 4-3: Use Building a scope tree , only considering Coordinates, partition the first dimension by building a one-dimensional range tree. Each node of contains a one-dimensional range tree associated with the second dimension and boundary information.

[0064] Step 4-4: For For each node in , get the points covered by the node, press The coordinates are grouped and sorted within the groups, and a list is constructed containing the nodes. One-dimensional range tree in .

[0065] Step 4-4: Traverse the two-dimensional range tree All weights, adding independent Laplace noise . Will be The root node is the root node, which contains boundary information and ,and The tree with Laplace noise added to the weights is called a differentially private range tree ;in . The scale factor is , a Laplace distribution with mean 0. Here you can set ,in is the number of individuals in the social network, that is, the size of the node set.

[0066] Figure 2 In the example, the total number of nodes n=4.

[0067] Step 5: Based on the given individual attribute value range , and obtain the new discretization boundary value ; Is a query The left boundary value of Is a query The right boundary value of .

[0068] Step 5 specifically includes the following steps:

[0069] S51, for the left boundary , find the current The first attribute value under the mapping is not less than The node number of A mapping representing the sorting in step 2;

[0070] S52, for the right boundary , find the current The first attribute value under the mapping is not less than The node number of A mapping representing the sorting in step 2.

[0071] Step 6: Based on individual attribute range , recursively traverse the differential privacy range tree generated in step 4 , the number of ternary relationships in the social network within the attribute range is published, so as to obtain the number of ternary community relationship structures in the social network under different attribute ranges.

[0072] Step 6 specifically includes the following steps:

[0073] Step 6-1: Decompose into ranges ;Will Denoted as , given and differentially private range trees ,from The root node of the recursive query starts. For the current node, if the node is in the range Inside, use For a one-dimensional range tree Execute the query (calling the one-dimensional tree query). If Located in the left child of the node, recursively query the left subtree; if If it is in the right child, recursively query the right subtree.

[0074] Preferably, in step 6-1, the process of executing a query on the one-dimensional range tree is as follows:

[0075] Step 6-1-1: Give a query scope , from a one-dimensional range tree Start from the root node of T. Start recursive search from the root node of T.

[0076] Step 6-1-2: For the current node, if the node is in the range If inside, it returns .if lie in In the left subtree of , recursively query the left subtree; if If it is in the right subtree, recursively query the right subtree.

[0077] Step 6-1-3: Backtrack, add the results of the left subtree and the right subtree and return them.

[0078] Step 6-2: Return the sum of the results of the left subtree and the right subtree of the root node, which is the number of ternary communities in the social network under the current attribute range.

[0079] Taking the ego-facebook and fbgov graph datasets as examples, we set different privacy parameter values ​​and compare the relative error sizes under different pattern graphs.

[0080] Pattern graph: The subgraph with the query number is called a pattern graph. Generally, a pattern graph is a graph with a constant number of edges, such as a triangle, a star, a complete graph, etc.

[0081] Maximum relative error: ;

[0082] All methods are implemented in Python. The experiments were run on a system with a 128-core Intel(R) Xeon(R) Platinum 8358 CPU @ 2.60GHz and 504GB RAM.

[0083]

[0084] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-limiting, and the scope of the invention is defined by the appended claims rather than the foregoing description. It is intended that all variations within the meaning and range of equivalents of the claims be embraced herein, and any reference signs in the claims should not be construed as limiting the claims to which they relate.

[0085] In addition, it should be understood that although this specification is described in terms of implementation methods, not every implementation method contains only one independent technical solution. This narrative method of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each embodiment can also be appropriately combined to form other implementation methods that can be understood by those skilled in the art.

Claims

1. A method for publishing the number of range subgraphs based on differential privacy, characterized in that: Point attribute map is an undirected graph, Each node in has a real-valued attribute vector ; For a given interval , define the query point set , and order Indicated by Induced A subgraph of ;set up { The query set includes the following steps: Step 1: Input point attribute map and privacy parameters ,in Represents a collection of nodes, represents the edge set, Represents a set of attributes for a node; and There is a direct one-to-one mapping relationship; Step 2: Sort the nodes in ascending order according to the attribute value; for nodes with the same attribute value, sort them according to the initial label of the node; let represents the new order, where Representing a collection ; Representing a point attribute graph The number of midpoints; Step 3: Initialize the intermediate vector , ; Enumerate all the pattern graphs in the point attribute graph A copy of ,in, Is the current mode diagram The node with the smallest sort value among the replicas, Is the current mode diagram The node with the largest sort value among the replicas; Represent the sorted nodes respectively and nodes Serial number; Step 4: Build a differential privacy range tree using all Euclidean space points as input , specifically including: S41, use total tuples Constructed with Range tree with root node ,in ; Each tuple weighted Euclidean space point , the first dimension is called Coordinates, the second dimension is called Coordinates; Press The coordinates of the Euclidean space points are grouped with the same The Euclidean space points of the coordinates belong to the same group; S42, press The coordinates sort the Euclidean space points of each group, expressed as ; S43, use Building a scope tree , only considering Coordinates, partition the first dimension by building a one-dimensional range tree; Each node of contains a one-dimensional range tree associated with the second dimension and boundary information; S44, press Coordinate pairs The Euclidean space points covered by each node in are grouped and sorted, and a matrix containing the nodes is constructed. The corresponding scope tree in ; S45, traversing the range tree All weights, adding independent Laplace noise ; will be The root node is the root node, which contains boundary information and ,and The range tree with Laplace noise added to the weights is called a differentially private range tree ;in ; The scale factor is , a Laplace distribution with mean 0; ; The root node of the differential privacy range tree is , the Euclidean space points are all binary pairs , ; Step 5: Based on each query The discretization range of , and obtain the new discretization boundary value , Is a query The left boundary value of Is a query The right boundary value of ; Step 6: According to the attribute range Recursively traverse the differential privacy range tree generated in step 4 , obtain the pattern diagram of the point attribute diagram within the attribute range of the release The number of replicas, including: S61, will Decompose into ranges ;Will Denoted as ; Given range and differentially private range trees ,from Start recursive query from the root node; , , , Indicates the query range boundary; for the current node, if the node is within the range Inside, use For a one-dimensional range tree Execute the query; if Located in the left child of the node, recursively query the left subtree; if If it is in the right child, recursively query the right subtree; S62: Return the sum of the results of the left subtree and the right subtree of the root node, which is the number of ternary communities in the social network under the current attribute range.

2. A method for publishing the number of range subgraphs based on differential privacy according to claim 1, characterized in that: In step S43, the method for constructing a one-dimensional range tree specifically includes the following steps: S431, given a set of points , where each point has a Coordinates and weights; press The coordinates sort the points, expressed as ; S432, recursively build a tree starting from the root node, setting the interval to arrive ; S433, tree node The corresponding interval is ,make ; S434, point of use Recursively construct the left child node, using dot Recursively construct the right child node; if the interval contains only one point, terminate the recursion; S435, during backtracking, calculate the weight of the current tree node as the sum of its intervals: ; Represents a tree node, Represents the weight of the tree node; Indicates the weight of the left child of the current tree node, Indicates the weight of the right child of the current tree node.

3. The method for publishing the number of range subgraphs based on differential privacy according to claim 1, characterized in that: In step 5, the The discretization range of , and obtain the new discretization boundary value , specifically including the following steps: S51, for the left boundary , find the current The first attribute value under the mapping is not less than The node number of A mapping representing the sorting in step 2; S52, for the right boundary , find the current The first attribute value under the mapping is not less than The node number of A mapping representing the sorting in step 2.

4. The method for publishing the number of range subgraphs based on differential privacy according to claim 1, characterized in that: In step S61, the process of executing a query on the one-dimensional range tree specifically includes the following steps: S611, given a query range , from a one-dimensional range tree Start from the root node of ; start recursive query from the root node of T; S612, for the current node, if the node is in the range If inside, it returns ;if lie in In the left subtree of , recursively query the left subtree; if lie in In the right subtree of , recursively query the right subtree; S613, backtrack, add the results of the left subtree and the right subtree and return them.