prob
Create a weighted transition table
Description
Creates a table of weighted numeric transitions. A
message causes the weighting, and a potential transition, to be calculated.Discussion
prob accepts lists of three numbers in its inlet. The third number represents the weight of the probability of going from states represented by the first two numbers. For example, would mean that there is a weight of 4 in going from state 1 to state 2. When prob receives a , it makes a random jump from its current state to another state based on its current weighting of transitions. If a transition can be made, the new state is sent out the left outlet. If not, a is sent out the right outlet. For any particular state, the weights of all possible transition states are summed. Thus if a state could jump to three states that had weights of 3 4 and 1, the first one (3) would occur 37.5% of the time, the second 50% of the time, and the third 12.5%. Note that any state can make a transition to itself with a list of the form (state state weight).
Arguments
None.
Attributes
embed[int]: 0
Common Box Attributes
annotation[symbol]
Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.
background[int]: 0
Adds or removes the object from the patcher's background layer.
adds the object to the background layer, removes it. Objects in the background layer are shown behind all objects in the default foreground layer.
color[4 floats]
Sets the color for the object box outline.
fontface[int]
Sets the type style used by the object. The options are:
plain
bold
italic
bold italic
Possible values:
0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'
fontname[symbol]
Sets the object's font.
fontsize[float]
Sets the object's font size (in points).
Possible values:
'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'
hint[symbol]
Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.
ignoreclick[int]: 0
Toggles whether an object ignores mouse clicks in a locked patcher.
jspainterfile[symbol]
You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.
patching_rect[4 floats]: 0. 0. 100. 0.
Sets the position and size of the object in the patcher window.
position[2 floats]
write-only
Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.
presentation[int]: 0
Sets whether an object belongs to the patcher's presentation.
presentation_rect[4 floats]: 0. 0. 0. 0.
Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.
rect[4 floats]
write-only
Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).
size[2 floats]
write-only
Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.
textcolor[4 floats]
Sets the color for the object's text in RGBA format.
textjustification[int]
Sets the justification for the object's text.
Possible values:
0 = 'left'
1 = 'center'
2 = 'right'
varname[symbol]
Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.
Messages
bang
Makes a weighted random choice of a number to be sent out, based on the immediately previous output and on the specified likelihoods of subsequent numbers. No output will be produced if no input has been received or if the contents of the prob object have been cleared using the message.
int
Sets (but does not send out) out the current number value. The subsequent output, in response to a
message, will be determined by the stored matrix of probable transitions from that number.- input
[int]
list
The numbers make an entry in a probability matrix of transitions from one number to another (known as a first-order Markov chain). The list should consist of three numbers: a current value, a next value, and a probability that current will be followed by next. The first two numbers in the list identify a possible succession of output values: a possibility that the first number will be followed by the second. The third number sets the relative likelihood that the sequence of numbers will occur. Once the first number has been sent out, the next output is determined by the relative likelihood(s) assigned to each possible subsequent number.
- matrix
[list]
clear
Erases the contents of the prob object.
dump
Prints out a complete list of the stored transition probabilities (Markov chain) in the Max Console.
reset
The word prob what number to revert to in the event that it gets "stuck" on a number that has no possible next number.
, followed by a number, tells- value
[int]
Output
bang
Out right outlet: If the current number (the last number chosen) has no possible transitions listed in the transition probability matrix,
is sent out (and nothing is sent out the left outlet) in response to a in the inlet.int
Out left outlet: When prob sends out a number, which it chooses based on its knowledge of the last number chosen and the relative likelihood assigned to each possible subsequent number.
is received in the inlet,See Also
Name | Description |
---|---|
anal | Make a histogram of number pairs |
histo | Create a histogram of numbers received |
mean | Calculate a running average |