Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ShPOR1_16_na_1.docx
Скачиваний:
14
Добавлен:
23.09.2019
Размер:
1.45 Mб
Скачать

1 Предмет изучения дисциплины Дискретная математика

Дискретная математика, или  дискретный анализ – область математики, которая занимается исследованием структур и задач на конечных множествах. Поэтому в качестве синонима иногда используется термин «конечная математика». Можно считать общепринятым деление математики на непрерывную и дискретную. Последняя представляет собой важное направление, имеющее характерные для него предмет исследований, методы и задачи. Специфика задач дискретной математики в первую очередь предполагает отказ от основных понятий классической математики – предела и непрерывности. Поэтому для задач дискретной математики обычные средства классического анализа являются вспомогательными.

Дискретная и непрерывная математика взаимно дополняют друг друга. Понятия и методы одной часто используются в другой. Один и тот же объект может рассматриваться с  двух точек зрения и в зависимости от этого выбирается непрерывная или дискретная математика.

При исследовании, анализе и решении управленческих проблем, моделировании объектов исследования и анализа широко используются дискретные методы формализованного представления, являющиеся предметом рассмотрения в дискретной математике. К ним относятся методы, основанные на теоретико-множественных представлениях, графы, алгоритмы, математическая логика и др.

Дискретная математика  предлагает:

·         универсальные средства (языки) формализованного представления;

·         способы корректной переработки информации, представленной на этих языках;

·         возможности и условия перехода с одного языка описания явлений на другой с сохранением содержательной ценности моделей.

Сегодня дискретная математика является важным звеном математического образования. Умение проводить анализ, композицию и декомпозицию информационных комплексов и информационных процессов – обязательное квалификационное требование к специалистам в области информатики.

2Моделирование

Математическое моделирование – это процесс, использующий математический аппарат для решения реальных задач. Его можно представить в виде диаграммы, изображенной на рис. 1.1.

Рисунок ..1. Основные этапы математического моделирования

В качестве примера моделирования рассмотрим следующую задачу: Расстояние между шестью белорусскими городами: Брест, Витебск, Гомель, Гродно, Минск и Могилев дано в табл. 1.1. Требуется найти дорожную сеть минимальной длины, связывающую все шесть городов.

Таблица.1. Расстояние между городами (абстрактная модель задачи).

Брест

Витебск

Гомель

Гродно

Минск

Могилев

Брест

618

531

274

348

526

Витебск

334

538

270

169

Гомель

573

308

178

Гродно

268

475

Минск

327

Могилев

Сама таблица является абстрактной моделью реальной задачи. На ее основе трудно получить решение. Поэтому преобразуем ее в графическую модель – граф, чьи вершины обозначают города, а ребра – связывающие их дороги. Каждое ребро графа, изображенного на рис. 1.2, имеет вес, который означает расстояние между соответствующими городами согласно табл. 1.1.

Рисунок.2. Графическая модель задачи

Алгоритм Прима

Шаг 1. Выберите произвольную вершину и ребро, соединяющее ее с ближайшим (по весу) соседом.

Шаг 2. Найдите не присоединенную (еще) вершину, ближе всего лежащую к одной из присоединенных, и соедините с ней.

Шаг 3. Повторяйте шаг 2 до тех пор пока все вершины не будут присоединены.

Рисунок.3. Граф, построенный используя алгоритм Прима

3 Псевдокод

будем использовать псевдокод, основанный на языке программирования Pascal. Алгоритм в нем выглядит следующим образом:

begin

операторы исполняемых действий

операторы, управляющие порядком выполнения

end

Элементами алгоритмического языка являются операторы, которые можно разбить на две категории: операторы присваивания и операторы управления.

1.Оператор присваиванияприписывает переменным определенные величины и имеет такую общую форму:

имя переменной:= выражение

Пример 1.1. Алгоритм сложения двух чисел One и Two и присвоение результата переменной Sum.

begin

Input One and Two;

Sum:=One+Two

end

2.Оператор управленияопределяет порядок, в котором должны выполняться шаги алгоритма. Операторы управления бывают трех типов:

  • составные операторы;

  • условные операторы;

  • операторы цикла.

3.Составные операторыпредставляют собой список операторов, которые должны выполняться как отдельная команда в том порядке, в котором они записаны. Составные операторы имеют следующий вид:

begin

оператор 1;

оператор 2;

оператор п

end

4.Условныеоператорыпозволяют делать выбор между двумя альтернативными ситуациями. Они записываются в виде if-thenили if-then-else

Оператор цикла или просто цикл может иметь одну из трех форм записи:

  1. for X := A toZ do оператор;

  2. whileвыражение doоператор;

  3. repeat

Пример 1.4. Алгоритм вычисления суммы квадратов первых п натуральных чисел.

begin

Sum:=0;

for i:= 1 to ndo

begin

j := i * i;

Sum := Sum + j;

end

OutputSum

end

Проследим алгоритм в случае п= 4, записав результаты в табл. 1.3

Таблица.2

i

j

Sum

Перед выполнением цикла

0

Первый проход цикла

1

1

1

Второй проход цикла

2

4

5

Третий проход цикла

3

9

14

Четвертый проход цикла

4

16

30

Выводимый результат: Sum = 30.

псевдокод для алгоритма Прима, который позволяет выделить граф с минимальным общим весом в исходном графе, имеющем ребра между любыми двумя вершинами.

Пример 1.6.

begin

v:= произвольная вершина;и:= ближайшая соседняя вершина;

связать v и и;

while остаются неприсоединенные вершины do

begin

u:= неприсоединенная вершина, ближайшая к одной из присоединенных вершин;

соединить и с ближайшей из присоединенных вершин;

end

end

4

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]