Слово Фибоначчи — различия между версиями
Кирилл (обсуждение | вклад) |
AMaltsev (обсуждение | вклад) м (Англ. термины) |
||
Строка 27: | Строка 27: | ||
{{Определение | {{Определение | ||
− | |definition='''Строками Фибоначчи''' являются строки над алфавитом <tex>\Sigma = \{a, b\}</tex>, полученные последовательным применением морфизма <tex>h</tex>: | + | |definition='''Строками Фибоначчи''' (англ. ''Fibostring'') являются строки над алфавитом <tex>\Sigma = \{a, b\}</tex>, полученные последовательным применением морфизма <tex>h</tex>: |
* <tex>h(a) = ab</tex> | * <tex>h(a) = ab</tex> | ||
* <tex>h(b) = a</tex> | * <tex>h(b) = a</tex> | ||
Строка 58: | Строка 58: | ||
− | == | + | ==Обобщенная строка Фибоначчи. Связь с задачей о построении <tex>(\alpha, r)</tex>-исключений== |
Начнем обобщение идеи строк Фибоначчи следующим образом. Вместо отдельных символов <tex>a</tex> и <tex>b</tex> будем оперировать двумя произвольными строками <tex>x,y \in \Sigma^*</tex>: | Начнем обобщение идеи строк Фибоначчи следующим образом. Вместо отдельных символов <tex>a</tex> и <tex>b</tex> будем оперировать двумя произвольными строками <tex>x,y \in \Sigma^*</tex>: | ||
*<tex>h(x) = xy</tex> | *<tex>h(x) = xy</tex> | ||
Строка 66: | Строка 66: | ||
По аналогии можно вычислить <tex>h^*(y) = \{y, x, xy, xyx, \dots\}</tex>, и ,наконец, определить n-ую обобщенную строку Фибоначчи как: | По аналогии можно вычислить <tex>h^*(y) = \{y, x, xy, xyx, \dots\}</tex>, и ,наконец, определить n-ую обобщенную строку Фибоначчи как: | ||
{{Определение | {{Определение | ||
− | |definition=Обобщенная строка Фибоначчи имеет вид <tex>f_n(x,y) = h^n(y)</tex> | + | |definition=Обобщенная строка Фибоначчи (англ. ''generalized Fibostring'') имеет вид <tex>f_n(x,y) = h^n(y)</tex> |
}} | }} | ||
Строка 79: | Строка 79: | ||
{{Определение | {{Определение | ||
− | |definition=Определим '''бесконечную обобщенную строку Фибоначчи <tex>f_{\infty}(x,y)</tex>''' как строку, содержащую все строки <tex>f_n(x,y), n \geq 0</tex> в качестве префиксов | + | |definition=Определим '''бесконечную обобщенную строку Фибоначчи <tex>f_{\infty}(x,y)</tex>''' (англ. ''generalized infinite Fibostring'') как строку, содержащую все строки <tex>f_n(x,y), n \geq 0</tex> в качестве префиксов |
}} | }} | ||
Версия 18:33, 2 июня 2016
Содержание
Определение
Определение: |
Морфизмом называется отображение затем данное отображение распространяется на следующим образом: | , которое каждой букве из алфавита ставит в соответствие строку из множества ,
Любой морфизм можно применять к исходной строке любое число раз, тем самым генерируя последовательность итераций по следующему правилу:
где
и для любого целого .Например:
- .
Определение: |
Строками Фибоначчи (англ. Fibostring) являются строки над алфавитом | , полученные последовательным применением морфизма :
Первые несколько строк Фибоначчи:
Лемма
Лемма: |
Строки Фибоначчи удовлетворяют рекуррентному соотношению . |
Доказательство: |
Доказательство нетрудно получить методом математической индукции. База: При равенство очевидно.Переход: Пусть и . . Так как отображение h — линейно (т.е. ), то можно продолжить равенство: . |
Также можно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи.
Обобщенная строка Фибоначчи. Связь с задачей о построении -исключений
Начнем обобщение идеи строк Фибоначчи следующим образом. Вместо отдельных символов
и будем оперировать двумя произвольными строками :Таким образом "старый" морфизм будет частным случаем "нового" морфизма при
и .По аналогии можно вычислить
, и ,наконец, определить n-ую обобщенную строку Фибоначчи как:Определение: |
Обобщенная строка Фибоначчи (англ. generalized Fibostring) имеет вид |
Первые несколько обобщенных строк имеют вид:
А также в общем случае:
Определение: |
Определим бесконечную обобщенную строку Фибоначчи | (англ. generalized infinite Fibostring) как строку, содержащую все строки в качестве префиксов
Поскольку , то , и, так как , финально получаем:
- .
Например:
Это равенство походит также и для
Утверждение: |
Бесконечная строка Фибоначчи является решением задачи построения (2,4)-исключения |
Напомним, что в задаче построения
-исключений требуется построить бесконечную строковую последовательность на алфавите размером , свободную от кратных подстрок порядка , но содержащую кратные подстроки порядов .См. также
Источники
- Билл Смит. Методы и алгоритмы вычислений на строках. Пер. с англ. — М.:ООО"И.Д.Вильямс", 2006. — 496 с.: ил. — Парал. тит. англ. ISBN 5-8459-1081-1 (рус.)