- •Русаков Алексей Михайлович
- •Лекции по дисциплине «Дискретная математика»
- •Введение.
- •Теория множеств.
- •Понятие множества. Операции над множествами.
- •Определение.
- •Определение.
- •Определение.
- •Пример.
- •Свойства операций сложения и пересечения множеств.
- •Определение.
- •Замечание.
- •Примеры.
- •Счётные множества. Теорема Кантора.
- •Определение.
- •Примеры счётных множеств.
- •Замечания.
- •Теорема.
- •Доказательство:
- •Задачи для самостоятельного решения.
- •Решите задачи № 1.30 1.39 с использованием диаграммы Эйлера-Венна.
- •Бинарные отношения в теории графов.
- •Например:
- •Матрицы смежности и инцидентности.
- •Пример.
- •Маршруты, цепи и простые цепи.
- •Определение
- •Расстояние и протяжённость в графе.
- •Деревья.
- •Примеры:
- •Например:
- •Помеченные графы. Перечисление помеченных деревьев.
- •Пример:
- •Теорема Келли.
- •Задача о кратчайшем соединении.
- •Задача о кратчайших путях.
- •Эйлеровы цепи, критерий Эйлеровости. Задача о Кёнигсбергских мостах.
- •Доказательство:
- •Достаточность.
- •Индуктивный переход.
- •Гамильтовы циклы.
- •Пример:
- •Примеры задач и упражнений.
- •Решение.
- •Задачи для самостоятельного решения.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение группы.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение и способы описания формальных грамматик.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Теория автоматов.
- •Основные понятия теории автоматов.
- •Определение.
- •Способы задания автоматов. Таблица переходов.
- •Определение.
- •Определение.
- •Способы задания автоматов. Граф автомата.
- •Определение.
- •Способы задания автоматов. Матрица переходов и выходов. Определение.
- •Машины Тьюринга и конечные автоматы. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Машины Тьюринга с двумя выходами.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Автоматы с магазинной памятью и бесконтекстные языки.
- •Определение.
- •Определение.
- •Модель дискретного преобразователя Глушкова в. М. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Понятие об абстрактном автомате и индуцируемом им отображении. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Автоматные отображения и события. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Теорема.
- •Регулярные языки и конечные автоматы. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Правила подчинения мест в регулярных выражениях.
- •Определение.
- •Определение.
- •Правила построения основного алгоритма синтеза конечных автоматов.
- •Пример.
- •Автомат Мили.
- •Определение.
- •Определение.
- •Автомат Мура.
- •Определение.
- •Определение.
- •Теория булевых функций.
- •Связь булевых функций и схем из функциональных элементов и контактных схем. Определение.
- •Замечания.
- •Теорема.
- •Доказательство:
- •Замечание.
- •Теорема. (Формулы разложения Клода Шеннона.)
- •Доказательство:
- •Замечания.
- •Основные свойства булевых функций. Замечание.
- •Определение.
- •Примеры задач и упражнений. Пример 1
- •Доказательство
- •Задачи для самостоятельного решения.
- •Элементы комбинаторики.
- •Основные понятия комбинаторики. Определение.
- •Определение.
- •Доказательство.
- •Теорема – правило включения-исключения.
- •Доказательство.
- •Доказательство.
- •8.2. Формулировка задания.
- •Определение.
- •Пример.
- •Переходы можно представить также с помощью таблицы и схематически:
- •Определение.
- •Последовательность выполнения.
- •Методический пример.
- •Контрольная распечатка.
- •Замечания.
- •Отчет по практической работе.
- •Контрольные вопросы
- •Варианты заданий.
- •Домашняя работа №1. По всей теории
- •Домашняя работа №2. Способы задания графов
- •8.03.2. Правила регулярного выражения.
- •Установка необходимого программного обеспечения.
- •Замечания.
- •Методический пример.
- •Контрольная распечатка.
- •Отчет по практической работе.
- •Контрольные вопросы.
- •Варианты заданий.
- •Дополнительные материалы.
- •Биография Георга Кантора (основатель теории множеств).
- •Город Калининград (Кёнигсберг).
- •Список литературы.
Определение.
Формально машина Тьюринга определяется как следующая шестёрка:
Т = (V1, V2, Q, δ, q0, F),
где V1 = {a1, ..., an} – входной алфавит (конечное множество символов);
V2 = {А1, ..., Аk, B} – конечное множество ленточных символов, которое в качестве своего подмножества содержит входной алфавит;
Q = {q0 , q1, ..., qn-1} – конечное множество состояний;
q0 ∈ Q – начальное состояние;
F ⊆ Q – множество заключительных состояний;
δ – функция, отображающая Q . V2 в Q . V2 – {B} . {Л, П}.
(Л и П – специальные символы, указывающие на направление движения головки, лево и право).
Отображение (функцию) δ удобно задавать совокупностью команд вида: (q, A) → (q′, A′, Л) либо (q, A) → (q′, A′, П).
Определение.
Ситуация машины Тьюринга Т – это тройка вида (q, β, i),
где q ∈ Q;
β = A1, ..., An – часть ленты, не содержащая символов В (непустая часть ленты);
i = (0 ≤ i ≤ n+1) – расстояние ленточной (пишущей - читающей) головки от левого конца β; при i = 0 головка находится левее самого левого символа β, при i = n+1 – правее самого правого.
Рассмотрим произвольную ситуацию машины Т:
(q, A1 ... Ai .... An, i), 1 ≤ i ≤ n.
Пусть среди команд отображения δ имеется следующая:
(q, Ai) → (q′, X, Л).
При этом возможно следующее движение (или элементарное действие) машины Тьюринга: головка стирает символ Аi, записывает вместо него символ Х и перемещается на одну ячейку влево.
Между старой и вновь возникшей ситуациями в этом случае существует отношение, которое записывается следующим образом:
(q, A1 ... Ai .... An, i) ├ (q′, A1 ... Ai-1 Х Ai+1.... An, i -1).
Символ ├ означает – «утверждается».
Аналогично для команды (q, Ai) → (q′, X, П) движение машины Тьюринга записывается как
(q, A1 ... Ai .... An, i) ├ (q′, A1 ... Ai-1 Х Ai+1.... An, i+1).
Кроме рассмотренной ситуации возможны и такие:
(q, A1 ... An, 0);
(q, A1 ... An, n+1).
К ним применимы команды вида:
(q, В) → (q′, X, Л) либо
(q, В) → (q′, X, П).
Первая из этих команд меняет указанные ситуации соответственно следующим образом:
(q, A1 ... An, 0) ├ (q′, X A1 ... An, 0);
(q, A1 ... An, n+1) ├ (q′, A1 ... An X, n).
Вторая из этих команд меняет их так:
(q, A1 ... An, 0) ├ (q′, X A1 ... An, 2);
(q, A1 ... An, n+1) ├ (q′, A1 ... An X, n+2).
Определение.
Если ситуации (q1, β1, i1) и (q2, β2, i2) связаны между собой некоторым числом элементарных действий, то между ними имеет место отношение:
(q1, β1, i1) ├* (q2, β2, i2).
Определение.
Язык, допускаемый машиной Тьюринга Т, это:
L(Т) = {α | α∈ V1* ∧ (q0, α, 1) ├* (qf, β, i)},
где qf = F, β ∈ V2*, i ≥ 0.
Другими словами, если, преобразуя входную цепочку α, машина Т окажется в одном из своих заключительных состояний, эта цепочка допускается данной машиной.
Определение.
Так же как для автоматов введем понятие недетерминированной машины Тьюринга. Её отличие от детерминированной заключается в том, что функция δ отображает множество Q x V2 в множество подмножеств
Q x (V2 – {B}) x {Л, П}.
Определение.
Если язык L порождается грамматикой типа 0, то L допускается некоторой машиной Тьюринга. Верно и обратное, если язык L допускается некоторой машиной Тьюринга, то L порождается грамматикой типа 0.
-
Машины Тьюринга и линейно-ограниченные автоматы.
Рассмотренные типы автоматов и машин Тьюринга часто используются для построения автоматно-лингвистических моделей, предназначенных для распознавания языков. Необходимо знать, разрешима ли для них так называемая проблема распознавания или нет.
Определение.
Проблема разрешимости заключается в следующем. Пусть есть некоторая цепочка α на входе машины Тьюринга, которая допускает язык L. Всегда ли можно установить принадлежность цепочки α к языку L за конечное число элементарных действий этой машины?
Однако не для всех языков типа 0 эта проблема разрешима.
Другими словами, можно подобрать такой язык типа 0, что соответствующая ему машина Тьюринга для некоторой цепочки α за конечное число элементарных действий не сможет установить принадлежность ее к данному языку. Поэтому машина Тьюринга в общем виде не нашла применения в реальных кибернетических моделях; языки типа 0 также не используются.
Наибольший интерес представляют различные специальные классы машин Тьюринга, к которым можно отнести автоматы, рассмотренные выше, а также так называемые линейно-ограниченные автоматы, допускающие языки типа 1 (НС-языки).