t

com.cra.figaro.algorithm

AnytimeBoundsProbQuery

trait AnytimeBoundsProbQuery extends BoundsProbQueryAlgorithm with AnytimeProbQuery

One-time algorithms that compute bounds on conditional probabilities of query elements. A class that implements this trait must implement initialize, runStep, computeAllProbabilityBounds, and computeExpectationBounds methods.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AnytimeBoundsProbQuery
  2. AnytimeProbQuery
  3. Anytime
  4. BoundsProbQueryAlgorithm
  5. ProbQueryAlgorithm
  6. BaseProbQueryAlgorithm
  7. Algorithm
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class Runner extends Actor

    A class representing the actor running the algorithm.

    A class representing the actor running the algorithm.

    Definition Classes
    Anytime
  2. case class AllProbabilityBounds [T](bounds: Stream[(Double, Double, T)]) extends Response with Product with Serializable

    A message from the handler containing all probability bounds of the previously requested element.

  3. case class ComputeAllProbabilityBounds [T](target: Element[T]) extends Service with Product with Serializable

    A message instructing the handler to compute all probability bounds of the target element.

  4. case class ComputeExpectationBounds [T](target: Element[T], function: (T) ⇒ Double, bounds: Option[(Double, Double)]) extends Service with Product with Serializable

    A message instructing the handler to compute bounds on the expectation of the target element under the given function.

  5. case class ComputeProbabilityBounds [T](target: Element[T], predicate: (T) ⇒ Boolean) extends Service with Product with Serializable

    A message instructing the handler to compute bounds on the probability of the predicate for the target element.

  6. case class ExpectationBounds [T](bounds: (Double, Double)) extends Response with Product with Serializable

    A message from the handler containing the bounds on the expectation of the previously requested element and function.

  7. case class ProbabilityBounds [T](bounds: (Double, Double)) extends Response with Product with Serializable

    A message from the handler containing the bounds on the probability of the previously requested element and predicate.

  8. case class ComputeDistribution [T](target: Element[T]) extends Service with Product with Serializable

    A message instructing the handler to compute the distribution of the target element.

    A message instructing the handler to compute the distribution of the target element.

    Definition Classes
    AnytimeProbQuery
  9. case class ComputeExpectation [T](target: Element[T], function: (T) ⇒ Double) extends Service with Product with Serializable

    A message instructing the handler to compute the expectation of the target element under the given function.

    A message instructing the handler to compute the expectation of the target element under the given function.

    Definition Classes
    AnytimeProbQuery
  10. case class ComputeProbability [T](target: Element[T], predicate: (T) ⇒ Boolean) extends Service with Product with Serializable

    A message instructing the handler to compute the probability of the predicate for the target element.

    A message instructing the handler to compute the probability of the predicate for the target element.

    Definition Classes
    AnytimeProbQuery
  11. case class ComputeProjection [T](target: Element[T]) extends Service with Product with Serializable

    A message instructing the handler to compute the projection of the target element.

    A message instructing the handler to compute the projection of the target element.

    Definition Classes
    AnytimeProbQuery
  12. case class Distribution [T](distribution: Stream[(Double, T)]) extends Response with Product with Serializable

    A message from the handler containing the distribution of the previously requested element.

    A message from the handler containing the distribution of the previously requested element.

    Definition Classes
    AnytimeProbQuery
  13. case class Expectation (expectation: Double) extends Response with Product with Serializable

    A message from the handler containing the expected value of the previously requested element and function.

    A message from the handler containing the expected value of the previously requested element and function.

    Definition Classes
    AnytimeProbQuery
  14. case class Probability (probability: Double) extends Response with Product with Serializable

    A message from the handler containing the probability of the previously requested predicate and element.

    A message from the handler containing the probability of the previously requested predicate and element.

    Definition Classes
    AnytimeProbQuery
  15. case class Projection [T](projection: List[(T, Double)]) extends Response with Product with Serializable

    A message from the handler containing the projection of the previously requested element.

    A message from the handler containing the projection of the previously requested element.

    Definition Classes
    AnytimeProbQuery
  16. 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.

    Definition Classes
    BoundsProbQueryAlgorithm
  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.

    Definition Classes
    BoundsProbQueryAlgorithm
  5. abstract val queryTargets: Seq[Element[_]]
    Definition Classes
    BaseProbQueryAlgorithm
  6. abstract def runStep(): Unit

    Run a single step of the algorithm.

    Run a single step of the algorithm. The algorithm must be able to provide answers after each step.

    Definition Classes
    Anytime
  7. 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.

    Definition Classes
    BoundsProbQueryAlgorithm
    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 awaitResponse(response: Future[Any], duration: Duration): Response
    Attributes
    protected
    Definition Classes
    Anytime
  8. def check[T](target: Element[T]): Unit
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  9. 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
  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. 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
  12. 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.

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

    Definition Classes
    BoundsProbQueryAlgorithm
  13. def computeProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    BaseProbQueryAlgorithm
  14. val customConf: Config

    The actor running the algorithm.

    The actor running the algorithm.

    Definition Classes
    Anytime
  15. 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
  16. def doAllProbabilityBounds[T](target: Element[T]): Stream[(Double, Double, T)]
    Attributes
    protected
    Definition Classes
    AnytimeBoundsProbQueryBoundsProbQueryAlgorithm
  17. def doDistribution[T](target: Element[T]): Stream[(Double, T)]
    Attributes
    protected
    Definition Classes
    AnytimeProbQueryBaseProbQueryAlgorithm
  18. def doExpectation[T](target: Element[T], function: (T) ⇒ Double): Double
    Attributes
    protected
    Definition Classes
    AnytimeProbQueryBaseProbQueryAlgorithm
  19. def doExpectationBounds[T](target: Element[T], function: (T) ⇒ Double, bounds: Option[(Double, Double)]): (Double, Double)
    Attributes
    protected
    Definition Classes
    AnytimeBoundsProbQueryBoundsProbQueryAlgorithm
  20. def doKill(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    AnytimeAlgorithm
  21. def doProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double
    Attributes
    protected
    Definition Classes
    AnytimeProbQueryBaseProbQueryAlgorithm
  22. def doProbabilityBounds[T](target: Element[T], predicate: (T) ⇒ Boolean): (Double, Double)
    Attributes
    protected
    Definition Classes
    AnytimeBoundsProbQueryBoundsProbQueryAlgorithm
  23. def doProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected
    Definition Classes
    AnytimeProbQueryBaseProbQueryAlgorithm
  24. def doResume(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    AnytimeAlgorithm
  25. def doStart(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    AnytimeAlgorithm
  26. def doStop(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    AnytimeAlgorithm
  27. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  29. 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
  30. 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
  31. 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.

    Definition Classes
    BoundsProbQueryAlgorithm
    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.

  32. 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.

    Definition Classes
    BoundsProbQueryAlgorithm
    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.

  33. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  35. def handle(service: Service): Response

    A handler of services provided by the algorithm.

    A handler of services provided by the algorithm.

    Definition Classes
    AnytimeBoundsProbQueryAnytimeProbQueryAnytime
  36. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  37. 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
  38. def isActive: Boolean
    Definition Classes
    Algorithm
  39. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  40. 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
  41. 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
  42. implicit val messageTimeout: Timeout

    default message timeout.

    default message timeout. Increase if queries to the algorithm fail due to timeout

    Definition Classes
    Anytime
  43. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  44. final def notify(): Unit
    Definition Classes
    AnyRef
  45. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  46. 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
  47. 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
  48. 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
  49. 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
  50. def probabilityBounds[T](target: Element[T], value: T): (Double, Double)
    Definition Classes
    BoundsProbQueryAlgorithm
  51. 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.

    Definition Classes
    BoundsProbQueryAlgorithm
    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.

  52. 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
  53. val runner: ActorRef
    Definition Classes
    Anytime
  54. val running: Boolean
    Definition Classes
    Anytime
  55. def shutdown: Unit

    Release all resources from this anytime algorithm.

    Release all resources from this anytime algorithm.

    Definition Classes
    Anytime
  56. 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
  57. 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
  58. def stopUpdate(): Unit

    Optional function to run when the algorithm is stopped (not killed).

    Optional function to run when the algorithm is stopped (not killed). Used in samplers to update lazy values.

    Definition Classes
    Anytime
  59. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  60. val system: ActorSystem
    Definition Classes
    Anytime
  61. def toString(): String
    Definition Classes
    AnyRef → Any
  62. 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
  63. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  64. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  65. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnytimeProbQuery

Inherited from Anytime

Inherited from BoundsProbQueryAlgorithm

Inherited from ProbQueryAlgorithm

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped