#include <iostream>#include <fstream>#include <time.h>#include <stdio.h>#include <list>#include <vector>#include <algorithm>#include <string>#include <assert.h>#include <math.h>#include <map>#include "Bitmap.h"#include "TreeNode.h"#include "Transaction.h"#include "ItemsetOutput.h"Include dependency graph for Mafia.cpp:

Go to the source code of this file.
Namespaces | |
| namespace | std |
Data Structures | |
| class | SubtreeEstimate |
| Simple class for storing subtree size estimates. More... | |
| class | TailElement |
| Simple class for storing tail elements of each node of the tree. More... | |
Typedefs | |
| typedef vector< TreeNode * > | NodeList |
| typedef vector< TreeNode * > | BranchList |
| typedef vector< Bitmap * > | BitmapList |
| typedef vector< BaseBitmap * > | BaseBitmapList |
| typedef vector< int > | ItemSet |
| typedef map< long, ItemSet * > | HashTable |
Functions | |
| void | AddToF1 (TreeNode *newNode) |
| Insert pointer to node in order of increasing support. | |
| void | F1UsingProb (double P) |
| Create bitmaps filled randomly with probability p. | |
| void | F1FromFile (char *filename, bool isAsciiFile) |
| Read transaction data from file and build item bitmaps. | |
| void | PrintMFI () |
| To print the MFI data out to an ASCII file with each entry having the format: [list of items in MFI entry...] [(support)]. | |
| bool | LMFISuperSet (TreeNode *location) |
| Check for an existing superset of name in the MFI. | |
| void | AddToFI (TreeNode *C) |
| Output itemset (don't need to save bitmaps for FI). | |
| void | AddToMFI (TreeNode *C) |
| Add this node's name bitmap to the MFI list. | |
| void | AddToFCI (TreeNode *C) |
| Add this node's name bitmap to the FCI list. | |
| int | SortLMFI (int rBegin, int rEnd, int sortBy) |
| bool | CheckHUTMFI (TreeNode *C, int iTAIL) |
| Determine whether a HUTMFI is true. | |
| void | ReorderTail (TreeNode *C, int &iTAIL, bool useComp, bool &NoChild, bool &AllFreq) |
| Dynamically reorder the elements in the tail by increasing support - Expand all children and sort by increasing support - Remove infrequent children. | |
| void | NoorderTail (TreeNode *C, int &iTAIL) |
| Simply copy over the tail without expanding any of the children for pure DFS (no expansion of all children). | |
| void | MAFIA (TreeNode *C, bool HUT, bool &FHUT, bool useComp) |
| The main MAFIA algorithm function. | |
| void | MergeRepeatedItemsets () |
| Merge repeated itemsets into one combined itemset - e.g. | |
| int | main (int argc, char **argv) |
Variables | |
| string | method |
| either -mfi or -fci or -fi | |
| char * | outFilename |
| filename for output | |
| ItemsetOutput * | outFile |
| file for ouput | |
| bool | outputMFI = false |
| true if MFI should be saved to a file | |
| bool | MethodIsFI = false |
| true if the method is -fi | |
| bool | MethodIsFCI = false |
| true if the method is -fci | |
| int | ItemCount |
| # of items in the file | |
| int | TransCount |
| # of transactions in the file | |
| double | MSF |
| user-defined min sup as percentage | |
| int | MS |
| min sup as a transaction count | |
| int | VerScale = 1 |
| Scaling factor for transactions. | |
| int | HorScale = 1 |
| Scaling factor for items. | |
| bool | GoFHUT = true |
| FHUT flag. | |
| bool | HUTMFI = true |
| HUTMFI flag. | |
| bool | PEPrune = true |
| PEPrune flag -- parent equivalent pruning. | |
| bool | Reorder = true |
| Reorder flag. | |
| int | CountFHUT = 0 |
| # of times FHUT was successful | |
| int | CountNodes = 0 |
| # of frequent nodes in the tree | |
| int | CountCounts = 0 |
| # of Counts or all nodes in the tree | |
| int | CountAnds = 0 |
| # of ANDs of normal bitmaps | |
| int | CountSmallAnds = 0 |
| # of compressed bitmap ANDs | |
| int | CountPEPrunes = 0 |
| # of PEPruning | |
| int | CountCheckPosition = 0 |
| # of CheckPosition calls | |
| int | CountHUTMFI = 0 |
| # of HUTMFI attempts | |
| int | CountHUTMFISuccess = 0 |
| # of HUTMFI successes | |
| int | CountRebuilds |
| # of Rebuilds | |
| int | maxtail = 0 |
| int | MFISize = 0 |
| MFI size before pruning. | |
| int | MFIDepth = 0 |
| The aggregated depth of the all MFI elements. | |
| int | F1size = 0 |
| # of frequent 1-itemsets after merging repeats | |
| int | FullF1size = 0 |
| # of frequent 1-itemsets | |
| int | k = 50 |
| # of items checked for a MFI lookup | |
| int | MAX_compID = 1 |
| max compression ID | |
| int | projectDepth = -1 |
| depth of the bitmap you're projecting from | |
| int | EstimateSize |
| size of subtree estimation buffer | |
| int | EstimateDiv = 5 |
| bucket size by frequent tail length | |
| int | maxItemsetSize = 0 |
| max size of a frequent itemset | |
| NodeList | F1 |
| List of frequent 1-itemsets. | |
| BitmapList | TransBuffy |
| Buffer of transaction bitmaps. | |
| BaseBitmapList | NameBuffy |
| Buffer of name bitmaps. | |
| NodeList | NodeBuffy |
| Buffer of tree nodess. | |
| TreeNode * | Root |
| The root (the nullset). | |
| TailElement * | gTail |
| global tail pointer | |
| TailElement * | TailBuffy |
| Common Buffer for tail elements. | |
| Bitmap * | NullTrans |
| A transaction bitmap filled with ones. | |
| int * | ItemMap |
| For renaming items after sorting by support. | |
| int * | ReverseItemMap |
| For remembering the renaming... | |
| BaseBitmapList | MFI |
| List of Maximally Frequent Itemsets. | |
| HashTable | HT |
| Hash table of transaction supports. | |
| vector< int > | SupportCountList |
| List that stores support count. | |
| BaseBitmap * | TempName |
| Temporary buffer for one name bitmap. | |
| SubtreeEstimate * | EstimateBuffy |
| Buffer of subtree estimates. | |
| int * | MFIBySizes |
| Buffer for counting MFI by itemset size. | |
| int * | ItemsetBuffy |
| Buffer for writing itemsets to file output. | |
| time_t | total_start |
| time_t | total_finish |
| double | total_time |
| time_t | read_start |
| time_t | read_finish |
| double | read_time |
| time_t | algorithm_start |
| time_t | algorithm_finish |
| double | algorithm_time |
| time_t | print_start |
| time_t | print_finish |
| double | print_time |
1.2.18