Период и бордер, их связь — различия между версиями
Martoon (обсуждение | вклад) (→Свойства периода) |
Martoon (обсуждение | вклад) м (→Свойства периода) |
||
Строка 25: | Строка 25: | ||
==Свойства периода== | ==Свойства периода== | ||
+ | ==Теорема о кратном периоде== | ||
{{Теорема | {{Теорема | ||
|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>. | + | Пусть длина строки равна <tex>n</tex>, сама строка {{---}} <tex>\alpha</tex>. |
− | Доказательство будем вести по индукции по числу <tex>x</tex>. | + | |
− | + | Доказательство будем вести по индукции по числу <tex>x</tex>. | |
− | + | ||
− | + | * База | |
− | + | *: Для <tex> x = 1 </tex> утверждение очевидно. | |
− | Из определения периода имеем, что | + | * Переход |
− | + | *: Пусть верно для <tex>x \leqslant m</tex>. Докажем, что верно для <tex>x = m + 1</tex>. | |
− | а из предположения индукции, что | + | *: Из определения периода имеем, что |
− | + | *: <tex>\forall i = 1 \ldots n - k</tex>, <tex>\alpha [i] = \alpha[i + k]</tex>, | |
− | Значит получаем, что | + | *: а из предположения индукции, что |
− | + | *: <tex>\forall i = 1 \ldots n - km</tex>, <tex>\alpha [i] = \alpha[i + mk]</tex> | |
− | следовательно | + | *: Значит получаем, что |
− | + | *: <tex>\forall i = 1 \ldots n - km - k</tex>, <tex>\alpha [i] = \alpha [i + mk] = \alpha[i + mk + k]</tex>, | |
− | Значит у строки есть период длины <tex>k(m + 1)</tex>. | + | *: следовательно |
− | + | *: <tex>\forall i = 1 \ldots n - k(m + 1)</tex>, <tex>\alpha [i] = \alpha[i + k(m + 1)]</tex>. | |
+ | *: Значит у строки есть период длины <tex>k(m + 1)</tex>. | ||
+ | |||
Утверждение доказано. | Утверждение доказано. | ||
}} | }} | ||
− | + | ==Теорема о НОД периодов== | |
Перед доказательством следующей теоремы докажем пару интуитивно понятных утверждений. | Перед доказательством следующей теоремы докажем пару интуитивно понятных утверждений. | ||
Строка 63: | Строка 66: | ||
{{Лемма | {{Лемма | ||
|about=2 | |about=2 | ||
− | |statement= Пусть строка <tex> w </tex> имеет период <tex> q </tex>, и существует <tex> v </tex> подстрока <tex> w </tex> такая, что <tex> |v| \geqslant q </tex> и <tex> v </tex> имеет период <tex> r </tex>, где <tex> q </tex> | + | |statement= Пусть строка <tex> w </tex> имеет период <tex> q </tex>, и существует <tex> v </tex> подстрока <tex> w </tex> такая, что <tex> |v| \geqslant q </tex> и <tex> v </tex> имеет период <tex> r </tex>, где <tex> q </tex> <tex dpi=90>\,\vdots\, </tex> <tex> r </tex>. Тогда <tex> w </tex> имеет период <tex> r </tex>. |
|proof= Пусть <tex> w = s_1 \dots s_n,\ v = s_h \dots s_k </tex>, где <tex> 1 \leqslant h < k \leqslant n </tex>. | |proof= Пусть <tex> w = s_1 \dots s_n,\ v = s_h \dots s_k </tex>, где <tex> 1 \leqslant h < k \leqslant n </tex>. | ||
Строка 70: | Строка 73: | ||
Заметим, что поскольку <tex> |v| \geqslant q </tex>, то отрезок <tex> [h, k] </tex> содержит ровно <tex> q </tex> целых чисел, так что найдутся <tex> i',\ j' \in [h, k] </tex> такие, что <tex> i \equiv i' \pmod q,\ j \equiv j' \pmod q </tex>. | Заметим, что поскольку <tex> |v| \geqslant q </tex>, то отрезок <tex> [h, k] </tex> содержит ровно <tex> q </tex> целых чисел, так что найдутся <tex> i',\ j' \in [h, k] </tex> такие, что <tex> i \equiv i' \pmod q,\ j \equiv j' \pmod q </tex>. | ||
− | Так как <tex> q </tex> | + | Так как <tex> q </tex> <tex dpi=90>\,\vdots\, </tex> <tex> r </tex> , можем написать <tex> i \equiv i' \pmod r,\ j \equiv j' \pmod r </tex>. |
Помимо того <tex> i \equiv j \pmod r </tex>, тогда верно и <tex> i' \equiv j' \pmod r </tex>. | Помимо того <tex> i \equiv j \pmod r </tex>, тогда верно и <tex> i' \equiv j' \pmod r </tex>. |
Версия 17:49, 11 мая 2014
Содержание
Определения
Определение: |
Строка суффиксом, и префиксом . | называется бордером строки , если одновременно является и
Определение: |
Число | называется периодом строки , если .
Связь периода и бордера
Теорема: |
есть |
Доказательство: |
Пусть дана строка Сделаем замену |
Свойства периода
Теорема о кратном периоде
Теорема: |
Если у строки есть период длины , то у нее есть период длины , где . |
Доказательство: |
Пусть длина строки равна , сама строка — .Доказательство будем вести по индукции по числу .
|
Теорема о НОД периодов
Перед доказательством следующей теоремы докажем пару интуитивно понятных утверждений.
Лемма (1): |
Пусть строка имеет периоды и , причём . Тогда суффикс и префикс длины имеют период . |
Доказательство: |
Покажем истинность утверждения про префикс; с суффиксом доказательство аналогичное. Требуется показать что Поскольку Также имеет период , выполнено имеет период и из ограничений на верно , поэтому |
Лемма (2): |
Пусть строка имеет период , и существует подстрока такая, что и имеет период , где . Тогда имеет период . |
Доказательство: |
Пусть , где .Требуется показать: .Заметим, что поскольку , то отрезок содержит ровно целых чисел, так что найдутся такие, что .Так как , можем написать .Помимо того , тогда верно и .Теперь воспользуемся тем фактом, что если строка Поскольку имеет период , то (действительно, без ограничения общности можем сказать, что , тогда ). имеет период , имеют место равенства и . Поскольку имеет период , верно . Тогда и . |
Теорема (Фин и Вильф): |
Если у строки есть периоды и , где , то также является периодом этой строки. |
Доказательство: |
Обозначим . Доказательство будем вести индукцией по .
|
Ограничение
существенно. Например строка имеет периоды и , её длина , и периода у неё нет.