Московский государственный университет имени М.В.Ломоносова
Опубликован: 09.07.2007 | Доступ: свободный | Студентов: 2485 / 1007 | Оценка: 4.56 / 4.26 | Длительность: 20:40:00
ISBN: 978-5-9556-0062-8
Специальности: Математик
Лекция 6:

Регулярные выражения

< Лекция 5 || Лекция 6: 123 || Лекция 7 >

5.4*. Звездная высота

Определение 5.4.1. Звездная высота (star-height) регулярного выражения (обозначение sh(e) ) определяется рекурсивно следующим образом:

\begin{align*}
\starheight{a} &\bydef 0 ,\\
\starheight{0} &\bydef 0 ,\\
\starheight{1} &\bydef 1 ,\\
\starheight{e \replus f} &\bydef \max(\starheight{e} , \starheight{f}) ,\\
\starheight{e \redot f} &\bydef \max(\starheight{e} , \starheight{f}) ,\\
\starheight{e^*} &\bydef 1 + \starheight{e} .
\end{align*}

Пример 5.4.2. Пусть \Sigma = \{ a , b , c \}. Тогда

sh((a*+b*+ab)*+(ab*c)*)  = 2.

Определение 5.4.3. Звездной высотой регулярного языка L (обозначение sh(L) ) называется минимум звездных высот регулярных выражений, задающих этот язык.

Замечание 5.4.4. Регулярный язык L является конечным тогда и только тогда, когда sh(L) = 0.

Теорема 5.4.5. Пусть | \Sigma | \geq 2. Тогда для любого n \in \mathbb{N} существует такой регулярный язык L \subseteq \Sigma ^*, что sh(L) = n.

Доказательство можно найти в книге Саломаа А. Жемчужины теории формальных языков. - М.: Мир, 1986 с.41-46.

Пример 5.4.6. Пусть \Sigma = \{ a , b \} и

L = \{ w \in \Sigma^* \mid
 ( | w |_a - | w |_b ) \divi 4 \} .
Тогда sh(L) = 2. Действительно, язык L задается регулярным выражением (ab+ba+(aa+bb)(ab+ba)*(aa+bb))* и не задается никаким регулярным выражением меньшей звездной высоты.

Замечание 5.4.7. Неизвестно, верен ли аналог теоремы 5.4.5 для обобщенных регулярных выражений, в которых, помимо итерации, конкатенации и объединения, разрешена операция дополнения.

Упражнение 5.4.8.Уменьшить звездную высоту регулярного выражения (a*+b*+ab)*.

Упражнение 5.4.9.Уменьшить звездную высоту регулярного выражения (c(a*b)*)*.

Упражнение 5.4.10.Уменьшить звездную высоту регулярного выражения (a(ab)*b)*.

Упражнение 5.4.11. Существует ли такой регулярный язык L \subseteq \{ a \} ^*, что sh(L) = 2?

< Лекция 5 || Лекция 6: 123 || Лекция 7 >
Юлия Маковецкая
Юлия Маковецкая

Упражнение 2.1.25

Евгения Гунченко
Евгения Гунченко

Сдавала тест экстерном, результат получен 74 после принятия данного результата и соответственно оплаты курса, будет ли выдано удостоверение о повышении квалификации?