
- •Общие положения
- •Перечень тем
- •Тема 1 Конечные автоматы. Построение конечных автоматов для распознания регулярных множеств.
- •Тема № 1 Конечные автоматы. Построение конечных автоматов для распознания регулярных множеств
- •Построение конечного автомата – распознавателя для заданного регулярного множества
- •Задание
- •Варианты заданий темы 1 для самостоятельной подготовки
- •Вопросы по теории темы 1 для самостоятельной подготовки
- •Тема № 2 Построение мп – автоматов Построение мп – распознавателей Задание
- •Построение мп – трансляторов
- •Варианты заданий для самостоятельной подготовки
- •Вопросы по теории темы 2 для самостоятельной подготовки
- •Тема № 3 Формальные языки и грамматики Построение мп – распознавателей для кс–грамматик задание
- •Варианты заданий для самостоятельной подготовки
- •Вопросы по теории темы 3 для самостоятельной подготовки
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ
ДОНБАССКАЯ ГОСУДАРСТВЕННАЯ МАШИНОСТРОИТЕЛЬНАЯ АКАДЕМИЯ
КАФЕДРА КОМПЬЮТЕРНЫХ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
М.П.Богдан
ДИСКРЕТНАЯ МАТЕМАТИКА
МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ
ПОДГОТОВКИ К КОНТРОЛЮ ЗНАНИЙ
ДЛЯ СТУДЕНТОВ ЗАОЧНОГО ОТДЕЛЕНИЯ
направления подготовки 6.050101
«КОМПЬЮТЕРНЫЕ НАУКИ»
Утверждено
на заседании кафедры
КИТ
Протокол № __ от ___.2012г
КРАМАТОРСК ДГМА 2012
ББК 32.973–018я7+22.174
УДК 681.3.06 : 51(075)
681.5.01 : 512
681.142.2
Дискретная математика: Методические указания для самостоятельной подготовки к контролю знаний студентов заочного отделения направления подготовки 6.050101 «Компьютерные науки» / Сост. М.П.Богдан. – Краматорск: ДГМА, 2012. – 16 с.
В методических указаниях кратко изложен теоретический материал и приведены примеры решения задач по темам, которые вынесены на контроль знаний с разбивкой на модули (модуль 1 – контрольная работа; модуль 2 – практическая часть экзаменационной работы по дисциплине «Дискретная математика». Приведены также варианты задач для самостоятельной практической подготовки студента.
Составитель: М.П.Богдан, ст. преп.
С О Д Е Р Ж А Н И Е
Общие положения 4
Перечень тем 4
Распределение материала тем по модулям 4
Тема № 1 5
Построение конечного автомата – распознавателя для заданного регулярного множества 7
Варианты заданий темы 1 для самостоятельной подготовки 8
Вопросы по теории темы 1 для самостоятельной подготовки 9
Тема № 2 Построение МП – автоматов 9
Построение МП – распознавателей 9
Построение МП – трансляторов 10
Варианты заданий для самостоятельной подготовки 12
Вопросы по теории темы 2 для самостоятельной подготовки 12
Тема № 3 Формальные языки и грамматики 13
Построение МП – распознавателей для КС–грамматик 13
Варианты заданий для самостоятельной подготовки 15
Вопросы по теории темы 3 для самостоятельной подготовки 15
Общие положения
В связи с уменьшением количества аудиторных часов на изучение дисциплин на заочном отделении Ученый Совет ДГМА принял решение об отмене контрольных работ в традиционной форме, которые студент – заочник выполнял в течение триместра (выполнение индивидуальных заданий – решение с оформлением 4-6 задач, сдача их на проверку, работа над ошибками после проверки, защита) и заменил их контрольной работой, которую студент выполняет в течение 2-х часов в присутствии преподавателя по индивидуальному заданию (билету). В такой билет входит несколько заданий практического характера (задач), ориентировочное суммарное время выполнения которых при нормальной подготовке студента не превышает 2-х часов. В соответствии с РСОД такую контрольную работу можно считать сдачей модуля 1. Модуль 2 – экзамен, на который выносятся теоретические вопросы и практическая часть, которая не вошла в модуль 1. При этом студент допускается к сдаче модуля 2 (экзамена) только после сдачи модуля 1. Оценивается каждый модуль по 100-бальной шкале с весовыми коэффициентами 0,5 для получения результирующей оценки.
Перечень тем
Тема 1 Конечные автоматы. Построение конечных автоматов для распознания регулярных множеств.
Тема 2 Конечные автоматы с магазинной памятью (МП–автоматы). Автоматы-трансляторы с магазинной памятью (МП–трансляторы). Построение МП–автоматов для распознания заданных множеств; построение МП–трансляторов для преобразования заданных множеств.
Тема 3 Формальные языки и грамматики. Классификация грамматик, типы и виды грамматик. Эквивалентные преобразования (упрощение) грамматик. Построение распознавателей для двух видов контекстно-свободных грамматик (S - грамматики и q–грамматики).
Распределение материала тем по модулям
Модуль 1
1 Построение МП–трансляторов для преобразования заданных множеств (тема 2).
2 Построение распознавателей для S–грамматики (тема 3).
3 Построение распознавателей для q–грамматики(тема 3).
Модуль 2
1 Теория тем 1–3.
2 Построение конечных автоматов для распознания регулярных множеств (тема 1).
3 Построение МП–распознавателей для заданных множеств (тема 2).
Тема № 1 Конечные автоматы. Построение конечных автоматов для распознания регулярных множеств
Конечный автомат (в дальнейшем КА) – абстрактное вычислительное устройство с фиксированным и конечным объемом памяти, которое на входе читает цепочки (последовательности символов некоторого алфавита), а на выходе сообщает об их принадлежности к некоторому множеству, для распознания которого он построен.
Принцип работы конечных автоматов различных уровней широко применяется в вычислительных устройствах как на аппаратном, так и на программном уровнях: это компиляторы, трансляторы программ, различные кодировщики, антивирусные программы и т.п. В принципе работу любой программы можно представить как работу цепочки конечных автоматов различной сложности. Рассмотрим построение простейших КА – распознавателей. В процессе построения такого конечного автомата должны быть определены следующие параметры:
а) входной алфавит V конечного автомата (конечное множество входных символов, которые будет распознавать КА);
б) конечное множество состояний S;
в) начальное состояние КА – s0 (состояние, с которого начинает работу КА при обработке новой цепочки);
г) множество допускающих состояний – Sдоп (подмножество состояний, с элементами которого сравнивается достигнутое КА состояние после прихода символа "конец цепочки");
д) таблица переходов (управляющая таблица), которая паре "текущее состояние – входной символ" ставит в соответствие новое состояние КА из множества состояний S).
Примечания:
1 В множество входных символов обязательно включают особый символ "конец цепочки", который сообщает КА о том, что достигнутое состояние si нужно сравнить с элементами множества Sдоп и, если si Sдоп , пропустить цепочку; в противном случае цепочка отвергается. В тексте этот символ будет иметь вид –|.
2 Часто при распознании цепочек возникает ситуация, когда невозможно текущей паре "состояние – входной символ" поставить в соответствие новое состояние. По сути это означает, что цепочка не принадлежит распознаваемому множеству, хотя она и не просмотрена до символа "конец цепочки". Такие ситуации в таблице переходов помечаются символом "Е" ("error"); попав в такое состояние, КА отвергает проверяемую цепочку и переходит в начальное состояние. В конкретных программных реализациях может вызываться обработчик ошибок, выдаваться сообщение о характере ошибки и т.п.
КА всегда начинает работу из начального состояния s0. Символы распознаваемой цепочки поступают посимвольно, начиная с первого, и изменяют состояния КА в соответствии с таблицей переходов. После поступления символа "конец цепочки" достигнутое автоматом состояние фиксируется и сравнивается с множеством допускающих состояний. На основании этого сравнения цепочка допускается или отвергается. По сути КА работает как фильтр, который пропускает "правильные" цепочки. Другая трактовка КА – компактный алгоритм распознания регулярных, в том числе и бесконечных множеств, который строит программист перед началом кодирования (реализацией алгоритма на конкретном языке программирования).
Построение КА для распознания заданного множества цепочек – процесс творческий и неоднозначный. Теоретически для распознания одного и того же множества цепочек можно построить бесконечное множество КА. Описанный выше принцип распознания применим далеко не ко всякому регулярному множеству. Он эффективен в следующих случаях:
– распознаваемые цепочки содержат определенные сочетания символов в начале, конце или (и) середине цепочки;
– распознаваемые цепочки содержат ограниченное число повторений определенных символов или их сочетаний (не больше n; точно n; не меньше n, причем n = 1,2,3);
– распознаваемые цепочки содержат запрет на определенные сочетания символов в начале, конце или (и) во всей цепочке;
– распознаваемые цепочки содержат комбинации названных выше ограничений. (более подробно – см. лекции по ДМ).