Description Details Slots References Examples
In Evolutionary Behaviour Dynamics (McDowell, 2004), the behaviours that an organism is capable of emitting is represented as a set of integers on some domain (e.g. from 0 to 1023). This behavioural domain is divided into subsets to represent different operant classes (from the experimenter's perspective). For example, we may define [0,100] as one operant class and [101,1023] as another operant class. We may then set up an experiment where the EBD algrotihm is reinforced for a response to the first operant class of [0,100] on a variable interval schedule.
The definition of the operant classes (from the organism's perspective) is contained in a EBD_operant_class object that inherits from the elemental class.. This object will contain a function that makes integers (genotypes) to operant classes.
The way to put a EBD_operant_class in your model is as follows:
Make a list of vectors, each of length 2, containing the boundaries of each class.
Call the make.EBD_operant_class function.
EBD_operant_classThis will contain an operant class function that maps integers to operant classes.
nameThe name of the operant_class object. Inherited from elemental.
typeThis will be elemental because the operant_class.
McDowell, J. J. (2004). A computational model of selection by consequences. Journal of the Experimental Analysis of Behavior, 81(3), 297–317. https://doi.org/10.1901/jeab.2004.81-297
1 2 3 4 5 6 7 | # Define the operant classes:
class_bounds = list( c(0,40), c(41, 511), c(512, 552), c(553, 1023) )
# Make an "EBD_operant_class" object:
int_to_class = make.EBD_operant_class( class_bounds, "pop_class" )
# Test that it returns the correct class:
plot( matrix( c( 0:1023, int_to_class@EBD_operant_class( 0:1023 ) ), ncol = 2 ) )
abline( v = unlist( class_bounds ) )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.