com.cra.figaro.algorithm.decision

AnytimeDecisionMetropolisHastings

class AnytimeDecisionMetropolisHastings[T, U] extends DecisionMetropolisHastings[T, U] with UnweightedSampler with AnytimeProbQuerySampler

Anytime Decision Metropolis-Hastings sampler.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. AnytimeDecisionMetropolisHastings
  2. AnytimeProbQuerySampler
  3. AnytimeSampler
  4. AnytimeProbQuery
  5. Anytime
  6. UnweightedSampler
  7. ProbQueryAlgorithm
  8. DecisionMetropolisHastings
  9. DecisionAlgorithm
  10. MetropolisHastings
  11. BaseUnweightedSampler
  12. Sampler
  13. Algorithm
  14. AnyRef
  15. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AnytimeDecisionMetropolisHastings(universe: Universe, scheme: ProposalScheme, burnIn: Int, interval: Int, utilityNodes: List[Element[_]], decisionTarget: Decision[T, U])

Type Members

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. type LastUpdate[T] = (T, Int)

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  7. 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
  8. class Runner extends Actor

    A class representing the actor running the algorithm.

    A class representing the actor running the algorithm.

    Definition Classes
    Anytime
  9. type Sample = Map[Element[_], Any]

    A sample is a map from elements to their values.

    A sample is a map from elements to their values.

    Definition Classes
    BaseUnweightedSampler
  10. type TimesSeen[T] = Map[T, Int]

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  11. type WeightSeen[T] = (Element[T], Map[T, Double])

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastings

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. def accept(state: State): Unit

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  5. def acceptRejectRatio: Double

    Get the acceptance ratio for the sampler.

    Get the acceptance ratio for the sampler.

    Definition Classes
    MetropolisHastings
  6. var accepts: Int

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  7. var active: Boolean

    Attributes
    protected
    Definition Classes
    Algorithm
  8. var allLastUpdates: Map[Element[_], LastUpdate[_]]

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  9. var allTimesSeen: Map[Element[_], TimesSeen[_]]

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  10. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  11. val blockSize: Int

    Number of samples that should be taken in a single step of the algorithm.

    Number of samples that should be taken in a single step of the algorithm.

    Definition Classes
    AnytimeSampler
  12. def cleanUp(): Unit

    Clean up the sampler, freeing memory.

    Clean up the sampler, freeing memory.

    Definition Classes
    AnytimeDecisionMetropolisHastingsAlgorithm
  13. def cleanup(): Unit

    Cleans up the temporary elements created during sampling

    Cleans up the temporary elements created during sampling

    Definition Classes
    DecisionMetropolisHastings
  14. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. 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.

    Definition Classes
    UnweightedSamplerProbQueryAlgorithm
  16. 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
    UnweightedSamplerProbQueryAlgorithm
  17. 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
    ProbQueryAlgorithm
  18. def computeScores(): Double

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  19. def computeUtility(): Map[(T, U), DecisionSample]

    Compute the utility of each parent/decision tuple and return a DecisionSample.

    Compute the utility of each parent/decision tuple and return a DecisionSample. Each decision algorithm must define how this is done since it is used to set the policy for a decision. For sampling algorithms, this will me a map of parent/decision tuples to a utility and a weight for that combination. For factored algorithms, the DecisionSample will contain the exact expected utility with a weight of 1.0.

    Definition Classes
    DecisionMetropolisHastingsDecisionAlgorithm
  20. val customConf: Config

    The actor running the algorithm.

    The actor running the algorithm.

    Definition Classes
    Anytime
  21. var debug: Boolean

    Set this flag to true to obtain debugging information.

    Set this flag to true to obtain debugging information.

    Definition Classes
    MetropolisHastings
  22. def decideToAccept(newState: State): Boolean

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  23. var dissatisfied: Set[Element[_]]

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  24. 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
    ProbQueryAlgorithm
  25. def doDistribution[T](target: Element[T]): Stream[(Double, T)]

    Attributes
    protected
    Definition Classes
    AnytimeProbQueryProbQueryAlgorithm
  26. def doExpectation[T](target: Element[T], function: (T) ⇒ Double): Double

    Attributes
    protected
    Definition Classes
    AnytimeProbQueryProbQueryAlgorithm
  27. def doInitialize(): Unit

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  28. def doKill(): Unit

    Attributes
    protected
    Definition Classes
    AnytimeAlgorithm
  29. def doProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double

    Attributes
    protected
    Definition Classes
    AnytimeProbQueryProbQueryAlgorithm
  30. def doResume(): Unit

    Attributes
    protected
    Definition Classes
    AnytimeAlgorithm
  31. final def doSample(): Unit

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsMetropolisHastingsBaseUnweightedSamplerSampler
  32. def doStart(): Unit

    Attributes
    protected
    Definition Classes
    AnytimeAlgorithm
  33. def doStop(): Unit

    Attributes
    protected
    Definition Classes
    AnytimeAlgorithm
  34. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  35. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  36. 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
    ProbQueryAlgorithm
  37. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  38. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  39. def getDissatisfied: Set[Element[_]]

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  40. def getSampleCount: Int

    Number of samples taken.

    Number of samples taken.

    Definition Classes
    BaseUnweightedSampler
  41. def getUtility(p: T, d: U): DecisionSample

    Get the total utility and weight for a specific value of a parent and decision.

    Get the total utility and weight for a specific value of a parent and decision.

    Definition Classes
    DecisionAlgorithm
  42. def getUtility(): Map[(T, U), DecisionSample]

    Get the total utility and weight for all sampled values of the parent and decision.

    Get the total utility and weight for all sampled values of the parent and decision.

    Definition Classes
    DecisionAlgorithm
  43. def handle(service: Service): Response

    A handler of services provided by the algorithm.

    A handler of services provided by the algorithm.

    Definition Classes
    AnytimeProbQueryAnytime
  44. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  45. def initConstrainedValues(): Unit

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  46. def initUpdates(): Unit

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  47. def initialize(): Unit

    Initialize the sampler.

    Initialize the sampler.

    Definition Classes
    AnytimeDecisionMetropolisHastingsAnytimeSamplerAlgorithm
  48. def isActive: Boolean

    Definition Classes
    Algorithm
  49. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  50. 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
  51. 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
    ProbQueryAlgorithm
  52. def mhStep(): State

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  53. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  54. def newLastUpdate[T](target: Element[T]): LastUpdate[T]

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  55. def newTimesSeen[T](target: Element[T]): TimesSeen[T]

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  56. def newWeightSeen[T](target: Element[T]): WeightSeen[T]

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastings
  57. final def notify(): Unit

    Definition Classes
    AnyRef
  58. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  59. 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
  60. 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
    ProbQueryAlgorithm
  61. 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
    ProbQueryAlgorithm
  62. def projection[T](target: Element[T]): List[(T, Double)]

    Attributes
    protected
    Definition Classes
    UnweightedSampler
  63. def proposeAndUpdate(): State

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  64. lazy val queryTargets: List[Element[_]]

    Definition Classes
    BaseUnweightedSampler
  65. var rejects: Int

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  66. def resetCounts(): Unit

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsBaseUnweightedSamplerSampler
  67. 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
  68. def runScheme(): State

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  69. 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
    AnytimeSamplerAnytime
  70. var runner: ActorRef

    Definition Classes
    Anytime
  71. var running: Boolean

    Definition Classes
    Anytime
  72. def sample(): (Boolean, Sample)

    Produce a single sample.

    Produce a single sample. In decision MH, we always update the target (parent and decision) since the utilities mights have changed

    Definition Classes
    DecisionMetropolisHastingsMetropolisHastingsBaseUnweightedSampler
  73. var sampleCount: Int

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  74. def setPolicy(e: Decision[T, U]): Unit

    Sets the policy for the given decision.

    Sets the policy for the given decision. This will get the computed utility of the algorithm and call setPolicy on the decision. Note there is no error checking here, so the decision in the argument must match the target decision in the algorithm.

    Definition Classes
    DecisionAlgorithm
  75. def shutdown: Unit

    Release all resources from this anytime algorithm.

    Release all resources from this anytime algorithm.

    Definition Classes
    Anytime
  76. 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
  77. 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
  78. def stopUpdate(): Unit

    Override the stopUpdate function in anytime to call the sampler update function

    Override the stopUpdate function in anytime to call the sampler update function

    Definition Classes
    AnytimeSamplerAnytime
  79. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  80. var system: ActorSystem

    Definition Classes
    Anytime
  81. def test(numSamples: Int, predicates: Seq[Predicate[_]], elementsToTrack: Seq[Element[_]]): (Double, Map[Predicate[_], Double], Map[Element[_], Double])

    Test Metropolis-Hastings by repeatedly running a single step from the same initial state.

    Test Metropolis-Hastings by repeatedly running a single step from the same initial state. For each of a set of predicates, the fraction of times the predicate is satisfied by the resulting state is returned. By the resulting state, we mean the new state if it is accepted and the original state if not.

    Definition Classes
    MetropolisHastings
  82. implicit val timeout: Timeout

    Definition Classes
    AnytimeProbQuery
  83. def toString(): String

    Definition Classes
    AnyRef → Any
  84. def undo(state: State): Unit

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  85. val universe: Universe

    Definition Classes
    BaseUnweightedSampler
  86. def update(): Unit

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsBaseUnweightedSamplerSampler
  87. def updateMany[T](state: State, toUpdate: Set[Element[_]]): State

    Attributes
    protected
    Definition Classes
    MetropolisHastings
  88. def updateTimesSeenForTarget[T](elem: Element[T], newValue: T): Unit

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  89. def updateTimesSeenWithValue[T](value: T, timesSeen: TimesSeen[T], seen: Int): Unit

    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  90. def updateWeightSeenForTarget[T](sample: (Double, Map[Element[_], Any]), weightSeen: WeightSeen[T]): Unit

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastings
  91. def updateWeightSeenWithValue[T](value: T, weight: Double, weightSeen: WeightSeen[T]): Unit

    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastings
  92. 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
    ProbQueryAlgorithm
  93. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnytimeProbQuerySampler

Inherited from AnytimeSampler

Inherited from AnytimeProbQuery

Inherited from Anytime

Inherited from UnweightedSampler

Inherited from ProbQueryAlgorithm

Inherited from DecisionMetropolisHastings[T, U]

Inherited from DecisionAlgorithm[T, U]

Inherited from MetropolisHastings

Inherited from BaseUnweightedSampler

Inherited from Sampler

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped