t

com.cra.figaro.algorithm

BoundsProbQueryAlgorithm

trait BoundsProbQueryAlgorithm extends ProbQueryAlgorithm

Algorithms that compute bounds on conditional probabilities of queries over elements in a universe. The regular ProbQuery methods are also available, but these methods may throw an exception if the algorithm cannot produce an exact answer.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BoundsProbQueryAlgorithm
  2. ProbQueryAlgorithm
  3. BaseProbQueryAlgorithm
  4. Algorithm
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class NotATargetException [T] extends AlgorithmException
    Definition Classes
    BaseProbQueryAlgorithm

Abstract Value Members

  1. abstract def computeAllProbabilityBounds[T](target: Element[T]): Stream[(Double, Double, T)]

    Return an estimate of the marginal probability distribution over the target that lists each value with its probability bounds.

    Return an estimate of the marginal probability distribution over the target that lists each value with its probability bounds. Each entry is a triple (lower, upper, value). The result is a lazy stream. It is up to the algorithm how the stream is ordered.

  2. abstract def computeDistribution[T](target: Element[T]): Stream[(Double, T)]

    Return an estimate of the marginal probability distribution over the target that lists each element with its probability.

    Return an estimate of the marginal probability distribution over the target that lists each element with its probability. The result is a lazy stream. It is up to the algorithm how the stream is ordered.

    Definition Classes
    BaseProbQueryAlgorithm
  3. abstract def computeExpectation[T](target: Element[T], function: (T) ⇒ Double): Double

    Return an estimate of the expectation of the function under the marginal probability distribution of the target.

    Return an estimate of the expectation of the function under the marginal probability distribution of the target.

    Definition Classes
    BaseProbQueryAlgorithm
  4. abstract def computeExpectationBounds[T](target: Element[T], function: (T) ⇒ Double, bounds: Option[(Double, Double)]): (Double, Double)

    Return an estimate of the bounds on the expectation of the function under the marginal probability distribution of the target.

    Return an estimate of the bounds on the expectation of the function under the marginal probability distribution of the target. The function is assumed to be bounded between the specified lower and upper bounds, if provided. Otherwise, the lower and upper bounds of the function using the current known values of the target are used.

  5. abstract def doAllProbabilityBounds[T](target: Element[T]): Stream[(Double, Double, T)]
    Attributes
    protected
  6. abstract def doDistribution[T](target: Element[T]): Stream[(Double, T)]
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  7. abstract def doExpectation[T](target: Element[T], function: (T) ⇒ Double): Double
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  8. abstract def doExpectationBounds[T](target: Element[T], function: (T) ⇒ Double, bounds: Option[(Double, Double)]): (Double, Double)
    Attributes
    protected
  9. abstract def doKill(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  10. abstract def doProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  11. abstract def doProbabilityBounds[T](target: Element[T], predicate: (T) ⇒ Boolean): (Double, Double)
    Attributes
    protected
  12. abstract def doResume(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  13. abstract def doStart(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  14. abstract def doStop(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  15. abstract val queryTargets: Seq[Element[_]]
    Definition Classes
    BaseProbQueryAlgorithm
  16. abstract val universe: Universe
    Definition Classes
    ProbQueryAlgorithm

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val active: Boolean
    Attributes
    protected
    Definition Classes
    Algorithm
  5. def allProbabilityBounds[T](target: Element[T]): Stream[(Double, Double, T)]

    Return an estimate of the marginal probability distribution over the target that lists each value with its probability bounds.

    Return an estimate of the marginal probability distribution over the target that lists each value with its probability bounds. Each entry is a triple (lower, upper, value). The result is a lazy stream. It is up to the algorithm how the stream is ordered.

    target

    Element for which to compute bounds.

    returns

    Bounds on the probability of each value for this element.

    Exceptions thrown

    AlgorithmInactiveException if the algorithm is inactive.

    NotATargetException if called on a target that is not in the list of targets of the algorithm.

  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def check[T](target: Element[T]): Unit
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  8. def cleanUp(): Unit

    Called when the algorithm is killed.

    Called when the algorithm is killed. By default, does nothing. Can be overridden.

    Definition Classes
    Algorithm
  9. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def computeProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double

    Return an estimate of the probability of the predicate under the marginal probability distribution of the target.

    Return an estimate of the probability of the predicate under the marginal probability distribution of the target.

    Definition Classes
    BaseProbQueryAlgorithm
  11. def computeProbabilityBounds[T](target: Element[T], predicate: (T) ⇒ Boolean): (Double, Double)

    Return an estimate of the probability of the bounds on the predicate under the marginal probability distribution of the target.

  12. def computeProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    BaseProbQueryAlgorithm
  13. def distribution[T](target: Element[T]): Stream[(Double, T)]

    Return an estimate of the marginal probability distribution over the target that lists each element with its probability.

    Return an estimate of the marginal probability distribution over the target that lists each element with its probability. The result is a lazy stream. It is up to the algorithm how the stream is ordered. Throws NotATargetException if called on a target that is not in the list of targets of the algorithm. Throws AlgorithmInactiveException if the algorithm is inactive.

    Definition Classes
    BaseProbQueryAlgorithm
  14. def doProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  17. def expectation[T](target: Element[T])(function: (T) ⇒ Double, c: Any = DummyImplicit): Double

    Return an estimate of the expectation of the function under the marginal probability distribution of the target.

    Return an estimate of the expectation of the function under the marginal probability distribution of the target. Throws NotATargetException if called on a target that is not in the list of targets of the algorithm. Throws AlgorithmInactiveException if the algorithm is inactive.

    Definition Classes
    BaseProbQueryAlgorithm
  18. def expectation[T](target: Element[T], function: (T) ⇒ Double): Double

    Return an estimate of the expectation of the function under the marginal probability distribution of the target.

    Return an estimate of the expectation of the function under the marginal probability distribution of the target. Throws NotATargetException if called on a target that is not in the list of targets of the algorithm. Throws AlgorithmInactiveException if the algorithm is inactive.

    Definition Classes
    BaseProbQueryAlgorithm
  19. def expectationBounds[T](target: Element[T], function: (T) ⇒ Double): (Double, Double)

    Return an estimate of the bounds on the expectation of the function under the marginal probability distribution of the target.

    Return an estimate of the bounds on the expectation of the function under the marginal probability distribution of the target. The function is assumed to be bounded according to the currently known values of the target. Thus, one should generally only use this when the range of the target is finite and known beforehand. Otherwise, one can use the overloaded version of this method that specifies explicit bounds on the function.

    target

    Element for which to compute bounds.

    function

    Function whose expectation is computed.

    returns

    Bounds on the expectation of this function for this element.

    Exceptions thrown

    AlgorithmInactiveException if the algorithm is inactive.

    NotATargetException if called on a target that is not in the list of targets of the algorithm.

  20. def expectationBounds[T](target: Element[T], function: (T) ⇒ Double, lower: Double, upper: Double): (Double, Double)

    Return an estimate of the bounds on the expectation of the function under the marginal probability distribution of the target.

    Return an estimate of the bounds on the expectation of the function under the marginal probability distribution of the target. The function is assumed to be bounded between the specified lower and upper bounds.

    target

    Element for which to compute bounds.

    function

    Function whose expectation is computed.

    lower

    Lower bound on the function.

    upper

    Upper bound on the function.

    returns

    Bounds on the expectation of this function for this element.

    Exceptions thrown

    AlgorithmInactiveException if the algorithm is inactive.

    IllegalArgumentException if the bounds given on the function are tighter than the actual bounds on the function, using the current known values of the target.

    NotATargetException if called on a target that is not in the list of targets of the algorithm.

  21. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  24. def initialize(): Unit

    Called when the algorithm is started before running any steps.

    Called when the algorithm is started before running any steps. By default, does nothing. Can be overridden.

    Definition Classes
    Algorithm
  25. def isActive: Boolean
    Definition Classes
    Algorithm
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. def kill(): Unit

    Kill the algorithm so that it is inactive.

    Kill the algorithm so that it is inactive. It will no longer be able to provide answers.Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    Algorithm
  28. def mean(target: Element[Double]): Double

    Return the mean of the probability density function for the given continuous element.

    Return the mean of the probability density function for the given continuous element.

    Definition Classes
    BaseProbQueryAlgorithm
  29. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  30. final def notify(): Unit
    Definition Classes
    AnyRef
  31. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  32. def posteriorElement[T](target: Element[T], universe: Universe = Universe.universe): Element[T]

    Return an element representing the posterior probability distribution of the given element.

    Return an element representing the posterior probability distribution of the given element.

    Definition Classes
    ProbQueryAlgorithm
  33. def probability[T](target: Element[T], value: T): Double

    Return an estimate of the probability that the target produces the value.

    Return an estimate of the probability that the target produces the value. Throws NotATargetException if called on a target that is not in the list of targets of the algorithm. Throws AlgorithmInactiveException if the algorithm is inactive.

    Definition Classes
    BaseProbQueryAlgorithm
  34. def probability[T](target: Element[T])(predicate: (T) ⇒ Boolean, c: Any = DummyImplicit): Double

    Return an estimate of the probability of the predicate under the marginal probability distribution of the target.

    Return an estimate of the probability of the predicate under the marginal probability distribution of the target. Throws NotATargetException if called on a target that is not in the list of targets of the algorithm. Throws AlgorithmInactiveException if the algorithm is inactive.

    Definition Classes
    BaseProbQueryAlgorithm
  35. def probability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double

    Return an estimate of the probability of the predicate under the marginal probability distribution of the target.

    Return an estimate of the probability of the predicate under the marginal probability distribution of the target. Throws NotATargetException if called on a target that is not in the list of targets of the algorithm. Throws AlgorithmInactiveException if the algorithm is inactive.

    Definition Classes
    BaseProbQueryAlgorithm
  36. def probabilityBounds[T](target: Element[T], value: T): (Double, Double)
  37. def probabilityBounds[T](target: Element[T], predicate: (T) ⇒ Boolean): (Double, Double)

    Return an estimate of the probability of the bounds on the predicate under the marginal probability distribution of the target.

    Return an estimate of the probability of the bounds on the predicate under the marginal probability distribution of the target.

    target

    Element for which to compute bounds.

    predicate

    Function whose probability of evaluating to true is computed.

    returns

    Bounds on the probability of this function for this element.

    Exceptions thrown

    AlgorithmInactiveException if the algorithm is inactive.

    NotATargetException if called on a target that is not in the list of targets of the algorithm.

  38. def resume(): Unit

    Resume the computation of the algorithm, if it has been stopped.

    Resume the computation of the algorithm, if it has been stopped. Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    Algorithm
  39. def start(): Unit

    Start the algorithm and make it active.

    Start the algorithm and make it active. After it returns, the algorithm must be ready to provide answers. Throws AlgorithmActiveException if the algorithm is already active.

    Definition Classes
    Algorithm
  40. def stop(): Unit

    Stop the algorithm from computing.

    Stop the algorithm from computing. The algorithm is still ready to provide answers after it returns. Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    Algorithm
  41. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  42. def toString(): String
    Definition Classes
    AnyRef → Any
  43. def variance(target: Element[Double]): Double

    Return the variance of the probability density function for the given continuous element.

    Return the variance of the probability density function for the given continuous element.

    Definition Classes
    BaseProbQueryAlgorithm
  44. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  45. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  46. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ProbQueryAlgorithm

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped