- •Русаков Алексей Михайлович
- •Лекции по дисциплине «Дискретная математика»
- •Введение.
- •Теория множеств.
- •Понятие множества. Операции над множествами.
- •Определение.
- •Определение.
- •Определение.
- •Пример.
- •Свойства операций сложения и пересечения множеств.
- •Определение.
- •Замечание.
- •Примеры.
- •Счётные множества. Теорема Кантора.
- •Определение.
- •Примеры счётных множеств.
- •Замечания.
- •Теорема.
- •Доказательство:
- •Задачи для самостоятельного решения.
- •Решите задачи № 1.30 1.39 с использованием диаграммы Эйлера-Венна.
- •Бинарные отношения в теории графов.
- •Например:
- •Матрицы смежности и инцидентности.
- •Пример.
- •Маршруты, цепи и простые цепи.
- •Определение
- •Расстояние и протяжённость в графе.
- •Деревья.
- •Примеры:
- •Например:
- •Помеченные графы. Перечисление помеченных деревьев.
- •Пример:
- •Теорема Келли.
- •Задача о кратчайшем соединении.
- •Задача о кратчайших путях.
- •Эйлеровы цепи, критерий Эйлеровости. Задача о Кёнигсбергских мостах.
- •Доказательство:
- •Достаточность.
- •Индуктивный переход.
- •Гамильтовы циклы.
- •Пример:
- •Примеры задач и упражнений.
- •Решение.
- •Задачи для самостоятельного решения.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение группы.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение и способы описания формальных грамматик.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Теория автоматов.
- •Основные понятия теории автоматов.
- •Определение.
- •Способы задания автоматов. Таблица переходов.
- •Определение.
- •Определение.
- •Способы задания автоматов. Граф автомата.
- •Определение.
- •Способы задания автоматов. Матрица переходов и выходов. Определение.
- •Машины Тьюринга и конечные автоматы. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Машины Тьюринга с двумя выходами.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Автоматы с магазинной памятью и бесконтекстные языки.
- •Определение.
- •Определение.
- •Модель дискретного преобразователя Глушкова в. М. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Понятие об абстрактном автомате и индуцируемом им отображении. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Определение.
- •Автоматные отображения и события. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Теорема.
- •Регулярные языки и конечные автоматы. Определение.
- •Определение.
- •Определение.
- •Определение.
- •Правила подчинения мест в регулярных выражениях.
- •Определение.
- •Определение.
- •Правила построения основного алгоритма синтеза конечных автоматов.
- •Пример.
- •Автомат Мили.
- •Определение.
- •Определение.
- •Автомат Мура.
- •Определение.
- •Определение.
- •Теория булевых функций.
- •Связь булевых функций и схем из функциональных элементов и контактных схем. Определение.
- •Замечания.
- •Теорема.
- •Доказательство:
- •Замечание.
- •Теорема. (Формулы разложения Клода Шеннона.)
- •Доказательство:
- •Замечания.
- •Основные свойства булевых функций. Замечание.
- •Определение.
- •Примеры задач и упражнений. Пример 1
- •Доказательство
- •Задачи для самостоятельного решения.
- •Элементы комбинаторики.
- •Основные понятия комбинаторики. Определение.
- •Определение.
- •Доказательство.
- •Теорема – правило включения-исключения.
- •Доказательство.
- •Доказательство.
- •8.2. Формулировка задания.
- •Определение.
- •Пример.
- •Переходы можно представить также с помощью таблицы и схематически:
- •Определение.
- •Последовательность выполнения.
- •Методический пример.
- •Контрольная распечатка.
- •Замечания.
- •Отчет по практической работе.
- •Контрольные вопросы
- •Варианты заданий.
- •Домашняя работа №1. По всей теории
- •Домашняя работа №2. Способы задания графов
- •8.03.2. Правила регулярного выражения.
- •Установка необходимого программного обеспечения.
- •Замечания.
- •Методический пример.
- •Контрольная распечатка.
- •Отчет по практической работе.
- •Контрольные вопросы.
- •Варианты заданий.
- •Дополнительные материалы.
- •Биография Георга Кантора (основатель теории множеств).
- •Город Калининград (Кёнигсберг).
- •Список литературы.
Определение.
Формально детерминированный магазинный автомат определяется как следующая совокупность объектов:
М = (V, Q, Vм, δ, q0, z0, F),
где V, Q, q0 ∈ Q, F – определяются также, как и для конечного автомата;
Vм = {z0, z1, ..., zp-1} – алфавит магазинных символов автомата;
δ – функция, отображающая множество Q х (V ∪ {ε}) x Vм в множество Q x Vм, где ε – пустая цепочка;
z0 ∈ Vм – так называемый граничный маркер, т. е. символ, первым появляющийся в магазинной памяти.
Определение.
Недетерминированный магазинный автомат отличается от детерминированного только тем, что значениями функции переходов являются не состояния, а множества состояний, то есть функция δ отображает множество Q х (V ∪ {ε}) x Vм в множество конечных подмножеств Q x Vм .
Как и в случае конечных автоматов, преобразователи с магазинной памятью отличаются от автоматов с магазинной памятью наличием выходной ленты.
Далее будем рассматривать только недетерминированные магазинные автоматы.
Рассмотрим интерпретацию функции δ для такого автомата. Эту функцию можно представить совокупностью команд вида:
(q, a, z) → (q1, γ1), ..., (qm, γm),
где q, q1, ..., qm ∈ Q, a ∈ V, z ∈Vм, γ1, ..., γm ∈Vм*.
При этом считается, что если на входе читающей головки автомата находится символ а, автомат находится в состоянии q, а верхний символ рабочей ленты z, то автомат может перейти к состоянию qi , если записать на рабочую ленту цепочку γi (1 ≤ i ≤ m) вместо символа z и передвинуть входную головку на один символ вправо.
Крайний левый символ γi должен при этом оказаться в верхней ячейке магазина. Команда (q, ε , z) → (q1, γ1), ..., (qm, γm) означает, что независимо от входного символа и, не передвигая входной головки, автомат перейдет в состояние qi, заменив символ z магазина на цепочку γi (1 ≤ i ≤ m).
Определение.
Ситуацией магазинного автомата называется пара (q, γ), где q ∈ Q, γ ∈Vм* .
Определение.
Между ситуациями магазинного автомата (q, γ) и (q′, γ′) устанавливается отношение, обозначаемое символом ├ , если среди команд найдется такая, что (q, ε , z) →(q1, γ1), ..., (qm, γm), причем γ = z β, γ′ = γ i β,
q′ = qi для некоторого 1 ≤ i ≤ m (z ∈Vм, β ∈Vм* ).
Определение.
Говорят, что магазинный автомат переходит из состояния (q, γ) в состояние (q′, γ′) и обозначают это следующим образом:
а : (q, γ) ├ (q′, γ′).
Вводится и такое обозначение:
а1 ... an : (q, γ) ├* (q′, γ′), если справедливо, что:
ai : (qi, γi) ├ (qi+1, γi+1), 1 ≤ i ≤ n,
где ai ∈ V, γi = γ1, γ2,..., γn+1 = γ′∈Vм* ; qi = q1, ..., qn+1 = q′∈ Q.
-
Бесконтекстные (контекстно-свободные) языки.
Существует два способа определения языка, допускаемого магазинным автоматом.
Согласно первому способу считается, что входная цепочка α ∈ V* принадлежит языку L1(M) тогда, когда после просмотра последнего символа, входящего в эту цепочку, в магазине автомата М будет находиться пустая цепочка ε.
То есть:
L1(M) = { α | α : (q0, z0) ├* (q, ε)}, где q ∈ Q.
Согласно второму способу, считается, что входная цепочка принадлежит языку L2(M) тогда, когда после просмотра последнего символа, входящего в эту цепочку, автомат М окажется в одном из своих заключительных состояний. Другими словами,
L2(M) = { α | α : (q0, z0) ├ * (q f, γ)}, где γ∈Vм* , qf ∈ F.
Доказано, что множество языков, допускаемых произвольными магазинными автоматами согласно первому способу, совпадает с множеством языков, допускаемых согласно второму способу.
Доказано также, что если L(G2) – бесконтекстный язык, порождаемый грамматикой G2 = (VN, VT, P, S), являющейся формой произвольной бесконтекстной грамматики G, то существует недетерминированный магазинный автомат М, такой, что L1(M) = L(G2).
При этом
М = (V, Q, Vм, δ, q0, z0, 0),
где V = VT; Q = {q0}; Vм = VN ; z0 = S, а для каждого правила G2 вида
А → а α, а ∈VТ,
α ∈VN* строится команда отображения δ:
(q0, а, А) → (q0, α).
Аналогично, для любого недетерминированного магазинного автомата М, допускающего язык L1(M), можно построить бесконтекстную грамматику G такую, что L(G) = L1(M).
Если для конечных автоматов детерминированные и недетерминированные модели эквивалентны соответствующему классу допускаемых языков, то этого нельзя сказать в отношении магазинных автоматов.
Детерминированные автоматы с магазинной памятью допускают лишь некоторое подмножество бесконтекстных языков, которые называют детерминированными бесконтекстными языками.