# A One-Phase Tree-Structure Method to Mine High Temporal Fuzzy Utility Itemsets
## 4 The Proposed Algorithm
### Tree Structure Construction  
The proposed algorithm begins building a tree structure after forming the fuzzified database. Each transaction is sequentially processed. The linguistic terms in each transaction are inserted to create nodes in the tree. Each node is attached with the _total_mtfu_ field and the array-list data structure for storing mining information. The _total_mtfu_ field stores the accumulated _mtfu_ value. If the inserted linguistic term in a transaction belongs to this node, set _total_mtfu_ = _total_mtfu_ + _mtfu_. The array-list data structure includes three subfields: _TID_, fuzzy value, and utility value.  
For example, the linguistic term _c.L_ of transaction \(T_{1}\) in Table 6 results in the first branch of the tree. The initial _total_mtfu_ value of the node is the _mtfu_ value of \(T_{1}\), which  
\begin{table}
\begin{tabular}{c c c} \hline \hline
**Period** & **TID** & **Transformed Fuzzy Linguistic Terms** \\ \hline \(P_{1}\) & \(T_{1}\) & \((0.67/c.L)\) \\ \(T_{2}\) & \((0.67/a.L)\), \((0.67/b.L)\), \((0.33/b.M)\) \\ \(P_{2}\) & \(T_{3}\) & \((0.33/a.L)\), \((0.33/c.L)\) \\ \(T_{4}\) & \((1/a.L)\), \((0.67/c.L)\), \((0.67/c.L)\), \((1/b.L)\), \((0.67/d.L)\), \((0.33/d.M)\) \\ \(T_{5}\) & \((1/a.L)\), \((0.67/e.L)\), \((1/b.M)\) \\ \(T_{6}\) & \((1/a.L)\), \((0.67/e.L)\), \((0.67/d.L)\), \((0.33/d.M)\) \\ \hline \hline \end{tabular}
\end{table}
Table 6: The sorted revised database.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline  & & & & & & \\ \cline{2-7}  & \(T_{1}\) & \(T_{2}\) & \(T_{3}\) & \(T_{4}\) & \(T_{5}\) & \(T_{6}\) \\ \hline _tfu_ & 17.36 & 32 & 1.98 & 53.34 & 47.36 & 26 \\ _mtfu_ & 17.36 & 21.44 & 1.98 & 45.42 & 47.36 & 23.36 \\ \hline \hline \end{tabular}
\end{table}
Table 4: The _mtfu_ and _tfu_ values for each transaction.  
\begin{table}
\begin{tabular}{c c c c c c c} \hline \hline _Linguistic Term_ & _a.L_ & _c.L_ & _b.L_ & _b.M_ & _d.L_ & _d.M_ \\ \hline _Total mtfu_ & 139.56 & 64.76 & 116.14 & 66.86 & 68.8 & 68.78 & 68.78 \\ _Occurrence_ & 5 & 3 & 3 & 2 & 2 & 2 & 2 \\ \hline \hline \end{tabular}
\end{table}
Table 5: The sorted linguistic terms satisfy the threshold constraint.  
is 17.36 in Table 4. Then, its array-list structure contains the transaction identifier \(T_{1}\), the fuzzy value of the term \(c.L\) (=0.67) in Table 6, and its utility value (=2 \(\times\) 4 = 8) derived from Tables 1 and 2. The first inserted node is shown in Figure 2.  
Next, the transaction \(T_{2}\) is handled. It consists of three linguistic terms (\(a.L\)), (\(b.L\)), and (\(b.M\)). The _mtfu_ value of \(T_{2}\) is 21.44 in Table 4. The first linguistic term (\(a.L\)) is added to the tree. The node of the term (\(a.L\)) cannot share the same prefix (\(c.L\)) of the tree with the transaction \(T_{1}\). Therefore, the second branch is grown to connect the node (\(a.L\)) and the root. The term (\(b.L\)) is then added to the tree as the child of the (\(a.L\)) node. The term (\(b.M\)) is handled in the same way. Thus, in this branch, there are three nodes inserted, all with the _mtfu_ (21.44) value of \(T_{2}\) attached. After \(T_{2}\) is processed, the tree is shown in Figure 3. The complete tree for all the transactions is depicted in Figure 4.  
Figure 4: The complete tree.  
Figure 3: Inserting \(T_{2}\) into the tree.  
Figure 2: Inserting \(T_{1}\) into the tree.