Слово Фибоначчи — различия между версиями
(→Лемма: fixup) |
(Fixing bugs in definition. Some irrelevant renaming.) |
||
Строка 1: | Строка 1: | ||
==Определение== | ==Определение== | ||
{{Определение | {{Определение | ||
− | |definition='''Морфизмом''' называется отображение <tex> | + | |definition='''Морфизмом''' называется отображение <tex>h_0 : \Sigma^* \rightarrow \Sigma^*</tex>, которое каждой букве <tex>\lambda</tex> из алфавита <tex>\Sigma</tex> ставит в соответствие строку <tex>h(\lambda)</tex> из множества <tex>\Sigma^{+}</tex>, |
− | а | + | а затем данное отображение распространяется на <tex>\Sigma^*</tex> следующим образом: |
− | <tex>h( | + | |
− | + | <tex>h(s) = | |
− | + | \left\{ \begin{array}{ll} | |
+ | h_0(s[1])h_0(s[2])...h_0(s[n]), & s \in \Sigma^+ \\ | ||
+ | \varepsilon, & s \in \Sigma^0 \\ | ||
+ | \end{array} | ||
+ | \right. </tex> | ||
+ | |||
}} | }} | ||
− | Любой морфизм <tex>h</tex> можно применять к исходной строке <tex> | + | Любой морфизм <tex>h</tex> можно применять к исходной строке <tex>s</tex> любое число раз, тем самым генерируя последовательность итераций <tex>h^{*}(s)</tex> по следующему правилу: <br> |
− | <ul><tex>h^{*}( | + | <ul><tex>h^{*}(s) = \{h^0(s), h^1(s),...\}</tex>. </ul> |
− | где <tex>h^0( | + | где <tex>h^0(s) = s</tex> и для любого целого <tex>k \geq 1 :</tex> <tex> h^k(s) = h(h^{k-1}(s))</tex>. |
'''Например''': | '''Например''': | ||
− | *<tex> | + | *<tex>\Sigma = \{a,b\}, h(a) = a, h(b) = ab</tex>. |
*<tex>h^*(a) = \{a,a,...\}</tex> | *<tex>h^*(a) = \{a,a,...\}</tex> | ||
Строка 22: | Строка 27: | ||
{{Определение | {{Определение | ||
− | |definition='''Строками Фибоначчи''' являются строки | + | |definition='''Строками Фибоначчи''' являются строки над алфавитом <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> | ||
− | + | к строке <tex>x_0 = b</tex>, т.е. <tex>h^*(b)</tex>. | |
}} | }} | ||
Строка 53: | Строка 57: | ||
Также нетрудно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи. | Также нетрудно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи. | ||
− | == | + | == См. также == |
+ | [[Слово Туэ-Морса]] | ||
+ | |||
+ | == Источники == | ||
* Билл Смит. Методы и алгоритмы вычислений на строках. Пер. с англ. — М.:ООО"И.Д.Вильямс", 2006. — 496 с.: ил. — Парал. тит. англ. ISBN 5-8459-1081-1 (рус.) | * Билл Смит. Методы и алгоритмы вычислений на строках. Пер. с англ. — М.:ООО"И.Д.Вильямс", 2006. — 496 с.: ил. — Парал. тит. англ. ISBN 5-8459-1081-1 (рус.) | ||
[[Категория:Алгоритмы и структуры данных]] | [[Категория:Алгоритмы и структуры данных]] | ||
[[Категория:Основные определения. Простые комбинаторные свойства слов]] | [[Категория:Основные определения. Простые комбинаторные свойства слов]] |
Версия 22:32, 1 июня 2012
Содержание
Определение
Определение: |
Морфизмом называется отображение а затем данное отображение распространяется на следующим образом: | , которое каждой букве из алфавита ставит в соответствие строку из множества ,
Любой морфизм можно применять к исходной строке любое число раз, тем самым генерируя последовательность итераций по следующему правилу:
где
и для любого целого .Например:
- .
Определение: |
Строками Фибоначчи являются строки над алфавитом | , полученные последовательным применением морфизма :
Первые несколько строк Фибоначчи:
Лемма
Лемма: |
Строки Фибоначчи удовлетворяют рекуррентному соотношению . |
Доказательство: |
Доказательство нетрудно получить методом математической индукции. База: При равенство очевидно.Переход: Пусть и . . Т.к. h — линейна (т.е. ), то можно продолжить равенство: . |
Также нетрудно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи.
См. также
Источники
- Билл Смит. Методы и алгоритмы вычислений на строках. Пер. с англ. — М.:ООО"И.Д.Вильямс", 2006. — 496 с.: ил. — Парал. тит. англ. ISBN 5-8459-1081-1 (рус.)