Модели вычислений — различия между версиями
(→Литература) |
(→Конечные автоматы и регулярные выражения) |
||
Строка 7: | Строка 7: | ||
=== Конечные автоматы и регулярные выражения === | === Конечные автоматы и регулярные выражения === | ||
<ol> | <ol> | ||
− | <li> | + | <li> Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения. |
− | <li> | + | <li> Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки. |
− | <li> Алгоритм проверки эквивалентности детерминированных конечных автоматов. | + | <li> Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов. |
− | <li> Минимальные детерминированные конечные автоматы. Алгоритм минимизации детерминированных конечных автоматов. | + | <li> Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов. |
− | <li> Алгебра регулярных выражений. | + | <li> Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками. |
− | <li> Алгоритм | + | <li> Теорема о разрастании для автоматных языков. Примеры неавтоматных языков. |
− | <li> | + | <li> Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами. |
+ | <li> Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик. | ||
+ | <li> Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами. | ||
</ol> | </ol> | ||
+ | |||
=== Вычислимые функции и рекурсивные множества === | === Вычислимые функции и рекурсивные множества === | ||
<ol start="8"> | <ol start="8"> |
Версия 13:46, 21 февраля 2015
Лектор - профессор Захаров Владимир Анатольевич.
Содержание
Программа курса
Конечные автоматы и регулярные выражения
- Формальные языки. Операции над языками. Проблемы принадлежности слова языку, пустоты, тотальности, равенства, включения.
- Недетерминированные конечные автоматы. Вычисления автоматов. Автоматные языки.
- Детерминированные конечные автоматы. Эквивалентные состояния и эквивалентные автоматы. Алгоритм проверки эквивалентности детерминированных конечных автоматов.
- Минимальные детерминированные конечные автоматы. Теорема о существовании и единственности минимального детерминированного конечного автомата. Алгоритм минимизации детерминированных конечных автоматов.
- Алгоритм преобразования конечного автомата к детерминированному виду. Замкнутость класса автоматных языков относительно операций над языками.
- Теорема о разрастании для автоматных языков. Примеры неавтоматных языков.
- Регулярные выражения. Алгебра регулярных выражений. Уравнения в регулярных выражениях. Теорема Клини о соответствии между регулярными выражениями и конечными автоматами.
- Задача проверки соответствия текста шаблону и теоретико-автоматный подход к ее решению. Задача поиска подстроки в строке. Алгоритм Ахо-Карасик.
- Двусторонние конечные автоматы. Теорема о соответствии между односторонними и двусторонними конечными автоматами.
Вычислимые функции и рекурсивные множества
- Машины Тьюринга: основные понятия. Арифметические функции, вычислимые по Тьюрингу.
- Моделирование многоленточных машин Тьюринга одноленточными машинами Тьюринга.
- Универсальная машина Тьюринга. Теорема Клини о совпадение класса арифметических функций, вычислимых по Тьюрингу, и частично-рекурсивных функций.
- Существование частично-рекурсивной функции, не имеющей рекурсивных доопределений. Неразрешимость проблем самоприменимости и останова для машин Тьюринга.
- Сводимость алгоритмических задач. Примеры алгоритмически неразрешимых задач анализа поведения программ.
- Теорема Райса и примеры ее применения.
- Рекурсивные множества. Замкнутость класса рекурсивных множеств относительно операций объединения, пересечения и дополнения.
- Рекурсивно-перечислимые множества. Замкнутость класса рекурсивных множеств относительно операций объединения, пересечения. Незамкнутость класса рекурсивно-перечислимых множеств относительно дополнения.
- Теоремы о характеристических свойствах рекурсивно-перечислимых множеств относительно рекурсивных функций.
Формальные грамматики и языки
- Формальные грамматики: основные понятия. Классификация Хомского формальных грамматик (иерархия Хомского).
- Праволинейные грамматики и языки. Совпадением класса праволинейных языков и класса автоматных языков. Разрешимость проблем принадлежности и эквивалентности для класса праволинейных языков.
- Теорема о разрастании (лемма о накачке) для автоматных языков. Примеры языков, не являющихся автоматными.
- Контекстно-свободные грамматики и языки. Примеры контекстно-свободных языков. Замкнутость класса контекстно-свободных языков относительно операции объединения. Разрешимость проблемы принадлежности для контекстно-свободных языков.
- Нормальная форма Хомского для контекстно-свободных грамматик. Приведение контекстно-свободных грамматик к нормальной форме Хомского.
- Теорема о разрастании (лемма о накачке) для контекстно-свободных языков. Примеры языков, не являющихся контекстно-свободными.
- Автоматы с магазинной памятью. Теорема о совпадении класса контекстно-свободных языков и класса языков, распознаваемых автоматами с магазинной памятью.
- Алгоритм Кока-Янгера-Касами синтаксического анализа контекстно-свободных языков.
- Незамкнутость класса контекстно-свободных языков относительно операций пересечения и дополнения.
- Контекстно-зависимые грамматики и языки. Примеры контекстно-зависимых языков. Разрешимость проблемы принадлежности для контекстно-зависимых языков.
- Грамматики типа 0 и рекурсивно-перечислимые языки.
Алгоритмически неразрешимые математические задачи
- Проблема соответствий Поста. Теорема об алгоритмической неразрешимости проблемы соответствий Поста.
- Алгоритмическая неразрешимость проблемы непустоты пересечения, проблемы тотальности и проблемы эквивалентности для контекстно-свободных грамматик.
- Примеры алгоритмически неразрешимых проблем арифметики, алгебры, комбинаторики.
Литература
- Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. Т. 1: Синтаксический анализ. - М.: Мир, 1978. - 612 с.
- Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты. - М.: Вильямс, 2001. - 768 с.
- Верещагин Н.К., Шень А. Лекции по математической логике и теории алгоритмов. Часть 3. Вычислимые функции. - М.: МЦНМО, 1999. - 176 с.
- Катленд Н. Вычислимость. Введение в теорию рекурсивных функций. - М.: Мир, 1983.
- Льюис Ф., Розенкранц Д, Стирнз Р. Теоретические основы проектирования компиляторов. - М.: Мир, 1979.. - 656 с.
- Матрос Д.Ш., Поднебесова Г.Б. Теория алгоритмов. - М.: Бином, 2008. - 200 с.
- Пентус А.Е., Пентус М.Р. Математическая теория формальных языков. Серия "Основы информатики и математики" - М: Бином, 2006. - 247 с.
- Роджерс Х. Теория рекурсивных функций и эффективная вычислимость. - М.: Мир, 1972.
- Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. - М.: Вильямс, 2002. - 528 с.
Правила проведения экзамена
Экзамен проводится в форме письменной контрольной работы. Время, отведенное на решение задач, составляет 120 мин. Письменная контрольная работа состоит из 10 заданий.
Задания 1-4 - это задачи требующие применения стандартных алгоритмов и методов решения. Правильное решение каждой такой задачи оценивается 2 баллами.
В заданиях 5-8 требуется сформулировать определения основных понятий, введенных в лекционном курсе. Правильное решение каждой такой задачи оценивается 1 баллом.
В задании 9 требуется сформулировать и доказать одну из теорем, рассмотренных в лекционном курсе. Правильное решение каждой такой задачи оценивается 2 баллами.
В задании 10 требуется решить теоретическую задачу, опираясь на сведения, представленные в лекционном курсе. Правильное решение каждой такой задачи оценивается 3 баллами.
Оценка контрольной работы проводится по следующим критериям:
14-17 баллов - отлично,
10-15 баллов - отлично,
7-9 баллов - удовлетворительно.