abstract class DecisionImportance[T, U] extends Importance with DecisionAlgorithm[T, U]

Importance sampling for decisions. Almost the exact same as normal importance sampling 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. DecisionImportance
  2. DecisionAlgorithm
  3. Importance
  4. WeightedSampler
  5. StreamableProbQueryAlgorithm
  6. ProbQueryAlgorithm
  7. Sampler
  8. ProbQuerySampler
  9. BaseProbQuerySampler
  10. BaseProbQueryAlgorithm
  11. Algorithm
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DecisionImportance(universe: Universe, utilityNodes: List[Element[_]], decisionTarget: Decision[T, U])

Type Members

  1. class NotATargetException [T] extends AlgorithmException
    Definition Classes
    BaseProbQueryAlgorithm
  2. type Sample = (Double, Map[Element[_], Any])

    A sample consists of a weight and a map from elements to their values.

    A sample consists of a weight and a map from elements to their values.

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

Abstract Value Members

  1. abstract def doDistribution[T](target: Element[T]): Stream[(Double, T)]
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  2. abstract def doExpectation[T](target: Element[T], function: (T) ⇒ Double): Double
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  3. abstract def doKill(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  4. abstract def doProbability[T](target: Element[T], predicate: (T) ⇒ Boolean): Double
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  5. abstract def doResume(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  6. abstract def doStart(): Unit
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    Algorithm
  7. 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. val active: Boolean
    Attributes
    protected
    Definition Classes
    Algorithm
  5. var allWeightsSeen: List[WeightSeen[_]]
    Attributes
    protected
    Definition Classes
    WeightedSampler
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def check[T](target: Element[T]): Unit
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  8. 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
  9. def cleanup(): Unit

    Cleans up the temporary elements created during sampling.

  10. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. def computeDistribution[T](target: Element[T]): Stream[(Double, T)]

    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
    BaseProbQuerySamplerBaseProbQueryAlgorithm
  12. 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
    BaseProbQuerySamplerBaseProbQueryAlgorithm
  13. 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
  14. def computeProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    WeightedSamplerBaseProbQueryAlgorithm
  15. 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
    DecisionImportanceDecisionAlgorithm
  16. 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
  17. def doProjection[T](target: Element[T]): List[(T, Double)]
    Attributes
    protected
    Definition Classes
    BaseProbQueryAlgorithm
  18. def doSample(): Unit
    Attributes
    protected
    Definition Classes
    DecisionImportanceWeightedSamplerSampler
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  21. 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
  22. 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
  23. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  25. def getSamples(): Int
    Definition Classes
    Importance
  26. def getTotalWeight: Double

    Total weight of samples taken.

    Total weight of samples taken.

    Definition Classes
    WeightedSamplerBaseProbQuerySampler
  27. 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
  28. 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
  29. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  30. 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
  31. def isActive: Boolean
    Definition Classes
    Algorithm
  32. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  33. 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
    ImportanceAlgorithm
  34. def logProbEvidence: Double

    The computed probability of evidence.

    The computed probability of evidence.

    Definition Classes
    Importance
  35. val lw: LikelihoodWeighter
    Definition Classes
    Importance
  36. 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
  37. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. def newWeightSeen[T](target: Element[T]): WeightSeen[T]
    Attributes
    protected
    Definition Classes
    WeightedSampler
  39. final def notify(): Unit
    Definition Classes
    AnyRef
  40. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  41. 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
  42. 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
  43. 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
  44. 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
  45. lazy val queryTargets: List[Element[_]]
  46. def resetCounts(): Unit
    Attributes
    protected
    Definition Classes
    DecisionImportanceImportanceWeightedSamplerSampler
  47. 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
  48. final def sample(): Sample

    Produce a single sample.

    Produce a single sample.

    Definition Classes
    ImportanceWeightedSampler
    Annotations
    @tailrec()
  49. def sampleFromPosterior[T](element: Element[T]): Stream[T]

    Sample an value from the posterior of this element

    Sample an value from the posterior of this element

    Definition Classes
    WeightedSamplerStreamableProbQueryAlgorithm
  50. 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
  51. 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
  52. 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
  53. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  54. def toString(): String
    Definition Classes
    AnyRef → Any
  55. var totalWeight: Double
    Attributes
    protected
    Definition Classes
    WeightedSampler
  56. val universe: Universe
  57. def update(): Unit
    Attributes
    protected
    Definition Classes
    WeightedSamplerSampler
  58. def updateWeightSeenForTarget[T](sample: Sample, weightSeen: WeightSeen[T]): Unit
    Attributes
    protected
    Definition Classes
    WeightedSampler
  59. def updateWeightSeenForTargetNoLog[T](sample: Sample, weightSeen: WeightSeen[T]): Unit
    Attributes
    protected
  60. def updateWeightSeenWithValue[T](value: T, weight: Double, weightSeen: WeightSeen[T]): Unit
    Attributes
    protected
    Definition Classes
    WeightedSampler
  61. def updateWeightSeenWithValueNoLog[T](value: T, weight: Double, weightSeen: WeightSeen[T]): Unit
    Attributes
    protected
  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 DecisionAlgorithm[T, U]

Inherited from Importance

Inherited from WeightedSampler

Inherited from ProbQueryAlgorithm

Inherited from Sampler

Inherited from ProbQuerySampler

Inherited from BaseProbQuerySampler[Element]

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped