public abstract class HSMMGenerator extends TypedAtomicActor
An abstract class that implements a Bayesian network used to simulate an Explicit-Duration Hidden Markov Model.
Entity.ContainedObjectsIterator
Modifier and Type | Field and Description |
---|---|
protected double[][] |
_A
Cached transition matrix value.
|
protected double[][] |
_D
current duration distribution.
|
protected double[][] |
_D0
initial duration distribution.
|
protected int |
_dt
Duration variable: d(t).
|
protected double[] |
_durationPriors
Duration priors: an nStates-by-nDurations matrix.
|
protected boolean |
_firstIteration
Boolean indicating the first iteration of the generator.
|
protected int |
_maxDuration
Cardinality of the support of duration distribution.
|
protected int |
_nStates
Cardinality of state space.
|
protected int |
_windowSize
Generation window size.
|
protected double[] |
_x0
maximum duration ( in time steps).
|
protected int |
_xt
State variable: x(t).
|
protected double[][] |
D_new
new duration distribution.
|
PortParameter |
durationPriors
The user-provided initial guess on the prior probability distribution.
|
PortParameter |
durationProbabilities
The user-provided initial guess on the prior probability distribution.
|
TypedIOPort |
hiddenState
Output port for corresponding state sequence.
|
protected static int |
MAX_TRIALS
In the presence of window-based constraints, number of runs allowable
until valid trace found.
|
TypedIOPort |
observation
Output port for observation array.
|
PortParameter |
powerUpperBound
Power limit on generation window.
|
PortParameter |
statePriors
Prior state distribution.
|
PortParameter |
transitionMatrix
Transition Probability matrix estimate.
|
TypedIOPort |
trigger
Trigger generation.
|
Parameter |
windowSize
Generation window size.
|
_typesValid
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
COMPLETED, NOT_READY, STOP_ITERATING
Constructor and Description |
---|
HSMMGenerator(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name.
|
Modifier and Type | Method and Description |
---|---|
protected abstract int |
_propagateState()
Sample next state given current state.
|
protected abstract int |
_sampleDurationForState()
Sample a duration value given current state.
|
protected abstract int |
_sampleDurationFromPrior()
Sample duration value from prior duration distribution.
|
protected abstract int |
_sampleHiddenStateFromPrior()
Sample state at this iteration from the state prior.
|
protected abstract double[] |
_sampleObservation()
Sample an observation value given current state.
|
void |
attributeChanged(Attribute attribute)
React to a change in an attribute.
|
java.lang.Object |
clone(Workspace workspace)
Clone the actor into the specified workspace.
|
void |
preinitialize()
Create receivers and declare delay dependencies.
|
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, fire, getCausalityInterface, getDirector, getExecutiveDirector, getManager, initialize, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeDeleted, attributeList, attributeList, decorators, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, initialize, removeInitializable, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName, setName
getDerivedLevel, getDerivedList, propagateValue
public PortParameter durationPriors
public PortParameter durationProbabilities
public PortParameter transitionMatrix
public PortParameter statePriors
public TypedIOPort trigger
public TypedIOPort observation
public TypedIOPort hiddenState
public Parameter windowSize
public PortParameter powerUpperBound
protected double[] _durationPriors
protected double[][] D_new
protected double[][] _D0
protected double[][] _D
protected double[] _x0
protected double[][] _A
protected boolean _firstIteration
protected int _nStates
protected int _maxDuration
protected int _dt
protected int _xt
protected int _windowSize
protected static int MAX_TRIALS
public HSMMGenerator(CompositeEntity container, java.lang.String name) throws NameDuplicationException, IllegalActionException
container
- The container.name
- The name of this actorIllegalActionException
- If the actor cannot be contained
by the proposed container.NameDuplicationException
- If the container already has an
actor with this name.public java.lang.Object clone(Workspace workspace) throws java.lang.CloneNotSupportedException
TypedAtomicActor
clone
in class TypedAtomicActor
workspace
- The workspace for the new object.java.lang.CloneNotSupportedException
- If a derived class contains
an attribute that cannot be cloned.NamedObj.exportMoML(Writer, int, String)
,
NamedObj.setDeferringChangeRequests(boolean)
public void preinitialize() throws IllegalActionException
AtomicActor
preinitialize
in interface Initializable
preinitialize
in class AtomicActor<TypedIOPort>
IllegalActionException
- Not thrown in this base class.public void attributeChanged(Attribute attribute) throws IllegalActionException
NamedObj
attributeChanged
in class NamedObj
attribute
- The attribute that changed.IllegalActionException
- If the change is not acceptable
to this container (not thrown in this base class).protected abstract double[] _sampleObservation()
protected abstract int _sampleDurationForState()
protected abstract int _propagateState() throws IllegalActionException
IllegalActionException
protected abstract int _sampleHiddenStateFromPrior()
protected abstract int _sampleDurationFromPrior()