(2) Calculate a product set between a pattern class of a conditioned item set Its and an item class of each item, and set theproduct set as a patternclass of a pattern (=).

(3) Calculate the total number and the minimum number for .

(4) Calculate a characteristicsupport and a possible support of.

(5) Repeat from step 2 to step 4 for any .

(6) Extract items whose patterns are possible patterns and generate a list arranged the items in descending order, where the first key is the frequency, the second key is the characteristic support, and the third key is the possible support.

(7) Regard Flist as a header table in a refined FP tree . Also, tie to in . In addition, tie an identification flag of toin. Here, if the pattern corresponding tois a characteristicpattern, the value of is “C”. Otherwise the value is “”. That is, “C” shows that the pattern is a characteristic pattern and “” shows that the pattern is not a characteristic pattern and is a possible pattern.

(8) Create a root node of and assign the label “null” to it.

(9) Set the root node as a target node .

(10) Pick up a transaction . If the transaction cannot be picked up, then this algorithm stops.

(11) Pick up only items included in from , sort them in the order of items in , and create a selected and sorted item set .

(12) Pick up an item from the top of . If the item cannot be picked up, then go to step 10.

(13) If an item name of is assigned to a child node of , then the frequency of the node is counted up. Otherwise, a new node is created. is assigned the item name of and is set 1 to the frequency. Also, create a link between and , and register to in . In addition, regard a selected child node or as a new target node .