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