vignettes/Supplemental_Information.Rmd
Supplemental_Information.Rmd
This supplemental information supports the manuscript “Component response rate variation underlies the stability of complex systems” with additional analyses to support its conclusions. All text, code, and data underlying this manuscript are publicly available on GitHub as part of the RandomMatrixStability R package.
The RandomMatrixStability package includes all functions and tools for recreating the text, this supplemental information, and running all code; additional documentation is also provided for package functions. The RandomMatrixStability package is available on GitHub; to download it, the devtools
library is needed.
install.packages("devtools"); library(devtools);
The code below installs the RandomMatrixStability package using devtools.
install_github("bradduthie/RandomMatrixStability");
Figure 4 of the main text reports the number of stable random complex systems found over 1 million iterations. The table below shows the results for all simulations of random \(\mathbf{M}\) matrices at \(\sigma_{A} = 0.4\) and \(C = 1\) given a range of \(S = \{2, 3, ..., 49, 50\}\). In this table, the A
refers to \(\mathbf{A}\) matrices where \(\gamma = 1\), while M
refers to \(\mathbf{M}\) matrices after \(\sigma^{2}_{\gamma}\) is added and \(\gamma \sim \mathcal{U}(0, 2)\). Each row summarises data for a given \(S\) over 1 million randomly simulated \(\mathbf{M}\). The column A_unstable
shows the number of \(\mathbf{A}\) matrices that are unstable, and the column A_stable
shows the number of \(\mathbf{A}\) matrices that are stable (these two columns sum to 1 million). Similarly, the column M_unstable
shows the number of \(\mathbf{M}\) matrices that are unstable and M_stable
shows the number that are stable. The columns A_stabilised
and A_destabilised
show how many \(\mathbf{M}\) matrices were stabilised or destabilised, respectively, by \(\sigma^{2}_{\gamma}\).
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 293 | 999707 | 293 | 999707 | 0 | 0 |
3 | 3602 | 996398 | 3609 | 996391 | 0 | 7 |
4 | 14937 | 985063 | 15008 | 984992 | 0 | 71 |
5 | 39289 | 960711 | 39783 | 960217 | 36 | 530 |
6 | 78845 | 921155 | 80207 | 919793 | 389 | 1751 |
7 | 133764 | 866236 | 136904 | 863096 | 1679 | 4819 |
8 | 204112 | 795888 | 208241 | 791759 | 5391 | 9520 |
9 | 288041 | 711959 | 291775 | 708225 | 12619 | 16353 |
10 | 384024 | 615976 | 384931 | 615069 | 23153 | 24060 |
11 | 485975 | 514025 | 481019 | 518981 | 35681 | 30725 |
12 | 590453 | 409547 | 577439 | 422561 | 48302 | 35288 |
13 | 689643 | 310357 | 669440 | 330560 | 57194 | 36991 |
14 | 777496 | 222504 | 751433 | 248567 | 60959 | 34896 |
15 | 850159 | 149841 | 821613 | 178387 | 58567 | 30021 |
16 | 905057 | 94943 | 877481 | 122519 | 51255 | 23679 |
17 | 943192 | 56808 | 919536 | 80464 | 40854 | 17198 |
18 | 969018 | 30982 | 949944 | 50056 | 30102 | 11028 |
19 | 984301 | 15699 | 970703 | 29297 | 20065 | 6467 |
20 | 992601 | 7399 | 983507 | 16493 | 12587 | 3493 |
21 | 996765 | 3235 | 991532 | 8468 | 7030 | 1797 |
22 | 998693 | 1307 | 995567 | 4433 | 3884 | 758 |
23 | 999503 | 497 | 997941 | 2059 | 1883 | 321 |
24 | 999861 | 139 | 999059 | 941 | 899 | 97 |
25 | 999964 | 36 | 999617 | 383 | 380 | 33 |
26 | 999993 | 7 | 999878 | 122 | 121 | 6 |
27 | 999995 | 5 | 999946 | 54 | 53 | 4 |
28 | 1000000 | 0 | 999975 | 25 | 25 | 0 |
29 | 1000000 | 0 | 999997 | 3 | 3 | 0 |
30 | 1000000 | 0 | 999999 | 1 | 1 | 0 |
31 | 1000000 | 0 | 999999 | 1 | 1 | 0 |
32 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
33 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
34 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
35 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
36 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
37 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
38 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
39 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
40 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
41 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
42 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
43 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
44 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
45 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
46 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
47 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
48 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
49 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
50 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
Overall, the ratio of stable \(\mathbf{A}\) matrices to stable \(\mathbf{M}\) matrices found is greater than 1 whenever \(S > 10\) (compare column 3 to column 5), and this ratio increases with increasing \(S\) (column 1). Hence, more randomly created complex systems (\(\mathbf{M}\)) are stable given variation in \(\gamma\) than when \(\gamma = 1\). Note that feasibility results were omitted for the table above, but are reported below.
While the foundational work of May1 applies broadly to complex networks, much attention has been given specifically to ecological networks of interacting species. In these networks, the matrix \(\mathbf{A}\) is interpreted as a community matrix and each row and column is interpreted as a single species. The per capita effect that the density of any species \(i\) has on the population dynamics of species \(j\) is found in \(A_{ij}\), meaning that \(\mathbf{A}\) holds the effects of pair-wise interactions between \(S\) species2,3. While May’s original work1 considered only randomly assembled communities, recent work has specifically looked at more restricted ecological communities including competitive networks (all off-diagonal elements of \(\mathbf{A}\) are negative), mutualist networks (all off-diagonal elements of \(\mathbf{A}\) are positive), and predator-prey networks (for any pair of \(i\) and \(j\), the effect of \(i\) on \(j\) is negative and \(j\) on \(i\) is positive, or vice versa)2,3. In general, competitor and mutualist networks tend to be unstable, while predator-prey networks tend to be highly stabilising2.
I investigated competitor, mutualist, and predator-prey networks following Allesina et al.2. To create these networks, I first generated a random matrix \(\mathbf{A}\), then changed the elements of \(\mathbf{A}\) accordingly. If \(\mathbf{A}\) was a competitive network, then the sign of any positive off-diagonal elements was reversed to be negative. If \(\mathbf{A}\) was a mutualist network, then the sign of any positive off-diagonal elements was reversed to be positive. And if \(\mathbf{A}\) was a predator-prey network, then all \(i\) and \(j\) pairs of elements were checked; any pairs of the same sign were changed so that one was negative and the other was positive.
The number of stable \(\mathbf{M = \gamma A}\) systems was calculated exactly as it was for random matrices for values of \(S\) from 2 to 50 (100 in the case of the relatively more stable predator-prey interactions), except that only 100000 random \(\mathbf{M}\) were generated instead of 1 million.
The following tables for restricted ecological communities can therefore be compared with the random \(\mathbf{M}\) results above (but note that counts from systems with comparable probabilities of stability will be an order of magnitude lower in the tables below due to the smaller number of \(\mathbf{M}\) matrices generated). As with the results above, in the tables below, A
refers to matrices \(\mathbf{A}\) when \(\gamma = 1\) and M
refers to matrices after \(\sigma^{2}_{\gamma}\) is added. The column A_unstable
shows the number of \(\mathbf{A}\) matrices that are unstable, and the column A_stable
shows the number of \(\mathbf{A}\) matrices that are stable (these two columns sum to 100000). Similarly, the column M_unstable
shows the number of \(\mathbf{M}\) matrices that are unstable and M_stable
shows the number that are stable. The columns A_stabilised
and A_destabilised
show how many \(\mathbf{A}\) matrices were stabilised or destabilised, respectively, by \(\sigma^{2}_{\gamma}\).
Results for competitor interaction networks are shown below
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 48 | 99952 | 48 | 99952 | 0 | 0 |
3 | 229 | 99771 | 231 | 99769 | 0 | 2 |
4 | 701 | 99299 | 704 | 99296 | 0 | 3 |
5 | 1579 | 98421 | 1587 | 98413 | 0 | 8 |
6 | 3218 | 96782 | 3253 | 96747 | 6 | 41 |
7 | 5519 | 94481 | 5619 | 94381 | 23 | 123 |
8 | 9062 | 90938 | 9237 | 90763 | 77 | 252 |
9 | 13436 | 86564 | 13729 | 86271 | 230 | 523 |
10 | 18911 | 81089 | 19303 | 80697 | 505 | 897 |
11 | 25594 | 74406 | 25961 | 74039 | 1011 | 1378 |
12 | 33207 | 66793 | 33382 | 66618 | 1724 | 1899 |
13 | 41160 | 58840 | 41089 | 58911 | 2655 | 2584 |
14 | 50575 | 49425 | 49894 | 50106 | 3777 | 3096 |
15 | 59250 | 40750 | 57892 | 42108 | 4824 | 3466 |
16 | 67811 | 32189 | 65740 | 34260 | 5634 | 3563 |
17 | 75483 | 24517 | 73056 | 26944 | 5943 | 3516 |
18 | 82551 | 17449 | 79878 | 20122 | 5780 | 3107 |
19 | 88030 | 11970 | 85204 | 14796 | 5417 | 2591 |
20 | 92254 | 7746 | 89766 | 10234 | 4544 | 2056 |
21 | 95233 | 4767 | 93002 | 6998 | 3695 | 1464 |
22 | 97317 | 2683 | 95451 | 4549 | 2803 | 937 |
23 | 98508 | 1492 | 97122 | 2878 | 1991 | 605 |
24 | 99240 | 760 | 98407 | 1593 | 1216 | 383 |
25 | 99669 | 331 | 99082 | 918 | 739 | 152 |
26 | 99871 | 129 | 99490 | 510 | 452 | 71 |
27 | 99938 | 62 | 99732 | 268 | 240 | 34 |
28 | 99985 | 15 | 99888 | 112 | 108 | 11 |
29 | 99990 | 10 | 99951 | 49 | 46 | 7 |
30 | 100000 | 0 | 99981 | 19 | 19 | 0 |
31 | 100000 | 0 | 99993 | 7 | 7 | 0 |
32 | 100000 | 0 | 99996 | 4 | 4 | 0 |
33 | 100000 | 0 | 99998 | 2 | 2 | 0 |
34 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
50 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Results for mutualist interaction networks are shown below
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 56 | 99944 | 56 | 99944 | 0 | 0 |
3 | 3301 | 96699 | 3301 | 96699 | 0 | 0 |
4 | 34446 | 65554 | 34446 | 65554 | 0 | 0 |
5 | 86520 | 13480 | 86520 | 13480 | 0 | 0 |
6 | 99683 | 317 | 99683 | 317 | 0 | 0 |
7 | 99998 | 2 | 99998 | 2 | 0 | 0 |
8 | 100000 | 0 | 100000 | 0 | 0 | 0 |
9 | 100000 | 0 | 100000 | 0 | 0 | 0 |
10 | 100000 | 0 | 100000 | 0 | 0 | 0 |
11 | 100000 | 0 | 100000 | 0 | 0 | 0 |
12 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
50 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Results for predator-prey interaction networks are shown below
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 0 | 100000 | 0 | 100000 | 0 | 0 |
3 | 0 | 100000 | 0 | 100000 | 0 | 0 |
4 | 0 | 100000 | 0 | 100000 | 0 | 0 |
5 | 1 | 99999 | 1 | 99999 | 0 | 0 |
6 | 4 | 99996 | 4 | 99996 | 0 | 0 |
7 | 2 | 99998 | 2 | 99998 | 0 | 0 |
8 | 5 | 99995 | 5 | 99995 | 0 | 0 |
9 | 20 | 99980 | 21 | 99979 | 0 | 1 |
10 | 20 | 99980 | 22 | 99978 | 0 | 2 |
11 | 38 | 99962 | 39 | 99961 | 0 | 1 |
12 | 64 | 99936 | 66 | 99934 | 0 | 2 |
13 | 87 | 99913 | 91 | 99909 | 0 | 4 |
14 | 157 | 99843 | 159 | 99841 | 0 | 2 |
15 | 215 | 99785 | 227 | 99773 | 0 | 12 |
16 | 293 | 99707 | 310 | 99690 | 0 | 17 |
17 | 383 | 99617 | 408 | 99592 | 0 | 25 |
18 | 443 | 99557 | 473 | 99527 | 3 | 33 |
19 | 642 | 99358 | 675 | 99325 | 4 | 37 |
20 | 836 | 99164 | 887 | 99113 | 7 | 58 |
21 | 1006 | 98994 | 1058 | 98942 | 10 | 62 |
22 | 1153 | 98847 | 1228 | 98772 | 20 | 95 |
23 | 1501 | 98499 | 1593 | 98407 | 30 | 122 |
24 | 1841 | 98159 | 1996 | 98004 | 40 | 195 |
25 | 2146 | 97854 | 2316 | 97684 | 58 | 228 |
26 | 2643 | 97357 | 2809 | 97191 | 119 | 285 |
27 | 3034 | 96966 | 3258 | 96742 | 158 | 382 |
28 | 3690 | 96310 | 3928 | 96072 | 201 | 439 |
29 | 4257 | 95743 | 4532 | 95468 | 290 | 565 |
30 | 4964 | 95036 | 5221 | 94779 | 424 | 681 |
31 | 5627 | 94373 | 5978 | 94022 | 452 | 803 |
32 | 6543 | 93457 | 6891 | 93109 | 666 | 1014 |
33 | 7425 | 92575 | 7777 | 92223 | 818 | 1170 |
34 | 8540 | 91460 | 8841 | 91159 | 1071 | 1372 |
35 | 9526 | 90474 | 9842 | 90158 | 1337 | 1653 |
36 | 10617 | 89383 | 10891 | 89109 | 1624 | 1898 |
37 | 12344 | 87656 | 12508 | 87492 | 2021 | 2185 |
38 | 13675 | 86325 | 13877 | 86123 | 2442 | 2644 |
39 | 15264 | 84736 | 15349 | 84651 | 2870 | 2955 |
40 | 17026 | 82974 | 17053 | 82947 | 3363 | 3390 |
41 | 18768 | 81232 | 18614 | 81386 | 3905 | 3751 |
42 | 20791 | 79209 | 20470 | 79530 | 4579 | 4258 |
43 | 23150 | 76850 | 22754 | 77246 | 5217 | 4821 |
44 | 25449 | 74551 | 24184 | 75816 | 6285 | 5020 |
45 | 27702 | 72298 | 26464 | 73536 | 6754 | 5516 |
46 | 30525 | 69475 | 28966 | 71034 | 7646 | 6087 |
47 | 32832 | 67168 | 31125 | 68875 | 8487 | 6780 |
48 | 36152 | 63848 | 33865 | 66135 | 9479 | 7192 |
49 | 38714 | 61286 | 36242 | 63758 | 10125 | 7653 |
50 | 41628 | 58372 | 38508 | 61492 | 11036 | 7916 |
51 | 44483 | 55517 | 41023 | 58977 | 11704 | 8244 |
52 | 48134 | 51866 | 44287 | 55713 | 12573 | 8726 |
53 | 51138 | 48862 | 46721 | 53279 | 13223 | 8806 |
54 | 54261 | 45739 | 49559 | 50441 | 13757 | 9055 |
55 | 57647 | 42353 | 52403 | 47597 | 14324 | 9080 |
56 | 60630 | 39370 | 55293 | 44707 | 14669 | 9332 |
57 | 63647 | 36353 | 57787 | 42213 | 15103 | 9243 |
58 | 66961 | 33039 | 60439 | 39561 | 15450 | 8928 |
59 | 69968 | 30032 | 63708 | 36292 | 15246 | 8986 |
60 | 72838 | 27162 | 66270 | 33730 | 15177 | 8609 |
61 | 75609 | 24391 | 68873 | 31127 | 15006 | 8270 |
62 | 77999 | 22001 | 71318 | 28682 | 14538 | 7857 |
63 | 80616 | 19384 | 73517 | 26483 | 14510 | 7411 |
64 | 83089 | 16911 | 76209 | 23791 | 13784 | 6904 |
65 | 85150 | 14850 | 78086 | 21914 | 13412 | 6348 |
66 | 86908 | 13092 | 80437 | 19563 | 12477 | 6006 |
67 | 88671 | 11329 | 82379 | 17621 | 11718 | 5426 |
68 | 90537 | 9463 | 84483 | 15517 | 10878 | 4824 |
69 | 91969 | 8031 | 86233 | 13767 | 10033 | 4297 |
70 | 93181 | 6819 | 87914 | 12086 | 9070 | 3803 |
71 | 94330 | 5670 | 89200 | 10800 | 8401 | 3271 |
72 | 95324 | 4676 | 90833 | 9167 | 7359 | 2868 |
73 | 96143 | 3857 | 91805 | 8195 | 6726 | 2388 |
74 | 96959 | 3041 | 93065 | 6935 | 5900 | 2006 |
75 | 97543 | 2457 | 93987 | 6013 | 5222 | 1666 |
76 | 97969 | 2031 | 94900 | 5100 | 4481 | 1412 |
77 | 98497 | 1503 | 95756 | 4244 | 3809 | 1068 |
78 | 98744 | 1256 | 96442 | 3558 | 3269 | 967 |
79 | 99045 | 955 | 96942 | 3058 | 2837 | 734 |
80 | 99276 | 724 | 97528 | 2472 | 2329 | 581 |
81 | 99481 | 519 | 97996 | 2004 | 1894 | 409 |
82 | 99556 | 444 | 98321 | 1679 | 1597 | 362 |
83 | 99691 | 309 | 98722 | 1278 | 1227 | 258 |
84 | 99752 | 248 | 98943 | 1057 | 1015 | 206 |
85 | 99833 | 167 | 99144 | 856 | 837 | 148 |
86 | 99895 | 105 | 99346 | 654 | 642 | 93 |
87 | 99925 | 75 | 99461 | 539 | 530 | 66 |
88 | 99945 | 55 | 99566 | 434 | 428 | 49 |
89 | 99976 | 24 | 99675 | 325 | 324 | 23 |
90 | 99977 | 23 | 99756 | 244 | 243 | 22 |
91 | 99982 | 18 | 99839 | 161 | 155 | 12 |
92 | 99988 | 12 | 99865 | 135 | 135 | 12 |
93 | 99994 | 6 | 99885 | 115 | 115 | 6 |
94 | 99993 | 7 | 99911 | 89 | 88 | 6 |
95 | 99998 | 2 | 99953 | 47 | 47 | 2 |
96 | 99999 | 1 | 99965 | 35 | 35 | 1 |
97 | 99999 | 1 | 99979 | 21 | 21 | 1 |
98 | 100000 | 0 | 99973 | 27 | 27 | 0 |
99 | 100000 | 0 | 99984 | 16 | 16 | 0 |
100 | 100000 | 0 | 99989 | 11 | 11 | 0 |
Overall, as expected2, predator-prey communities are relatively stable while mutualist communties are highly unstable. But interestingly, while \(\sigma^{2}_{\gamma}\) stabilises predator-prey and competitor communities, it does not stabilise mutualist communities. This is unsurprising because purely mutualist communities are characterised by a very positive2 leading \(\Re(\lambda)\), and it is highly unlikely that \(\sigma^{2}_{\gamma}\) alone will shift all real parts of eigenvalues to negative values.
In the main text, for simplicity, I assumed connectance values of \(C = 1\), meaning that all off-diagonal elements of a matrix \(\mathbf{M}\) were potentially nonzero and sampled from a normal distribution \(\mathcal{N}(0, \sigma^{2}_{A})\) where \(\sigma_{A} = 0.4\). Here I present four tables showing the number of stable communities given \(C = \{0.3, 0. 5, 0.7, 0.9 \}\). In all cases, uniform variation in component response rate (\(\gamma \sim \mathcal{U}(0, 2)\)) led to a higher number of stable communities than when \(\gamma\) did not vary (\(\gamma = 1\)). In contrast to the main text, 100000 rather than 1 million \(\mathbf{M}\) were simulated. As with the results on stability with increasing \(S\) shown above, in the tables below A
refers to \(\mathbf{A}\) matrices when \(\gamma = 1\), and M
refers to \(\mathbf{M}\) matrices after \(\sigma^{2}_{\gamma}\) is added. The column A_unstable
shows the number of \(\mathbf{A}\) matrices that are unstable, and the column A_stable
shows the number of \(\mathbf{A}\) matrices that are stable (these two columns sum to 100000). Similarly, the column M_unstable
shows the number of \(\mathbf{M}\) matrices that are unstable and M_stable
shows the number that are stable. The columns A_stabilised
and A_destabilised
show how many \(\mathbf{A}\) matrices were stabilised or destabilised, respectively, by \(\sigma^{2}_{\gamma}\).
Connectance \(\mathbf{C = 0.3}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 5 | 99995 | 5 | 99995 | 0 | 0 |
3 | 6 | 99994 | 6 | 99994 | 0 | 0 |
4 | 24 | 99976 | 24 | 99976 | 0 | 0 |
5 | 59 | 99941 | 59 | 99941 | 0 | 0 |
6 | 98 | 99902 | 98 | 99902 | 0 | 0 |
7 | 160 | 99840 | 161 | 99839 | 0 | 1 |
8 | 290 | 99710 | 293 | 99707 | 0 | 3 |
9 | 430 | 99570 | 434 | 99566 | 0 | 4 |
10 | 648 | 99352 | 653 | 99347 | 1 | 6 |
11 | 946 | 99054 | 957 | 99043 | 0 | 11 |
12 | 1392 | 98608 | 1415 | 98585 | 4 | 27 |
13 | 2032 | 97968 | 2065 | 97935 | 5 | 38 |
14 | 2627 | 97373 | 2688 | 97312 | 10 | 71 |
15 | 3588 | 96412 | 3647 | 96353 | 35 | 94 |
16 | 5019 | 94981 | 5124 | 94876 | 51 | 156 |
17 | 6512 | 93488 | 6673 | 93327 | 79 | 240 |
18 | 8444 | 91556 | 8600 | 91400 | 165 | 321 |
19 | 10416 | 89584 | 10667 | 89333 | 244 | 495 |
20 | 13254 | 86746 | 13477 | 86523 | 425 | 648 |
21 | 16248 | 83752 | 16481 | 83519 | 642 | 875 |
22 | 19497 | 80503 | 19719 | 80281 | 929 | 1151 |
23 | 23654 | 76346 | 23776 | 76224 | 1368 | 1490 |
24 | 28485 | 71515 | 28389 | 71611 | 1914 | 1818 |
25 | 32774 | 67226 | 32483 | 67517 | 2428 | 2137 |
26 | 38126 | 61874 | 37411 | 62589 | 3221 | 2506 |
27 | 43435 | 56565 | 42418 | 57582 | 3828 | 2811 |
28 | 49333 | 50667 | 47840 | 52160 | 4565 | 3072 |
29 | 55389 | 44611 | 53381 | 46619 | 5329 | 3321 |
30 | 60826 | 39174 | 58388 | 41612 | 5918 | 3480 |
31 | 66820 | 33180 | 64043 | 35957 | 6345 | 3568 |
32 | 72190 | 27810 | 69036 | 30964 | 6685 | 3531 |
33 | 77053 | 22947 | 73587 | 26413 | 6826 | 3360 |
34 | 81816 | 18184 | 78157 | 21843 | 6673 | 3014 |
35 | 85651 | 14349 | 82041 | 17959 | 6383 | 2773 |
36 | 88985 | 11015 | 85657 | 14343 | 5721 | 2393 |
37 | 92072 | 7928 | 88805 | 11195 | 5180 | 1913 |
38 | 94329 | 5671 | 91444 | 8556 | 4451 | 1566 |
39 | 95912 | 4088 | 93295 | 6705 | 3804 | 1187 |
40 | 97232 | 2768 | 95201 | 4799 | 2967 | 936 |
41 | 98179 | 1821 | 96506 | 3494 | 2356 | 683 |
42 | 98826 | 1174 | 97489 | 2511 | 1786 | 449 |
43 | 99275 | 725 | 98312 | 1688 | 1251 | 288 |
44 | 99583 | 417 | 98872 | 1128 | 903 | 192 |
45 | 99776 | 224 | 99339 | 661 | 576 | 139 |
46 | 99865 | 135 | 99518 | 482 | 413 | 66 |
47 | 99938 | 62 | 99744 | 256 | 226 | 32 |
48 | 99956 | 44 | 99824 | 176 | 151 | 19 |
49 | 99980 | 20 | 99914 | 86 | 85 | 19 |
50 | 99993 | 7 | 99950 | 50 | 46 | 3 |
51 | 99998 | 2 | 99971 | 29 | 28 | 1 |
52 | 99998 | 2 | 99986 | 14 | 14 | 2 |
53 | 99999 | 1 | 99992 | 8 | 7 | 0 |
54 | 100000 | 0 | 99997 | 3 | 3 | 0 |
55 | 100000 | 0 | 99999 | 1 | 1 | 0 |
56 | 100000 | 0 | 99998 | 2 | 2 | 0 |
57 | 100000 | 0 | 99999 | 1 | 1 | 0 |
58 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
100 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Connectance \(\mathbf{C = 0.5}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 7 | 99993 | 7 | 99993 | 0 | 0 |
3 | 32 | 99968 | 32 | 99968 | 0 | 0 |
4 | 122 | 99878 | 122 | 99878 | 0 | 0 |
5 | 320 | 99680 | 321 | 99679 | 0 | 1 |
6 | 667 | 99333 | 673 | 99327 | 0 | 6 |
7 | 1233 | 98767 | 1252 | 98748 | 0 | 19 |
8 | 2123 | 97877 | 2156 | 97844 | 3 | 36 |
9 | 3415 | 96585 | 3471 | 96529 | 16 | 72 |
10 | 5349 | 94651 | 5450 | 94550 | 30 | 131 |
11 | 7990 | 92010 | 8185 | 91815 | 81 | 276 |
12 | 11073 | 88927 | 11301 | 88699 | 219 | 447 |
13 | 14971 | 85029 | 15204 | 84796 | 445 | 678 |
14 | 19754 | 80246 | 19992 | 80008 | 764 | 1002 |
15 | 25020 | 74980 | 25239 | 74761 | 1185 | 1404 |
16 | 30860 | 69140 | 30938 | 69062 | 1902 | 1980 |
17 | 37844 | 62156 | 37562 | 62438 | 2758 | 2476 |
18 | 44909 | 55091 | 44251 | 55749 | 3595 | 2937 |
19 | 52322 | 47678 | 51011 | 48989 | 4573 | 3262 |
20 | 60150 | 39850 | 58295 | 41705 | 5382 | 3527 |
21 | 67147 | 32853 | 64895 | 35105 | 5925 | 3673 |
22 | 74177 | 25823 | 71358 | 28642 | 6310 | 3491 |
23 | 80297 | 19703 | 77034 | 22966 | 6507 | 3244 |
24 | 85372 | 14628 | 82039 | 17961 | 6209 | 2876 |
25 | 89719 | 10281 | 86539 | 13461 | 5562 | 2382 |
26 | 92947 | 7053 | 90141 | 9859 | 4707 | 1901 |
27 | 95436 | 4564 | 92950 | 7050 | 3844 | 1358 |
28 | 97196 | 2804 | 95171 | 4829 | 2999 | 974 |
29 | 98300 | 1700 | 96842 | 3158 | 2115 | 657 |
30 | 99103 | 897 | 98033 | 1967 | 1466 | 396 |
31 | 99502 | 498 | 98665 | 1335 | 1068 | 231 |
32 | 99745 | 255 | 99185 | 815 | 696 | 136 |
33 | 99881 | 119 | 99572 | 428 | 375 | 66 |
34 | 99955 | 45 | 99788 | 212 | 191 | 24 |
35 | 99979 | 21 | 99900 | 100 | 95 | 16 |
36 | 99995 | 5 | 99950 | 50 | 50 | 5 |
37 | 99997 | 3 | 99970 | 30 | 28 | 1 |
38 | 99998 | 2 | 99986 | 14 | 13 | 1 |
39 | 99999 | 1 | 99991 | 9 | 9 | 1 |
40 | 100000 | 0 | 100000 | 0 | 0 | 0 |
41 | 100000 | 0 | 99999 | 1 | 1 | 0 |
42 | 100000 | 0 | 99999 | 1 | 1 | 0 |
43 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
50 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Connectance \(\mathbf{C = 0.7}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 7 | 99993 | 7 | 99993 | 0 | 0 |
3 | 106 | 99894 | 106 | 99894 | 0 | 0 |
4 | 395 | 99605 | 397 | 99603 | 0 | 2 |
5 | 1117 | 98883 | 1123 | 98877 | 0 | 6 |
6 | 2346 | 97654 | 2367 | 97633 | 6 | 27 |
7 | 4314 | 95686 | 4388 | 95612 | 16 | 90 |
8 | 7327 | 92673 | 7456 | 92544 | 61 | 190 |
9 | 11514 | 88486 | 11792 | 88208 | 150 | 428 |
10 | 16247 | 83753 | 16584 | 83416 | 415 | 752 |
11 | 22481 | 77519 | 22759 | 77241 | 884 | 1162 |
12 | 29459 | 70541 | 29729 | 70271 | 1548 | 1818 |
13 | 37631 | 62369 | 37567 | 62433 | 2419 | 2355 |
14 | 46317 | 53683 | 45696 | 54304 | 3548 | 2927 |
15 | 54945 | 45055 | 53695 | 46305 | 4671 | 3421 |
16 | 63683 | 36317 | 61643 | 38357 | 5567 | 3527 |
17 | 72004 | 27996 | 69375 | 30625 | 6124 | 3495 |
18 | 79220 | 20780 | 76158 | 23842 | 6413 | 3351 |
19 | 85286 | 14714 | 82283 | 17717 | 5982 | 2979 |
20 | 90240 | 9760 | 87181 | 12819 | 5398 | 2339 |
21 | 93676 | 6324 | 91077 | 8923 | 4468 | 1869 |
22 | 96203 | 3797 | 94045 | 5955 | 3425 | 1267 |
23 | 97866 | 2134 | 96161 | 3839 | 2496 | 791 |
24 | 98842 | 1158 | 97633 | 2367 | 1713 | 504 |
25 | 99433 | 567 | 98630 | 1370 | 1079 | 276 |
26 | 99760 | 240 | 99259 | 741 | 655 | 154 |
27 | 99895 | 105 | 99576 | 424 | 377 | 58 |
28 | 99950 | 50 | 99790 | 210 | 194 | 34 |
29 | 99981 | 19 | 99915 | 85 | 80 | 14 |
30 | 99994 | 6 | 99952 | 48 | 47 | 5 |
31 | 99998 | 2 | 99972 | 28 | 28 | 2 |
32 | 99999 | 1 | 99992 | 8 | 8 | 1 |
33 | 100000 | 0 | 99997 | 3 | 3 | 0 |
34 | 100000 | 0 | 99999 | 1 | 1 | 0 |
35 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
50 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Connectance \(\mathbf{C = 0.9}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 14 | 99986 | 14 | 99986 | 0 | 0 |
3 | 240 | 99760 | 240 | 99760 | 0 | 0 |
4 | 1008 | 98992 | 1016 | 98984 | 0 | 8 |
5 | 2708 | 97292 | 2729 | 97271 | 2 | 23 |
6 | 5669 | 94331 | 5755 | 94245 | 13 | 99 |
7 | 9848 | 90152 | 10057 | 89943 | 91 | 300 |
8 | 15903 | 84097 | 16201 | 83799 | 336 | 634 |
9 | 22707 | 77293 | 23110 | 76890 | 765 | 1168 |
10 | 30796 | 69204 | 31122 | 68878 | 1526 | 1852 |
11 | 40224 | 59776 | 40082 | 59918 | 2649 | 2507 |
12 | 49934 | 50066 | 49288 | 50712 | 3773 | 3127 |
13 | 60138 | 39862 | 58803 | 41197 | 4984 | 3649 |
14 | 69100 | 30900 | 67110 | 32890 | 5755 | 3765 |
15 | 77607 | 22393 | 74884 | 25116 | 6273 | 3550 |
16 | 84663 | 15337 | 81780 | 18220 | 5975 | 3092 |
17 | 90075 | 9925 | 87290 | 12710 | 5209 | 2424 |
18 | 93944 | 6056 | 91419 | 8581 | 4271 | 1746 |
19 | 96650 | 3350 | 94530 | 5470 | 3287 | 1167 |
20 | 98160 | 1840 | 96698 | 3302 | 2191 | 729 |
21 | 99111 | 889 | 98133 | 1867 | 1389 | 411 |
22 | 99588 | 412 | 98905 | 1095 | 903 | 220 |
23 | 99837 | 163 | 99480 | 520 | 452 | 95 |
24 | 99932 | 68 | 99744 | 256 | 228 | 40 |
25 | 99976 | 24 | 99863 | 137 | 133 | 20 |
26 | 99995 | 5 | 99950 | 50 | 49 | 4 |
27 | 99996 | 4 | 99986 | 14 | 13 | 3 |
28 | 100000 | 0 | 99993 | 7 | 7 | 0 |
29 | 100000 | 0 | 99996 | 4 | 4 | 0 |
30 | 100000 | 0 | 99998 | 2 | 2 | 0 |
31 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
50 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Results below show stability results given varying interaction strengths (\(\sigma_{A}\)) for \(C = 0.05\) (note that system size \(S\) values are larger and increase by 10 with increasing rows). In the tables below (as above), A
and M
refers to matrices for \(\gamma = 1\) and \(\sigma^{2}_{\gamma}\), respectively.
Interaction strength \(\mathbf{\sigma_{A} = 0.3}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
10 | 0 | 100000 | 0 | 100000 | 0 | 0 |
20 | 0 | 100000 | 0 | 100000 | 0 | 0 |
30 | 0 | 100000 | 0 | 100000 | 0 | 0 |
40 | 0 | 100000 | 0 | 100000 | 0 | 0 |
50 | 0 | 100000 | 0 | 100000 | 0 | 0 |
60 | 2 | 99998 | 2 | 99998 | 0 | 0 |
70 | 4 | 99996 | 4 | 99996 | 0 | 0 |
80 | 6 | 99994 | 6 | 99994 | 0 | 0 |
90 | 5 | 99995 | 5 | 99995 | 0 | 0 |
100 | 11 | 99989 | 11 | 99989 | 0 | 0 |
110 | 12 | 99988 | 13 | 99987 | 0 | 1 |
120 | 23 | 99977 | 23 | 99977 | 0 | 0 |
130 | 40 | 99960 | 40 | 99960 | 0 | 0 |
140 | 62 | 99938 | 65 | 99935 | 0 | 3 |
150 | 162 | 99838 | 165 | 99835 | 0 | 3 |
160 | 325 | 99675 | 329 | 99671 | 2 | 6 |
170 | 829 | 99171 | 851 | 99149 | 6 | 28 |
180 | 1817 | 98183 | 1860 | 98140 | 31 | 74 |
190 | 3927 | 96073 | 3989 | 96011 | 143 | 205 |
200 | 8084 | 91916 | 8048 | 91952 | 557 | 521 |
210 | 15558 | 84442 | 15147 | 84853 | 1534 | 1123 |
220 | 26848 | 73152 | 25342 | 74658 | 3625 | 2119 |
230 | 43386 | 56614 | 39535 | 60465 | 6992 | 3141 |
240 | 62734 | 37266 | 56684 | 43316 | 9815 | 3765 |
250 | 80128 | 19872 | 73080 | 26920 | 10128 | 3080 |
260 | 92206 | 7794 | 86619 | 13381 | 7490 | 1903 |
270 | 97946 | 2054 | 94824 | 5176 | 3797 | 675 |
280 | 99659 | 341 | 98534 | 1466 | 1265 | 140 |
290 | 99962 | 38 | 99696 | 304 | 281 | 15 |
300 | 99994 | 6 | 99964 | 36 | 34 | 4 |
Interaction strength \(\mathbf{\sigma_{A} = 0.4}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
10 | 3 | 99997 | 3 | 99997 | 0 | 0 |
20 | 15 | 99985 | 15 | 99985 | 0 | 0 |
30 | 48 | 99952 | 48 | 99952 | 0 | 0 |
40 | 85 | 99915 | 85 | 99915 | 0 | 0 |
50 | 163 | 99837 | 163 | 99837 | 0 | 0 |
60 | 280 | 99720 | 282 | 99718 | 0 | 2 |
70 | 561 | 99439 | 566 | 99434 | 3 | 8 |
80 | 1009 | 98991 | 1029 | 98971 | 6 | 26 |
90 | 2126 | 97874 | 2175 | 97825 | 31 | 80 |
100 | 4580 | 95420 | 4653 | 95347 | 142 | 215 |
110 | 9540 | 90460 | 9632 | 90368 | 465 | 557 |
120 | 19090 | 80910 | 18668 | 81332 | 1676 | 1254 |
130 | 35047 | 64953 | 33220 | 66780 | 4172 | 2345 |
140 | 56411 | 43589 | 52439 | 47561 | 7297 | 3325 |
150 | 78003 | 21997 | 72574 | 27426 | 8477 | 3048 |
160 | 92678 | 7322 | 88438 | 11562 | 5901 | 1661 |
170 | 98614 | 1386 | 96670 | 3330 | 2397 | 453 |
180 | 99839 | 161 | 99418 | 582 | 499 | 78 |
190 | 99990 | 10 | 99945 | 55 | 52 | 7 |
200 | 100000 | 0 | 99995 | 5 | 5 | 0 |
210 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
300 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Interaction strength \(\mathbf{\sigma_{A} = 0.5}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
10 | 36 | 99964 | 36 | 99964 | 0 | 0 |
20 | 195 | 99805 | 195 | 99805 | 0 | 0 |
30 | 519 | 99481 | 523 | 99477 | 0 | 4 |
40 | 1096 | 98904 | 1101 | 98899 | 2 | 7 |
50 | 2375 | 97625 | 2397 | 97603 | 9 | 31 |
60 | 4898 | 95102 | 4968 | 95032 | 83 | 153 |
70 | 10841 | 89159 | 10916 | 89084 | 432 | 507 |
80 | 22281 | 77719 | 21988 | 78012 | 1622 | 1329 |
90 | 42010 | 57990 | 39998 | 60002 | 4458 | 2446 |
100 | 67289 | 32711 | 63098 | 36902 | 7153 | 2962 |
110 | 88137 | 11863 | 84023 | 15977 | 6108 | 1994 |
120 | 97678 | 2322 | 95557 | 4443 | 2740 | 619 |
130 | 99795 | 205 | 99304 | 696 | 578 | 87 |
140 | 99989 | 11 | 99948 | 52 | 49 | 8 |
150 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
300 | 100000 | 0 | 100000 | 0 | 0 | 0 |
Interaction strength \(\mathbf{\sigma_{A} = 0.6}\)
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
10 | 162 | 99838 | 162 | 99838 | 0 | 0 |
20 | 798 | 99202 | 799 | 99201 | 0 | 1 |
30 | 2273 | 97727 | 2289 | 97711 | 6 | 22 |
40 | 5259 | 94741 | 5298 | 94702 | 70 | 109 |
50 | 12084 | 87916 | 12054 | 87946 | 446 | 416 |
60 | 26072 | 73928 | 25511 | 74489 | 1810 | 1249 |
70 | 50121 | 49879 | 47747 | 52253 | 4748 | 2374 |
80 | 77806 | 22194 | 73810 | 26190 | 6421 | 2425 |
90 | 94862 | 5138 | 92069 | 7931 | 3842 | 1049 |
100 | 99527 | 473 | 98822 | 1178 | 870 | 165 |
110 | 99984 | 16 | 99912 | 88 | 80 | 8 |
120 | 100000 | 0 | 99998 | 2 | 2 | 0 |
130 | 100000 | 0 | 100000 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
300 | 100000 | 0 | 100000 | 0 | 0 | 0 |
In the main text, I considered a uniform distribution of component response rates \(\gamma \sim \mathcal{U}(0, 2)\). The number of unstable and stable \(\mathbf{M}\) matrices are reported in a table above across different values of \(S\). Here I show complementary results for three different distributions including an exponential, beta, and gamma distribution of \(\gamma\) values. The shape of these distributions is shown in the figure below.
Distributions of component response rate (\(\boldsymbol{\gamma}\)) values in complex systems. The stabilities of simulated complex systems with these \(\gamma\) distributions are compared to identical systems in which \(\gamma = 1\) across different system sizes (\(S\); i.e., component numbers) given a unit \(\gamma\) standard deviation (\(\sigma_{\gamma} = 1\)) for b-d. Distributions are as follows: (a) uniform, (b) exponential, (c) beta (\(\alpha = 0.5\) and \(\beta = 0.5\)), and (d) gamma (\(k = 2\) and \(\theta = 2\)). Each panel shows 1 million randomly generated \(\gamma\) values.
The stability of \(\mathbf{A}\) versus \(\mathbf{M}\) was investigated for each of the distributions of \(\gamma\) shown in panels b-d above. The table below shows the number of \(\mathbf{A}\) versus \(\mathbf{M}\) that were stable for the exponential (exp), beta, and gamma distributions.
S | exp_A | exp_M | beta_A | beta_M | gamma_A | gamma_M |
---|---|---|---|---|---|---|
2 | 99965 | 99965 | 99974 | 99974 | 99977 | 99977 |
3 | 99636 | 99635 | 99650 | 99648 | 99628 | 99628 |
4 | 98576 | 98564 | 98482 | 98470 | 98508 | 98492 |
5 | 96053 | 95971 | 96156 | 96096 | 96068 | 96004 |
6 | 92036 | 91867 | 92104 | 91927 | 92233 | 92029 |
7 | 86667 | 86333 | 86456 | 86070 | 86604 | 86161 |
8 | 79670 | 79153 | 79392 | 78822 | 79393 | 78771 |
9 | 71389 | 70911 | 70998 | 70529 | 71070 | 70548 |
10 | 61674 | 61609 | 61794 | 61586 | 61265 | 61093 |
11 | 51150 | 51935 | 51352 | 51924 | 51313 | 51951 |
12 | 41209 | 42925 | 40954 | 42670 | 40708 | 42183 |
13 | 30827 | 33462 | 30969 | 33770 | 31046 | 33522 |
14 | 22203 | 25767 | 22208 | 25629 | 22342 | 25435 |
15 | 15003 | 18877 | 15206 | 18913 | 15025 | 18464 |
16 | 9613 | 13372 | 9504 | 13357 | 9418 | 12737 |
17 | 5579 | 8967 | 5570 | 8976 | 5719 | 8487 |
18 | 3104 | 5833 | 3048 | 5853 | 3060 | 5447 |
19 | 1516 | 3578 | 1553 | 3633 | 1600 | 3185 |
20 | 717 | 2067 | 799 | 2179 | 769 | 1862 |
21 | 312 | 1196 | 310 | 1200 | 331 | 1039 |
22 | 129 | 643 | 128 | 654 | 135 | 510 |
23 | 48 | 321 | 48 | 359 | 57 | 242 |
24 | 11 | 161 | 19 | 159 | 20 | 120 |
25 | 1 | 59 | 5 | 81 | 7 | 45 |
26 | 0 | 30 | 0 | 48 | 0 | 22 |
27 | 0 | 10 | 0 | 16 | 0 | 6 |
28 | 1 | 3 | 2 | 2 | 0 | 3 |
29 | 0 | 2 | 0 | 0 | 0 | 0 |
30 | 0 | 0 | 0 | 1 | 0 | 0 |
31 | 0 | 0 | 0 | 1 | 0 | 0 |
32 | 0 | 0 | 0 | 0 | 0 | 0 |
… | … | … | … | … | … | … |
50 | 0 | 0 | 0 | 0 | 0 | 0 |
In comparison to the uniform distribution (a), proportionally fewer random systems are found with the exponential distribution (b), while more are found with the beta (c) and gamma (d) distributions.
I tested the stability of one million random, small-world, scale-free, and cascade food web networks for different network parameters. Each of these networks is structured differently. In the main text, the random networks and cascade food webs that I built were saturated (\(C = 1\)), meaning that every component was connected to, and interacted with, every other component (see immediately below).
Small-world networks, in contrast, are not saturated. They are instead defined by components that interact mostly with other closely neighbouring components, but have a proportion of interactions (\(\beta\)) that are instead between non-neighbours4. Two small-world networks are shown below.
The small-world network on the left shows a system in which \(\beta = 0.01\), while the small-world network on the right shows one in which \(\beta = 0.1\). At the extremes of \(\beta = 0\) and \(\beta = 1\), networks are regular and random, respectively. The table below shows how \(\sigma^{2}_\gamma\) affects stability in small world networks across different values of \(S\) and \(\beta\).
beta | S | A_unstable | A_stable | M_unstable | M_stable | complex_A | complex_M | C |
---|---|---|---|---|---|---|---|---|
0.00 | 24 | 17388 | 982612 | 17446 | 982554 | 0.5748066 | 0.6582632 | 0.1304348 |
0.00 | 48 | 258024 | 741976 | 260579 | 739421 | 0.8073918 | 0.9294192 | 0.1063830 |
0.00 | 72 | 715036 | 284964 | 722639 | 277361 | 0.9860840 | 1.1364805 | 0.0985915 |
0.00 | 96 | 961434 | 38566 | 962788 | 37212 | 1.1369395 | 1.3110263 | 0.0947368 |
0.00 | 120 | 999008 | 992 | 998857 | 1143 | 1.2700387 | 1.4649832 | 0.0924370 |
0.00 | 144 | 999997 | 3 | 999994 | 6 | 1.3903192 | 1.6041216 | 0.0909091 |
0.00 | 168 | 1000000 | 0 | 1000000 | 0 | 1.5010334 | 1.7320676 | 0.0898204 |
0.01 | 24 | 17673 | 982327 | 17720 | 982280 | 0.5747156 | 0.6581503 | 0.1304319 |
0.01 | 48 | 255038 | 744962 | 257647 | 742353 | 0.8073388 | 0.9292952 | 0.1063800 |
0.01 | 72 | 708892 | 291108 | 716829 | 283171 | 0.9859457 | 1.1363940 | 0.0985884 |
0.01 | 96 | 960635 | 39365 | 961876 | 38124 | 1.1370640 | 1.3112193 | 0.0947337 |
0.01 | 120 | 999040 | 960 | 998794 | 1206 | 1.2698715 | 1.4648280 | 0.0924338 |
0.01 | 144 | 999997 | 3 | 999994 | 6 | 1.3901601 | 1.6039285 | 0.0909060 |
0.01 | 168 | 1000000 | 0 | 1000000 | 0 | 1.5009490 | 1.7319739 | 0.0898173 |
0.10 | 24 | 20382 | 979618 | 20455 | 979545 | 0.5742520 | 0.6573563 | 0.1302974 |
0.10 | 48 | 237747 | 762253 | 240370 | 759630 | 0.8066604 | 0.9284434 | 0.1062311 |
0.10 | 72 | 679874 | 320126 | 685575 | 314425 | 0.9849695 | 1.1352553 | 0.0984349 |
0.10 | 96 | 961984 | 38016 | 960128 | 39872 | 1.1358912 | 1.3097957 | 0.0945788 |
0.10 | 120 | 999546 | 454 | 999275 | 725 | 1.2687142 | 1.4634587 | 0.0922779 |
0.10 | 144 | 1000000 | 0 | 1000000 | 0 | 1.3890356 | 1.6025900 | 0.0907489 |
0.10 | 168 | 1000000 | 0 | 1000000 | 0 | 1.4994818 | 1.7302649 | 0.0896598 |
0.25 | 24 | 23654 | 976346 | 23775 | 976225 | 0.5722185 | 0.6546853 | 0.1296712 |
0.25 | 48 | 228318 | 771682 | 231208 | 768792 | 0.8033257 | 0.9244966 | 0.1055259 |
0.25 | 72 | 666982 | 333018 | 669104 | 330896 | 0.9808676 | 1.1304109 | 0.0977066 |
0.25 | 96 | 966456 | 33544 | 961545 | 38455 | 1.1307841 | 1.3039452 | 0.0938392 |
0.25 | 120 | 999749 | 251 | 999507 | 493 | 1.2632327 | 1.4571506 | 0.0915316 |
0.25 | 144 | 1000000 | 0 | 1000000 | 0 | 1.3827642 | 1.5953248 | 0.0899987 |
0.25 | 168 | 1000000 | 0 | 1000000 | 0 | 1.4926700 | 1.7224506 | 0.0889064 |
1.00 | 24 | 26331 | 973669 | 26478 | 973522 | 0.5561013 | 0.6356655 | 0.1249651 |
1.00 | 48 | 211199 | 788801 | 214154 | 785846 | 0.7720342 | 0.8881302 | 0.0991370 |
1.00 | 72 | 613621 | 386379 | 615771 | 384229 | 0.9394912 | 1.0825566 | 0.0908153 |
1.00 | 96 | 943191 | 56809 | 936396 | 63604 | 1.0812364 | 1.2466510 | 0.0867047 |
1.00 | 120 | 999157 | 843 | 998396 | 1604 | 1.2065026 | 1.3916458 | 0.0842561 |
1.00 | 144 | 1000000 | 0 | 999997 | 3 | 1.3199179 | 1.5227509 | 0.0826325 |
1.00 | 168 | 1000000 | 0 | 1000000 | 0 | 1.4243560 | 1.6434386 | 0.0814738 |
In the above, the complexity of \(\mathbf{A}\) and \(\mathbf{M}\), and the mean \(C\), are also shown. For similar magnitudes of complexity as in random networks of \(\sigma\sqrt{SC} \gtrapprox 1.26\), variation in \(\gamma\) typically results in more stable than unstable systems.
Scale-free networks are also not saturated, but are defined by an interaction frequency distribution that follows a power law. In other words, a small number of components interact with many other components, while most components interact with only a small number of other components. Scale-free networks can be built by adding new components, one by one, to an existing system, with each newly added component interacting with a randomly selected subset of \(m\) existing components5. The network on the left below shows an example of a scale-free network in which \(m = 3\). The histogram on the right shows the number of other components with which each component interacts.
The table below shows how \(\sigma^{2}_\gamma\) affects stability across different scale-free networks with different \(S\) and \(m\) values.
m | S | A_unstable | A_stable | M_unstable | M_stable | complex_A | complex_M | C |
---|---|---|---|---|---|---|---|---|
2 | 24 | 152791 | 847209 | 156034 | 843966 | 0.7891257 | 0.9034663 | 0.1648551 |
3 | 24 | 320481 | 679519 | 326351 | 673649 | 0.9566487 | 1.0967499 | 0.2409420 |
4 | 24 | 504433 | 495567 | 504826 | 495174 | 1.0922870 | 1.2532761 | 0.3134058 |
5 | 24 | 670676 | 329324 | 660426 | 339574 | 1.2073054 | 1.3857169 | 0.3822464 |
6 | 24 | 798637 | 201363 | 779345 | 220655 | 1.3067095 | 1.5004508 | 0.4474638 |
7 | 24 | 884082 | 115918 | 862215 | 137785 | 1.3942577 | 1.6013368 | 0.5090580 |
8 | 24 | 936190 | 63810 | 915630 | 84370 | 1.4722315 | 1.6908563 | 0.5670290 |
9 | 24 | 964868 | 35132 | 948297 | 51703 | 1.5414455 | 1.7707292 | 0.6213768 |
10 | 24 | 981460 | 18540 | 967911 | 32089 | 1.6030044 | 1.8417459 | 0.6721014 |
11 | 24 | 989838 | 10162 | 980232 | 19768 | 1.6586511 | 1.9059313 | 0.7192029 |
12 | 24 | 994393 | 5607 | 987436 | 12564 | 1.7081503 | 1.9628898 | 0.7626812 |
2 | 48 | 303963 | 696037 | 310053 | 689947 | 0.7946875 | 0.9132519 | 0.0828901 |
3 | 48 | 577855 | 422145 | 579996 | 420004 | 0.9685494 | 1.1141445 | 0.1227837 |
4 | 48 | 810001 | 189999 | 799132 | 200868 | 1.1122992 | 1.2799335 | 0.1617908 |
5 | 48 | 938004 | 61996 | 924613 | 75387 | 1.2369960 | 1.4236817 | 0.1999113 |
6 | 48 | 984975 | 15025 | 976433 | 23567 | 1.3478291 | 1.5514420 | 0.2371454 |
7 | 48 | 997160 | 2840 | 994005 | 5995 | 1.4473792 | 1.6663763 | 0.2734929 |
8 | 48 | 999584 | 416 | 998590 | 1410 | 1.5385445 | 1.7716359 | 0.3089539 |
9 | 48 | 999955 | 45 | 999707 | 293 | 1.6227742 | 1.8687074 | 0.3435284 |
10 | 48 | 999992 | 8 | 999939 | 61 | 1.7006157 | 1.9583879 | 0.3772163 |
11 | 48 | 999999 | 1 | 999990 | 10 | 1.7731759 | 2.0420990 | 0.4100177 |
12 | 48 | 1000000 | 0 | 999999 | 1 | 1.8410402 | 2.1203112 | 0.4419326 |
2 | 72 | 427243 | 572757 | 434600 | 565400 | 0.7964226 | 0.9166566 | 0.0553599 |
3 | 72 | 741345 | 258655 | 739020 | 260980 | 0.9723446 | 1.1195788 | 0.0823552 |
4 | 72 | 931043 | 68957 | 921145 | 78855 | 1.1188220 | 1.2888100 | 0.1089593 |
5 | 72 | 989644 | 10356 | 984372 | 15628 | 1.2466268 | 1.4361875 | 0.1351721 |
6 | 72 | 999131 | 869 | 997914 | 2086 | 1.3604666 | 1.5674966 | 0.1609937 |
7 | 72 | 999946 | 54 | 999804 | 196 | 1.4642496 | 1.6872501 | 0.1864241 |
8 | 72 | 999999 | 1 | 999988 | 12 | 1.5596340 | 1.7974044 | 0.2114632 |
9 | 72 | 1000000 | 0 | 999999 | 1 | 1.6482181 | 1.8994441 | 0.2361111 |
10 | 72 | 1000000 | 0 | 1000000 | 0 | 1.7307859 | 1.9947150 | 0.2603678 |
11 | 72 | 1000000 | 0 | 1000000 | 0 | 1.8086766 | 2.0847262 | 0.2842332 |
12 | 72 | 1000000 | 0 | 1000000 | 0 | 1.8817533 | 2.1689764 | 0.3077074 |
2 | 96 | 527633 | 472367 | 535188 | 464812 | 0.7974024 | 0.9183557 | 0.0415570 |
3 | 96 | 842274 | 157726 | 837756 | 162244 | 0.9741293 | 1.1224709 | 0.0619518 |
4 | 96 | 975834 | 24166 | 969478 | 30522 | 1.1220115 | 1.2931371 | 0.0821272 |
5 | 96 | 998391 | 1609 | 996991 | 3009 | 1.2511287 | 1.4422331 | 0.1020833 |
6 | 96 | 999955 | 45 | 999838 | 162 | 1.3669903 | 1.5757699 | 0.1218202 |
7 | 96 | 999999 | 1 | 999996 | 4 | 1.4725862 | 1.6977057 | 0.1413377 |
8 | 96 | 1000000 | 0 | 1000000 | 0 | 1.5699145 | 1.8099762 | 0.1606360 |
9 | 96 | 1000000 | 0 | 1000000 | 0 | 1.6606162 | 1.9146804 | 0.1797149 |
10 | 96 | 1000000 | 0 | 1000000 | 0 | 1.7457971 | 2.0129344 | 0.1985746 |
11 | 96 | 1000000 | 0 | 1000000 | 0 | 1.8260368 | 2.1055559 | 0.2172149 |
12 | 96 | 1000000 | 0 | 1000000 | 0 | 1.9018608 | 2.1929362 | 0.2356360 |
2 | 120 | 609563 | 390437 | 616036 | 383964 | 0.7979355 | 0.9194404 | 0.0332633 |
3 | 120 | 904064 | 95936 | 899040 | 100960 | 0.9753815 | 1.1243251 | 0.0496499 |
4 | 120 | 991710 | 8290 | 988410 | 11590 | 1.1239922 | 1.2957520 | 0.0658964 |
5 | 120 | 999781 | 219 | 999477 | 523 | 1.2539362 | 1.4458518 | 0.0820028 |
6 | 120 | 999999 | 1 | 999981 | 19 | 1.3707937 | 1.5806987 | 0.0979692 |
7 | 120 | 1000000 | 0 | 999999 | 1 | 1.4775366 | 1.7038860 | 0.1137955 |
8 | 120 | 1000000 | 0 | 1000000 | 0 | 1.5762636 | 1.8177236 | 0.1294818 |
9 | 120 | 1000000 | 0 | 1000000 | 0 | 1.6680647 | 1.9238257 | 0.1450280 |
10 | 120 | 1000000 | 0 | 1000000 | 0 | 1.7545110 | 2.0233838 | 0.1604342 |
11 | 120 | 1000000 | 0 | 1000000 | 0 | 1.8363882 | 2.1178385 | 0.1757003 |
12 | 120 | 1000000 | 0 | 1000000 | 0 | 1.9135798 | 2.2069806 | 0.1908263 |
As in small-world networks, the mean \(C\) is shown, along with the mean complexities of \(\mathbf{A}\) and \(\mathbf{M}\). Like all other networks, \(\sigma^{2}_\gamma\) increases the stability of scale-free networks given sufficiently high complexity.
Cascade food webs are saturated, and similar to predator-prey random networks. What distinguishes them from predator-prey networks is that cascade food webs are also defined by intactions in which components are ranked such that if the rank of \(i > j\), then \(A_{ij} < 0\) and \(A_{ji} > 0\)6,7. In other words, if interpreting components as ecological species, species can only feed off of a species of lower rank. The table below shows how \(\sigma^{2}_\gamma\) affects stability across system sizes in cascade food webs.
S | A_unstable | A_stable | M_unstable | M_stable | complex_A | complex_M |
---|---|---|---|---|---|---|
2 | 0 | 1000000 | 0 | 1000000 | 0.6378839 | 0.6381485 |
3 | 1 | 999999 | 1 | 999999 | 0.7055449 | 0.7525143 |
4 | 2 | 999998 | 2 | 999998 | 0.8060500 | 0.8826100 |
5 | 17 | 999983 | 17 | 999983 | 0.8974749 | 0.9967594 |
6 | 42 | 999958 | 43 | 999957 | 0.9821323 | 1.0999762 |
7 | 124 | 999876 | 124 | 999876 | 1.0600906 | 1.1938910 |
8 | 303 | 999697 | 309 | 999691 | 1.1329713 | 1.2807302 |
9 | 653 | 999347 | 661 | 999339 | 1.2009135 | 1.3616372 |
10 | 1401 | 998599 | 1413 | 998587 | 1.2661142 | 1.4387567 |
11 | 2534 | 997466 | 2566 | 997434 | 1.3276636 | 1.5113096 |
12 | 4514 | 995486 | 4597 | 995403 | 1.3865754 | 1.5804005 |
13 | 7570 | 992430 | 7722 | 992278 | 1.4424479 | 1.6462780 |
14 | 12223 | 987777 | 12502 | 987498 | 1.4970134 | 1.7102322 |
15 | 18433 | 981567 | 18879 | 981121 | 1.5498812 | 1.7719564 |
16 | 26973 | 973027 | 27712 | 972288 | 1.6002970 | 1.8310447 |
17 | 38272 | 961728 | 39499 | 960501 | 1.6494195 | 1.8884211 |
18 | 52397 | 947603 | 54099 | 945901 | 1.6975099 | 1.9443860 |
19 | 69986 | 930014 | 72342 | 927658 | 1.7439233 | 1.9987398 |
20 | 92851 | 907149 | 95776 | 904224 | 1.7893524 | 2.0514394 |
21 | 117487 | 882513 | 121095 | 878905 | 1.8335974 | 2.1030121 |
22 | 147852 | 852148 | 151989 | 848011 | 1.8761874 | 2.1527108 |
23 | 183501 | 816499 | 187888 | 812112 | 1.9186092 | 2.2019827 |
24 | 222592 | 777408 | 226021 | 773979 | 1.9591518 | 2.2491948 |
25 | 267691 | 732309 | 269822 | 730178 | 1.9999089 | 2.2963949 |
26 | 316090 | 683910 | 316371 | 683629 | 2.0396325 | 2.3427211 |
27 | 369830 | 630170 | 366550 | 633450 | 2.0785319 | 2.3879356 |
28 | 426407 | 573593 | 419136 | 580864 | 2.1169703 | 2.4324407 |
29 | 485068 | 514932 | 473666 | 526334 | 2.1545265 | 2.4759539 |
30 | 544300 | 455700 | 527568 | 472432 | 2.1912376 | 2.5187795 |
31 | 605803 | 394197 | 584385 | 415615 | 2.2271037 | 2.5603818 |
32 | 664689 | 335311 | 638047 | 361953 | 2.2626270 | 2.6016360 |
33 | 718848 | 281152 | 689172 | 310828 | 2.2979241 | 2.6424881 |
34 | 770790 | 229210 | 737639 | 262361 | 2.3327303 | 2.6828460 |
35 | 817531 | 182469 | 783112 | 216888 | 2.3666720 | 2.7221952 |
36 | 858750 | 141250 | 823548 | 176452 | 2.3998286 | 2.7608037 |
37 | 893017 | 106983 | 859194 | 140806 | 2.4332806 | 2.7994470 |
38 | 921268 | 78732 | 890177 | 109823 | 2.4658414 | 2.8372307 |
39 | 943551 | 56449 | 915655 | 84345 | 2.4974678 | 2.8741350 |
40 | 961088 | 38912 | 936883 | 63117 | 2.5301278 | 2.9116114 |
41 | 973664 | 26336 | 953645 | 46355 | 2.5616210 | 2.9481298 |
42 | 982829 | 17171 | 967044 | 32956 | 2.5925309 | 2.9841081 |
43 | 989464 | 10536 | 977033 | 22967 | 2.6228949 | 3.0191690 |
44 | 993622 | 6378 | 984470 | 15530 | 2.6534626 | 3.0548439 |
45 | 996221 | 3779 | 989678 | 10322 | 2.6832092 | 3.0890543 |
46 | 997963 | 2037 | 993318 | 6682 | 2.7130588 | 3.1236201 |
47 | 998818 | 1182 | 995957 | 4043 | 2.7423480 | 3.1575904 |
48 | 999422 | 578 | 997446 | 2554 | 2.7714223 | 3.1912463 |
49 | 999746 | 254 | 998532 | 1468 | 2.7999596 | 3.2244020 |
50 | 999864 | 136 | 999132 | 868 | 2.8285547 | 3.2574510 |
51 | 999934 | 66 | 999561 | 439 | 2.8566907 | 3.2900943 |
52 | 999970 | 30 | 999761 | 239 | 2.8844703 | 3.3222721 |
53 | 999985 | 15 | 999873 | 127 | 2.9122645 | 3.3544290 |
54 | 999999 | 1 | 999935 | 65 | 2.9395400 | 3.3859103 |
55 | 1000000 | 0 | 999971 | 29 | 2.9665996 | 3.4173273 |
56 | 999999 | 1 | 999988 | 12 | 2.9936263 | 3.4486027 |
57 | 1000000 | 0 | 999989 | 11 | 3.0199283 | 3.4789408 |
58 | 1000000 | 0 | 999998 | 2 | 3.0460952 | 3.5094530 |
59 | 1000000 | 0 | 999999 | 1 | 3.0728115 | 3.5401634 |
60 | 1000000 | 0 | 1000000 | 0 | 3.0983367 | 3.5698067 |
Cascade food webs are more likely to be stable than small-world or scale-free networks at equivalent magnitudes of complexity (note \(C = 1\) for all above rows). A higher number of stable \(\mathbf{M}\) than \(\mathbf{A}\) was found given \(S \geq 27\).
When feasibility was evaluated with and without variation in \(\gamma\), there was no increase in stability for \(\mathbf{M}\) where \(\gamma\) varied as compared to where \(\gamma = 1\). Results below illustrate this result, which was general to all other simulations performed.
S | A_infeasible | A_feasible | M_infeasible | M_feasible | A_made_feasible | A_made_infeasible |
---|---|---|---|---|---|---|
2 | 749978 | 250022 | 749942 | 250058 | 35552 | 35516 |
3 | 874519 | 125481 | 874296 | 125704 | 36803 | 36580 |
4 | 937192 | 62808 | 937215 | 62785 | 26440 | 26463 |
5 | 968776 | 31224 | 968639 | 31361 | 16319 | 16182 |
6 | 984313 | 15687 | 984463 | 15537 | 9006 | 9156 |
7 | 992149 | 7851 | 992161 | 7839 | 4991 | 5003 |
8 | 996124 | 3876 | 996103 | 3897 | 2644 | 2623 |
9 | 998014 | 1986 | 998027 | 1973 | 1361 | 1374 |
10 | 999031 | 969 | 999040 | 960 | 698 | 707 |
11 | 999546 | 454 | 999514 | 486 | 377 | 345 |
12 | 999764 | 236 | 999792 | 208 | 160 | 188 |
13 | 999883 | 117 | 999865 | 135 | 105 | 87 |
14 | 999938 | 62 | 999945 | 55 | 40 | 47 |
15 | 999971 | 29 | 999964 | 36 | 31 | 24 |
16 | 999988 | 12 | 999991 | 9 | 8 | 11 |
17 | 999996 | 4 | 999991 | 9 | 8 | 3 |
18 | 999997 | 3 | 999999 | 1 | 1 | 3 |
19 | 999998 | 2 | 999997 | 3 | 3 | 2 |
20 | 1000000 | 0 | 999999 | 1 | 1 | 0 |
21 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
22 | 999999 | 1 | 1000000 | 0 | 0 | 1 |
23 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
24 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
25 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
26 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
27 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
28 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
29 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
30 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
31 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
32 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
33 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
34 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
35 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
36 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
37 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
38 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
39 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
40 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
41 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
42 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
43 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
44 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
45 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
46 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
47 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
48 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
49 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
50 | 1000000 | 0 | 1000000 | 0 | 0 | 0 |
Hence, in general, \(\sigma^{2}_{\gamma}\) does not appear to affect feasibility in pure species interaction networks8.
The figure below compares the stability of large complex systems given \(\gamma = 1\) versus targeted manipulation of \(\gamma\) elements. For each \(S\), 100000 complex systems are randomly generated. Stability of each complex system is tested given variation in \(\gamma\) using a genetic algorithm to maximise the effect of \(\gamma\) values on increasing stability, as compared to stability in an otherwise identical system in which \(\gamma\) is the same for all components. Blue bars show the number of stable systems in the absence of component response rate variation, while red bars show the number of stable systems that can be generated if component response rate is varied to maximise system stability. The black line shows the proportion of systems that are stable when component response rate is targeted to increase stability, but would not be stable if \(\sigma^{2}_{\gamma} = 0\). The y-axis shows the \(\ln\) number of systems that are stable across \(S = \{1, 2, ..., 39, 40\}\) for \(C = 1\), and the proportion of systems wherein a targeted search of \(\gamma\) values successfully resulted in system stability.
Stability results are also shown in the table below. Results for A
indicate systems in which \(\gamma = 1\), while M
refers to systems in which the genetic algorithm searched for a set of \(\gamma\) values that stabilised the system.
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 26 | 99974 | 26 | 99974 | 0 | 0 |
3 | 358 | 99642 | 358 | 99642 | 0 | 0 |
4 | 1505 | 98495 | 1505 | 98495 | 0 | 0 |
5 | 3995 | 96005 | 3982 | 96018 | 13 | 0 |
6 | 8060 | 91940 | 7956 | 92044 | 104 | 0 |
7 | 13420 | 86580 | 12953 | 87047 | 468 | 1 |
8 | 20518 | 79482 | 18940 | 81060 | 1578 | 0 |
9 | 28939 | 71061 | 25148 | 74852 | 3793 | 2 |
10 | 38241 | 61759 | 30915 | 69085 | 7327 | 1 |
11 | 48682 | 51318 | 36398 | 63602 | 12286 | 2 |
12 | 58752 | 41248 | 40710 | 59290 | 18043 | 1 |
13 | 68888 | 31112 | 44600 | 55400 | 24289 | 1 |
14 | 77651 | 22349 | 47528 | 52472 | 30124 | 1 |
15 | 84912 | 15088 | 49971 | 50029 | 34942 | 1 |
16 | 90451 | 9549 | 52274 | 47726 | 38178 | 1 |
17 | 94332 | 5668 | 54124 | 45876 | 40209 | 1 |
18 | 96968 | 3032 | 55831 | 44169 | 41139 | 2 |
19 | 98384 | 1616 | 58079 | 41921 | 40305 | 0 |
20 | 99269 | 731 | 60181 | 39819 | 39088 | 0 |
21 | 99677 | 323 | 63338 | 36662 | 36339 | 0 |
22 | 99854 | 146 | 66350 | 33650 | 33504 | 0 |
23 | 99947 | 53 | 70478 | 29522 | 29469 | 0 |
24 | 99983 | 17 | 74121 | 25879 | 25862 | 0 |
25 | 99991 | 9 | 78364 | 21636 | 21627 | 0 |
26 | 99999 | 1 | 82635 | 17365 | 17364 | 0 |
27 | 100000 | 0 | 86433 | 13567 | 13567 | 0 |
28 | 100000 | 0 | 89951 | 10049 | 10049 | 0 |
29 | 100000 | 0 | 92716 | 7284 | 7284 | 0 |
30 | 100000 | 0 | 95171 | 4829 | 4829 | 0 |
31 | 100000 | 0 | 96844 | 3156 | 3156 | 0 |
32 | 100000 | 0 | 98128 | 1872 | 1872 | 0 |
33 | 100000 | 0 | 98941 | 1059 | 1059 | 0 |
34 | 100000 | 0 | 99358 | 642 | 642 | 0 |
35 | 100000 | 0 | 99702 | 298 | 298 | 0 |
36 | 100000 | 0 | 99856 | 144 | 144 | 0 |
37 | 100000 | 0 | 99921 | 79 | 79 | 0 |
38 | 100000 | 0 | 99970 | 30 | 30 | 0 |
39 | 100000 | 0 | 99989 | 11 | 11 | 0 |
40 | 100000 | 0 | 99994 | 6 | 6 | 0 |
The distributions of nine \(\gamma\) vectors from the highest \(S\) values are shown below. This comparison shows the high number of stable \(\mathbf{M}\) that can be produced through a targeted search of \(\gamma\) values, and suggests that many otherwise unstable systems could potentially be stabilised by an informed manipulation of their component response times. Such a possibility might conceivably reduce the dimensionality of problems involving stability in social-ecological or economic systems.
The distribution of \(\gamma\) values found by the genetic algorithm is uniform. A uniform distribution was used to initialise \(\gamma\) values, so there is therefore no evidence that a particular distribution of \(\gamma\) is likely to be found to stabilise a matrix \(\mathbf{M}\).
The question that I address in the main text is distinct from that of Gibbs et al.9, who focused instead on the effect of a diagonal matrix of biological species densities \(\mathbf{X}\) on a community matrix \(\mathbf{M}\) given a species interaction matrix \(\mathbf{A}\). This is modelled as below,
\[\mathbf{M} = \mathbf{XA}.\]
Mathematically, the above is identical to my model in the main text where the system \(\mathbf{M}\) is defined by component interaction strengths \(\mathbf{A}\) and individual component response rates \(\boldsymbol{\gamma}\),
\[\mathbf{M} = \mathbf{\gamma A}.\]
I focused on the probability of observing a stable versus unstable system given variation in \(\mathbf{\gamma}\) as system complexity (\(\sigma\sqrt{SC}\)) increased. I increased system complexity by holding \(C\) and \(\sigma\) constant and incrementally increasing \(S\) to obtain numerical results. In contrast, Gibbs et al.9 applied analytical techniques to instead focus on a different question concerning the effect of \(\mathbf{\gamma}\) on the stability of \(\mathbf{M}\) given \(\mathbf{A}\) as \(S \to \infty\), with \(\sigma\) scaled so that \(\sigma = 1/\sqrt{S}\). Under such scaling, Gibbs et al.9 showed that the effect of \(\gamma\) on stability should decrease exponentially as \(S\) increases, which I demonstrate below by running simulations in which \(\sigma = 1/\sqrt{S}\).
S | A_unstable | A_stable | M_unstable | M_stable | A_stabilised | A_destabilised |
---|---|---|---|---|---|---|
2 | 3111 | 96889 | 3111 | 96889 | 0 | 0 |
3 | 5203 | 94797 | 5237 | 94763 | 1 | 35 |
4 | 6743 | 93257 | 6818 | 93182 | 6 | 81 |
5 | 7889 | 92111 | 8005 | 91995 | 20 | 136 |
6 | 8834 | 91166 | 8991 | 91009 | 55 | 212 |
7 | 9885 | 90115 | 10072 | 89928 | 81 | 268 |
8 | 10516 | 89484 | 10764 | 89236 | 108 | 356 |
9 | 11135 | 88865 | 11383 | 88617 | 145 | 393 |
10 | 11819 | 88181 | 12095 | 87905 | 181 | 457 |
11 | 12414 | 87586 | 12700 | 87300 | 213 | 499 |
12 | 12865 | 87135 | 13136 | 86864 | 283 | 554 |
13 | 13530 | 86470 | 13836 | 86164 | 324 | 630 |
14 | 13745 | 86255 | 14042 | 85958 | 362 | 659 |
15 | 14401 | 85599 | 14720 | 85280 | 387 | 706 |
16 | 14793 | 85207 | 15123 | 84877 | 428 | 758 |
17 | 15004 | 84996 | 15356 | 84644 | 444 | 796 |
18 | 15361 | 84639 | 15735 | 84265 | 472 | 846 |
19 | 16062 | 83938 | 16303 | 83697 | 592 | 833 |
20 | 15814 | 84186 | 16184 | 83816 | 566 | 936 |
21 | 16171 | 83829 | 16492 | 83508 | 640 | 961 |
22 | 16671 | 83329 | 17049 | 82951 | 641 | 1019 |
23 | 17000 | 83000 | 17291 | 82709 | 718 | 1009 |
24 | 17411 | 82589 | 17666 | 82334 | 765 | 1020 |
25 | 17414 | 82586 | 17742 | 82258 | 783 | 1111 |
26 | 17697 | 82303 | 18027 | 81973 | 806 | 1136 |
27 | 18010 | 81990 | 18316 | 81684 | 880 | 1186 |
28 | 18584 | 81416 | 18735 | 81265 | 1008 | 1159 |
29 | 18401 | 81599 | 18572 | 81428 | 942 | 1113 |
30 | 18497 | 81503 | 18754 | 81246 | 952 | 1209 |
31 | 18744 | 81256 | 18942 | 81058 | 991 | 1189 |
32 | 18936 | 81064 | 19194 | 80806 | 1022 | 1280 |
33 | 19174 | 80826 | 19346 | 80654 | 1113 | 1285 |
34 | 19477 | 80523 | 19632 | 80368 | 1120 | 1275 |
35 | 19659 | 80341 | 19777 | 80223 | 1206 | 1324 |
36 | 19883 | 80117 | 19929 | 80071 | 1275 | 1321 |
37 | 20275 | 79725 | 20348 | 79652 | 1308 | 1381 |
38 | 20067 | 79933 | 20190 | 79810 | 1275 | 1398 |
39 | 20416 | 79584 | 20516 | 79484 | 1340 | 1440 |
40 | 20370 | 79630 | 20489 | 79511 | 1359 | 1478 |
41 | 20295 | 79705 | 20430 | 79570 | 1382 | 1517 |
42 | 20767 | 79233 | 20839 | 79161 | 1418 | 1490 |
43 | 20688 | 79312 | 20705 | 79295 | 1471 | 1488 |
44 | 21049 | 78951 | 21028 | 78972 | 1555 | 1534 |
45 | 21114 | 78886 | 21034 | 78966 | 1572 | 1492 |
46 | 21163 | 78837 | 21195 | 78805 | 1463 | 1495 |
47 | 21373 | 78627 | 21353 | 78647 | 1535 | 1515 |
48 | 21338 | 78662 | 21285 | 78715 | 1632 | 1579 |
49 | 21547 | 78453 | 21566 | 78434 | 1575 | 1594 |
50 | 21738 | 78262 | 21633 | 78367 | 1636 | 1531 |
51 | 21967 | 78033 | 21892 | 78108 | 1698 | 1623 |
Above table results can be compared to those of the main results. Note that 100000 (not 1 million), simulations are run to confirm consistency with Gibbs et al.9. The difference between my model and Gibbs et al.9 is that in the latter, \(\sigma\sqrt{SC} = 1\) remains constant with increasing \(S\). In the former, \(\sigma\sqrt{SC}\) increases with \(S\), so the expected complexity of the system also increases accordingly. Consequently, for the scaled \(\sigma\) in the table above, systems are not more likely to be stabilised by \(\gamma\) as \(S\) increases, consistent with Gibbs et al.9. Note that overall stability does decrease with increasing \(S\) due to the increased density of eigenvalues (see below).
Complexity as a function of \(S\) in the main text (solid) versus in Gibbs et al.9 (dashed).
When the complexity is scaled to \(\sigma\sqrt{SC} = 1\), an increase in \(S\) increases the eigenvalue density within a circle with a unit radius centred at \((-1, 0)\) on the complex plane. As \(S \to \infty\), this circle becomes increasingly saturated. Gibbs et al.9 showed that a diagonal matrix \(\mathbf{\gamma}\) will have an exponentially decreasing effect on stability with increasing \(S\). Increasing \(S\) is visualised below, first with a system size \(S = 100\).
The left panel above shows the distribution of eigenvalues; the blue ellipse shows the unit radius within which eigenvalues are expected to be contained. The right panel shows how eigenvalue distributions change given \(\gamma \sim \mathcal{U}(0,2)\). The vertical dotted line shows the threshold of stability, \(\Re = 0\). Increasing to \(S = 200\), the scaling \(\sigma = 1 / \sqrt{S}\) maintains the expected distribution of eigenvalues but increases eigenvalue density.
We can increase the system size to \(S = 500\) and see the corresponding increase in eigenvalue density.
Finally, below shows a increase in system size to \(S = 1000\).
In contrast, in the model of the main text, the complexity of system is not scaled to \(\sigma\sqrt{SC} = 1\). Rather, the density of eigenvalues within a circle centred at \((-1, 0)\) with a radius \(\sigma\sqrt{SC}\) is held constant such that there are \(S / \pi(\sigma\sqrt{SC})^2\) eigenvalues per unit area of the circle. As \(S\) increases, so does the expected complexity of the system, but the density of eigenvalues remains finite causing error around this expectation. Below shows a system where \(S = 100\), \(C = 0.0625\), and \(\sigma = 0.4\), where \(\sigma \sqrt{SC} = 1\) (identical to the first example distribution above in which \(S = 100\) and \(\sigma = 1/\sqrt{S}\)).
Now when \(S\) is increased to \(200\) while keeping \(C = 0.0625\) and \(\sigma = 0.4\), the area of the circle within which eigenvalues are contained increases to keep the density of eigenvalues constant.
Note that the expected distribution of eigenvalues increases so that the threshold \(\Re = 0\) is exceeded. Below, system size is increased to \(S = 500\).
Finally, \(S = 1000\) is shown below. Again, the density of eigenvalues per unit remains constant at ca 2, but the system has increased in complexity such that some real components of eigenvalues are almost assured to be greater than zero.
All results in the main text and the literature cited can be reproduced using the RandomMatrixStability R package, which can be downloaded as instructed at the beginning of this Supplemental Information document. The most relevant R functions for reproducing simulations include the following:
rand_gen_var
: Simulates random complex systems and cascade food websrand_rho_var
: Simulates random complex systems across a fixed correlation of \(\rho = cor(A_{ij}, A_{ji})\)
rand_gen_swn
: Simulates randomly generated small-world networksrand_gen_sfn
: Simulates randomly generated scale-free networksEvo_rand_gen_var
: Use a genetic algorithm to find stable random complex systemsFor the functions 1-4 above, R output will be a table of results. Below describes the headers of this table to more clearly explain what is being reported.
Header | Description | Header_cont. | Description_cont. |
---|---|---|---|
S | The system size | A_rho | Corr. between elements A[ij] and A[ji] |
A_unstable | No. of A that were unstable | M_rho | Corr. between elements M[ij] and M[ji] |
A_stable | No. of A that were stable | rho_diff | Diff. between A and M rho values |
M_unstable | No. of M that were unstable | rho_abs | Diff. between A and M rho magnitudes |
M_stable | No. of M that were stable | complex_A | Complexity of A |
A_stabilised | No. of A stabilised by gamma | complex_M | Complexity of M |
A_destabilised | No. of A destabilised by gamma | A_eig | Expected real part of leading A eigenvalue |
A_infeasible | No. of A that were infeasible | M_eig | Expected real part of leading M eigenvalue |
A_feasible | No. of A that were feasible | LR_A | Lowest obs. real part of leading A eigenvalue |
M_infeasible | No. of M that were infeasible | UR_A | Highest obs. real part of leading A eigenvalue |
M_feasible | No. of M that were feasible | LR_M | Lowest obs. real part of leading M eigenvalue |
A_made_feasible | No. of A made feasible by gamma | UR_M | Highest obs. real part of leading M eigenvalue |
A_made_infeasible | No. of A made infeasible by gamma | C | Obs. network connectance |
Note that output from Evo_rand_gen_var
only includes the first seven rows of the table above, and rand_gen_var
does not include \(C\) (which can be defined as an argument). All results presented here and in the main text are available in the inst/extdata folder of the RandomMatrixStability R package.
1. May, R. M. Will a large complex system be stable? Nature 238, 413–414 (1972).
2. Allesina, S. & Tang, S. Stability criteria for complex ecosystems. Nature 483, 205–208 (2012).
3. Allesina, S. et al. Predicting the stability of large structured food webs. Nature Communications 6, 7842 (2015).
4. Watts, D. J. & Strogatz, S. H. Collective dynamics of ’small world’ networks. Nature 393, 440–442 (1998).
5. Albert, R. & Barabási, A. L. Statistical mechanics of complex networks. Reviews of Modern Physics 74, 47–97 (2002).
6. Solow, A. R. & Beet, A. R. On lumping species in food webs. Ecology 79, 2013–2018 (1998).
7. Williams, R. J. & Martinez, N. D. Simple rules yield complex food webs. Nature 404, 180–183 (2000).
8. Serván, C. A., Capitán, J. A., Grilli, J., Morrison, K. E. & Allesina, S. Coexistence of many species in random ecosystems. Nature Ecology and Evolution 2, 1237–1242 (2018).
9. Gibbs, T., Grilli, J., Rogers, T. & Allesina, S. The effect of population abundances on the stability of large random ecosystems. Physical Review E - Statistical, Nonlinear, and Soft Matter Physics 98, 022410 (2018).