com.cra.figaro.algorithm.decision

MultiDecisionAlgorithm

abstract class MultiDecisionAlgorithm extends OneTime

Abstract class common to all multi-decision algorithms. Multi-decision algorithms implement backward induction by 1) determining the order in which decisions can be computed 2) Implementing a single decision algorithm on each decision (in the proper order).

Note: Only OneTime algorithms are supported in multi-decision algorithms

Linear Supertypes
OneTime, Algorithm, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MultiDecisionAlgorithm
  2. OneTime
  3. Algorithm
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MultiDecisionAlgorithm(universe: Universe, utilityNodes: List[Element[_]], targets: List[Element[_]])

Abstract Value Members

  1. abstract def createAlg[T, U](decisionTarget: Decision[T, U], utilities: List[Element[_]], mv: Universe): OneTimeProbQueryDecision[T, U]

    Attributes
    protected

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. var active: Boolean

    Attributes
    protected
    Definition Classes
    Algorithm
  7. var algList: Map[Decision[_, _], OneTimeProbQueryDecision[_, _]]

    List of the single decision algorithms implemented in the multi-decision algorithm

  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def cleanUp(): Unit

    Called when the algorithm is killed.

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

    Definition Classes
    MultiDecisionAlgorithmAlgorithm
  10. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  11. val decisionOrder: List[List[Element[_]]]

    Computes the order in which decisions should be computed.

    Computes the order in which decisions should be computed. Decision order goes from independent->dependent

  12. def doKill(): Unit

    Attributes
    protected
    Definition Classes
    OneTimeAlgorithm
  13. def doResume(): Unit

    Attributes
    protected
    Definition Classes
    OneTimeAlgorithm
  14. def doStart(): Unit

    Attributes
    protected
    Definition Classes
    OneTimeAlgorithm
  15. def doStop(): Unit

    Attributes
    protected
    Definition Classes
    OneTimeAlgorithm
  16. final def eq(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    AnyRef → Any
  20. def getUtility[T, U](D: Decision[T, U], p: T, d: U): DecisionSample

    Get the utility for a specific parent and decision in the multi-decision algorithm

  21. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  22. 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
  23. def isActive: Boolean

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

    Definition Classes
    Any
  25. 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
  26. def makeAlg(decisions: List[Decision[_, _]], succExpUtil: Map[Element[_], Element[_]]): Map[Element[_], Element[_]]

    Attributes
    protected
  27. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  28. final def notify(): Unit

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

    Definition Classes
    AnyRef
  30. 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
  31. def run(oneStep: Boolean): Unit

    Run in a debug mode where only a single decision is run each time

  32. def run(): Unit

    Run the algorithm, performing its computation to completion.

    Run the algorithm, performing its computation to completion.

    Definition Classes
    MultiDecisionAlgorithmOneTime
  33. 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
  34. 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
  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  36. def toString(): String

    Definition Classes
    AnyRef → Any
  37. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from OneTime

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped