t

# 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
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( ... )