示例#1
0
 public ItemsetZart cloneItemSetMinusAnItemset(ItemsetZart itemsetToNotKeep) {
   ItemsetZart itemset = new ItemsetZart();
   for (ItemZart item : items) {
     if (!itemsetToNotKeep.contains(item)) {
       itemset.addItem(item);
     }
   }
   return itemset;
 }
示例#2
0
 // pour Apriori
 public ItemsetZart cloneItemSetMinusOneItem(ItemZart itemsetToRemove) {
   ItemsetZart itemset = new ItemsetZart();
   for (ItemZart item : items) {
     if (!item.equals(itemsetToRemove)) {
       itemset.addItem(item);
     }
   }
   return itemset;
 }
示例#3
0
 public boolean isEqualTo(ItemsetZart itemset2) {
   if (items.size() != itemset2.items.size()) {
     return false;
   }
   for (ItemZart val : items) {
     if (!itemset2.contains(val)) {
       return false;
     }
   }
   return true;
 }
示例#4
0
 // Pour l'algorithme Apriori
 public ItemZart shareFirstIItemsOnly(ItemsetZart itemset2) {
   // Pourrait être optimisé... en sachant que les listes sont ordonnées.
   boolean shareIminus1 = true;
   // ils doivent avoir les premiers i-1 éléments en commun
   for (int j = 0; j < items.size() - 1; j++) {
     if (!itemset2.get(j).equals(get(j))) {
       shareIminus1 = false;
       break;
     }
   }
   if (!shareIminus1) {
     return null;
   }
   if (itemset2
       .items
       .get(items.size() - 1)
       .equals(items.get(items.size() - 1))) { // le dernier élément doit être différent!
     return null;
   }
   if (items.get(items.size() - 1).getId() > itemset2.items.get(items.size() - 1).getId()) {
     return null;
   }
   return itemset2.get(items.size() - 1);
 }
示例#5
0
 public String toString() {
   return itemset1.toString() + " ==> " + itemset2.toString();
 }