abstract class StructuredProbQueryAlgorithm extends StructuredAlgorithm with ProbQueryAlgorithm
 Alphabetic
 By Inheritance
 StructuredProbQueryAlgorithm
 ProbQueryAlgorithm
 BaseProbQueryAlgorithm
 StructuredAlgorithm
 Algorithm
 AnyRef
 Any
 Hide All
 Show All
 Public
 All
Instance Constructors
Type Members

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

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
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
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
def
rangingStrategy: RangingStrategy
Strategy to use for ranging atomic components.
Strategy to use for ranging atomic components. This is only called once. Note that this is called during initialization, so subclasses that override this can declare this as a
lazy val
or adef
but not aval
. Definition Classes
 StructuredAlgorithm

abstract
def
refiningStrategy(): RefiningStrategy
Strategy to use for refinement at a single iteration.
Strategy to use for refinement at a single iteration. This may return a new strategy for each iteration.
 returns
A refining strategy to be used for a single iteration.
 Definition Classes
 StructuredAlgorithm

abstract
def
solvingStrategy(): SolvingStrategy
Strategy to use for solving at a single iteration.
Strategy to use for solving at a single iteration. This may return a new strategy for each iteration.
 returns
A solving strategy to be used for a single iteration.
 Definition Classes
 StructuredAlgorithm
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

final
def
asInstanceOf[T0]: T0
 Definition Classes
 Any

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

def
checkConstraintBounds(): Unit
Verify that all constraint factors satisfy the bounds needed for the correctness of this algorithm.
Verify that all constraint factors satisfy the bounds needed for the correctness of this algorithm. This gets executed before solving. By default, this method does nothing; subclasses can override this to throw an exception if the bounds requirements are not met.
 Definition Classes
 StructuredAlgorithm

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

val
collection: ComponentCollection
 Definition Classes
 StructuredAlgorithm

def
computeDistribution[T](target: Element[T]): Stream[(Double, T)]
Computes the normalized distribution over a single target element.
Computes the normalized distribution over a single target element. Throws an IllegalArgumentException if the range of the target contains star, or if lower and upper bounds are needed.
 Definition Classes
 StructuredProbQueryAlgorithm → BaseProbQueryAlgorithm

def
computeExpectation[T](target: Element[T], function: (T) ⇒ Double): Double
Computes the expectation of a given function for single target element.
Computes the expectation of a given function for single target element. Throws an IllegalArgumentException if the range of the target contains star, or if lower and upper bounds are needed.
 Definition Classes
 StructuredProbQueryAlgorithm → BaseProbQueryAlgorithm

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
computeProjection[T](target: Element[T]): List[(T, Double)]
 Attributes
 protected[com.cra.figaro.algorithm]
 Definition Classes
 BaseProbQueryAlgorithm
 def distribution(target: List[Element[_]]): (List[(String, ProblemComponent[_])], List[(Double, List[Extended[_]])])

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
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
Initialize the problem by adding all permanent elements to it.
Initialize the problem by adding all permanent elements to it. This is to ensure that all toplevel elements are correctly added to the toplevel problem.
 Definition Classes
 StructuredAlgorithm → 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

def
neededBounds(): Set[Bounds]
All bounds for which this algorithm needs to compute solutions.
All bounds for which this algorithm needs to compute solutions. This is determined by looking for components that have * in their range, and have constraint factors associated with them. If such a component exists, we need both lower and upper bounds. Otherwise, just one of the bounds suffices because they are equivalent; it defaults to lower in this case.
 returns
All bounds for which this algorithm should compute solutions.
 Definition Classes
 StructuredAlgorithm

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

val
problem: Problem
Inference problem to be solved.
Inference problem to be solved.
 Definition Classes
 StructuredAlgorithm

def
problemTargets: List[Element[_]]
List of targets that should not be eliminated when solving the problem.
List of targets that should not be eliminated when solving the problem.
 returns
Targets for the problem.
 Definition Classes
 StructuredProbQueryAlgorithm → StructuredAlgorithm

def
processSolutions(solutions: Map[Bounds, Solution]): Unit
Extract the solution in a way that allows fast queries to the algorithm.
Extract the solution in a way that allows fast queries to the algorithm. This usually involves storing some form of the solution in a variable, but the exact implementation is up to the algorithm that overrides this.
 solutions
A map from bounds to computed solutions for those bounds. Contains one key for each of the bounds needed, according to
neededBounds()
.
 Definition Classes
 StructuredProbQueryAlgorithm → StructuredAlgorithm

val
queryTargets: Element[_]*
 Definition Classes
 StructuredProbQueryAlgorithm → BaseProbQueryAlgorithm

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
runStep(): Unit
Run a single iteration of refinement/solving, then record the solutions.
Run a single iteration of refinement/solving, then record the solutions.
 Definition Classes
 StructuredAlgorithm

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

var
targetFactors: Map[Bounds, Map[Element[_], Factor[Double]]]
 Attributes
 protected

def
toString(): String
 Definition Classes
 AnyRef → Any

val
universe: Universe
 Definition Classes
 StructuredAlgorithm

def
useBoundsString: String
 Attributes
 protected

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