c

com.cra.figaro.algorithm.structured.algorithm

StructuredProbQueryAlgorithm

abstract class StructuredProbQueryAlgorithm extends StructuredAlgorithm with ProbQueryAlgorithm

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. StructuredProbQueryAlgorithm
  2. ProbQueryAlgorithm
  3. BaseProbQueryAlgorithm
  4. StructuredAlgorithm
  5. Algorithm
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new StructuredProbQueryAlgorithm(universe: Universe, queryTargets: Element[_]*)
  2. new StructuredProbQueryAlgorithm(universe: Universe, collection: ComponentCollection, queryTargets: Element[_]*)

Type Members

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

Abstract Value Members

  1. abstract def doDistribution[T](target: Element[T]): Stream[(Double, T)]
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  2. abstract def doExpectation[T](target: Element[T], function: (T) ⇒ Double): Double
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  3. abstract def doKill(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  4. abstract def doProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  5. abstract def doResume(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  6. abstract def doStart(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  7. abstract def doStop(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  8. 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 a def but not a val.

    Definition Classes
    StructuredAlgorithm
  9. 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
  10. 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

  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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def check[T](target: Element[T]): Unit
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  7. 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
  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. val collection: ComponentCollection
    Definition Classes
    StructuredAlgorithm
  11. 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
    StructuredProbQueryAlgorithmBaseProbQueryAlgorithm
  12. 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
    StructuredProbQueryAlgorithmBaseProbQueryAlgorithm
  13. 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
  14. def computeProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    BaseProbQueryAlgorithm
  15. def distribution(target: List[Element[_]]): (List[(String, ProblemComponent[_])], List[(Double, List[Extended[_]])])
  16. 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
  17. def doProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  20. 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
  21. 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
  22. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  23. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  25. 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 top-level elements are correctly added to the top-level problem.

    Definition Classes
    StructuredAlgorithmAlgorithm
  26. def isActive: Boolean
    Definition Classes
    Algorithm
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. 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
  29. 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
  30. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  31. 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
  32. final def notify(): Unit
    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  34. 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
  35. 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
  36. 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
  37. 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
  38. val problem: Problem

    Inference problem to be solved.

    Inference problem to be solved.

    Definition Classes
    StructuredAlgorithm
  39. 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
    StructuredProbQueryAlgorithmStructuredAlgorithm
  40. 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
    StructuredProbQueryAlgorithmStructuredAlgorithm
  41. val queryTargets: Element[_]*
  42. 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
  43. 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
  44. 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
  45. 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
  46. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  47. var targetFactors: Map[Bounds, Map[Element[_], Factor[Double]]]
    Attributes
    protected
  48. def toString(): String
    Definition Classes
    AnyRef → Any
  49. val universe: Universe
    Definition Classes
    StructuredAlgorithm
  50. def useBoundsString: String
    Attributes
    protected
  51. 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
  52. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ProbQueryAlgorithm

Inherited from StructuredAlgorithm

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped