Период и бордер, их связь — различия между версиями
Dimitrova (обсуждение | вклад) (→Связь периода и бордера) |
Dimitrova (обсуждение | вклад) (→Свойства периода) |
||
Строка 15: | Строка 15: | ||
|statement= Если у строки есть [[Основные определения, связанные со строками#Отношения между строками|период]] длины <tex>|k|</tex>, то у нее есть период длины <tex>|kx|</tex>, где <tex> x \in N</tex>. | |statement= Если у строки есть [[Основные определения, связанные со строками#Отношения между строками|период]] длины <tex>|k|</tex>, то у нее есть период длины <tex>|kx|</tex>, где <tex> x \in N</tex>. | ||
|proof= | |proof= | ||
− | Пусть длина строки равна <tex>n</tex>, сама строка {{---}} <tex> \alpha </tex>.<br/> | + | Пусть <b>длина</b> строки равна <tex>n</tex>, сама <b>строка</b> {{---}} <tex>\alpha</tex>.<br/> |
− | Доказательство будем вести по индукции по числу <tex>x</tex>.<br/> | + | Доказательство будем вести по <b>индукции по числу</b> <tex>x</tex>.<br/> |
− | Для <tex> x = 1 </tex> утверждение очевидно.< | + | <ol> |
− | Пусть верно для <tex>x = m</tex>. Докажем, что верно для <tex>x = m + 1</tex>.<br/> | + | <li>Для <tex> x = 1 </tex> утверждение очевидно.</li> |
− | Из определения периода имеем, что<br/> | + | <li>Пусть верно для <tex>x = m</tex>.</li> |
− | + | <li>Докажем, что верно для <tex>x = m + 1</tex>.<br/> | |
− | + | Из <b>определения периода</b> имеем, что<br/> | |
+ | <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha[i + k]</tex>,<br/> | ||
+ | а из <b>предположения</b> индукции, что<br/> | ||
+ | <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha[i + mk]</tex><br/> | ||
Значит получаем, что<br/> | Значит получаем, что<br/> | ||
− | <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha [i + mk] = \alpha[i + mk + k]</tex>, следовательно<br/> | + | <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha [i + mk] = \alpha[i + mk + k]</tex>,<br/> |
− | для <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha[i + (m + 1)k]</tex>.<br/> | + | следовательно<br/> |
− | Значит у строки есть период длины <tex> |(m + 1)k|</tex>.<br/> | + | для <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha[i + (m + 1)k]</tex>.<br/> |
+ | Значит у строки есть <b>период длины</b> <tex> |(m + 1)k|</tex>.<br/></li> | ||
+ | </ol> | ||
Утверждение доказано. | Утверждение доказано. | ||
}} | }} | ||
Строка 32: | Строка 37: | ||
|statement= Если у строки есть периоды длины <tex>|p|</tex> и <tex>|q|</tex>, то НОД<tex>(p, q)</tex> также является периодом этой строки. | |statement= Если у строки есть периоды длины <tex>|p|</tex> и <tex>|q|</tex>, то НОД<tex>(p, q)</tex> также является периодом этой строки. | ||
|proof= | |proof= | ||
− | Пусть строка равна <tex> \alpha </tex>.<br/> | + | Пусть <b>строка</b> равна <tex> \alpha </tex>.<br/> |
− | Доказательство будем вести по индукции по парам <tex>(p, q)</tex>, где <tex> p \geqslant q </tex>, а <tex>(p, q) + 1 = \begin{cases} (p, q + 1), & q < p;\\ | + | Доказательство будем вести <b>по индукции по парам</b> <tex>(p, q)</tex>, где <tex> p \geqslant q </tex>, а <tex>(p, q) + 1 = \begin{cases} (p, q + 1), & q < p;\\ |
(p + 1, 1), & q = p.\end{cases}</tex><br/> | (p + 1, 1), & q = p.\end{cases}</tex><br/> | ||
− | Для <tex> (1, 1) </tex> утверждение очевидно.< | + | <ol> |
− | Пусть верно для всех пар меньших <tex>(p, q)</tex>.< | + | <li>Для <tex> (1, 1) </tex> утверждение очевидно.</li> |
− | Докажем, что верно для <tex>(p, q)</tex>. | + | <li>Пусть верно для всех <b>пар меньших</b> <tex>(p, q)</tex>.</li> |
− | + | <li>Докажем, что верно для <tex>(p, q)</tex>.<br/> | |
− | Значит | + | Из <b>определения периода</b>:<br/> |
− | Сделаем замену <tex>j = i + q</tex> и получим, что | + | <tex>\forall i = 1 \ldots n - p</tex>, <tex>\alpha [i] = \alpha[i + p] = \alpha[i + q]</tex>.<br/> |
− | + | Значит <tex>\forall i = q \ldots n - p</tex>, <tex>\alpha [i + q] = \alpha[i + p]</tex><br/> | |
− | Получили новый период длины <tex>|p - q|</tex>. Из предположения известно, что НОД<tex>(p - q, q)</tex> {{---}} период строки, но НОД<tex>(p - q, q)</tex> <tex>=</tex> НОД<tex>(p, q)</tex>. Следовательно утверждение доказано. | + | Сделаем замену <tex>j = i + q</tex> и получим, что<br/> |
+ | <tex>\forall j = 1 \ldots n - (p - q)</tex>, <tex>\alpha [j] = \alpha[j + (p - q)]</tex><br/> | ||
+ | Получили новый <b>период длины</b> <tex>|p - q|</tex>. Из предположения известно, что НОД<tex>(p - q, q)</tex> {{---}} период строки, но НОД<tex>(p - q, q)</tex><tex>=</tex>НОД<tex>(p, q)</tex>.</li> | ||
+ | </ol> | ||
+ | Следовательно утверждение доказано. | ||
}} | }} | ||
[[Категория:Алгоритмы и структуры данных]] | [[Категория:Алгоритмы и структуры данных]] | ||
[[Категория:Основные определения. Простые комбинаторные свойства слов]] | [[Категория:Основные определения. Простые комбинаторные свойства слов]] |
Версия 14:06, 21 апреля 2012
Связь периода и бордера
Теорема: |
есть |
Доказательство: |
Пусть дана строка , . Сделаем замену Получили определение периода длины , . . Но , значит у строки есть период длины . |
Свойства периода
Теорема: |
Если у строки есть период длины , то у нее есть период длины , где . |
Доказательство: |
Пусть длина строки равна
|
Теорема: |
Если у строки есть периоды длины и , то НОД также является периодом этой строки. |
Доказательство: |
Пусть строка равна
|