# A Grid-Based Swarm Intelligence Algorithm for Privacy-Preserving Data Mining
## 4 Proposed MOPSO-Based Framework for Data Sanitization
### Evolution Process
The set of feasible solutions is represented by \(\Omega\subseteq\mathbb{X}\). Essentially, the goal of multi-objective evolutionary algorithms is to obtain a diverse set of estimates of the Pareto optimal set, which contains the non-dominated solutions of the multi-objective problem. _Pareto dominance_[47] has been the most commonly adopted criterion used to discriminate among solutions in the multi-objective context, and therefore it has been the basis to develop most of the MOEAs proposed so far. A theorem of Pareto dominance relation is given below. A feasible \(x\in\Omega\) Pareto-dominates another point \(x^{\prime}\in\Omega\) if it holds: \(f(x)\leq f(x^{\prime})\) and \(f(x)\
eq f(x^{\prime})\) and the relation operation \(\leq\) and \(\
eq\) are defined as: \(f(a)\leq f(b)\Leftrightarrow f_{i}(a)\leq f_{i}(b),\forall i\in\{1,2,\ldots,m\}\), and \(f(a)\
eq f(b)\Leftrightarrow\exists i\in\{1,2,\ldots,m\}:f_{i}(a)\
eq f_{i}(b)\). The above theorem of \(a\) and \(b\) respectively represents two different decision vectors. Normally, this dominance is usually presented as: \(f(x)\prec f(x^{\prime})\). Based on the theorem of _Pareto dominance_, the four side effects can be considered as four objects, and the solutions of the optimization in PPDM is to find a set of un-dominated solutions for transaction deletion. Thus, the _Pareto dominance_ can be utilized in the designed algorithm and holds the correctness of the dominance relationships of the derived solutions. The details of the designed GMPSO algorithm are described in Algorithm 2. ```
Input:\(D^{*}\), the projected database; \(CI\), the confidential information; \(FI\), the set of frequent itemsets; \(PF\), the set of pre-large itemsets; \(N\), the size of the populations; \(m\), the size of a particle using Equation (5); \(minf(x)=[f_{1}(p),f_{2}(p),f_{3}(p),f_{4}(p)]\), the multi-objective fitness functions; \(g\)s, the size of the grid Output:\(PS^{*}\), a set of Pareto solutions. 1 set \(t:=0\);
2 initial \(N\) populations with \(m\) vectors;
3 put generated particle \(p\) into the set of \(POP_{t}\);
4 set \(Pool\gets null\);
5 while termination criteria are not achieved (\(t<N\))do
6 foreach\(p\in POP_{t}\)do
7 evaluate \(minf(p)=[f_{1}(p),f_{2}(p),f_{3}(p),f_{4}(p)]\);
8 if\(Pool\
eq null\)then
9 foreach\(c\in Pool\)do
10 if\(p\succ c\)then
11 remove \(c\) from \(Pool\);
12\(Pool\leftarrow\cup p\);
13
14 else
15\(Pool\leftarrow\cup p\);
16
17
18
19
20
21 end if
22



eturn \(PS^{*}\);
```  
**Algorithm 2**Proposed GMPSO AlgorithmHere, \(D^{*}\), \(CI\), \(FI\), \(PF\), and \(N\) are the projected database, the set of confidential information, the set of large itemsets, the set of pre-large itemsets, and the number of populations, respectively. In addition, \(f_{1}\), \(f_{2}\), \(f_{3}\), and \(f_{4}\) are four fitness functions presenting the number of _liding failures_, the _missing cost_, the _artificial cost_, and the number of database dissimilarities, (_Dis_), respectively. First, \(N\) particles are randomly initialized as \(m\) vectors based on the size of each particle (line 1). The generated particles are then put into the set of \(POP_{0}\) as the initial populations. The candidate set of the Pareto front is then set as _null_ (line 4). Next, an iterative process is then applied until the termination criteria are achieved, for example, the number of iterations (\(t<N\), lines 5-18). Each particle in the candidate set of the Pareto front is then evaluated using four fitness functions (line 7) to find the non-dominated solutions (lines 8-14). The satisfied solutions are then applied using the **GridProb** function to assign the probability of each particle in the grid. The pseudo-code of the **GridProb** function is illustrated in Algorithm 3. ```
Input: Pool, the set of particles. Output:\(prob(p)\), the probability of each particle in \(PF\).