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: docs/experiments.md
+45-8Lines changed: 45 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,26 +4,63 @@ This is what should be measured each run. These runs can then be further aggrega
4
4
- Population count (mean and std after warmup)
5
5
- Cluster size distribution (means and stds after warmup)
6
6
### Evolution runs
7
-
- Population count (over time after warmup)
8
-
- Cluster size distribution (over time after warmup)
9
-
- Prey death rate (mean and std over time after warmup)
7
+
It is important to scrutenize whether these should be time-series or steady state values.
8
+
- Population count (time series after warmup)
9
+
- Cluster size distribution (time series after warmup)
10
+
- Prey death rate (time series mean and std after warmup)
11
+
10
12
# Experiments
11
13
These phases should be completed sequentially, deepening our understanding at each step. The different experiments in each phase should be completed with data from the same runs.
12
14
### Phase 1: finding the critical point
13
15
- Create bifurcation diagram of mean population count, varying prey death rate
14
16
- Look for critical transition
15
17
- Create log-log plot of cluster size distribution, varying prey death rate
16
18
- Look for power-law
17
-
### Phase 2: sensitivity analysis
18
-
- Show correlation between critical prey death rate and post-evolution prey death rate, varying other parameters
19
-
- Look for self-organized criticality: an SOC-system should move towards the critical point regardless of other parameters
19
+
### Phase 2: self-organization
20
+
- Measure final prey death rate after evolution
21
+
- Look for self-organized criticality: an SOC-system should move towards the critical point
22
+
### Phase 3: finite-size scaling
23
+
- Sweep of grid sizes at critical point
24
+
- Check for power-law cut-offs
25
+
### Phase 4: sensitivity analysis
20
26
- Show sensitivity of hydra effect varying other parameters
21
-
### Phase 3: perturbation analysis
27
+
- Investigate the ubiquity of the critical point across parameter regimes
28
+
- Show correlation between critical prey death rate and post-evolution prey death rate, varying other parameters
29
+
- Again look for self-organized criticality: an SOC-system should move towards the critical point regardless of other parameters
30
+
### Phase 5: perturbation analysis
22
31
- Create autocorrelation plot of mean population count, following perturbations around the critical point
23
32
- Look for critical slowing down: perturbations to states closer to the critical point should more slowly return to the steady state
24
-
### Phase 4: model extensions
33
+
- This requires time series data
34
+
### Phase 6: model extensions
25
35
- Investigate whether hydra effect and SOC still occur with diffusion and directed movement
26
36
37
+
# Todo
38
+
The main functionality is all complete. Thus, the models folder should be relatively untouched.
39
+
However, it is important to standardize experiments and analysis. The following files should be used for this.
40
+
These files should contain very little (if any) functionality outside of what is listed here.
41
+
### experiments.py
42
+
This is the file that will be run on the cluster and should generate all experiment data.
43
+
- General config class to setup experiments (grid size, parameters, sweep, evolution, repetitions, etc.)
44
+
- Config objects for each phase (see phases above)
45
+
- Function that runs the experiment based on a config object (calls run_single_simulation in parallel)
46
+
- Should save results to results folder (which can then be used by analysis.py)
47
+
- Function that runs a single simulation, saving all necessary results
48
+
- This needs functionality to run a predetermined amount of time with a warmup
49
+
- And needs functionality to dynamically run until it has found a steady state
50
+
- Should not contain any analysis (power-law fitting, bifurcation, etc.)
51
+
- Exception to this is the PCF data
52
+
- Function to estimate runtime (already exists)
53
+
- Should have argparse functionality to choose which phase to execute
54
+
- Nice-to-have: argparse functionality to create new config object for arbitrary experiments
55
+
### analysis.py
56
+
This is the file that will generate our plots and statistics for the analysis.
57
+
- Function to create bifurcation diagram to find critical point
58
+
- Function to create log-log plot to check for power-law
59
+
- Should also fit a power-function to the data (see scrips/experiments.fit_truncated_power_law)
60
+
- Function to calculate/ show similarity between post-evolution prey death rates and critical points
0 commit comments