<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.122.187.31&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=91.122.187.31&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/91.122.187.31"/>
		<updated>2026-04-06T10:17:27Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D0%BE%D0%B2%D0%BE_%D0%A4%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8&amp;diff=25475</id>
		<title>Слово Фибоначчи</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D0%BE%D0%B2%D0%BE_%D0%A4%D0%B8%D0%B1%D0%BE%D0%BD%D0%B0%D1%87%D1%87%D0%B8&amp;diff=25475"/>
				<updated>2012-06-16T18:25:20Z</updated>
		
		<summary type="html">&lt;p&gt;91.122.187.31: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Определение==&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition='''Морфизмом''' называется отображение &amp;lt;tex&amp;gt;h : \Sigma^* \rightarrow \Sigma^*&amp;lt;/tex&amp;gt;, которое каждой букве &amp;lt;tex&amp;gt;\lambda&amp;lt;/tex&amp;gt; из алфавита &amp;lt;tex&amp;gt;\Sigma&amp;lt;/tex&amp;gt; ставит в соответствие строку &amp;lt;tex&amp;gt;h(\lambda)&amp;lt;/tex&amp;gt; из множества &amp;lt;tex&amp;gt;\Sigma^{+}&amp;lt;/tex&amp;gt;,&lt;br /&gt;
затем данное отображение распространяется на &amp;lt;tex&amp;gt;\Sigma^*&amp;lt;/tex&amp;gt; следующим образом:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;h(s) = &lt;br /&gt;
\left\{ \begin{array}{ll} &lt;br /&gt;
            h(s[1])h(s[2])...h(s[n]), &amp;amp; s \in \Sigma^+ \\&lt;br /&gt;
            \varepsilon, &amp;amp; s \in \Sigma^0 \\&lt;br /&gt;
        \end{array}&lt;br /&gt;
\right. &amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Любой морфизм &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt; можно применять к исходной строке &amp;lt;tex&amp;gt;s&amp;lt;/tex&amp;gt; любое число раз, тем самым генерируя последовательность итераций &amp;lt;tex&amp;gt;h^{*}(s)&amp;lt;/tex&amp;gt; по следующему правилу: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;tex&amp;gt;h^{*}(s) = \{h^0(s), h^1(s),...\}&amp;lt;/tex&amp;gt;. &amp;lt;/ul&amp;gt;&lt;br /&gt;
где &amp;lt;tex&amp;gt;h^0(s) = s&amp;lt;/tex&amp;gt; и для любого целого &amp;lt;tex&amp;gt;k \geq 1 :&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; h^k(s) = h(h^{k-1}(s))&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
'''Например''':&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;\Sigma = \{a,b\}, h(a) = a, h(b) = ab&amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;h^*(a) = \{a,a,...\}&amp;lt;/tex&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tex&amp;gt;h^*(b) = \{b, ab, a^2b,..., a^kb...\}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition='''Строками Фибоначчи''' являются строки над алфавитом &amp;lt;tex&amp;gt;\Sigma = \{a, b\}&amp;lt;/tex&amp;gt;, полученные последовательным применением морфизма &amp;lt;tex&amp;gt;h&amp;lt;/tex&amp;gt;:&lt;br /&gt;
* &amp;lt;tex&amp;gt;h(a) = ab&amp;lt;/tex&amp;gt; &lt;br /&gt;
* &amp;lt;tex&amp;gt;h(b) = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
к строке &amp;lt;tex&amp;gt;s = b&amp;lt;/tex&amp;gt;, т.е. &amp;lt;tex&amp;gt;h^*(b)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Первые несколько строк Фибоначчи: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt;f_0 = b&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;f_1 = a&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;f_2 = ab&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;f_3 = aba&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;f_4 = abaab&amp;lt;/tex&amp;gt;&lt;br /&gt;
* &amp;lt;tex&amp;gt;f_5 = abaababa&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Лемма==&lt;br /&gt;
{{Лемма&lt;br /&gt;
|statement= Строки Фибоначчи удовлетворяют рекуррентному соотношению &amp;lt;tex&amp;gt;f_n = f_{n-1}f_{n-2}, n \geq 2&amp;lt;/tex&amp;gt;.&lt;br /&gt;
|proof=&lt;br /&gt;
Доказательство нетрудно получить методом математической индукции. &lt;br /&gt;
&lt;br /&gt;
'''База:''' При &amp;lt;tex&amp;gt;n = 2&amp;lt;/tex&amp;gt; равенство очевидно.&lt;br /&gt;
&lt;br /&gt;
'''Переход:''' Пусть &amp;lt;tex&amp;gt;n &amp;gt; 2&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;f_n = f_{n-1}f_{n-2}&amp;lt;/tex&amp;gt;. &amp;lt;tex&amp;gt;f_{n+1} = h(f_n) = h(f_{n-1}f_{n-2})&amp;lt;/tex&amp;gt;. Так как отображение h {{---}} линейно (т.е. &amp;lt;tex&amp;gt;h(xy) = h(x)h(y)&amp;lt;/tex&amp;gt;), то можно продолжить равенство:&lt;br /&gt;
&amp;lt;tex&amp;gt;f_{n+1} = h(f_{n-1})h(f_{n-2}) = f_{n}f_{n-1}&amp;lt;/tex&amp;gt;.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Также можно заметить, что длины строк Фибоначчи совпадают с числами Фибоначчи.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
==Теорема==&lt;br /&gt;
===Вспомогательные леммы и опредления===&lt;br /&gt;
Начнем обобщение идеи строк Фибоначчи следующим образом. Вместо отдельных символов &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;b&amp;lt;/tex&amp;gt; будем оперировать двумя произвольными строками &amp;lt;tex&amp;gt;x,y \in \Sigma^*&amp;lt;/tex&amp;gt;:&lt;br /&gt;
*&amp;lt;tex&amp;gt;h(x) = xy&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;h(y) = x&amp;lt;/tex&amp;gt;&lt;br /&gt;
Таким образом &amp;quot;старый&amp;quot; морфизм будет частным случаем &amp;quot;нового&amp;quot; морфизма при &amp;lt;tex&amp;gt;x = a&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;y = b&amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
По аналогии можно вычислить &amp;lt;tex&amp;gt;h^*(y) = \{y, x, xy, xyx, \dots\}&amp;lt;/tex&amp;gt;, и ,наконец, определить n-ую обобщенную строку Фибоначчи как:&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Обобщенная строка Фибоначчи имеет вид &amp;lt;tex&amp;gt;f_n(x,y) = h^n(y)&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Первые несколько обобщенных строк имеют вид:&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_0(x,y) = y&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_1(x,y) = x&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_2(x,y)= xy&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_3(x,y)= xyx&amp;lt;/tex&amp;gt;&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_4(x,y) = xyxxy&amp;lt;/tex&amp;gt;&lt;br /&gt;
А также в общем случае:&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_n(x,y) = f_{n-1}(x,y)f_{n-2}(x,y)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=Определим  '''бесконечную обобщенную строку Фибоначчи &amp;lt;tex&amp;gt;f_{\infty}(x,y)&amp;lt;/tex&amp;gt;''' как строку, содержащую все строки &amp;lt;tex&amp;gt;f_n(x,y), n \geq 0&amp;lt;/tex&amp;gt; в качестве префиксов&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Поскольку &amp;lt;tex&amp;gt;h^n(y) = h^{n-k}(h^k(y))&amp;lt;/tex&amp;gt;, то &amp;lt;tex&amp;gt;f_n(x,y) = h^k(f_{n-k}(x,y)) = f_{n-k}(h^k(x),h^k(y))&amp;lt;/tex&amp;gt;, и, так как &amp;lt;tex&amp;gt;h^k(x) = h^{k+1}(y)&amp;lt;/tex&amp;gt;, финально получаем:&lt;br /&gt;
*&amp;lt;tex&amp;gt;f_n = f_{n-k}(f_{k+1},f_k)&amp;lt;/tex&amp;gt;.&lt;br /&gt;
'''Например''':&lt;br /&gt;
&amp;lt;tex&amp;gt;f_7 = f_5(f_3, f_2) = (xyx)(xy)(xyx)(xyx)(xy)(xyx)(xy)(xyx)&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Это равенство походит также и для &amp;lt;tex&amp;gt;f_{\infty}: f_{\infty} = f_{\infty}(f_{n+1},f_{n}) = f_{n+1}f_n f_{n+1} f_{n+1} f_n f_{n+1} f_n f_{n+1} \dots&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Так же имеют место быть 2 простые леммы.&lt;br /&gt;
{{Лемма&lt;br /&gt;
|about = 1&lt;br /&gt;
|statement=Для любого целого &amp;lt;tex&amp;gt;n \geq 2&amp;lt;/tex&amp;gt; выполняется равенство &amp;lt;tex&amp;gt;f^2_n = f_{n+1}f_{n-2}&amp;lt;/tex&amp;gt;&lt;br /&gt;
 }}&lt;br /&gt;
{{Лемма&lt;br /&gt;
|about = 2&lt;br /&gt;
|statement= Для любого целого &amp;lt;tex&amp;gt;n \geq 3&amp;lt;/tex&amp;gt; строка &amp;lt;tex&amp;gt;f_n&amp;lt;/tex&amp;gt; имеет грани &amp;lt;tex&amp;gt;f_i&amp;lt;/tex&amp;gt; для &amp;lt;tex&amp;gt;i = n-2, n-4,\dots,2-(n\,\,mod \,\,2)&amp;lt;/tex&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Теорема&lt;br /&gt;
|statement=Все строки Фибоначчи &amp;lt;tex&amp;gt;f_n&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;n \geq 7&amp;lt;/tex&amp;gt; содержат кубы, но ни одна строка Фибоначчи не содержит кратных подстрок четвертого порядка&lt;br /&gt;
|proof= &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== См. также ==&lt;br /&gt;
[[Слово Туэ-Морса]]&lt;br /&gt;
&lt;br /&gt;
== Источники ==&lt;br /&gt;
* Билл Смит.  Методы и алгоритмы вычислений на строках. Пер. с англ. — М.:ООО&amp;quot;И.Д.Вильямс&amp;quot;, 2006. — 496 с.: ил. — Парал. тит. англ. ISBN 5-8459-1081-1 (рус.)&lt;br /&gt;
&lt;br /&gt;
[[Категория:Алгоритмы и структуры данных]]&lt;br /&gt;
[[Категория:Основные определения. Простые комбинаторные свойства слов]]&lt;/div&gt;</summary>
		<author><name>91.122.187.31</name></author>	</entry>

	</feed>