-
Notifications
You must be signed in to change notification settings - Fork 4
/
params.yml
373 lines (306 loc) · 15.4 KB
/
params.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
# This file contains all the credence-based parameters for full_calc.py
# (see also ./runtime_constants.py for params that just balance runtime and precision)
# Discussion of default values/what values should be is on this open Google doc:
# https://docs.google.com/document/d/1Ag_cnQLBAIzzSJEGos94KDsgvFFvCz-ML54wOZoY7A4/
# Uncomment time of perils fields prefixed with 'current_perils_' to affect the current time of perils only
preperils:
preindustrial:
# Parameters describing the chance of becoming industrial (vs extinct) from
# a preindustrial state
# Desmos graph of the probability of the xth civilisation going directly extinct
# from a preindustrial state: https://www.desmos.com/calculator/d2uyrkresh
# The Desmos values correspond to the parameters in this section as follow:
# x = number of previous civilisations (calculated for every number up to the MAX_CIVILISATIONS constant)
# a = per_civilisation_annual_extinction_probability_multiplier
# b = annual_extinction_probability
# c = base_expected_time_in_years
# d = stretch_per_reboot
base_expected_time_in_years: 10_571
# base_expected_time_in_years: 476 # optimistic
# base_expected_time_in_years: 285_714 # pessimistic
stretch_per_reboot: 1.05
base_annual_extinction_probability: 0.000012
per_reboot_annual_extinction_probability_multiplier: 1.02
industrial:
# Parameters describing the chance of reaching a time of perils (vs going
# extinct) from an industrial state
# Desmos graph of the probability of the xth civilisation going directly extinct
# from an industrial state:
# https://www.desmos.com/calculator/2gzrlt4bfa
# The Desmos values correspond to the parameters in this section as follow:
# x = number of previous civilisations (calculated for every number up to the MAX_CIVILISATIONS constant)
# a = per_civilisation_annual_extinction_probability_multiplier
# b = annual_extinction_probability_denominator
# c = base_expected_time_in_years
# d = stretch_per_reboot
# g = base_annual_extinction_probability_coefficient
base_expected_time_in_years: 109 # ~geometric mean of the optimistic and pessimistic views
# base_expected_time_in_years: 429 # pessimistic
# base_expected_time_in_years: 29 # optimistic
stretch_per_reboot: 3.5 # geometric mean of the optimistic and pessimistic views
# stretch_per_reboot: 10 # pessimistic
# stretch_per_reboot: 1.2 # optimistic
base_annual_extinction_probability: 0.000012
annual_extinction_probability_coefficient: 0.7 # Constant multiple of annual_extinction_probability
per_reboot_annual_extinction_probability_multiplier: 1.02
perils:
# Some of the parameters in 'perils' have a 'current_perils_'-prefixed
# alternative.* If you uncomment this, they will be used only for determining
# the graphs of our current time of perils, and the default values will be used
# for all future times of perils.
#
# TODO At the moment, using any of these
# current_perils parameters will mess up the alignment of later columns in the
# CSV file by inserting a column for each current_perils value.
# The time of perils graphs all assume k=0. To see
# the effect of reboots on the estimates, you'll need to manually increase the x-stretch (parameter
# b on Desmos) by an appropriate proportion.
current_progress_year: 71
extinction:
# Desmos graph of the probability in progress year x of transitioning
# from a perils state directly to extinction: https://www.desmos.com/calculator/zvt7dy6pwb
# The Desmos values correspond to the parameters in this section as follows
# x = progress year
# a = y_scale
# b = base_x_scale
# c = x_translation
# d = sharpness
# m = per_civilisation_background_risk_numerator
# n = base_background_risk_denominator
# y_scale is the max annual probability of extinction from a time of perils.
y_scale: 0.00054 # Optimistic/best guess (see Google doc for why optimistic guess is used by default)
# y_scale: 0.004 # Pessimistic
# y_scale: 0.0012 # the geometric mean of optimistic and pessimistic views
# current_perils_y_scale: 0
base_x_scale: 108 # The x-stretch of the graph at k=0 (primary determinant of how quickly the
# extinction risk rises per progress year at low k-values).
# current_perils_base_x_scale: 0
# stretch_per_reboot is a per-reboot multiplier on the x-stretch (the formula for x_scale is
# base_x_scale * stretch_per_reboot ** k), so the primary determinant of how quickly the
# extinction risk rises per year at high k-values). Higher values imply longer before both good
# and bad technology-caused exits from the time of perils become possible.
stretch_per_reboot: 3.5 # ~the geometric mean of optimistic and pessimistic views
# stretch_per_reboot: 10 # Pessimistic
# stretch_per_reboot: 1.2 # Optimistic
# current_perils_stretch_per_reboot: 0
# x_translation is the delay at the start of a time of perils before we expect
# this risk to kick in.
x_translation: 15
# current_perils_x_translation: 0
# sharpness is an abstract (but not-very-influential parameter) codetermining steepness.
sharpness: 6 #
# current_perils_sharpness: 0
# base_background_risk is the background risk (i.e. non-technologicalrisk ) of extinction, constant throughout
# a given time of perils.
base_background_risk: 0.0000054
# per_reboot_background_risk_multiplier is a multiplier applied to base_background_risk
# for each civilisation after the first. # Note that high values of this will break
# the calculator, by making the per-year risk in later civilisations approach or exceed 1.
# TODO: make it more robust to this
per_reboot_background_risk_multiplier: 1.05
preindustrial:
# Desmos graph of the probability in progress year x of transitioning
# from a perils state directly to a preindustrial state:
# https://www.desmos.com/calculator/viekibtzhv
# The Desmos values correspond to the parameters in this section as follows
# x = progress year
# a = y_scale
# b = base_x_scale
# c = x_translation
# d = sharpness
# m = per_civilisation_background_risk_numerator
# n = base_background_risk_denominator
y_scale: 0.0008
# current_perils_y_scale: 0
base_x_scale: 180
# current_perils_base_x_scale: 0
x_translation: 5
# current_perils_x_translation: 0
sharpness: 0.4
# current_perils_sharpness: 0
stretch_per_reboot: 3.5 # The geometric mean of upper and lower bounds
# stretch_per_reboot: 10 # Pessimistic
# stretch_per_reboot: 1.2 # Optimistic
# current_perils_stretch_per_reboot: 0
per_reboot_background_risk_multiplier: 1.05
base_background_risk: 0.000016
industrial:
# Desmos graph of the probability in progress year x of transitioning
# from a perils state directly to an industrial state:
# https://www.desmos.com/calculator/ioo96u3cih
# The Desmos values correspond to the parameters in this section as follows
# x = progress year
# a = y_scale
# b = base_x_scale
# c = x_translation
# d = sharpness
# m = per_civilisation_background_risk_numerator
# n = base_background_risk_denominator
y_scale: 0.0056 # Geometric mean of optimistic and pessimistic views
# y_scale: 0.0015 # Optimistic
# y_scale: 0.021 # Pessimistic
# current_perils_y_scale: 0.0015
base_x_scale: 180
# current_perils_base_x_scale: 85
# current_perils_x_translation: 0
x_translation: 0 # The definitionally minimum possible regression at the start of a time of
# perils
sharpness: 0.9
# current_perils_sharpness: 0.9
stretch_per_reboot: 3.5 # Best guess: ~the geometric mean of optimistic and pessimistic views
# stretch_per_reboot: 10 # Pessimistic
# stretch_per_reboot: 1.2 # Optimistic
# current_perils_stretch_per_reboot: 3.5
per_reboot_background_risk_multiplier: 1.05
base_background_risk: 0.000022
progress_year_n:
# Desmos graph of the probability of retrogressing
# within a perils state from progress year p to progress year n (n = x):
# https://www.desmos.com/calculator/xmjhulo4lj The three graphs represent the
# three algorithms described below Green is the exponential algorithm, blue
# the linear algorithm, red is the mean of the two.
# The Desmos values correspond to the parameters in this section as follows
# x = target progress year (iterated through in the code)
# a = any_regression
# p = origin progress year (iterated through in code), such that 0 <= x <= p
# n = regression_size_skew
# algorithm: 'exponential' # Optimistic
# algorithm: 'linear' # Pessimistic
algorithm: 'mean' # Since much of the runtime comes from the algorithm used here,
# consider setting it to one of the more efficient ones above if an upper/lower bound will do
regression_size_skew: 1.4 # Only required for exponential and mean algorithms (but
# messes up the results.csv columning if you comment it out when using linear)
any_regression: 0.057
multiplanetary:
# Desmos graph of the probability in progress year x of transitioning
# from a perils state directly to a multiplanetary state: https://www.desmos.com/calculator/sbkmcbfzlj
# The Desmos values correspond to the parameters in this section as follows
# x = progress year
# a = y_scale
# b = base_x_scale
# c = x_translation
# d = sharpness
y_scale: 0.07
# current_perils_y_stretch: 0
base_x_scale: 240
# current_perils_base_x_scale: 0
x_translation: 70
# current_perils_x_translation: 0
sharpness: 1.5
# current_perils_sharpness: 0
stretch_per_reboot: 3.5 # Geometric mean of optimistic and pessimistic views
# stretch_per_reboot: 10 # Pessimistic
# stretch_per_reboot: 1.2 # Optimistic
# current_perils_stretch_per_reboot: 3.5
# I'm including the subsequent two params to simplify the code, but these should
# remain unchanged for normal use cases - the 'background' risk of humanity
# becoming multiplanetary is probably safe to treat as 0.
per_reboot_background_risk_multiplier: 0
base_background_risk: 0
interstellar:
# No Desmos graph since by default I give this 0 probability. I assume this
# can only happen directly from the time of perils (without
# going via a multiplanetary state) via a benevolent AI singleton. My sense
# is that AI predictions mostly fall into either Camp A: 'it's going to be
# an overwhelmingly powerful new force of nature that will very likely
# kill us all' and Camp B: 'it's going to be a very powerful tool which
# doesn't fundamentally change human dynamics'. On either view, this
# transition seems very unlikely, though not inconceivable. For simplicity's
# sake, I'm treating this transition as as 0 probability (y-stretch of
# 0 with everything else being irrelevant), but you can adjust if that seems
# wrong.
# Some values below are set to 1 to avoid Division by Zero errors in the code
# current_perils_y_scale: 0
y_scale: 0
# current_perils_base_x_scale: 118
base_x_scale: 1
stretch_per_reboot: 1
# current_perils_x_translation: 15
x_translation: 0
# current_perils_sharpness: 2
sharpness: 0
# current_perils_stretch_per_reboot: 10
# I'm including the subsequent two params to simplify the code, but these should
# be 0 under normal assumptions.
# You could set them higher to factor in the chance
# of an alien civilisation spreading throughout the galaxy - though then you'd need to tweak
# the other states to allow for that too, and it would probably easier to just model separately.
per_reboot_background_risk_multiplier: 0
base_background_risk: 0
multiplanetary:
extinction:
# Desmos graph of the probability of transitioning from x 'planets' (self
# supporting, technologically independent settlements) directly to extinction
# https://www.desmos.com/calculator/d4iu3jsyfa
# The Desmos values correspond to the parameters in this section as follows
# x = number of planets (calculated for every number up to the MAX_PLANETS constant)
# a = two_planet_risk
# b = decay_rate
# c = x_translation
# d = min_risk
two_planet_risk: 0.12 # The probability of this transition from 2 planets
decay_rate: 0.45 # the proportion by which risk for an n-planet civilisation
# decreases for an (n+1)-planet civilisation
min_risk: 0
stretch_per_reboot: 1
preindustrial:
# By default I treat the probability of transitioning to a preindustrial state as 0 on
# the grounds that it seems such a precise amount of damage to a multiplanetary
# civilisation that it's not worth the computation/complexity costs. If you
# disagree, then you’ll need to provide values for the next two parameters.
two_planet_risk: 0
decay_rate: 0
min_risk: 0
stretch_per_reboot: 1
industrial:
# While this looks somewhat more plausible than transitioning to preindustrial,
# it still seems so much more specific than an event which either wipes out
# humanity or leaves the remainder with some advanced technology as to be
# treatable as 0
two_planet_risk: 0
decay_rate: 0
min_risk: 0
stretch_per_reboot: 1
n_planets:
# Desmos graph of the probability of transitioning from x 'planets' (self
# supporting, technologically independent settlements) to q planets (1 <= q < x)
# https://www.desmos.com/calculator/qr4vkbtijs
# Graph with the the emphasis flipped, i.e. the probability of transitioning from q to x planets:
# https://www.desmos.com/calculator/ycerxpiz0k
# In both graphs the probability of any regression is itself
# a function of number of planets (allowing the optimistic view that over time
# humans will become less likely to blow ourselves up) . Unlike in the time
# of perils, a 'regression' must be a loss of at
# least 1, and at most (x-1), since regressing to 0 planets is covered by 'extinction'.
#
# On both graphs the black line indicates the probability that, given a
# regression from <x or n> we regress to <n or x> planets respectively.
# The green line represents the total probability after multiplying by the
# probability of any regression that we regress the given number of planets.
two_planet_risk: 0.2
decay_rate: 0.4
# min_risk is the minimum risk of losing at least one planet before gaining
# one in an arbitrarily large civilisation.
min_risk: 0 # Optimistic
# min_risk: 0.04 # Pessimistic
regression_size_skew: 1.4
# TODO MD->SC: I would invert this param because it's confusing that a
# larger number means fewer planets.
stretch_per_reboot: 1
perils: n/a
# transitioning to perils is just the specific case of transitioning to n=1 planets.
interstellar:
# Desmos graph of the probability of transitioning from x 'planets' (self
# supporting, technologically independent settlements) directly to an
# interstellar state: https://www.desmos.com/calculator/r5c6cqwlux
# The Desmos values correspond to the parameters in this section as follows
# x = number of planets (calculated for every number up to the MAX_PLANETS constant)
# a = two_planet_risk
# b = decay_rate
# c = x_translation
# d = min_risk
# (unlike the other multiplanetary transitions, this uses the s-curve formula)
y_scale: 0.65
base_x_scale: 13
sharpness: 2
stretch_per_reboot: 1