Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Дискретная Математика.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
186.88 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ

ДОНБАССКАЯ ГОСУДАРСТВЕННАЯ МАШИНОСТРОИТЕЛЬНАЯ АКАДЕМИЯ

КАФЕДРА КОМПЬЮТЕРНЫХ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

М.П.Богдан

ДИСКРЕТНАЯ МАТЕМАТИКА

МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ

ПОДГОТОВКИ К КОНТРОЛЮ ЗНАНИЙ

ДЛЯ СТУДЕНТОВ ЗАОЧНОГО ОТДЕЛЕНИЯ

направления подготовки 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);

– распознаваемые цепочки содержат запрет на определенные сочетания символов в начале, конце или (и) во всей цепочке;

– распознаваемые цепочки содержат комбинации названных выше ограничений. (более подробно – см. лекции по ДМ).