Packages

c

provingground.learning

MonixFiniteDistribution

case class MonixFiniteDistribution[State](nodeCoeffSeq: NodeCoeffSeq[State, Double], varWeight: Double)(implicit sd: StateDistribution[State, FiniteDistribution]) extends GenMonixFiniteDistribution[State] with Product with Serializable

resolving a general specification of a recursive generative model as finite distributions, depending on truncation; the coefficients of the various generator nodes should be Double

State

scala type of the initial state

nodeCoeffSeq

the various generator nodes with coefficients for various random variables and families

sd

finite distributions from the initial state corresponding to random variables and families

Linear Supertypes
Serializable, Product, Equals, GenMonixFiniteDistribution[State], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MonixFiniteDistribution
  2. Serializable
  3. Product
  4. Equals
  5. GenMonixFiniteDistribution
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MonixFiniteDistribution(nodeCoeffSeq: NodeCoeffSeq[State, Double], varWeight: Double)(implicit sd: StateDistribution[State, FiniteDistribution])

    nodeCoeffSeq

    the various generator nodes with coefficients for various random variables and families

    sd

    finite distributions from the initial state corresponding to random variables and families

Value Members

  1. def mapsSum[X, Y](first: Map[X, FiniteDistribution[Y]], second: Map[X, FiniteDistribution[Y]]): Map[X, FiniteDistribution[Y]]
    Definition Classes
    GenMonixFiniteDistribution
  2. def nodeCoeffDist[Y](initState: State)(nodeCoeffs: NodeCoeffs[State, Double, HNil, Y], epsilon: Double): Task[FiniteDistribution[Y]]
    Definition Classes
    GenMonixFiniteDistribution
  3. def nodeCoeffFamilyDist[Dom <: HList, Y](initState: State)(nodeCoeffs: NodeCoeffs[State, Double, Dom, Y], epsilon: Double)(arg: Dom): Task[FiniteDistribution[Y]]
    Definition Classes
    GenMonixFiniteDistribution
  4. val nodeCoeffSeq: NodeCoeffSeq[State, Double]
  5. def nodeDist[Y](initState: State)(generatorNode: GeneratorNode[Y], epsilon: Double): Task[FiniteDistribution[Y]]

    recursively determines the finite distribution given a generator node; the main work is done here

    recursively determines the finite distribution given a generator node; the main work is done here

    Y

    values of the corresponding random variable

    initState

    initial state

    generatorNode

    generator node to resolve

    epsilon

    cutoff

    returns

    distribution corresponding to the output random variable

    Definition Classes
    MonixFiniteDistributionGenMonixFiniteDistribution
  6. def nodeFamilyDist[Dom <: HList, Y](initState: State)(generatorNodeFamily: GeneratorNodeFamily[Dom, Y], baseDist: Task[FiniteDistribution[Dom]], epsilon: Double): Task[Map[Dom, FiniteDistribution[Y]]]
    Definition Classes
    GenMonixFiniteDistribution
  7. def nodeFamilyDistFunc[Dom <: HList, Y](initState: State)(generatorNodeFamily: GeneratorNodeFamily[Dom, Y], epsilon: Double)(arg: Dom): Task[FiniteDistribution[Y]]
    Definition Classes
    GenMonixFiniteDistribution
  8. def productElementNames: Iterator[String]
    Definition Classes
    Product
  9. def updateAll(dataSeq: Seq[Value[_ <: HList, _, Double]]): MonixFiniteDistribution[State]

    update coefficients, to be used in complex islands

    update coefficients, to be used in complex islands

    dataSeq

    the new coefficients

    returns

    MonixFiniteDistribution with updated coefficients

  10. def varDist[Y](initState: State)(randomVar: RandomVar[Y], epsilon: Double, limit: FiniteDuration = 3.minutes): Task[FiniteDistribution[Y]]

    finite distribution for a random variable

    finite distribution for a random variable

    Y

    values of the random variable

    initState

    initial state

    randomVar

    random variable whose distribution is returned

    epsilon

    cutoff

    returns

    finite distribution for the given random variable

    Definition Classes
    GenMonixFiniteDistribution
  11. def varFamilyDistFunc[RDom <: HList, Y](initState: State)(randomVarFmly: RandomVarFamily[RDom, Y], epsilon: Double)(arg: RDom): Task[FiniteDistribution[Y]]
    Definition Classes
    GenMonixFiniteDistribution
  12. def varListDist[Dom <: HList](initState: State)(vl: RandomVarList[Dom], epsilon: Double): Task[FiniteDistribution[Dom]]

    finite distribution for a list of random variables

    finite distribution for a list of random variables

    Dom

    the HList giving the type of the variable list

    initState

    initial state

    vl

    list of random variables

    epsilon

    cutoff

    returns

    finite distribution of Dom

    Definition Classes
    GenMonixFiniteDistribution
  13. val varWeight: Double