You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+19-6Lines changed: 19 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,7 +24,8 @@ Setting up simulations
24
24
if you need more information on how the program works.)
25
25
26
26
PARAMETERS / COMMANDS
27
-
run
27
+
*run*
28
+
28
29
Starts a new game with current settings. No arguments needed.
29
30
30
31
New games begin with one group of agents with a starting age equivalent to half of an agent lifespan, and with repertoires of vowels which are close imitations to the base convention prototypes. These are generated using the guess_by_margin method, except that the margin is set to .1 x perception ERB.
@@ -35,71 +36,82 @@ At every ‘time step,’ all agents advance in age by one. If the population si
35
36
36
37
37
38
*extend*
39
+
38
40
continue running the current game for another set of cycles. Does not reset any of the parameters or replace the agents.
39
41
40
42
*save*
43
+
41
44
Saves 3 files: 1 .txt and 2 .eps
42
45
The ‘save’ command writes a condensed copy of the output to a txt file. The file will include the text step reports (assuming ‘show’ is turned on), the final text report showing the displacement values by word, and the lexicon report (if ‘report’ has been called prior to saving) and the ‘details’ report showing the agents’ repertoires (if that report has been called up already).
43
46
44
47
*cycles*
48
+
45
49
Set the number of agent groups tracked over lifespan.
46
50
Input: int >= 1
47
51
Default: 1; set in Game_fns.init()
48
52
This is a pretty safe parameter; the only danger is that if you set the cycles really high then it will take a long time to run and you may have to abort (ctrl+c).
49
53
50
54
*size*
55
+
51
56
set the population peak limit.
52
57
53
58
At every step, the population will either grow (if the number of live agents is less than the size limit) or stay the same if the population has reached the size limit. If the oldest group has reached the lifespan limit, it will be removed at the end of the step and a new group will be added at the beginning of the next.
54
59
55
60
*details*
61
+
56
62
Shows the vocabularies of all live agents.
57
63
58
64
*lifespan*
65
+
59
66
set the age at which agents are removed from population.
60
67
61
68
The age of maturity is (.10 * lifespan) + 1 and represents the point at which agents transition from being children to adults and from interactive listeners to speakers only. This is also where agents ‘purge’ their extraneous vowels so that adults have only vowels with a weight strictly greater than 0.
62
69
63
70
*show*
64
-
shows live agents’ repertoires as layered points in the vowel space, followed by the mean centers for each prototype at the end of each step.
65
-
66
-
what happens if you change it: If ‘show’ is off, the runtime is decreased, but you aren’t able to see live changes. You’ll still see the final results, and you can get the final sampling with the “draw last” command when it finishes. If ‘show’ is on, the game takes longer.
67
-
68
-
Combining this command with the “color” option will display the vowels with color-coding.
69
71
72
+
shows live agents’ repertoires as layered points in the vowel space, followed by the mean centers for each prototype at the end of each step.
70
73
71
74
*Symbols*
75
+
72
76
Toggles the mean center markers to show the IPA symbols or spots. The symbols don’t save in the eps files, so if you save it will automatically use the spots instead.
73
77
74
78
*protos*
79
+
75
80
specify the prototypes in the base convention.
76
81
input: string of prototype names separated by commas and spaces e.g.
77
82
>>I, I:, retracted_a, u
78
83
79
84
*margin*
85
+
80
86
The perception defines the radius of the circle centered on an incoming signal and within which an agent will recognize that the incoming vowel matches a phone in its repertoire. The agent ‘de-assimilates’ the vowel before matching it. If no match is found within perception margin, the agent will imitate the deassimilated vowel and store the imitation as a phone.
81
87
82
88
*prox*
89
+
83
90
set a supplement (in ERB) for the proximity margin.
84
91
input: float (can be negative). The final margin will be vowel.weight + prox for each percept. If the result is a negative number, it will default to 0 ERB.
85
92
86
93
*phone* (imitation / phone_radius)
94
+
87
95
The ‘phone’ command sets the phone_radius variable, which is the radius of the circle within which an agent creates an imitation of a signal it couldn’t match. The circle’s center is the ‘corrected’ (de-assimilated) version of the signal.
88
96
89
97
*noise* (vowel production / phone_radius_noise)
98
+
90
99
The ‘noise’ command sets the phone_radius_noise variable, which is the radius around an agent’s percept (after being coarticulated/assimilated), within which the agent utters a vowel when saying a word.
91
100
92
101
*report*
102
+
93
103
prints a table with current stats from the game, including
94
104
1. the active prototypes and their displacement from the starting positions,
95
105
2. the words in the lexicon and the number of agents using each prototype to pronounce that word
96
106
3. the number of agents who have multiple variants of convention prototypes in their repertoires (i.e. “near splits”)
97
107
98
108
*demo*
109
+
99
110
interactively set up a new game.
100
111
The program will give a description of each parameter followed by a prompt for input, then run the game and pause for another command after the cycles have completed.
101
112
102
113
*language*
114
+
103
115
use one of the preset lists of vowels defined in Game_fns.
104
116
105
117
The program will list the names of the language presets available. To use one, enter the name as it appears in the list. A window will pop up showing a preview of the base convention for the preset with circles indicating the initial effective proximity margin around each class.
@@ -109,5 +121,6 @@ Click in the window to close it. If you are satisfied with it and the rest of th
109
121
The presets are based on research from wikipedia, the U of C Phonetic Inventory and a handy website “A Survey of some Vowel Systems.” They have not (yet) been corroborated by any expert and quite possibly contain some inaccuracies.
110
122
111
123
*sampling*
124
+
112
125
options: "phones" or "vowels"
113
126
In the program, ‘sampling’ refers to the collection of the agents’ pronunciations of words in the lexicon, which are represented by colored dots in the chart. Sampling is shown at every step if ‘show’ is on, and at the end if ‘show’ is off. Sampling never includes babies’ vowels/phones--unless you’re in ‘micro’ mode, where it will show The Chosen One’s phones even when they are a baby. The sampling options are ‘phones’ and ‘vowels’. These have to be consistent (meaning, whichever one is used for sampling will also be used to get prototypes for the convention).
0 commit comments