예제 #1
0
 /**
  * @param ev
  * @param alphabet
  * @param bs
  * @param sup
  * @param seqDB
  * @param posDB
  * @param sInd
  * @param eInd
  */
 protected void verifyContentGeneralAcceptance(
     Event ev,
     Vector<Element> alphabet,
     BitSet bs,
     long[] sup,
     Vector<Integer>[] seqDB,
     Vector<Integer>[] posDB,
     int sInd,
     int eInd) {
   ItemSet set = ev.getSet();
   for (int i = 0; i < set.size(); i++) {
     Element el = set.elementAt(i);
     int found = alphabet.indexOf(el);
     if (-1 != found) {
       // If current sequence did not contribute to the support of
       // this element yet, increment its support
       if (!bs.get(found)) {
         sup[found]++;
         bs.set(found);
       }
       // In any case, add another object to projecyed db
       seqDB[found].addElement(new Integer(sInd));
       posDB[found].addElement(new Integer(eInd));
     }
   }
 }
예제 #2
0
 @Override
 protected void verifyContentAcceptance(
     EventSequence alpha,
     ItemSet set,
     Vector<Element> alphabet,
     int[] sup,
     ProjectedDB[] projDBs,
     int indProj,
     int sInd,
     int eInd,
     boolean inParallel,
     BitSet visited,
     BitSet accepted) {
   for (int i = 0; i < set.size(); i++) {
     Element el = set.elementAt(i);
     int found = alphabet.indexOf(el);
     if ((-1 != found)) {
       if (!visited.get(found)) {
         visited.set(found);
         accepted.set(found, isAcceptedByRelaxation(alpha, el, inParallel));
       }
       if (accepted.get(found)) {
         if (!projDBs[found].contains(sInd)) sup[found]++;
         projDBs[found].set(sInd, eInd);
       }
     }
   }
 }
예제 #3
0
 /**
  * @param set
  * @param alphabet
  * @param tax
  * @return a vector with elements???
  */
 protected Vector<Element> getParents(ItemSet set, Vector<Element> alphabet, Taxonomy tax) {
   Vector<Element> v = new Vector<Element>(0);
   for (int i = 0; i < set.size(); i++) {
     Element el = set.elementAt(i);
     int found = m_tdm.m_contentC.m_taxonomy.getParentOf(el, alphabet);
     if (-1 != found) {
       Element p = alphabet.elementAt(found);
       if (-1 == v.indexOf(p)) v.addElement(p);
     }
   }
   return v;
 }
예제 #4
0
 /**
  * Returns true if the el can be appended to s, in accordance to this relaxation. ******** It is
  * needed to redefine this method, for some subclasses. *******
  *
  * @param s The sequence already accepted.
  * @param el The element to append
  * @param inParallel A flag to state if we are verifying at the same instant or in the next ones
  */
 @Override
 protected boolean isAcceptedByRelaxation(EventSequence s, Element el, boolean inParallel) {
   ItemSet sk = s.elementAtIndex(s.length() - 1).getSet();
   Element last = sk.elementAt(sk.size() - 1);
   return (!inParallel || el.isGreaterThan(last));
 }