Class GNAT.GNATPrioritySearcher<T>

    • Constructor Detail

      • GNATPrioritySearcher

        public GNATPrioritySearcher()
    • Method Detail

      • doSearch

        protected PrioritySearcher<T> doSearch()
        Start the next search.
        Returns:
        Searcher
      • internalGetIndex

        public int internalGetIndex()
        Description copied from interface: DBIDRef
        Internal only: Get the internal index.

        NOT FOR PUBLIC USE - ELKI Optimization engine only.

        Specified by:
        internalGetIndex in interface DBIDRef
        Returns:
        Internal index
      • valid

        public boolean valid()
        Description copied from interface: Iter
        Returns true if the iterator currently points to a valid object.
        Specified by:
        valid in interface Iter
        Returns:
        a boolean value, whether the position is valid.
      • decreaseCutoff

        public PrioritySearcher<T> decreaseCutoff​(double threshold)
        Description copied from interface: PrioritySearcher
        Decrease the cutoff threshold.

        The cutoff must not be increased, as the search may have pruned some results automatically.

        Specified by:
        decreaseCutoff in interface PrioritySearcher<T>
        Parameters:
        threshold - Threshold parameter
        Returns:
        this, for chaining
      • computeExactDistance

        public double computeExactDistance()
        Description copied from interface: PrioritySearcher
        Compute the exact distance to the current candidate.

        The searcher may or may not have this value already.

        Specified by:
        computeExactDistance in interface PrioritySearcher<T>
        Returns:
        Distance
      • allLowerBound

        public double allLowerBound()
        Description copied from interface: PrioritySearcher
        Lower bound for all subsequent instances (that have been completely explored). The searcher guarantees that no further results will be returned with a distance less than this.
        Specified by:
        allLowerBound in interface PrioritySearcher<T>
        Returns:
        lower bound; 0 if no guarantees (e.g., linear scan)
      • getLowerBound

        public double getLowerBound()
        Description copied from interface: PrioritySearcher
        Get the lower bound (if available).

        Note: the lower bound is already checked by the cutoff of the priority search, so this is primarily useful for analyzing the search behavior.

        Specified by:
        getLowerBound in interface PrioritySearcher<T>
        Returns:
        Double.NaN if not valid
      • queryDistance

        protected abstract double queryDistance​(DBIDRef iter)
        Query the distance to a query object.
        Parameters:
        iter - Target object
        Returns:
        Distance