Регулярные множества

Регулярные множества и регулярные выражения

В данном разделе мы рассмотрим класс множеств цепочек над конечным слова­рем, которые очень легко описать формулами некоторого вида. Эти множества называются регулярными.

Определение 1. Пусть V1 и V2множества цепочек. Определим три операции на этих множествах.

1. Объединение: V1 ÈV2 ={a| a Î V1} или a Î V2.

2. Конкатенация (произведение, склеивание): Vl ·V2 = {ab|a Î V1,a Î V2} Знак операции конкатенации обычно опускается.

Пример: V, = {abc, ba},V2 = {b, cb}. V1V2 ={abcb, abccb, bab, bacb}.

Обозначим Vn произведение n множеств V:Vn =VV...V,V° ={e} (здесь e-пустая цепочка).

Пример: V1 = {abc, ba}, V12 = {abcabc, abcba, baba, baabc}.

3. Итерация: V* = V0ÈV1ÈV2 È... = Èa=0Vn.

Пример: V = {a, bc}, V* = {e, a, bc, aa, abc, bcbc, bca, aaa, aabc,...}.

Определение 4.13. Класс регулярных множеств над конечным словарем V определяется так:

1. — регулярное множество;

2. {e} — регулярное множество;

3. ("aÎV){a} — регулярное множество;

4. Если S и Т — регулярные множества, то регулярны:

- объединение SÈT;

- конкатенация ST;

- итерация S* и Т*.

5. Если множество не может быть построено конечным числом применения правил 1-4, то оно нерегулярно.

Примеры регулярных множеств: {ab, ba}* {aa}; {b}({c}È{d, ab}*). Примеры нерегулярных множеств: {anbn| n > 0}; {a | в цепочке a количества вхождений символов а и b совпадают}.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: