**3. Algorithm design**

294 Bio-Inspired Computational Algorithms and Their Applications

**Definition 3** frequent itemsets in sliding window: For the current data in sliding window, a collection of items I = {i1, i2, ..., in} , transaction iterm data set S = {s1, s2 ,..., sn}, each transaction iterm is a collection of items, s⊆I。If X⊆S, then X is an itemset. If there are k elements in X, we call X the k-itemsets. With respect to an itemset X, if its support degree is greater than or equal to the minimum support threshold given by the user, then X is called

Genetic algorithm starts the search process from an initial population. Each individual in the population is a possible frequent pattern. We use the genetic algorithm to achieve the result mainly through crossover, mutation and selection [8]. After several generations of selection, we achieve a final frequent itemsets. The major rules and operators in genetic algorithm are

1. Coding rule: this work codes with the integer. For example, each transaction item has ABCDE five attributes in a data stream, the transaction item which is coded 21530 expresses that we take the second value of A attribute, take the first value of B attribute, and analogizes in turn, we use 0 to express that we do not consider the value of E

2. The fitness function: Fi=Wi/WZ, Fi is the support degree of transaction item i, Wi is the number of the transaction items which have the same value for each attribute, WZ is the

3. The selection operator: This algorithm uses the Roulette Wheel Selection. For individual i, its fitness degree Fi, the population size M, then its probability of being selected is

4. Crossover: This algorithm uses One Point Crossover. If the parent chromosomes are A (a1a2a3 ... ai ... an) and B (b1b2b3 ... bi ... bn), after cross operation, the daughter

5. Mutation Operator: The algorithm uses the Simple Mutation. If the parent chromosome is A (a1a2a3 ... ai ... an), after the variation, the daughter chromosome becomes A1 (a1a2a3

Mutation operation changes some genes randomly to generate new individuals. Mutation operation is an important cause to obtain global optimization. It helps to increase the population diversity, but in this algorithm, the corresponding genes which are required to

When we establish the parallel part in the program, we can let this part run into GPU. The function which runs in GPU is called kernel (kernel function). A kernel function is not a complete program, but the parallel part of the entire CUDA program[13,14]. A complete CUDA program execution is shown in figure 2. The graph shows that in a kernel function there are two parallel levels, the parallel blocks in the grid and the parallel threads in the

Crossover operator is mainly used to interchange some genes between the parent chromosomes. Through the operation between two individuals of parent generation, we get the daughter generation. Thus, daughter generation would inherit the effective

total number of transaction items in the window.

<sup>=</sup> , (i=1, 2, … , M).

chromosomes are A1 (a1a2a3 ... bi ... bn) and B1 (b1b2b3 ... ai ... an).

generate the frequent itemsets already exist, so we use a lower mutation rate.

1 / *M ii i i p F F* =

models of the parent generation.

the frequent itemsets.

as follows:

attribute.

expressed as

... bi ... an).

block.

NSWGA uses the sliding window to get the recent data and uses genetic algorithms to mine frequent itemsets of the data in the current window.
