Multi-population alternate coevolution method based on community division guidance
By employing a multi-group collaborative evaluation evolutionary algorithm based on community partitioning, the problems of low efficiency and poor quality in key node detection in large-scale networks are solved, achieving efficient key node detection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-31
- Publication Date
- 2026-03-27
AI Technical Summary
Key node detection in large-scale networks faces challenges such as a large search space, low optimization efficiency, dilution of high-quality nodes, insufficient population diversity, and disordered information exchange. Traditional algorithms have limited adaptability and optimization performance in large-scale network scenarios.
We employ a community-based collaborative evaluation and evolutionary algorithm (CPMCEA) to accurately divide network communities using the Leiden algorithm, construct a multi-dimensional node evaluation system, and design a structured population initialization and co-evolution mechanism, including multiple population initializations, alternating co-evolution, and community-aware evolutionary operators, to ensure the quality and diversity of the population. Furthermore, we achieve the precise transfer of high-quality genes through a Pareto front-driven gene interaction mechanism.
It improves the search efficiency and population quality of large-scale network optimization, with a 40% increase in search efficiency, a 35% increase in population diversity, and a 40% increase in population quality.
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This invention belongs to the field of large-scale network critical node detection, specifically involving a multi-group collaborative evaluation evolution algorithm based on community partitioning guidance. Background Technology
[0002] Critical node detection is a core problem in network analysis, aiming to identify sets of nodes that significantly impact overall network performance. Removing these nodes may compromise network connectivity or even cause system crashes. As a powerful tool for assessing network security and vulnerability, critical node detection algorithms have significant applications in multiple fields. For example, in network security, critical node detection helps administrators identify attack sources and vulnerable nodes, providing a basis for network protection. However, large-scale networks are characterized by a vast number of nodes, significant community structures, and complex inter-node coupling relationships, posing numerous challenges to traditional algorithms.
[0003] First, the large search space leads to low optimization efficiency. The optimization method of traversing all nodes has extremely high computational complexity, making it difficult to obtain an effective solution within a limited time. Second, high-quality nodes are easily diluted. Traditional single-population evolutionary algorithms lack targeted utilization of the network structure. Random initialization and global search can easily mask the characteristics of high-quality nodes in the community, leading to local optima. Third, insufficient population diversity means that populations constructed using a single evaluation criterion cannot cover different types of high-quality nodes in the network, and premature convergence is likely to occur during the evolutionary process. Finally, disordered information exchange means that multi-population algorithms lack structured information transmission mechanisms, and high-quality genes between subpopulations cannot be accurately integrated, affecting the global optimization effect.
[0004] In existing technologies, some algorithms incorporate community partitioning to assist optimization, but these are merely used as simple node grouping tools, lacking a guiding mechanism that permeates the entire process from population initialization and evolutionary operator design to population interaction. Furthermore, issues such as singular node evaluation criteria and ambiguous population interaction rules limit the adaptability and optimization performance of these algorithms in large-scale network scenarios. Therefore, there is an urgent need for a novel evolutionary algorithm that uses community partitioning as its core guiding principle, combined with multi-dimensional node evaluation and structured population interaction, to systematically address the efficiency and quality challenges in large-scale network optimization. Summary of the Invention
[0005] The purpose of this invention is to overcome the shortcomings of existing large-scale network optimization algorithms, such as insufficient utilization of community structure, poor population diversity, and low optimization efficiency, and to provide a community-partitioned guided multi-population collaborative evaluation and evolutionary algorithm (CPMCEA). This algorithm accurately partitions network communities using the Leiden algorithm, constructs a multi-dimensional node evaluation system, and designs a structured population initialization and co-evolution mechanism. The specific technical solution is as follows:
[0006] S1 Network Community Division
[0007] This stage serves as the foundational guiding step for the algorithm. Through community partitioning, the large-scale network is decomposed into structured units, providing clear operational boundaries for subsequent optimization.
[0008] S1.1 Initialize the network structure
[0009] Input large-scale network data, in the form of node sets Sum of edges To represent the number of nodes The network topology is given by where the set of labels for all nodes in the network is . ;
[0010] S1.2 Community Partitioning Based on Leiden's Algorithm
[0011] The Leiden algorithm is used to perform community partitioning, which splits the network into groups by maximizing the module degree Q. Where M is the number of communities, and each community Internal nodes are tightly connected, while inter-community nodes are sparsely connected.
[0012] S1.3 Output community division results
[0013] Record the community tags to which each node belongs. and community The set of included node numbers This provides a structural basis for subsequent node evaluation, population construction, and evolution.
[0014] S2 Multi-population Initialization
[0015] This stage is used to construct multiple population structures, and through multi-dimensional node evaluation and initialization strategies, ensure that the initial population has both quality and diversity.
[0016] S2.1 Population Setup
[0017] Define 3 global subpopulations , , Define a real population The size of each global subpopulation is set to NP, and the size of the actual population is set to... .
[0018] S2.2 Constructing a gene bank
[0019] S2.2.1 Construct a community gene pool for the global subpopulation, for each community The evaluation score of each node in the community is calculated based on different node evaluation criteria. Excellent nodes are selected based on the node scores to build a high-quality node gene pool for the community. All community gene banks constitute the global gene bank. Specifically, the first evaluation criterion is based on node degree and clustering coefficient; the second evaluation criterion is based on the mediation characteristic of the shortest path of the node; and the third evaluation criterion is a weighted fusion of the first two and the node kernel number. The node evaluation criteria are as follows:
[0020]
[0021]
[0022]
[0023]
[0024] in For nodes The degree, This represents the number of nodes v that are passed through in all shortest paths from node s to node t. Let be the number of all shortest paths from node s to node t. That is, the k value of the largest k-core subgraph where node v is located. , , These are weighting coefficients;
[0025] S2.2.2 Constructing a global gene pool of a real population ;
[0026] S2.3 Global Subpopulation Initialization
[0027] Global subpopulation Individuals were constructed based on node gene banks corresponding to different node evaluation criteria, and each individual used a real-number code to represent a different set of key nodes. First, the number of nodes represented by the individual code was randomly determined. Based on community segmentation and a node gene pool, the set of node numbers contained in the individual's code is selected as the individual's code. For the global subpopulation Specifically, the individual generation process includes the following steps:
[0028] S2.3.1 Randomly determine individuals The number of nodes represented by the code ;
[0029] S2.3.2 To increase the diversity of the initial population and improve the efficiency of subsequent evolutionary searches, a hierarchical generation method is adopted. 50% of individuals are generated based on the community gene pool, 30% are generated based on the global gene pool, and 20% are generated randomly.
[0030] S2.3.3 For individuals generated based on the community gene pool, to avoid the concentration of individual nodes in a single community, node quotas are allocated to n nodes based on community division, ensuring that each community contributes at least one node. Quotas are allocated based on the proportion of community nodes. :
[0031]
[0032] Based on community quotas From the gene pool of each community Random selection without replacement Each node number, if Then, again from the overall set of network nodes... Randomly selected The process involves assigning unique individual numbers until the conditions are met, at which point the final individual is generated.
[0033] S2.3.4 Individuals generated based on the global gene pool, within the global gene pool In the process of sampling n nodes without replacement, if Then, again from the overall set of network nodes... Randomly selected The process involves assigning unique individual numbers until the conditions are met, at which point the final individual is generated.
[0034] S2.3.5 Randomly generated individuals are directly selected from the overall set of network nodes. Randomly select n unique individual numbers to generate the final individual.
[0035] S2.4 Global Subpopulation Perturbation and Variation
[0036] To increase the difference between the global subpopulation and the real population, perturbation mutation is performed on each individual in each global subpopulation, according to probability. Randomly select one of the following operations: add one non-included node to the individual code, delete one included node in the individual code, or replace one node in the individual code (delete the original node and add one non-included node) to generate the final global subpopulation.
[0037] S2.5 Real Population Initialization
[0038] A certain number of individuals are proportionally selected from each global subpopulation to form the final real population.
[0039] S3 Multi-population alternation co-evolution
[0040] S3.1 Independent evolution of subpopulations
[0041] For each global subpopulation The selection, crossover, and mutation operations of the global subpopulation are performed respectively to generate corresponding offspring individuals, resulting in the evolved global subpopulation. It is then determined whether the required number of generations for a single round of evolution has been reached. If the desired outcome is achieved, the process of interaction between the global subpopulation and the real population begins. Otherwise, the global subpopulation of offspring is used as the parent, and the evolutionary process is repeated until the required number of generations for a single round of evolution is reached. The selection operator is tournament selection, starting from the parent population. Randomly selected For each individual, select individuals with high fitness as parents, and repeat this process until the required number of parents are selected. , Crossover is a crossover operator designed based on community coding blocks, which swaps corresponding sub-coding blocks of two parent classes within the same community, ensuring that crossover only occurs between node sets within the same community and avoiding disruption of the gene structure within the community; mutation is a mutation operator designed based on the community gene pool, which selects new nodes from the gene pool to add to the individual coding. Specifically, the evolutionary operators designed for the global subpopulation are as follows:
[0042] S3.1.1 The crossover operator based on community coding blocks first calculates the overlapping community labels of two parent individuals according to the formula. :
[0043]
[0044]
[0045]
[0046] Randomly select overlapping community tags A community tag in Exchange the sub-encoded blocks of the community tags corresponding to the parent individuals. and Generate offspring individuals after crossover. , :
[0047]
[0048]
[0049] S3.1.2 Mutation operators designed based on community gene pools, for crossover individuals First, the set of community tags contained in an individual is calculated using a formula. From the tag set Randomly select a community tag Obtain the corresponding community gene bank Subsequently, for the sub-encoding blocks of the tag. Number each of the nodes Based on the probability of mutation Perform mutation operations. First, filter out the set of available node numbers in the gene pool that are not included in the current sub-code. If available nodes exist, a node is randomly selected from among them. Adding sub-encoding blocks If no available node exists, a node is randomly removed from the sub-coded block.
[0050] S3.2 Interaction between subpopulation and real population
[0051] Evolves independently in each global subpopulation After a generation, the interaction process between the subpopulation and the real population begins. All superior individual genes from the Pareto front obtained from the global subpopulation evolution assessment are added to the global gene pool to guide the evolution of the real population. Specifically, for each independently evolved global subpopulation... Screening Pareto fronts by non-dominated sorting Before selection Each individual as an outstanding individual For every outstanding individual Based on the node's community tags The key node set is split into the gene pool of the real population. The corresponding community block is then deduplicated.
[0052] S3.3 Real Population Evolution
[0053] After the interaction between the subpopulation and the real population is completed, the evolutionary process of the real population begins. For individuals in the real population, selection, crossover, and mutation operations are performed, and corresponding real offspring individuals are generated using the same genetic operators as the global subpopulation, resulting in the evolved real population.
[0054] S3.4 Interaction between the real population and its subpopulations
[0055] When the real population evolves After a generation, the process of interaction between the real population and the global subpopulation begins. All superior individual genes from the Pareto front obtained from the evolutionary evaluation of the real population are added to the genes of the corresponding community according to their community numbers, guiding the evolution of the global subpopulation. Specifically, for the offspring population obtained after the evolution of the real population, the Pareto front solution set of the offspring population is selected through non-dominated sorting. Before selection Each individual as an outstanding individual For every outstanding individual Based on the node's community tags The key node set is split into corresponding communities. The gene pool of the global subpopulation Remove duplicates from the middle.
[0056] S4 Termination and Result Output
[0057] When the total number of generations reaches At that point, evolution ceases, and the Pareto frontier individuals of the final true population are output.
[0058] The present invention has the following advantages and effects compared with the prior art:
[0059] (1) This invention proposes a multi-population alternating co-evolution method based on community partitioning. At the algorithm initialization node, the Leiden algorithm is used to perform high-precision community partitioning on a large-scale network, and the community structure is integrated throughout the entire process of population initialization, evolutionary operator design, and population interaction. The traditional global indiscriminate optimization is decomposed into community-level local optimization and cross-community co-evolution, which improves the search efficiency on a large-scale network by 40% and avoids the dilution of high-quality genes caused by global search.
[0060] (2) This invention proposes a multi-dimensional evaluation method for proportional population initialization, designs different node evaluation criteria, and adopts a proportional strategy to construct the initial population, taking into account both population quality and diversity. By using a gene pool to ensure that the initial population carries high-value node characteristics, and by globally randomly introducing potential high-quality nodes, the search efficiency and final population quality of the population are effectively improved, and the population diversity index is improved by more than 35% compared with traditional methods.
[0061] (3) This invention proposes a community-aware evolutionary operator design scheme. The crossover operator is performed on the overlapping community coding blocks of the parent individuals, and the mutation operator is adjusted in the community gene pool contained in the individual. This avoids the destruction of the converged high-quality community substructure by the full-dimensional perturbation, ensures gene recombination, and improves the final population quality by 40% compared with the traditional indiscriminate operator.
[0062] (4) This invention proposes a Pareto front-driven community-level gene interaction mechanism, which uses the excellent individuals in the Pareto front obtained through evolution to exchange genes between the global subpopulation and the real population, thereby achieving the precise transmission of high-quality genes, avoiding the information wedding of traditional global interaction, accelerating the iteration speed of the population, improving the population search efficiency, and ultimately improving the quality of the population by 40%. Attached Figure Description
[0063] Figure 1 A flowchart illustrating the framework of a community-based, multi-population alternating co-evolutionary approach.
[0064] Figure 2 A schematic diagram of the multi-population initialization process.
[0065] Figure 3 This is a schematic diagram of a multi-population alternating co-evolutionary process; Detailed Implementation
[0066] Figure 1 This illustrates the framework and flow of the algorithm from network community partitioning to the final output. The specific implementation of this invention will be described in detail below with reference to the accompanying drawings and practical application scenarios. Other drawings are intended to aid in understanding the core logic and execution flow of the technical solution.
[0067] S1 Network Community Division
[0068] This stage serves as a foundational guiding step for the algorithm, decomposing the large-scale network into structured units through community partitioning, providing clear operational boundaries for subsequent optimization. Taking the BarabasiAlbert500 node network as an example, where N is 500, this network can be represented as a set of nodes. Sum of edges The set of labels for all nodes in the network is . The Leiden algorithm is used to perform community partitioning, and the network is split into groups by maximizing the module degree Q. Where M is the number of communities, and each community Internal nodes are tightly connected, while inter-community nodes are sparsely connected; the community tag to which each node belongs is recorded. and community The set of included node numbers This provides a structural basis for subsequent node evaluation, population construction, and evolution;
[0069] S2 Multi-population Initialization
[0070] This stage is used to construct multiple population structures, ensuring that the initial population possesses both quality and diversity through multi-dimensional node evaluation and initialization strategies. The specific process is as follows: Figure 2 As shown;
[0071] S2.1 Setting Parameters
[0072] Define 3 global subpopulations , , Define a real population The size of each global subpopulation is set to NP=100, and the actual population size is set to... The crossover probability of the evolutionary operator is set to 0.8, and the mutation probability is set to 0.2. It is 5. It is 50;
[0073] S2.2 Constructing a gene bank
[0074] Based on the network community segmentation results obtained from S1, a gene pool is constructed to support subsequent initialization and evolutionary interaction processes. The community gene pool is used for the evolutionary process of the global subpopulation, while the global gene pool is used for the evolutionary process of the real population.
[0075] S2.2.1 Construct a community gene bank for each community. The evaluation score of each node in the community is calculated based on different node evaluation criteria. The top 30% of nodes in each criterion are selected based on the node scores to construct a high-quality node gene pool for the community. All community gene banks constitute the global gene bank. Specifically, the first evaluation criterion is based on node degree and clustering coefficient; the second evaluation criterion is based on the mediation characteristic of the shortest path of the node; and the third evaluation criterion is a weighted fusion of the first two and the node kernel number. The node evaluation criteria are as follows:
[0076]
[0077]
[0078]
[0079]
[0080] in For nodes The degree, This represents the number of nodes v that are passed through in all shortest paths from node s to node t. Let be the number of all shortest paths from node s to node t. It is the k value of the largest k-core subgraph where node v is located. , , These are weighting coefficients. Here... Take 0.5, Take 0.3, Take 0.2;
[0081] S2.2.2 Constructing a global gene library ;
[0082] S2.3 Generate a global subpopulation
[0083] like Figure 2 The module for generating a global subpopulation is shown below. Global Subpopulation Individuals were constructed based on node gene banks corresponding to different node evaluation criteria, and each individual used a real-number code to represent a different set of key nodes. First, the number of nodes represented by the individual code was randomly determined. Based on community segmentation and a node gene pool, the set of node numbers contained in the individual's code is selected as the individual's code. For the global subpopulation The individuals within the population are generated in three ways: based on a community gene pool, based on a global gene pool, and randomly generated. To increase the diversity of the initial population and improve the efficiency of subsequent evolutionary searches, a hierarchical generation method is adopted. =50% of individuals used a method based on community gene pool generation. =30% of the individuals were generated using a method based on a global gene pool. =20% of the individuals were generated randomly. The specific steps of the three methods are as follows:
[0084] (1) For individuals generated based on the community gene pool, to avoid the concentration of individual nodes in a single community, node quotas are allocated to n nodes based on community division to ensure that each community contributes at least 1 node. Quotas are allocated based on the proportion of community nodes. :
[0085]
[0086] Based on community quotas From the gene pool of each community Random selection without replacement Each node number, if Then, again from the overall set of network nodes... Randomly selected Number each unique individual individually until the condition is met, then generate the final individual;
[0087] (2) Individuals generated based on the global gene pool, in the global gene pool In the process of sampling n nodes without replacement, if Then, again from the overall set of network nodes... Randomly selected Number each unique individual individually until the condition is met, then generate the final individual;
[0088] (3) Randomly generated individuals are directly selected from the overall set of network nodes. Randomly select n unique individual numbers from the sample to generate the final individual;
[0089] S2.4 Global Subpopulation Perturbation and Variation
[0090] After generating the initial global subpopulation using the three methods described above, the initial global subpopulation is used to generate the real population. Then, the initial global subpopulation is perturbed and mutated, and each individual in the initial global subpopulation is subjected to probability-based mutation. Randomly select one of the following operations: add one non-included node to the individual code, delete one included node in the individual code, or replace one node in the individual code (delete the original node and add one non-included node) to generate the final global subpopulation.
[0091] S2.5 Real Population Initialization
[0092] like Figure 2 As shown in the module for generating a real population, a certain number of individuals are proportionally extracted from each global subpopulation to form the final real population.
[0093] S3 Multi-population alternation co-evolution
[0094] This stage involves the alternating evolution of the global subpopulation and the real population, exploring key node combinations. Starting with the global subpopulation, the process proceeds according to the following flow: "Global subpopulation evolution - Global subpopulation interacts with the real population - Real population evolution - Real population interacts with the global subpopulation," as detailed below. Figure 3 As shown;
[0095] S3.1 Independent Evolution of Global Subpopulations
[0096] For each global subpopulation Each step involves performing selection, crossover, and mutation operations on the global subpopulation to generate corresponding offspring individuals, resulting in an evolved global subpopulation of offspring. The process then determines whether the required number of generations for a single evolutionary cycle has been reached. If the desired outcome is achieved, the process of interaction between the global subpopulation and the real population begins. Otherwise, the global subpopulation of offspring is used as the parent, and the evolutionary process is repeated until the required number of generations for a single round of evolution is reached. The selection operator is tournament selection, starting from the parent population. Randomly selected For each individual, select individuals with high fitness as parents, and repeat this process until the required number of parents are selected. , Crossover is a crossover operator designed based on community coding blocks, which swaps corresponding sub-coding blocks of two parent classes within the same community, ensuring that crossover only occurs between node sets within the same community and avoiding disruption of the gene structure within the community; mutation is a mutation operator designed based on the community gene pool, which selects new nodes from the gene pool to add to the individual coding. Specifically, the evolutionary operators designed for the global subpopulation are as follows:
[0097] S3.1.1 The crossover operator based on community coding blocks first calculates the overlapping community labels of two parent individuals according to the formula. :
[0098]
[0099]
[0100]
[0101] Randomly select overlapping community tags A community tag in Exchange the sub-encoded blocks of the community tags corresponding to the parent individuals. and Generate offspring individuals after crossover. , :
[0102]
[0103]
[0104] S3.1.2 Mutation operators designed based on community gene pools, for crossover individuals First, the set of community tags contained in an individual is calculated using a formula. From the tag set Randomly select a community tag Obtain the corresponding community gene bank Subsequently, for the sub-encoding blocks of the tag. Number each of the nodes Based on the probability of mutation Perform mutation operations. First, filter out the set of available node numbers in the gene pool that are not included in the current sub-code. If available nodes exist, a node is randomly selected from among them. Adding sub-encoding blocks If no available node exists, a node is randomly deleted from the sub-coded block;
[0105] S3.2 Interaction between subpopulation and real population
[0106] Evolves independently in each global subpopulation After a generation, the interaction process between the subpopulation and the real population begins. All superior individual genes from the Pareto front obtained by splitting the global subpopulation evolution assessment are added to the global gene pool to guide the evolution of the real population. For each independently evolved global subpopulation... Screening Pareto fronts by non-dominated sorting Before selection Each individual as an outstanding individual For every outstanding individual Based on the node's community tags The key node set is split into the gene pool of the real population. Remove duplicates from the corresponding community blocks;
[0107] S3.3 Real Population Evolution
[0108] After the interaction between the subpopulation and the real population is complete, the evolutionary process of the real population begins. For individuals in the real population, selection, crossover, and mutation operations are performed. The same genetic operators as the global subpopulation are used to generate corresponding real offspring individuals, resulting in the evolved real offspring population. It is then determined whether the required number of generations for a single evolutionary round has been reached. If the target is reached, the interaction process between the real population and the global subpopulation will begin; otherwise, the offspring real population will be used as the parent, and the evolutionary process will be executed again until the number of generations in a single round of evolution is reached.
[0109] S3.4 Interaction between the real population and its subpopulations
[0110] After the real population has evolved through several generations, an interaction process begins between the real population and the global subpopulation. All superior individual genes from the Pareto front obtained from the real population's evolutionary assessment are added to the genes of the corresponding community according to their community numbers, guiding the evolution of the global subpopulation. The Pareto front of the real population is then selected using non-dominated sorting. Before selection Each individual as an outstanding individual For every outstanding individual Based on the node's community tags The key node set is split into corresponding communities. The gene pool of the global subpopulation Remove duplicates from the middle;
[0111] S4 Termination and Result Output
[0112] When the total number of generations reaches When the value reaches 50, evolution stops, and the final Pareto frontier individuals of the true population are output.
Claims
1. A community-based, community-partitioned, multi-population alternating co-evolutionary method, comprising the following steps: S1 Network Community Division This stage serves as the foundational guiding step for the algorithm. Through community partitioning, the large-scale network is decomposed into structured units, providing clear operational boundaries for subsequent optimization. S1.1 Initialize the network structure Input large-scale network data, in the form of node sets Sum of edges To represent the number of nodes The network topology is given by where the set of labels for all nodes in the network is . ; S1.2 Community Partitioning Based on Leiden's Algorithm The Leiden algorithm is used to perform community partitioning, which splits the network into groups by maximizing the module degree Q. Where M is the number of communities, and each community Internal nodes are tightly connected, while inter-community nodes are sparsely connected. S1.3 Output community division results Record the community tags to which each node belongs. and community The set of included node numbers This provides a structural basis for subsequent node evaluation, population construction, and evolution; S2 Multi-population Initialization This stage is used to construct multiple population structures, and through multi-dimensional node evaluation and initialization strategies, ensure that the initial population has both quality and diversity. S2.1 Population Setup Define 3 global subpopulations , , Define a real population The size of each global subpopulation is set to NP, and the size of the actual population is set to... ; S2.2 Constructing a gene bank S2.2.1 Construct a community gene pool for the global subpopulation, for each community The evaluation score of each node in the community is calculated based on different node evaluation criteria. Excellent nodes are selected based on the node scores to build a high-quality node gene pool for the community. All community gene banks constitute the global gene bank. ; S2.2.2 Constructing a global gene pool of a real population ; S2.3 Global Subpopulation Initialization Global subpopulation Individuals were constructed based on node gene banks corresponding to different node evaluation criteria, and each individual used a real-number code to represent a different set of key nodes. First, the number of nodes represented by the individual code was randomly determined. Based on community segmentation and a node gene pool, the set of node numbers contained in the individual's code is selected as the individual's code. ; S2.4 Global Subpopulation Perturbation and Variation To increase the difference between the global subpopulation and the real population, perturbation mutation is performed on each individual in each global subpopulation, according to probability. Randomly select one of the following operations: add one non-included node to the individual code, delete one included node in the individual code, or replace one node in the individual code (delete the original node and add one non-included node) to generate the final global subpopulation. S2.5 Real Population Initialization A certain number of individuals are proportionally selected from each global subpopulation to form the final real population; S3 Multi-population alternation co-evolution Cooperative optimization is achieved through independent evolution and interaction guidance between the global subpopulation and the real population, specifically including: S3.1 Independent evolution of subpopulations For each global subpopulation The selection, crossover, and mutation operations of the global subpopulation are performed respectively to generate corresponding offspring individuals, resulting in the evolved global subpopulation. It is then determined whether the required number of generations for a single round of evolution has been reached. If the desired outcome is achieved, the process of interaction between the global subpopulation and the real population begins. Otherwise, the global subpopulation of offspring is used as the parent, and the evolutionary process is repeated until the required number of generations for a single round of evolution is reached. The selection operator is tournament selection, starting from the parent population. Randomly selected For each individual, select individuals with high fitness as parents, and repeat this process until the required number of parents are selected. , Crossover is a crossover operator designed based on community coding blocks, which swaps the corresponding sub-coding blocks of two parent classes in the same community, ensuring that crossover only occurs between node sets in the same community and avoiding disruption of the gene structure within the community; Mutation is a mutation operator designed based on the community gene pool, which selects new nodes from the gene pool to add to the individual coding; S3.2 Interaction between the global subpopulation and the real population Independent evolution in the global subpopulation After a generation, the interaction process between the subpopulation and the real population begins. All superior individual genes obtained from the Pareto front obtained by splitting the global subpopulation evolution assessment are added to the global gene pool to guide the evolution of the real population; S3.3 Real Population Evolution After the interaction between the subpopulation and the real population is completed, the evolutionary process of the real population begins. For individuals in the real population, selection, crossover, and mutation operations are performed, and corresponding real offspring individuals are generated using the same genetic operators as the global subpopulation, resulting in the evolved real population. S3.4 Interaction between the real population and its subpopulations When the real population evolves After a generation, the process of interaction between the real population and the global subpopulation begins. All the superior individual genes obtained from the Pareto front obtained by splitting the real population evolution assessment are added to the genes of the corresponding community according to their community numbers, guiding the evolution of the global subpopulation. S4 Termination and Result Output When the total number of generations reaches At that point, evolution ceases, and the Pareto frontier individuals of the final true population are output.
2. The multi-population alternating co-evolution method based on community partitioning guided by claim 1, characterized in that, S2 uses three different scoring criteria for evaluation. Specifically, the first evaluation criterion is based on node degree and clustering coefficient. The second evaluation criterion is based on the mediation characteristics of the shortest path between nodes. The third evaluation criterion is a weighted fusion of the first two and the number of node cores. ,in For nodes The degree, This represents the number of nodes v that are passed through in all shortest paths from node s to node t. Let be the number of all shortest paths from node s to node t. It is the k value of the largest k-core subgraph where node v is located. , , These are weighting coefficients.
3. The method for multi-population alternation and co-evolution based on community partitioning guidance according to claim 1, characterized in that, S2 uses multiple individual generation schemes to initialize the global subpopulation. Specifically, for the global subpopulation... Specifically, the individual generation process includes the following steps: (1) Randomly determine individuals The number of nodes represented by the code ; (2) To increase the diversity of the initial population and improve the efficiency of subsequent evolutionary search, a hierarchical generation method is adopted. Individuals are generated based on a community gene pool. Individuals are generated based on a global gene pool. Individuals are randomly generated; (3) For individuals generated based on the community gene pool, to avoid the concentration of individual nodes in a single community, node quotas are allocated to n nodes based on community division to ensure that each community contributes at least one node. Quotas are allocated based on the proportion of community nodes. ; (4) Based on community quotas From the gene pool of each community Random selection without replacement Each node number, if Then, again from the overall set of network nodes... Randomly selected Number each unique individual individually until the condition is met, then generate the final individual; (5) Individuals generated based on the global gene pool are in the global gene pool. In the process of sampling n nodes without replacement, if Then, again from the overall set of network nodes... Randomly selected Number each unique individual individually until the condition is met, then generate the final individual; (6) Randomly generated individuals are directly selected from the overall set of network nodes. Randomly select n unique individual numbers to generate the final individual.
4. The multi-population alternating co-evolution method based on community partitioning guided by claim 1, characterized in that, S3 incorporates community-block-based evolutionary operators, combined with a gene pool, to guide population evolution. Specifically, the evolutionary operators designed for the global subpopulation are as follows: (1) The crossover operator based on the community coding block is first calculated according to the formula to obtain the overlapping community labels of the two parent individuals. Randomly select overlapping community tags A community tag in Exchange the sub-encoded blocks of the community tags corresponding to the parent individuals. and Generate offspring individuals after crossover. , : (2) Mutation operators designed based on community gene pools for crossover individuals First, the set of community tags contained in an individual is calculated using a formula. From the tag set Randomly select a community tag Obtain the corresponding community gene bank Subsequently, for the sub-encoding blocks of the tag. Number each of the nodes Based on the probability of mutation Perform mutation operations. First, filter out the set of available node numbers in the gene pool that are not included in the current sub-code. If available nodes exist, a node is randomly selected from among them. Adding sub-encoding blocks If no available node exists, a node is randomly removed from the sub-coded block.
5. The multi-population alternating co-evolution method based on community partitioning guided by claim 1, characterized in that, The population interaction component in S3 utilizes the genes of superior individuals from the offspring population to enrich the gene pool of another population. Pareto fronts of real populations are screened using non-dominant ordination. Before selection Each individual as an outstanding individual In S3.2, for each independently evolved global subpopulation... Screening Pareto fronts by non-dominated sorting Before selection Each individual as an outstanding individual For every outstanding individual Based on the node's community tags The key node set is split into the gene pool of the real population. The corresponding community blocks are then deduplicated. In S3.4, for the offspring population obtained after the evolution of the real population, the Pareto front solution set of the offspring population is selected by non-dominated sorting. Before selection Each individual as an outstanding individual For every outstanding individual Based on the node's community tags The key node set is split into corresponding communities. The gene pool of the global subpopulation Remove duplicates from the middle.