-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Fast algorithm for mining closed frequent itemsets
--
-- Closed frequent itemsets are patterns that occur more than a defined
-- threshold in a transactional database. This program is a Haskell
-- implementation of the LCM2 algorithm by Takeaki Uno and Hiroki
-- Arimura, which is the fastest algorithm for this task. This
-- implementation can make use of several threads.
@package hlcm
@version 0.2.2
-- | Library for using the LCM algorithm in order to compute closed
-- frequent pattern. Input must be a transaction database, either in text
-- format (as a ByteString) or in [[Item]] format, where
-- Item = Int.
--
-- Several bencharking functions allowing to tune parallel strategy used
-- and depth cutoff are also provided.
module HLCM
type Frequency = Int
type Item = Int
-- | Get the data as a long bytestring, parses it and and executes LCM to
-- discover closed frequent itemsets.
runLCMstring :: ByteString -> Frequency -> [[Item]]
-- | Get the data as a matrix of Items, parses it and and executes LCM to
-- discover closed frequent itemsets.
runLCMmatrix :: [[Item]] -> Frequency -> [[Item]]
-- | Use for benchmarking, parallel strategy = parBuffer by Simon Marlow.
-- This strategy does not have space leak.
--
-- /Warning: outputs are unusable as is, because items are renamed
-- internally, and in this function the reverse renaming is not
-- performed. It is trivial to have it back by copying the code from
-- runLCMstring./
benchLCM_parBuffer :: ByteString -> Frequency -> Int -> Int -> [[Item]]
-- | Use for benchmarking, parallel strategy = parMap from
-- Control.Parallel.Strategies.
--
-- /Warning: outputs are unusable as is, because items are renamed
-- internally, and in this function the reverse renaming is not
-- performed. It is trivial to have it back by copying the code from
-- runLCMstring./
benchLCM_parMap :: ByteString -> Frequency -> Int -> [[Item]]
instance Eq LexicoTreeItem
instance Show LexicoTreeItem