Input: A transaction uncertain data stream, utility table, for current window , |
number of batches in a window (), number of transactions in a batch (). |
Output: PHUIs for the current window |
Step 1. Create a global table H to keep the items in the lexicographic order; |
Step 2. Create the root of TWPUS-tree and initialize it as NULL; |
Step 3. Create a global PUS-list to keep potential utility of items and transactions, whose number of row is |
, and number of column is equal to the number of items in utility table; |
while a new batch arrives do |
for transaction in batch do |
Step 4. Sort the items of in the lexicographic order; |
Step 5. Calculate potential utility of items and transactions, inserting them into PUS-list; |
Step 6. Update twpu value in the header table H; |
Step 7. If then |
If the item in isn’t exist in the TWPUS-tree then |
Create a new node for it, which consists by the item’s name and twpu counter array |
; |
else |
Insert twpu value of to its twpu counter array’s th position, denoted as |
; |
End if |
Step 8. else |
Perform one time left shift operation for all the twpu counter arrays; |
Remove the transactions of and insert transactions of in the PUS-list; |
Update them in the header table H; |
Delete the nodes that all the values in their corresponding twpu counter array are zero; |
If the item in isn’t exist in the TWPUS-tree then |
Create a new node for it, which consists by the item’s name and twpu counter array |
; |
else |
Insert twpu value of to its twpu counter array’s rightest position, denoted as |
; |
End if |
End if |
End for |
for each window do |
for each item from the bottom of H do |
Step 9. Add itemset to the global candidate list; |
Step 10. Create Prefix tree with its header table for item ; |
Step 11. For each item of do |
If then |
Delete from and to create conditional tree and its header table ; |
End if |
End for |
Step 12. Create all the candidate itemsets from , represented by ; |
Step 13. Add to the global candidate list; |
Step 14. Calculate PHUIs from the global candidate list by PUS-list; |
Step 15. Delete current bottom item of H, when it becomes NULL, jump out current loop; |
End for |
End for |
End while |