Class

com.cra.figaro.experimental.marginalmap

OneTimeProbEvidenceMarginalMAP

Related Doc: package marginalmap

Permalink

class OneTimeProbEvidenceMarginalMAP extends ProbEvidenceMarginalMAP with OneTimeSampler with OneTimeMarginalMAP

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. OneTimeProbEvidenceMarginalMAP
  2. OneTimeMarginalMAP
  3. OneTimeSampler
  4. OneTime
  5. ProbEvidenceMarginalMAP
  6. MarginalMAPAlgorithm
  7. MetropolisHastings
  8. BaseUnweightedSampler
  9. Sampler
  10. Algorithm
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OneTimeProbEvidenceMarginalMAP(numSamples: Int, universe: Universe, tolerance: Double, samplesPerIteration: Int, maxRuns: Int, proposalScheme: ProposalScheme, schedule: Schedule, mapElements: List[Element[_]])

    Permalink

Type Members

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

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  2. class MMAPProbEvidenceSampler extends ProbEvidenceSampler with OneTimeProbEvidenceSampler with OnlineLogStatistics

    Permalink

    Special probability of evidence sampler used for marginal MAP.

    Special probability of evidence sampler used for marginal MAP. Unlike a regular probability of evidence sampler, this records its own variance. It does so in an online fashion, and computes it in log space to prevent underflow. Additionally, this algorithm may be run multiple times. The rolling mean and variance computation incorporates the samples taken from all runs.

    Definition Classes
    ProbEvidenceMarginalMAP
  3. class NotATargetException[T] extends AlgorithmException

    Permalink
    Definition Classes
    MarginalMAPAlgorithm
  4. 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
  5. type TimesSeen[T] = Map[T, Int]

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler

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

    Clean up the sampler, freeing memory.

    Clean up the sampler, freeing memory.

    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastingsAlgorithm
  13. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. final def compareMeans(oldSampler: MMAPProbEvidenceSampler, newSampler: MMAPProbEvidenceSampler, logConstant: Double, runs: Int): Boolean

    Permalink

    Decides whether or not the mean of the old sampler, multiplied by the constant given, is likely to be less than the mean of the new sampler.

    Decides whether or not the mean of the old sampler, multiplied by the constant given, is likely to be less than the mean of the new sampler. Computes in log space to avoid underflow. This may mutate the state of the universe. This does not take into account conditions and constraints on the MAP elements directly; these should be incorporated in the log constant provided.

    oldSampler

    Probability of evidence sampler for the previous state of the MAP elements.

    newSampler

    Probability of evidence sampler for the next state of the MAP elements.

    logConstant

    Log of a multiplicative constant, by which we multiply the mean of the old sampler.

    runs

    Maximum allowed additional runs of probability of evidence sampling before this method should return a best guess. This is a kill switch to avoid taking an absurd number of samples when the difference between the means is negligible. Must be >= 0. Setting this to 0 is equivalent to performing no hypothesis test at all and just comparing the values.

    returns

    A decision to accept based on a one-sided t-test of the weights sampled from the two samplers.

    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAP
    Annotations
    @tailrec()
  15. def computeMostLikelyValue[T](target: Element[T]): T

    Permalink
  16. def computeScores(): Double

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastings
  17. val currentConstraintValues: Map[Element[_], Double]

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  18. def currentMAPValues: List[ElemVal[_]]

    Permalink

    Record the current values of all MAP elements.

    Record the current values of all MAP elements.

    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAP
  19. 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
  20. def decideToAccept(newState: State): Boolean

    Permalink

    Decide whether or not to accept the new (unconstrained) state, first taking into account conditions on the MAP elements.

    Decide whether or not to accept the new (unconstrained) state, first taking into account conditions on the MAP elements. Does not change the state of the universe. Updates the temperature, preserved elements, and probability of evidence sampler accordingly. Incorporates constraints on the MAP elements.

    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastings
  21. def decideToAcceptSatisfied(): Boolean

    Permalink

    Like decideToAccept, but assume all conditions on the MAP elements are satisfied.

    Like decideToAccept, but assume all conditions on the MAP elements are satisfied.

    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAP
  22. var dissatisfied: Set[Element[_]]

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

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastings
  24. def doKill(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  25. def doMostLikelyValue[T](target: Element[T]): T

    Permalink
    Attributes
    protected
    Definition Classes
    OneTimeMarginalMAPMarginalMAPAlgorithm
  26. def doResume(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  27. def doSample(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastingsBaseUnweightedSamplerSampler
  28. def doStart(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  29. def doStop(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  30. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  32. val fastTargets: Set[Element[_]]

    Permalink
    Attributes
    protected
    Definition Classes
    MetropolisHastings
  33. def finalize(): Unit

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

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

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

    Permalink

    Number of samples taken

    Number of samples taken

    Definition Classes
    BaseUnweightedSampler
  37. def getTemperature: Double

    Permalink

    Get the current temperature.

    Get the current temperature. Used for debugging.

    Definition Classes
    ProbEvidenceMarginalMAP
  38. def hashCode(): Int

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

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastings
  40. def initUpdates(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  41. 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
  42. def isActive: Boolean

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

    Permalink
    Definition Classes
    Any
  44. 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
  45. val mapElements: List[Element[_]]

    Permalink

    List of elements over which to perform marginal MAP.

    List of elements over which to perform marginal MAP. These elements must not have evidence on them that is contingent on the values of non-MAP elements. Additionally, these elements must be "observable", in the sense that observing values for these elements and computing the probability of evidence of those observations should not uniquely return zero. Typically, this is satisfiable by elements that are not both continuous and deterministic. The algorithm will still run if this condition is not satisfied, but it will not converge.

    Definition Classes
    ProbEvidenceMarginalMAPMarginalMAPAlgorithm
  46. def mhStep(): State

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastings
  47. def mostLikelyValue[T](target: Element[T]): T

    Permalink

    Returns an estimate of the max a posteriori value of the target.

    Returns an estimate of the max a posteriori value of the target.

    Definition Classes
    MarginalMAPAlgorithm
    Exceptions thrown

    AlgorithmInactiveException if the algorithm is inactive.

    NotATargetException if called on a target that is not in the list of MAP elements.

  48. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  51. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  53. val numSamples: Int

    Permalink

    The number of samples to collect from the model.

    The number of samples to collect from the model.

    Definition Classes
    OneTimeProbEvidenceMarginalMAPOneTimeSampler
  54. var preserve: Set[Element[_]]

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAP
  55. var probEvidenceSampler: MMAPProbEvidenceSampler

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAP
  56. def proposeAndUpdate(): State

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

    Permalink
    Definition Classes
    BaseUnweightedSampler
  58. var rejects: Int

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

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSamplerSampler
  60. 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
  61. def run(): Unit

    Permalink

    Run the algorithm, performing its computation to completion.

    Run the algorithm, performing its computation to completion.

    Definition Classes
    OneTimeProbEvidenceMarginalMAPOneTimeSamplerOneTime
  62. def runScheme(): State

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

    Permalink

    Produce a single sample.

    Produce a single sample.

    Definition Classes
    ProbEvidenceMarginalMAPMetropolisHastingsBaseUnweightedSampler
  64. var sampleCount: Int

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  65. 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
  66. 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
  67. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  68. var temperature: Double

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceMarginalMAP
  69. 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
  70. def toString(): String

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

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

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

    Permalink
  74. def updateTimesSeenForTarget[T](elem: Element[T], newValue: T): Unit

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

    Permalink
    Attributes
    protected
    Definition Classes
    BaseUnweightedSampler
  76. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from OneTimeMarginalMAP

Inherited from OneTimeSampler

Inherited from OneTime

Inherited from ProbEvidenceMarginalMAP

Inherited from MarginalMAPAlgorithm

Inherited from MetropolisHastings

Inherited from BaseUnweightedSampler

Inherited from Sampler

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped