Основные определения, связанные со строками — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
м
Строка 19: Строка 19:
 
|definition =
 
|definition =
 
'''Нейтральным элементом''' <tex>\varepsilon \in \sum^{0}</tex> называется элемент, для которого верно <tex>\alpha\varepsilon=\epsilon\alpha=\alpha</tex>.
 
'''Нейтральным элементом''' <tex>\varepsilon \in \sum^{0}</tex> называется элемент, для которого верно <tex>\alpha\varepsilon=\epsilon\alpha=\alpha</tex>.
 +
}}
 +
 +
Нейтральный элемент превращает <tex>\sum^*</tex> в свободный моноид, порожденный <tex>\sum</tex>.
 +
 +
Зададим группу с элементами <tex>a, 0, +</tex>.
 +
 +
{{Определение
 +
|definition =
 +
Алгебраическая структура называется '''свободной''', если для нее нельзя задать порождающие соотношения с конечного множества.
 
}}
 
}}
  
Строка 41: Строка 50:
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
Строка <tex>\alpha</tex> называется '''периодической''', если <tex>\alpha = \beta^k</tex>, для некоторого <tex>k > 1</tex>.
+
Пусть строка <tex>x = \sum^n</tex> имеет минимальный период <tex>p</tex>, <tex>r = n / p</tex> и <tex>u = \sum^p</tex>. Тогда декомпозиция <tex>x = u^p </tex> называется '''нормальной формой''' строковой последовательности <tex>x</tex>.
 +
}}
 +
 
 +
{{Определение
 +
|definition =
 +
Строка <tex>x</tex> называется примитивной, если <tex>r = 1</tex>.
 
}}
 
}}
  
 
{{Определение
 
{{Определение
 
|definition =
 
|definition =
<tex>r</tex> называется '''периодом''' <tex>\alpha</tex>, если <tex>\forall i = 1 \ldots n - r</tex> <tex>\alpha [i] = \alpha[i + r]</tex>. Если <tex>n = kr</tex>, где <tex>k > 1</tex>, то строка называется '''сильнопериодической'''.
+
Если <tex>r \ge 2</tex>, то строка <tex>x</tex> называется '''сильнопериодической''', если <tex>1 < r < 2</tex>, то '''слабопериодической'''. Если <tex>r</tex> -- целое и <tex>r \ge 2</tex>, то строка <tex>x</tex> называется '''строгопериодической'''.
 
}}
 
}}
  
Строка <tex>\alpha = abraabraabra</tex> является сильнопериодической (<tex>\beta = abra, k = 3, r = 4</tex>).
+
Строка <tex>aaabaabab</tex> - примитивная <tex>(p = n)</tex>.
 +
 
 +
Строка <tex>abaababaabaab = (abaababa)(abaab)</tex> - слабопериодическая с периодом <tex>p = 8</tex>, порядком <tex>r = 13/8</tex>.
 +
 
 +
Строка <tex>abaabaab = (aba)^2(ab)</tex> - сильнопериодическая с периодом <tex>p = 3</tex>, порядком <tex>r = 8/3</tex>.
  
 
{{Определение
 
{{Определение

Версия 16:28, 8 апреля 2012

Базовые определения

Определение:
Алфавитом [math]\sum[/math] называется конечное непустое множество символов.


Определение:
Цепочкой (словом, строкой) конечной длины обозначим [math]\sum^* : \sum^* = \bigcup\limits_{n \in \mathbb N} \sum^n[/math].


Определение:
Конкатенацией строк [math]\alpha = \sum^k[/math] и [math]\beta = \sum^m[/math] является строка [math]\alpha\beta = \sum^{k+m}[/math]. Конкатенация является ассоциативной операцией.


Определение:
Нейтральным элементом [math]\varepsilon \in \sum^{0}[/math] называется элемент, для которого верно [math]\alpha\varepsilon=\epsilon\alpha=\alpha[/math].


Нейтральный элемент превращает [math]\sum^*[/math] в свободный моноид, порожденный [math]\sum[/math].

Зададим группу с элементами [math]a, 0, +[/math].


Определение:
Алгебраическая структура называется свободной, если для нее нельзя задать порождающие соотношения с конечного множества.


Отношения между строками

Определение:
[math]\alpha[/math] называется префиксом [math]\beta[/math], если [math]\beta = \alpha \gamma[/math]. Аналогично определяется суффикс строки.


Пусть [math]\beta = abracadabra[/math], тогда

  • если [math]\alpha = abrac[/math], то [math]\alpha[/math] является префиксом [math]\beta[/math]
  • если [math]\alpha = adabra[/math], то суффиксом.


Определение:
[math]\alpha[/math] называется бордером [math]\beta[/math], если [math]\alpha[/math] одновременно является и суффиксом и префиксом.


Пусть [math]\beta = abracadabra[/math], тогда [math]\alpha = abra[/math] будет бордером [math]\beta[/math].


Определение:
Пусть строка [math]x = \sum^n[/math] имеет минимальный период [math]p[/math], [math]r = n / p[/math] и [math]u = \sum^p[/math]. Тогда декомпозиция [math]x = u^p [/math] называется нормальной формой строковой последовательности [math]x[/math].


Определение:
Строка [math]x[/math] называется примитивной, если [math]r = 1[/math].


Определение:
Если [math]r \ge 2[/math], то строка [math]x[/math] называется сильнопериодической, если [math]1 \lt r \lt 2[/math], то слабопериодической. Если [math]r[/math] -- целое и [math]r \ge 2[/math], то строка [math]x[/math] называется строгопериодической.


Строка [math]aaabaabab[/math] - примитивная [math](p = n)[/math].

Строка [math]abaababaabaab = (abaababa)(abaab)[/math] - слабопериодическая с периодом [math]p = 8[/math], порядком [math]r = 13/8[/math].

Строка [math]abaabaab = (aba)^2(ab)[/math] - сильнопериодическая с периодом [math]p = 3[/math], порядком [math]r = 8/3[/math].


Определение:
Строка [math]\alpha[/math] является подстрокой [math]\beta[/math], если [math]\beta = \gamma \alpha \delta[/math].


Строка [math]\alpha = aca[/math] является подстрокой [math]\beta = abracadabra[/math].


Определение:
Строка [math]\alpha \le \beta[/math], если:
  • [math]\alpha[/math] префикс [math]\beta[/math]
  • [math]\gamma[/math] общий префикс [math]\alpha[/math] и [math]\beta[/math], [math]\alpha = \gamma c \delta[/math], [math]\beta = \gamma d \xi[/math] и [math]c \lt d[/math]