// Path: src/main/java/de/mpii/gsm/taxonomy/Taxonomy.java
// public interface Taxonomy {
// 	
// 	public void load(String fileName) throws Exception;
// 	
// 	public void load(Configuration conf, String taxonomyURI) throws IOException, ClassNotFoundException;
// 	
// 	public void load(int[] p);
// 	
// 	/**
// 	 * @param child Item from the taxonomy
// 	 * @return parent id
// 	 */
// 	public int getParent(int item);
// 	
// 	/**
// 	 * @param child Item from the taxonomy
// 	 * @return true/false
// 	 */
// 	public boolean hasParent(int item);
// 	
// 	/**
// 	 * @param child
// 	 * @return
// 	 */
// 	public int getDepth(int item);
// 	
// 	
// 	/**
// 	 * @param item
// 	 * @return
// 	 */
// 	public int getRoot(int item);
// 	
// 	
// 	/**
// 	 * @param item1
// 	 * @param item2
// 	 * @return
// 	 */
// 	public int getCommonParent(int item1, int item2);
// 	
// 	public boolean isParent(int parent, int child);
// 	
// 	public boolean isGeneralizationOf(int item1, int item2);
// 
// 
// 	public int maxDepth();
// 	
// 	public int[] getParents();
// 
// }
// 
// Path: src/main/java/de/mpii/gsm/writer/GsmWriter.java
// public interface GsmWriter {
// 	void write(int[] sequence, long count) throws IOException, InterruptedException;
// }
// 
// Path: src/main/java/de/mpii/gsm/utils/PrimitiveUtils.java
// public final class PrimitiveUtils {
// 
//     /**
//      * Combines the two given int values into a single long value.
//      * 
//      * @param l
//      * @param r
//      * @return 
//      */
//     public static long combine(int l, int r) {
//         return ((long) l << 32) | ((long) r & 0xFFFFFFFFL);
//     }
// 
//     /**
//      * Extracts int value corresponding to left-most 32 bits of given long value.
//      * 
//      * @param c
//      * @return 
//      */
//     public static int getLeft(long c) {
//         return (int) (c >> 32);
//     }
// 
//     /**
//      * Extracts int value corresponding to right-most 32 bits of given long value.
//      * 
//      * @param c
//      * @return 
//      */
//     public static int getRight(long c) {
//         return (int) c;
//     }
// }


import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.bytes.ByteArrayList;
import org.apache.mahout.math.map.OpenIntIntHashMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Map;
import de.mpii.gsm.taxonomy.Taxonomy;
import de.mpii.gsm.writer.GsmWriter;
import de.mpii.gsm.utils.PrimitiveUtils;
package de.mpii.gsm.localmining;




public class PSM {
	
	protected int sigma;

	protected int gamma;

	protected int lambda;

	protected ArrayList<int[]> inputTransactions = new ArrayList<int[]>();

	protected IntArrayList transactionSupports = new IntArrayList();

// Path: src/main/java/de/mpii/gsm/taxonomy/Taxonomy.java
// public interface Taxonomy {
// 	
// 	public void load(String fileName) throws Exception;
// 	
// 	public void load(Configuration conf, String taxonomyURI) throws IOException, ClassNotFoundException;
// 	
// 	public void load(int[] p);
// 	
// 	/**
// 	 * @param child Item from the taxonomy
// 	 * @return parent id
// 	 */
// 	public int getParent(int item);
// 	
// 	/**
// 	 * @param child Item from the taxonomy
// 	 * @return true/false
// 	 */
// 	public boolean hasParent(int item);
// 	
// 	/**
// 	 * @param child
// 	 * @return
// 	 */
// 	public int getDepth(int item);
// 	
// 	
// 	/**
// 	 * @param item
// 	 * @return
// 	 */
// 	public int getRoot(int item);
// 	
// 	
// 	/**
// 	 * @param item1
// 	 * @param item2
// 	 * @return
// 	 */
// 	public int getCommonParent(int item1, int item2);
// 	
// 	public boolean isParent(int parent, int child);
// 	
// 	public boolean isGeneralizationOf(int item1, int item2);
// 
// 
// 	public int maxDepth();
// 	
// 	public int[] getParents();
// 
// }
// 
// Path: src/main/java/de/mpii/gsm/writer/GsmWriter.java
// public interface GsmWriter {
// 	void write(int[] sequence, long count) throws IOException, InterruptedException;
// }
// 
// Path: src/main/java/de/mpii/gsm/utils/PrimitiveUtils.java
// public final class PrimitiveUtils {
// 
//     /**
//      * Combines the two given int values into a single long value.
//      * 
//      * @param l
//      * @param r
//      * @return 
//      */
//     public static long combine(int l, int r) {
//         return ((long) l << 32) | ((long) r & 0xFFFFFFFFL);
//     }
// 
//     /**
//      * Extracts int value corresponding to left-most 32 bits of given long value.
//      * 
//      * @param c
//      * @return 
//      */
//     public static int getLeft(long c) {
//         return (int) (c >> 32);
//     }
// 
//     /**
//      * Extracts int value corresponding to right-most 32 bits of given long value.
//      * 
//      * @param c
//      * @return 
//      */
//     public static int getRight(long c) {
//         return (int) c;
//     }
// }


// Path: src/main/java/de/mpii/gsm/localmining/PSM.java
import it.unimi.dsi.fastutil.ints.IntArrayList;
import it.unimi.dsi.fastutil.bytes.ByteArrayList;
import org.apache.mahout.math.map.OpenIntIntHashMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Map;
import de.mpii.gsm.taxonomy.Taxonomy;
import de.mpii.gsm.writer.GsmWriter;
import de.mpii.gsm.utils.PrimitiveUtils;

package de.mpii.gsm.localmining;




public class PSM {
	
	protected int sigma;

	protected int gamma;

	protected int lambda;

	protected ArrayList<int[]> inputTransactions = new ArrayList<int[]>();

	protected IntArrayList transactionSupports = new IntArrayList();

	protected Taxonomy taxonomy;