abstract class DecisionMetropolisHastings[T, U] extends MetropolisHastings with DecisionAlgorithm[T, U]

Metropolis-Hastings Decision sampler. Almost the exact same as normal MH except that it keeps track of utilities and probabilities (to compute expected utility) and it implements DecisionAlgorithm trait

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DecisionMetropolisHastings
  2. DecisionAlgorithm
  3. MetropolisHastings
  4. BaseUnweightedSampler
  5. Sampler
  6. Algorithm
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

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

Type Members

  1. type LastUpdate[T] = (T, Int)
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  2. 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
  3. type TimesSeen[T] = Map[T, Int]
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  4. type WeightSeen[T] = (Element[T], Map[T, Double])
    Attributes
    protected

Abstract Value Members

  1. abstract def doKill(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  2. abstract def doResume(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  3. abstract def doStart(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  4. abstract def doStop(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm

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. def accept(state: State): Unit
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  5. var acceptProbability: Double
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  6. def acceptRejectRatio: Double

    Get the acceptance ratio for the sampler.

    Get the acceptance ratio for the sampler.

    Definition Classes
    MetropolisHastings
  7. var accepts: Int
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  8. val active: Boolean
    Attributes
    protected
    Definition Classes
    Algorithm
  9. var allLastUpdates: Map[Element[_], LastUpdate[_]]
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  10. var allTimesSeen: Map[Element[_], TimesSeen[_]]
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. var chainCache: Cache
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  13. def cleanUp(): Unit

    Clean up the sampler, freeing memory.

    Clean up the sampler, freeing memory.

    Definition Classes
    MetropolisHastingsAlgorithm
  14. def cleanup(): Unit

    Cleans up the temporary elements created during sampling

  15. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. def computeScores(): Double
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  17. 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
  18. var constraintsBound: Boolean

    Set this flag to true when constraints are bound between 0 and 1 to enable early rejection of states with constrained elements.

    Set this flag to true when constraints are bound between 0 and 1 to enable early rejection of states with constrained elements.

    Definition Classes
    MetropolisHastings
  19. var constraintsSum: Double
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  20. val currentConstraintValues: Map[Element[_], Double]
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  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 doInitialize(): Unit
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  25. final def doSample(): Unit
    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsMetropolisHastingsBaseUnweightedSamplerSampler
  26. var elementsUsedBy: Map[Element[_], Set[Element[_]]]
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  27. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  29. val fastTargets: Set[Element[_]]
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  30. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  31. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  32. def getDissatisfied: Set[Element[_]]
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  33. def getSampleCount: Int

    Number of samples taken

    Number of samples taken

    Definition Classes
    BaseUnweightedSampler
  34. 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
  35. 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
  36. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  37. def initConstrainedValues(): Unit
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  38. def initUpdates(): Unit
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  39. 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
  40. def isActive: Boolean
    Definition Classes
    Algorithm
  41. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  42. 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
  43. def mhStep(): State
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  44. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  45. def newLastUpdate[T](target: Element[T]): LastUpdate[T]
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  46. def newTimesSeen[T](target: Element[T]): TimesSeen[T]
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  47. def newWeightSeen[T](target: Element[T]): WeightSeen[T]
    Attributes
    protected
  48. final def notify(): Unit
    Definition Classes
    AnyRef
  49. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  50. var oldModelProb: Double
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  51. var oldPropProb: Double
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  52. def proposeAndUpdate(): State
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  53. var proposedElementsSortedUpdates: Map[Iterable[Element[_]], List[Element[_]]]
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  54. lazy val queryTargets: List[Element[_]]
    Definition Classes
    BaseUnweightedSampler
  55. var rejects: Int
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  56. def resetCounts(): Unit
    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsBaseUnweightedSamplerSampler
  57. 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
  58. def runScheme(): State
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  59. 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
  60. var sampleCount: Int
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  61. 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
  62. 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
  63. 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
  64. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  65. 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
  66. def toString(): String
    Definition Classes
    AnyRef → Any
  67. def undo(state: State): Unit
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  68. val universe: Universe
    Definition Classes
    BaseUnweightedSampler
  69. def update(): Unit
    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsBaseUnweightedSamplerSampler
  70. def updateTimesSeenForTarget[T](elem: Element[T], newValue: T): Unit
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  71. def updateTimesSeenWithValue[T](value: T, timesSeen: TimesSeen[T], seen: Int): Unit
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  72. def updateWeightSeenForTarget[T](sample: (Double, Map[Element[_], Any]), weightSeen: WeightSeen[T]): Unit
    Attributes
    protected
  73. def updateWeightSeenWithValue[T](value: T, weight: Double, weightSeen: WeightSeen[T]): Unit
    Attributes
    protected
  74. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  75. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  76. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from DecisionAlgorithm[T, U]

Inherited from MetropolisHastings

Inherited from BaseUnweightedSampler

Inherited from Sampler

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped