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

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

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

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

Цикли названо так на честь нідерландського математика Ніколаса де Брейна, який вивчав їх 1946 році[2], хоча вони вивчалися й раніше[3].

Властивості

Очевидно, що довжина (період) такого циклу не може перевищувати 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 (окремий випадок теореми де Брейна — Шаблон:Iw, названа за прізвищами де Брейна, Тетяни Еренфест, Седріка Сміта і Вільяма Татта).

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

Існує зручна інтерпретація послідовностей і циклів де Брейна, заснована на так званому графі де Брейна — орієнтованому графі з 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.

Граф де Брейна широко застосовується в біоінформатиці в задачах складання геному.

Примітки

Шаблон:Reflist Шаблон:Послідовності й ряди

  1. Якщо j>t, то в циклічному порядку вибирається елемент з індексом jmodt
  2. de Bruijn N. G. A combinatorial problem // Koninklijke Nederlandse Akademie v. Wetenschappen. 1946. — v. 49. — pp. 758—764.
  3. Flye Sainte-Marie C. Question 48 // L'intermédiaire math. — 1894. — v. 1. — pp. 107—110.