Skip to content
About
Main content
Model

Pattern matching state explodes

State is O(keys × partial matches), rather than O(keys). Bounding mechanisms are all about pruning.

Candidate events
candidate B events seen after an A

Recurring principle: Fixed capacity meets growth

How it behaves

One input on the horizontal axis, the others held fixed.

Data table
Live partial matches for one key, by candidate events
Candidate B events kPartial matches
01
0.3751.3
0.751.68
1.132.18
1.52.83
1.883.67
2.254.76
2.636.17
38
3.3810.4
3.7513.5
4.1317.4
4.522.6
4.8829.3
5.2538.1
5.6349.4
664
6.3883
6.75108
7.13140
7.5181
7.88235
8.25304
8.63395
9512
9.38664
9.75861
10.11.12K
10.51.45K
10.91.88K
11.32.44K
11.63.16K
124.1K
12.45.31K
12.86.89K
13.18.93K
13.511.6K
13.915K
14.319.5K
14.625.3K
1532.8K
15.442.5K
15.855.1K
16.171.5K
16.592.7K
16.9120K
17.3156K
17.6202K
18262K
18.4340K
18.8441K
19.1572K
19.5741K
19.9962K
20.31.25M
20.61.62M
212.1M
21.42.72M
21.83.53M
22.14.57M
22.55.93M
22.97.69M
23.39.98M
23.612.9M
2416.8M
24.421.8M
24.828.2M
25.136.6M
25.547.5M
25.961.5M
26.379.8M
26.6103M
27134M
27.4174M
27.8226M
28.1293M
28.5380M
28.9492M
29.3638M
29.6828M
301.07B

Worked examples, recomputed

Every number the mechanisms quote for this relationship is recomputed from it, so none of them disagrees with it.

Where it appears

Each mechanism states it in its own names. The general symbol each name stands for is shown with it.