
- •1.Операции над словами и языками. Понятие грамматики и грамматического вывода.
- •2.Иерархия Хомского формальных языков.
- •3. Понятия конечного автомата и конечно-автоматного языка. Примеры конечно-автоматных языков.
- •4.Детерминированные и недетерминированные конечные автоматы. Алгоритм детерминизации недетерминированного конечного автомата.
- •5. Алгоритм минимизация конечного автомата.
- •7. Лемма Огдена (о разрастании) для конечно-автоматных языков. Пример языка, не являющегося конечно-автоматным.
- •8. Правила построения регулярных выражений. Теорема Клини о совпадении классов конечно-автоматных и регулярных языков.
- •9. Алгоритм анализа конечного автомата.
- •10. Алгоритм синтеза конечного автомата.
- •11. Свойства замкнутости праволинейных языков относительно теоретико-множественных операций, конкатенации и итерации.
- •12. Решение систем линейных уравнений с регулярными коэффициентами. Описание праволинейного языка с помощью системы линейных уравнений с регулярными коэффициентами.
- •13. Теорема о совпадении классов праволинейных, конечно-автоматных и регулярных языков.
- •14. Определение контекстно-свободной грамматики. Контекстно-свободный грамматический вывод, левый и прявый выводы. Примеры кс-языков. Деревья вывода.
- •15. Приведенная форма кс-грамматики, алгоритм преобразования кс-грамматики к приведенной форме.
- •16. Лемма Огдена для кс-языков. Пример языка, не являющегося контекстно-свободным.
- •21. Соотношение между кс-языками и языками, допускаемыми мпа. Построение по кс-грамматике мп-автомата.
- •22. Понятие мп-преобразователя. Нисходящие и восходящие распознаватели.
- •23. Построение мп-преобразователя, реализующего левый разбор
7. Лемма Огдена (о разрастании) для конечно-автоматных языков. Пример языка, не являющегося конечно-автоматным.
Пусть
L
– конечно-автоматный язык. Тогда
такая константа
,
что
слово языка
,
которое имеет длину
,
можно представить в виде конкатенации
3-х слов:
,
где
и для
,слово
.
Доказательство.
Пусть
такой язык L
и константа p,
что условия леммы выполняются. Т. к. язык
L
– конечно автоматный, то
конечный автомат, который его распознаёт.
Пусть у него N
состояний. Возьмём p=N.
Рассмотрим слово
,
:
Запишем
для автомата последовательность
конфигураций при чтении слова
:
В этой последовательности содержится не менее чем p+1 =N+1состояний. Среди них найдутся 2 одинаковых.
Две конфигурации:
-
прочитанные части слова
.
.
y-префикс
слова
,
,
.
Подадим
на вход автомату слово, полученное
выбрасыванием слова y
из
,
т. е. слово xz.
Тогда читая x,
автомат перейдёт в
:
.
значит
,
т. е. выполняется условие леммы при i=0,
т. е.
.
Подадим
на вход слово
,
.
Тогда цепочка конфигураций:
,
,
,
пока не прочитаем все y.
Значит
,i>1.
При i=1 справедлива, значит -исходное слово. Ч. т. д.
Лемма используется для доказательства того, что язык нельзя представить в виде конечного автомата.
Пример:
От
противного. Пусть L-
конечно-автоматный. Тогда по Лемме
,
что
.
,
значит
,
где
.
Рассмотрим случаи для y:
1)
Пусть
i=2,
по лемме
.
При
этом число букв a
в
увеличится
по сравнению с
,
а число букв b
не увеличится. Значит
2)
аналогично 1) случаю.
3)
Рассмотрим ,
-Чередование
a
и b.
Значит
.
L-
не конечно-автоматный.
8. Правила построения регулярных выражений. Теорема Клини о совпадении классов конечно-автоматных и регулярных языков.
Регулярные выражения.
-алфавит.
Опр. Регулярное выражение R:
1)
-рег.
выр.
2)
-рег.
выр.
3)
-рег.
выр.
4)если
-рег.
выр, то
а)
-рег.
выр.
б)
-рег.
выр.
в)
-рег.
выр.
Пример:
=
.
Регулярное выражение задаёт мн-во слов, т. е. язык. Каждому рег. выр. сопоставляется язык L(R).
Правила построения языка по Рег Выр:
1)
2)
3)
,
4)если
и
-
языки, построенные по рег. выр.
,
то
а)
б)
в)
Опр. Языки, определямые рег. выр-ями, называются регулярными языками.
Пример:
1)
-слова
начинаются и заканчиваются на а.
2)
-слова
чётной длины.
соответствие
между множествами не взаимнооднозначно.
Каждому р-выражению соответствует один
язык. Языку могут соответствовать
несколько выражений.
Выражению:
соответствуют
слова чётной длины.
Теорема (Клини):
Класс регулярных языков совпадает с классом конечно-автоматных языков.
9. Алгоритм анализа конечного автомата.
Задача анализа конечного автомата заключается в построении по конечному автомату регулярного выражения.
Теорема анализа:
Для любого конечного автомата M язык L(M) – регулярный.
Доказательство: (конструктивный алгоритм д-ва Мак-Ноттона-Ямады)
1)
L(M) – конечно-автоматный язык.
2)
Пусть
Рассмотрим
язык
,
-мн-во
индексов состояний.
3)
- мн-во слов из
,
переводящих автомат из состояния
в
,
причем в качестве промежуточных состояний
встречаются только состояния из мн-ва
.
Наша задача получить РВ для L(H).
4)
.
Ф – мн-во номеров заключительных
состояний.
должны
уметь строить для любых i,
j.
5) 1. Пути длины 1
-
а)
- РВ.
б)
нет ребра
Ǿ
-
а)
.
б)
.
Должны
выписать
2.
должны уметь строить для любых
- k=0
,
где
- слова при переходе из
в
непосредственно.
- слова при переходе через начальную
вершину
(в
может быть петля).
i=0
j=0
i=j=0
-
i=k
k=j
Теорема Клини:
Класс регулярных языков совпадает с классом конечно-автоматных языков.