Слово Фибоначчи

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
Описание посредством последовательности пересечений[англ.] с прямой, имеющей наклон [math]\displaystyle{ 1/\varphi }[/math] или [math]\displaystyle{ \varphi-1 }[/math], где [math]\displaystyle{ \varphi }[/math] — золотое сечение.

Слово Фибоначчи — это некоторая последовательность двоичных цифр (или символов из любого двухбуквенного алфавита). Слово Фибоначчи формируется путём повторения конкатенации тем же образом, что и числа Фибоначчи образуются путём повторяемых сложений.

Слово Фибоначчи является хрестоматийным примером слова Штурма[англ.].

Название «слово Фибоначчи» используется также для обозначения членов формального языка L, содержащего строки из нулей и единиц без рядом стоящих единиц. Любая часть конкретного слова Фибоначчи принадлежит L, но в языке много и других строк. В языке L число строк каждой возможной длины является числом Фибоначчи.

Определение

Пусть [math]\displaystyle{ S_0 }[/math] равно «0», а [math]\displaystyle{ S_1 }[/math] равно «01». Теперь [math]\displaystyle{ S_n=S_{n-1}S_{n-2} }[/math] (конкатенация предыдущего члена и члена до него).

Бесконечное слово Фибоначчи — это предел [math]\displaystyle{ S_{\infty} }[/math].

Перечисление членов последовательности из определения выше даёт:

[math]\displaystyle{ S_0 }[/math]    0

[math]\displaystyle{ S_1 }[/math]    01

[math]\displaystyle{ S_2 }[/math]    010

[math]\displaystyle{ S_3 }[/math]    01001

[math]\displaystyle{ S_4 }[/math]    01001010

[math]\displaystyle{ S_5 }[/math]    0100101001001

Первые несколько элементов бесконечного слова Фибоначчи:

0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, … (последовательность A003849 в OEIS)

Выражение в замкнутой форме для конкретных цифр

Цифра с номером n слова равна [math]\displaystyle{ 2+\left\lfloor { {n} \,\varphi} \right\rfloor - \left\lfloor {\left( {n + 1} \right)\,\varphi } \right\rfloor }[/math], где [math]\displaystyle{ \varphi }[/math] — золотое сечение, а [math]\displaystyle{ \left\lfloor x \right\rfloor }[/math] — функция «floor» («пол»).

Правила подстановки

Другой способ перехода от Sn к Sn + 1 — замена каждого символа 0 в Sn парой символов 0, 1 и замена каждого 1 на 0.

Альтернативно, можно представить генерацию всего бесконечного слова Фибоначчи с помощью следующего процесса. Начинаем с символа 0, на него устанавливаем курсор. На каждом шаге, если курсор указывает на 0, добавляем 1 и 0 в конец слова, а если курсор указывает на 1, добавляем 0 в конец слова. В любом случае шаг завершается передвижением на одну позицию вправо.

Похожее бесконечное слово иногда называется золотой струной или кроличьей последовательностью, образуется аналогичным бесконечным процессом, но правило замены другое — если курсор указывает на 0, добавляем 1, а если указывает на 1, добавляем 0, 1. Результирующая последовательность начинается с

0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, …

Однако эта последовательность отличается от слова Фибоначчи тривиально — нули заменяются на единицы и вся последовательность сдвигается на единицу.

Выражение в замкнутой форме для золотой струны:

Цифра с номером n слова равна [math]\displaystyle{ \left\lfloor { {n} \,\varphi} \right\rfloor - \left\lfloor {\left( {n - 1} \right)\,\varphi } \right\rfloor -1 }[/math], где [math]\displaystyle{ \varphi }[/math] — золотое сечение, а [math]\displaystyle{ \left\lfloor x \right\rfloor }[/math] — функция «floor».

Обсуждение

Слово связано со знаменитой последовательностью с тем же именем (последовательность Фибоначчи) в том смысле, что сложение целых чисел в индуктивном определении заменяется конкатенацией строк. Это приводит к тому, что длина Sn равна Fn + 2, (n + 2)-ому числу Фибоначчи. Также число единиц в Sn равно Fn, а число нулей в Sn равно Fn + 1.

Другие свойства

  • Бесконечное слово Фибоначчи не является периодическим и не является финально периодическим[1].
  • Две последних цифры слова Фибоначчи либо «01», либо «10».
  • Удаление двух последних букв слова Фибоначчи или добавление в начало дополнения двух последних букв создаёт палиндром. Пример: 01[math]\displaystyle{ S_4 }[/math]=0101001010 является палиндромом. Палиндромическая плотность бесконечного слова Фибоначчи равна 1/φ, где φ — золотое сечение. Это наибольшее возможное значение для непериодических слов[2].
  • В бесконечном слове Фибоначчи отношение (число цифр)/(число нулей) равно φ, так же, как и отношение числа нулей к числу единиц.
  • Бесконечное слово Фибоначчи является сбалансированной последовательностью[англ.]. Возьмём две подстроки той же самой длины где-либо в слове Фибоначчи. Разница между их весами Хэмминга[англ.] (число единиц) никогда не превышает 1[3].
  • Подслова 11 и 000 никогда не встречаются.
  • Функция сложности[англ.] бесконечного слова Фибоначчи равна n+1 — оно содержит n+1 различных подслов длины n. Пример: Имеется 4 различных подслов длины 3 : «001», «010», «100» и «101». Будучи непериодической последовательностью, слово имеет «минимальную сложность», а потому является словом Штурма[англ.][4] с наклоном [math]\displaystyle{ 1/\phi^2 }[/math]. Бесконечное слово Фибоначчи является стандартным словом[англ.], образованным директивной последовательностью[англ.] (1,1,1,….).
  • Бесконечное слово Фибоначчи рекуррентно. То есть любое подслово встречается бесконечно часто.
  • Если [math]\displaystyle{ u }[/math] является подсловом бесконечного слова Фибоначчи, то подсловом является его обратное, обозначаемое [math]\displaystyle{ u^R }[/math].
  • Если [math]\displaystyle{ u }[/math] является подсловом бесконечного слова Фибоначчи, то наименьший период [math]\displaystyle{ u }[/math] является числом Фибоначчи.
  • Конкатенация двух последовательностей слов Фибоначчи «почти коммутативна». [math]\displaystyle{ S_{n+1}=S_nS_{n-1} }[/math] и [math]\displaystyle{ S_{n-1}S_n }[/math] отличаются только в последних двух буквах.
  • Как следствие, бесконечное число Фибоначчи может быть описано последовательностью сечений прямой с наклоном [math]\displaystyle{ \phi }[/math] или [math]\displaystyle{ \phi-1 }[/math]. См. рисунок выше.
  • Число 0,010010100…, десятичные цифры которого являются цифрами бесконечного слова Фибоначчи, трансцендентно.
  • Буквы «1» можно найти в позициях, задаваемых последовательными значениями верхней последовательности Витхоффа (OEIS A001950): [math]\displaystyle{ \lfloor n\phi^2\rfloor }[/math]
  • Буквы «0» можно найти в позициях, задаваемых последовательными значениями нижней последовательности Витхоффа (OEIS A000201): [math]\displaystyle{ \lfloor n\phi\rfloor }[/math]
  • Распределение [math]\displaystyle{ n=F_k }[/math] точек на единичной окружности, размещённых последовательно по часовой стрелке на золотой угол [math]\displaystyle{ \frac{2\pi}{\phi^{2}} }[/math], образует шаблон из двух длин [math]\displaystyle{ \frac{2\pi}{\phi^{k-1}},\frac{2\pi}{\phi^{k}} }[/math] на единичной окружности. Хотя описанный выше процесс образования слова Фибоначчи не соответствует напрямую последовательному делению сегментов окружности, этот шаблон равен [math]\displaystyle{ S_{k-1} }[/math], если начинать с точки, ближайшей по часовой стрелке, при этом 0 соответствует длинному расстоянию, а 1 соответствует короткому расстоянию.
  • Бесконечное слово Фибоначчи может содержать повторение 3 последовательных идентичных подслов, но никогда не содержит 4 таких подслова. Критический индекс[англ.] для бесконечного слова Фибоначчи равен [math]\displaystyle{ 2+\phi=3,618 }[/math] повторений[5]. Это наименьший индекс (или критический индекс) среди всех слов Штурма.
  • Бесконечное слово Фибоначчи часто упоминается как худший случай[англ.] для алгоритмов выявления повторений в строке.
  • Бесконечное слово Фибоначчи является морфическим словом[англ.], образованным из {0,1}* путём эндоморфизма 0 → 01, 1 → 0[6].

Приложения

Построения слов Фибоначчи используются для моделирования физических систем с непериодическим порядком, таких как квазикристаллы, и изучения свойств рассеяния света кристаллов со слоями Фибоначчи[7].

См. также

Примечания

  1. Последовательность [math]\displaystyle{ v = (v_0, v_1,\ldots) }[/math] называется финально периодической с параметрами [math]\displaystyle{ (T, \tau) }[/math], если выполняется условие [math]\displaystyle{ v_{k+T} = v_k }[/math] для [math]\displaystyle{ k \geqslant \tau }[/math], где [math]\displaystyle{ T }[/math] и [math]\displaystyle{ \tau }[/math] целые, [math]\displaystyle{ T\gt 0 }[/math], [math]\displaystyle{ \tau \gt 0 }[/math]. Наименьшее такое число [math]\displaystyle{ T }[/math] называется периодом последовательности. Последовательность называется [math]\displaystyle{ T }[/math]-периодической, если [math]\displaystyle{ \tau = 0 }[/math] (Липницкий, Чесалин, 2008, с. 27).
  2. Adamczewski, Bugeaud, 2010, с. 443.
  3. Lothaire, 2011, с. 47.
  4. de Luca (1995).
  5. Allouche, Shallit, 2003, с. 37.
  6. Lothaire, 2011, с. 11.
  7. Dharma-wardana, MacDonald, Lockwood, Baribeau, Houghton, 1987.

Литература

Ссылки