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.
 Alphabetic
 By Inheritance
 BoundsProbQueryAlgorithm
 ProbQueryAlgorithm
 BaseProbQueryAlgorithm
 Algorithm
 AnyRef
 Any
 Hide All
 Show All
 Public
 All
Type Members

class
NotATargetException
[T] extends AlgorithmException
 Definition Classes
 BaseProbQueryAlgorithm
Abstract Value Members

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.

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

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

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.

abstract
def
doAllProbabilityBounds[T](target: Element[T]): Stream[(Double, Double, T)]
 Attributes
 protected

abstract
def
doDistribution[T](target: Element[T]): Stream[(Double, T)]
 Attributes
 protected
 Definition Classes
 BaseProbQueryAlgorithm

abstract
def
doExpectation[T](target: Element[T], function: (T) ⇒ Double): Double
 Attributes
 protected
 Definition Classes
 BaseProbQueryAlgorithm

abstract
def
doExpectationBounds[T](target: Element[T], function: (T) ⇒ Double, bounds: Option[(Double, Double)]): (Double, Double)
 Attributes
 protected

abstract
def
doKill(): Unit
 Attributes
 protected[com.cra.figaro.algorithm]
 Definition Classes
 Algorithm

abstract
def
doProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double
 Attributes
 protected
 Definition Classes
 BaseProbQueryAlgorithm

abstract
def
doProbabilityBounds[T](target: Element[T], predicate: (T) ⇒ Boolean): (Double, Double)
 Attributes
 protected

abstract
def
doResume(): Unit
 Attributes
 protected[com.cra.figaro.algorithm]
 Definition Classes
 Algorithm

abstract
def
doStart(): Unit
 Attributes
 protected[com.cra.figaro.algorithm]
 Definition Classes
 Algorithm

abstract
def
doStop(): Unit
 Attributes
 protected[com.cra.figaro.algorithm]
 Definition Classes
 Algorithm

abstract
val
queryTargets: Seq[Element[_]]
 Definition Classes
 BaseProbQueryAlgorithm

abstract
val
universe: Universe
 Definition Classes
 ProbQueryAlgorithm
Concrete Value Members

final
def
!=(arg0: Any): Boolean
 Definition Classes
 AnyRef → Any

final
def
##(): Int
 Definition Classes
 AnyRef → Any

final
def
==(arg0: Any): Boolean
 Definition Classes
 AnyRef → Any

val
active: Boolean
 Attributes
 protected
 Definition Classes
 Algorithm

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.

final
def
asInstanceOf[T0]: T0
 Definition Classes
 Any

def
check[T](target: Element[T]): Unit
 Attributes
 protected
 Definition Classes
 BaseProbQueryAlgorithm

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

def
clone(): AnyRef
 Attributes
 protected[java.lang]
 Definition Classes
 AnyRef
 Annotations
 @throws( ... )

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

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.

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

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

def
doProjection[T](target: Element[T]): List[(T, Double)]
 Attributes
 protected
 Definition Classes
 BaseProbQueryAlgorithm

final
def
eq(arg0: AnyRef): Boolean
 Definition Classes
 AnyRef

def
equals(arg0: Any): Boolean
 Definition Classes
 AnyRef → Any

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

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

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.

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.

def
finalize(): Unit
 Attributes
 protected[java.lang]
 Definition Classes
 AnyRef
 Annotations
 @throws( classOf[java.lang.Throwable] )

final
def
getClass(): Class[_]
 Definition Classes
 AnyRef → Any

def
hashCode(): Int
 Definition Classes
 AnyRef → Any

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

def
isActive: Boolean
 Definition Classes
 Algorithm

final
def
isInstanceOf[T0]: Boolean
 Definition Classes
 Any

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

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

final
def
ne(arg0: AnyRef): Boolean
 Definition Classes
 AnyRef

final
def
notify(): Unit
 Definition Classes
 AnyRef

final
def
notifyAll(): Unit
 Definition Classes
 AnyRef

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

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

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

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
 def probabilityBounds[T](target: Element[T], value: T): (Double, Double)

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.

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

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

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

final
def
synchronized[T0](arg0: ⇒ T0): T0
 Definition Classes
 AnyRef

def
toString(): String
 Definition Classes
 AnyRef → Any

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

final
def
wait(): Unit
 Definition Classes
 AnyRef
 Annotations
 @throws( ... )

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

final
def
wait(arg0: Long): Unit
 Definition Classes
 AnyRef
 Annotations
 @throws( ... )