public ClairvoyantPolicy(Config config) { BasicSettings settings = new BasicSettings(config); policyStats = new PolicyStats("opt.Clairvoyant"); accessTimes = new Long2ObjectOpenHashMap<>(); infiniteTimestamp = Integer.MAX_VALUE; maximumSize = settings.maximumSize(); future = new LongArrayFIFOQueue(); data = new IntRBTreeSet(); }
public static int[] mapUID(long[] uidArray, DocIDMapper mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieSegmentReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
public static IntSet mostSalient(final File reference, final File corpus, int W, int topN, SourceType sourceType) throws IOException { final PrecomputedValues precomp1 = PrecomputedValues.precompute(reference, W, SourceType.SIMPLE); final PrecomputedValues precomp2 = PrecomputedValues.precompute(corpus, W, sourceType); final double[] salience = new double[W]; final IntRBTreeSet topNWords = new IntRBTreeSet(new IntComparator() { @Override public int compare(int i, int i1) { return salience[i] < salience[i1] ? -1 : (salience[i] > salience[i1] ? 1 : i - i1); } @Override public int compare(Integer o1, Integer o2) { return compare(o1.intValue(), o2.intValue()); } }); for (int w = 0; w < W; w++) { final double val = precomp1.mu.value(w); final Double val2 = precomp2.mu.value(w); if (val != 0.0 && val2 != 0.0) { salience[w] = val / val2; if (topNWords.size() < topN) { topNWords.add(w); } else if (salience[w] > salience[topNWords.firstInt()]) { topNWords.remove(topNWords.first()); topNWords.add(w); } } } return topNWords; }
public AssociationRuleMining(IntColumn sets, CategoryColumn items, double support) { Table temp = Table.create("temp"); temp.addColumn(sets.copy()); temp.addColumn(items.asIntColumn()); temp.sortAscendingOn(sets.name(), items.name()); ViewGroup baskets = temp.splitOn(temp.column(0)); int[][] itemsets = new int[baskets.size()][]; int basketIndex = 0; for (TemporaryView basket : baskets) { IntRBTreeSet set = new IntRBTreeSet(basket.intColumn(1).data()); int itemIndex = 0; itemsets[basketIndex] = new int[set.size()]; for (int item : set) { itemsets[basketIndex][itemIndex] = item; itemIndex++; } basketIndex++; } this.model = new ARM(itemsets, support); }
private static IntSet readQueryDoc(File queryDoc) throws IOException { if (queryDoc == null) { return new IntRBTreeSet(); } final DataInputStream in = new DataInputStream(new FileInputStream(queryDoc)); final IntRBTreeSet querySet = new IntRBTreeSet(); while (true) { try { querySet.add(in.readInt()); } catch (EOFException x) { break; } } return querySet; }
default Selection startsWith(String string) { Selection results = new BitmapBackedSelection(); IntRBTreeSet sorted = new IntRBTreeSet(); DictionaryMap dictionaryMap = this.dictionaryMap(); for (Object2IntMap.Entry<String> entry : dictionaryMap.valueToKeyMap().object2IntEntrySet()) { String key = entry.getKey(); if (key.startsWith(string)) { sorted.add(entry.getIntValue()); } } int i = 0; for (int next : values()) { if (sorted.contains(next)) { results.add(i); } i++; } return results; }
/** * Creates a new tree set copying the elements of an array. * * @param a * an array to be copied into the new tree set. */ public IntRBTreeSet(final int[] a) { this(); int i = a.length; while (i-- != 0) add(a[i]); } /**
@Override public void commitDeletes() { _currentDelDocIds = _delDocIdSet.toIntArray(); }
@Override public boolean remove(final int k) { if (!in(k)) return false; return IntRBTreeSet.this.remove(k); } @Override
@Override public boolean contains(final int k) { return in(k) && IntRBTreeSet.this.contains(k); } @Override
public static int[] mapUID(long[] uidArray, DocIDMapper mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieSegmentReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid != DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
/** * Constructs and returns a frequent itemset model * * @param sets * @param items * @param supportThreshold the minimum support required to be included */ public FrequentItemset(IntColumn sets, IntColumn items, double supportThreshold) { Table temp = Table.create("temp"); temp.addColumn(sets.copy()); temp.addColumn(items.copy()); temp.sortAscendingOn(sets.name(), items.name()); ViewGroup baskets = temp.splitOn(temp.column(0)); this.setCount = baskets.size(); int[][] itemsets = new int[setCount][]; int basketIndex = 0; for (TemporaryView basket : baskets) { IntRBTreeSet set = new IntRBTreeSet(basket.intColumn(1).data()); int itemIndex = 0; itemsets[basketIndex] = new int[set.size()]; for (int item : set) { itemsets[basketIndex][itemIndex] = item; itemIndex++; } basketIndex++; } this.model = new FPGrowth(itemsets, supportThreshold); }
/** * Creates a new tree set copying the elements of an array using a given * {@link Comparator}. * * @param a * an array to be copied into the new tree set. * @param c * a {@link Comparator} (even better, a type-specific comparator). */ public IntRBTreeSet(final int[] a, final Comparator<? super Integer> c) { this(c); int i = a.length; while (i-- != 0) add(a[i]); } /*
public void commitDeletes() { _currentDelDocIds = _delDocIdSet.toIntArray(); }
@Override public void remove() { if (curr == null) throw new IllegalStateException(); /* * If the last operation was a next(), we are removing an entry that preceeds * the current index, and thus we must decrement it. */ if (curr == prev) index--; next = prev = curr; updatePrevious(); updateNext(); IntRBTreeSet.this.remove(curr.key); curr = null; } }
public GraphViewStore(GraphStore graphStore) { if (graphStore == null) { throw new NullPointerException(); } this.graphStore = graphStore; this.views = new GraphViewImpl[DEFAULT_VIEWS]; this.garbageQueue = new IntRBTreeSet(); this.visibleView = graphStore.mainGraphView; }
public static int[] mapUID(long[] uidArray,DocIDMapper<?> mapper) { IntRBTreeSet idSet = new IntRBTreeSet(); for (long uid : uidArray) { if (uid != ZoieIndexReader.DELETED_UID) { int docid = mapper.getDocID(uid); if (docid!=DocIDMapper.NOT_FOUND) { idSet.add(docid); } } } return idSet.toIntArray(); }
public FrequentItemset(IntColumn sets, CategoryColumn items, double support) { Table temp = Table.create("temp"); temp.addColumn(sets.copy()); IntColumn encodedItems = items.asIntColumn(); encodedItems.setName(items.name()); // Needs t temp.addColumn(encodedItems); temp.sortAscendingOn(sets.name(), items.name()); ViewGroup baskets = temp.splitOn(temp.column(0)); this.setCount = baskets.size(); int[][] itemsets = new int[setCount][]; int basketIndex = 0; for (TemporaryView basket : baskets) { IntRBTreeSet set = new IntRBTreeSet(basket.intColumn(1).data()); int itemIndex = 0; itemsets[basketIndex] = new int[set.size()]; for (int item : set) { itemsets[basketIndex][itemIndex] = item; itemIndex++; } basketIndex++; } this.model = new FPGrowth(itemsets, support); }
@Override public boolean add(final int k) { if (!in(k)) throw new IllegalArgumentException("Element (" + k + ") out of range [" + (bottom ? "-" : String.valueOf(from)) + ", " + (top ? "-" : String.valueOf(to)) + ")"); return IntRBTreeSet.this.add(k); } @Override
public void commitDeletes() { _currentDelDocIds = _delDocIdSet.toIntArray(); }