Class/Object

com.cra.figaro.algorithm.decision

DecisionMetropolisHastings

Related Docs: object DecisionMetropolisHastings | package decision

Permalink

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

Linear Supertypes
Known Subclasses
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])

    Permalink

Type Members

  1. type LastUpdate[T] = (T, Int)

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  2. type Sample = Map[Element[_], Any]

    Permalink

    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]

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

    Permalink
    Attributes
    protected

Abstract Value Members

  1. abstract def doKill(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  2. abstract def doResume(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  3. abstract def doStart(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  4. abstract def doStop(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def accept(state: State): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  5. def acceptRejectRatio: Double

    Permalink

    Get the acceptance ratio for the sampler.

    Get the acceptance ratio for the sampler.

    Definition Classes
    MetropolisHastings
  6. var accepts: Int

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  7. var active: Boolean

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

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

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

    Permalink
    Definition Classes
    Any
  11. var chainCache: Cache

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  12. def cleanUp(): Unit

    Permalink

    Called when the algorithm is killed.

    Called when the algorithm is killed. By default, does nothing. Can be overridden.

    Definition Classes
    Algorithm
  13. def cleanup(): Unit

    Permalink

    Cleans up the temporary elements created during sampling

  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. def computeScores(): Double

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

    Permalink

    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
  17. var debug: Boolean

    Permalink

    Set this flag to true to obtain debugging information.

    Set this flag to true to obtain debugging information.

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  20. def doInitialize(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  21. final def doSample(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsMetropolisHastingsBaseUnweightedSamplerSampler
  22. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  27. def getSampleCount: Int

    Permalink

    Number of samples taken

    Number of samples taken

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

    Permalink

    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
  29. def getUtility(): Map[(T, U), DecisionSample]

    Permalink

    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
  30. def hashCode(): Int

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

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

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

    Permalink

    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
  34. def isActive: Boolean

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

    Permalink
    Definition Classes
    Any
  36. def kill(): Unit

    Permalink

    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
  37. def mhStep(): State

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

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

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

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

    Permalink
    Attributes
    protected
  42. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  43. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  44. def proposeAndUpdate(): State

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

    Permalink
    Definition Classes
    BaseUnweightedSampler
  46. var rejects: Int

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

    Permalink
    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsBaseUnweightedSamplerSampler
  48. def resume(): Unit

    Permalink

    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
  49. def runScheme(): State

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  50. def sample(): (Boolean, Sample)

    Permalink

    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
  51. var sampleCount: Int

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

    Permalink

    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
  53. def start(): Unit

    Permalink

    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
  54. def stop(): Unit

    Permalink

    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
  55. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink

    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
  57. def toString(): String

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

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  59. val universe: Universe

    Permalink
    Definition Classes
    BaseUnweightedSampler
  60. def update(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    DecisionMetropolisHastingsBaseUnweightedSamplerSampler
  61. def updateTimesSeenForTarget[T](elem: Element[T], newValue: T): Unit

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

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

    Permalink
    Attributes
    protected
  64. def updateWeightSeenWithValue[T](value: T, weight: Double, weightSeen: WeightSeen[T]): Unit

    Permalink
    Attributes
    protected
  65. final def wait(): Unit

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

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

    Permalink
    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