Efficient item set mining method, device and medium based on GPU and multi-population genetic algorithm
By combining GPU-based and multi-population genetic algorithms with population optimization of transaction-weighted utility, support, and average utility values, the problem of low computational efficiency and poor accuracy in high-utility itemset mining in large-scale databases is solved, achieving fast, efficient, and accurate mining results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA SHIP SCIENTIFIC RESEARCH CENTER
- Filing Date
- 2026-03-20
- Publication Date
- 2026-06-16
AI Technical Summary
Existing technologies suffer from low computational efficiency, long processing time, and poor accuracy when mining high-efficiency itemsets in large-scale databases. Traditional genetic algorithms are time-consuming during iteration, and the single heuristic initialization leads to a single search direction, which is prone to premature convergence and missing some high-quality solutions.
We employ a GPU-based and multi-population genetic algorithm approach. We optimize the diversity of populations using the CPU and then send the results to the GPU for computation. We utilize the CUDA framework to compute fitness in parallel. By combining the diversity optimization of three populations—transaction-weighted utility, support, and average utility value—we promote cross-population communication and improve the accuracy and efficiency of data mining.
It achieves fast, efficient, and accurate itemset mining, significantly improving operational efficiency and search space coverage, and solving the problems of low computational efficiency and poor accuracy in existing technologies.
Smart Images

Figure CN122221963A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data mining technology, and in particular to an efficient itemset mining method, device and medium based on GPU and multi-population genetic algorithm. Background Technology
[0002] Highly useful itemset mining is an important research direction in the field of data mining, aiming to discover combinations of highly useful itemsets from a set of transactions. Precise mining algorithms based on Utility-Lists can mine highly useful itemsets without storing candidate itemsets, making them one of the most efficient algorithms currently available. However, the storage and merging operations of Utility-Lists are not only time-consuming but also consume significant memory resources. As the dataset size increases, the search space of the algorithm grows exponentially, making it difficult for precise mining algorithms to find all highly useful itemsets within a finite amount of time. Therefore, heuristic mining algorithms have been proposed to address the performance bottleneck of precise algorithms.
[0003] Genetic algorithms possess excellent global exploration capabilities, and evolutionary mining algorithms based on genetic algorithms are considered among the most effective of many heuristic algorithms. However, when the minimum utility threshold is too low or the dataset size is too large, heuristic algorithms still require significant computational resources.
[0004] In summary, existing technologies have a series of problems. For example, firstly, the precise algorithm is inefficient in large-scale databases and cannot complete the mining within a reasonable time. Secondly, traditional genetic algorithms need to scan the transaction set frequently during the iteration process, and the fitness evaluation is time-consuming. Thirdly, the single heuristic initialization of the population leads to a single search direction, which is prone to premature convergence and missing some high-quality solutions, resulting in low mining accuracy. Summary of the Invention
[0005] To address the aforementioned problems and technical requirements, this applicant proposes an efficient itemset mining method, device, and medium based on GPU and multi-population genetic algorithms. This method aims to solve the problems of low computational efficiency, long processing time, and poor accuracy in existing technologies for mining efficient itemsets, thereby achieving fast, efficient, and accurate mining of efficient itemsets.
[0006] This application provides an efficient itemset mining method based on GPU and multi-population genetic algorithms, the method comprising:
[0007] The CPU performs population diversity optimization on the current population cluster and sends the optimized population cluster to the GPU. The population cluster includes: a first population cluster corresponding to transaction weighted utility, a second population cluster corresponding to support, and a third population cluster corresponding to average utility value. Among these, the population diversity optimization operations for the current population include: Identify the best individual in each population, and randomly assign the three best individuals to the first, second, and third populations respectively. Then, randomly select two individuals from each population after assignment and replace the random individuals in the current population with random individuals from other populations to obtain the optimized current population. The fitness of each individual in the current population is calculated using the CUDA framework via the GPU, and the fitness is returned to the CPU. The CPU analyzes the fitness to determine the efficient itemset in the current population and returns to perform population diversity optimization operations on the current population until the number of iterations reaches a preset number, at which point the calculation ends and the efficient itemset obtained in all iterations is obtained.
[0008] According to the efficient itemset mining method based on GPU and multi-population genetic algorithms provided in the embodiments of this application, the optimal individual in each population is determined, including: The individual with the highest transaction-weighted utility in the first group is determined as the optimal individual of the first group; the individual with the highest support in the second group is determined as the optimal individual of the second group; and the individual with the highest average utility value in the third group is determined as the optimal individual of the third group.
[0009] According to the efficient itemset mining method based on GPU and multi-population genetic algorithm provided in the embodiments of this application, two random individuals are randomly selected from each allocated population, and the random individuals in the current population are replaced by random individuals from other populations, including: Two random individuals are randomly selected from each population after allocation. The two random individuals from the first population replace the two random individuals from the second population. The two random individuals from the second population replace the two random individuals from the third population. The two random individuals from the third population replace the two random individuals from the first population.
[0010] According to the efficient itemset mining method based on GPU and multi-population genetic algorithms provided in the embodiments of this application, the fitness of each individual in the current population is calculated using the CUDA framework via GPU, including: Divide each individual in the current population into different blocks; After the thread in each block completes the fitness calculation, the fitness obtained from all blocks is summarized by atomic addition operations to obtain the fitness of each individual in the current population.
[0011] According to the efficient itemset mining method based on GPU and multi-population genetic algorithm provided in the embodiments of this application, the fitness is calculated by thread, including: Calculate the individual ID and transaction set identifier based on the current population cluster; If it is determined that neither the individual ID being greater than the number of individuals in the current population nor the transaction set identifier being greater than the individual code length of the corresponding individual is true, then iterate from 0 to the individual code length up to 1 and calculate the fitness of the item corresponding to 1.
[0012] According to the efficient itemset mining method based on GPU and multi-population genetic algorithms provided in the embodiments of this application, before performing population diversity optimization operations on the current population using the CPU, the method further includes: The original dataset is initialized using a pre-defined population initialization operation via the CPU to obtain a population cluster. The population initialization operation includes: Obtain the original dataset; The CPU calculates the transaction-weighted utility, support, and average utility value for each individual in the original dataset, and creates a first group corresponding to the transaction-weighted utility, a second group corresponding to the support, and a third group corresponding to the average utility value.
[0013] According to the efficient itemset mining method based on GPU and multi-population genetic algorithm provided in the embodiments of this application, a first population corresponding to transaction weighted utility, a second population corresponding to support, and a third population corresponding to average utility value are created, including: For each individual in each population, a binary tournament selection mechanism is used to select k positions from the individual code length of the individual code; Based on the parameters of each population, determine whether each position of the corresponding individual should be set to 1, and obtain the final first population, second population and third population after setting.
[0014] According to the efficient itemset mining method based on GPU and multi-population genetic algorithm provided in the embodiments of this application, the efficient itemsets in the current population are determined by analyzing the fitness using a CPU, including: By comparing the fitness of all individuals with the preset fitness using the CPU, individuals with fitness greater than the preset fitness are selected to obtain an efficient itemset.
[0015] This application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the program, it implements the steps of the efficient itemset mining method based on GPU and multi-population genetic algorithm as described above.
[0016] This application also provides a non-transitory computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the efficient itemset mining method based on GPU and multi-population genetic algorithm as described above.
[0017] This application provides a method, device, and medium for efficient itemset mining based on GPU and a multi-population genetic algorithm. The CPU performs population diversity optimization on the current population group, and then sends the optimized population group to the GPU. The population group includes: a first population corresponding to transaction-weighted utility, a second population corresponding to support, and a third population corresponding to average utility. This application utilizes multiple populations (the first population evolves towards transaction-weighted utility, the second towards support, and the third towards average utility) to ensure that potential high-utility itemsets can be explored from multiple perspectives. Specifically, the optimal individual in each population is determined, and the three optimal individuals are randomly assigned to the first, second, and third populations, respectively. This application maintains the randomness and diversity of the genetic algorithm while finding the optimal individual and randomly assigning it to other populations, which promotes cross-population communication, helps explore new search spaces, and thus improves the overall mining efficiency. The application improves the accuracy of mining by: first, randomly selecting two individuals from each assigned population and replacing them with random individuals from other populations to obtain an optimized population for further expanding cross-population communication, thus facilitating a more comprehensive exploration of the entire space and enhancing mining accuracy; second, using the CUDA framework on the GPU to calculate the fitness of each individual in the current population and returning the fitness to the CPU, thereby improving mining efficiency by utilizing the CUDA framework for parallel fitness calculation; and third, analyzing the fitness using the CPU to determine the high-efficiency itemsets in the current population and returning to perform population diversity optimization operations on the current population until the preset number of iterations is reached, thus obtaining all the high-efficiency itemsets obtained during the iterations. This application solves the problems of low computational efficiency, long processing time, and poor accuracy in mining high-efficiency itemsets in existing technologies, achieving fast, efficient, and accurate mining of high-efficiency itemsets. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is one of the flowcharts illustrating the efficient itemset mining method based on GPU and multi-population genetic algorithm provided in this application embodiment; Figure 2 This is a schematic diagram of the population diversity maintenance strategy provided in the embodiments of this application; Figure 3 This is a schematic diagram of GPU parallel computing fitness provided in an embodiment of this application; Figure 4 This is the second flowchart illustrating the efficient itemset mining method based on GPU and multi-population genetic algorithm provided in this application embodiment; Figure 5 This is a schematic diagram of the structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0020] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention.
[0021] This application provides an efficient itemset mining method based on GPU and a multi-population genetic algorithm. This method can be applied to smart terminals and servers. This application uses the application of this method in a server as an example for illustration, and some other descriptions in the embodiments are for illustrative purposes only and are not intended to limit the scope of protection of this application, and will not be described in detail thereafter. The specific implementation of the method is as follows... Figure 1 As shown: Step 101: Perform population diversity optimization on the current population using the CPU, and send the optimized current population to the GPU.
[0022] The population clusters include: the first population corresponding to transaction-weighted utility, the second population corresponding to support, and the third population corresponding to average utility value.
[0023] The process of optimizing the population diversity of the current population includes: determining the best individual in each population, randomly assigning the three best individuals to the first, second, and third populations respectively; randomly selecting two individuals from each of the assigned populations, and replacing the random individuals in the current population with random individuals from other populations to obtain the optimized current population.
[0024] Step 102: Calculate the fitness of each individual in the current population using the CUDA framework via the GPU, and return the fitness to the CPU.
[0025] Step 103: Analyze the fitness using the CPU, determine the efficient itemset in the current population, and return to execute the step of optimizing the population diversity of the current population until the number of iterations reaches the preset number, and end the calculation to obtain the efficient itemset obtained in all iterations.
[0026] This application provides an efficient itemset mining method based on GPU and a multi-population genetic algorithm. The method optimizes the population diversity of the current population using the CPU and then sends the optimized population to the GPU. The population includes a first population corresponding to transaction-weighted utility, a second population corresponding to support, and a third population corresponding to average utility. This application utilizes multiple populations (the first population evolves towards transaction-weighted utility, the second towards support, and the third towards average utility) to ensure the exploration of potential high-utility itemsets from multiple perspectives. Specifically, it identifies the optimal individual in each population and randomly assigns the three optimal individuals to the first, second, and third populations, respectively. While maintaining the randomness and diversity of the genetic algorithm, this application finds the optimal individuals and randomly assigns them to other populations, promoting cross-population communication, facilitating the exploration of new search spaces, and thus improving the overall mining efficiency. The method involves several steps: First, it optimizes the mining process by randomly selecting two individuals from each assigned population and replacing them with random individuals from other populations to obtain an optimized current population. This optimizes cross-population communication, enabling a more comprehensive exploration of the entire space and improving mining accuracy. Second, it uses the CUDA framework on the GPU to calculate the fitness of each individual in the current population and returns the fitness to the CPU. This parallel computation of fitness using the CUDA framework improves mining efficiency. Third, it analyzes the fitness using the CPU to determine the high-efficiency itemsets in the current population and returns to perform population diversity optimization operations on the current population until the preset number of iterations is reached, at which point the computation ends and all high-efficiency itemsets obtained during the iterations are obtained. This method solves the problems of low computational efficiency, long processing time, and poor accuracy in mining high-efficiency itemsets in existing technologies, achieving fast, efficient, and accurate mining of high-efficiency itemsets.
[0027] This application achieves significant improvement in operational efficiency while ensuring mining quality and expanding the coverage of the search space, thus solving the dual problems of efficiency and quality in high-efficiency itemset mining under big data environment.
[0028] Specifically, this application utilizes binary encoding to represent itemsets and employs a genetic algorithm to mine efficient itemsets through population evolution. To more fully explore the solution space, a population diversity optimization operation is designed to improve the mining quality.
[0029] In one specific embodiment, before performing population diversity optimization on the current population using the CPU, the CPU performs a preset population initialization operation on the original dataset to obtain the population.
[0030] The population initialization operation includes: obtaining the original dataset; calculating the transaction-weighted utility (TWU), support, and average utility value for each individual in the original dataset using the CPU, and creating a first population corresponding to the transaction-weighted utility, a second population corresponding to the support, and a third population corresponding to the average utility value.
[0031] The original dataset consists of character-based data.
[0032] Specifically, in existing technologies, HUIM algorithms based on genetic algorithms typically rely on a single parameter, TWU, to initialize individuals in a single population. This application utilizes three parameters—TWU, Support, and Average—to initialize individuals in three populations. Support guides individuals towards frequent itemsets, helping the population find individuals with higher Support and improving the algorithm's local search capability. If an itemset has high support, it is more likely to be a usable itemset than an itemset with low support. Average is an indicator that balances TWU and Support, guiding the direction of global population evolution and improving the algorithm's global search capability. Furthermore, the HUIM problem space is typically very large; relying solely on a single heuristic rule may lead to premature convergence. This application improves the quality of the initial solution and enriches the population information by using three different populations.
[0033] This application initializes three different types of populations for different metrics (i.e., TWU, Support, and Average). For the first population, the individual encoding is determined based on the item's TWU size; for the second population, it is initialized based on the item's Support; and for the third population, it is initialized based on the item's Average.
[0034] In one specific embodiment, assuming the individual code length is Q, the population initialization operation for each population includes: selecting k positions from the individual code length using a binary tournament selection mechanism, determining whether each position is set to 1 based on the parameters of the corresponding population, and obtaining the final first population, second population, and third population after setting, thus completing the population initialization operation.
[0035] Among them, the parameters of the population are the indicators TWU, Support, and Average.
[0036] Let's take the first group as an example for illustration: Iterate through all individuals in the first group, generating a random number k for each individual (corresponding to the k selected positions). Randomly select two different positions j1 and j2 from the Q positions. Compare whether the TUW of the item represented by j1 is greater than the TUW of the item represented by j2. If so, set the position corresponding to j1 for that individual to 1; otherwise, set the position corresponding to j2 to 1, until k positions have been set.
[0037] The initialization process for the second and third groups is similar, but the difference lies in the comparison standard: the second group uses the item's Support, while the third group uses the item's Average to determine whether the position of j1 or j2 is set to 1.
[0038] This application, through its initialization strategy, can effectively cover the solution space, avoid local optima problems caused by a single heuristic rule, and enhance the algorithm's global exploration capability.
[0039] In one specific embodiment, the specific implementation of determining the optimal individual in each population includes: The individual with the highest transaction-weighted utility in the first group is determined as the optimal individual of the first group; the individual with the highest support in the second group is determined as the optimal individual of the second group; and the individual with the highest average utility value in the third group is determined as the optimal individual of the third group.
[0040] Specifically, after obtaining the optimal individuals, the three optimal individuals are randomly assigned to the first, second, and third populations, respectively. This application utilizes an elitist strategy for population optimization, which ensures that high-quality solutions are not lost by directly passing the best individuals from each generation to their offspring. To further improve the quality of the algorithm's mining and prevent the loss of high-quality itemsets, this application proposes an elitist sharing mechanism. Since this application has three populations, the elite individuals (optimal individuals) in each population are shared among multiple populations to retain more high-quality solutions.
[0041] Furthermore, in order to maintain both randomness and diversity in the genetic algorithm, in each iteration, the best performing elite individuals are first selected from each population, and then all these elite individuals are randomly assigned to various populations to replace some of the original individuals.
[0042] The elite sharing mechanism is implemented as follows: For each population, elite individuals are identified based on their respective evaluation criteria (TWU, Support, and Average). In each iteration, the identified elite individuals are randomly assigned to other populations, replacing some non-elite individuals. This approach promotes information exchange across populations and helps explore new search spaces. Through this method, this application not only preserves discovered high-quality solutions but also facilitates the exploration of new and better solution regions in later evolutionary iterations, thereby improving the overall mining quality. The elite sharing mechanism enhances the flexibility of this application, ensuring that as few potential high-quality solutions as possible are missed during the mining process and providing the possibility of discovering more unknown high-quality solutions.
[0043] In one specific embodiment, the specific implementation of randomly selecting two individuals from each allocated population and replacing the random individuals in the current population with random individuals from other populations includes: Two random individuals are randomly selected from each population after allocation. The two random individuals from the first population replace the two random individuals from the second population. The two random individuals from the second population replace the two random individuals from the third population. The two random individuals from the third population replace the two random individuals from the first population.
[0044] Specifically, in the efficient itemset mining problem, the number of final solutions can be extremely large, and these solutions are unevenly distributed in space. Existing optimization algorithms rely solely on the direction of the best individual from the previous generation for searching, which may miss a large number of potential high-quality solutions. As the number of iterations increases, the search space becomes limited, causing the algorithm to easily get trapped in local optima prematurely, thus affecting mining efficiency and result quality. To address these issues, this application introduces a population diversity maintenance strategy, aiming to maintain population diversity and prevent the algorithm from getting trapped in local optima, thereby reducing the possibility of missing efficient itemsets.
[0045] Population diversity maintenance strategies are implemented by performing specific individual exchange operations in each iteration. During each iteration, two individuals are randomly selected from each population and replaced by individuals from other populations. For details, please refer to [link to relevant documentation]. Figure 2 In this context, population 1 represents the first population, population 2 represents the second population, and population 3 represents the third population. Individuals with a green background within a population are the selected individuals.
[0046] The cross-population individual communication mechanism in this application not only expands the search range for optimal solutions but also promotes population diversity during the evolutionary process. Since the three populations evolve in different directions, each exploring different regions, the algorithm can search the entire solution space more comprehensively, rather than focusing solely on the currently known best regions. Furthermore, the randomness of the replacements prevents the algorithm from prematurely getting trapped in local optima, while simultaneously increasing the discovery of more superior individuals. By maintaining diversity within the populations, this strategy also enhances the algorithm's adaptability and robustness, enabling it to maintain good performance even when facing complex and dynamically changing search spaces.
[0047] In one specific embodiment, the specific implementation of calculating the fitness of each individual in the current population using the CUDA framework via GPU includes: Each individual in the current population is divided into different blocks; after the thread in each block completes the fitness calculation, the fitness obtained from all blocks is summarized by atomic addition operation to obtain the fitness of each individual in the current population.
[0048] Specifically, the vector transaction set corresponding to the current population is divided according to the number of allocated threads, and the fitness of each individual in the corresponding transaction set is calculated based on the allocated threads.
[0049] The number of threads allocated is determined by the GPU itself.
[0050] From the perspective of each individual in the population, each individual is divided into different blocks, and a block only needs to calculate the fitness of a specific individual. Simultaneously, the thread allocation strategy within a block is mapped to the meaning of the divided transaction sets to ensure the accuracy of the calculation results.
[0051] For multiple populations, since different grids are isolated from each other, expansion can be achieved simply by increasing the number of grids.
[0052] Specifically, in the CUDA framework, a grid can include up to three dimensions of thread blocks, and each block can be further subdivided into three dimensions of threads. However, due to the priority given to the number of threads within a single block, more blocks need to be allocated to fully utilize the GPU's computing resources. Since transaction sets are typically two-dimensional data (each row represents a transaction, and each column represents an item), adopting a two-dimensional block layout is not only logically more intuitive but also allows for more efficient utilization of the GPU's parallel processing capabilities.
[0053] In one specific embodiment, the specific implementation of fitness calculation for each thread includes: Calculate the individual ID and transaction set identifier based on the current population cluster; if it is determined that the individual ID is greater than the number of individuals in the current population cluster and the transaction set identifier is greater than the individual code length of the corresponding individual, then iterate from 0 to the individual code length, and calculate the fitness of the item corresponding to 1.
[0054] The individual number is the index of the individual to be processed, and it must be ensured that the index does not exceed the number of individuals in the current population (the total number of individuals).
[0055] The transaction set identifier is the index of the item in the currently pending individual. It is necessary to ensure that the index does not exceed the number of items in the individual to prevent array out-of-bounds errors.
[0056] Specifically, the GPU's thread allocation strategy and parallel computation fitness are executed sequentially. Before calculating fitness, all parameters must be correctly allocated to ensure the accuracy of the results. First, the individual ID and transaction set identifier are calculated. If either the individual ID is greater than the number of individuals in the current population or the transaction set identifier is greater than the individual code length of the corresponding individual, the computation exits. Next, the algorithm iterates from 0 to the individual code length, calculating the fitness corresponding to each item in turn, and summing the stored fitness values to obtain the individual's fitness.
[0057] If every item in the individual is not 1, it means that the individual does not exist in the transaction set, and the calculation stops. This can effectively utilize the parallel capabilities of the GPU to accelerate the evaluation of individual fitness.
[0058] Below, through Figure 3 The implementation of GPU parallel computing fitness is illustrated.
[0059] Assume the current population (transaction dataset) contains N individuals (population size), the current population length (transaction set length) is M, and the number of threads in each block is set to m. By dividing the entire dataset into n = M / m parts, these parts can be allocated to n rows of blocks for processing.
[0060] Among them, individuals through Let i = 1, ..., M.
[0061] Specifically, the x-dimensionality of a block is set to n (i.e., bid.x = n), and to handle N individuals, the y-dimensionality of the block is set to N (i.e., bid.y = N). This allows each block to allocate m threads, each thread calculating the fitness of its corresponding dataset portion row by row. After each thread in a block has completed its fitness calculation, the results are aggregated using atomic addition operations to obtain the fitness of all individuals across these n portions of the dataset.
[0062] In one specific embodiment, the specific implementation of determining the efficient itemset in the current population by analyzing fitness using the CPU includes: By comparing the fitness of all individuals with the preset fitness using the CPU, individuals with fitness greater than the preset fitness are selected to obtain an efficient itemset.
[0063] Below, through Figure 4 The specific implementation details of the application are explained below: This application uses three populations as the initial solution for the genetic algorithm. To more fully explore the effective solution space, each population evolves in a different direction during initialization. Considering that binary encoding can completely represent all itemsets, all individual codes are binary strings. All individual codes are transferred from the CPU to the GPU for fitness calculation, and then returned to the CPU to determine whether an individual belongs to a high-efficiency itemset. Traditional bitmap representations of the original dataset require the use of two-dimensional matrices to store data information. To improve the speed of GPU data reading, this application utilizes vectorized transaction sets (binary representation of population information) and improves data transfer efficiency by reading vector pointers. Furthermore, since the evolutionary steps such as selection, crossover, and mutation have low computational complexity, they are all run on the CPU, reducing the overhead of data transfer. This application accelerates the evolutionary iteration of the algorithm through a heterogeneous computing model of CPU and GPU, thereby improving mining efficiency.
[0064] Specifically, this application first performs a series of preprocessing operations on the original dataset on the CPU: calculating the TWU, Support, and Average values for all itemsets. Based on the preliminary calculation results, three initial populations are created, each evolving in the directions of TWU, Support, and Average, respectively, to ensure that the algorithm can explore potential high-efficiency itemsets from multiple perspectives.
[0065] Subsequently, the original dataset is compressed based on the TWU value, generating two vectors (used to assist in calculating fitness), and these two vectors are transferred from the CPU to the GPU. Next, the genetic algorithm enters the evolutionary iteration process: initializing GPU parameters (threads and blocks, etc.) and migrating the three initialized populations from the CPU to the GPU. Utilizing the GPU's parallel computing framework, the fitness of all individuals is calculated, and the results are then returned to the CPU.
[0066] By comparing the fitness results of all individuals with the predefined fitness, all efficient item sets are selected from the three populations.
[0067] The elite-sharing mechanism aims to avoid premature convergence and balance the algorithm's exploration and development capabilities. This application also proposes a population diversity maintenance strategy, enabling individual communication between different populations to help maintain population diversity and prevent the algorithm from getting trapped in local optima. Finally, new offspring populations are generated through operations such as selection, crossover, and mutation, continuously exploring and mining more efficient itemsets. This application demonstrates significant advantages in testing experiments. First, in terms of mining results, multi-population initialization significantly increases the number of discovered efficient itemsets, achieving a greater number of efficient itemsets compared to random initialization strategies. Second, in terms of runtime efficiency, leveraging GPU-parallel fitness evaluation, the algorithm's runtime is generally hundreds of times faster than the CPU serial version. On datasets such as Foodmart, Retail, and Susy, the speedup can reach 200 to 295 times, with GPU memory usage consistently remaining below 10%, thus not becoming a performance bottleneck. Third, regarding convergence speed and quality, the diversity maintenance and elite sharing mechanisms effectively prevent the algorithm from prematurely getting trapped in local optima, allowing it to discover more efficient itemsets even in later iterations. Overall, the experimental results show that this invention outperforms existing heuristic and parallel algorithms in terms of convergence speed, number of items discovered, and runtime, especially on large-scale datasets, where it can accomplish tasks that other algorithms struggle with.
[0068] Figure 5 An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 5 As shown, the electronic device may include a processor 501, a communication interface 502, a memory 503, and a communication bus 504. The processor 501, communication interface 502, and memory 503 communicate with each other via the communication bus 504. The processor 501 can call logical instructions from the memory 503 to execute an efficient itemset mining method based on GPU and multi-population genetic algorithms.
[0069] Furthermore, the logical instructions in the aforementioned memory 503 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0070] On the other hand, the present invention also provides a computer program product, the computer program product comprising a computer program stored on a non-transitory computer-readable storage medium, the computer program comprising program instructions, and when the program instructions are executed by a computer, the computer is able to execute the efficient itemset mining method based on GPU and multi-population genetic algorithm provided by the above methods.
[0071] In another aspect, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to perform the efficient itemset mining method based on GPU and multi-population genetic algorithms provided in the above embodiments.
[0072] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.
[0073] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0074] Finally, it should be noted that the above descriptions are merely preferred embodiments of this application, and this application is not limited to the above embodiments. It is understood that other improvements and variations directly derived or conceived by those skilled in the art without departing from the spirit and concept of this application should be considered to be included within the protection scope of this application.
Claims
1. An efficient itemset mining method based on GPU and multi-population genetic algorithm, characterized in that, The method includes: The CPU performs population diversity optimization on the current population cluster and sends the optimized population cluster to the GPU. The population cluster includes: a first population cluster corresponding to transaction weighted utility, a second population cluster corresponding to support, and a third population cluster corresponding to average utility value. Among these, the population diversity optimization operations for the current population include: Identify the best individual in each population, and randomly assign the three best individuals to the first, second, and third populations respectively. Then, randomly select two individuals from each population after assignment and replace the random individuals in the current population with random individuals from other populations to obtain the optimized current population. The fitness of each individual in the current population is calculated using the CUDA framework via the GPU, and the fitness is returned to the CPU. The CPU analyzes the fitness to determine the efficient itemset in the current population and returns to perform population diversity optimization operations on the current population until the number of iterations reaches a preset number, at which point the calculation ends and the efficient itemset obtained in all iterations is obtained.
2. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 1, characterized in that, Determining the optimal individual in each population includes: The individual with the highest transaction-weighted utility in the first group is determined as the optimal individual of the first group; the individual with the highest support in the second group is determined as the optimal individual of the second group; and the individual with the highest average utility value in the third group is determined as the optimal individual of the third group.
3. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 1 or 2, characterized in that, From each assigned population, two random individuals are randomly selected and replaced with random individuals from the current population and other populations, including: Two random individuals are randomly selected from each population after allocation. The two random individuals from the first population replace the two random individuals from the second population. The two random individuals from the second population replace the two random individuals from the third population. The two random individuals from the third population replace the two random individuals from the first population.
4. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 1 or 2, characterized in that, The fitness of each individual in the current population is calculated using the CUDA framework via GPU, including: Divide each individual in the current population into different blocks; After the thread in each block completes the fitness calculation, the fitness obtained from all blocks is summarized by atomic addition operations to obtain the fitness of each individual in the current population.
5. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 4, characterized in that, The thread calculates the fitness, including: Calculate the individual ID and transaction set identifier based on the current population cluster; If it is determined that neither the individual ID being greater than the number of individuals in the current population nor the transaction set identifier being greater than the individual code length of the corresponding individual is true, then iterate from 0 to the individual code length up to 1 and calculate the fitness of the item corresponding to 1.
6. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 1 or 2, characterized in that, Before performing population diversity optimization operations on the current population using the CPU, the following steps are also included: The original dataset is initialized using a pre-defined population initialization operation via the CPU to obtain a population cluster. The population initialization operation includes: Obtain the original dataset; The CPU calculates the transaction-weighted utility, support, and average utility value for each individual in the original dataset, and creates a first group corresponding to the transaction-weighted utility, a second group corresponding to the support, and a third group corresponding to the average utility value.
7. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 6, characterized in that, Create a first group corresponding to transaction-weighted utility, a second group corresponding to support, and a third group corresponding to average utility value, including: For each individual in each population, a binary tournament selection mechanism is used to select k positions from the individual code length of the individual code; Based on the parameters of each population, determine whether each position of the corresponding individual should be set to 1, and obtain the final first population, second population and third population after setting.
8. The efficient itemset mining method based on GPU and multi-population genetic algorithm according to claim 1 or 2, characterized in that, The fitness is analyzed by the CPU to determine the high-efficiency itemset in the current population, including: By comparing the fitness of all individuals with the preset fitness using the CPU, individuals with fitness greater than the preset fitness are selected to obtain an efficient itemset.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the efficient itemset mining method based on GPU and multi-population genetic algorithm as described in any one of claims 1 to 8.
10. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the computer program implements the steps of the efficient itemset mining method based on GPU and multi-population genetic algorithm as described in any one of claims 1 to 8.