Слово Фибоначчи — различия между версиями
Кирилл (обсуждение | вклад) |
|||
| Строка 1: | Строка 1: | ||
==Определение== | ==Определение== | ||
{{Определение | {{Определение | ||
| − | |definition=Морфизмом называется отображение <tex>h</tex>, которое каждоый букве <tex>\lambda</tex> из алфавита <tex>A</tex> ставит в соответствие строку <tex>h(\lambda)</tex> из множества <tex>A^{+}</tex>. | + | |definition='''Морфизмом''' называется отображение <tex>h</tex>, которое каждоый букве <tex>\lambda</tex> из алфавита <tex>A</tex> ставит в соответствие строку <tex>h(\lambda)</tex> из множества <tex>A^{+}</tex>. |
| + | }} | ||
| + | Отображение <tex>h</tex> также распространяется на любую строку <tex>x</tex> из множества <tex>A^{+}</tex> путем использования следующего тождества:<br> | ||
<tex>h(x) = h(x[1])h(x[2])...h(x[n])</tex>.<br> | <tex>h(x) = h(x[1])h(x[2])...h(x[n])</tex>.<br> | ||
Для полноты распространим отбражение на множество <tex>A^{*}</tex>, положив, что для любого морфизма <tex>h(\epsilon) = \epsilon</tex>. | Для полноты распространим отбражение на множество <tex>A^{*}</tex>, положив, что для любого морфизма <tex>h(\epsilon) = \epsilon</tex>. | ||
| − | |||
Любой морфизм <tex>h</tex> можно применять к исходной строке <tex>x_0</tex> любое число раз, тем самым генерируя последовательность итераций <tex>h^{*}(x_0)</tex> по следующему правилу: <br> | Любой морфизм <tex>h</tex> можно применять к исходной строке <tex>x_0</tex> любое число раз, тем самым генерируя последовательность итераций <tex>h^{*}(x_0)</tex> по следующему правилу: <br> | ||
<tex>h^{*}(x_0) = \{h^0(x_0), h^1(x_0),...\}</tex>. <br> | <tex>h^{*}(x_0) = \{h^0(x_0), h^1(x_0),...\}</tex>. <br> | ||
| − | где <tex>h^0(x_0) = x_0</tex> и для любого целого <tex>k \geq 1 h^k(x_0) = h(h^{k-1}(x_0))</tex>. <br> | + | где <tex>h^0(x_0) = x_0</tex> и для любого целого <tex>k \geq 1</tex> <tex> h^k(x_0) = h(h^{k-1}(x_0))</tex>. <br> |
Например:<br> | Например:<br> | ||
<tex>A = \{a,b\}, h(a) = a, h(b) = ab</tex>. <br> | <tex>A = \{a,b\}, h(a) = a, h(b) = ab</tex>. <br> | ||
| Строка 16: | Строка 17: | ||
{{Определение | {{Определение | ||
| − | |definition= | + | |definition='''Строками Фибоначчи''' являются строки, порожденные следующим морфизмом: |
| + | * <tex>A = \{a,b\}</tex> | ||
* <tex>h(a) = ab</tex> | * <tex>h(a) = ab</tex> | ||
* <tex>h(b) = a</tex> | * <tex>h(b) = a</tex> | ||
| Строка 43: | Строка 45: | ||
Также нетрудно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи. | Также нетрудно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи. | ||
| + | |||
| + | == Литература == | ||
| + | * ''Билл Смит'' '''Методы и алгоритмы вычислений на строках''' | ||
| + | |||
| + | |||
| + | [[Категория:Алгоритмы и структуры данных]] | ||
| + | [[Категория:Слово Фибоначчи]] | ||
Версия 20:06, 29 марта 2012
Содержание
Определение
| Определение: |
| Морфизмом называется отображение , которое каждоый букве из алфавита ставит в соответствие строку из множества . |
Отображение также распространяется на любую строку из множества путем использования следующего тождества:
.
Для полноты распространим отбражение на множество , положив, что для любого морфизма .
Любой морфизм можно применять к исходной строке любое число раз, тем самым генерируя последовательность итераций по следующему правилу:
.
где и для любого целого .
Например:
.
| Определение: |
| Строками Фибоначчи являются строки, порожденные следующим морфизмом:
|
Свойства
Введем множество , где для любого целого , а .
Первые несколько строк Фибоначчи:
Леммы
| Лемма: |
Строки Фибоначчи удовлетворяют рекуррентному соотношению . |
| Доказательство: |
|
Доказательство нетрудно получить методом математической индукции. База. При равенство очевидно. Переход. Пусть . . Т.к. h - линейна (т.е. ), то можно продолжить равенство. |
Также нетрудно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи.
Литература
- Билл Смит Методы и алгоритмы вычислений на строках