ptolemy.actor.lib.colt
Class ColtBinomialSelector
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Source
ptolemy.actor.lib.RandomSource
ptolemy.actor.lib.colt.ColtRandomSource
ptolemy.actor.lib.colt.ColtBinomialSelector
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class ColtBinomialSelector
- extends ColtRandomSource
Assign trials from several populations using a conditional Binomial
selection process. For example, if a vector of P
populations are presented (as P
input channels) and
N
trials is specified, then this algorithm will
distribute the N
trials based on the proportions
represented in the P
populations. This is done by
performing a progressively conditional Binomial selection in which
n
and p
change after each trial assignment
step. The Binomial trials (n
) is decremented after each
assignment step to represent the remaining trials, and the new
Binomial probability (p
) is calculated based on the
populations that remain eligible for selection.
A new set of trial assignments is produced for each iteration and
will not change until the next iteration. The values that are
generated are independent and the expected values of the assignments
will have expected values that are representative of the population
proportions.
- Since:
- Ptolemy II 6.0
- Version:
- $Id: ColtBinomialSelector.java 59167 2010-09-21 17:08:02Z cxh $
- Author:
- Raymond A. Cardillo, Matthew J. Robbins, Contributors: Jason Smith and Brian Hudson
- See Also:
ColtBinomial
,
Binomial
,
Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, 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, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
trials
public PortParameter trials
- The total number of trials to assign. This PortParameter is
of type Int and has an initial default value of 1.
populations
public TypedIOPort populations
- The populations to select from. This multiport is of type Long.
_current
private int[] _current
- The tokens to emit during the current iteration.
_generator
private cern.jet.random.Binomial _generator
- The random number generator.
ColtBinomialSelector
public ColtBinomialSelector(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Send the trial distributions to the output.
This set of trial distributions is only changed in the
prefire() method, so it will remain constant throughout an
iteration.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class RandomSource
- Throws:
IllegalActionException
- If there is no director.
_createdNewRandomNumberGenerator
protected void _createdNewRandomNumberGenerator()
- Create a new random number generator. This method is called
after _randomNumberGenerator is changed.
- Specified by:
_createdNewRandomNumberGenerator
in class ColtRandomSource
_generateRandomNumber
protected void _generateRandomNumber()
throws IllegalActionException
- Generate a new random number.
- Specified by:
_generateRandomNumber
in class RandomSource
- Throws:
IllegalActionException
- If parameter values are incorrect.