Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Дискретная математика. Примеры и задачи. Практикум

.pdf
Скачиваний:
0
Добавлен:
11.08.2026
Размер:
545 Кб
Скачать

в) Либо

3

разные цифры из {1,2,4,5,0}. Всего таких чисел будет

A3 =

5!

 

=

5!

= 3 4 5 = 60 (здесь порядок выбора важен).

 

 

 

5

(5 3)! 2!

 

Всего чисел в этой группе будет n3 = 3 + 36 + 60 = 99 .

 

 

 

 

 

 

 

 

4-я группа

У чисел из этой группы на первом месте стоит «четверка». Эти числа имеют вид 4***, где на место *** выбираются 3 цифры из набора

111222235000.

Случай не отличается от предыдущего (просто заменяем «тройку» на «четверку»).

Всего чисел в этой группе будет n4 = n3 = 99 .

5-я группа

У чисел из этой группы на первом месте стоит «пятерка». Эти числа имеют вид 5***, где на место *** выбираются 3 цифры из набора 111222234000.

Случай не отличается от предыдущего (просто заменяем «четверку» на «пятерку»).

Всего чисел в этой группе будет n5 = n4 = 99.

Замечание! На первое место ставить «нуль» нельзя, т.к. такое число не будет являться четырехзначным.

Всего четырехзначных чисел будет N=n1+n2+n3 3=168+167+99 3=632.•

Вопросы для самопроверки

1.В каких случаях применяется правило умножения?

2.В каких случаях применяется правило сложения?

3.В чем отличие сочетаний от размещений?

4.В каких случаях используется формула числа сочетаний?

5.В каких случаях используется формула числа размещений?

6.В каких случаях используется формула числа перестановок?

11

2. Формулы включений и исключений

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

Если множества не имеют общих элементов, то их изображают непересекающимися кругами. В противном случае, круги пересекаются.

Универсальное множество обозначается U и изображатся в виде прямоугольника.

Определим 4 операции над множествами: пересечение, объединение, разность, дополнение. Соответствующие операции продемонстрированы на рисунке 2.1 с помощью диаграмм Венна.

а) б) в) г)

Рисунок 2.1. – Операции над множествами

а) пересечение ( A I B); б) объединение ( A U B); в) разность ( A \ B );

г) дополнение А ( A = U\A )

Мощностью конечного множества A называется количество элементов в нем. Если множество А имеет n элементов, то пишут |A| = n.

Пусть имеется два пересекающихся множества А и В (рисунок 2.1а). Количество элементов в объединении этих множеств находится по формуле:

A U B = A + B A I B .

Эта формула носит название формулы включений и исключений для пересечения двух множеств. В случае трех пересекающихся множеств, формула пртобретет вид:

A U B UC = A + B + C ( A I B + A I C + B I C )+ A I B I C

Пусть имеются 3 множества A, B, C и универсальное множество |U|=N. Обозначим через N(r) – мощность множества, элементы которого принадлежат ровно r множествам (r = 0, 1, 2, 3). Тогда справедливы следующие формулы.

N(3) = A U B UC = A + B + C ( A I B A I C B I C )+ A I B I C ; N(2) = ( A I B + A I C + B I C ) 3 A I B I C ;

N(1) = A U B UC = A + B + C 2( A I B + A I C + B I C )+3 A I B I C ;

N(0) = N A U B UC =N ( A + B + C ( A I B + A I C + B I C ) A I B I C ) .

Пример 2.1

Управление имеет 300 предприятий, из них 100 предприятий выпускают продукцию А, 150 – продукцию B, 200 – продукцию С. Продукцию А и В выпускают 40 предприятий, В и С – 100 предприятий, А и С – 60 предприятий. Все виды продукции выпускают 20 предприятий. Сколько предприятий

12

а) выпускают ровно один вид продукции А, В или С?

б) не выпускают ни одного из указанных видов продукции?

Решение:

Рассмотрим 2 способа решения такой задачи: с помощью диаграмм Венна и с помощью формулы включений и исключений.

Первый способ

Нарисуем 3 пересекающихся круга, каждый из которых будет обозначать множество предприятий, выпускающих, соответственно, продукцию A, B или C. Затем будем записывать в каждую непересекающуюся часть кругов количество предприятий, соответствующее этой части, используя данные из условия задачи. Рисунок 2.2 демонстрирует этот процесс.

Рисунок 2.2. – Определение мощностей множеств

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

а) На рисунке 2.3 закрашено множество, соответствующее предприятиям, которые выпускают ровно один вид продукции А, В или С.

Рисунок 2.3. – Предприятия, выпускающие ровно один вид продукции

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

13

N(1) = 20 + 30 + 60 =110 .

б) На рисунке 2.4 закрашено множество, соответствующее предприятиям, которые не выпускают ни одного из указанных видов продукции.

Рисунок 2.4. – Предприятия, не выпускающие ни одного из видов продукции A, B, C

По условию задачи мощность универсального множества – количества предприятий, рассматриваемых в задаче, | U |= 300 . Тогда, количество

предприятий, не выпускающих ни одного из видов продукции A, B, C:

N(0) = 300 (20 + 20 + 20 + 40 + 30 +80 + 60) = 300 270 = 30 .

Второй способ

Введем обозначения:

N – общее количество предприятий.

NA – количество предприятий, которые выпускают продукцию A (и может быть еще другую).

NB – количество предприятий, которые выпускают продукцию B (и может быть еще другую).

NC – количество предприятий, которые выпускают продукцию C (и может быть еще другую).

NAB – количество предприятий, которые выпускают продукцию A и B (и может быть еще C).

NAC – количество предприятий, которые выпускают продукцию A и C (и может быть еще B).

NBC – количество предприятий, которые выпускают продукцию B и C (и может быть еще A).

NABC – количество предприятий, которые выпускают все три вида продукции

A, B, C.

а) N(1) – количество предприятий, выпускающих ровно один вид продукции, находится по формуле:

N(1) = (NA + NB + Nc ) 2(NAB + NAC + NBC ) + 3NABC .

Из условия задачи

NA + NB + Nc =100 +150 + 200 = 450 , NAB + NAC + NBC = 40 + 60 +100 = 200 ,

NABC = 20 .

14

Тогда, N(1) = 450 2 200 + 3 20 =110 .

110 предприятий выпускают ровно один вид продукции.

б) N(0) – количество предприятий, не выпускающих ни одного из указанных видов продукции, находится по формуле:

N(0) = N (NA + NB + Nc ) + (NAB + NAC + NBC ) NABC .

По условию задачи N=300. Тогда,

N(0) = 300 450 + 200 20 = 30 .

30 предприятий не выпускают ни одного из указанных видов продукции A,

B, C.

Вопросы для самопроверки

1.Какие операции определены над множествами?

2.Что такое мощность множества?

3.Приведите формулу включений и исключений для трех множеств.

4.Как определить количество элементов, не принадлежащих ни одному из трех пересекающихся множеств?

5.Как определить количество элементов, принадлежащих ровно двум из трех пересекающихся множеств?

15

3. Графы

Графы являются существенным элементом математических моделей в самых разнообразных областях науки и практики. Они служат удобным средством описания связей между объектами и помогают наглядно представить взаимоотношения между объектами или событиями в сложных системах. Неформально граф можно рассматривать как множество точек (вершин) и линий со стрелками или без них (ребер), соединяющих эти точки.

Мы постоянно сталкиваемся с графами. Например, графом является схема линий метрополитена. Вершинами на ней представлены станции, а ребрами – пути движения поездов. Граф может изображать сеть улиц в городе (вершины – перекрестки, улицы – ребра), блок-схемы программ (вершины – блоки, ребра – переходы), электрические цепи, географические карты и т.д.

Более точно граф определяется как упорядоченная пара (V, E), где V – непустое множество вершин, E V 2 – множество ребер. Граф будем обозначать G. Число вершин графа называется его порядком и обозначается V , число ре-

бер обозначается как E .

Вершины u и v называются смежными, если существует ребро, их соединяющее. Вершина v и ребро e инцидентны, если v является концом е.

Пример 3.1

Для графа на рисунке 3.1 определить смежные вершины и инцидентные вершинам ребра.

Рисунок 3.1. – Граф примера 3.1

Решение:

Граф имеет 4 вершины V = v1,v2,v3,v4 и 4 ребра E = e1,e2,e3,e4 . Пары

смежных вершин: v1 и v2, v1 и v3, v2 и v3, v2 и v4. Вершина v1 инцидентна ребрам e1 и e2, вершина v2 инцидентна ребрам e1, e3 и e4, вершина v3 инцидентна ребрам

e2 и e3, вершина v4 инцидентна ребру e4. •

Ребро может соединять вершину графа саму с собой, тогда такое ребро называется петлей. В некоторых задачах инцидентные ребру вершины рассматриваются в определенном порядке, тогда ребру приписывается направление от одной вершины к другой, и ребро называется дугой. Граф, все ребра которого являются дугами, называется орграфом. Иногда ребрам и дугам графа приписывают некоторые числа, такой граф называется взвешенным.

16

Степенью вершины v называется число инцидентных ей ребер. Степень вершины обозначается deg v. Например, для графа на рисунке 3.1 deg(v1) = 2, deg(v2 ) = 3 .

Если пронумеровать все вершины графа 1, 2, …, n и сформировать в этом же порядке последовательность степеней всех вершин, то получим степенную последовательность. Граф с пронумерованными вершинами называется поме-

ченным.

Пронумеруем вершины графа на рисунке 3.1 по индексам его вершин. Тогда, выписав степени всех вершин в соответствии с их номерами, получим степенную последовательность (2, 3, 2, 1).

3.1.Способы задания графов

Для представления графов в программах используют матрицы смежности и инцидентности. Дадим определения этих матриц и приведем примеры.

Пусть G – помеченный граф с n вершинами и m ребрами. Определим матрицу смежности A(G) следующим образом:

1,

если вершины v и v

j

смежные

 

i

 

aij =

иначе

 

.

0,

 

 

 

 

 

 

Заметим, что матрица смежности квадратная, размера n n.

Пример 3.2

Для графа на рисунке 3.1 построить матрицу смежности.

Решение:

Для удобства заполнения подпишем напротив строк и столбцов матрицы вершины графа. Граф не имеет петель, поэтому на диагонали матрицы будут стоять нули. Элемент aij равен 1, если существует ребро, инцидентное вершинам vi и vj, в противном случае элемент равен 0.

 

 

 

v1

v2

v3 v4

 

 

v1

 

0

1

1

0

 

 

 

v

 

1

0

1

1

 

. •

A(G) =

2

 

 

 

 

 

 

 

v3

 

1

1

0

0

 

 

 

 

 

 

 

 

 

v4

 

0

1

0

0

 

 

Можно заметить, что матрица смежности является симметричной, количество единиц в каждой строке равно степени вершины, которой соответствует эта строка. По матрице смежности легко построить графическое представление графа.

Определим матрицу инцидентности I(G), имеющую n строк и m столбцов, элементы которой задаются следующим образом:

17

1,

если вершина v

инцидентна ребру е

ik l =

k

l .

0,

иначе

 

Пример 3.3

Для графа на рисунке 3.1 построить матрицу инцидентности.

Решение:

Матрица инцидентности имеет количество столбцов, равное количеству ребер, и количество строк, равное количеству вершин. Для удобства заполнения подпишем напротив строк вершины графа, а напротив столбцов – ребра графа. В каждом столбце матрицы должны стоять ровно 2 единицы в строках, соответствующих вершинам инцидентным ребру, находящемуся в заголовке столбца. Остальные элементы столбца равны 0.

 

 

 

e1

e2

e3 e4

 

 

v1

 

1

1

0

0

 

 

 

v

 

1

0

1

1

 

. •

I (G) =

2

 

 

 

 

 

 

 

v3

 

0

1

1

0

 

 

 

 

 

 

 

 

 

v4

 

0

0

0

1

 

 

3.2.Маршруты, цепи, циклы

Маршрутом от вершины u к вершине v или (u,v) маршрутом в графе G называется всякая последовательность вида

u = v0,e1,v1,e2,K ,en,vn = v ,

где ek – ребро, соединяющее вершины vk 1 и vk , k =1,2, ,n. В случае орграфа vk 1 – начало ребра еk, a vk – его конец. При этом вершину u называют началом маршрута, а вершину v – его концом. В маршруте некоторые вершины и ребра

могут совпадать. Маршрут можно задавать последовательностью

вершин

v0 ,v1 , ,vn , а также последовательностью ребер e1 ,e2 , ,en . Число

ребер в

маршруте называется его длиной.

Маршрут называется цепью, если в нем нет совпадающих ребер, и простой цепью – если дополнительно нет совпадающих вершин, кроме, может быть, начала и конца цепи. Если начало цепи (простой цепи) совпадает с ее концом, то такая цепь называется циклом (простым циклом). Например, для графа на рисунке 3.1, простой цикл (v1,v2,v3,v1) . Граф без циклов называется ацикличе-

ским.

Граф называется связным, если любые две вершины u и v в нем можно соединить (u,v) маршрутом. Легко видеть, что отношение связности на множестве вершин является отношением эквивалентности. Данное отношение разбивает множество вершин графа на классы, объединяющие вершины, которые можно связать друг с другом маршрутом. Такие классы называются компонентами связности. Связный граф имеет одну компоненту связности.

18

3.3.Задача поиска минимального остова графа

Эта задача возникает при проектировании, когда требуется заданные центры соединить некоторой системой каналов связи таким образом, чтобы любые два центра были связаны непосредственно или через другие каналы, и чтобы общая длина (стоимость) каналов связи была минимальной.

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

Рассмотрим алгоритм Краскала решения этой задачи. В алгоритме используются два правила:

1.Первое ребро остова – ребро минимального веса в исходном графе.

2.Если граф Ti уже построен (i<n-1), то новый граф Ti+1 получается из графа Ti присоединением ребра ei+1, имеющего минимальный вес среди ребер, не входящих в Ti, и не составляющего циклов с ребрами из Ti.

Пример 3.4

Граф G задан списком ребер (каждый элемент списка – это тройка чисел: номера двух смежных вершин и вес ребра, их соединяющего).

(1, 2, 1), (1, 4, 4), (1, 6, 3), (2, 3, 2), (2, 4, 9), (2, 6, 1), (3, 4, 3), (3, 5, 5), (4, 7, 2), (5, 6, 2), (5, 7, 7). Требуется

а) Нарисовать граф G.

б) Найти степенную последовательность графа G. в) Найти матрицу смежности графа G.

г) Обозначить ребра и найти матрицу инцидентности графа. д) Найти минимальный остов графа и его вес.

Решение:

а) Будем последовательно выбирать очередное ребро из списка ребер и рисовать вершины, инцидентные этому ребру, если они к этому моменту еще не были нарисованы, и, соединив инцидентные ребру вершины, подписывать на построенном ребре вес. Пояснения к построению графа приведены на рисунке 3.2.

Рисунок 3.2. – а) Процесс построения графа

19

Рисунок 3.2. – б) Продолжение процесса построения графа

б) Каждый элемент степенной последовательности отражает, с каким количеством вершин связана вершина с текущим номером в степенной последовательности. Если посмотреть на последнее изображение графа на рисунке 3.2, то можно увидеть, что вершина 1 соединена ребрами с тремя другими вершинами, вершина 2 – с четырьмя другими вершинами и т.д. Поэтому степенная последовательность для данного графа имеет вид: (3, 4, 3, 4, 3, 3, 2).

в) У графа 7 вершин, поэтому матрица смежности – квадратная размера 7 7. Для удобства заполнения слева и сверху в матрице подпишем вершины. Будем заполнять матрицу, перемещаясь последовательно от одной строки к другой. В каждой строке элемент матрицы aij равен 1, если вершина i соединена с вершиной j. После того, как заполнили все 1 в строке, остальные элементы заполняем нулями. Поскольку матрица симметрична относительно главной диагонали, то можно зеркально отразить заполненную строку относительно главной диагонали и, таким образом, заполнить столбец. В этом случае для последующих строк достаточно будет заполнять единицами только элементы, находящиеся в столбцах, расположенных правее главной диагонали.

На рисунке 3.3а подробно продемонстрирован процесс заполнения первой строки матрицы смежности. Например, вершина 1 соединена с вершинами 2, 4, 6, поэтому в первой строке напротив столбцов с заголовками 2, 4, 6 стоят единицы. Далее заполняем в первой строке все остальные элементы нулями и пе-

20

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