Кстати, сильные сложности со счётом констант возникают для весьма разреженных кортежей. А также для кортежей большого диаметра. Но эти сложности и делают эту задачу особенно интересной.
Однако обычные кортежи считаются довольно легко. Покажу на примере кортежа 11-168-10, так называемой центральной 11-ки. Паттерн [0, 30, 48, 54, 78, 84, 90, 114, 120, 138, 168].
Программа Дмитрия, уложившись в 22 секунды, находит для этого паттерна все 24 константы. После чего можно, грубо говоря, считать любые интервалы. Например:
Код:
Интервал МО Кортежей
0 — 31# 0 0.04
0 — 37# 1 0.67
0 — 41# 13
0 — 43# 244
0 — 47# 5258
0 — 53# 129815
0 — 59# 3644583
0 — 61# 109539412
0 — 67# 3701268813
0 — 71# 136286395937
Для двух строчек справа указал матожидание количества кортежей поточнее.
Например, для отрезка 0 — 71# ожидается 136 миллиардов таких кортежей, что в миллион раз больше чем для интервала 0 — 53#. Кому-то это удивительно и не верится? Довольно логично вроде: интервал 0 — 71# в 17 миллионов раз больше чем 0 — 53#, а кортежей больше в миллион раз. Плотность кортежей-то падает.
Mожно разбить всю Базу данных Томаша Брада по этим кортежам на интервалы по 10 квадриллионов в каждом, посчитать прогноз по ним и как раз увидеть падение плотности:
Код:
Интервал e16 МО Кортежей
0 — 1 197.200
1 — 2 144.459
2 — 3 129.801
3 — 4 121.163
4 — 5 115.143
5 — 6 110.575
6 — 5 106.924
7 — 8 103.901
8 — 9 101.332
9 — 10 99.107
...
210 — 211 54.129
211 — 212 54.080 49
212 — 213 54.031 49
213 — 214 53.983 48
214 — 215 53.934 49
215 — 216 53.887 47
216 — 217 53.839 48
217 — 218 53.792 47
...
3255 — 3259 32.380
3256 — 3259 32.378 2
3257 — 3259 32.376 2
3258 — 3259 32.374 2
Справа указал сбавку в тысячных. Как видим, в начале Базы данных ожидается трёхзначные количества кортежей на таких отрезках, а в конце среднее ожидаемое количество уже ниже 54-х.
Посчитал и для конца интервала 0 — 53#. Уже менее 33-х кортежей ожидается на каждый такой интервал. И сбавка стала крошечной, то есть здесь уже почти плато.