Последовательность де Брёйна

Материал из testwiki
Перейти к навигации Перейти к поиску

Последовательность де Брёйна[1] — циклический порядок a1,,at, элементы которого принадлежат заданному конечному множеству (обычно рассматривают множество {0,1,,k1}), такой, что все его подпоследовательности ai+1,,ai+n[2] заданной длины n различны.

Часто рассматриваются периодические последовательности с периодом T, содержащие T различных подпоследовательностей ai+1,,ai+n, — то есть такие периодические последовательности, в которых любой отрезок длины T+n1 является последовательностью де Брёйна с теми же параметрами n и k.

Циклы названы по имени голландского математика Николаса де Брёйна, изучившего их в 1946 году[3], хотя они изучались и ранее[4].

Свойства

Очевидно, что длина (период) такого цикла не может превосходить kn — числа́ всех различных векторов длины n с элементами из {0,1,,k1}; несложно доказать, что эта оценка достигается. Циклы этой максимально возможной длины обычно называют циклами де Брёйна (впрочем, иногда этот термин применяют и к циклам меньшей длины).

При k=2 существуют такие циклы де Брёйна с длиной, на единицу меньшей максимума, которые выражаются линейными рекуррентными соотношениями порядка n: так, при n=3 соотношение xn=xn2+xn3(mod2) порождает последовательности с периодом 7, например 0010111001011100… (цикл де Брёйна 0010111). На основе таких последовательностей построен, в частности, циклический избыточный код CRC32 (EDB88320).

Примеры

Примеры циклов де Брёйна для k=2 с периодом 2, 4, 8, 16:

  • 01 (содержит подпоследовательности 0 и 1)
  • 0011 (содержит подпоследовательности 00, 01, 11, 10)
  • 00010111 (000, 001, 010, 101, 011, 111, 110, 100)
  • 0000100110101111

Количество циклов де Брёйна

Количество циклов де Брёйна с параметрами n и k есть k!k(n1)/kn (частный случай теоремы де Брёйна — Шаблон:Не переведено, названная по фамилиям де Брёйна, Татьяны Эренфест, Седрика Смита и Уильяма Татта).

Граф де Брёйна

Существует удобная интерпретация последовательностей и циклов де Брёйна, основанная на так называемом графе де Брёйна — ориентированном графе с kn вершинами, соответствующими kn различных наборов длины n с элементами из {0,1,,k1}, в котором из вершины (x1,,xn) в вершину (y1,,yn) ребро ведёт в том и только том случае, когда xi=yi1 (i=2,,n); при этом самому ребру можно сопоставить набор длины n+1: (x1,,xn,yn)=(x1,y1,,yn). Для такого графа не проходящие дважды через одно и то же ребро эйлеровы пути (эйлеровы циклы) соответствуют последовательности (циклу) де Брёйна с параметрами n+1 и k, а не проходящие дважды через одну и ту же вершину гамильтоновы пути (гамильтоновы циклы) — последовательности (циклу) де Брёйна с параметрами n и k.

Граф де Брёйна широко применяется в биоинформатике в задачах сборки генома.

Примечания

Шаблон:Примечания

Шаблон:Последовательности и ряды

  1. Встречаются также написания «де Бройна» и «де Брюина».
  2. Если j>t, то в циклическом порядке выбирается элемент с индексом jmodt
  3. de Bruijn N. G. A combinatorial problem // Koninklijke Nederlandse Akademie v. Wetenschappen. 1946. — v. 49. — pp. 758—764.
  4. Flye Sainte-Marie C. Question 48 // L’intermédiaire math. — 1894. — v. 1. — pp. 107—110.