Tourist Attraction Recommendation Method Based on Evolutionary Computation
Through the tourism scenic spot recommendation method based on evolutionary calculations, combined with particle swarm optimization and graph autoencoder, the network topology and user tour data are used to solve the problem that tourist attractions cannot be accurately recommended in the existing technology, and efficient and accurate recommendations of tourist attractions are achieved.
Patent Information
- Application Number
- CN202211215906.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-30
- Publication Date
- 2025-07-29
- Estimated Expiration
- 2042-09-30
AI Technical Summary
There is a lack of effective methods in the existing technology to accurately recommend tourist attractions that users like, and it is impossible to efficiently and accurately explore similar groups in tourist attractions and make recommendations.
The recommendation method of tourist attractions based on evolutionary calculations is adopted, combined with particle swarm optimization and graph autoencoder, and particle fitness function is designed through label propagation strategies and alternating optimization, and community division and recommendation are used using network topology and user tour data.
It has achieved rapid iteration and convergence, searched for high-quality community division, improved the accuracy and efficiency of recommendations, and quickly found untoured scenic spots that users are interested in.
Smart Images

Figure CN115599994B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of evolutionary algorithms and large-scale non-overlapping network community discovery, and in particular to a method for recommending tourist attractions based on evolutionary computing. Background Art
[0002] The problem of community discovery is a mainstream direction in the current research on complex networks. In the networks in the real world, there are multiple nodes, and these nodes present a specific community structure due to their topological information or attribute information. What the community discovery problem needs to do is to use this information to divide these nodes into different communities, and ensure that the nodes within the same community are closely connected, while the connection between nodes in different communities is sparse. In today's society, the connections between things are becoming more and more complex, and can also be modeled by a complex network. Each thing is equivalent to a node in the network, and the connection between things can be modeled as an edge between nodes. Nowadays, with the rapid development of the economy, traveling has become an indispensable part of people's lives. For the numerous tourist attractions in our country, how to accurately recommend the tourist attractions that users like has become a problem. And the problem of tourist attraction clustering can be analogized to a community discovery problem. Tourist attractions are nodes in the network, and the connections between attractions are edges in the network. If the relationship between these nodes and edges is reasonably utilized, the tourist attractions can be clustered and divided, and a suitable tourist attraction can be found for each user for recommendation. In short, studying the problem of community discovery can help humans explore the commonalities and interaction relationships between different users today with the rapid development of the Internet, thereby helping to improve human life. At present, there is no such algorithm in the existing technology. Summary of the Invention
[0003] In view of this, the purpose of the present invention is to provide a method for recommending tourist attractions based on evolutionary computing, which can efficiently and accurately mine similar groups of medium and large-scale tourist attractions and recommend them to users.
[0004] To achieve the above purpose, the present invention adopts the following technical solution: A method for recommending tourist attractions based on evolutionary computing provides a system, which includes an input module, a particle encoding and initialization module, an optimization objective, a particle position movement module, an iterative optimization module, an enhancement matrix module, a graph autoencoder module, a clustering feedback module, an alternating optimization module, and an output module; the system clusters tourist attractions according to the following steps and recommends the same type of tourist attractions:
[0005] Step S1: Input module. Input the data required by the system, including network topology, particle swarm size np, maximum number of iterations T1 for particle swarm optimization, dimension d of the output vector of the graph autoencoder, and maximum number of iterations T2 for alternating optimization. Among them, abstract the relationship between each tourist scenic area as a network topology, that is, each network node represents a scenic area, and the number of times two scenic areas are visited by the same tourist is used as the weight of the edge between the two nodes.
[0006] Step S2: Particle encoding and initialization module. The particle position is encoded according to the input network topology. At the initial moment, the initial position of each node is its own node ID, and the global archive is initialized to be empty.
[0007] Step S3: Optimization objective. A high-quality community structure has strong internal connections and sparse external connections within the community. According to this feature, design the particle fitness function as follows:
[0008]
[0009] Among them, |·| represents the number of nodes in a community, k is the number of communities in the network; KKM represents the tightness within the community, and RC represents the tightness between communities; the smaller both of them are, the more the divided communities maintain the characteristics of strong internal connections and sparse external connections.
[0010] Step S4: Particle position update module. Integrate the global optimal position and the local optimal position to update the current particle position.
[0011] Step S5: Iterative optimization module. After all particles are updated, update the individual optimal position and the global optimal position according to the domination situation, and add them to the global archive. Retain the excellent solutions in the archive according to the fitness.
[0012] Step S6: Enhancement matrix module. Input the solution with the largest modularity in the global archive. Based on the original adjacency matrix, construct edges for the nodes that can reach within k steps in the same community to enhance the community information of the matrix.
[0013] Step S7: Graph autoencoder module. Use two-layer graph convolutional layers as the encoder and softmax as the decoder to reconstruct the enhancement matrix. The output of the encoder is the embedding vector of the node.
[0014] Step S8: Clustering feedback module. Use K-means to cluster the node embedding vectors. The solutions in the global archive represent the partitions with significant community structures, corresponding to the most likely number of communities in this network. Therefore, the number of clusters in K-means is uniformly selected from the upper and lower bounds of the number of communities in the solutions in the global archive to generate diverse community partitions. Re-encode the newly generated community partitions after clustering and feedback them back to the particle swarm.
[0015] Step S9: Alternating optimization module; construct an enhancement matrix based on the results of particle swarm optimization; on the other hand, cluster the vectors and feedback them back to the particle swarm for further evolution, and improve the quality of the algorithm solution through two-stage alternating optimization;
[0016] Step S10: Output module; after alternating iteration for a certain number of times, the global archive output by the final particle swarm contains high-quality community partitions, which is also the output of the final algorithm;
[0017] Step S11: According to the scenic spots that the user has visited, find the community where the scenic spot node is located in the community partition output by the algorithm, and recommend the scenic spots that other users in this community have not visited.
[0018] In a preferred embodiment: The specific steps of step S2 are as follows:
[0019] Step S21: Drawing on the idea of label propagation, encode the solution of the problem into the following form:
[0020] B i = [1, 2,..., n] Formula (2)
[0021] b pi ∈ [1, n] represents the group number to which the i-th scenic spot belongs, and n is the number of scenic spots; if b pi = b pj , it means that scenic spots i and j belong to the same group;
[0022] Step S22: Initialize the encoding of the solution of the group to which each scenic spot belongs into the following form:
[0023] B i = [1, 2,..., n] Formula (3)
[0024] Bi means that each scenic spot only belongs to a group with itself in the initial stage.
[0025] In a preferred embodiment: The specific steps of step S4 are as follows:
[0026] Step S41: First, it is necessary to calculate how many of the neighbors related to scenic spot i in the p-th particle belong to the same group as its neighbor j, and denote it as w ij (p), which is the weight of the edge in the network; when particle p updates the label of node i, it is necessary to calculate the weight of each neighbor j of node i, as follows:
[0027]
[0028]
[0029] Among them, w ij (p) represents the number of neighbors of node i of particle p that share the same label with its neighbor j, that is, the weight;
[0030] Step S42: When updating the position i of particle p according to the global best position p b aggregate the neighbor weights through the following formula:
[0031]
[0032] Among them, is the weight of neighbor j of node i after aggregating the information of particle p and particle p b ; Subsequently, node i selects the neighbor with the largest aggregated weight and updates the label of node i with the label of this neighbor as follows:
[0033]
[0034] b pi = b ps Formula (8)
[0035] s is the neighbor with the largest weight of node i, and b pi represents the label with subscript i in particle p, and update it to the community label of node s in particle p; if there is more than one neighbor with the largest weight, randomly select one and use the label of this node to update b pi .
[0036] In a preferred embodiment: The step S5 specifically includes the following steps:
[0037] Step S51: During the iteration of the population, for each solution p, it is also necessary to maintain the individual optimal solution; for the new position np of particle p, there are the following three cases:
[0038] (1) If the new solution np dominates the previous round of pbest p on both objective functions, then use pbest p = np;
[0039] (2) If the new solution np and pbest p do not dominate each other on both objective functions, then randomly select one of them as pbest p ;
[0040] (3) If the new solution np is dominated by the previous round of pbest p on both objective functions, then no update is performed;
[0041] Step S52: After all particle individuals are updated, add the new solution to the global archive, and select the solution with the largest modularity in the archive as the new global optimal solution gbest;
[0042] Step S53: According to the objective function, sort the global archive based on the NSGA-II framework, and retain n p excellent solutions; select the solution with the largest modularity from the archive as the global optimal position, so that the particles are directionally optimized towards the Pareto front with a larger modularity during the update; iterate repeatedly until all particle positions tend to be stable or reach the maximum number of iterations T1, and finally output the global archive.
[0043] In a preferred embodiment: Step S6 specifically uses a breadth-first search algorithm to construct a k-order community information matrix, including the following steps:
[0044] Step S61: Select a scenic spot node i and add it to the set V of candidate nodes;
[0045] Step S62: Find all neighbor node sets with a step length of 1 from the scenic spot node in the set of candidate nodes, and empty the set of candidate nodes;
[0046] Step S63: Take a node j in any neighbor node set, add it to the set V of candidate nodes, and set the k-order community information matrix M ij to 1;
[0047] Step S64: Repeat Step S62 and Step S63 until the step length distance from the scenic spot node i exceeds k;
[0048] Step S65: Repeat the above steps until the k-order community information matrix M is updated;
[0049] Step S66: Construct the augmented matrix A according to the following formula eh :
[0050] A eh = A + M Formula (9).
[0051] In a preferred embodiment: Use a graph autoencoder to reconstruct the augmented matrix, and Step S7 includes the following steps:
[0052] Step S71: The encoder adopts a two-layer mechanism, and the formula is as follows:
[0053]
[0054]
[0055] where the initial feature Z0 = A eh; The first-layer graph convolutional layer (GCN1) maps the initial information to the embedding matrix Z1, and the second convolutional layer (GCN2) aggregates the second-order neighborhood information and maps Z1 to the output feature matrix Z of the encoder; where is the input matrix obtained by adding a self-loop to the augmented matrix and then normalizing it, and its calculation method is as follows:
[0056]
[0057] Step S72: Use softmax as the output decoder to reconstruct the normalized augmented matrix, and the loss function is as follows:
[0058]
[0059] In a preferred embodiment: The step S11 includes the following steps:
[0060] Step S111: Use the scenic spot nodes liked by the user as an index to find the community where the scenic spot node is located;
[0061] Com(v) = [b0, b1,..., b i , b k = b v Formula (14)
[0062] Step S112: Remove the scenic spot nodes that have been visited by the user from it, so as to obtain the scenic spots to be recommended;
[0063]
[0064] Compared with the prior art, the present invention has the following beneficial effects:
[0065] (1) The present invention proposes a particle swarm optimization based on label propagation, and the algorithm can converge quickly by iteration to search for a high-quality community partition.
[0066] (2) The present invention proposes an alternating optimization of particle swarm and graph autoencoder, and the alternating optimization helps the particle swarm jump out of the local optimum, thereby further improving the quality of the solution. Brief Description of the Drawings
[0067] Figure 1 is a schematic framework diagram of a preferred embodiment of the present invention. Detailed Embodiment
[0068] The present invention will be further described below with reference to the drawings and embodiments.
[0069] It should be noted that the following detailed description is illustrative and is intended to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which the present application belongs.
[0070] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application; as used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should also be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0071] As Figure 1 shown, this embodiment provides a tourist scenic area recommendation method combining particle swarm optimization and graph autoencoder, and provides a system, which includes an input module, a particle coding and initialization module, an optimization objective, a particle position movement module, an iterative optimization module, an enhancement matrix module, a graph autoencoder module, a clustering module, a feedback module, an alternating optimization module, and an output module. The system mines the user group of the Internet according to the following steps:
[0072] Step S1: Input module. Input the relevant data required by the system, including network topology, particle swarm size np, maximum number of iterations T1 of particle swarm optimization, dimension d of the output vector of the graph autoencoder, and maximum number of iterations T2 of alternating optimization. Among them, the relationship between each tourist scenic area can be abstracted as a network topology, that is, each network node represents a scenic area, and the number of times two scenic areas are visited by the same tourist is used as the weight of the edge between the two nodes.
[0073] Step S2: Particle coding and initialization module. The particle position is encoded according to the input network topology. At the initial moment, the initial position (community label) of each node is its own node ID, and the global archive is initialized to be empty.
[0074] Step S3: Optimization objective. A high-quality community structure has strong internal connections within the community and sparse connections between communities. According to this feature, the particle fitness function is designed as follows:
[0075]
[0076] Among them, |·| represents the number of nodes in a community, and k is the number of communities in the network. KKM represents the tightness within the community, while RC is the opposite, representing the tightness between communities. If both are smaller, the divided communities will maintain the characteristics of strong internal connections and sparse external connections.
[0077] Step S4: Particle Position Update Module. The current particle position is updated by fusing the global optimal position and the local optimal position.
[0078] Step S5: Iterative Optimization Module. After all particles are updated, the individual optimal position and the global optimal position are updated according to the domination situation and added to the global archive. The excellent solutions in the archive are retained according to the fitness.
[0079] Step S6: Enhanced Matrix Module. The solution with the largest modularity in the global archive is input. Based on the original adjacency matrix, edges are constructed for the nodes that can be reached within k steps in the same community to enhance the community information of the matrix.
[0080] Step S7: Graph Autoencoder Module. Using two-layer graph convolutional layers as the encoder and softmax as the decoder to reconstruct the enhanced matrix, and the output of the encoder is the embedding vector of the nodes.
[0081] Step S8: Clustering Feedback Module. The node embedding vectors are clustered using K-means. The solutions in the global archive represent the partitions with significant community structures, corresponding to the most likely number of communities in the network. Therefore, the number of clusters in K-means is uniformly taken from the upper and lower bounds of the number of communities in the solutions of the global archive to generate diverse community partitions. The newly generated community partitions after clustering are re-encoded and fed back into the particle swarm.
[0082] Step S9: Alternating Optimization Module. By constructing an enhanced matrix according to the results of the particle swarm optimization to enhance the community information of the node embedding vectors and improve the quality of the vectors; on the other hand, clustering the vectors and feeding them back into the particle swarm for further evolution, and improving the quality of the algorithm solutions through two-stage alternating optimization.
[0083] Step S10: Output Module. After alternating iterations for a certain number of times, the global archive output by the final particle swarm contains high-quality community partitions, which is also the output of the final algorithm.
[0084] Step S11: According to the scenic spots that the user has visited, find the community where the scenic spot nodes are located in the community partition output by the algorithm, and recommend the scenic spots that other users in the community have not visited.
[0085] The specific steps of the said Step S2 include the following steps:
[0086] Step S21: Drawing on the idea of label propagation, encode the solution to the problem into the following form:
[0087] B i =[1, 2,..., n] Formula (2)
[0088] b pi∈[1,n] represents the group number to which the i-th scenic spot belongs, and n is the number of scenic spots. If b pi = b pj , it means that scenic spots i and j belong to the same group.
[0089] Step S22: Initialize the encoding of the solution of the group to which each scenic spot belongs into the following form:
[0090] B i = [1, 2,..., n] Formula (3)
[0091] Bi means that each scenic spot belongs to a group only with itself in the initial stage.
[0092] The specific steps of step S4 include the following steps:
[0093] Step S41: First, it is necessary to calculate how many of the neighbors related to scenic spot i in the p-th particle belong to the same group as its neighbor j, and denote it as w ij (p), which is the weight of the edge in the network. When particle p updates the label of node i, it is necessary to calculate the weight of each neighbor j of node i, as follows:
[0094]
[0095]
[0096] Among them, w ij (p) represents the number of neighbors of node i of particle p that share the same label as its neighbor j, that is, the weight.
[0097] Step S42: When updating the position i of particle p according to the global best position p b , aggregate the neighbor weights through the following formula:
[0098]
[0099] Among them, is the weight of neighbor j of node i after aggregating the information of particle p and particle p b . Subsequently, node i selects the neighbor with the largest aggregated weight and updates the label of node i using the label of this neighbor, as follows:
[0100]
[0101] b pi = b ps Formula (8)
[0102] s is the neighbor with the largest weight of node i, b piDenote the label with subscript \(i\) in particle \(p\), and update it to the community label of node \(s\) in particle \(p\). If there is more than one neighbor with the largest weight, randomly select one and use the label of this node to update \(b\). pi .
[0103] The specific steps of step S5 include the following steps:
[0104] Step S51: During the iteration of the population, for each solution \(p\), the individual optimal solution also needs to be maintained. For the new position \(np\) of particle \(p\), there are the following three cases:
[0105] (1) If the new solution \(np\) dominates the previous round of pbest in both objective functions p , then use pbest p = np.
[0106] (2) If the new solution \(np\) and pbest p do not dominate each other in both objective functions, randomly select one of them as pbest p .
[0107] (3) If the new solution \(np\) is dominated by the previous round of pbest p in both objective functions, no update is performed.
[0108] Step S52: After all particles are updated, add the new solutions to the global archive, and select the solution with the largest modularity in the archive as the new global optimal solution gbest.
[0109] Step S53: Based on the objective functions, sort the global archive according to the NSGA-II framework, and retain \(n\) p excellent solutions. Since the modularity can reflect the quality of the community to a certain extent, select the solution with the largest modularity in the archive as the global optimal position, so that the particles are optimized towards the Pareto front with a larger modularity when updated. Iterate repeatedly until all particle positions tend to be stable or reach the maximum number of iterations \(T1\), and finally output the global archive.
[0110] The specific steps of step S6 use the breadth-first search algorithm to construct the \(k\)-order community information matrix, including the following steps:
[0111] Step S61: Select a scenic area node \(i\) and add it to the set \(V\) of candidate nodes.
[0112] Step S62: Find all neighbor node sets with a step size of 1 from the scenic area node in the set of candidate nodes, and empty the set of candidate nodes.
[0113] Step S63: Take any node \(j\) in the neighbor node set, add it to the set \(V\) of candidate nodes, and set the \(k\)-order community information matrix \(M\)ij Set 1.
[0114] Step S64: Repeat Step S62 and Step S63 until the step distance from the scenic spot node i exceeds k.
[0115] Step S65: Repeat the above steps until the k - order community information matrix M is updated.
[0116] Step S66: Construct the enhanced matrix A according to the following formula eh :
[0117] A eh = A + M Formula (9).
[0118] Use the graph auto - encoder to reconstruct the enhanced matrix. The step S7 includes the following steps:
[0119] Step S71: The encoder adopts a two - layer mechanism. The formula is as follows:
[0120]
[0121]
[0122] Where the initial feature Z0 = A eh . The first - layer graph convolutional layer (GCN1) maps the initial information to the embedding matrix Z1, and the second - layer convolutional layer (GCN2) aggregates the second - order neighborhood information and maps Z1 to the output feature matrix Z of the encoder. Where is the input matrix after adding self - loops to the enhanced matrix and normalizing it. Its calculation method is as follows:
[0123]
[0124] Step S72: Adopt softmax as the output decoder to reconstruct the normalized enhanced matrix. The loss function is as follows:
[0125]
[0126] The step S11 includes the following steps:
[0127] Step S111: Use the scenic spot node liked by the user as an index to find the community where the scenic spot node is located.
[0128] Com(v)=[b0,b1,...,b i ,b k = b v Formula (14)
[0129] Step S112: Remove the scenic spot nodes that have been visited by the user from it, so as to obtain the scenic spots to be recommended.
[0130]
[0131] The present invention proposes a tourist attraction recommendation algorithm that combines particle swarm optimization and graph autoencoder. The label propagation strategy enables the algorithm to converge faster, and the alternating optimization enables the algorithm to escape from the local optimum and discover high-precision community structures.
[0132] The above description is only a preferred embodiment of the present invention. All equivalent changes and modifications made according to the scope of the patent application of the present invention should fall within the scope of the present invention.
Claims
1. A tourist attraction recommendation method based on evolutionary computation, characterized in that: Provide a system, which includes an input module, a particle encoding and initialization module, an optimization objective, a particle position movement module, an iterative optimization module, an enhanced matrix module, a graph autoencoder module, a clustering feedback module, an alternating optimization module, and an output module; the system clusters tourist attractions according to the following steps and recommends similar tourist attractions: Step S1: Input module, input the data required by the system, including network topology, particle swarm size np, maximum number of iterations T1 for particle swarm optimization, output vector dimension d of the graph autoencoder module, and maximum number of iterations T2 for alternating optimization; among them, abstract the relationship between each tourist attraction as a network topology, that is, each network node represents an attraction, and the number of times two attractions are visited by the same tourist is used as the weight of the edge between the two nodes; Step S2: Particle encoding and initialization module; the particle position is encoded according to the input network topology, and the initial position of each node at the initial moment is its own node ID, and the global archive is initialized to be empty; The specific steps of step S2 include the following steps: Step S21: Draw on the idea of label propagation and encode the solution of the problem into the following form: B i = [1, 2,..., n] Formula (2) b pi ∈ [1, n] represents the group number to which the i-th scenic spot node belongs, and n is the number of scenic spots; if b pi = b pj , it means that the scenic spot node i and the scenic spot node j belong to the same group; Step S22: Initialize the encoding of the solution of the group to which each scenic spot belongs into the following form: B i = [1, 2, ..., n] Formula (3) Bi means that each scenic spot only belongs to one group with itself in the initial stage; Step S3: Optimization objective; a high-quality community structure has a tight connection within the community and a sparse connection between communities. According to this feature, design the particle fitness function as follows: Among them, |·| represents the number of nodes in a community, and k is the number of communities in the network; KKM represents the tightness within a community, while RC represents the tightness between communities; if both are smaller, the divided communities will maintain the characteristics of being closely connected internally and sparsely connected externally. Step S4: Particle position update module; fuse the global optimal position and the local optimal position to update the current particle position; Step S5: Iterative optimization module; after all particles are updated, update the individual optimal position and the global optimal position according to the dominance situation, add them to the global archive, and retain the excellent solutions in the archive according to the fitness; Step S6: Enhanced matrix module; input the solution with the largest modularity in the global archive, and based on the original adjacency matrix, construct edges for the nodes that can reach within k steps in the same community to enhance the community information of the matrix; Step S7: Graph autoencoder module; use two-layer graph convolutional layers as the encoder and softmax as the decoder to reconstruct the enhanced matrix, and the output of the encoder is the embedding vector of the node; Step S8: Clustering feedback module; use K-means to cluster the node embedding vectors. The solutions in the global archive represent the partitions with significant community structures, corresponding to the most likely number of communities in the network. Therefore, the number of clusters in K-means is uniformly taken from the upper and lower bounds of the number of communities in the solutions in the global archive to generate diverse community partitions; re-encode the new community partitions generated after clustering and feedback them back to the particle swarm; Step S9: Alternating optimization module; construct an enhanced matrix according to the results of particle swarm optimization; on the other hand, cluster the vectors and feedback them back to the particle swarm for further evolution, and improve the quality of the algorithm solution through two-stage alternating optimization; Step S10: Output module; after alternating iteration for a certain number of times, the global archive output by the final particle swarm contains high-quality community partitions, which is also the output of the final algorithm; Step S11: According to the scenic spots that the user has visited, find the community where the scenic spot node is located in the community division output by the algorithm, and select the scenic spots that other users in this community have not visited for recommendation; Use the graph autoencoder module to reconstruct the augmented matrix. The step S7 includes the following steps: Step S71: The encoder adopts a two-layer mechanism, and the formula is as follows: where the initial feature $Z_0 = A$ eh , $A$ eh represents the enhancement matrix; the first-layer graph convolutional layer (GCN1) maps the initial information to the embedding matrix $Z_1$, and the second-layer convolutional layer (GCN2) aggregates the second-order neighborhood information and maps $Z_1$ to the output feature matrix $Z$ of the encoder; where is the input matrix obtained by adding a self-loop to the enhancement matrix and then normalizing it, and its calculation method is as follows: Step S72: Use softmax as the output decoder to reconstruct the normalized augmented matrix, and the loss function is as follows:
2. The method for recommending tourist attractions based on evolutionary computation according to claim 1, wherein: The step S4 specifically includes the following steps: Step S41: First, it is necessary to calculate how many of the neighbors connected to scenic spot node i in the p-th particle belong to the same group as its neighbor scenic spot node j, and denote it as w ij (p), which is the weight of the edge in the network; when particle p updates the label of scenic spot node i, it is necessary to calculate the weight of each neighbor scenic spot node j of scenic spot node i, as follows: where w ij (p) represents the number of neighbors of scenic spot node i of particle p that share the same label with its neighbor scenic spot node j, that is, the weight; Step S42: According to the global best position p b When updating the scenic spot node i of the particle p, aggregate the neighbor weights by the following formula: Among them, is the weight of the neighbor scenic spot node j of the scenic spot node i after aggregating the particles p and the particle p b After the information, the scenic spot node i selects the neighbor with the largest aggregated weight and updates the label of the scenic spot node i using the label of this neighbor, as follows: b pi = b ps Formula (8) s is the neighbor with the largest weight of scenic spot node i, b pi represents the label of the scenic spot node i in particle p, and update it to the community label of node s in particle p; if there are more than one neighbor with the largest weight, randomly select one and use the label of this node to update b pi .
3. The tourism scenic area recommendation method based on evolutionary computation according to claim 1, characterized in that: The step S5 specifically includes the following steps: Step S51: During the iteration of the population, for each solution p, it is also necessary to maintain the individual optimal solution; for the new position np of particle p, there are the following three cases: (1) If the new solution np dominates the previous round's pbest in both objective functions p , then use pbest p = np; (2) If the new solution np and pbest p are non-dominated on both objective functions, randomly select one of them as pbest p ; (3) If the new solution np is dominated by the pbest of the previous round on both objective functions p then no update is performed; Step S52: When all the individuals of the particles are updated, add the new solution to the global archive, and select the solution with the largest modularity in the archive as the new global optimal solution gbest; Step S53: Based on the objective function, sort the global archive according to the NSGA-II framework, and retain n p excellent solutions; select the solution with the largest modularity from the archive as the global optimal position, so that the particles are directionally optimized towards the Pareto front with a larger modularity during the update; iterate repeatedly until all particle positions tend to be stable or reach the maximum number of iterations T1, and finally output the global archive.
4. The tourism scenic area recommendation method based on evolutionary computation according to claim 1, wherein: The step S6 specifically uses the breadth-first search algorithm to construct the k-order community information matrix, including the following steps: Step S61: Select a scenic spot node i and add it to the set of candidate nodes V; Step S62: Find all neighbor node sets with a step size of 1 from the scenic spot node in the set of candidate nodes, and empty the set of candidate nodes; Step S63: Take any scenic spot node j in the neighbor node set, add it to the set of candidate nodes V, and set the k-order community information matrix M to 1; Step S64: Repeat step S62 and step S63 until the step size distance from the scenic spot node i exceeds k; Step S65: Repeat the above steps until the k-order community information matrix M is updated; Step S66: Construct the enhanced matrix A using the following formula eh : A eh = A + M formula (9).
5. The method for recommending tourist attractions based on evolutionary computation according to claim 1, wherein: The step S11 includes the following steps: Step S111: Use the scenic spot node liked by the user as an index to find the community where the scenic spot node is located; Com(v) = [b0, b1,..., b i , b k = b v Formula (14) Step S112: Remove the scenic spot nodes that have been visited by the user from it, so as to obtain the scenic spots that need to be recommended;
Citation Information
Patent Citations
Multi-target complex network community discovery method based on spectral clustering
CN109859065A
Community structure detection method and system for movie social network
CN114020999A