Языки, автоматы, формальные грамматики (3 часа)
Лектор: Станкевич Андрей Сергеевич
План лекции
- Языки
- Алфавит, слово, язык
- Операция конкатенации, моноид слов
- Операции над языками
- Конечные автоматы
- Детерминированный конечный автомат
- Язык, допускаемый автоматом
- Недетерминированный конечный автомат
- Реализация конечных автоматов в программе
- Алгоритм Томпсона детерминизации НКА
- Автомат с \eps-переходами
- Регулярные выражения
- Два определения регулярных языков
- Эквивалентность регулярных и автоматных языков
- Регулярные выражения
- Лемма о разрастании
- Формальные грамматики
- Формальные грамматики, вывод
- Контестно-свободные грамматики
- Формы Бэкуса-Науэра
- Дерево вывода. Левый и правый вывод
- Нормальная форма Хомского для КС-грамматик
|
Задания
3. | Постройте ДКА, который допускает множество слов, в которых есть как 0, так и 1, причем есть 0, который идет перед 1 |
4. | По НКА допускающему язык слов, заканчивающихся на \alpha, постройте ДКА с минимальным числом состояний, допускающий тот же язык |
5. | Докажите, что в НКА всегда можно устранить \eps-переходы, в КС-грамматике можно устранить \eps-продукции и цепные продукции |
6. | Докажите, что определения регулярных языков, приведенные на лекции, эквивалентны |
7. | Докажите, что регулярные языки замкнуты относительно следующих операций: пересечение, дополнение, разность, обращение всех слов, переход к языку циклических сдвигов |
8. | Докажите нерегулярность следующих языков: {0^n1^n}, {\alpha\alpha}, язык палиндромов, язык простых чисел 0^p, язык правильных скобочных последовательностей |
9. | Докажите лемму о разрастании для КС-грамматик. Установите что язык 0^n1^n2^n не является КС. Докажите, что КС-языки не замкнуты относительно операции пересечения |
|