Skip to content

Commit 22917df

Browse files
committed
average-signal reporter & BehaviorSpace experiments
* The `average-signal` reporter is now collected when a run converges. * There is only one base BehaviorSpace experiment now. This experiment can then be adjusted for the intended purpose manually. This should lower maintenance efforts. * The BehaviorSpace experiment has been adjusted in order to utilize the new `average-signal` reporter and to set 'evidence from nature' to zero by default.
1 parent 9c45298 commit 22917df

File tree

2 files changed

+22
-72
lines changed

2 files changed

+22
-72
lines changed

SocNetABM.nlogo

+7-60
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ to go
6565
set crit-interact-lock crit-interact-lock - 1
6666
]
6767
]
68-
if nature-evidence-frequency > 0 and ticks != 0
69-
and ticks mod (1 / nature-evidence-frequency) = 0 [
68+
if nature-evidence-frequency > 0 and ticks != 0
69+
and ticks mod (1 / nature-evidence-frequency) = 0 [
7070
ask turtles [
7171
update-from-nature
7272
]
@@ -109,7 +109,8 @@ end
109109
; the reporters which have to be collected when researchers converge.
110110
to init-converge-reporters
111111
set converge-reporters (list [ -> average-belief 0 true]
112-
[ -> average-cum-successes 0 true] [ -> average-confidence true])
112+
[ -> average-cum-successes 0 true] [ -> average-confidence true]
113+
[ -> average-signal 0 true])
113114
end
114115

115116

@@ -1192,6 +1193,8 @@ NetLogo 6.0.1
11921193
<metric>crit-interactions-th1</metric>
11931194
<metric>crit-interactions-th2</metric>
11941195
<metric>round-converged</metric>
1196+
<metric>average-signal "th1" false</metric>
1197+
<metric>average-signal "th2" false</metric>
11951198
<metric>average-belief "th1" false</metric>
11961199
<metric>average-belief "th2" false</metric>
11971200
<metric>average-cum-successes "th1" false</metric>
@@ -1234,65 +1237,9 @@ NetLogo 6.0.1
12341237
<enumeratedValueSet variable="max-ticks">
12351238
<value value="10000"/>
12361239
</enumeratedValueSet>
1237-
</experiment>
1238-
<experiment name="crit-interact-base-run" repetitions="10000" runMetricsEveryStep="false">
1239-
<setup>setup new-seed</setup>
1240-
<go>go</go>
1241-
<exitCondition>exit-condition</exitCondition>
1242-
<metric>successful-run</metric>
1243-
<metric>average-jumps</metric>
1244-
<metric>avg-indiff-time</metric>
1245-
<metric>run-start-scientists "th1"</metric>
1246-
<metric>run-start-scientists "th2"</metric>
1247-
<metric>run-end-scientists "th1"</metric>
1248-
<metric>run-end-scientists "th2"</metric>
1249-
<metric>crit-interactions-th1</metric>
1250-
<metric>crit-interactions-th2</metric>
1251-
<metric>round-converged</metric>
1252-
<metric>average-signal "th1"</metric>
1253-
<metric>average-signal "th2"</metric>
1254-
<metric>average-belief "th1" false</metric>
1255-
<metric>average-belief "th2" false</metric>
1256-
<metric>average-cum-successes "th1" false</metric>
1257-
<metric>average-cum-successes "th2" false</metric>
1258-
<metric>average-confidence false</metric>
1259-
<metric>rndseed</metric>
1260-
<steppedValueSet variable="scientists" first="3" step="1" last="11"/>
1261-
<enumeratedValueSet variable="th1-signal">
1262-
<value value="0.5"/>
1263-
</enumeratedValueSet>
1264-
<enumeratedValueSet variable="th2-signal">
1265-
<value value="0.499"/>
1266-
</enumeratedValueSet>
1267-
<enumeratedValueSet variable="pulls">
1268-
<value value="1000"/>
1269-
</enumeratedValueSet>
1270-
<enumeratedValueSet variable="jump-threshold">
1271-
<value value="1"/>
1272-
</enumeratedValueSet>
1273-
<enumeratedValueSet variable="strategy-threshold">
1240+
<enumeratedValueSet variable="nature-evidence-frequency">
12741241
<value value="0"/>
12751242
</enumeratedValueSet>
1276-
<enumeratedValueSet variable="network-structure">
1277-
<value value="&quot;cycle&quot;"/>
1278-
<value value="&quot;wheel&quot;"/>
1279-
<value value="&quot;complete&quot;"/>
1280-
</enumeratedValueSet>
1281-
<enumeratedValueSet variable="max-prior">
1282-
<value value="4"/>
1283-
</enumeratedValueSet>
1284-
<enumeratedValueSet variable="critical-interaction">
1285-
<value value="true"/>
1286-
</enumeratedValueSet>
1287-
<enumeratedValueSet variable="crit-strength">
1288-
<value value="0.001"/>
1289-
</enumeratedValueSet>
1290-
<enumeratedValueSet variable="crit-jump-threshold">
1291-
<value value="1"/>
1292-
</enumeratedValueSet>
1293-
<enumeratedValueSet variable="max-ticks">
1294-
<value value="10000"/>
1295-
</enumeratedValueSet>
12961243
</experiment>
12971244
</experiments>
12981245
@#$#@#$#@

protocol.nls

+15-12
Original file line numberDiff line numberDiff line change
@@ -230,19 +230,22 @@ end
230230

231231

232232

233-
; reports the current average signal for th# and updates the global
234-
; `th-i-signal` accordingly
235-
to-report average-signal [th#]
236-
if critical-interaction and th-i-signal = (list th1-signal th2-signal) [
237-
set th-i-signal [0 0]
238-
ask turtles [
239-
set th-i-signal (map + th-i-signal subj-th-i-signal)
240-
]
241-
set th-i-signal map [ cur-th-signal -> cur-th-signal / scientists]
242-
th-i-signal
233+
; reports the average signal for th# at the time of final convergence
234+
; arguments:
235+
; - th# = theory, type: string
236+
; - rec = recording?, type: boolean
237+
to-report average-signal [th# rec?]
238+
let identifier "avgsignal"
239+
ifelse rec? [
240+
let avg-signal-th1 mean [item 0 subj-th-i-signal] of turtles
241+
let avg-signal-th2 mean [item 1 subj-th-i-signal] of turtles
242+
report (list identifier avg-signal-th1 avg-signal-th2)
243+
][
244+
set th# translate-from-string th#
245+
let avg-signal but-first first filter [curitem ->
246+
first curitem = identifier] converge-reporters-values
247+
report item th# avg-signal
243248
]
244-
set th# translate-from-string th#
245-
report item th# th-i-signal
246249
end
247250

248251

0 commit comments

Comments
 (0)