<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Phys.</journal-id>
<journal-title>Frontiers in Physics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Phys.</abbrev-journal-title>
<issn pub-type="epub">2296-424X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1114296</article-id>
<article-id pub-id-type="doi">10.3389/fphy.2023.1114296</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Physics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A local community detection algorithm based on potential community exploration</article-title>
<alt-title alt-title-type="left-running-head">Wang et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fphy.2023.1114296">10.3389/fphy.2023.1114296</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Wang</surname>
<given-names>Shenglong</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2124019/overview"/>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Yang</surname>
<given-names>Jing</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Ding</surname>
<given-names>Xiaoyu</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1732655/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhang</surname>
<given-names>Jianpei</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Zhao</surname>
<given-names>Meng</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Harbin Engineering University</institution>, <addr-line>Harbin</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Chongqing University of Posts and Telecommunications</institution>, <addr-line>Chongqing</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/59735/overview">Mahdi Jalili</ext-link>, RMIT University, Australia</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/888985/overview">Parham Moradi</ext-link>, University of Kurdistan, Iran</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1861764/overview">Xiu-Xiu Zhan</ext-link>, Hangzhou Normal University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Shenglong Wang, <email>wangsl@hrbeu.edu.cn</email>; Jing Yang, <email>yangjing@hrbeu.edu.cn</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Social Physics, a section of the journal Frontiers in Physics</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>06</day>
<month>02</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1114296</elocation-id>
<history>
<date date-type="received">
<day>06</day>
<month>12</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>01</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Wang, Yang, Ding, Zhang and Zhao.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Wang, Yang, Ding, Zhang and Zhao</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Local community detection aims to detect local communities that have expanded from the given node. Because of the convenience of obtaining the local information of the network and nearly linear time complexity, researchers have proposed many local community detection algorithms to discover the community structure of real-world networks and have obtained excellent results. Most existing local community detection algorithms expand from the given node to a community based on an expansion mechanism that can determine the membership of nodes. However, when determining the membership of neighboring nodes of a community, previous algorithms only considered the impact from the current community, but the impact from the potential communities around the node was neglected. As the name implies, a potential community is a community structure hidden in an unexplored network around a node. This paper gives the definition of potential communities of a node for the first time, that is, a series of connected components consisting of the node&#x2019;s neighbors that are in the unexplored network. We propose a three-stage local expansion algorithm, named <italic>LCDPC</italic>, that performs Local Community Detection based on Potential Community exploration. First, we search for a suitable node to replace the given node as the seed by calculating the node importance and the node similarity. Second, we form the initial community by combining the seed and its suitable potential community. Finally, the eligible nodes are selected by comparing the similarities between potential communities and the expanding community and nodes and adding them to the initial community for community expansion. The proposed algorithm is compared with eight state-of-the-art algorithms on both real-world networks and artificial networks, and the experimental results show that the performance of the proposed algorithm is better than that of the comparison algorithms and that the application of potential community exploration can help identify the community structure of networks.</p>
</abstract>
<kwd-group>
<kwd>local community detection</kwd>
<kwd>seed selection</kwd>
<kwd>local expansion</kwd>
<kwd>potential community</kwd>
<kwd>node similarity</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In recent years, there have been many changes in people&#x2019;s lifestyles brought by the emergence of various kinds of complex networks in different domains, such as computer networks, social media networks, biological networks, and power system networks [<xref ref-type="bibr" rid="B1">1</xref>]. Research on complex networks, especially the community structure of complex networks, has received much attention in various fields and interdisciplinary subjects [<xref ref-type="bibr" rid="B2">2</xref>, <xref ref-type="bibr" rid="B3">3</xref>]. In a real-world network, the node represents an entity and the edge represents the correlation among entities [<xref ref-type="bibr" rid="B4">4</xref>]. In addition, edges in the same community are connected densely, and edges between communities are sparse in contrast [<xref ref-type="bibr" rid="B3">3</xref>, <xref ref-type="bibr" rid="B5">5</xref>].</p>
<p>The detection and analysis of community structure are helpful to discover the interaction between people in social networks, the function of proteins in protein networks, and the research fields of scholars in academic cooperation networks. These can help people solve practical problems in society, such as personalized recommendations of products and information in the commercial field, technological breakthroughs in the medical field, and expert mining in the academic field.</p>
<p>Research on community detection aims to detect the community structure in complex networks quickly and accurately. <italic>Girvan et al.</italic> [<xref ref-type="bibr" rid="B6">6</xref>] proposed the classic Girvan&#x2013;Newman (<italic>GN</italic>) algorithm based on the <italic>Betweenness</italic>, which denotes the number of shortest paths between two nodes. The <italic>GN</italic> algorithm is a hierarchical clustering algorithm based on global information. The basic idea of <italic>GN</italic> is to delete edges in the network with the maximum <italic>Betweenness</italic> relative to all source nodes continuously and then recalculate the <italic>Betweenness</italic> of remaining edges in the network relative to all source nodes all edges in the network are deleted.</p>
<p>Subsequently, various excellent community detection algorithms that depend on the global information of the network were proposed [<xref ref-type="bibr" rid="B7">7</xref>]. However, accessing the global information of a real-world network is sometimes impossible and in some cases, unnecessary [<xref ref-type="bibr" rid="B8">8</xref>]. On the one hand, for large-scale or dynamic real-world networks, it is difficult and time-consuming to obtain global information [<xref ref-type="bibr" rid="B9">9</xref>]. On the other hand, in some practical applications, one does not need the global information of the entire network but just needs to obtain local information from a specific node [<xref ref-type="bibr" rid="B10">10</xref>]. Different from the algorithms based on global information, the local community detection algorithm is capable of obtaining the local community based on only local information around the target node. Therefore, an increasing number of local community detection algorithms based on local information have emerged over time.</p>
<p>Most existing local community detection algorithms expand from the given node to a community based on an expansion mechanism that can determine the membership of nodes. The expansion mechanism of previous algorithms is generally based on the relationship between the community under expansion and its neighboring nodes. However, the communities existing in the undetected area of the network also impact these neighboring nodes. It is arbitrary and inefficient to determine the membership of neighboring nodes based only on the relationship between the community and its neighboring nodes while ignoring the relationship between the neighboring nodes and these communities in the undetected area of the network. In addition, ignoring the communities in the undetected area of the network means that the lack of topological information about the node leads to a decline in the accuracy of node membership.</p>
<p>Accordingly, this paper introduces the concept of the potential community which represents the potential community structure hidden in the unexplored network, to solve the problem above. We define the potential communities of a node as a set of connected components composed of node neighbors. The connected component is a set of nodes, where there is a path between each of the two nodes. The consideration of the potential community serves to provide the suspicious node with the topological information of its neighboring communities in the undetected area of the network. We propose a three-stage local community detection algorithm named <italic>LCDPC</italic>, which performs Local Community Detection based on Potential Community exploration. The algorithmic process of <italic>LCDPC</italic> consists of three stages: the seed selection stage, the community initialization stage, and the community expansion stage. First, the seed selection searches for a suitable seed to replace the given node. Second, the community initialization process forms the initial community by combining the seed and its suitable potential community. Finally, the community expansion process adds eligible nodes to the initial community for community expansion. The main contributions of this paper are as follows.<list list-type="simple">
<list-item>
<p>&#x2022; This paper gives the definition of the potential community. For the first time, the notion of potential community is applied to the process of node identification to increase the accuracy of the local community detection algorithm.</p>
</list-item>
<list-item>
<p>&#x2022; In addition, we propose a three-stage local expansion algorithm based on potential community exploration, which performs seed selection, community initialization, and community expansion in order.</p>
</list-item>
<list-item>
<p>&#x2022; Experimental results show that the application of potential community exploration can help identify the community structure of networks.</p>
</list-item>
</list>
</p>
<p>The rest of this paper is organized as follows. <xref ref-type="sec" rid="s2">Section 2</xref> reviews the basic theory and the related algorithms. The basic definitions and detailed description of the proposed algorithm are presented in <xref ref-type="sec" rid="s3">Section 3</xref>. Experimental results are shown in <xref ref-type="sec" rid="s4">Section 4</xref>. <xref ref-type="sec" rid="s5">Section 5</xref> concludes this paper and outlines future work.</p>
</sec>
<sec id="s2">
<title>2 Related works</title>
<p>A typical local community detection algorithm consists of two main processes: the seed selection process and community expansion process. The seed or the seed community generated by the seed selection process is the basis of the algorithm, which directly determines the quality of the result. The community expansion process takes the seed as the initial community and expands the community by optimizing the quality function or node similarity. This section outlines representative methods in terms of seed selection and community expansion as well as node centrality metrics and quality functions.</p>
<sec id="s2-1">
<title>2.1 Seed selection</title>
<p>To obtain high-quality communities, the seed selection method is applied to detect the most appropriate node of the target community that contains the given node as the seed. In recent years, scholars have proposed a variety of local community detection algorithms based on local expansion. <italic>Lancichinetti et al.</italic> [<xref ref-type="bibr" rid="B11">11</xref>] developed an algorithm that takes random nodes as the seed. Although this method has a fast running time, it reduces the quality of the resulting community, and the test is unstable. <italic>Baumes et al.</italic> [<xref ref-type="bibr" rid="B12">12</xref>] proposed a robust algorithm, named IC (iterative scan), which takes a random edge as the seed. However, this method is time-consuming because it produces a great many duplicate communities when searching for seeds. <italic>Lee et al.</italic> [<xref ref-type="bibr" rid="B13">13</xref>] proposed a method named <italic>GCE</italic> (greedy clique expansion), which takes a <italic>k-clique</italic> as the seed. <italic>Whang et al.</italic> [<xref ref-type="bibr" rid="B14">14</xref>] proposed a new seeding strategy based on the same distance kernel and degree. Taking maximal cliques as the seed, <italic>Li et al.</italic> [<xref ref-type="bibr" rid="B15">15</xref>] introduced a deep and broad searching method to detect maximal cliques, where different communities are allowed to be merged into a larger subgraph according to some given rules. <italic>Li et al.</italic> [<xref ref-type="bibr" rid="B16">16</xref>] considered some eligible nodes as a seed community and expanded the seed community by absorbing adjacent nodes of the seed community based on the absorbing degree function. <italic>Zareie et al.</italic> [<xref ref-type="bibr" rid="B17">17</xref>] introduced a hierarchical community detection method, which proposed two indices, the topological location of a node and the closeness to the network graph core, to measure the influence of node and rank them based on these two indices. To solve the seed-dependent problem, <italic>Ding et al.</italic> [<xref ref-type="bibr" rid="B18">18</xref>] introduced a core detecting method to replace the seed with the core member of the target community. <italic>Mohammadi et al.</italic> [<xref ref-type="bibr" rid="B19">19</xref>] developed a new node ranking strategy based on nodes&#x2019; global potential values, such as influence and importance, to reveal the core of the community. <italic>Cheng et al.</italic> [<xref ref-type="bibr" rid="B20">20</xref>] proposed an algorithm that performs the <italic>TOPSIS</italic> (Technique for Order of Preference by Similarity to Ideal Solution) to rank each node and take the node with the highest score as the seed. <italic>Rezaei et al.</italic> [<xref ref-type="bibr" rid="B21">21</xref>] proposed a non-heuristic algorithm <italic>EML</italic> (Extended Machine Learning-based vital node identification), which makes use of the vitality of a part of a network for training a <italic>SVR</italic> model and predicts the vitality of each node based on this trained <italic>SVR</italic>.</p>
</sec>
<sec id="s2-2">
<title>2.2 Community expansion</title>
<p>The community expansion method takes a seed or a seed community as the initial community and expands it by absorbing the appropriate neighboring nodes iteratively. There are two common ways to determine the fitness of a node: running a greedy optimization process for a quality function [<xref ref-type="bibr" rid="B22">22</xref>&#x2013;<xref ref-type="bibr" rid="B26">26</xref>] and spreading the influence of the seed throughout the network [<xref ref-type="bibr" rid="B27">27</xref>&#x2013;<xref ref-type="bibr" rid="B32">32</xref>]. The quality function evaluates the quality of the community partition, and the scores generated by it can be used for partition ranking [<xref ref-type="bibr" rid="B2">2</xref>]. In a study on 13 quality functions based on 230 large real-world social, collaboration, and information networks, <italic>Yang et al.</italic> distinguished quality functions from (1) only internal community connectivity, (2) only connectivity between internal nodes and external networks; (3) both internal and external community connectivity and (4) modularity [<xref ref-type="bibr" rid="B33">33</xref>].</p>
<p>Influence spreading is a method that spreads the seed influence throughout the entire network. Inspired by the epidemic spreading model, <italic>Raghavan et al.</italic> [<xref ref-type="bibr" rid="B34">34</xref>] proposed the classical <italic>LPA</italic> (Label Propagation algorithm). <italic>LPA</italic> initializes each node in the network with a unique label and propagates the label throughout the network. The method stops when the node label does not change. Gregory et al. [<xref ref-type="bibr" rid="B35">35</xref>] proposed an improved <italic>LPA</italic> algorithm, named <italic>COPRA</italic> (Community Overlap PRopagation Algorithm), which allows overlapping by multiple labels on each node. <italic>Tang</italic> [<xref ref-type="bibr" rid="B36">36</xref>] proposed an algorithm based on speaker-listener label propagation to detect overlapping nodes.</p>
<p>In recent years, some other excellent expansion methods have been proposed. <italic>Tao et al.</italic> [<xref ref-type="bibr" rid="B37">37</xref>] proposed a method based on local similarity, which expands the community by connecting the node of a small-scale community with the nodes that have a high degree. <italic>Li et al.</italic> [<xref ref-type="bibr" rid="B38">38</xref>] proposed an algorithm to detect overlapping communities by diffusing the local spectral which is simulated by short random walks. Based on the idea that walkers who follow the same node sets should be assigned to the same community, <italic>Makoto et al.</italic> [<xref ref-type="bibr" rid="B39">39</xref>] proposed a retrained random-walk similarity algorithm for community expansion. Taking advantage of <italic>NGC</italic> (Nearest Greater Centrality) nodes, <italic>Luo et al.</italic> [<xref ref-type="bibr" rid="B40">40</xref>] proposed a novel community expansion method that adds the node that has the largest fuzzy relation with its <italic>NGC</italic> nodes into the local community. <italic>Bahadori et al.</italic> [<xref ref-type="bibr" rid="B41">41</xref>] proposed a probabilistic overlapping community detection method called <italic>PODCD</italic> which addresses dynamic communities efficiently. <italic>PODDCD</italic> scans communities by a probabilistic generative model which is constructed by a multi-objective optimization evolutionary-based method.</p>
<p>To enable readers to clearly understand recent achievements in the field of seed selection and community expansion, we summarize the characteristics, advantages, and disadvantages of the abovementioned methods in the following <xref ref-type="table" rid="T1">Table 1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Pros and cons of common methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Methods</th>
<th align="left">Characteristics</th>
<th align="left">Advantages and disadvantages</th>
<th align="left">Ref</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>Lancichinetti</italic>
</td>
<td align="left">Random selecting nodes as seeds</td>
<td align="left">Low time complexity, but high randomness</td>
<td align="left">[<xref ref-type="bibr" rid="B11">11</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Baumes</italic>
</td>
<td align="left">Random selecting edges as seeds</td>
<td align="left">Low time complexity, but producing duplicate communities</td>
<td align="left">[<xref ref-type="bibr" rid="B12">12</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>GCE</italic>
</td>
<td align="left">Selecting <italic>k-clique</italic> as seeds</td>
<td align="left">Unable to address diversity of community</td>
<td align="left">[<xref ref-type="bibr" rid="B13">13</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Whang</italic>
</td>
<td align="left">Seeding based on the same distance kernel</td>
<td align="left">Needing big trainset size</td>
<td align="left">[<xref ref-type="bibr" rid="B14">14</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Li</italic>
</td>
<td align="left">Taking maximal cliques as seeds</td>
<td align="left">High time complexity</td>
<td align="left">[<xref ref-type="bibr" rid="B15">15</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Mohammadi</italic>
</td>
<td align="left">Ranking nodes based on nodes&#x2019; global potential values to reveal the core of a community</td>
<td align="left">Strong adaptability</td>
<td align="left">[<xref ref-type="bibr" rid="B19">19</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Cheng</italic>
</td>
<td align="left">Performing the <italic>TOPSIS</italic> to rank each node, and took the node with the highest score as seeds</td>
<td align="left">High time complexity</td>
<td align="left">[<xref ref-type="bibr" rid="B20">20</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Zareie</italic>
</td>
<td align="left">Ranking nodes with two indices, the topological location of a node and the closeness to the network graph core</td>
<td align="left">Sufficient topological information</td>
<td align="left">[<xref ref-type="bibr" rid="B17">17</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Ding</italic>
</td>
<td align="left">Searching the core of community as the alternative seed for the given node</td>
<td align="left">Solving seed-dependent problem</td>
<td align="left">[<xref ref-type="bibr" rid="B18">18</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Rezaei</italic>
</td>
<td align="left">Predicting the vitality of each node based on the trained <italic>SVR</italic> model</td>
<td align="left">Strong adaptability, but relies on simulating the dynamics</td>
<td align="left">[<xref ref-type="bibr" rid="B21">21</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>LPA</italic>
</td>
<td align="left">Low time complexity</td>
<td align="left">Unstabitily and high randomness</td>
<td align="left">[<xref ref-type="bibr" rid="B34">34</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>COPRA</italic>
</td>
<td align="left">An improved <italic>LPA</italic> algorithm allows overlapping by multiple labels on each node</td>
<td align="left">Detecting overlapping communities</td>
<td align="left">[<xref ref-type="bibr" rid="B36">36</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Tao</italic>
</td>
<td align="left">Expanding community by connecting the node in small scale community with the nodes own high degree</td>
<td align="left">High time complexity</td>
<td align="left">[<xref ref-type="bibr" rid="B37">37</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Li</italic>
</td>
<td align="left">Detecting the overlapping communities by diffusing the local spectral which is simulated by short random walks</td>
<td align="left">Unstabitily and unpredictable</td>
<td align="left">[<xref ref-type="bibr" rid="B38">38</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Makoto</italic>
</td>
<td align="left">Proposing a retrained random-walk similarity algorithm for community expansion</td>
<td align="left">Unstabitily and unpredictable</td>
<td align="left">[<xref ref-type="bibr" rid="B39">39</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Bahadori</italic>
</td>
<td align="left">Scaning communities by a probabilistic generative model which is constructed by a multi-objective optimization evolutionary-based method</td>
<td align="left">Identifying dynamic communities efficiently</td>
<td align="left">[<xref ref-type="bibr" rid="B41">41</xref>]</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s3">
<title>3 Basic definitions and algorithms</title>
<sec id="s3-1">
<title>3.1 Motivation</title>
<p>As mentioned in <xref ref-type="sec" rid="s2">Section 2</xref>, researchers have proposed many local expansion algorithms and made great progress in terms of seed selection and community expansion. However, there are still problems in local expansion algorithms when determining the membership of suspicious nodes. Previous algorithms only consider the relationship between the community and suspicious nodes while ignoring the relationship between the suspicious node and its potential communities.</p>
<p>Let us take a brief figure legend of local community detection shown in <xref ref-type="fig" rid="F1">Figure 1</xref> to illustrate this problem. In <xref ref-type="fig" rid="F1">Figure 1</xref>, subgraph <italic>C</italic> denotes the community under detection. Subgraph <italic>N</italic> denotes the neighboring nodes of <italic>C</italic>. The orange nodes in subgraph <italic>N</italic> denote the suspicious nodes of <italic>C</italic>. Subgraph <italic>P</italic>
<sub>
<italic>i</italic>(<italic>i</italic>&#x2208;{1&#x2212;5})</sub> denotes the potential communities of the suspicious nodes. The area <italic>N</italic>
<sub>
<italic>o</italic>
</sub> in the dotted line denotes the neighboring nodes outside <italic>C</italic> of suspicious node <italic>n</italic>. The area <italic>N</italic>
<sub>
<italic>i</italic>
</sub> in the dotted line denotes the neighboring nodes inside <italic>C</italic> of suspicious node <italic>n</italic>.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>An example of local community detection and the potential communities of nodes.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g001.tif"/>
</fig>
<p>Node <italic>n</italic> in <xref ref-type="fig" rid="F1">Figure 1</xref> is a suspicious node of community <italic>C</italic> that is under detection. The neighboring nodes of <italic>n</italic> can be divided into two parts: subgraph <italic>N</italic>
<sub>
<italic>i</italic>
</sub> located in community <italic>C</italic> and subgraph <italic>N</italic>
<sub>
<italic>o</italic>
</sub> located in the rest of the network. Most proposed algorithms determine the membership of suspicious node <italic>n</italic> on the basis of the relationship between <italic>N</italic>
<sub>
<italic>i</italic>
</sub> and <italic>n</italic>. Some algorithms take the relationship between <italic>N</italic>
<sub>
<italic>o</italic>
</sub> and node <italic>n</italic> into consideration, but they regard <italic>N</italic>
<sub>
<italic>o</italic>
</sub> as a whole. Actually, <italic>N</italic>
<sub>
<italic>o</italic>
</sub> is not an integrated whole, where nodes likely belong to different communities. As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, <italic>N</italic>
<sub>
<italic>o</italic>
</sub> is composed of <italic>P</italic>
<sub>1</sub> and <italic>P</italic>
<sub>2</sub>, which impact <italic>n</italic>. Therefore, treating adjacent nodes as a whole in undetected areas will lead to a reduction in the accuracy of node membership judgment in the process of community detection.</p>
<p>Topological structure refers to describing the entities and their relationships in complex networks by two basic graphic elements: nodes and links. The more topological structure information we have, the more precisely and rapidly we can detect the community structure from the complex network. Therefore, the motivation of this paper is to explore the topological structure information and subdivide the neighborhood of suspicious nodes. Therefore, we introduce the abstract concept of potential community into the local community detection algorithm. Detailed topological structure information can be obtained by exploring the potential communities of suspicious nodes to determine the membership of suspicious nodes accurately. As shown in <xref ref-type="fig" rid="F1">Figure 1</xref>, <italic>P</italic>
<sub>1</sub> and <italic>P</italic>
<sub>2</sub> are the potential communities of node <italic>n</italic>. In our method, we first calculate the similarity between <italic>P</italic>
<sub>1</sub>, <italic>P</italic>
<sub>2</sub>, and <italic>n</italic>. Then calculate the similarity between <italic>N</italic>
<sub>
<italic>i</italic>
</sub> and <italic>n</italic>. Finally, we choose the most similar one from <italic>P</italic>
<sub>1</sub>, <italic>P</italic>
<sub>2</sub>, and <italic>n</italic> as the result community. Thus we can obtain a more accurate result on the basis of more topological structure information.</p>
</sec>
<sec id="s3-2">
<title>3.2 Problem definition</title>
<p>In this paper, we use a graph <italic>G</italic> &#x3d; (<italic>V</italic>, <italic>E</italic>), where <italic>V</italic> is the node set and <italic>E</italic> is the link set. The graph <italic>G</italic> can be represented as an adjacency matrix <italic>A</italic>, where <italic>A</italic>
<sub>
<italic>ij</italic>
</sub> denotes the connection of node <italic>i</italic> and node <italic>j</italic>, if node <italic>i</italic> and node <italic>j</italic> are connected, <italic>A</italic>
<sub>
<italic>ij</italic>
</sub> &#x3d; 1; otherwise <italic>A</italic>
<sub>
<italic>ij</italic>
</sub> &#x3d; 0. The graph <italic>G</italic> consists of communities, where <bold>C</bold> &#x3d; {<italic>C</italic>
<sub>1</sub>, <italic>C</italic>
<sub>2</sub>, &#x2026; , <italic>C</italic>
<sub>
<italic>i</italic>
</sub>}(<italic>C</italic>
<sub>1</sub> &#x222a; <italic>C</italic>
<sub>2</sub>, &#x2026; , &#x222a; <italic>C</italic>
<sub>
<italic>i</italic>
</sub> &#x2286; <italic>V</italic>). A community can be represented as a node set <italic>C</italic> &#x3d; {<italic>v</italic>
<sub>1</sub>, <italic>v</italic>
<sub>2</sub>, &#x2026; , <italic>v</italic>
<sub>
<italic>j</italic>
</sub>}(<italic>C</italic> &#x2208; <bold>C</bold>, <italic>v</italic>
<sub>
<italic>i</italic>
</sub> &#x2208; <italic>V</italic>). The given node <italic>v</italic>
<sub>
<italic>g</italic>
</sub> is the initial node for local community detection, where <italic>v</italic>
<sub>
<italic>g</italic>
</sub> &#x2208; <italic>V</italic>. The target community <italic>C</italic>
<sub>
<italic>target</italic>
</sub> is a community where the given node is located in the real network, where <italic>C</italic>
<sub>
<italic>target</italic>
</sub> &#x2208; <bold>C</bold>, <italic>v</italic>
<sub>
<italic>g</italic>
</sub> &#x2208; <italic>C</italic>
<sub>
<italic>target</italic>
</sub>. The local community detection aims to detect the most similar community to the target community based on the given node.</p>
</sec>
<sec id="s3-3">
<title>3.3 Basic definitions</title>
<p>The definitions related to this paper are presented in this subsection.</p>
<p>
<statement content-type="definition" id="Definition_1">
<label>Definition 1</label>
<p>(Neighboring nodes). The neighboring nodes <italic>N</italic>(<italic>v</italic>) of node <italic>v</italic> is defined as follows:<disp-formula id="e1">
<mml:math id="m1">
<mml:mi>N</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:math>
<label>(1)</label>
</disp-formula>where node <italic>v</italic> and node <italic>v</italic>
<sub>
<italic>i</italic>
</sub> are connected by a link. <italic>E</italic> is the link set and <italic>V</italic> is the node set of network <italic>G</italic>.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_2">
<label>Definition 2</label>
<p>(Neighboring Community). The neighboring community &#x393;(<italic>v</italic>) of node <italic>v</italic> is defined as follows:<disp-formula id="e2">
<mml:math id="m2">
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x222a;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The neighboring community of a node is the union of the node and its neighboring nodes. <xref ref-type="fig" rid="F2">Figure 2</xref> displays the nodes distribution of Karate network, and <xref ref-type="fig" rid="F3">Figure 3</xref> displays a part of Karate network. For instance, all nodes in <xref ref-type="fig" rid="F3">Figure 3A</xref> make up the neighboring community of node <italic>v</italic>
<sub>1</sub>, &#x393;(1) &#x3d; {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 18, 20, 22, 32}. Our algorithm takes the neighboring community of the seed node as the initial community for expansion.</p>
</statement>
</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>The node distribution of the <italic>Karate network</italic>.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>An example of exploring the potential community of node <italic>v</italic>
<sub>1</sub>. <bold>(A)</bold> The distribution of node <italic>v</italic>
<sub>1</sub> and its neighbors. <bold>(B)</bold> Remove <italic>v</italic>
<sub>1</sub> and its links between its neighbors. <bold>(C)</bold> Potential communities of <italic>v</italic>
<sub>1</sub>.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g003.tif"/>
</fig>
<p>
<statement content-type="definition" id="Definition_3">
<label>Definition 3</label>
<p>(Community Neighbors). The community neighbors <italic>N</italic>(<italic>C</italic>) of community <italic>C</italic> is defined as follows:<disp-formula id="e3">
<mml:math id="m3">
<mml:mi>N</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>u</mml:mi>
<mml:mo>&#x2209;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>&#x2203;</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>The community neighbors are neighboring nodes of community members, which are not in the community. Our algorithm takes the community neighbors of the detected community as suspicious nodes.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_4">
<label>Definition 4</label>
<p>(Connected component). The connected component is defined as follows:</p>
<p>The connected component is a set of nodes, where there is a path between each pair of nodes. Nodes in the connected component are closely connected.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_5">
<label>Definition 5</label>
<p>(Potential Community). The potential community of a node is defined as follows:</p>
<p>The potential communities of a node are a series of connected components that consist of the node&#x2019;s neighbors. That is, every pair of nodes in the adjacent node is connected to each other.</p>
<p>We can search for the potential communities of node <italic>v</italic> by the following steps.<list list-type="simple">
<list-item>
<p>Step 1: Set up a subgraph <italic>G</italic>
<sub>
<italic>v</italic>
</sub> that is composed of node neighbors <italic>N</italic>(<italic>v</italic>) and links between them. That is, a tight node set formed by neighbors where each pair of nodes have a path, which is called the potential community.</p>
</list-item>
<list-item>
<p>Step 2: Starting from one node in <italic>G</italic>
<sub>
<italic>v</italic>
</sub>, the proposed algorithm walks along the link and records the nodes encountered. When a path ends, it continues to walk along the previous branch until no branch can be continued. The nodes recorded constitute a connected component (The subnetwork with only one node is also considered to be a connected component.)</p>
</list-item>
<list-item>
<p>Step 3: The connected component found in step 2 is one potential community of <italic>v</italic>, denoted by <italic>P</italic>(<italic>v</italic>)<sub>
<italic>i</italic>
</sub>. Remove <italic>P</italic>(<italic>v</italic>)<sub>
<italic>i</italic>
</sub> from <italic>G</italic>
<sub>
<italic>v</italic>
</sub>. The proposed algorithm iterates step 2 until there are no nodes left in <italic>G</italic>
<sub>
<italic>v</italic>
</sub>.</p>
</list-item>
</list>
</p>
<p>Note that <inline-formula id="inf1">
<mml:math id="m4">
<mml:msub>
<mml:mrow>
<mml:mo>&#x22c3;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, and <italic>&#x2200;P</italic>(<italic>v</italic>)<sub>
<italic>i</italic>
</sub>, <italic>P</italic>(<italic>v</italic>)<sub>
<italic>j</italic>
</sub> &#x2208; <italic>P</italic>(<italic>v</italic>), <italic>i</italic> &#x2260; <italic>j</italic>, <italic>P</italic>(<italic>v</italic>)<sub>
<italic>i</italic>
</sub> &#x2229; <italic>P</italic>(<italic>v</italic>)<sub>
<italic>j</italic>
</sub> &#x3d; &#x2205;, where <italic>P</italic>(<italic>v</italic>) represents the union of <italic>P</italic>(<italic>v</italic>)<sub>
<italic>i</italic>
</sub>.</p>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> displays the process of exploring the potential communities of node <italic>v</italic>
<sub>1</sub> in the <italic>Karate Club Network</italic> [<xref ref-type="bibr" rid="B42">42</xref>]. We use all neighboring nodes of node <italic>v</italic>
<sub>1</sub> to form a subgraph <inline-formula id="inf2">
<mml:math id="m5">
<mml:msub>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. The connected components determined by the proposed algorithm are {2, 3, 4, 5, 13, 14, 18, 20, 22}, {5, 6, 7, 11}, {12} and {32}.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_6">
<label>Definition 6</label>
<p>(Node Similarity). The similarity between a pair of nodes is defined as follows:<disp-formula id="e4">
<mml:math id="m6">
<mml:mi>N</mml:mi>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2229;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x222a;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:math>
<label>(4)</label>
</disp-formula>
</p>
<p>The Jaccard similarity coefficient [<xref ref-type="bibr" rid="B43">43</xref>] is a common measure used to compare the similarity between two finite sets. It is easy to compute and has linear time complexity. Therefore, we use the Jaccard similarity coefficient value of two nodes&#x2019; neighboring communities to measure the similarity between the two nodes.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_7">
<label>Definition 7</label>
<p>(Node Community Similarity). The similarity between community <italic>C</italic> and node <italic>v</italic> is defined as follows:<disp-formula id="e5">
<mml:math id="m7">
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2229;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#xd7;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2229;</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:math>
<label>(5)</label>
</disp-formula>where &#x7c;&#x393;(<italic>v</italic>) &#x2229; <italic>C</italic>&#x7c; denotes the number of nodes in the intersection of the neighboring community of node <italic>v</italic> and community <italic>C</italic> and <italic>d</italic>(<italic>v</italic>) denotes the degree of node <italic>v</italic>.</p>
<p>We use the internal links in the intersection of the neighboring community of the node and community as the measurement of similarity between the node and community. To distinguish the situation in which there is the same number of links in the intersection, we set the degree of nodes on both sides of the link as the weight of the link. In addition, a larger scale of intersection means a higher similarity between the node and community. Therefore, we add the number of nodes in the intersection to the formula.</p>
</statement>
</p>
<p>
<statement content-type="definition" id="Definition_8">
<label>Definition 8</label>
<p>(Fittest Community). The fittest community <italic>FC</italic> to which node <italic>v</italic> belongs is defined as follows:<disp-formula id="e6">
<mml:math id="m8">
<mml:mi>F</mml:mi>
<mml:mi>C</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>arg</mml:mi>
<mml:mi>max</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>S</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mo>&#x222a;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">detected</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>v</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>V</mml:mi>
</mml:math>
<label>(6)</label>
</disp-formula>where <bold>P</bold> is the potential community set of node <italic>v</italic>.</p>
<p>The fittest community to which a node belongs is the community that has the greatest similarity to the node among the potential communities of the node and the detected community. In the process of community expansion, nodes with the fittest community being the detected community will be added to the detected community. In addition, when the detected community and the potential communities have the greatest similarity to the node at the same time, we choose the detected community as the fittest community.</p>
</statement>
</p>
</sec>
<sec id="s3-4">
<title>3.4 The proposed algorithm</title>
<p>The proposed algorithm named <italic>LCDPC</italic> includes three stages: seed selection, community initialization, and community expansion. In order to give readers a clear description of the proposed algorithm, we show an example on <italic>Karate Club Network</italic> in <xref ref-type="fig" rid="F3">Figures 3</xref>, <xref ref-type="fig" rid="F4">4</xref>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>An example of community initialization and community expansion of seed <italic>v</italic>
<sub>1</sub>. <bold>(A)</bold> The initial community of seed <italic>v</italic>
<sub>1</sub>. <bold>(B)</bold> The process of identification on the membership of node <italic>v</italic>
<sub>5</sub>.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g004.tif"/>
</fig>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> shows an example of exploring the potential community of node <italic>v</italic>
<sub>1</sub>. As described in <bold>Definition.</bold>5, we first get the network composed of the node <italic>v</italic>
<sub>1</sub> and its neighboring nodes in <xref ref-type="fig" rid="F3">Figure 3A</xref>. Second, we removed node <italic>v</italic>
<sub>1</sub> and its links which is shown in <xref ref-type="fig" rid="F3">Figure 3B</xref>. Third, each circle in <xref ref-type="fig" rid="F3">Figure 3C</xref> is a connected component, the potential community of node <italic>v</italic>
<sub>1</sub>.</p>
<p>When node <italic>v</italic>
<sub>1</sub> is the seed, the initial community of seed <italic>v</italic>
<sub>1</sub> is shown in <xref ref-type="fig" rid="F4">Figure 4A</xref>. We can get the connected components of node <italic>v</italic>
<sub>1</sub> is {<italic>v</italic>
<sub>2</sub>, <italic>v</italic>
<sub>3</sub>, <italic>v</italic>
<sub>4</sub>, <italic>v</italic>
<sub>8</sub>, <italic>v</italic>
<sub>9</sub>, <italic>v</italic>
<sub>13</sub>, <italic>v</italic>
<sub>14</sub>, <italic>v</italic>
<sub>18</sub>, <italic>v</italic>
<sub>20</sub>, <italic>v</italic>
<sub>22</sub>} with similarity 3,784, {<italic>v</italic>
<sub>5</sub>, <italic>v</italic>
<sub>6</sub>, <italic>v</italic>
<sub>7</sub>, <italic>v</italic>
<sub>11</sub>} with similarity 450, {<italic>v</italic>
<sub>12</sub>} with similarity 30 and {<italic>v</italic>
<sub>32</sub>} with similarity 40 from <xref ref-type="fig" rid="F3">Figure 3C</xref>. Therefore, we will form the initial community with node <italic>v</italic>
<sub>1</sub> and the connected component that is most similar to node <italic>v</italic>
<sub>1</sub>.</p>
<p>
<xref ref-type="fig" rid="F4">Figure 4B</xref> shows the process of identification on the membership of node <italic>v</italic>
<sub>5</sub>. Note that, the value of node degree is in the whole network rather than in the subgraph. First, we get the neighboring nodes of <italic>v</italic>
<sub>5</sub>, where {<italic>v</italic>
<sub>1</sub>} is neighbor inside the community and {<italic>v</italic>
<sub>7</sub>, <italic>v</italic>
<sub>11</sub>} are neighbors outside the community. Then, we explore the potential community of <italic>v</italic>
<sub>5</sub>, {<italic>v</italic>
<sub>7</sub>} and {<italic>v</italic>
<sub>11</sub>}. The similarity between {<italic>v</italic>
<sub>7</sub>} and <italic>v</italic>
<sub>5</sub> is (3 &#x2b; 4)&#x2a;2 &#x3d; 14 is bigger than the similarity between {<italic>v</italic>
<sub>11</sub>} and <italic>v</italic>
<sub>5</sub> is (3 &#x2b; 3)&#x2a;2 &#x3d; 12. So the external similarity is 14 The internal similarity between {<italic>v</italic>
<sub>1</sub>} and <italic>v</italic>
<sub>5</sub> is (16 &#x2b; 3)&#x2a;2 &#x3d; 38 is bigger than 14. Therefore, node <italic>v</italic>
<sub>5</sub> is assigned to the community. If we perform the process without the application of potential community, the external neighboring nodes are considered as a whole {<italic>v</italic>
<sub>7</sub>, <italic>v</italic>
<sub>11</sub>}. The similarity between {<italic>v</italic>
<sub>7</sub>, <italic>v</italic>
<sub>11</sub>} and <italic>v</italic>
<sub>5</sub> is ((3 &#x2b; 4) &#x2b; (3 &#x2b; 3))&#x2a;2 &#x3d; 39 which is bigger than internal similarity 38. Therefore, node <italic>v</italic>
<sub>5</sub> is not a member of the detected community.</p>
<p>There are four pseudo-code of <italic>LCDPC</italic> displaying in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>, <xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>, <xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>, and <xref ref-type="statement" rid="Algorithm_4">Algorithm 4</xref>. The flow chart of each process is shown in <xref ref-type="fig" rid="F5">Figure 5</xref>. The details of each procedure are shown in the following text.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>The flow chart of <italic>LCDPC</italic>s. <bold>(A)</bold> The flow chart of seed selection process. <bold>(B)</bold> The flow chart of community initialization process. <bold>(C)</bold> The flow chart of community expansion process.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g005.tif"/>
</fig>
<p>
<italic>Potential community exploration.</italic> Line three initializes a community <italic>P</italic> to the empty set to store the potential community. Line four initializes a <italic>list</italic> to store the nodes that make up the potential community. Then the first node from <italic>list</italic> is pulled out and <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> is initialized as this node (Line 6). Lines eight to nine search for node sets that are linked in the common neighbors between the neighbors of <italic>v</italic>&#x2019; and the neighbors of <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> and store these nodes in <italic>P</italic> and <italic>list</italic>, respectively. Lines 5&#x2013;10 repeat the algorithm until there are no nodes in <italic>list</italic>. Saving a potential community <italic>P</italic> obtained above to <italic>Ps</italic> (Line 11). Lines 2&#x2013;12 repeat the algorithm until each node <italic>v</italic>
<sub>
<italic>i</italic>
</sub> neighbors <italic>v</italic>. Line 13 returns all the potential communities <italic>Ps</italic>.</p>
<p>
<italic>Seed selection.</italic> The seed selection procedure aims to search for the most suitable node as the seed of the target community where the given node is located. In the process of seed selection, <italic>LCDPC</italic> searches the node that meets the following two conditions: first, the degree of the node is greater than that of the given node; second, the node similarity between this node and the given node is the highest among neighboring nodes of the given node. In <xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>, Line one initializes a community to the empty set to store the result community after the community expansion procedure. Line two calculates the degree of each node in the graph, which is the measurement of node similarity. Line seven calculates the neighboring nodes <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>). Line 10 calculates the similarity between the seed and each node in the neighboring nodes of the seed. Lines 8&#x2013;17 search the seed based on the two conditions among <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>). The seed will be replaced iteratively by the node searched by the program above until no node meets the conditions (Lines 5&#x2013;18)).</p>
<p>
<italic>Community initialization.</italic> The community initialization procedure generates an initial community based on the seed. The initial community consists of the seed and the potential community of the seed that has the highest similarity to the seed. In <xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>, Line three calculates the potential community sets <bold>P</bold>(<italic>v</italic>
<sub>
<italic>seed</italic>
</sub>) of the seed based on <bold>Definition.</bold>5. Line five calculates the similarity between the seed and each potential community in <bold>P</bold>(<italic>v</italic>
<sub>
<italic>seed</italic>
</sub>). The seed and the potential community with the highest similarity to the seed form the initial community (Lines 4&#x2013;10).</p>
<p>
<italic>Community expansion.</italic> The community expansion procedure adds eligible suspicious nodes to the initial community to form the resulting community. The eligible suspicious nodes should satisfy the condition that the fittest community of the node is the detected community expanded from the initial community. In <xref ref-type="statement" rid="Algorithm_4">Algorithm 4</xref>, the initial community generated by the community initialization procedure is assigned to the temporary community (Line 1). Line two initializes a list of suspicious nodes to the empty set. Line five obtains the community neighbors <italic>N</italic>(<italic>C</italic>
<sub>
<italic>temp</italic>
</sub>) of community <italic>C</italic>
<sub>
<italic>temp</italic>
</sub> based on <bold>Definition.</bold>3. Line one assigns <italic>N</italic>(<italic>C</italic>
<sub>
<italic>temp</italic>
</sub>) to the list of suspicious nodes. For each node in the list of suspicious nodes, <italic>LCDPC</italic> gets the potential community set (Line 9) and calculates the fittest community (Line 10). If the fittest community is the detected community, the node will be added to the detected community (Lines 11&#x2013;12), and Line 13 adds the neighboring nodes that are outside the detected community to the list of suspicious nodes. The program stops when there is no suspicious node meeting the condition, which means that the community does not change anymore (Line 16).</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>Potential communities exploration.<list list-type="simple">
<list-item>
<p>
<bold>Input:</bold> Graph <italic>G</italic> &#x3d; {<italic>V</italic>, <italic>E</italic>}, link set <italic>E</italic>, node set <italic>V</italic>, node <italic>v</italic>.</p>
</list-item>
<list-item>
<p>
<bold>Output:</bold> Potential communities <italic>Ps</italic>.</p>
</list-item>
<list-item>
<p>
<bold>Process:</bold>
</p>
</list-item>
<list-item>
<p>1: Calculate neighboring nodes <italic>N</italic>(<italic>v</italic>) of <italic>v</italic> based on <bold>Definition.</bold>1;</p>
</list-item>
<list-item>
<p>2: <bold>for all</bold> <italic>v</italic>
<sub>
<italic>i</italic>
</sub> &#x2208; <italic>N</italic>(<italic>v</italic>) <bold>do</bold>
</p>
</list-item>
<list-item>
<p>3: Initialize <italic>P</italic> &#x3d; <italic>&#xf8;</italic>
</p>
</list-item>
<list-item>
<p>4: Initialize <italic>list</italic> &#x3d; <italic>v</italic>
<sub>
<italic>i</italic>
</sub>
</p>
</list-item>
<list-item>
<p>5: <bold>do</bold>
</p>
</list-item>
<list-item>
<p>6: Initialize <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> &#x3d; pull out the first node from list</p>
</list-item>
<list-item>
<p>7: Calculate neighboring nodes <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>) of <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> based on <bold>Definition.</bold>1;</p>
</list-item>
<list-item>
<p>8: <italic>P</italic> &#x3d; <italic>P</italic> &#x222a; (<italic>N</italic>(<italic>v</italic>) &#x2229; <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>))</p>
</list-item>
<list-item>
<p>9: <italic>list</italic> &#x3d; <italic>list</italic> &#x222a; (<italic>N</italic>(<italic>v</italic>) &#x2229; <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>))</p>
</list-item>
<list-item>
<p>10: <bold>while</bold> list &#x3d; &#x3d; &#xf8;</p>
</list-item>
<list-item>
<p>11: Add <italic>P</italic> to <italic>Ps</italic>
</p>
</list-item>
<list-item>
<p>12: <bold>end for</bold>
</p>
</list-item>
<list-item>
<p>13: return <italic>Ps</italic>
</p>
</list-item>
</list>
</p>
</statement>
</p>
<p>
<statement content-type="algorithm" id="Algorithm_2">
<label>Algorithm 2</label>
<p>Seed selection.<list list-type="simple">
<list-item>
<p>
<bold>Input:</bold> Graph <italic>G</italic> &#x3d; {<italic>V</italic>, <italic>E</italic>}, link set <italic>E</italic>, node set <italic>V</italic>, seed node <italic>v</italic>
<sub>
<italic>seed</italic>
</sub>.</p>
</list-item>
<list-item>
<p>
<bold>Output:</bold> candidate seed <italic>v</italic>
<sub>
<italic>seed</italic>
</sub>.</p>
</list-item>
<list-item>
<p>
<bold>Process:</bold>
</p>
</list-item>
<list-item>
<p>1: Initialize a community <italic>C</italic>, <italic>C</italic> &#x3d; <italic>&#xf8;</italic>;</p>
</list-item>
<list-item>
<p>2: Calculate the degree <inline-formula id="inf3">
<mml:math id="m9">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> of each node <italic>v</italic>
<sub>
<italic>i</italic>
</sub> &#x2208; <italic>V</italic>;</p>
</list-item>
<list-item>
<p>3: Set <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> &#x3d; <italic>v</italic>
<sub>
<italic>seed</italic>
</sub>;</p>
</list-item>
<list-item>
<p>4: Set max&#x2009;_<italic>similarity</italic> &#x3d; 0;</p>
</list-item>
<list-item>
<p>5: <bold>do</bold>
</p>
</list-item>
<list-item>
<p>6: <italic>v</italic>
<sub>
<italic>seed</italic>
</sub> &#x3d; <italic>v</italic>
<sub>
<italic>temp</italic>
</sub>;</p>
</list-item>
<list-item>
<p>7: Calculate neighboring nodes <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>) of <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> based on <bold>Definition.</bold>1;</p>
</list-item>
<list-item>
<p>8: <bold>for all</bold> <italic>v</italic>
<sub>
<italic>i</italic>
</sub> &#x2208; <italic>N</italic> (<italic>v</italic>
<sub>
<italic>temp</italic>
</sub>) <bold>do</bold>
</p>
</list-item>
<list-item>
<p>9: <bold>if</bold> <inline-formula id="inf4">
<mml:math id="m10">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">temp</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>10: Calculate the node similarity <italic>NS</italic>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>, <italic>v</italic>
<sub>
<italic>temp</italic>
</sub>) between <italic>v</italic>
<sub>
<italic>i</italic>
</sub> and</p>
</list-item>
<list-item>
<p>11: <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> based on <bold>Definition.</bold>6;</p>
</list-item>
<list-item>
<p>12: <bold>if</bold> <italic>NS</italic>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>, <italic>v</italic>
<sub>
<italic>temp</italic>
</sub>) &#x3e; max&#x2009;_<italic>similarity</italic> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>13: <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> &#x3d; <italic>v</italic>
<sub>
<italic>i</italic>
</sub>;</p>
</list-item>
<list-item>
<p>14: max&#x2009;_<italic>similarity</italic> &#x3d; <italic>NS</italic>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>, <italic>v</italic>
<sub>
<italic>temp</italic>
</sub>);</p>
</list-item>
<list-item>
<p>15: <bold>end if</bold>
</p>
</list-item>
<list-item>
<p>16: <bold>end if</bold>
</p>
</list-item>
<list-item>
<p>17: <bold>end for</bold>
</p>
</list-item>
<list-item>
<p>18: <bold>while</bold> <italic>v</italic>
<sub>
<italic>temp</italic>
</sub> &#x2260; <italic>v</italic>
<sub>
<italic>seed</italic>
</sub>
</p>
</list-item>
<list-item>
<p>19: return <italic>v</italic>
<sub>
<italic>seed</italic>
</sub>
</p>
</list-item>
</list>
</p>
</statement>
</p>
<p>
<statement content-type="algorithm" id="Algorithm_3">
<label>Algorithm 3</label>
<p>Community initialization.<list list-type="simple">
<list-item>
<p>
<bold>Input:</bold> Graph <italic>G</italic> &#x3d; {<italic>V</italic>, <italic>E</italic>}, link set <italic>E</italic>, node set <italic>V</italic>, seed node <italic>v</italic>
<sub>
<italic>seed</italic>
</sub>.</p>
</list-item>
<list-item>
<p>
<bold>Output:</bold> Initial Community <italic>C</italic>
<sub>
<italic>initial</italic>
</sub>.</p>
</list-item>
<list-item>
<p>
<bold>Process:</bold>
</p>
</list-item>
<list-item>
<p>1: Set <italic>similarity</italic>_max &#x3d; 0;</p>
</list-item>
<list-item>
<p>2: Calculate the neighboring community <italic>N</italic> (<italic>v</italic>
<sub>
<italic>seed</italic>
</sub>) of <italic>v</italic>
<sub>
<italic>seed</italic>
</sub> based on <bold>Definition.</bold>2;</p>
</list-item>
<list-item>
<p>3: Calculate the potential community set <bold>P</bold> (<italic>v</italic>
<sub>
<italic>seed</italic>
</sub>) based on <bold>Definition.</bold>5;</p>
</list-item>
<list-item>
<p>4: <bold>for all</bold> <inline-formula id="inf5">
<mml:math id="m11">
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="bold">P</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>5: Calculate the node community similarity <inline-formula id="inf6">
<mml:math id="m12">
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> between <inline-formula id="inf7">
<mml:math id="m13">
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <italic>v</italic>
<sub>
<italic>seed</italic>
</sub> based on <bold>Definition.</bold>6;</p>
</list-item>
<list-item>
<p>6: <bold>if</bold> <inline-formula id="inf8">
<mml:math id="m14">
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3e;</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>y</mml:mi>
<mml:mtext>_</mml:mtext>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
</mml:math>
</inline-formula> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>7: <inline-formula id="inf9">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">initial</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x222a;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>8: <inline-formula id="inf10">
<mml:math id="m16">
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>y</mml:mi>
<mml:mtext>_</mml:mtext>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mi>C</mml:mi>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>P</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">seed</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>9: <bold>end if</bold>
</p>
</list-item>
<list-item>
<p>10: <bold>end for</bold>
</p>
</list-item>
<list-item>
<p>11: return <italic>C</italic>
<sub>
<italic>initial</italic>
</sub>
</p>
</list-item>
</list>
</p>
</statement>
</p>
<p>
<statement content-type="algorithm" id="Algorithm_4">
<label>Algorithm 4</label>
<p>Community expansion.<list list-type="simple">
<list-item>
<p>
<bold>Input:</bold> Graph <italic>G</italic> &#x3d; {<italic>V</italic>, <italic>E</italic>}, link set <italic>E</italic>, node set <italic>V</italic>, Initial Community <italic>C</italic>
<sub>
<italic>initial</italic>
</sub>.</p>
</list-item>
<list-item>
<p>
<bold>Output:</bold> Community <italic>C</italic>.</p>
</list-item>
<list-item>
<p>
<bold>Process:</bold>
</p>
</list-item>
<list-item>
<p>1: Set <italic>C</italic>
<sub>
<italic>temp</italic>
</sub> &#x3d; <italic>C</italic>
<sub>
<italic>initial</italic>
</sub>;</p>
</list-item>
<list-item>
<p>2: Set <italic>suspicious</italic>_<italic>list</italic> &#x3d; <italic>&#xf8;</italic>;</p>
</list-item>
<list-item>
<p>3: <bold>do</bold>
</p>
</list-item>
<list-item>
<p>4: <italic>C</italic> &#x3d; <italic>C</italic>
<sub>
<italic>temp</italic>
</sub>;</p>
</list-item>
<list-item>
<p>5: Get the community neighbors <italic>N</italic>(<italic>C</italic>
<sub>
<italic>temp</italic>
</sub>) of community <italic>C</italic>
<sub>
<italic>temp</italic>
</sub> based on <bold>Definition.</bold>3</p>
</list-item>
<list-item>
<p>6: <italic>suspicious</italic>_<italic>list</italic> &#x3d; <italic>N</italic>(<italic>C</italic>
<sub>
<italic>temp</italic>
</sub>);</p>
</list-item>
<list-item>
<p>7: <bold>while</bold> <italic>suspicious</italic>_<italic>list</italic> &#x2260; <italic>&#xf8;</italic> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>8: Pull <italic>v</italic>
<sub>
<italic>i</italic>
</sub> from <italic>suspicious</italic>_<italic>list</italic>;</p>
</list-item>
<list-item>
<p>9: Get the potential community set <bold>P</bold>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>) based on <bold>Definition.</bold>5</p>
</list-item>
<list-item>
<p>10: Calculate the fittest community <italic>FC</italic>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>) of <italic>v</italic>
<sub>
<italic>i</italic>
</sub> based on <bold>Definition.</bold>8</p>
</list-item>
<list-item>
<p>11: <bold>if</bold> <italic>FC</italic>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>) &#x3d; <italic>C</italic>
<sub>
<italic>temp</italic>
</sub> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>12: Add node <italic>v</italic>
<sub>
<italic>i</italic>
</sub> to <italic>C</italic>
<sub>
<italic>temp</italic>
</sub>;</p>
</list-item>
<list-item>
<p>13: update <italic>suspicious</italic>_<italic>list</italic> &#x3d; <italic>N</italic>(<italic>v</italic>
<sub>
<italic>i</italic>
</sub>) &#x2212; <italic>C</italic>
<sub>
<italic>temp</italic>
</sub>;</p>
</list-item>
<list-item>
<p>14: <bold>end if</bold>
</p>
</list-item>
<list-item>
<p>15: <bold>end while</bold>
</p>
</list-item>
<list-item>
<p>16: <bold>while</bold> <italic>C</italic> &#x2260; <italic>C</italic>
<sub>
<italic>temp</italic>
</sub>
</p>
</list-item>
<list-item>
<p>17: return <italic>C</italic>
</p>
</list-item>
</list>
</p>
</statement>
</p>
<sec id="s3-4-1">
<title>3.4.1 Time complexity analysis</title>
<p>We analyze the time complexity of <italic>LCDPC</italic> on a network <italic>G</italic> with an average degree of <inline-formula id="inf11">
<mml:math id="m17">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> in the following. The analysis is performed in three steps of our algorithm.</p>
<p>The first step is to execute the <xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref> to find candidate core members of the seed node; this step requires <inline-formula id="inf12">
<mml:math id="m18">
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> [<xref ref-type="bibr" rid="B18">18</xref>]. In the second step, we initialize the detected community based on the output of <xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>, as shown in the first phase of <xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>. Detecting all suspicious nodes requires <inline-formula id="inf13">
<mml:math id="m19">
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> where <inline-formula id="inf14">
<mml:math id="m20">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the mean size of the potential community. Then <xref ref-type="statement" rid="Algorithm_4">Algorithm 4</xref> is executed to identify each suspicious node; this algorithm takes <inline-formula id="inf15">
<mml:math id="m21">
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Accordingly, the time complexity of step 2 is <inline-formula id="inf16">
<mml:math id="m22">
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. The last step is to expand the community from the initial community. This requires <inline-formula id="inf17">
<mml:math id="m23">
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> where <italic>r</italic> is the maximum length of the path from the seed node to the community fringe. Finally, the overall time complexity of our method is <inline-formula id="inf18">
<mml:math id="m24">
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
</sec>
</sec>
</sec>
<sec id="s4">
<title>4 Experiments and analyses</title>
<p>All the proposed algorithms and the comparison algorithms in this paper are written in JAVA and run on a computer with Intel (R) Core (TM) i5-4590 CPU, 3.3 GHz, and 16&#xa0;GB RAM.</p>
<sec id="s4-1">
<title>4.1 Evaluation criteria</title>
<p>To verify the performance of the proposed algorithms, we use the following two common evaluation criteria of community detection: <italic>NMI</italic> [<xref ref-type="bibr" rid="B44">44</xref>] (the normalized mutual information) and the <italic>F-measure</italic> [<xref ref-type="bibr" rid="B45">45</xref>].</p>
<sec id="s4-1-1">
<title>4.1.1 Normalized mutual information</title>
<p>
<italic>Danon et al.</italic> proposed normal mutual information (<italic>NMI</italic>) measure [<xref ref-type="bibr" rid="B44">44</xref>] based on information entropy to measure the similarity between real-world communities and detected communities. This measure defines a <italic>confusion matrix</italic> <bold>N</bold> with the rows denoting real-world communities and the columns denoting detected communities. Element <italic>N</italic>
<sub>
<italic>ij</italic>
</sub> in matrix <bold>N</bold> represent the numbers of nodes that exist in both community <italic>i</italic> and community <italic>j</italic> [<xref ref-type="bibr" rid="B44">44</xref>]. The formula of NMI is:<disp-formula id="e7">
<mml:math id="m25">
<mml:mi>N</mml:mi>
<mml:mi>M</mml:mi>
<mml:mi>I</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>N</mml:mi>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>A</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo movablelimits="false" form="prefix">&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>B</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>.</mml:mo>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi>N</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(7)</label>
</disp-formula>where <italic>c</italic>
<sub>
<italic>A</italic>
</sub> denotes the number of real-world communities and <italic>c</italic>
<sub>
<italic>B</italic>
</sub> denotes the number of detected communities. <italic>N</italic>
<sub>
<italic>i</italic>.</sub> and <italic>N</italic>
<sub>.<italic>j</italic>
</sub> denote the sum of elements in row <italic>i</italic> and column <italic>j</italic> respectively [<xref ref-type="bibr" rid="B44">44</xref>].</p>
<p>
<italic>NMI</italic> is used to assess the performance of algorithms in dividing communities. A good partition means a great <italic>NMI</italic> value. The extreme case is <italic>NMI</italic> value is one when the partition is correct absolutely.</p>
</sec>
<sec id="s4-1-2">
<title>4.1.2 F-measure</title>
<p>
<italic>F-Measure</italic> is a widely used evaluation criterion to assess the performance of community detection algorithms. <italic>F-Measure</italic> is defined as:<disp-formula id="e8">
<mml:math id="m26">
<mml:mi>F</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mtext>Precision</mml:mtext>
<mml:mo>&#xd7;</mml:mo>
<mml:mtext>Recall</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mtext>Precision</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mtext>Recall</mml:mtext>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>The recall and precision are as follows:<disp-formula id="e9">
<mml:math id="m27">
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2229;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(9)</label>
</disp-formula>
<disp-formula id="e10">
<mml:math id="m28">
<mml:mi>P</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2229;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>D</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:math>
<label>(10)</label>
</disp-formula>where <italic>C</italic>
<sub>
<italic>G</italic>
</sub> denotes the real-world community and <italic>C</italic>
<sub>
<italic>D</italic>
</sub> denotes the detected community,</p>
<p>
<italic>F</italic> &#x2212; <italic>Measure</italic> is the weighted harmonic average of <italic>Recall</italic> and <italic>Precision</italic>.</p>
</sec>
</sec>
<sec id="s4-2">
<title>4.2 Datasets</title>
<sec id="s4-2-1">
<title>4.2.1 Artificial networks</title>
<p>We used a set of artificial networks generated by <italic>LFR</italic> [<xref ref-type="bibr" rid="B46">46</xref>] (Lancichinetti Fortunato Radicchi) benchmark networks to test the performance of the proposed algorithms. <italic>LFR</italic> is a common method to generate artificial networks that have the properties of real-world networks. The topology of the generated artificial networks is controlled by the following parameters: <italic>&#x3bc;</italic> is a mixing parameter that is used to control the difficulty of revealing the community structure; &#x7c;<italic>C</italic>&#x7c;<sub>min</sub> is the minimum size of the community, and &#x7c;<italic>C</italic>&#x7c;<sub>max</sub> is the maximum size of the community; <inline-formula id="inf19">
<mml:math id="m29">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the mean node degree and <italic>d</italic>
<sub>max</sub> is the maximum node degree <italic>O</italic>
<sub>
<italic>n</italic>
</sub> is the number of overlapping nodes and <italic>O</italic>
<sub>
<italic>m</italic>
</sub> is the average number of node overlaps. The parameter settings of <italic>LFR</italic> benchmark networks are listed in <xref ref-type="table" rid="T2">Table 2</xref>, where the expression [<italic>a</italic>: <italic>b</italic>: <italic>c</italic>] means the value of the parameter ranges from <italic>a</italic> to <italic>c</italic> with a span of <italic>b</italic>. As displayed in <xref ref-type="table" rid="T2">Table 2</xref>, we generate three groups of benchmark networks: <italic>LFR</italic>-<italic>&#x3bc;</italic>, <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>, <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. <italic>LFR</italic>-<italic>&#x3bc;</italic> aims to examine the performance of the algorithm with the change in community identifiability. <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub> aims to examine the performance of the algorithm with the change of community size. <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub> aims to examine the performance of the algorithm with the change in node degree. To ensure the accuracy of the experiments, we generated 10 artificial networks for each group of parameters and took the average value as the result.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>The parameter settings of LFR benchmark networks.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Networks</th>
<th align="left">
<italic>n</italic>
</th>
<th align="left">
<inline-formula id="inf20">
<mml:math id="m30">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">
<italic>d</italic>
<sub>max</sub>
</th>
<th align="left">&#x7c;<italic>C</italic>&#x7c;<sub>min</sub>
</th>
<th align="left">&#x7c;<italic>C</italic>&#x7c;<sub>max</sub>
</th>
<th align="left">
<italic>&#x3bc;</italic>
</th>
<th align="left">
<italic>O</italic>
<sub>
<italic>n</italic>
</sub>
</th>
<th align="left">
<italic>O</italic>
<sub>
<italic>m</italic>
</sub>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">LFR-<italic>&#x3bc;</italic>
</td>
<td align="char" char=".">1,000</td>
<td align="left">5</td>
<td align="left">25</td>
<td align="left">10</td>
<td align="left">100</td>
<td align="left">[0.1:0.1:0.8]</td>
<td align="char" char=".">20</td>
<td align="char" char=".">2</td>
</tr>
<tr>
<td align="left">LFR-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>
</td>
<td align="char" char=".">1,000</td>
<td align="left">5</td>
<td align="left">25</td>
<td align="left">5 &#xd7; [1 : 1: 8]</td>
<td align="left">50 &#xd7; [1 : 1: 8]</td>
<td align="left">0.1</td>
<td align="char" char=".">20</td>
<td align="char" char=".">2</td>
</tr>
<tr>
<td align="left">LFR-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>
</td>
<td align="char" char=".">1,000</td>
<td align="left">[4:1:11]</td>
<td align="left">5 &#xd7; [4 : 1: 11]</td>
<td align="left">10</td>
<td align="left">100</td>
<td align="left">0.1</td>
<td align="char" char=".">20</td>
<td align="char" char=".">2</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The symbols mentioned in this section and their descriptions are displayed in <xref ref-type="table" rid="T3">Table 3</xref>.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Symbols and descriptions.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Symbols</th>
<th align="left">Descriptions (for network <italic>G</italic>)</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>n</italic>
</td>
<td align="left">The number of nodes</td>
</tr>
<tr>
<td align="left">
<italic>m</italic>
</td>
<td align="left">The number of links</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf21">
<mml:math id="m31">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">The mean degree</td>
</tr>
<tr>
<td align="left">
<italic>d</italic>
<sub>max</sub>
</td>
<td align="left">The maximum degree of node</td>
</tr>
<tr>
<td align="left">&#x7c;<italic>C</italic>&#x7c;<sub>min</sub>
</td>
<td align="left">The minimum size of the community</td>
</tr>
<tr>
<td align="left">&#x7c;<italic>C</italic>&#x7c;<sub>max</sub>
</td>
<td align="left">The maximum size of the community</td>
</tr>
<tr>
<td align="left">
<inline-formula id="inf22">
<mml:math id="m32">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">The average size of the community</td>
</tr>
<tr>
<td align="left">
<italic>&#x3bc;</italic>
</td>
<td align="left">The mixing parameter</td>
</tr>
<tr>
<td align="left">
<italic>O</italic>
<sub>
<italic>n</italic>
</sub>
</td>
<td align="left">The number of overlapping nodes</td>
</tr>
<tr>
<td align="left">
<italic>O</italic>
<sub>
<italic>m</italic>
</sub>
</td>
<td align="left">The average number of node overlaps</td>
</tr>
<tr>
<td align="left">
<italic>n</italic>
<sub>
<italic>C</italic>
</sub>
</td>
<td align="left">The number of communities</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s4-2-2">
<title>4.2.2 Real-world networks</title>
<p>
<xref ref-type="table" rid="T4">Table 4</xref> displays the characteristics of six widely used real-world networks involved in this paper. <italic>Karate</italic> is a network of a karate club [<xref ref-type="bibr" rid="B42">42</xref>]. The nodes of the network represent members of the club and the links between two nodes denote a friendship between the two members. <italic>Dolphins</italic> is a network of bottlenose dolphins living in New Zealand [<xref ref-type="bibr" rid="B47">47</xref>]. Each node represents a bottlenose dolphin and if two dolphins are in frequent contact, there will be a link between the nodes representing them. <italic>Books</italic> is a network of political books [<xref ref-type="bibr" rid="B48">48</xref>]. The nodes represent political books on the Amazon website, and there is a link between the nodes representing two books if they are often bought together. <italic>Football</italic> is a network of college football teams in America [<xref ref-type="bibr" rid="B6">6</xref>]. Each node of the network represents a college and the links indicate that two football teams which have played against each other. <italic>Amazon</italic> is a network of products on the Amazon website [<xref ref-type="bibr" rid="B33">33</xref>]. <italic>LastFM</italic> is a social network of music website users, where the nodes of the network denote users of LastFM and links denote mutual follower relationships between them [<xref ref-type="bibr" rid="B49">49</xref>].</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>The characteristics of real-world networks.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Network</th>
<th align="left">
<italic>n</italic>
</th>
<th align="left">
<italic>m</italic>
</th>
<th align="left">
<inline-formula id="inf23">
<mml:math id="m33">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">
<italic>n</italic>
<sub>
<italic>C</italic>
</sub>
</th>
<th align="left">
<inline-formula id="inf24">
<mml:math id="m34">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mo>&#x304;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</th>
<th align="left">
<italic>&#x3bc;</italic>
</th>
<th align="left">
<italic>O</italic>
<sub>
<italic>n</italic>
</sub>
</th>
<th align="left">
<italic>O</italic>
<sub>
<italic>m</italic>
</sub>
</th>
<th align="left">References</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>Karate</italic>
</td>
<td align="char" char=".">34</td>
<td align="char" char=".">156</td>
<td align="char" char=".">4.58</td>
<td align="char" char=".">2</td>
<td align="char" char=".">17.00</td>
<td align="char" char=".">0.128</td>
<td align="char" char=".">0</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">[<xref ref-type="bibr" rid="B42">42</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Dolphins</italic>
</td>
<td align="char" char=".">62</td>
<td align="char" char=".">318</td>
<td align="char" char=".">5.12</td>
<td align="char" char=".">2</td>
<td align="char" char=".">31.00</td>
<td align="char" char=".">0.038</td>
<td align="char" char=".">0</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">[<xref ref-type="bibr" rid="B47">47</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Football</italic>
</td>
<td align="char" char=".">115</td>
<td align="char" char=".">1,226</td>
<td align="char" char=".">10.66</td>
<td align="char" char=".">12</td>
<td align="char" char=".">9.58</td>
<td align="char" char=".">0.357</td>
<td align="char" char=".">0</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">[<xref ref-type="bibr" rid="B6">6</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Books</italic>
</td>
<td align="char" char=".">105</td>
<td align="char" char=".">440</td>
<td align="char" char=".">8.38</td>
<td align="char" char=".">3</td>
<td align="char" char=".">35.0</td>
<td align="char" char=".">0.159</td>
<td align="char" char=".">0</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">[<xref ref-type="bibr" rid="B48">48</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>LastFM</italic>
</td>
<td align="char" char=".">7,624</td>
<td align="char" char=".">27806</td>
<td align="char" char=".">7.29</td>
<td align="char" char=".">18</td>
<td align="char" char=".">423.56</td>
<td align="char" char=".">0.126</td>
<td align="char" char=".">0</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">[<xref ref-type="bibr" rid="B49">49</xref>]</td>
</tr>
<tr>
<td align="left">
<italic>Amazon</italic>
</td>
<td align="char" char=".">16716</td>
<td align="char" char=".">97478</td>
<td align="char" char=".">5.83</td>
<td align="char" char=".">1,163</td>
<td align="char" char=".">15.16</td>
<td align="char" char=".">0.005</td>
<td align="char" char=".">867</td>
<td align="left">2.06</td>
<td align="left">[<xref ref-type="bibr" rid="B33">33</xref>]</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s4-3">
<title>4.3 Experimental settings</title>
<p>We name the proposed algorithm that performs the process of potential community exploration to be <italic>LCDPC1</italic> and the one that does not perform the process as <italic>LCDPC2</italic>. To verify the performance of the proposed algorithm, we compared it to eight state-of-the-art local community detection algorithms: <italic>RTLCD</italic> (a Robust Two-stage Local Community Detection algorithm) [<xref ref-type="bibr" rid="B18">18</xref>], <italic>Clauset</italic> [<xref ref-type="bibr" rid="B50">50</xref>], <italic>LWP</italic> (Luo, Wang, and Promislow) [<xref ref-type="bibr" rid="B51">51</xref>], <italic>Chen</italic> [<xref ref-type="bibr" rid="B52">52</xref>], <italic>LS</italic> (Link Similarity) [<xref ref-type="bibr" rid="B53">53</xref>], <italic>VI</italic> (Vertex Influence) [<xref ref-type="bibr" rid="B54">54</xref>], <italic>LCD</italic> (Local Community Detection based on Maximum Cliques) [<xref ref-type="bibr" rid="B55">55</xref>] and <italic>LCDDCE</italic> (Local Community Detection method on line graph through Degree Centrality and Expansion) [<xref ref-type="bibr" rid="B56">56</xref>].</p>
<p>
<italic>Ding et al.</italic> [<xref ref-type="bibr" rid="B18">18</xref>] proposed a robust community detection algorithm <italic>RTLCD</italic> that consists of two stages: seed selection stage and community expansion stage. <italic>RTLCD</italic> searches the core member of the community where the given node is located in the seed selection stage, which solves the seed-dependent problem. <italic>RTLCD</italic> expands from the core member to the local community based on the relationship strength between nodes and communities in the community expansion stage, which solves the seed-invalid problem.</p>
<p>Based on the concept of <italic>Newman&#x2019;s</italic> [<xref ref-type="bibr" rid="B57">57</xref>] modularity, <italic>Clauset et al.</italic> [<xref ref-type="bibr" rid="B50">50</xref>] introduced a local community quality function &#x394;<italic>R</italic>, which can be expressed as the ratio of the links within the community to the links with one or more endpoints outside the community. The <italic>Clauset</italic> algorithm adds nodes that cause the maximum increment of the quality function &#x394;<italic>R</italic> to the community.</p>
<p>Based on the <italic>Clauset</italic> algorithm, <italic>LWP et al.</italic> [<xref ref-type="bibr" rid="B51">51</xref>] proposed an improved quality function <italic>M</italic>, which can be expressed as the edges within the community divided by the number of edges between communities. The <italic>LWP</italic> algorithm expands the community by adding nodes that cause the maximum increment of <italic>M</italic> to the community and deletes nodes that cause the maximum increment of <italic>M</italic> but are separated from the community. Different from <italic>Clauset</italic>, <italic>LWP</italic> has definite termination criteria.</p>
<p>
<italic>Chen et al.</italic> [<xref ref-type="bibr" rid="B52">52</xref>] introduced a novel quality function <italic>L</italic>, which takes the connection among nodes in the community and the connection between communities into consideration. To solve the outliers problem, the <italic>Chen</italic> algorithm checks for the changes in the quality function of the community after removing nodes.</p>
<p>
<italic>Wu et al.</italic> [<xref ref-type="bibr" rid="B53">53</xref>] proposed a link similarity algorithm (<italic>LS</italic>) that can be defined as the intersection of a node&#x2019;s neighbors and the nodes and neighborhoods of the community. First, greedy optimization of link similarity is performed, which adds nodes with the largest similarity to the community. Second, whether the nodes on the boundary should continue to remain in the community is checked. Third, nodes that have more neighbors in the boundary than in the community are removed.</p>
<p>
<italic>Fanrong et al.</italic> [<xref ref-type="bibr" rid="B55">55</xref>] took advantage of the maximum clique expansion and proposed the <italic>LCD</italic> algorithm, which takes the maximum clique as the seeds. <italic>LCD</italic> detects all the maximum cliques in the network as seeds and expands the community from these seeds according to greedy optimization until all the maximum cliques are assigned to communities.</p>
<p>
<italic>Yao et al.</italic> [<xref ref-type="bibr" rid="B54">54</xref>] proposed a variable influence local community detection algorithm (<italic>VI</italic>) based on a mechanism of influence attenuation, which is capable of detecting communities with variable scale according to the demands.</p>
<p>
<italic>Wang et al.</italic> [<xref ref-type="bibr" rid="B56">56</xref>] introduced a line graph model to local community detection, and proposed an algorithm based on node centrality and PageRank. First, edges are transferred into nodes based on the line graph model. Second, nodes are ranked by a novel node similarity and PageRank and seeds are determined by this ranking. Third, the community is expanded by a fitness function.</p>
<p>In our experiments, all the algorithms were run in six real-world networks and three groups of <italic>LFR</italic> artificial networks, and the average of the experimental results was recorded. <italic>&#x3b1;</italic> in <italic>LCDDCE</italic> is set to 1.5. Note that all the algorithms that ran for more than 24&#xa0;h were terminated. We take each node in the network as a given node and execute the algorithm with this given node. Finally, the results of all nodes are averaged as the performance of the algorithm on this network.</p>
</sec>
<sec id="s4-4">
<title>4.4 Experimental results on artificial networks</title>
<sec id="s4-4-1">
<title>4.4.1 Experimental results on LFR-<italic>&#x3bc;</italic>
</title>
<p>The purpose of <italic>LFR</italic>-<italic>&#x3bc;</italic> is to examine the performance of algorithms with the change in community identifiability. <xref ref-type="fig" rid="F6">Figures 6A, B</xref> display the <italic>NMI</italic> and <italic>F-Measure</italic> metrics for the proposed algorithms and the comparison algorithms on <italic>LFR</italic>-<italic>&#x3bc;</italic>. From the pictures, we can observe that the trend of all results is downward with the increase of mix parameter <italic>&#x3bc;</italic>. The reason for this phenomenon is as follows. The definition of parameter <italic>&#x3bc;</italic> is the sharing ratio between the node and nodes in other communities; in other words, the parameter <italic>&#x3bc;</italic> represents the ratio between links outside the community and all links of the node. Therefore, as the parameter <italic>&#x3bc;</italic> increases, the community structure becomes more difficult to detect.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>The performance of algorithms on LFR-<italic>&#x3bc;</italic>. <bold>(A)</bold> NMI on LFR-<italic>&#x03BC;</italic>. <bold>(B)</bold> F-measure on LFR-<italic>&#x03BC;</italic>. <bold>(C)</bold> Time cost on LFR-<italic>&#x03BC;</italic>.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g006.tif"/>
</fig>
<p>5As shown in <xref ref-type="fig" rid="F6">Figures 6A, B</xref>, when <italic>&#x3bc;</italic> &#x2264; 0.5, except for <italic>Chen</italic> and <italic>LS</italic>, the results show a significant downward trend, and the performance of <italic>LCDPC</italic> has always been at a high level. Although the <italic>NMI</italic> and <italic>F-Measure</italic> metrics of <italic>Chen</italic> and <italic>LS</italic> are stable, they are always at a low level. When <italic>&#x3bc;</italic> &#x3e; 0.5, the results of all algorithms are stable at a low level, because the mixed parameter <italic>&#x3bc;</italic> is so great that the community structure is very complex, and all algorithms cannot effectively detect the community structure.</p>
<p>In addition, the performance of <italic>LCDPC1</italic> is better than that of <italic>LCDPC2</italic> on each value of parameter <italic>&#x3bc;</italic>. As the parameter <italic>&#x3bc;</italic> increases, the difference between <italic>LCDPC1</italic> and <italic>LCDPC2</italic> in performance decreases. The reason for this outcome is as follows. With the increase in the parameter <italic>&#x3bc;</italic>, the links between the node and the other communities increase. In this condition, it is easy for external adjacent nodes of the node to form the potential community. The scale of the external community formed by <italic>LCDPC1</italic> and <italic>LCDPC2</italic> is almost the same, which leads to a decrease in the gain effect of the application of potential community exploration. Therefore, the exploration of potential communities plays a better role in community detection in simple networks than in complex networks.</p>
<p>
<xref ref-type="fig" rid="F6">Figure 6C</xref> shows the time cost index of all the algorithms. We can observe that the majority of results remain stable at a low. <italic>RTLCD</italic> shows a significant upward trend with the growth of <italic>&#x3bc;</italic>. <italic>VI</italic> reaches a peak at <italic>&#x3bc;</italic> &#x3d; 0.1 and decreases gradually. <italic>LCDPC1</italic> increases slightly and remains stable at <italic>&#x3bc;</italic> &#x3d; 0.4.</p>
</sec>
<sec id="s4-4-2">
<title>4.4.2 Experimental results on LFR-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>
</title>
<p>The purpose of <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub> is to examine the performance of algorithms with the change of community size. <xref ref-type="fig" rid="F7">Figures 7A, B</xref> display the <italic>NMI</italic> and <italic>F-Measure</italic> metrics for the proposed algorithms and the comparison algorithms on <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>. The top and bottom <italic>x</italic> &#x2212; <italic>label</italic> in the graph represent the maximum and minimum community sizes, respectively. As seen from the figures above, the results of algorithms on <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub> decrease with the increase in <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>. This is because communities in the network become more diverse with the increase of parameter <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>, which makes the boundaries of the community more difficult to identify.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>The performance of algorithms on LFR-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>. <bold>(A)</bold> NMI on LFR-<italic>&#x03B1;<sub>size</sub>
</italic>. <bold>(B)</bold> F-measure on LFR-<italic>&#x03B1;<sub>size</sub>
</italic>. <bold>(C)</bold> Time cost on LFR-<italic>&#x03B1;<sub>size</sub>
</italic>.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g007.tif"/>
</fig>
<p>From <xref ref-type="fig" rid="F6">Figures 6A, B</xref>, we can observe that <italic>LCDPC1</italic> outperforms the other algorithms on <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub> and shows a smooth declining trend. When <italic>minc</italic> &#x3d; 5, <italic>LCDPC2</italic>, <italic>VI</italic> and LCD perform as well as <italic>LCDPC1</italic>. However, when <italic>minc</italic> &#x3e; 5, the performance of <italic>LCDPC2</italic>, <italic>VI</italic> and <italic>LCD</italic> decrease sharply. The reason for this result is as follows. As mentioned above, the community of the network becomes more diverse with the increase in the parameter <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>. Therefore, the similarity between a neighboring community to a node becomes diverse. The application of potential community exploration helps <italic>LCDPC1</italic> subdivide the similarity from a neighboring community to a node. The detailed similarity division makes <italic>LCDPC1</italic> have a better effect than other algorithms. This explanation is confirmed in <xref ref-type="fig" rid="F7">Figures 7A, B</xref>, where the results gap between <italic>LCDPC1</italic> and <italic>LCDPC2</italic> becomes wider with the increase of the parameter <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>.</p>
</sec>
<sec id="s4-4-3">
<title>4.4.3 Experimental results on LFR-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>
</title>
<p>The purpose of <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub> is to demonstrate the performance of algorithms with the change of node degrees. <xref ref-type="fig" rid="F8">Figures 8A, B</xref> display the <italic>NMI</italic> and <italic>F-Measure</italic> metrics for the proposed algorithms and the comparison algorithms on <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. The top and bottom <italic>x</italic> &#x2212; <italic>label</italic> in the graph represent the maximum and mean values of node degree, respectively. From the figures above, we find that the efficiency in community detection of algorithms on <italic>LFR</italic>-<italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub> improves with the increase of parameter <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>. The reason for this outcome is as follows. In the <italic>LFR</italic> network, the parameter <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub> represents the node diversity. As the parameter <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub> increases, the richer node diversity can bring more node information, which makes it easier for the algorithm to identify nodes.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>The performance of algorithms on LFR-<italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. <bold>(A)</bold> NMI on LFR-&#x03B1;<sub>degree</sub>. <bold>(B)</bold> F-measure on LFR-&#x03B1;<sub>degree</sub>. <bold>(C)</bold> Time cost on LFR-&#x03B1;<sub>degree</sub>.</p>
</caption>
<graphic xlink:href="fphy-11-1114296-g008.tif"/>
</fig>
<p>From <xref ref-type="fig" rid="F8">Figures 8A, B</xref>, we find that the performance of <italic>VI</italic>, <italic>LCD</italic> improves significantly with increasing <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. However, as shown in <xref ref-type="fig" rid="F8">Figure 8C</xref>, these algorithms consume much more time on node information processing with the increase of <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. Furthermore, the difference between <italic>LCDPC1</italic> and <italic>LCDPC2</italic> in terms of the gain effect of potential community application, decreases with the increase in the parameter <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. As mentioned above, with the increase of parameter <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>, nodes are easier to identify, which weakens the gain effect of potential communities application. Therefore, the application of potential communities is effective in identifying nodes with poor degrees.</p>
</sec>
</sec>
<sec id="s4-5">
<title>4.5 Experimental results on real-world networks</title>
<p>
<xref ref-type="table" rid="T5">Table 5</xref> displays <italic>NMI</italic>, <italic>Recall</italic>, <italic>Precision</italic>, <italic>F-Measure</italic> and Time metrics of the proposed algorithms with other comparison algorithms on five real-world networks. <xref ref-type="table" rid="T6">Table 6</xref> lists the performance differences between <italic>LCDPC1</italic> and <italic>LCDPC2</italic> in terms of <italic>NMI</italic>, <italic>Recall</italic>, <italic>Precision</italic> and <italic>F-Measure</italic> metrics. From <xref ref-type="table" rid="T5">Table 5</xref>, we find that <italic>LCDPC1</italic> shows better average performance in detecting communities of real networks than the other comparison algorithms. This result shows that the proposed algorithm outperforms state-of-the-art local community detection algorithms in community identification.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>The algorithm results on real-world networks. The maximum value in a criterion is marked in bold.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Network</th>
<th align="left">Criteria</th>
<th align="left">LCDPC1</th>
<th align="left">LCDPC2</th>
<th align="left">RTLCD</th>
<th align="left">Clauset</th>
<th align="left">LWP</th>
<th align="left">Chen</th>
<th align="left">LS</th>
<th align="left">VI</th>
<th align="left">LCD</th>
<th align="left">LCDDCE</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="5" align="left">
<italic>Karate</italic>
</td>
<td align="left">
<italic>NMI</italic>
</td>
<td align="left">0.9186</td>
<td align="left">0.6815</td>
<td align="left">
<bold>1.0000</bold>
</td>
<td align="char" char=".">0.2992</td>
<td align="char" char=".">0.5160</td>
<td align="char" char=".">0.1552</td>
<td align="char" char=".">0.1688</td>
<td align="left">0.4041</td>
<td align="left">0.4093</td>
<td align="left">0.3635</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="left">0.9722</td>
<td align="left">0.8252</td>
<td align="left">
<bold>1.0000</bold>
</td>
<td align="char" char=".">0.5527</td>
<td align="char" char=".">0.6912</td>
<td align="char" char=".">0.2071</td>
<td align="char" char=".">0.2339</td>
<td align="left">0.6556</td>
<td align="left">0.6182</td>
<td align="left">0.8758</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="left">0.9446</td>
<td align="left">0.9338</td>
<td align="left">
<bold>1.0000</bold>
</td>
<td align="char" char=".">0.9088</td>
<td align="char" char=".">0.8019</td>
<td align="char" char=".">0.6345</td>
<td align="char" char=".">0.5588</td>
<td align="left">0.9014</td>
<td align="left">0.8449</td>
<td align="left">0.5958</td>
</tr>
<tr>
<td align="left">
<italic>F-Measure</italic>
</td>
<td align="left">0.9580</td>
<td align="left">0.8717</td>
<td align="left">
<bold>1.0000</bold>
</td>
<td align="char" char=".">0.6474</td>
<td align="char" char=".">0.7179</td>
<td align="char" char=".">0.2949</td>
<td align="char" char=".">0.3171</td>
<td align="left">0.7317</td>
<td align="left">0.6918</td>
<td align="left">0.7089</td>
</tr>
<tr>
<td align="left">
<italic>Time(ms)</italic>
</td>
<td align="left">2</td>
<td align="left">0</td>
<td align="left">2</td>
<td align="char" char=".">1</td>
<td align="char" char=".">2</td>
<td align="char" char=".">3</td>
<td align="char" char=".">0</td>
<td align="left">4</td>
<td align="left">2</td>
<td align="left">0</td>
</tr>
<tr>
<td rowspan="5" align="left">
<italic>Dolphin</italic>
</td>
<td align="left">
<italic>NMI</italic>
</td>
<td align="left">
<bold>0.4553</bold>
</td>
<td align="left">0.2895</td>
<td align="left">0.4526</td>
<td align="char" char=".">0.1857</td>
<td align="char" char=".">0.2809</td>
<td align="char" char=".">0.0959</td>
<td align="char" char=".">0.0709</td>
<td align="left">0.2326</td>
<td align="left">0.2616</td>
<td align="left">0.4175</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="left">0.6352</td>
<td align="left">0.4831</td>
<td align="left">0.6399</td>
<td align="char" char=".">0.3013</td>
<td align="char" char=".">0.3696</td>
<td align="char" char=".">0.1517</td>
<td align="char" char=".">0.0980</td>
<td align="left">0.3717</td>
<td align="left">0.3853</td>
<td align="left">
<bold>0.6497</bold>
</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="left">
<bold>0.9846</bold>
</td>
<td align="left">0.9785</td>
<td align="left">0.9647</td>
<td align="char" char=".">0.9694</td>
<td align="char" char=".">0.5271</td>
<td align="char" char=".">0.7043</td>
<td align="char" char=".">0.4032</td>
<td align="left">0.9667</td>
<td align="left">0.9546</td>
<td align="left">0.8537</td>
</tr>
<tr>
<td align="left">
<italic>F-Measure</italic>
</td>
<td align="left">
<bold>0.7365</bold>
</td>
<td align="left">0.6274</td>
<td align="left">0.7376</td>
<td align="char" char=".">0.4287</td>
<td align="char" char=".">0.4173</td>
<td align="char" char=".">0.2364</td>
<td align="char" char=".">0.1458</td>
<td align="left">0.4985</td>
<td align="left">0.5086</td>
<td align="left">0.7266</td>
</tr>
<tr>
<td align="left">
<italic>Time(ms)</italic>
</td>
<td align="left">2</td>
<td align="left">0</td>
<td align="left">9</td>
<td align="char" char=".">1</td>
<td align="char" char=".">0</td>
<td align="char" char=".">2</td>
<td align="char" char=".">0</td>
<td align="left">4</td>
<td align="left">1</td>
<td align="left">0</td>
</tr>
<tr>
<td rowspan="5" align="left">
<italic>Football</italic>
</td>
<td align="left">
<italic>NMI</italic>
</td>
<td align="left">0.6269</td>
<td align="left">0.6226</td>
<td align="left">0.5146</td>
<td align="char" char=".">0.5712</td>
<td align="char" char=".">0.6023</td>
<td align="char" char=".">0.5863</td>
<td align="char" char=".">0.5714</td>
<td align="left">
<bold>0.8389</bold>
</td>
<td align="left">0.5638</td>
<td align="left">0.0261</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="left">0.8058</td>
<td align="left">0.7921</td>
<td align="left">
<bold>0.9209</bold>
</td>
<td align="char" char=".">0.7133</td>
<td align="char" char=".">0.6409</td>
<td align="char" char=".">0.6665</td>
<td align="char" char=".">0.5956</td>
<td align="left">0.8907</td>
<td align="left">0.7280</td>
<td align="left">0.9506</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="left">0.6896</td>
<td align="left">0.6957</td>
<td align="left">0.5568</td>
<td align="char" char=".">0.6466</td>
<td align="char" char=".">0.6257</td>
<td align="char" char=".">0.6456</td>
<td align="char" char=".">0.6461</td>
<td align="left">
<bold>0.8963</bold>
</td>
<td align="left">0.6354</td>
<td align="left">0.0922</td>
</tr>
<tr>
<td align="left">
<italic>F-Measure</italic>
</td>
<td align="left">0.7404</td>
<td align="left">0.7379</td>
<td align="left">0.6639</td>
<td align="char" char=".">0.6689</td>
<td align="char" char=".">0.6301</td>
<td align="char" char=".">0.6479</td>
<td align="char" char=".">0.6180</td>
<td align="left">
<bold>0.8916</bold>
</td>
<td align="left">0.6708</td>
<td align="left">0.1673</td>
</tr>
<tr>
<td align="left">
<italic>Time(ms)</italic>
</td>
<td align="left">4</td>
<td align="left">3</td>
<td align="left">15</td>
<td align="char" char=".">3</td>
<td align="char" char=".">0</td>
<td align="char" char=".">5</td>
<td align="char" char=".">0</td>
<td align="left">4</td>
<td align="left">3</td>
<td align="left">0</td>
</tr>
<tr>
<td rowspan="5" align="left">
<italic>Books</italic>
</td>
<td align="left">
<italic>NMI</italic>
</td>
<td align="left">
<bold>0.4924</bold>
</td>
<td align="left">0.5029</td>
<td align="left">0.4881</td>
<td align="char" char=".">0.2687</td>
<td align="char" char=".">0.2925</td>
<td align="char" char=".">0.0905</td>
<td align="char" char=".">0.0106</td>
<td align="left">0.3862</td>
<td align="left">0.3594</td>
<td align="left">0.4770</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="left">0.8368</td>
<td align="left">0.8044</td>
<td align="left">0.8681</td>
<td align="char" char=".">0.4387</td>
<td align="char" char=".">0.4710</td>
<td align="char" char=".">0.1532</td>
<td align="char" char=".">0.0195</td>
<td align="left">0.6256</td>
<td align="left">0.6032</td>
<td align="left">
<bold>0.8835</bold>
</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="left">0.7579</td>
<td align="left">0.7774</td>
<td align="left">0.7049</td>
<td align="char" char=".">0.7656</td>
<td align="char" char=".">0.4643</td>
<td align="char" char=".">0.5720</td>
<td align="char" char=".">0.1705</td>
<td align="left">
<bold>0.7778</bold>
</td>
<td align="left">0.7554</td>
<td align="left">0.7074</td>
</tr>
<tr>
<td align="left">
<italic>F-Measure</italic>
</td>
<td align="left">
<bold>0.7851</bold>
</td>
<td align="left">0.7822</td>
<td align="left">0.7640</td>
<td align="char" char=".">0.4982</td>
<td align="char" char=".">0.4619</td>
<td align="char" char=".">0.2219</td>
<td align="char" char=".">0.0307</td>
<td align="left">0.6398</td>
<td align="left">0.6210</td>
<td align="left">0.7766</td>
</tr>
<tr>
<td align="left">
<italic>Time(ms)</italic>
</td>
<td align="left">4</td>
<td align="left">3</td>
<td align="left">33</td>
<td align="char" char=".">8</td>
<td align="char" char=".">3</td>
<td align="char" char=".">6</td>
<td align="char" char=".">0</td>
<td align="left">58</td>
<td align="left">25</td>
<td align="left"/>
</tr>
<tr>
<td rowspan="5" align="left">
<italic>LastFM</italic>
</td>
<td align="left">
<italic>NMI</italic>
</td>
<td align="left">
<bold>0.3716</bold>
</td>
<td align="left">0.3301</td>
<td align="left">0.3480</td>
<td align="char" char=".">0.0189</td>
<td align="char" char=".">0.0167</td>
<td align="char" char=".">0.0079</td>
<td align="char" char=".">0.0034</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">0.2176</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="left">
<bold>0.5621</bold>
</td>
<td align="left">0.4438</td>
<td align="left">0.6471</td>
<td align="char" char=".">0.0164</td>
<td align="char" char=".">0.0168</td>
<td align="char" char=".">0.0062</td>
<td align="char" char=".">0.0026</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">0.4178</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="left">
<bold>0.5967</bold>
</td>
<td align="left">0.6366</td>
<td align="left">0.5605</td>
<td align="char" char=".">0.8183</td>
<td align="char" char=".">0.1949</td>
<td align="char" char=".">0.4015</td>
<td align="char" char=".">0.2694</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">0.4469</td>
</tr>
<tr>
<td align="left">
<italic>F-Score</italic>
</td>
<td align="left">
<bold>0.5466</bold>
</td>
<td align="left">0.4978</td>
<td align="left">0.5528</td>
<td align="char" char=".">0.0279</td>
<td align="char" char=".">0.0218</td>
<td align="char" char=".">0.0109</td>
<td align="char" char=".">0.0049</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">0.3968</td>
</tr>
<tr>
<td align="left">
<italic>Time(ms)</italic>
</td>
<td align="left">883</td>
<td align="left">563</td>
<td align="left">8,717</td>
<td align="char" char=".">19</td>
<td align="char" char=".">8</td>
<td align="char" char=".">53</td>
<td align="char" char=".">0</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">&#x2014;&#x2013;</td>
<td align="left">5</td>
</tr>
<tr>
<td rowspan="5" align="left">
<italic>Amazon</italic>
</td>
<td align="left">
<italic>NMI</italic>
</td>
<td align="left">
<bold>0.7547</bold>
</td>
<td align="left">0.7470</td>
<td align="left">0.7254</td>
<td align="char" char=".">0.5668</td>
<td align="char" char=".">0.6261</td>
<td align="char" char=".">0.4235</td>
<td align="char" char=".">0.3918</td>
<td align="left">0.6837</td>
<td align="left">0.6888</td>
<td align="left">0.7543</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="left">0.7266</td>
<td align="left">0.7183</td>
<td align="left">0.6966</td>
<td align="char" char=".">0.5192</td>
<td align="char" char=".">0.5977</td>
<td align="char" char=".">0.3772</td>
<td align="char" char=".">0.3641</td>
<td align="left">0.6499</td>
<td align="left">0.6551</td>
<td align="left">
<bold>0.7332</bold>
</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="left">0.9929</td>
<td align="left">0.9930</td>
<td align="left">0.9914</td>
<td align="char" char=".">0.9964</td>
<td align="char" char=".">0.8783</td>
<td align="char" char=".">0.8307</td>
<td align="char" char=".">0.6776</td>
<td align="left">0.9938</td>
<td align="left">
<bold>0.9958</bold>
</td>
<td align="left">0.9450</td>
</tr>
<tr>
<td align="left">
<italic>F-Measure</italic>
</td>
<td align="left">
<bold>0.7861</bold>
</td>
<td align="left">0.7784</td>
<td align="left">0.7570</td>
<td align="char" char=".">0.6138</td>
<td align="char" char=".">0.6531</td>
<td align="char" char=".">0.4638</td>
<td align="char" char=".">0.4122</td>
<td align="left">0.7157</td>
<td align="left">0.7213</td>
<td align="left">0.7852</td>
</tr>
<tr>
<td align="left">
<italic>Time(ms)</italic>
</td>
<td align="left">2</td>
<td align="char" char=".">2</td>
<td align="left">0</td>
<td align="char" char=".">1</td>
<td align="char" char=".">0</td>
<td align="char" char=".">1</td>
<td align="char" char=".">0</td>
<td align="left">10</td>
<td align="left">4</td>
<td align="left">16</td>
</tr>
</tbody>
</table>
</table-wrap>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>The difference between <italic>LCDPC1</italic> and <italic>LCDPC2</italic>.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Criteria</th>
<th align="left">Karate</th>
<th align="left">Dolphin</th>
<th align="left">Football</th>
<th align="left">Books</th>
<th align="left">LastFM</th>
<th align="left">Amazon</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>NMI</italic>
</td>
<td align="char" char=".">&#x2b;0.2371</td>
<td align="char" char=".">&#x2b;0.1658</td>
<td align="char" char=".">&#x2b;0.0043</td>
<td align="char" char=".">&#x2212;0.0105</td>
<td align="char" char=".">&#x2b;0.0415</td>
<td align="char" char=".">&#x2b;0.0077</td>
</tr>
<tr>
<td align="left">
<italic>Recall</italic>
</td>
<td align="char" char=".">&#x2b;0.1470</td>
<td align="char" char=".">&#x2b;0.1521</td>
<td align="char" char=".">&#x2b;0.0137</td>
<td align="char" char=".">&#x2b;0.0324</td>
<td align="char" char=".">&#x2b;0.1183</td>
<td align="char" char=".">&#x2b;0.0083</td>
</tr>
<tr>
<td align="left">
<italic>Precision</italic>
</td>
<td align="char" char=".">&#x2b;0.0108</td>
<td align="char" char=".">&#x2b;0.0061</td>
<td align="char" char=".">&#x2212;0.0061</td>
<td align="char" char=".">&#x2212;0.0195</td>
<td align="char" char=".">&#x2212;0.0399</td>
<td align="char" char=".">&#x2212;0.0001</td>
</tr>
<tr>
<td align="left">
<italic>F-Measure</italic>
</td>
<td align="char" char=".">&#x2b;0.0863</td>
<td align="char" char=".">&#x2b;0.1091</td>
<td align="char" char=".">&#x2b;0.0025</td>
<td align="char" char=".">&#x2b;0.0029</td>
<td align="char" char=".">&#x2b;0.0488</td>
<td align="char" char=".">&#x2b;0.0077</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>From <xref ref-type="table" rid="T6">Table 6</xref>, we can observe that <italic>LCDPC1</italic> has improved in terms of <italic>NMI</italic>, <italic>Recall</italic>, <italic>Precision</italic> and <italic>F-Measure</italic> metrics compared to <italic>LCDPC2</italic>. This outcome verifies the effectiveness of the potential community application in community identification. Especially for the <italic>Karate</italic> and <italic>Dolphins</italic> networks, <italic>LCDPC1</italic> has significant improvement compared to <italic>LCDPC2</italic> in community identification. The common characteristic of the <italic>Karate</italic> and <italic>Dolphins</italic> networks is that they all have low mean degree values. Furthermore, we find that <italic>LCDPC1</italic> has limited improvement compared to <italic>LCDPC2</italic> in identifying communities on the <italic>Football</italic> and <italic>Books</italic> networks. Both the <italic>Football</italic> and <italic>Books</italic> networks have high mean degree values. These findings indicate that the potential community application has a more significant improvement in the efficiency of community identification on the network with a high mean node degree than that with a low mean node degree. In addition, <italic>LCDPC1</italic> has good improvement on the <italic>LastFM</italic> network and has limited improvement on the <italic>Amazon</italic> network compared to <italic>LCDPC2</italic>. The <italic>LastFM</italic> and <italic>Amazon</italic> networks have the same low mean node degree, but the difference is that the <italic>LastFM</italic> has a great average community size and the <italic>Amazon</italic> network is poor. This outcome verifies that the potential community application has a more significant improvement in identifying communities on the network with a greater average community size than those with a lesser average community size.</p>
</sec>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>Local community detection is efficient in detecting local community structures based on seeds. However, the existing algorithms ignore the effect of community structure in undetected networks.</p>
<p>This paper introduces the abstract concept of the potential community into the local community detection algorithm to help determine the membership of suspicious nodes. We propose a three-stage algorithm based on potential community exploration, which performs seed selection, community initialization, and community expansion in order. First, the seed selection searches for a suitable seed to replace the given node. Second, the community initialization process forms the initial community by combining the seed and its suitable potential community. Finally, the community expansion process adds eligible nodes to the initial community for community expansion.</p>
<p>The proposed algorithm is compared to eight state-of-the-art local community detection algorithms on artificial networks and real-world networks. The experimental results show the following conclusions. First, the potential community application can improve the efficiency of community identification. Second, the improvement in potential community application on community identification is related to the parameters <italic>&#x3bc;</italic>, <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub>, and <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>. The improvement of potential community application increases with increasing <italic>&#x3b1;</italic>
<sub>
<italic>size</italic>
</sub> and decreases with increasing <italic>&#x3bc;</italic> and <italic>&#x3b1;</italic>
<sub>
<italic>degree</italic>
</sub>.</p>
<p>However, the experimental results show that the potential community application is not obviously better for some networks, especially networks with a low mean node degree. Therefore, in future work, we will improve the algorithm to expand the role of potential community applications.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material further inquiries can be directed to the corresponding authors.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>SW write and revise the manuscript. JY, XD, JZ, and MZ contributed to paper ideas amd data curation, analysis. All authors approved the submitted version.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Newman</surname>
<given-names>M</given-names>
</name>
</person-group>. <source>Networks: An introduction</source>. <publisher-loc>Oxford, UK</publisher-loc>: <publisher-name>Oxford University Press</publisher-name> (<year>2010</year>).</citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fortunato</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Community detection in graphs</article-title>. <source>Phys Rep</source> (<year>2009</year>) <volume>486</volume>(<issue>3-5</issue>):<fpage>75</fpage>&#x2013;<lpage>174</lpage>.</citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Newman</surname>
<given-names>MEJ</given-names>
</name>
</person-group>. <article-title>Fast algorithm for detecting community structure in networks</article-title>. <source>Phys Rev E</source> (<year>2004</year>) <volume>69</volume>(<issue>6</issue>):<fpage>066133</fpage>. <pub-id pub-id-type="doi">10.1103/physreve.69.066133</pub-id>
</citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pizzuti</surname>
<given-names>C</given-names>
</name>
</person-group>. <article-title>Evolutionary computation for community detection in networks: A review</article-title>. <source>IEEE Trans Evol Comput</source> (<year>2018</year>) <volume>22</volume>(<issue>3</issue>):<fpage>464</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1109/tevc.2017.2737600</pub-id>
</citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Xie</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Kelley</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Szymanski</surname>
<given-names>BK</given-names>
</name>
</person-group>. <article-title>Overlapping community detection in networks: The state-of-the-art and comparative study</article-title>. <source>Acm Comput Surv</source> (<year>2013</year>) <volume>45</volume>(<issue>4</issue>):<fpage>1</fpage>&#x2013;<lpage>35</lpage>. <pub-id pub-id-type="doi">10.1145/2501654.2501657</pub-id>
</citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Girvan</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Newman</surname>
<given-names>MEJ</given-names>
</name>
</person-group>. <article-title>Community structure in social and biological networks</article-title>. <source>Proc Natl Acad Sci United States America</source> (<year>2002</year>) <volume>99</volume>(<issue>12</issue>):<fpage>7821</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1073/pnas.122653799</pub-id>
</citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Community detection based on modularity and <italic>k</italic>-plexes</article-title>. <source>Inf Sci</source> (<year>2020</year>) <volume>513</volume>:<fpage>127</fpage>&#x2013;<lpage>42</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2019.10.076</pub-id>
</citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ma</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Chiew</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Q</given-names>
</name>
</person-group>. <article-title>Evaluation of local community metrics: From an experimental perspective</article-title>. <source>J Intell Inf Syst</source> (<year>2018</year>) <volume>51</volume>(<issue>1</issue>):<fpage>1</fpage>&#x2013;<lpage>22</lpage>. <pub-id pub-id-type="doi">10.1007/s10844-017-0480-5</pub-id>
</citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Ni</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Hu</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Local community detection with the dynamic membership function</article-title>. <source>IEEE Trans Fuzzy Syst</source> (<year>2018</year>) <volume>26</volume>(<issue>5</issue>):<fpage>3136</fpage>&#x2013;<lpage>50</lpage>. <pub-id pub-id-type="doi">10.1109/tfuzz.2018.2812148</pub-id>
</citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Ni</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>W</given-names>
</name>
</person-group>. <article-title>Local community detection by the nearest nodes with greater centrality</article-title>. <source>Inf Sci</source> (<year>2020</year>) <volume>517</volume>:<fpage>377</fpage>&#x2013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2020.01.001</pub-id>
</citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lancichinetti</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Fortunato</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Kert&#xe9;sz</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Detecting the overlapping and hierarchical community structure in complex networks</article-title>. <source>New J Phys</source> (<year>2009</year>) <volume>11</volume>(<issue>3</issue>):<fpage>033015</fpage>. <pub-id pub-id-type="doi">10.1088/1367-2630/11/3/033015</pub-id>
</citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Baumes</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Goldberg</surname>
<given-names>MK</given-names>
</name>
<name>
<surname>Krishnamoorthy</surname>
<given-names>MS</given-names>
</name>
<name>
<surname>Magdon-Ismail</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Preston</surname>
<given-names>N</given-names>
</name>
</person-group>. <article-title>Finding communities by clustering a graph into overlapping subgraphs</article-title>. In: <conf-name>AC 2005, Proceedings of the IADIS International Conference on Applied Computing</conf-name>; <conf-date>February 22-25, 2005</conf-date>; <conf-loc>Algarve, Portugal</conf-loc> (<year>2005</year>). p. <fpage>97</fpage>&#x2013;<lpage>104</lpage>.</citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Lee</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Reid</surname>
<given-names>F</given-names>
</name>
<name>
<surname>McDaid</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Hurley</surname>
<given-names>N</given-names>
</name>
</person-group>. <article-title>Detecting highly overlapping community structure by greedy clique expansion</article-title>. In: <conf-name>Proceedings of the 4th SNAKDD Workshop</conf-name> (<year>2010</year>). p. <fpage>33</fpage>&#x2013;<lpage>42</lpage>.</citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Whang</surname>
<given-names>JJ</given-names>
</name>
<name>
<surname>Gleich</surname>
<given-names>DF</given-names>
</name>
<name>
<surname>Dhillon</surname>
<given-names>IS</given-names>
</name>
</person-group>. <article-title>Overlapping community detection using neighborhood-inflated seed expansion</article-title>. <source>IEEE Trans Knowledge Data Eng</source> (<year>2016</year>) <volume>28</volume>(<issue>5</issue>):<fpage>1272</fpage>&#x2013;<lpage>84</lpage>. <pub-id pub-id-type="doi">10.1109/tkde.2016.2518687</pub-id>
</citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Cui</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Uncovering the overlapping community structure of complex networks by maximal cliques</article-title>. <source>Physica A: Stat Mech Its Appl</source> (<year>2014</year>) <volume>415</volume>:<fpage>398</fpage>&#x2013;<lpage>406</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2014.08.025</pub-id>
</citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Eustace</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Detecting overlapping communities by seed community in weighted complex networks</article-title>. <source>Physica A: Stat Mech Its Appl</source> (<year>2013</year>) <volume>392</volume>(<issue>23</issue>):<fpage>6125</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2013.07.066</pub-id>
</citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ahmad</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Amir</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>A hierarchical approach for influential node ranking in complex social networks</article-title>. <source>Expert Syst Appl</source> (<year>2017</year>) <volume>93</volume>:<fpage>200</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2017.10.018</pub-id>
</citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>A robust two-stage algorithm for local community detection</article-title>. <source>Knowledge-Based Syst</source> (<year>2018</year>) <volume>152</volume>:<fpage>188</fpage>&#x2013;<lpage>99</lpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2018.04.018</pub-id>
</citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohammadi</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Moradi</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Jalili</surname>
<given-names>M</given-names>
</name>
</person-group>. <article-title>Sce: Subspace-based core expansion method for community detection in complex networks</article-title>. <source>Physica A: Stat Mech its Appl</source> (<year>2019</year>) <volume>527</volume>:<fpage>121084</fpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2019.121084</pub-id>
</citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cheng</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Su</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>A seed-expanding method based on TOPSIS for community detection in complex networks</article-title>. <source>Complexity</source> (<year>2020</year>) <volume>2020</volume>(<issue>1</issue>):<fpage>1</fpage>&#x2013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.1155/2020/9017239</pub-id>
</citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Rezaei</surname>
<given-names>AA</given-names>
</name>
<name>
<surname>Munoz</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Jalili</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Khayyam</surname>
<given-names>H</given-names>
</name>
</person-group>. <source>Vital node identification in complex networks using a machine learning-based approach</source> (<year>2022</year>). <comment>arXiv:2202.06229</comment>.</citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kanawati</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>Empirical evaluation of applying ensemble methods to ego-centred community identification in complex networks</article-title>. <source>Neurocomputing</source> (<year>2015</year>) <volume>150</volume>(<issue>PB</issue>):<fpage>417</fpage>&#x2013;<lpage>27</lpage>. <pub-id pub-id-type="doi">10.1016/j.neucom.2014.09.042</pub-id>
</citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Bao</surname>
<given-names>C</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Kong</surname>
<given-names>B</given-names>
</name>
</person-group>. <article-title>The community detection algorithm based on the node clustering coefficient and the edge clustering coefficient</article-title>. In: <conf-name>Proceedings of the World Congress on Intelligent Control and Automation (WCICA)</conf-name>; <conf-date>05 March 2015</conf-date>. <publisher-loc>Shenyang</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2015</year>). p. <fpage>3240</fpage>&#x2013;<lpage>5</lpage>. <pub-id pub-id-type="doi">10.1109/WCICA.2014.7053250</pub-id>
</citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>A multi-agent genetic algorithm for local community detection by extending the tightest nodes</article-title>. In: <conf-name>2016 IEEE Congress on Evolutionary Computation (CEC)</conf-name>; <conf-date>24-29 July 2016</conf-date>. <publisher-loc>Vancouver, BC, Canada</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2016</year>). p. <fpage>3215</fpage>&#x2013;<lpage>21</lpage>. <pub-id pub-id-type="doi">10.1109/CEC.2016.7744196</pub-id>
</citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Delis</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Ntoulas</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Liakos</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Scalable link community detection: A local dispersion-aware approach</article-title>. In: <conf-name>Proceedings - 2016 IEEE International Conference on Big Data (Big Data)</conf-name>; <conf-date>05-08 December 2016</conf-date>. <publisher-loc>Washington, DC, USA</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2016</year>). p. <fpage>716</fpage>&#x2013;<lpage>25</lpage>. <pub-id pub-id-type="doi">10.1109/BigData.2016.7840664</pub-id>
</citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhu</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Zeng</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Community detection based on modularity and <italic>k</italic>-plexes</article-title>. <source>Inf Sci</source> (<year>2020</year>) <volume>513</volume>:<fpage>127</fpage>&#x2013;<lpage>42</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2019.10.076</pub-id>
</citation>
</ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Kloster</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Gleich</surname>
<given-names>DF</given-names>
</name>
</person-group>. <article-title>Heat kernel based community detection</article-title>. In: <conf-name>Proceedings of the ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</conf-name> (<year>2014</year>). p. <fpage>1386</fpage>&#x2013;<lpage>95</lpage>.</citation>
</ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Wong</surname>
<given-names>HS</given-names>
</name>
</person-group>. <article-title>A weighted local view method based on observation over ground truth for community detection</article-title>. <source>Inf Sci</source> (<year>2016</year>) <volume>355-356</volume>:<fpage>37</fpage>&#x2013;<lpage>57</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2016.03.028</pub-id>
</citation>
</ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>He</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Sun</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Bindel</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Hopcroft</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Detecting overlapping communities from local spectral subspaces</article-title>. In: <conf-name>Proceedings - IEEE International Conference on Data Mining, ICDM</conf-name>; <conf-date>07 January 2016</conf-date>. <publisher-loc>Atlantic City, NJ, USA</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2016</year>). p. <fpage>769</fpage>&#x2013;<lpage>74</lpage>. <pub-id pub-id-type="doi">10.1109/ICDM.2015.89</pub-id>
</citation>
</ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Yao</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Lei</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Community detection based on variable vertex influence</article-title>. In: <conf-name>2016 IEEE First International Conference on Data Science in Cyberspace (DSC)</conf-name>; <conf-date>02 March 2017</conf-date>. <publisher-loc>Changsha, China</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2017</year>). p. <fpage>418</fpage>&#x2013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.1109/DSC.2016.99</pub-id>
</citation>
</ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>You</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>A three-stage algorithm on community detection in social networks</article-title>. <source>Knowl Based Syst</source> (<year>2020</year>) <volume>187</volume>:<fpage>104822</fpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2019.06.030</pub-id>
</citation>
</ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Revealing the role of node similarity and community merging in community detection</article-title>. <source>Knowl Based Syst</source> (<year>2019</year>) <volume>165</volume>:<fpage>407</fpage>&#x2013;<lpage>19</lpage>. <pub-id pub-id-type="doi">10.1016/j.knosys.2018.12.009</pub-id>
</citation>
</ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Leskovec</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Defining and evaluating network communities based on ground-truth</article-title>. <source>Knowledge Inf Syst</source> (<year>2015</year>) <volume>42</volume>(<issue>1</issue>):<fpage>181</fpage>&#x2013;<lpage>213</lpage>. <pub-id pub-id-type="doi">10.1007/s10115-013-0693-z</pub-id>
</citation>
</ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Raghavan</surname>
<given-names>UN</given-names>
</name>
<name>
<surname>Albert</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Kumara</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Near linear time algorithm to detect community structures in large-scale networks</article-title>. <source>Phys Rev E Stat Nonlinear Soft Matter Phys</source> (<year>2007</year>) <volume>76</volume>(<issue>3</issue>):<fpage>036106</fpage>. <pub-id pub-id-type="doi">10.1103/physreve.76.036106</pub-id>
</citation>
</ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gregory</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Finding overlapping communities in networks by label propagation</article-title>. <source>New J Phys</source> (<year>2010</year>) <volume>12</volume>(<issue>10</issue>):<fpage>103018</fpage>. <pub-id pub-id-type="doi">10.1088/1367-2630/12/10/103018</pub-id>
</citation>
</ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tang</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Q</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>T</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Tian</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Al-Dhelaan</surname>
<given-names>A</given-names>
</name>
<etal/>
</person-group> <article-title>$\mathcal{K}$ -Lowest-Influence overlapping nodes based community detection in complex networks</article-title>. <source>IEEE Access</source> (<year>2019</year>) <volume>7</volume>:<fpage>109646</fpage>&#x2013;<lpage>61</lpage>.</citation>
</ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tao</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Yin</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>A community detection method based on local similarity and degree clustering information</article-title>. <source>Physica A Stat Mech Its Appl</source> (<year>2017</year>) <volume>490</volume>:<fpage>1344</fpage>. <pub-id pub-id-type="doi">10.1016/j.physa.2017.08.090</pub-id>
</citation>
</ref>
<ref id="B38">
<label>38.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>He</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Kloster</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Bindel</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Hopcroft</surname>
<given-names>JE</given-names>
</name>
</person-group>. <article-title>Local spectral clustering for overlapping community detection</article-title>. <source>ACM Trans Knowl Discov Data</source> (<year>2018</year>) <volume>12</volume>(<issue>2</issue>):<fpage>1:27</fpage>&#x2013;<lpage>17:27</lpage>. <pub-id pub-id-type="doi">10.1145/3106370</pub-id>
</citation>
</ref>
<ref id="B39">
<label>39.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Okuda</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Satoh</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Sato</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Kidawara</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Community detection using restrained random-walk similarity</article-title>. <source>IEEE Trans pattern Anal machine intelligence</source> (<year>2019</year>) <volume>43</volume>(<issue>1</issue>):<fpage>89</fpage>. <pub-id pub-id-type="doi">10.1109/TPAMI.2019.2926033</pub-id>
</citation>
</ref>
<ref id="B40">
<label>40.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>N</given-names>
</name>
<name>
<surname>Ni</surname>
<given-names>L</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>W</given-names>
</name>
</person-group>. <article-title>Local community detection by the nearest nodes with greater centrality</article-title>. <source>Inf Sci</source> (<year>2020</year>) <volume>517</volume>:<fpage>377</fpage>&#x2013;<lpage>92</lpage>. <pub-id pub-id-type="doi">10.1016/j.ins.2020.01.001</pub-id>
</citation>
</ref>
<ref id="B41">
<label>41.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bahadori</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Zare</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Moradi</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Podcd: Probabilistic overlapping dynamic community detection</article-title>. <source>Expert Syst Appl</source> (<year>2021</year>) <volume>174</volume>:<fpage>114650</fpage>. <pub-id pub-id-type="doi">10.1016/j.eswa.2021.114650</pub-id>
</citation>
</ref>
<ref id="B42">
<label>42.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zachary</surname>
<given-names>WW</given-names>
</name>
</person-group>. <article-title>An information flow model for conflict and fission in small groups</article-title>. <source>J Anthropological Res</source> (<year>1977</year>) <volume>33</volume>(<issue>4</issue>):<fpage>452</fpage>&#x2013;<lpage>73</lpage>. <pub-id pub-id-type="doi">10.1086/jar.33.4.3629752</pub-id>
</citation>
</ref>
<ref id="B43">
<label>43.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jaccard</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Etude comparative de la distribution florale dans une portion des alpes et des jura</article-title>. <source>Bulletin Del La Societe Vaudoise Des Sciences Naturelles</source> (<year>1901</year>) <volume>37</volume>(<issue>142</issue>):<fpage>547</fpage>&#x2013;<lpage>79</lpage>.</citation>
</ref>
<ref id="B44">
<label>44.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Danon</surname>
<given-names>L</given-names>
</name>
<name>
<surname>D&#xed;az-Guilera</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Duch</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Arenas</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Comparing community structure identification</article-title>. <source>J Stat Mech Theor Exp</source> (<year>2005</year>) <volume>2005</volume>(<issue>9</issue>):<fpage>P09008</fpage>&#x2013;<lpage>228</lpage>. <pub-id pub-id-type="doi">10.1088/1742-5468/2005/09/p09008</pub-id>
</citation>
</ref>
<ref id="B45">
<label>45.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Review on community detection methods based on local optimization</article-title>. <source>J Stat Mech Theor Exp</source> (<year>2015</year>) <volume>30</volume>(<issue>2</issue>):<fpage>238</fpage>&#x2013;<lpage>47</lpage>.</citation>
</ref>
<ref id="B46">
<label>46.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lancichinetti</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Fortunato</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Radicchi</surname>
<given-names>F</given-names>
</name>
</person-group>. <article-title>Benchmark graphs for testing community detection algorithms</article-title>. <source>Phys Rev E Stat Nonlinear Soft Matter Phys</source> (<year>2008</year>) <volume>78</volume>(<issue>4</issue>):<fpage>046110</fpage>. <pub-id pub-id-type="doi">10.1103/physreve.78.046110</pub-id>
</citation>
</ref>
<ref id="B47">
<label>47.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lusseau</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Schneider</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Boisseau</surname>
<given-names>OJ</given-names>
</name>
<name>
<surname>Haase</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Slooten</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Dawson</surname>
<given-names>SM</given-names>
</name>
</person-group>. <article-title>The bottlenose dolphin community of doubtful sound features a large proportion of long-lasting associations: Can geographic isolation explain this unique trait</article-title>. <source>Behav Ecol Sociobiol</source> (<year>2003</year>) <volume>54</volume>(<issue>4</issue>):<fpage>396</fpage>&#x2013;<lpage>405</lpage>. <pub-id pub-id-type="doi">10.1007/s00265-003-0651-y</pub-id>
</citation>
</ref>
<ref id="B48">
<label>48.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Krebs</surname>
<given-names>V</given-names>
</name>
</person-group>. <source>Social network of political books</source> (<year>2004</year>). <comment>Available from: <ext-link ext-link-type="uri" xlink:href="http://www.visualcomplexity.com">www.visualcomplexity.com</ext-link>
</comment>.</citation>
</ref>
<ref id="B49">
<label>49.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Rozemberczki</surname>
<given-names>B</given-names>
</name>
<name>
<surname>Sarkar</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>Characteristic functions on graphs: Birds of a feather, from statistical descriptors to parametric models</article-title>. In: <conf-name>Proceedings of the 29th ACM International Conference on Information and Knowledge Management (CIKM &#x2019;20), ACM</conf-name> (<year>2020</year>). p. <fpage>1325</fpage>&#x2013;<lpage>34</lpage>. <pub-id pub-id-type="doi">10.1145/3340531.3411866</pub-id>
</citation>
</ref>
<ref id="B50">
<label>50.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Clauset</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Finding local community structure in networks</article-title>. <source>Phys Rev E</source> (<year>2005</year>) <volume>72</volume>(<issue>2</issue>):<fpage>026132</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1103/physreve.72.026132</pub-id>
</citation>
</ref>
<ref id="B51">
<label>51.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Luo</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>JZ</given-names>
</name>
<name>
<surname>Promislow</surname>
<given-names>E</given-names>
</name>
</person-group>. <article-title>Exploring local community structures in large networks</article-title>. <source>Web Intelligence Agent Syst</source> (<year>2008</year>) <volume>6</volume>(<issue>4</issue>):<fpage>387</fpage>&#x2013;<lpage>400</lpage>. <pub-id pub-id-type="doi">10.3233/wia-2008-0147</pub-id>
</citation>
</ref>
<ref id="B52">
<label>52.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Za&#xef;ane</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Goebel</surname>
<given-names>R</given-names>
</name>
</person-group>. <article-title>Local community identification in social networks</article-title>. In: <conf-name>2009 International Conference on Advances in Social Network Analysis and Mining</conf-name>; <conf-date>04 September 2009</conf-date>. <publisher-loc>Athens, Greece</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2009</year>). p. <fpage>237</fpage>&#x2013;<lpage>42</lpage>. <pub-id pub-id-type="doi">10.1109/ASONAM.2009.14</pub-id>
</citation>
</ref>
<ref id="B53">
<label>53.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wu</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Hao</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>F</given-names>
</name>
</person-group>. <article-title>Local community detection using link similarity</article-title>. <source>J Comput Sci Technol</source> (<year>2012</year>) <volume>27</volume>(<issue>6</issue>):<fpage>1261</fpage>&#x2013;<lpage>8</lpage>. <pub-id pub-id-type="doi">10.1007/s11390-012-1302-4</pub-id>
</citation>
</ref>
<ref id="B54">
<label>54.</label>
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Yao</surname>
<given-names>Y</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Lei</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X</given-names>
</name>
</person-group>. <article-title>Community detection based on variable vertex influence</article-title>. In: <conf-name>2016 IEEE First International Conference on Data Science in Cyberspace (DSC)</conf-name>; <conf-date>02 March 2017</conf-date>. <publisher-loc>Changsha, China</publisher-loc>: <publisher-name>IEEE</publisher-name> (<year>2017</year>). p. <fpage>418</fpage>&#x2013;<lpage>23</lpage>. <pub-id pub-id-type="doi">10.1109/DSC.2016.99</pub-id>
</citation>
</ref>
<ref id="B55">
<label>55.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Fanrong</surname>
<given-names>M</given-names>
</name>
<name>
<surname>Mu</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Yong</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Ranran</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Local community detection in complex networks based on maximum cliques extension</article-title>. <source>Math Probl Eng</source> (<year>2014</year>) <volume>2014</volume>:<fpage>653670</fpage>. <pub-id pub-id-type="doi">10.1155/2014/653670</pub-id>
</citation>
</ref>
<ref id="B56">
<label>56.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>G</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>H</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>X</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>Y</given-names>
</name>
</person-group>. <article-title>Uncovering local community structure on line graph through degree centrality and expansion</article-title>. <source>Int J Mod Phys B</source> (<year>2021</year>) <volume>35</volume>:<fpage>2150120</fpage>. <pub-id pub-id-type="doi">10.1142/s0217979221501204</pub-id>
</citation>
</ref>
<ref id="B57">
<label>57.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Newman</surname>
<given-names>MEJ</given-names>
</name>
<name>
<surname>Girvan</surname>
<given-names>M</given-names>
</name>
</person-group>. <article-title>Finding and evaluating community structure in networks</article-title>. <source>Phys Rev E - Stat Nonlinear, Soft Matter Phys</source> (<year>2004</year>) <volume>66</volume>(<issue>2</issue>):<fpage>026113</fpage>. <pub-id pub-id-type="doi">10.1103/physreve.69.026113</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>