<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">59201</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2024.059201</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Dynamic Social Network Graph Anonymity Scheme with Community Structure Protection</article-title>
<alt-title alt-title-type="left-running-head">A Dynamic Social Network Graph Anonymity Scheme with Community Structure Protection</alt-title>
<alt-title alt-title-type="right-running-head">A Dynamic Social Network Graph Anonymity Scheme with Community Structure Protection</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Hao</surname><given-names>Yuanjing</given-names></name></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Wang</surname><given-names>Xuemin</given-names></name></contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Chang</surname><given-names>Liang</given-names></name><email>changl@guet.edu.cn</email></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Li</surname><given-names>Long</given-names></name></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Zhang</surname><given-names>Mingmeng</given-names></name></contrib>
<aff>
<institution>Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology</institution>, <addr-line>Guilin, 541004</addr-line>, <country>China</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Liang Chang. Email: <email>changl@guet.edu.cn</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2025</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>17</day><month>02</month><year>2025</year>
</pub-date>
<volume>82</volume>
<issue>2</issue>
<fpage>3131</fpage>
<lpage>3159</lpage>
<history>
<date date-type="received">
<day>30</day>
<month>9</month>
<year>2024</year>
</date>
<date date-type="accepted">
<day>26</day>
<month>11</month>
<year>2024</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 The Authors.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_59201.pdf"></self-uri>
<abstract>
<p>Dynamic publishing of social network graphs offers insights into user behavior but brings privacy risks, notably re-identification attacks on evolving data snapshots. Existing methods based on <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mi>k</mml:mi></mml:math></inline-formula>-anonymity can mitigate these attacks but are cumbersome, neglect dynamic protection of community structure, and lack precise utility measures. To address these challenges, we present a dynamic social network graph anonymity scheme with community structure protection (DSNGA-CSP), which achieves the dynamic anonymization process by incorporating community detection. First, DSNGA-CSP categorizes communities of the original graph into three types at each timestamp, and only partitions community subgraphs for a specific category at each updated timestamp. Then, DSNGA-CSP achieves intra-community and inter-community anonymization separately to retain more of the community structure of the original graph at each timestamp. It anonymizes community subgraphs by the proposed novel <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition method and anonymizes inter-community edges by edge isomorphism. Finally, a novel information loss metric is introduced in DSNGA-CSP to precisely capture the utility of the anonymized graph through original information preservation and anonymous information changes. Extensive experiments conducted on five real-world datasets demonstrate that DSNGA-CSP consistently outperforms existing methods, providing a more effective balance between privacy and utility. Specifically, DSNGA-CSP shows an average utility improvement of approximately 30% compared to TAKG and CTKGA for three dynamic graph datasets, according to the proposed information loss metric <italic>IL</italic>.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Dynamic social network graph</kwd>
<kwd><italic>k</italic>-composition anonymity</kwd>
<kwd>community structure protection</kwd>
<kwd>graph publishing</kwd>
<kwd>security and privacy</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Natural Science Foundation of China</funding-source>
<award-id>U22A2099</award-id>
</award-group>
<award-group id="awg2">
<funding-source>Innovation Project of Guangxi Graduate Education</funding-source>
<award-id>YCBZ2023130</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>With the rise of online social network platforms (e.g., Google, Twitter, and Facebook), people can interact and make friends with other like-minded people. During the interaction, the network-centric graph data is formed. The data mining and data analysis of social networks for third parties can yield rich and accurate information such as users&#x2019; interests. However, the original social network graph often contains users&#x2019; sensitive information (e.g., hobbies, relationships, and profiles). Directly releasing the real graph data jeopardizes the users&#x2019; privacy, as Ferri et al. pointed out in [<xref ref-type="bibr" rid="ref-1">1</xref>], 90% of users are concerned about their sensitive information being leaked. For instance, malicious adversaries can obtain users&#x2019; private information by identifying unique identifiers (e.g., names) that represent their identities. Therefore, it is crucial to anonymize users&#x2019; identities and their edge relationships before publishing the social network graphs [<xref ref-type="bibr" rid="ref-2">2</xref>].</p>
<p>The common anonymization methods mainly consist of clustering generalization [<xref ref-type="bibr" rid="ref-3">3</xref>], graph editing [<xref ref-type="bibr" rid="ref-4">4</xref>], and differential privacy [<xref ref-type="bibr" rid="ref-5">5</xref>&#x2013;<xref ref-type="bibr" rid="ref-7">7</xref>]. The clustering generalization divides all nodes in the original graph into multiple groups and anonymizes nodes in each group. The graph editing achieves the anonymization of the original graph by modifying nodes and edges randomly. The differential privacy perturbs the original graph by adding the appropriate noisy nodes/edges. However, these methods primarily concentrate on the anonymization of static graphs. Social network graphs are evolving over time, with new nodes, edges, and changing relationships between users. This evolution introduces a unique challenge, i.e., the original graph at each timestamp is anonymized independently using a static graph anonymization method. Although the nodes and edges in each anonymized graph are protected, adversaries with strong background knowledge can still perform differential analysis on the sequence of published anonymized graphs, allowing them to re-identify nodes or infer sensitive relationships. For instance, if an adversary has access to a sequence of anonymized graphs over a period of time and knows that a specific user was added at a certain timestamp, he/she can compare the anonymized graph at the last timestamp with that at the current timestamp to re-identify the identity of the newly introduced node (see adversary model in <xref ref-type="sec" rid="s3_1">Section 3.1</xref> for more details).</p>
<p>Therefore, to achieve effective dynamic anonymization of social network graphs, we need to solve the following challenges:</p>
<p>i) <bold>Complicated and cumbersome anonymization process.</bold> Existing researches [<xref ref-type="bibr" rid="ref-8">8</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>] mitigate re-identification attacks on evolving graph snapshots using clustering generalization, that is, nodes are grouped at each timestamp and connected within groups to meet <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>k</mml:mi></mml:math></inline-formula>-anonymity, and edges between groups are anonymized in an isomorphic way. However, this method needs to continually re-cluster groups at each timestamp, which is complicated and cumbersome.</p>
<p>ii) <bold>Dynamic protection of community structures.</bold> Existing methods neglect the dynamic protection of community structures [<xref ref-type="bibr" rid="ref-10">10</xref>,<xref ref-type="bibr" rid="ref-11">11</xref>], focusing only on nodes and edges, which reduces the utility of anonymized graphs. For instance, people cluster by interests, and these communities change over time with shifting interests [<xref ref-type="bibr" rid="ref-12">12</xref>]. Without dynamic protection of community structures, anonymized graph structures can diverge from the original, leading to low utility.</p>
<p>iii) <bold>Precise measure of graph utility.</bold> Using a single metric cannot fully represent the utility of an anonymized graph. Most researchers often use multiple metrics to assess how closely the anonymized graph resembles the original, but these metrics only capture differences from a single perspective.</p>
<p>To address the above challenges, we propose DSNGA-CSP, a dynamic social network graph anonymity scheme with community structure protection. At each updated timestamp, DSNGA-CSP categorizes communities based on changes in the original graph and only partitions community subgraphs for a specific category, avoiding redundant operations. Intra-community nodes and edges are anonymized using a novel <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method, while inter-community edges are anonymized using edge isomorphism. DSNGA-CSP protects nodes&#x2019; identities, edge relationships, and community structure at each timestamp, simultaneously. To measure utility more accurately, we propose an information loss metric based on original information preservation and anonymous information changes. Extensive experiments evaluate DSNGA-CSP on both static and dynamic graphs. Results show that DSNGA-CSP improves the utility of anonymized static graphs and outperforms other methods in terms of privacy and utility for anonymized dynamic graphs.</p>
<p>The main contributions are as follows:</p>
<p>1) A dynamic graph anonymization scheme (DSNGA-CSP) is proposed, which protects nodes&#x2019; identities and edge relationships in the original graph for each timestamp, and it achieves the dynamic protection of original graph structures.</p>
<p>2) A novel <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method is proposed, which achieves <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism of each community subgraph, and the edge relationships between communities achieve isomorphic anonymity.</p>
<p>3) A new information loss metric is proposed to measure the utility of anonymized dynamic graphs from two perspectives, and it is more accurate than other similar alternatives.</p>
<p>4) All experiments are completed on multiple real datasets, and the measured results demonstrate the effectiveness of DSNGA-CSP.</p>
<p>The remaining parts of this paper are organized as follows: <xref ref-type="sec" rid="s2">Section 2</xref> presents related work. <xref ref-type="sec" rid="s3">Section 3</xref> gives preliminaries. <xref ref-type="sec" rid="s4">Section 4</xref> introduces the proposed DSNGA-CSP scheme in detail. <xref ref-type="sec" rid="s5">Section 5</xref> presents the experimental comparison and analysis. <xref ref-type="sec" rid="s6">Section 6</xref> discusses the implications and limitations of our work. <xref ref-type="sec" rid="s7">Section 7</xref> gives the conclusion and future work.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Works</title>
<p>In this section, we review related works on privacy-preserving static graph anonymity, privacy-preserving dynamic graph anonymity, and community structure protection. We summarize these works in a literature review matrix table (<xref ref-type="table" rid="table-1">Table 1</xref>, which provides a comparison of the main techniques, key features, and limitations.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Literature review matrix table</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
<col align="left"/>
</colgroup>
<thead>
<tr>
<th>Category</th>
<th>Method</th>
<th>Technique</th>
<th>Key features</th>
<th>Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>TKDA [<xref ref-type="bibr" rid="ref-13">13</xref>]</td>
<td><inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree</td>
<td>Dynamically modify edges using depth-first traversal</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Greedy partition-based aggregating [<xref ref-type="bibr" rid="ref-14">14</xref>]</td>
<td><inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree</td>
<td>Add edges to increase node degrees</td>
<td>Vulnerable to structural subgraph attacks</td>
</tr>
<tr>
<td>Static graph anonymity</td>
<td><inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mi>k</mml:mi></mml:math></inline-formula>-NeuroSVM [<xref ref-type="bibr" rid="ref-15">15</xref>]</td>
<td>Neural networks, SVM, <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree</td>
<td>Add reasonable noise nodes into divided groups to meet anonymity requirement</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Graph isomorphism [<xref ref-type="bibr" rid="ref-16">16</xref>]</td>
<td><inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism</td>
<td>Ensure the indistinguishability of each node&#x2019;s neighborhood subgraph</td>
<td>Remove all edges between isomorphic subgraphs</td>
</tr>
<tr>
<td></td>
<td>GPPS [<xref ref-type="bibr" rid="ref-17">17</xref>]</td>
<td><inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism</td>
<td>Ensure the isomorphism of each node&#x2019;s 1-neighborhood subgraph</td>
<td></td>
</tr>
<tr>
<td></td>
<td><inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>&#x03B2;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-18">18</xref>]</td>
<td><inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree, <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism</td>
<td>Resist the combination attack</td>
<td></td>
</tr>
<tr>
<td></td>
<td>Graph automorphism [<xref ref-type="bibr" rid="ref-19">19</xref>]</td>
<td><inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism</td>
<td>Retain more original edges between isomorphic subgraphs</td>
<td>Limited privacy protection</td>
</tr>
<tr>
<td>Dynamic graph anonymity</td>
<td>DSNDG-KIODA [<xref ref-type="bibr" rid="ref-20">20</xref>]</td>
<td><inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree</td>
<td>Achieve nodes&#x2019; degree anonymization corresponding to each timestamp</td>
<td>Cumbersome anonymization process</td>
</tr>
<tr>
<td></td>
<td><inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>l</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>-sad [<xref ref-type="bibr" rid="ref-8">8</xref>], <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:msup><mml:mi>k</mml:mi><mml:mi>w</mml:mi></mml:msup></mml:math></inline-formula>-tad [<xref ref-type="bibr" rid="ref-9">9</xref>]</td>
<td>Clustering generalization, <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree, <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:mi>l</mml:mi></mml:math></inline-formula>-diversity</td>
<td>Protect users&#x2019; identities and their sensitive attributes</td>
<td></td>
</tr>
<tr>
<td>Community structure protection</td>
<td>PrivCom [<xref ref-type="bibr" rid="ref-10">10</xref>]</td>
<td>Node-DP</td>
<td>Maximally preserve the community structure using Katz index-based graph feature extraction</td>
<td>Ineffective for dynamic protection</td>
</tr>
<tr>
<td></td>
<td>CPGAN [<xref ref-type="bibr" rid="ref-11">11</xref>]</td>
<td>Generative adversarial networks (GAN)</td>
<td>Effectively process large graphs</td>
<td></td>
</tr>
<tr>
<td></td>
<td><inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mi>k</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula>-safety [<xref ref-type="bibr" rid="ref-21">21</xref>]</td>
<td><inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mi>k</mml:mi></mml:math></inline-formula>-anonymity, <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>t</mml:mi></mml:math></inline-formula>-closeness</td>
<td>Protecting community structures and nodes attributes</td>
<td></td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2_1">
<label>2.1</label>
<title>Static Graph Anonymity</title>
<p>Privacy-preserving data publishing has emerged as a prominent research focus [<xref ref-type="bibr" rid="ref-22">22</xref>]. Currently, the anonymous publishing of social network graphs has received a lot of attention and attracted many researchers to develop advanced methods. <italic>k</italic>-anonymity [<xref ref-type="bibr" rid="ref-23">23</xref>], as a promising technique, ensures that each node in the anonymized graph is indistinguishable from at least <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> other nodes based on certain key attributes. If an adversary possesses private attributes of a target node, <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>k</mml:mi></mml:math></inline-formula>-anonymity can prevent him from re-identifying the target node from at least <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mi>k</mml:mi></mml:math></inline-formula> query results, as there are no significant differences among these results. Xiang et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] proposed a tree-based <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree anonymity (TKDA) method, which dynamically modifies edges in the original graph using a depth-first traversal algorithm. Lin et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] proposed a novel <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree anonymity method, which clustered groups of nodes through a greedy partitioning algorithm and then added edges for each group to increase the degree of the node to the maximum. Kaur et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] proposed <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>k</mml:mi></mml:math></inline-formula>-NeuroSVM, which classifies nodes in the original graph using Neural Networks (NN) and SVM into various groups. They add reasonable noise nodes into each group to meet the <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>k</mml:mi></mml:math></inline-formula>-degree anonymity requirement while maintaining similarity with the original graph. However, these degree-based methods cannot completely resist re-identification attacks from an adversary with knowledge about the structural subgraph of a target node. To defend against this attack, <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism anonymity method [<xref ref-type="bibr" rid="ref-16">16</xref>] is proposed, which makes each node in the anonymized graph have corresponding <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:mi>k</mml:mi></mml:math></inline-formula> same neighborhood subgraphs. This prevents adversaries from accurately recognizing the identity of the target node due to the indistinguishability of queried neighborhood subgraphs. Zhang et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed GPPS, which achieves the indistinguishability of 1-neighborhood structures of each node in the anonymized graph. However, this method cannot guard against structural subgraph attacks beyond the 1-neighborhood range. Ren et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] proposed a <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>&#x03B2;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>-anonymity method, which can effectively resist the combination attack including <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi>d</mml:mi></mml:math></inline-formula>-neighborhood attack, homogeneity attack, and background knowledge attack.</p>
<p>The above researches indicate that the <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism anonymity method is popular for protecting nodes&#x2019; identities and edge relationships. However, this method removes all edges between <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>k</mml:mi></mml:math></inline-formula> isomorphic subgraphs, which decreases the utility of the anonymized graph. <italic>k</italic>-automorphism anonymity [<xref ref-type="bibr" rid="ref-19">19</xref>] is considered as a good solution. It retains the edges between <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mi>k</mml:mi></mml:math></inline-formula> isomorphic subgraphs as much as possible, which reduces the loss of the original edges. Therefore, this paper obtains the anonymized dynamic graphs with better utility based on the <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphic anonymity method.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Dynamic Graph Anonymity</title>
<p>In real life, social network graphs are dynamic. The static graph anonymization methods mentioned above cannot be directly applied to dynamic graph anonymization. The main reason is that the adversary can easily re-identify nodes&#x2019; identities and edge relationships through differences between anonymized graphs at adjacent timestamps. As the research presented in [<xref ref-type="bibr" rid="ref-20">20</xref>], Zhang et al. proposed DSNDG-KIODA, which only considers nodes&#x2019; degree anonymization at the corresponding timestamp. The newly added/removed nodes/edges can be re-identified by differences in node structures between two anonymized graphs at adjacent timestamps. To address this issue, Hoang et al. proposed two time-varying attribute degree anonymity methods (<inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>l</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>-sad, <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msup><mml:mi>k</mml:mi><mml:mi>w</mml:mi></mml:msup></mml:math></inline-formula>-tad) [<xref ref-type="bibr" rid="ref-8">8</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>] based on clustering generalization, which can simultaneously protect users&#x2019; identities and their sensitive attributes. However, clustering anonymization needs to repeatedly cluster changed groups at different timestamps, making the overall anonymization process inconvenient. Therefore, based on this challenge, this paper minimizes the redundant operations of the original graph anonymization at updated timestamps, facilitating the process of dynamic graph anonymization.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Community Structure Protection</title>
<p>The community structure is an important feature of a social network graph, and it is necessary to preserve the structural features of the original graph while achieving the anonymization of nodes&#x2019; identities and edge relationships. Zhang et al. [<xref ref-type="bibr" rid="ref-10">10</xref>] proposed a graph perturbation method (PrivCom) based on node-level differential privacy (node-DP), which maximally preserves the community structure of the original graph by a Katz index-based graph feature extraction algorithm. Based on deep learning techniques, Xiang et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] proposed a graph generation model (CPGAN) with community structure protection, and this model presents good scalability on large graphs. With the aim of protecting community structures and node attributes, Ren et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] proposed a <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>k</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula>-security anonymity method by combining <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:mi>k</mml:mi></mml:math></inline-formula>-anonymity and <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mi>t</mml:mi></mml:math></inline-formula>-closeness to achieve anonymous publishing of the original graph. However, the above methods only can guarantee the protection of graph structures on static graphs, while they are ineffective for the dynamic protection of community structures of the original graph at different timestamps. Therefore, this paper considers the protection of the original graph structure at each timestamp, ensuring that the changed community structures over time can be protected dynamically.</p>
<p>Based on the above issues, this paper proposes a dynamic social network graph anonymity scheme with community structure protection (DSNGA-CSP). DSNGA-CSP achieves anonymization of nodes&#x2019; identities and edge relationships. To improve the utility of anonymized dynamic graphs, we preserve more structural information from the original graph at each timestamp. Additionally, a new information loss metric is defined to measure the utility of anonymized dynamic graphs more accurately.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Preliminaries</title>
<p>This section introduces the adversary model with a special example and provides the problem definition.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Adversary Model</title>
<p>Given an original graph sequence <inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:mi>G</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> during time periods <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, to protect identities of users, data provider publishes the anonymized versions <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msup><mml:mi>G</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> of the original graph sequence. By monitoring the published anonymized graphs, an adversary can extract all nodes&#x2019; information (e.g., degree and subgraph structure) from <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msup><mml:mi>G</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>. When the adversary masters the real information related to nodes and edges in the original graph (e.g., the user&#x2019;s name and the friendship between two users with real names at a specific timestamp), he/she can re-identify nodes&#x2019; identities and edge relationships by observing the difference between two anonymized graphs at adjacent timestamps. The following example illustrates the aforementioned adversary attack:</p>
<p><xref ref-type="fig" rid="fig-1">Fig. 1</xref> represents a 2-degree anonymous graph sequence being published during time periods <inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula>. That is, each node in each anonymized graph has the indistinguishable degree with at least <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> other nodes in the anonymized graph. To obtain 2-degree anonymous graphs, the solid red lines in (d)&#x2013;(f) are added, respectively. Although each graph in (d)&#x2013;(f) meets 2-degree anonymity, the adversary can easily re-identify the real identities of <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mi>v</mml:mi><mml:mn>9</mml:mn></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> by comparing the difference among three anonymized graphs. For instance, the adversary is convinced that <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msub><mml:mi>v</mml:mi><mml:mn>9</mml:mn></mml:msub></mml:math></inline-formula> is a newly added node at timestamp <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> by observing <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> is a deleted node at timestamp <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula> by observing <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. Similarly, the adversary can infer that the edge <inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mn>7</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is a newly added edge at timestamp <inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> by observing <inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. Suppose the adversary knows that Alice is a new user added to the graph <inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> at timestamp <inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, he can re-identify <inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msub><mml:mi>v</mml:mi><mml:mn>9</mml:mn></mml:msub></mml:math></inline-formula> as Alice. In the same way, the real identity of <inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> and the real connection of <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mn>7</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> can also be completely re-identified by him.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>A 2-degree anonymous graph sequence is published during the time periods <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula>. (a)&#x2013;(c) are three original graphs corresponding to three timestamps, respectively, and (d)&#x2013;(f) are their anonymized graphs. The node <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msub><mml:mi>v</mml:mi><mml:mn>9</mml:mn></mml:msub></mml:math></inline-formula> is a newly added node at timestamp <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:msub><mml:mi>v</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> is a deleted node at time <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mn>5</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mn>7</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is a newly added edge at timestamp <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>t</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula></title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-1.tif"/>
</fig>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Problem Definition</title>
<p><bold>Problem statement.</bold> Given <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mi>w</mml:mi></mml:math></inline-formula> undirected and unlabeled graphs <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> during the time periods <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, and <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> are their anonymized graphs. No third party or service provider can re-identify a user&#x2019;s sensitive information from <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mi>w</mml:mi></mml:math></inline-formula> anonymized graphs. However, the third party can still perform graph-related analysis and mining tasks.</p>
<p>This paper considers the protection of the original graph structure, so we first detect communities of the original graph at each timestamp. Then, based on graph isomorphism and graph automorphism, we obtain <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>w</mml:mi></mml:math></inline-formula> anonymized graphs. Since the graph automorphism method reflects the symmetry of the graph, it can effectively resist re-identification attacks from adversaries due to the indistinguishability of the graph structure. Therefore, we anonymize community subgraphs by the graph automorphism method at each timestamp, preserving both nodes&#x2019; identities and real edge relationships. Graph isomorphism is a more generalized form of graph automorphism. We protect real edge relationships between communities through isomorphic anonymization, ensuring the indistinguishability of these edge relationships for adversaries. The definitions of graph isomorphism and graph automorphism are provided below:</p>
<p><bold>Definition 1</bold> (Graph isomorphism). <italic>Let</italic> <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>G</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> <italic>and</italic> <inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:msup><mml:mi>G</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>E</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> <italic>be two graphs. G is isomorphic to</italic> <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msup><mml:mi>G</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:math></inline-formula>, <italic>if and only if there exists a bijective function</italic> <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:mi>f</mml:mi><mml:mo>:</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:math></inline-formula>, <italic>such that for each edge</italic> <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>, <italic>there is an edge</italic> <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:mo stretchy="false">(</mml:mo><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>E</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:math></inline-formula>.</p>
<p><bold>Definition 2</bold> (Graph automorphism). <italic>Given a graph</italic> <inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:mi>G</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>V</mml:mi><mml:mo>,</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <italic>an automorphism of G is an bijective function</italic> <inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:mi>h</mml:mi></mml:math></inline-formula> <italic>on the node set V</italic>, <italic>such that for each edge</italic> <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>, <italic>the edge</italic> <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mo stretchy="false">(</mml:mo><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>h</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:mi>E</mml:mi></mml:math></inline-formula>. <italic>In other words, a graph automorphism maps the graph to itself, preserving the edge relationships between nodes under the function</italic> <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>h</mml:mi></mml:math></inline-formula>.</p>
<p>For an automorphic community subgraph, its anonymity level depends on the number of isomorphic subgraphs (i.e., <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mi>k</mml:mi></mml:math></inline-formula>) within it. A <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphic graph is defined as follows:</p>
<p><bold>Definition 3</bold> (<italic>K</italic>-automorphic graph). <italic>Given a graph</italic> <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msup><mml:mi>G</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mi>E</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msup><mml:mi>G</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:math></inline-formula> <italic>is called a</italic> <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mi>k</mml:mi></mml:math></inline-formula><italic>-automorphic graph if two conditions are met for each node</italic> <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msubsup><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mi>V</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:math></inline-formula>: <italic>a) There exists</italic> <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> <italic>automorphic functions</italic> <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> <italic>of</italic> <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msup><mml:mi>G</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:math></inline-formula>, <italic>and b)</italic> <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msub><mml:mi>h</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2260;</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>j</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <italic>where</italic> <inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msubsup><mml:mi>v</mml:mi><mml:mi>i</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:msubsup><mml:mi>v</mml:mi><mml:mi>j</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>p</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>q</mml:mi></mml:math></inline-formula>.</p>
<p>In this paper, we achieve the anonymous publishing of <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:mi>w</mml:mi></mml:math></inline-formula> original graphs. Thus, we give the definition of anonymous publishing of dynamic graphs as follows:</p>
<p><bold>Definition 4</bold> (Anonymous publishing of dynamic graphs). <italic>Let</italic> <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> <italic>be</italic> <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>w</mml:mi></mml:math></inline-formula> <italic>original graphs during the time periods</italic> <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, <italic>where</italic> <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>is the set of nodes in</italic> <inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>and</italic> <inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>is the set of edges. We say that</italic> <inline-formula id="ieqn-112"><mml:math id="mml-ieqn-112"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>E</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:mrow><mml:mo>&#x2032;</mml:mo></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>E</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> <italic>are anonymized graphs corresponding to the</italic> <inline-formula id="ieqn-113"><mml:math id="mml-ieqn-113"><mml:mi>w</mml:mi></mml:math></inline-formula> <italic>original graphs if there exists a dynamic graph anonymization mechanism M</italic>, <italic>such that: a)</italic> <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mi>V</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">&#x2192;</mml:mo><mml:msubsup><mml:mi>E</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>and b)</italic> <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>&#x2229;</mml:mo><mml:mi>M</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2260;</mml:mo><mml:mi mathvariant="normal">&#x2205;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>&#x2229;</mml:mo><mml:mi>M</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2260;</mml:mo><mml:mi mathvariant="normal">&#x2205;</mml:mi></mml:math></inline-formula>, <italic>where</italic> <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mi>M</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>V</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> <italic>represents the set of nodes in</italic> <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>and</italic> <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mi>M</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> <italic>represents the set of edges in</italic> <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. <italic>These</italic> <inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:mi>w</mml:mi></mml:math></inline-formula> <italic>anonymized graphs are then sequentially published to a third party for data analysis</italic>.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>The DSNGA-CSP Scheme</title>
<p>This section introduces the proposed DSNGA-CSP scheme in detail. As shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>, DSNGA-CSP mainly consists of the following two stages:</p>
<p><bold>Phase 1: Dynamic initial anonymity.</bold> In this phase, all nodes in <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> are first detected as multiple disjoint communities through the CDME algorithm [<xref ref-type="bibr" rid="ref-24">24</xref>]. To preserve more original graph structure at the initial timestamp, we perform intra-community and inter-community anonymity, respectively. This paper effectively resists the re-identification attack on nodes&#x2019; identities and edge relationships in the following way. For intra-community anonymity, each community subgraphs are anonymized by the proposed <inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method. For inter-community anonymity, the original edges between communities are anonymized by an edge isomorphism method.</p>
<p><bold>Phase 2: Dynamic changing anonymity.</bold> For each updated timestamp, all nodes in the original graph are detected as multiple disjoint communities using the DCDME algorithm [<xref ref-type="bibr" rid="ref-24">24</xref>]. Based on the changes in community structure caused by changed nodes and edges mentioned in [<xref ref-type="bibr" rid="ref-24">24</xref>], we divide the detected communities into three categories: 1) Communities not involving changed nodes and edges (<inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mrow><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula>); 2) Communities involving changed nodes and edges, while not changing community structure (<inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:mrow><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula>); 3) Communities involving changed nodes and edges, and changing community structure (<inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mrow><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula>). For intra-community anonymity, 1) the community subgraphs corresponding to <inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:mrow><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula> are anonymized by obtaining their anonymized community subgraphs at the last timestamp; 2) the community subgraphs corresponding to <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mrow><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula> are anonymized by achieving <inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism along with the newly added nodes and edges; 3) the community subgraphs corresponding to <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mrow><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:mrow></mml:math></inline-formula> are anonymized by the proposed <inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method. For inter-community anonymity, follows the dynamic initial anonymity stated.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>The flowchart of DSNGA-CSP</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-2.tif"/>
</fig>
<sec id="s4_1">
<label>4.1</label>
<title>Dynamic Initial Anonymity</title>
<p>In this section, the anonymized graph <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is obtained at the initial timestamp <inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula>. The anonymization process is detailedly described in the following two subsections: initial community detection and initial community anonymity.</p>
<sec id="s4_1_1">
<label>4.1.1</label>
<title>Initial Community Detection</title>
<p>The CDME algorithm [<xref ref-type="bibr" rid="ref-24">24</xref>] is used to detect the community structure of <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, and the detected communities are recorded as <inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>m</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mi>m</mml:mi></mml:math></inline-formula> is the total number of communities. Due to the anonymity requirement of subsequent community subgraphs, each community needs to contain at least <inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:mi>k</mml:mi></mml:math></inline-formula> nodes. Thus, the communities in <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> are revised by two methods: adding fake nodes and merging invalid communities. Assume the communities that need to be revised are <inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>p</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>p</mml:mi></mml:math></inline-formula> is the number of these communities. Two methods are detailed below:</p>
<p>1) For the first method, if the number of nodes in a community <inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>p</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> is higher than the number of fake nodes needed to be added, fake nodes are added to <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> until the number of nodes reaches <inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mi>k</mml:mi></mml:math></inline-formula>.</p>
<p>2) For the second method, if the number of nodes in <inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> is not greater than the number of fake nodes needed to be added, <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> is merged with a community <inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> belonging to the rest of <inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula>. To reduce the loss of community structure of <inline-formula id="ieqn-147"><mml:math id="mml-ieqn-147"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, this method selects <inline-formula id="ieqn-148"><mml:math id="mml-ieqn-148"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>m</mml:mi><mml:mi>e</mml:mi><mml:mi>r</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> that has the most connected edges with <inline-formula id="ieqn-149"><mml:math id="mml-ieqn-149"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi>n</mml:mi><mml:mi>v</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula>. If the number of nodes in the merged community is still less than <inline-formula id="ieqn-150"><mml:math id="mml-ieqn-150"><mml:mi>k</mml:mi></mml:math></inline-formula>, the merged community continues to implement the above two methods until its number is met.</p>
<p>At the initial timestamp, we assume the ultimately detected communities are represented as <inline-formula id="ieqn-151"><mml:math id="mml-ieqn-151"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-152"><mml:math id="mml-ieqn-152"><mml:mi>l</mml:mi></mml:math></inline-formula> is the number of communities. In addition, we assume <inline-formula id="ieqn-153"><mml:math id="mml-ieqn-153"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> is a graph that only consists of all community subgraphs, excluding edge connections between them.</p>
</sec>
<sec id="s4_1_2">
<label>4.1.2</label>
<title>Initial Community Anonymity</title>
<p>This subsection anonymizes all community subgraphs corresponding to <inline-formula id="ieqn-154"><mml:math id="mml-ieqn-154"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> (i.e., intra-community anonymity) and edge relationships between these communities (i.e., inter-community anonymity). The intra-community anonymity involves two steps: community category determination and community subgraph anonymization. The first step divides the detected communities into three categories by Algorithm 1, and the second step anonymizes community subgraphs formed by these three categories of communities, respectively. The inter-community anonymity is achieved by an edge isomorphism method described in Algorithm 4.</p>
<p>The key steps of Algorithm 1 are: 1) Since the graph partitioning method can affect the utility of the anonymized graph directly, this paper partitions all community subgraphs by two graph partitioning algorithms [<xref ref-type="bibr" rid="ref-25">25</xref>]: METIS_PartGraphKway and METIS_PartGraphRecursive (lines 1&#x2013;2). 2) We determine the category of the current community based on <inline-formula id="ieqn-155"><mml:math id="mml-ieqn-155"><mml:mi>k</mml:mi></mml:math></inline-formula>. If a community can be partitioned into <inline-formula id="ieqn-156"><mml:math id="mml-ieqn-156"><mml:mi>k</mml:mi></mml:math></inline-formula> blocks by the above two algorithms, we use a common subgraph computation function in a network graph arithmetic package (e.g., igraph) to obtain two common subgraphs of <inline-formula id="ieqn-157"><mml:math id="mml-ieqn-157"><mml:mi>k</mml:mi></mml:math></inline-formula> block subgraphs from two types of partitioning. The scales of these two common subgraphs are then computed using the function <inline-formula id="ieqn-158"><mml:math id="mml-ieqn-158"><mml:mi>S</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, respectively. If the two scales are equal, the category of this community is decided by a characteristic of the METIS program. Ultimately, the detected communities are divided into three categories: non-partitioned communities, kway-partitioned communities, and recursive-partitioned communities (lines 3&#x2013;27).</p>
<fig id="fig-20">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-16.tif"/>
</fig>
<p><bold>Function</bold> <inline-formula id="ieqn-183"><mml:math id="mml-ieqn-183"><mml:mi>S</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>: The function is used to compute the scale of common subgraph <inline-formula id="ieqn-184"><mml:math id="mml-ieqn-184"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> or <inline-formula id="ieqn-185"><mml:math id="mml-ieqn-185"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, i.e., the sum of the number of nodes and edges in <inline-formula id="ieqn-186"><mml:math id="mml-ieqn-186"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> or <inline-formula id="ieqn-187"><mml:math id="mml-ieqn-187"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Here, the <inline-formula id="ieqn-188"><mml:math id="mml-ieqn-188"><mml:mi>S</mml:mi><mml:mi>c</mml:mi><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>e</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> function serves as a metric to measure the overall size of <inline-formula id="ieqn-189"><mml:math id="mml-ieqn-189"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> or <inline-formula id="ieqn-190"><mml:math id="mml-ieqn-190"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:mi>c</mml:mi><mml:mi>o</mml:mi><mml:mi>m</mml:mi><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and it is applicative to measure different characteristics for different types of networks or applications, such as density or cohesion.</p>
<p>Three categories of community subgraphs are anonymized as follows:</p>
<p>a) For each community in <inline-formula id="ieqn-191"><mml:math id="mml-ieqn-191"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, the nodes are pairwise connected to obtain the anonymized community subgraph. Assume the anonymized community subgraphs related to <inline-formula id="ieqn-192"><mml:math id="mml-ieqn-192"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are recorded as <inline-formula id="ieqn-193"><mml:math id="mml-ieqn-193"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>b) For each community in <inline-formula id="ieqn-194"><mml:math id="mml-ieqn-194"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-195"><mml:math id="mml-ieqn-195"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, the community subgraph is anonymized by the proposed <inline-formula id="ieqn-196"><mml:math id="mml-ieqn-196"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method. The <inline-formula id="ieqn-197"><mml:math id="mml-ieqn-197"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method involves three key phases: <bold>partition</bold>, <bold>isomorphism</bold>, and <bold>composition</bold>. To facilitate the understanding, a community <inline-formula id="ieqn-198"><mml:math id="mml-ieqn-198"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>l</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> in <inline-formula id="ieqn-199"><mml:math id="mml-ieqn-199"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is selected as a case to introduce the process of <inline-formula id="ieqn-200"><mml:math id="mml-ieqn-200"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity. Assume the anonymized community subgraphs related to these two categories of communities are recorded as <inline-formula id="ieqn-201"><mml:math id="mml-ieqn-201"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> and <inline-formula id="ieqn-202"><mml:math id="mml-ieqn-202"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, respectively.</p>
<p><bold>In the partition phase,</bold> <inline-formula id="ieqn-203"><mml:math id="mml-ieqn-203"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is partitioned into <inline-formula id="ieqn-204"><mml:math id="mml-ieqn-204"><mml:mi>k</mml:mi></mml:math></inline-formula> blocks by the METIS_PartGraphKway algorithm, and the partitioned blocks are represented as <inline-formula id="ieqn-205"><mml:math id="mml-ieqn-205"><mml:msubsup><mml:mi>B</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>B</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>B</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<fig id="fig-21">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-17.tif"/>
</fig>
<p><bold>In the isomorphism phase,</bold> <inline-formula id="ieqn-240"><mml:math id="mml-ieqn-240"><mml:mi>k</mml:mi></mml:math></inline-formula> block subgraphs corresponding to <inline-formula id="ieqn-241"><mml:math id="mml-ieqn-241"><mml:msubsup><mml:mi>B</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> achieve isomorphism anonymization. Algorithm 2 presents the process, and the key steps involved are: 1) Rank the nodes in each block using the function <inline-formula id="ieqn-242"><mml:math id="mml-ieqn-242"><mml:mrow><mml:mi>R</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>., and record them in order (line 1). 2) Obtain the adjacency matrices of <inline-formula id="ieqn-243"><mml:math id="mml-ieqn-243"><mml:mi>k</mml:mi></mml:math></inline-formula> blocks and compute their sum (lines 2&#x2013;15). 3) To ensure the utility of anonymized block subgraphs, we use the function <inline-formula id="ieqn-244"><mml:math id="mml-ieqn-244"><mml:mi>I</mml:mi><mml:mi>n</mml:mi><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>g</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> to compute the influence of original edges, selecting those with higher influence for isomorphism anonymization in each block, thereby minimizing the addition of fake edges. (lines 16&#x2013;26). 4) After performing the above steps, <inline-formula id="ieqn-245"><mml:math id="mml-ieqn-245"><mml:mi>B</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> (i.e., <italic>k</italic> block anonymized subgraphs) is obtained (line 27).</p>
<p><bold>Function</bold> <inline-formula id="ieqn-246"><mml:math id="mml-ieqn-246"><mml:mrow><mml:mi>R</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>: Based on depth-first search, the function ranks nodes in <inline-formula id="ieqn-247"><mml:math id="mml-ieqn-247"><mml:mi>B</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> using node degrees. To facilitate isomorphism anonymization for inter-block edges, the node with the most cross edges (i.e., edges connecting different blocks) is ranked first, and it and the backtracking node (labeled as 0) are recorded in a list. Then, using depth-first traversal, we select the neighbor of the current node with the highest degree as the next to be ranked and traverse it, recording both nodes in the list. If all neighbors have been visited, the backtracking node becomes the new current node; otherwise, the unvisited neighbor with the highest degree is selected next. This process continues until all nodes in <inline-formula id="ieqn-248"><mml:math id="mml-ieqn-248"><mml:mi>B</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are visited, obtaining the ranked block <inline-formula id="ieqn-249"><mml:math id="mml-ieqn-249"><mml:mi>B</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. This ranking facilitates consistent node ordering, crucial for effective isomorphism anonymization.</p>
<p><bold>Function</bold> <inline-formula id="ieqn-250"><mml:math id="mml-ieqn-250"><mml:mi>I</mml:mi><mml:mi>n</mml:mi><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi><mml:mi>g</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>: The function is used to obtain highly influential edges in <inline-formula id="ieqn-251"><mml:math id="mml-ieqn-251"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula>. It computes edge influence by two metrics [<xref ref-type="bibr" rid="ref-26">26</xref>]: <italic>NC</italic>, the number of triangles an edge participates in, and <italic>MNP</italic>, the number of shortest paths traversing the edge. The influence of one edge is computed as <inline-formula id="ieqn-252"><mml:math id="mml-ieqn-252"><mml:mi>N</mml:mi><mml:mi>C</mml:mi><mml:mspace width="thinmathspace" /><mml:mo>&#x2217;</mml:mo><mml:mspace width="thinmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:mi>M</mml:mi><mml:mi>N</mml:mi><mml:mi>P</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-26">26</xref>]. The top 50% of edges with the highest influence are then recorded in matrix <inline-formula id="ieqn-253"><mml:math id="mml-ieqn-253"><mml:mi>m</mml:mi><mml:mi>a</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>h</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>e</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>. This ensures that influential edges are preserved, thereby maintaining the utility of the anonymized subgraphs.</p>
<fig id="fig-22">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-18.tif"/>
</fig>
<p><bold>In the composition phase,</bold> the inter-block crossing edges achieve isomorphism anonymization. Algorithm 3 describes the details, and the key steps involved are: 1) Obtain all inter-block crossing edges (lines 1&#x2013;5). 2) For each cross edge, find the mapping positions of its two endpoints in the two blocks. Then, connect two nodes with the same mapping positions in the other pairs of blocks with the same block interval (lines 6&#x2013;18). 3) After anonymizing all crossing edges, the anonymized community subgraph corresponding to <inline-formula id="ieqn-282"><mml:math id="mml-ieqn-282"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is obtained as <inline-formula id="ieqn-283"><mml:math id="mml-ieqn-283"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> (line 19).</p>
<fig id="fig-23">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-19.tif"/>
</fig>
<p>Algorithm 4 describes the process of inter-community anonymity. The edges between non-partitioned communities, as well as those between non-partitioned communities and partitioned communities, achieve the inter-community 2-isomorphism anonymity. The edges between partitioned communities achieve the inter-community <inline-formula id="ieqn-322"><mml:math id="mml-ieqn-322"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism anonymity. In practice, since the nodes within communities are densely connected and sufficiently numerous, almost all community subgraphs can be partitioned into <inline-formula id="ieqn-323"><mml:math id="mml-ieqn-323"><mml:mi>k</mml:mi></mml:math></inline-formula> blocks. Thus, in essence, the edges between communities achieve <inline-formula id="ieqn-324"><mml:math id="mml-ieqn-324"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism anonymity. In this paper, the anonymization of edges between three categories of communities is introduced as follows:</p>
<p>1) Obtain all the edges between communities (lines 1&#x2013;5). 2) The edges between three categories of communities achieve isomorphism anonymity, respectively (lines 6&#x2013;25).</p>
<p>i) The edges between non-partitioned communities are anonymized by the function <inline-formula id="ieqn-325"><mml:math id="mml-ieqn-325"><mml:mi>E</mml:mi><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mi>n</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The function divides nodes involved in <inline-formula id="ieqn-326"><mml:math id="mml-ieqn-326"><mml:mi>E</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> into two node sets according to the involved two non-partitioned communities, and the node set with the smaller number is supplemented by adding other nodes from the corresponding community. Based on the degree (i.e., the number of edges involved <inline-formula id="ieqn-327"><mml:math id="mml-ieqn-327"><mml:mi>E</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>) of nodes, two node sets are ranked in ascending order to achieve the same node mapping. Then, two pairs of nodes with the same mapping are connected in <inline-formula id="ieqn-328"><mml:math id="mml-ieqn-328"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>ii) The edges between non-partitioned and partitioned communities are anonymized by the function <inline-formula id="ieqn-329"><mml:math id="mml-ieqn-329"><mml:mi>E</mml:mi><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mi>b</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. For each edge in <inline-formula id="ieqn-330"><mml:math id="mml-ieqn-330"><mml:mi>E</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the position of an endpoint within its belonging block is found, and then the current edge is added to <inline-formula id="ieqn-331"><mml:math id="mml-ieqn-331"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. If other edges in <inline-formula id="ieqn-332"><mml:math id="mml-ieqn-332"><mml:mi>E</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> meet: a) an endpoint of the edge has the same position index; b) two endpoints of the edge are not connected in <inline-formula id="ieqn-333"><mml:math id="mml-ieqn-333"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, these edges are also added to <inline-formula id="ieqn-334"><mml:math id="mml-ieqn-334"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. The remaining nodes in the current non-partitioned community are sequentially connected with nodes in other blocks with the same mapping position.</p>
<p>iii) The edges between partitioned communities are anonymized by the function <inline-formula id="ieqn-335"><mml:math id="mml-ieqn-335"><mml:mi>E</mml:mi><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>b</mml:mi><mml:mi>b</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. For each edge in <inline-formula id="ieqn-336"><mml:math id="mml-ieqn-336"><mml:mi>E</mml:mi><mml:msub><mml:mi>l</mml:mi><mml:mrow><mml:mi>b</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>, the positions of two endpoints within their belonging blocks are found, and the subsequent anonymization process is similar to that of <inline-formula id="ieqn-337"><mml:math id="mml-ieqn-337"><mml:mi>E</mml:mi><mml:mi>f</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>n</mml:mi><mml:mi>b</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x22C5;</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p>3) Obtain the anonymized graph <inline-formula id="ieqn-338"><mml:math id="mml-ieqn-338"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> of <inline-formula id="ieqn-339"><mml:math id="mml-ieqn-339"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> at the initial timestamp <inline-formula id="ieqn-340"><mml:math id="mml-ieqn-340"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> (line 26).</p>
</sec>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Dynamic Changing Anonymity</title>
<p>In this section, the anonymized graph <inline-formula id="ieqn-341"><mml:math id="mml-ieqn-341"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is obtained at timestamp <inline-formula id="ieqn-342"><mml:math id="mml-ieqn-342"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>w</mml:mi></mml:math></inline-formula>, and the anonymization process includes two steps: dynamic community detection and dynamic community anonymity.</p>
<sec id="s4_2_1">
<label>4.2.1</label>
<title>Dynamic Community Detection</title>
<p>This section detects multiple disjoint communities at timestamp <inline-formula id="ieqn-343"><mml:math id="mml-ieqn-343"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, and the detected communities are divided into three categories: <inline-formula id="ieqn-344"><mml:math id="mml-ieqn-344"><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi></mml:math></inline-formula>.</p>
<p>Before detecting communities, the isomorphic nodes and edges related to removed nodes and edges at timestamp <inline-formula id="ieqn-345"><mml:math id="mml-ieqn-345"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> are first removed from <inline-formula id="ieqn-346"><mml:math id="mml-ieqn-346"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. The reason is to prevent the adversary from re-identifying the real identities of removed nodes and real edge relationships through two anonymized graphs at adjacent timestamps. Assume the current original graph is <inline-formula id="ieqn-347"><mml:math id="mml-ieqn-347"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> after removing all isomorphic nodes and edges related to removed nodes and edges from <inline-formula id="ieqn-348"><mml:math id="mml-ieqn-348"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. Based on dynamic community detection mentioned in [<xref ref-type="bibr" rid="ref-24">24</xref>], we divide the detected communities from <inline-formula id="ieqn-349"><mml:math id="mml-ieqn-349"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2217;</mml:mo></mml:msubsup></mml:math></inline-formula> into three categories as follows:</p>
<p>1) The original graph structure may cause changes from these cases: adding nodes between communities, adding edges between communities, deleting nodes in a community, deleting nodes between communities, and deleting edges in a community. Thus, the subgraph formed by these changes at timestamp <inline-formula id="ieqn-350"><mml:math id="mml-ieqn-350"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> is re-detected communities using the DCDME algorithm [<xref ref-type="bibr" rid="ref-24">24</xref>], and the detected communities are recorded as <inline-formula id="ieqn-351"><mml:math id="mml-ieqn-351"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>h</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-352"><mml:math id="mml-ieqn-352"><mml:mi>h</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula> is the number of communities in <inline-formula id="ieqn-353"><mml:math id="mml-ieqn-353"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. Then, all communities in <inline-formula id="ieqn-354"><mml:math id="mml-ieqn-354"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> are revised by two methods mentioned in initial community detection, and the revised <inline-formula id="ieqn-355"><mml:math id="mml-ieqn-355"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mo>&#x2217;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is recorded as <inline-formula id="ieqn-356"><mml:math id="mml-ieqn-356"><mml:mi>C</mml:mi><mml:mi>h</mml:mi><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi><mml:mo>:</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mn>3</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>h</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-357"><mml:math id="mml-ieqn-357"><mml:msub><mml:mi>h</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula> is the number of communities in <inline-formula id="ieqn-358"><mml:math id="mml-ieqn-358"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula>.</p>
<p>2) The original graph structure may not cause changes from these cases: adding edges in a community, adding nodes in a community, and deleting edges between communities. Since some communities involved in the above changes have satisfied the requirement for the number of nodes within the community at the timestamp <inline-formula id="ieqn-359"><mml:math id="mml-ieqn-359"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Thus, these communities are recorded as <inline-formula id="ieqn-360"><mml:math id="mml-ieqn-360"><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi><mml:mo>:</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mn>2</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-361"><mml:math id="mml-ieqn-361"><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:math></inline-formula> is the number of communities in <inline-formula id="ieqn-362"><mml:math id="mml-ieqn-362"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula>.</p>
<p>3) The remaining communities involved nothing about changed nodes/edges are recorded as <inline-formula id="ieqn-363"><mml:math id="mml-ieqn-363"><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>C</mml:mi><mml:mi>C</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mi>N</mml:mi><mml:mi>E</mml:mi><mml:mo>:</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mn>1</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>, where <inline-formula id="ieqn-364"><mml:math id="mml-ieqn-364"><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:math></inline-formula> is the number of communities in <inline-formula id="ieqn-365"><mml:math id="mml-ieqn-365"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula>.</p>
<p>Assume the communities at timestamp <inline-formula id="ieqn-366"><mml:math id="mml-ieqn-366"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> are recorded as <inline-formula id="ieqn-367"><mml:math id="mml-ieqn-367"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mo>&#x222A;</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup><mml:mspace width="thinmathspace" /><mml:mo>&#x222A;</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula>. Similarly, according to Algorithm 1, these communities are also divided into three categories: <inline-formula id="ieqn-368"><mml:math id="mml-ieqn-368"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, and <inline-formula id="ieqn-369"><mml:math id="mml-ieqn-369"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula>, where <inline-formula id="ieqn-370"><mml:math id="mml-ieqn-370"><mml:msub><mml:mi>L</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>L</mml:mi><mml:mn>3</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>h</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:math></inline-formula>.</p>
</sec>
<sec id="s4_2_2">
<label>4.2.2</label>
<title>Dynamic Community Anonymity</title>
<p>For the communities in <inline-formula id="ieqn-371"><mml:math id="mml-ieqn-371"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, this subsection achieves both intra-community anonymity and inter-community anonymity to obtain the anonymized graph <inline-formula id="ieqn-372"><mml:math id="mml-ieqn-372"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> at timestamp <inline-formula id="ieqn-373"><mml:math id="mml-ieqn-373"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>.</p>
<p><bold>For intra-community anonymity,</bold> the community subgraphs formed by <inline-formula id="ieqn-374"><mml:math id="mml-ieqn-374"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-375"><mml:math id="mml-ieqn-375"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-376"><mml:math id="mml-ieqn-376"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula> achieve <inline-formula id="ieqn-377"><mml:math id="mml-ieqn-377"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphic anonymity, respectively, and the process is as follows:</p>
<p>1) For each community in <inline-formula id="ieqn-378"><mml:math id="mml-ieqn-378"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula>, the community subgraph is anonymized by finding the anonymized community subgraph corresponding to the community at the last timestamp. Assume these anonymized community subgraphs are recorded as <inline-formula id="ieqn-379"><mml:math id="mml-ieqn-379"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>h</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<fig id="fig-24">
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-20.tif"/>
</fig>
<p>2) For each community in <inline-formula id="ieqn-415"><mml:math id="mml-ieqn-415"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula>, the community subgraph is anonymized by the process presented in Algorithm 5, and the key steps involved are: 1) Obtain newly added nodes for each community in <inline-formula id="ieqn-416"><mml:math id="mml-ieqn-416"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula> (lines 1&#x2013;2). 2) Determine the category of the current community, and then anonymize the community subgraph according to three different cases (lines 3&#x2013;26). 3) Obtain all anonymized community subgraphs corresponding to <inline-formula id="ieqn-417"><mml:math id="mml-ieqn-417"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula> (line 27). Assume these anonymized community subgraphs are recorded as <inline-formula id="ieqn-418"><mml:math id="mml-ieqn-418"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>h</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>3) For each community in <inline-formula id="ieqn-419"><mml:math id="mml-ieqn-419"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula>, the community subgraph is anonymized by applying <inline-formula id="ieqn-420"><mml:math id="mml-ieqn-420"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method directly. Assume these anonymized community subgraphs are recorded as <inline-formula id="ieqn-421"><mml:math id="mml-ieqn-421"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>h</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p><bold>For inter-community anonymity</bold>, the edges between communities in <inline-formula id="ieqn-422"><mml:math id="mml-ieqn-422"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-423"><mml:math id="mml-ieqn-423"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-424"><mml:math id="mml-ieqn-424"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula> are achieved isomorphic anonymization, and the process is as follows:</p>
<p>1) Merge <inline-formula id="ieqn-425"><mml:math id="mml-ieqn-425"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-426"><mml:math id="mml-ieqn-426"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-427"><mml:math id="mml-ieqn-427"><mml:mi>C</mml:mi><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mn>3</mml:mn><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> into the graph <inline-formula id="ieqn-428"><mml:math id="mml-ieqn-428"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>.</p>
<p>2) Since the community subgraphs formed by <inline-formula id="ieqn-429"><mml:math id="mml-ieqn-429"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-430"><mml:math id="mml-ieqn-430"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula> are neither split nor merged, the edges between these communities are anonymized by taking their anonymized state at the last timestamp into <inline-formula id="ieqn-431"><mml:math id="mml-ieqn-431"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. The removed edges between communities in <inline-formula id="ieqn-432"><mml:math id="mml-ieqn-432"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-433"><mml:math id="mml-ieqn-433"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula> do not exist in <inline-formula id="ieqn-434"><mml:math id="mml-ieqn-434"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, so their isomorphic edges are not added to <inline-formula id="ieqn-435"><mml:math id="mml-ieqn-435"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>&#x223C;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. This prevents adversaries from re-identifying these removed edges due to their indistinguishability from their isomorphic edges.</p>
<p>3) The communities in <inline-formula id="ieqn-436"><mml:math id="mml-ieqn-436"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula> are re-detected, so the inter-community edges related to these communities are anonymized in the same way as the anonymization of inter-community edges at the initial timestamp (see Algorithm 4).</p>
</sec>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Information Loss</title>
<p>This section provides a new information loss metric. The main reason is: 1) the single graph metric cannot fully measure the information loss of an anonymized graph; 2) current research on measuring the utility of anonymized graphs is almost only from a single perspective, which is the difference between the anonymized graph and the original graph. Thus, we define a new metric from two perspectives: original information preservation and anonymous information change. The former measures the retention of original information in the anonymized graph, while the latter measures the information changes required to achieve anonymity. To unify measurement, this paper takes the inverse of anonymous information change and combines it with original information preservation to determine the information loss of an anonymized graph. The higher the defined metric, the smaller the distortion of the anonymized graph.</p>
<p><bold>Definition 5</bold> (Information loss). <italic>At timestamp</italic> <inline-formula id="ieqn-437"><mml:math id="mml-ieqn-437"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, <italic>given a graph</italic> <inline-formula id="ieqn-438"><mml:math id="mml-ieqn-438"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>and</italic> <inline-formula id="ieqn-439"><mml:math id="mml-ieqn-439"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> <italic>is the anonymized graph of</italic> <inline-formula id="ieqn-440"><mml:math id="mml-ieqn-440"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. <italic>The information loss</italic> <inline-formula id="ieqn-441"><mml:math id="mml-ieqn-441"><mml:mi>I</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>consists of two parts: original information preservation</italic> <inline-formula id="ieqn-442"><mml:math id="mml-ieqn-442"><mml:mi>I</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>and anonymous information change</italic> <inline-formula id="ieqn-443"><mml:math id="mml-ieqn-443"><mml:mi>I</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula id="ieqn-444"><mml:math id="mml-ieqn-444"><mml:mi>I</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>is determined by two factors:</italic> <inline-formula id="ieqn-445"><mml:math id="mml-ieqn-445"><mml:mi>N</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>and</italic> <inline-formula id="ieqn-446"><mml:math id="mml-ieqn-446"><mml:mi>E</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>which represent the node difference and edge difference between the original graph and the anonymized graph, respectively</italic>. <inline-formula id="ieqn-447"><mml:math id="mml-ieqn-447"><mml:mi>I</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> <italic>is calculated as follows:</italic>
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:mi>I</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>I</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>I</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:math></disp-formula>
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:mi>I</mml:mi><mml:msub><mml:mi>R</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mn>2</mml:mn></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mo>&#x222A;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2229;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msub><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mo>&#x222A;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:msubsup><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2229;</mml:mo><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>n</mml:mi></mml:munderover><mml:msub><mml:mrow><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>g</mml:mi></mml:mrow><mml:mrow><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mfrac><mml:mo>)</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:mi>I</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mi>N</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>E</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></disp-formula>
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mi>N</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>N</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x222A;</mml:mo><mml:mi>N</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>N</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2229;</mml:mo><mml:mi>N</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow></mml:math></disp-formula>
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mi>E</mml:mi><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x222A;</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2229;</mml:mo><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>where <inline-formula id="ieqn-448"><mml:math id="mml-ieqn-448"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the neighbors of node <inline-formula id="ieqn-449"><mml:math id="mml-ieqn-449"><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:math></inline-formula> in <inline-formula id="ieqn-450"><mml:math id="mml-ieqn-450"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-451"><mml:math id="mml-ieqn-451"><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the neighbors of <inline-formula id="ieqn-452"><mml:math id="mml-ieqn-452"><mml:msub><mml:mi>v</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:math></inline-formula> in <inline-formula id="ieqn-453"><mml:math id="mml-ieqn-453"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, <inline-formula id="ieqn-454"><mml:math id="mml-ieqn-454"><mml:mi>N</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-455"><mml:math id="mml-ieqn-455"><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are all nodes and edges in <inline-formula id="ieqn-456"><mml:math id="mml-ieqn-456"><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula>, respectively, and <inline-formula id="ieqn-457"><mml:math id="mml-ieqn-457"><mml:mi>N</mml:mi><mml:mi>D</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-458"><mml:math id="mml-ieqn-458"><mml:mi>E</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> are all nodes and edges in <inline-formula id="ieqn-459"><mml:math id="mml-ieqn-459"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, respectively.</p>
<p>According to Definition 5, the information loss of the anonymized graphs over <inline-formula id="ieqn-460"><mml:math id="mml-ieqn-460"><mml:mi>w</mml:mi></mml:math></inline-formula> timestamps is calculated as follows:
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mi>I</mml:mi><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mi>w</mml:mi></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>w</mml:mi></mml:munderover><mml:mi>I</mml:mi><mml:msub><mml:mi>L</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></disp-formula></p>
<p>For <italic>IL</italic>, it reflects the average information loss of <inline-formula id="ieqn-461"><mml:math id="mml-ieqn-461"><mml:mi>w</mml:mi></mml:math></inline-formula> anonymized graphs during the time periods <inline-formula id="ieqn-462"><mml:math id="mml-ieqn-462"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>. And the larger <italic>IL</italic>, the better the average utility of <inline-formula id="ieqn-463"><mml:math id="mml-ieqn-463"><mml:mi>w</mml:mi></mml:math></inline-formula> anonymized graphs.</p>
</sec>
<sec id="s4_4">
<label>4.4</label>
<title>Privacy Analysis</title>
<p>This section proves that DSNGA-CSP can achieve the anonymity of dynamic social network graphs. Specifically, we prove that anonymized graphs obtained by DSNGA-CSP over <inline-formula id="ieqn-464"><mml:math id="mml-ieqn-464"><mml:mi>w</mml:mi></mml:math></inline-formula> timestamps guarantee the anonymization of nodes&#x2019; identities and edge relationships in dynamic original graphs, which can effectively resist re-identification attacks from adversaries. The theorem states as follows:</p>
<p><bold>Theorem 1.</bold> <italic>Let</italic> <inline-formula id="ieqn-465"><mml:math id="mml-ieqn-465"><mml:mi>G</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> <italic>be</italic> <inline-formula id="ieqn-466"><mml:math id="mml-ieqn-466"><mml:mi>w</mml:mi></mml:math></inline-formula> <italic>original graphs during the time periods</italic> <inline-formula id="ieqn-467"><mml:math id="mml-ieqn-467"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-468"><mml:math id="mml-ieqn-468"><mml:msup><mml:mi>G</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> <italic>is</italic> <inline-formula id="ieqn-469"><mml:math id="mml-ieqn-469"><mml:mi>w</mml:mi></mml:math></inline-formula> <italic>anonymized graphs obtained by DSNGA-CSP. For each anonymized graph</italic> <inline-formula id="ieqn-470"><mml:math id="mml-ieqn-470"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2032;</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>, <italic>the intra-community anonymity achieves</italic> <inline-formula id="ieqn-471"><mml:math id="mml-ieqn-471"><mml:mi>k</mml:mi></mml:math></inline-formula><italic>-automorphism, and the inter-community anonymity achieves</italic> <inline-formula id="ieqn-472"><mml:math id="mml-ieqn-472"><mml:mi>k</mml:mi></mml:math></inline-formula><italic>-isomorphism</italic>.</p>
<p><bold>Proof of Theorem 1.</bold> Taking <inline-formula id="ieqn-473"><mml:math id="mml-ieqn-473"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> as an example. At timestamp <inline-formula id="ieqn-474"><mml:math id="mml-ieqn-474"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> is first detected as multiple disjoint communities. We first prove that the intra-community anonymity of <inline-formula id="ieqn-475"><mml:math id="mml-ieqn-475"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> achieves <inline-formula id="ieqn-476"><mml:math id="mml-ieqn-476"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism. For communities in <inline-formula id="ieqn-477"><mml:math id="mml-ieqn-477"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula>, each community subgraph is anonymized by finding its corresponding anonymized subgraph at timestamp <inline-formula id="ieqn-478"><mml:math id="mml-ieqn-478"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. Since these anonymized community subgraphs were already <inline-formula id="ieqn-479"><mml:math id="mml-ieqn-479"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphic at timestamp <inline-formula id="ieqn-480"><mml:math id="mml-ieqn-480"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, the intra-community anonymity of <inline-formula id="ieqn-481"><mml:math id="mml-ieqn-481"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula> satisfies <inline-formula id="ieqn-482"><mml:math id="mml-ieqn-482"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism. For communities in <inline-formula id="ieqn-483"><mml:math id="mml-ieqn-483"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula>, the anonymity of these community subgraphs satisfies <inline-formula id="ieqn-484"><mml:math id="mml-ieqn-484"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism, and the reasons are as follows: 1) Each newly added node belonging to <inline-formula id="ieqn-485"><mml:math id="mml-ieqn-485"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is connected pairwise with other nodes in the current community to achieve <inline-formula id="ieqn-486"><mml:math id="mml-ieqn-486"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphic anonymity. 2) Newly added nodes/edges belonging to <inline-formula id="ieqn-487"><mml:math id="mml-ieqn-487"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> or <inline-formula id="ieqn-488"><mml:math id="mml-ieqn-488"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are first assigned to <inline-formula id="ieqn-489"><mml:math id="mml-ieqn-489"><mml:mi>k</mml:mi></mml:math></inline-formula> partitioned blocks at timestamp <inline-formula id="ieqn-490"><mml:math id="mml-ieqn-490"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and then these <inline-formula id="ieqn-491"><mml:math id="mml-ieqn-491"><mml:mi>k</mml:mi></mml:math></inline-formula> blocks are performed isomorphism and composition algorithms to achieve <inline-formula id="ieqn-492"><mml:math id="mml-ieqn-492"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphic anonymity of the current community. For communities in <inline-formula id="ieqn-493"><mml:math id="mml-ieqn-493"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula>, the anonymity of community subgraphs formed by these communities also satisfies <inline-formula id="ieqn-494"><mml:math id="mml-ieqn-494"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism. Since these communities are re-detected at timestamp <inline-formula id="ieqn-495"><mml:math id="mml-ieqn-495"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, the community subgraphs formed by <inline-formula id="ieqn-496"><mml:math id="mml-ieqn-496"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>w</mml:mi><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>, and <inline-formula id="ieqn-497"><mml:math id="mml-ieqn-497"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi>r</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> are re-anonymized in the same way with the perturbation of the initial graph. The intra-community anonymity at the initial timestamp satisfies <inline-formula id="ieqn-498"><mml:math id="mml-ieqn-498"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism, so the intra-community anonymity related to these communities also satisfies <inline-formula id="ieqn-499"><mml:math id="mml-ieqn-499"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism. Next, we prove that the inter-community anonymity of <inline-formula id="ieqn-500"><mml:math id="mml-ieqn-500"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> achieves <inline-formula id="ieqn-501"><mml:math id="mml-ieqn-501"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism. As described in Algorithm 4, almost all inter-community edges achieve <inline-formula id="ieqn-502"><mml:math id="mml-ieqn-502"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism at the initial timestamp. The inter-community edges related to <inline-formula id="ieqn-503"><mml:math id="mml-ieqn-503"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>1</mml:mn></mml:msubsup></mml:math></inline-formula> and <inline-formula id="ieqn-504"><mml:math id="mml-ieqn-504"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula> are anonymized by retaining their <inline-formula id="ieqn-505"><mml:math id="mml-ieqn-505"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphic state at timestamp <inline-formula id="ieqn-506"><mml:math id="mml-ieqn-506"><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, and the inter-community edges related to <inline-formula id="ieqn-507"><mml:math id="mml-ieqn-507"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mn>3</mml:mn></mml:msubsup></mml:math></inline-formula> are re-anonymized to satisfy <inline-formula id="ieqn-508"><mml:math id="mml-ieqn-508"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism. In summary, the anonymized dynamic graphs obtained by DSNGA-CSP satisfy intracommunity <inline-formula id="ieqn-509"><mml:math id="mml-ieqn-509"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism and inter-community <inline-formula id="ieqn-510"><mml:math id="mml-ieqn-510"><mml:mi>k</mml:mi></mml:math></inline-formula>-isomorphism. &#x025A1;</p>
<p>According to Theorem 1, this section provides the probability that the anonymized dynamic graphs defend against re-identification attacks, and the lemma is described as follows:</p>
<p><bold>Lemma 1.</bold> <italic>DSNGA-CSP can resist re-identification attacks from adversaries. If an adversary only has access to a real node and its edge information within the community or real edge information between communities, the probability that he re-identifies the node&#x2019;s identity and edge relationships does not exceed</italic> <inline-formula id="ieqn-511"><mml:math id="mml-ieqn-511"><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>k</mml:mi></mml:math></inline-formula>.</p>
<p><bold>Proof of Lemma 1.</bold> Given <inline-formula id="ieqn-512"><mml:math id="mml-ieqn-512"><mml:mi>w</mml:mi></mml:math></inline-formula> anonymized graphs <inline-formula id="ieqn-513"><mml:math id="mml-ieqn-513"><mml:msup><mml:mi>G</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>}</mml:mo></mml:mrow></mml:math></inline-formula> during the time periods <inline-formula id="ieqn-514"><mml:math id="mml-ieqn-514"><mml:msub><mml:mi>t</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>&#x223C;</mml:mo><mml:msub><mml:mi>t</mml:mi><mml:mi>w</mml:mi></mml:msub></mml:math></inline-formula>. For an intra-community real node and its edge information, or inter-community real edge information, we can always find <inline-formula id="ieqn-515"><mml:math id="mml-ieqn-515"><mml:mi>k</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> other information in <inline-formula id="ieqn-516"><mml:math id="mml-ieqn-516"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x22EF;</mml:mo><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>w</mml:mi><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> matching them. Thus, assume that a query function <italic>Q</italic> is used to search an intra-community subgraph structure in <inline-formula id="ieqn-517"><mml:math id="mml-ieqn-517"><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula>. If the query result <inline-formula id="ieqn-518"><mml:math id="mml-ieqn-518"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is not empty, there always exists <inline-formula id="ieqn-519"><mml:math id="mml-ieqn-519"><mml:mi>k</mml:mi></mml:math></inline-formula> identical results in <inline-formula id="ieqn-520"><mml:math id="mml-ieqn-520"><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>G</mml:mi><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>Q</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>. The adversary cannot re-identify the identity of the node and its edge relationships from the subgraph structure with a probability greater than <inline-formula id="ieqn-521"><mml:math id="mml-ieqn-521"><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>k</mml:mi></mml:math></inline-formula>. Similarly, the probability that the adversary re-identifies inter-community edge relationships does not exceed <inline-formula id="ieqn-522"><mml:math id="mml-ieqn-522"><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>k</mml:mi></mml:math></inline-formula>. &#x025A1;</p>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Experiments and Analysis</title>
<p>In this section, the effectiveness of the proposed DSNGA-CSP scheme is evaluated through experimental comparison and analysis. <xref ref-type="sec" rid="s5_1">Section 5.1</xref> introduces datasets. <xref ref-type="sec" rid="s5_2">Section 5.2</xref> presents metrics. <xref ref-type="sec" rid="s5_3">Section 5.3</xref> explores the performance of DSNGA-CSP.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Datasets</title>
<p>Five real-world datasets are used in this paper, consisting of two static graph datasets and three dynamic graph datasets. The primary reason for choosing these datasets is their extensive use in prior studies, making them suitable benchmarks for comparison. The two static datasets, with well-documented properties and distinct community structures, help evaluate the effectiveness of our anonymization method in protecting community structures. The three dynamic datasets cover diverse social network scenarios, with varying time spans and edge changes. Shorter time span datasets simulate frequent social changes, while longer ones evaluate performance under long-term dynamics. These datasets allow us to test DSNGA-CSP&#x2019;s effectiveness, particularly in resisting re-identification attacks and ensuring utility across different temporal characteristics. The statistics and properties of these datasets are presented in <xref ref-type="table" rid="table-2">Tables 2</xref> and <xref ref-type="table" rid="table-3">3</xref>, respectively.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>The statistics and properties of static datasets</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th></th>
<th></th>
<th></th>
<th align="center" colspan="3">Degree</th>
<th></th>
<th></th>
</tr>
<tr>
<th>Dataset</th>
<th>Nodes</th>
<th>Edges</th>
<th>Min</th>
<th>Avg</th>
<th>Max</th>
<th>Diameter</th>
<th>Density</th>
</tr>
</thead>
<tbody>
<tr>
<td>Ca-GrQc</td>
<td>5242</td>
<td>14,496</td>
<td>1</td>
<td>5</td>
<td>81</td>
<td>17</td>
<td>0.0010544</td>
</tr>
<tr>
<td>Ca-HepTh</td>
<td>9877</td>
<td>25,998</td>
<td>1</td>
<td>5</td>
<td>65</td>
<td>17</td>
<td>0.000532532</td>
</tr>
</tbody>
</table>
</table-wrap><table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>The statistics and properties of dynamic datasets</title>
</caption>
<table frame="hsides">
<colgroup>
<col align="left" />
<col align="left" />
<col align="left" />
<col align="left" />
</colgroup>
<thead>
<tr>
<th>Dataset</th>
<th>Nodes</th>
<th>Temporal edges</th>
<th>Time span</th>
</tr>
</thead>
<tbody>
<tr>
<td>Inf_SocPatterns_1</td>
<td>2253</td>
<td>9437</td>
<td>12 days</td>
</tr>
<tr>
<td>Inf_SocPatterns_2</td>
<td>2722</td>
<td>9824</td>
<td>27 days</td>
</tr>
<tr>
<td>CollegeMsg</td>
<td>1899</td>
<td>59,835</td>
<td>193 days</td>
</tr>
<tr>
<td>Email-Eu-core-temporal</td>
<td>986</td>
<td>332,334</td>
<td>803 days</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold><italic>Static graph datasets</italic></bold></p>
<p>1) Ca-GrQc [<xref ref-type="bibr" rid="ref-27">27</xref>]: a collaboration network about Arxiv General Relativity. It denotes an author <inline-formula id="ieqn-523"><mml:math id="mml-ieqn-523"><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> co-authored a paper with author <inline-formula id="ieqn-524"><mml:math id="mml-ieqn-524"><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:math></inline-formula> if there exists an undirected edge from <inline-formula id="ieqn-525"><mml:math id="mml-ieqn-525"><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> to <inline-formula id="ieqn-526"><mml:math id="mml-ieqn-526"><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:math></inline-formula>.</p>
<p>2) Ca-HepTh [<xref ref-type="bibr" rid="ref-27">27</xref>]: a collaboration network about Arxiv High Energy Physics Theory. An undirected edge <inline-formula id="ieqn-527"><mml:math id="mml-ieqn-527"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in this graph indicates that an author <inline-formula id="ieqn-528"><mml:math id="mml-ieqn-528"><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> has co-authored a paper with author <inline-formula id="ieqn-529"><mml:math id="mml-ieqn-529"><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:math></inline-formula>.</p>
<p><bold><italic>Dynamic graph datasets</italic></bold></p>
<p>1) Infectious SocioPatterns [<xref ref-type="bibr" rid="ref-28">28</xref>]: an infectious socio patterns dynamic contact network. An edge <inline-formula id="ieqn-530"><mml:math id="mml-ieqn-530"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in this graph represents close-range face-to-face proximity between the concerned persons. This paper selects data from the first half of May in 2009 as the dataset Inf_SocPatterns_1, and the second half of May and the first half of June of the same year as the dataset Inf_SocPatterns_2.</p>
<p>2) Email-Eu-core-temporal [<xref ref-type="bibr" rid="ref-29">29</xref>]: an email communication network spanning 803 days. An edge <inline-formula id="ieqn-531"><mml:math id="mml-ieqn-531"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in this graph represents a person <inline-formula id="ieqn-532"><mml:math id="mml-ieqn-532"><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> who sent an e-mail to person <inline-formula id="ieqn-533"><mml:math id="mml-ieqn-533"><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:math></inline-formula> at time <inline-formula id="ieqn-534"><mml:math id="mml-ieqn-534"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>.</p>
<p>3) CollegeMsg [<xref ref-type="bibr" rid="ref-30">30</xref>]: a college messaging temporal network spanning 193 days. An edge <inline-formula id="ieqn-535"><mml:math id="mml-ieqn-535"><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> in this graph represents a user <inline-formula id="ieqn-536"><mml:math id="mml-ieqn-536"><mml:msub><mml:mi>v</mml:mi><mml:mi>p</mml:mi></mml:msub></mml:math></inline-formula> who sent a private message to the user <inline-formula id="ieqn-537"><mml:math id="mml-ieqn-537"><mml:msub><mml:mi>v</mml:mi><mml:mi>q</mml:mi></mml:msub></mml:math></inline-formula> at time <inline-formula id="ieqn-538"><mml:math id="mml-ieqn-538"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>.</p>
<p><bold><italic>Data preprocessing</italic>.</bold> To better evaluate DSNGA-CSP, the aforementioned datasets are preprocessed by the following steps: 1) Converting directed graphs to undirected graphs; 2) Removing duplicate edges and loops; 3) Avoiding publishing impractical graphs with very few edges at certain timestamps, each of three dynamic graphs is split into 20 new graphs by merging continuous raw graphs, and all generated new graphs have a similar number of edges.</p>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Metrics</title>
<p>This section introduces utility metrics and a privacy metric, which are used to evaluate the performance of anonymized graphs obtained by DSNGA-CSP. The utility metrics include two categories: graph analysis metrics and community structure metrics. The first focuses on general graph characteristics, while the second focuses on graph structural features. The first focuses on general graph characteristics to ensure fundamental structural properties like connectivity and centrality are preserved, which is essential for maintaining graph utility in various network analyses. The second focuses on graph structural features, key features representing clusters of users with similar interests or strong interactions. Preserving these structures ensures the anonymized graph remains useful for community-related studies. The privacy metric measures the uncertainty within the anonymized graph, quantifying the difficulty for adversaries to re-identify nodes or infer relationships. These metrics comprehensively evaluate both utility and privacy, providing a well-rounded understanding of the effectiveness of DSNGA-CSP. The metrics used in this paper are as follows:</p>
<p><bold><italic>Graph analysis metrics</italic></bold></p>
<p>1) Average Path Length (APL): the metric measures the average length of all shortest paths in a graph.</p>
<p>2) Average Clustering Coefficient (ACC): the metric is the average of the local clustering coefficients of nodes in a graph, quantifying how close the neighbors of a node are to being a clique.</p>
<p>3) Eigenvector Centrality (EC): the metric quantifies the importance of a node in a graph, and it depends on the neighbors connected with the node. To avoid the influence of acyclic graphs, a constant is added to the denominator position for subsequent error rate calculation.</p>
<p>4) Transitivity (T): the metric measures the number of triangles in a graph.</p>
<p>5) Average Degree (AVD): the metric measures the average degree of all nodes in a graph.</p>
<p><bold><italic>Community structure metrics</italic></bold></p>
<p>The community structure metrics used include: variation of information (VI) [<xref ref-type="bibr" rid="ref-31">31</xref>], adjusted rand index [<xref ref-type="bibr" rid="ref-32">32</xref>], normalized mutual information (NMI) [<xref ref-type="bibr" rid="ref-31">31</xref>], rand index [<xref ref-type="bibr" rid="ref-33">33</xref>], and modularity (mod) [<xref ref-type="bibr" rid="ref-34">34</xref>]. For VI and mod, the optimal value is 0, while for the rest, 1 is the optimal value. To better understand the results of the evaluation, metrics with an optimal value of 1 are inverted. Therefore, the smaller the measurement of these community structure metrics, the smaller the structural changes in the anonymized graph. Moreover, the first four metrics usually require that the two graphs being measured have the same nodes. Thus, we use the induced subgraph of the original and anonymized graphs with the same nodes to approximately measure these metrics.</p>
<p><bold><italic>Privacy metric</italic></bold></p>
<p>The privacy of the anonymized graph is assessed using a metric (i.e., Shannon entropy [<xref ref-type="bibr" rid="ref-35">35</xref>]) introduced in our previous work [<xref ref-type="bibr" rid="ref-36">36</xref>]. Entropy can be used to measure the uncertainty of the anonymized graph, thereby quantifying the degree to which the original graph is anonymized. If the anonymized graph has high uncertainty, it also has high privacy.</p>
</sec>
<sec id="s5_3">
<label>5.3</label>
<title>Experimental Evaluation</title>
<p><bold><italic>Implementation</italic>.</bold> To verify whether community structure protection can enhance the utility of anonymized graphs, we first evaluate our anonymization method on two static graph datasets, under scenarios involving community detection and those without. We then evaluate the performance of DSNGA-CSP on two dynamic graph datasets. All experiments are conducted on a PC with an Intel Core i5-10500 CPU, 64 GB RAM, and Windows 10 operating system. All schemes are achieved using the R programming language.</p>
<p><bold><italic>Competitors</italic>.</bold> We compare two static graph anonymity schemes using the <inline-formula id="ieqn-539"><mml:math id="mml-ieqn-539"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity method. One scheme, <italic>DC</italic>, detects the communities of the original graph and then performs <inline-formula id="ieqn-540"><mml:math id="mml-ieqn-540"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity for each community, while the other, <inline-formula id="ieqn-541"><mml:math id="mml-ieqn-541"><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mi>n</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>D</mml:mi><mml:mi>C</mml:mi></mml:math></inline-formula>, applies <inline-formula id="ieqn-542"><mml:math id="mml-ieqn-542"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity directly to the original graph without community detection. Then, the proposed DSNGA-CSP scheme is compared with two dynamic graph anonymity schemes TAKG and CTKGA reported in [<xref ref-type="bibr" rid="ref-8">8</xref>] and [<xref ref-type="bibr" rid="ref-9">9</xref>], respectively. Since DSNGA-CSP focuses on anonymity in dynamic undirected graphs, it is compared with TAKG and CTKGA applied to undirected graphs.</p>
<sec id="s5_3_1">
<label>5.3.1</label>
<title>Experimental Evaluation on Static Graphs</title>
<p>For graph analysis metrics, an error rate between the anonymized graph and the original graph is computed to measure the utility of the anonymized graph. This error rate reflects the degree to which the anonymized graph is close to the original graph based on these metrics. Moreover, the smaller the error rate, the better the utility of the anonymized graph. The average error rate at different anonymity levels is calculated as follows:</p>
<p><disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mi>k</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:munderover><mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mi>M</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>j</mml:mi></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-543"><mml:math id="mml-ieqn-543"><mml:mi>k</mml:mi><mml:mi>c</mml:mi></mml:math></inline-formula> is the number of anonymity level <inline-formula id="ieqn-544"><mml:math id="mml-ieqn-544"><mml:mi>k</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>15</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>20</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, <inline-formula id="ieqn-545"><mml:math id="mml-ieqn-545"><mml:msub><mml:mi>M</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:math></inline-formula> is the result of a graph analysis metric for the original graph at the <inline-formula id="ieqn-546"><mml:math id="mml-ieqn-546"><mml:mi>j</mml:mi></mml:math></inline-formula>-th anonymity level, and <inline-formula id="ieqn-547"><mml:math id="mml-ieqn-547"><mml:msubsup><mml:mi>M</mml:mi><mml:mi>j</mml:mi><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the corresponding result for the anonymized graph at the same anonymity level.</p>
<p><xref ref-type="fig" rid="fig-3">Figs. 3</xref>&#x2013;<xref ref-type="fig" rid="fig-6">6</xref> present the experimental results of two categories of graph analysis metrics on two static graph datasets Ca-GrQc and Ca-HepTh. The horizontal axis represents the measured metrics. For graph analysis metrics, the vertical axis represents <inline-formula id="ieqn-548"><mml:math id="mml-ieqn-548"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula>, while for community structure metrics, it represents the average measurement error between original and anonymized graphs at different anonymity levels <inline-formula id="ieqn-549"><mml:math id="mml-ieqn-549"><mml:mi>k</mml:mi></mml:math></inline-formula>.</p>
<fig id="fig-3"><label>Figure 3</label><caption><title>Comparison of <inline-formula id="ieqn-550"><mml:math id="mml-ieqn-550"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> on Ca-GrQc dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-3.tif"/></fig><fig id="fig-4"><label>Figure 4</label><caption><title>Comparison of <inline-formula id="ieqn-551"><mml:math id="mml-ieqn-551"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> on Ca-HepTh dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-4.tif"/></fig><fig id="fig-5"><label>Figure 5</label><caption><title>Comparison of community structure metrics on Ca-GrQc dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-5.tif"/></fig><fig id="fig-6"><label>Figure 6</label><caption><title>Comparison of community structure metrics on Ca-HepTh dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-6.tif"/></fig>
<p><bold><italic>Graph analysis metrics results</italic>.</bold> As shown in <xref ref-type="fig" rid="fig-3">Figs. 3</xref> and <xref ref-type="fig" rid="fig-4">4</xref>, the results of <italic>DC</italic> are almost entirely superior to those of <italic>Non&#x2013;DC</italic>. In the Ca-GrQc dataset, the result of <italic>DC</italic> is slightly higher than that of <italic>Non&#x2013;DC</italic> in terms of AVD. This is because both intra-community and inter-community edges need to achieve isomorphic anonymization in <italic>DC</italic>, which may result in more changes in nodes&#x2019; degrees. However, due to the fairly close results, the measurement difference between the two schemes can be negligible.</p>

<p><bold><italic>Community structure metrics results</italic>.</bold> As shown in <xref ref-type="fig" rid="fig-5">Figs. 5</xref> and <xref ref-type="fig" rid="fig-6">6</xref>, all results of <italic>DC</italic> are superior to those of <italic>Non&#x2013;DC</italic>. It indicates that <inline-formula id="ieqn-552"><mml:math id="mml-ieqn-552"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition anonymity under community detection can effectively reduce the destruction of structural features of the original graph.</p>
</sec>
<sec id="s5_3_2">
<label>5.3.2</label>
<title>Experimental Evaluation on Dynamic Graphs</title>
<p>For graph analysis metrics, refer to the description in <xref ref-type="sec" rid="s5_3_1">Section 5.3.1</xref>. In this paper, since the anonymization of dynamic graphs sequentially publishes 20 anonymized graphs for each dataset, the average error rate for each graph analysis metric is calculated as follows:</p>
<p><disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>20</mml:mn><mml:mo>&#x2217;</mml:mo><mml:mi>k</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:mfrac><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>c</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mn>20</mml:mn></mml:mrow></mml:munderover><mml:mfrac><mml:mrow><mml:mo>|</mml:mo><mml:msubsup><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mo>|</mml:mo></mml:mrow><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-553"><mml:math id="mml-ieqn-553"><mml:msub><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msub></mml:math></inline-formula> is the result of a graph analysis metric at timestamp <inline-formula id="ieqn-554"><mml:math id="mml-ieqn-554"><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula> for the original graph at the <inline-formula id="ieqn-555"><mml:math id="mml-ieqn-555"><mml:mi>j</mml:mi></mml:math></inline-formula>&#x2013;th anonymity level, and <inline-formula id="ieqn-556"><mml:math id="mml-ieqn-556"><mml:msubsup><mml:mi>M</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mi mathvariant="normal">&#x2032;</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> is the corresponding result for the anonymized graph at the same anonymity level and timestamp. Meanwhile, this study selects <inline-formula id="ieqn-557"><mml:math id="mml-ieqn-557"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>15</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>20</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> for the first two datasets, and <inline-formula id="ieqn-558"><mml:math id="mml-ieqn-558"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>7</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>10</mml:mn><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mn>15</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> for the latter two datasets.</p>
<p>For four dynamic graph datasets, <xref ref-type="fig" rid="fig-7">Figs. 7</xref>&#x2013;<xref ref-type="fig" rid="fig-10">10</xref> present the experimental results of graph analysis metrics, <xref ref-type="fig" rid="fig-11">Figs. 11</xref>&#x2013;<xref ref-type="fig" rid="fig-14">14</xref> present the experimental results of community structure metrics, and <xref ref-type="fig" rid="fig-15">Fig. 15</xref> presents the experimental results of the privacy metric. For graph analysis metrics and community structure metrics, the presentation of coordinate axes refers to <xref ref-type="sec" rid="s5_3_1">5.3.1</xref>. For privacy metric, the horizontal axis represents datasets, and the vertical axis represents the average entropy at different timestamps and anonymity levels <inline-formula id="ieqn-559"><mml:math id="mml-ieqn-559"><mml:mi>k</mml:mi></mml:math></inline-formula>.</p>
<fig id="fig-7"><label>Figure 7</label><caption><title>Comparison of <inline-formula id="ieqn-560"><mml:math id="mml-ieqn-560"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> on Inf_SocPatterns_1 dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-7.tif"/></fig><fig id="fig-8"><label>Figure 8</label><caption><title>Comparison of <inline-formula id="ieqn-561"><mml:math id="mml-ieqn-561"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> on Inf_SocPatterns_2 dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-8.tif"/></fig><fig id="fig-9"><label>Figure 9</label><caption><title>Comparison of <inline-formula id="ieqn-562"><mml:math id="mml-ieqn-562"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> on CollegeMsg dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-9.tif"/></fig><fig id="fig-10"><label>Figure 10</label><caption><title>Comparison of <inline-formula id="ieqn-563"><mml:math id="mml-ieqn-563"><mml:mi>E</mml:mi><mml:mi>r</mml:mi><mml:mi>r</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi mathvariant="normal">&#x005F;</mml:mi><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi></mml:math></inline-formula> on Email-Eu-core-temporal dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-10.tif"/></fig><fig id="fig-11"><label>Figure 11</label><caption><title>Comparison of community structure metrics on Inf_SocPatterns_1 dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-11.tif"/></fig><fig id="fig-12"><label>Figure 12</label><caption><title>Comparison of community structure metrics on Inf_SocPatterns_2 dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-12.tif"/></fig><fig id="fig-13"><label>Figure 13</label><caption><title>Comparison of community structure metrics on CollegeMsg dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-13.tif"/></fig><fig id="fig-14"><label>Figure 14</label><caption><title>Comparison of community structure metrics on Email-Eu-core-temporal dataset</title></caption><graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-14.tif"/></fig><fig id="fig-15">
<label>Figure 15</label>
<caption>
<title>Comparison of Shannon entropy metric on four dynamic graph datasets</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMC_59201-fig-15.tif"/>
</fig>
<p><bold><italic>Graph analysis metrics results</italic>.</bold> Similar results are presented in <xref ref-type="fig" rid="fig-7">Figs. 7</xref> and <xref ref-type="fig" rid="fig-8">8</xref> because the datasets used come from the same dynamic graph dataset. For ACC and EC, the results of DSNGA-CSP are close to those of TAKG and CTKGA. For APL, the result of DSNGA-CSP is better than that of CTKGA but slightly inferior to that of TAKG. The reason is that DSNGA-CSP removes more edges when anonymizing edges between three different categories of communities. For T and IL, DSNGA-CSP shows better results compared to TAKG and CTKGA. Notably, DSNGA-CSP maintains a number of triangles in the anonymized graph closest to the original graph, and the results of IL show that DSNGA-CSP causes fewer changes in nodes and edges compared to TAKG and CTKGA during anonymization. For AVD, the result of DSNGA-CSP is lower than that of TAKG but higher than that of CTKGA. This is because CTKGA clusters nearly all nodes in the original graph into groups with the size of <inline-formula id="ieqn-564"><mml:math id="mml-ieqn-564"><mml:mi>k</mml:mi></mml:math></inline-formula>, allowing each node to achieve anonymity with fewer changes for its degree.</p>

<p>As shown in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>, for APL, the result of DSNGA-CSP is lower than that of CTKGA but slightly higher than that of TAKG, with similar analysis to that mentioned above. For the remaining metrics, the results of DSNGA-CSP show significant advantages compared with those of TAKG and CTKGA. In <xref ref-type="fig" rid="fig-10">Fig. 10</xref>, DSNGA-CSP shows a slight disadvantage for the results of APL, but it does not significantly impact the utility of the anonymized graph. For ACC, the result of DSNGA-CSP is lower than that of CTKGA but slightly higher than that of TAKG. This is because TAKG achieves isomorphism of intra-cluster nodes by connecting all node pairs within each cluster, leading to tighter connections between intra-cluster nodes and their neighbors. However, the excessive addition of fake edges may significantly reduce the utility of the anonymized graph. For other metrics, the results of DSNGA-CSP are superior to those of TAKG and CTKGA.</p>
<p><bold><italic>Community structure metrics results</italic>.</bold> As shown in <xref ref-type="fig" rid="fig-11">Figs. 11</xref>&#x2013;<xref ref-type="fig" rid="fig-14">14</xref>, nearly all results of DSNGA-CSP are superior to those of TAKG and CTKGA, with only a few results being close. Overall, DSNGA-CSP performs better for all community structure metrics. Additionally, it demonstrates that DSNGA-CSP can preserve more structural features of the original graph when achieving anonymous publishing of dynamic graphs. This also validates that dynamically protecting the community structure can enhance the utility of anonymized dynamic graphs.</p>
<p><bold><italic>Privacy metric results</italic>.</bold> As shown in <xref ref-type="fig" rid="fig-15">Fig. 15</xref>, DSNGA-CSP outperforms TAKG and CTKGA on four datasets. This is because TAKG and CTKGA produce anonymized graphs where nodes have similar features, leading to smaller differences in intra-cluster and inter-cluster information. This increases the likelihood that an adversary can identify original information. Moreover, although clustering more groups in TAKG and CTKGA can make re-identification attacks more difficult, the privacy of the anonymized graphs obtained by these two schemes is inferior to that of DSNGA-CSP, due to the homogenized network structure and increased non-significant information in the anonymized graphs.</p>
</sec>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Discussion, Implication and Study Limitation</title>
<p><bold>Summary of DSNGP-CSP.</bold> In this study, we propose a novel dynamic social network graph anonymity scheme, DSNGP-CSP, which demonstrates significant improvements in privacy protection and graph utility. Our experiments show that DSNGP-CSP effectively maintains community structures, while reducing the risk of privacy breaches compared to existing methods like TAKG and CTKGA. These findings indicate that incorporating community structure preservation into dynamic graph anonymization can enhance both privacy and graph utility, thereby overcoming a major limitation of traditional static anonymization methods.</p>
<p><bold>Implications.</bold> The implications of our research are broad. Our method can be directly applied to social network platforms that need to publish anonymized graph data for research purposes, while still preserving user privacy. Furthermore, by integrating community structure preservation, our approach can also help improve the quality of downstream tasks, such as recommendation systems and social network analysis, which often rely on graph structure quality.</p>
<p><bold>Study Limitations.</bold> There are two limitations in our work. Firstly, our approach relies on the pre-defined parameter <inline-formula id="ieqn-565"><mml:math id="mml-ieqn-565"><mml:mi>k</mml:mi></mml:math></inline-formula>, which may limit adaptability across different types of social networks and may cause inappropriate partitioning of some community subgraphs, affecting the effectiveness of graph structure protection. Here, we envision an adaptive mechanism that involves setting a reasonable privacy threshold and quantifying network characteristics using metrics like community density and average degree. The value of <inline-formula id="ieqn-566"><mml:math id="mml-ieqn-566"><mml:mi>k</mml:mi></mml:math></inline-formula> could then be adjusted based on how closely these quantified features align with the set threshold. This would make the scheme more flexible for various network types. Additionally, our approach has limitations when handling large-scale datasets, which impacts its scalability and performance. As the size of social network data grows, the computational overhead for community detection and edge anonymization becomes increasingly demanding. This limitation highlights the need for developing efficient optimization strategies or employing distributed computing techniques. These improvements would ensure that DSNGP-CSP can effectively scale to very large networks while maintaining performance and utility.</p>
</sec>
<sec id="s7">
<label>7</label>
<title>Conclusions and Future Work</title>
<p>This paper proposes DSNGA-CSP, a scheme for publishing dynamic social network graphs while preserving community structure based on <inline-formula id="ieqn-567"><mml:math id="mml-ieqn-567"><mml:mi>k</mml:mi></mml:math></inline-formula>-automorphism. DSNGA-CSP detects three categories of communities at each timestamp and only partitions community subgraphs for a specific category at updated timestamps, avoiding a complex and cumbersome anonymization process. By detecting communities at each timestamp, we anonymize community subgraphs using a proposed <inline-formula id="ieqn-568"><mml:math id="mml-ieqn-568"><mml:mi>k</mml:mi></mml:math></inline-formula>-composition method and inter-community edges using edge isomorphism, thereby achieving dynamic protection of community structures. Additionally, we introduce a novel information loss metric that measures graph utility based on original information preservation and anonymous information changes, providing a more precise metric for evaluating the utility of published dynamic graphs. Experimental results demonstrate that DSNGA-CSP outperforms other state-of-the-art methods in generating anonymized dynamic graphs with high utility and privacy.</p>
<p>Despite the advantages of <inline-formula id="ieqn-569"><mml:math id="mml-ieqn-569"><mml:mi>k</mml:mi></mml:math></inline-formula>-anonymity in dynamic graph publishing, it still has limitations in protecting user privacy comprehensively, including vulnerability to sophisticated re-identification attacks and dependency on parameter <inline-formula id="ieqn-570"><mml:math id="mml-ieqn-570"><mml:mi>k</mml:mi></mml:math></inline-formula> for privacy levels. Differential privacy, known for its robust mathematical guarantee, can offer a high level of privacy protection without relying on a single parameter to determine the privacy level, and it resists sophisticated adversarial attacks by adding random noise to nodes or edges. Hence, our future work will explore how to protect the privacy of dynamic social network graphs using differential privacy technology.</p>
</sec>
</body>
<back>
<ack>
<p>None.</p>
</ack>
<sec><title>Funding Statement</title>
<p>This work is supported by the Natural Science Foundation of China (No. U22A2099) and the Innovation Project of Guangxi Graduate Education (YCBZ2023130).</p>
</sec>
<sec><title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: study conception and design: Yuanjing Hao; data collection: Mingmeng Zhang; analysis and interpretation of results: Yuanjing Hao, Xuemin Wang, Long Li; draft manuscript preparation: Yuanjing Hao, Liang Chang. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability"><title>Availability of Data and Materials</title>
<p>The data that support the findings of this study are openly available in Stanford Large Network Dataset Collection at <ext-link ext-link-type="uri" xlink:href="https://snap.stanford.edu/data/">https://snap.stanford.edu/data/</ext-link> (accessed on 25 November 2024).</p>
</sec>
<sec><title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement"><title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>F.</given-names> <surname>Ferri</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Grifoni</surname></string-name>, and <string-name><given-names>T.</given-names> <surname>Guzzo</surname></string-name></person-group>, &#x201C;<article-title>New forms of social and professional digital relationships: The case of Facebook</article-title>,&#x201D; <source>Soc. Netw. Anal. Min.</source>, vol. <volume>2</volume>, no. <issue>2</issue>, pp. <fpage>121</fpage>&#x2013;<lpage>137</lpage>, <year>2012</year>. doi: <pub-id pub-id-type="doi">10.1007/s13278-011-0038-4</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>M.</given-names> <surname>Purcell</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Rakotoarivelo</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Smith</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Ranbaduge</surname></string-name> and <string-name><given-names>K. S.</given-names> <surname>Ng</surname></string-name></person-group>, &#x201C;<article-title>Private graph data release: A survey</article-title>,&#x201D; <source>ACM Comput. Surv.</source>, vol. <volume>55</volume>, no. <issue>11</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>39</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.1145/3569085</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Hoang</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Carminati</surname></string-name>, and <string-name><given-names>E.</given-names> <surname>Ferrari</surname></string-name></person-group>, &#x201C;<chapter-title>Cluster-based anonymization of knowledge graphs</chapter-title>,&#x201D; in <source>Applied Cryptography and Network Security</source>, <person-group person-group-type="editor"><string-name><given-names>M.</given-names> <surname>Conti</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>E.</given-names> <surname>Casalicchio</surname></string-name>, and <string-name><given-names>A.</given-names> <surname>Spognardi</surname></string-name></person-group>, Eds., <publisher-loc>Rome, Italy</publisher-loc>: <publisher-name>Springer</publisher-name>, <year>2020</year>, vol. <volume>12147</volume>, pp. <fpage>104</fpage>&#x2013;<lpage>123</lpage>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. K.</given-names> <surname>Langari</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Sardar</surname></string-name>, <string-name><given-names>S. A. A.</given-names> <surname>Mousavi</surname></string-name>, and <string-name><given-names>R.</given-names> <surname>Radfar</surname></string-name></person-group>, &#x201C;<article-title>Combined fuzzy clustering and firefly algorithm for privacy preserving in social networks</article-title>,&#x201D; <source>Expert. Syst. Appl.</source>, vol. <volume>141</volume>, <year>2020, Art. no. 112968</year>. doi: <pub-id pub-id-type="doi">10.1016/j.eswa.2019.112968</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Huang</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>F.</given-names> <surname>Xiao</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Wang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Gu</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving approach PBCN in social network with differential privacy</article-title>,&#x201D; <source>IEEE Trans. Netw. Serv. Manag.</source>, vol. <volume>17</volume>, no. <issue>2</issue>, pp. <fpage>931</fpage>&#x2013;<lpage>945</lpage>, <year>2020</year>. doi: <pub-id pub-id-type="doi">10.1109/TNSM.2020.2982555</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Jian</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Wang</surname></string-name>, and <string-name><given-names>L.</given-names> <surname>Chen</surname></string-name></person-group>, &#x201C;<article-title>Publishing graphs under node differential privacy</article-title>,&#x201D; <source>IEEE Trans. Knowl. Data Eng.</source>, vol. <volume>35</volume>, no. <issue>4</issue>, pp. <fpage>4164</fpage>&#x2013;<lpage>4177</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.1109/TKDE.2021.3128946</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Fu</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Ni</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Hou</surname></string-name>, and <string-name><given-names>D.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>GC-NLDP: A graph clustering algorithm with local differential privacy</article-title>,&#x201D; <source>Comput. Secur.</source>, vol. <volume>124</volume>, <year>2023, Art. no. 102967</year>. doi: <pub-id pub-id-type="doi">10.1016/j.cose.2022.102967</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Hoang</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Carminati</surname></string-name>, and <string-name><given-names>E.</given-names> <surname>Ferrari</surname></string-name></person-group>, &#x201C;<article-title>Time-aware anonymization of knowledge graphs</article-title>,&#x201D; <source>ACM Trans. Priv. Secur.</source>, vol. <volume>26</volume>, no. <issue>2</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>36</lpage>, <year>2022</year>. doi: <pub-id pub-id-type="doi">10.1145/3563694</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>A. T.</given-names> <surname>Hoang</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Carminati</surname></string-name>, and <string-name><given-names>E.</given-names> <surname>Ferrari</surname></string-name></person-group>, &#x201C;<article-title>Privacy-preserving sequential publishing of knowledge graphs</article-title>,&#x201D; in <conf-name>37th IEEE Int. Conf. Data Eng. (ICDE)</conf-name>, <publisher-loc>Chania, Greece</publisher-loc>, <publisher-name>IEEE</publisher-name>, <year>2021</year>, pp. <fpage>2021</fpage>&#x2013;<lpage>2026</lpage>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>W.</given-names> <surname>Ni</surname></string-name>, and <string-name><given-names>N.</given-names> <surname>Fu</surname></string-name></person-group>, &#x201C;<chapter-title>Community preserved social graph publishing with node differential privacy</chapter-title>,&#x201D; <source>20th IEEE Int. Conf. Data Min. (ICDM)</source>, <publisher-loc>Sorrento, Italy</publisher-loc>: <publisher-name>IEEE</publisher-name>, <year>2020</year>, pp. <fpage>1400</fpage>&#x2013;<lpage>1405</lpage>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Xiang</surname></string-name>, <string-name><given-names>D.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Ma</surname></string-name>, <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name></person-group>, &#x201C;<article-title>Efficient learning-based community-preserving graph generation</article-title>,&#x201D; in <conf-name>38th IEEE Int. Conf. Data Eng. (ICDE)</conf-name>, <publisher-loc>Kuala Lumpur, Malaysia</publisher-loc>, <publisher-name>IEEE</publisher-name>, <year>2022</year>, pp. <fpage>1982</fpage>&#x2013;<lpage>1994</lpage>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Ranjkesh</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Masoumi</surname></string-name>, and <string-name><given-names>S. M.</given-names> <surname>Hashemi</surname></string-name></person-group>, &#x201C;<article-title>A novel robust memetic algorithm for dynamic community structures detection in complex networks</article-title>,&#x201D; <source>World Wide Web (WWW)</source>, vol. <volume>27</volume>, no. <issue>1</issue>, <year>2024</year>, Art. no. 3. doi: <pub-id pub-id-type="doi">10.1007/s11280-024-01238-7</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>N.</given-names> <surname>Xiang</surname></string-name> and <string-name><given-names>X.</given-names> <surname>Ma</surname></string-name></person-group>, &#x201C;<article-title>TKDA: An improved method for k-degree anonymity in social graphs</article-title>,&#x201D; in <conf-name>IEEE Symp. Comput. </conf-name><source>Commun. (ISCC)</source>, <publisher-loc>Rhodes, Greece</publisher-loc>, <publisher-name>IEEE</publisher-name>, <year>2022</year>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>S. H.</given-names> <surname>Lin</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Xiao</surname></string-name></person-group>, &#x201C;<article-title>Towards publishing directed social network data with k-degree anonymization</article-title>,&#x201D; <source>Concurr. Comput. Pract. Exp.</source>, vol. <volume>34</volume>, no. <issue>24</issue>, <year>2022</year>, Art. no. e7226. doi: <pub-id pub-id-type="doi">10.1002/cpe.7226</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Kaur</surname></string-name>, <string-name><given-names>N.</given-names> <surname>Hooda</surname></string-name>, and <string-name><given-names>H.</given-names> <surname>Singh</surname></string-name></person-group>, &#x201C;<article-title>k-anonymization of social network data using neural network and SVM: K-neurosvm</article-title>,&#x201D; <source>J. Inf. Secur. Appl.</source>, vol. <volume>72</volume>, <year>2023, Art. no. 103382</year>. doi: <pub-id pub-id-type="doi">10.1016/j.jisa.2022.103382</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>A. W.</given-names> <surname>Fu</surname></string-name>, and <string-name><given-names>J.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<chapter-title>K-isomorphism: Privacy preserving network publication against structural attacks</chapter-title>,&#x201D; in <source>Proc. ACM SIGMOD Int. Conf. Manage. Data (SIGMOD)</source>, <publisher-loc>Indianapolis, IN, USA</publisher-loc>: <publisher-name>ACM</publisher-name>, <year>2010</year>, pp. <fpage>459</fpage>&#x2013;<lpage>470</lpage>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Lin</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Xu</surname></string-name>, and <string-name><given-names>X.</given-names> <surname>Wang</surname></string-name></person-group>, &#x201C;<article-title>Graph partition based privacy-preserving scheme in social networks</article-title>,&#x201D; <source>J. Netw. Comput. Appl.</source>, vol. <volume>195</volume>, <year>2021, Art. no. 103214</year>. doi: <pub-id pub-id-type="doi">10.1016/J.JNCA.2021.103214</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Ren</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Jiang</surname></string-name></person-group>, &#x201C;<article-title>A personalized <inline-formula id="ieqn-571"><mml:math id="mml-ieqn-571"><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>&#x03B2;</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>l</mml:mi><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:mi>K</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>-anonymity model of social network for protecting privacy</article-title>,&#x201D; <source>Wirel. Commun. Mob. Comput.</source>, vol. <volume>2022</volume>, no. <issue>1</issue>, <year>2022, Art. no. 7187528</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Zou</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Chen</surname></string-name>, and <string-name><given-names>M. T.</given-names> <surname>&#x00D6;zsu</surname></string-name></person-group>, &#x201C;<article-title>K-automorphism: A general framework for privacy preserving network publication</article-title>,&#x201D; <source>Proc. VLDB Endow.</source>, vol. <volume>2</volume>, no. <issue>1</issue>, pp. <fpage>946</fpage>&#x2013;<lpage>957</lpage>, <year>2009</year>. doi: <pub-id pub-id-type="doi">10.14778/1687627.168773</pub-id>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>X.</given-names> <surname>Zhang</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Liu</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Li</surname></string-name>, and <string-name><given-names>L.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>Large-scale dynamic social network directed graph K-in&#x0026;out-degree anonymity algorithm for protecting community structure</article-title>,&#x201D; <source>IEEE Access</source>, vol. <volume>7</volume>, pp. <fpage>108371</fpage>&#x2013;<lpage>108383</lpage>, <year>2019</year>. doi: <pub-id pub-id-type="doi">10.1109/ACCESS.2019.2933151</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W.</given-names> <surname>Ren</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Ghazinour</surname></string-name>, and <string-name><given-names>X.</given-names> <surname>Lian</surname></string-name></person-group>, &#x201C;<article-title><italic>kt</italic>-safety: Graph release via <italic>k</italic>-anonymity and <italic>t</italic>-closeness</article-title>,&#x201D; <source>IEEE Trans. Knowl. Data Eng.</source>, vol. <volume>35</volume>, no. <issue>9</issue>, pp. <fpage>9102</fpage>&#x2013;<lpage>9113</lpage>, <year>2023</year>. doi: <pub-id pub-id-type="doi">10.1109/TKDE.2022.3221333</pub-id>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G. S.</given-names> <surname>Kumar</surname></string-name>, <string-name><given-names>K.</given-names> <surname>Premalatha</surname></string-name>, <string-name><given-names>G. U.</given-names> <surname>Maheshwari</surname></string-name>, and <string-name><given-names>P. R.</given-names> <surname>Kanna</surname></string-name></person-group>, &#x201C;<article-title>No more privacy concern: A privacy-chain based holomorphic encryption scheme and statistical method for privacy preservation of user&#x2019;s private and sensitive data</article-title>,&#x201D; <source>Expert. Syst. Appl.</source>, vol. <volume>234</volume>, <year>2023, Art. no. 121071</year>. doi: <pub-id pub-id-type="doi">10.1016/j.eswa.2023.121071</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Sweeney</surname></string-name></person-group>, &#x201C;<article-title>k-anonymity: A model for protecting privacy</article-title>,&#x201D; <source>Int. J. Uncertain. Fuzziness Knowl. Based Syst.</source>, vol. <volume>10</volume>, no. <issue>5</issue>, pp. <fpage>557</fpage>&#x2013;<lpage>570</lpage>, <year>2002</year>. doi: <pub-id pub-id-type="doi">10.1142/S0218488502001648</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Sun</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;<article-title>Dynamic community detection based on the matthew effect</article-title>,&#x201D; <source>Physica A</source>, vol. <volume>597</volume>, <year>2022, Art. no. 127315</year>. doi: <pub-id pub-id-type="doi">10.1016/j.physa.2022.127315</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G.</given-names> <surname>Karypis</surname></string-name> and <string-name><given-names>V.</given-names> <surname>Kumar</surname></string-name></person-group>, &#x201C;<article-title>A fast and high quality multilevel scheme for partitioning irregular graphs</article-title>,&#x201D; <source>SIAM J. Sci. Comput.</source>, vol. <volume>20</volume>, no. <issue>1</issue>, pp. <fpage>359</fpage>&#x2013;<lpage>392</lpage>, <year>1998</year>. doi: <pub-id pub-id-type="doi">10.1137/S1064827595287997</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Kiabod</surname></string-name>, <string-name><given-names>M. N.</given-names> <surname>Dehkordi</surname></string-name>, and <string-name><given-names>B.</given-names> <surname>Barekatain</surname></string-name></person-group>, &#x201C;<article-title>TSRAM: A time-saving k-degree anonymization method in social network</article-title>,&#x201D; <source>Expert. Syst. Appl.</source>, vol. <volume>125</volume>, pp. <fpage>378</fpage>&#x2013;<lpage>396</lpage>, <year>2019</year>. doi: <pub-id pub-id-type="doi">10.1016/j.eswa.2019.01.059</pub-id>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Leskovec</surname></string-name>, <string-name><given-names>J. M.</given-names> <surname>Kleinberg</surname></string-name>, and <string-name><given-names>C.</given-names> <surname>Faloutsos</surname></string-name></person-group>, &#x201C;<article-title>Graph evolution: Densification and shrinking diameters</article-title>,&#x201D; <source>ACM Trans. Knowl. Discov. Data.</source>, vol. <volume>1</volume>, no. <issue>1</issue>, <year>2007</year>. doi: <pub-id pub-id-type="doi">10.1145/1217299.1217301</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Isella</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Stehl&#x00E9;</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Barrat</surname></string-name>, <string-name><given-names>C.</given-names> <surname>Cattuto</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Pinton</surname></string-name> and <string-name><given-names>W. V.</given-names> <surname>Den Broeck</surname></string-name></person-group>, &#x201C;<article-title>What&#x2019;s in a crowd? analysis of face-to-face behavioral networks</article-title>,&#x201D; <source>J. Theor. Biol.</source>, vol. <volume>271</volume>, no. <issue>1</issue>, pp. <fpage>166</fpage>&#x2013;<lpage>180</lpage>, <year>2011</year>. doi: <pub-id pub-id-type="doi">10.1016/j.jtbi.2010.11.033</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Paranjape</surname></string-name>, <string-name><given-names>A. R.</given-names> <surname>Benson</surname></string-name>, and <string-name><given-names>J.</given-names> <surname>Leskovec</surname></string-name></person-group>, &#x201C;<chapter-title>Motifs in temporal networks</chapter-title>,&#x201D; in <source>Proc. Tenth ACM Int. Conf. Web Search Data Min. (WSDM)</source>, <publisher-loc>Cambridge, UK</publisher-loc>: <publisher-name>ACM</publisher-name>, <year>2017</year>, pp. <fpage>601</fpage>&#x2013;<lpage>610</lpage>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>P.</given-names> <surname>Panzarasa</surname></string-name>, <string-name><given-names>T.</given-names> <surname>Opsahl</surname></string-name>, and <string-name><given-names>K. M.</given-names> <surname>Carley</surname></string-name></person-group>, &#x201C;<article-title>Patterns and dynamics of users&#x2019; behavior and interaction: Network analysis of an online community</article-title>,&#x201D; <source>J. Assoc. Inf. Sci. Technol.</source>, vol. <volume>60</volume>, no. <issue>5</issue>, pp. <fpage>911</fpage>&#x2013;<lpage>932</lpage>, <year>2009</year>. doi: <pub-id pub-id-type="doi">10.1002/asi.21015</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Danon</surname></string-name>, <string-name><given-names>A.</given-names> <surname>D&#x00ED;az-Guilera</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Duch</surname></string-name>, and <string-name><given-names>A.</given-names> <surname>Arenas</surname></string-name></person-group>, &#x201C;<article-title>Comparing community structure identification</article-title>,&#x201D; <source>J. Stat. Mech.</source>, vol. <volume>2005</volume>, no. <issue>9</issue>, <year>2005, Art. no. P09008</year>. doi: <pub-id pub-id-type="doi">10.1088/1742-5468/2005/09/P09008</pub-id>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>L.</given-names> <surname>Hubert</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Arabie</surname></string-name></person-group>, &#x201C;<article-title>Comparing partitions</article-title>,&#x201D; <source>J. Classif.</source>, vol. <volume>2</volume>, pp. <fpage>193</fpage>&#x2013;<lpage>218</lpage>, <year>1985</year>. doi: <pub-id pub-id-type="doi">10.1007/BF01908075</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>W. M.</given-names> <surname>Rand</surname></string-name></person-group>, &#x201C;<article-title>Objective criteria for the evaluation of clustering methods</article-title>,&#x201D; <source>J. Am. Stat. Assoc.</source>, vol. <volume>66</volume>, no. <issue>336</issue>, pp. <fpage>846</fpage>&#x2013;<lpage>850</lpage>, <year>1971</year>. doi: <pub-id pub-id-type="doi">10.1080/01621459.1971.10482356</pub-id>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Kiabod</surname></string-name>, <string-name><given-names>M. N.</given-names> <surname>Dehkordi</surname></string-name>, and <string-name><given-names>B.</given-names> <surname>Barekatain</surname></string-name></person-group>, &#x201C;<article-title>A fast graph modification method for social network anonymization</article-title>,&#x201D; <source>Expert. Syst. Appl.</source>, vol. <volume>180</volume>, <year>2021, Art. no. 115148</year>. doi: <pub-id pub-id-type="doi">10.1016/j.eswa.2021.115148</pub-id>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>I.</given-names> <surname>Wagner</surname></string-name> and <string-name><given-names>D.</given-names> <surname>Eckhoff</surname></string-name></person-group>, &#x201C;<article-title>Technical privacy metrics: A systematic survey</article-title>,&#x201D; <source>ACM Comput. Surv.</source>, vol. <volume>51</volume>, no. <issue>3</issue>, pp. <fpage>1</fpage>&#x2013;<lpage>38</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>Y.</given-names> <surname>Hao</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Li</surname></string-name>, <string-name><given-names>L.</given-names> <surname>Chang</surname></string-name>, and <string-name><given-names>T.</given-names> <surname>Gu</surname></string-name></person-group>, &#x201C;<article-title>MLDA: A multi-level k-degree anonymity scheme on directed social network graphs</article-title>,&#x201D; <source>Front. Comput. Sci.</source>, vol. <volume>18</volume>, no. <issue>2</issue>, <year>2024, Art. no. 182814</year>. doi: <pub-id pub-id-type="doi">10.1007/s11704-023-2759-8</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>