Файл: Дискретная математика.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 13.03.2024

Просмотров: 205

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

23

Л а б о р а т о р н а я р а б о т а № 3.2

Транзитивное замыкание отношения

Цель занятия: изучить и выполнить сравнительный анализ алгоритмов вычисления транзитивного замыкания отношения.

Задания

1. Изучить и программно реализовать алгоритмы объединения степеней и Уоршалла для вычисления транзитивного замыкания отношения.

2. Разработать и программно реализовать генератор отношений на множестве мощности N и содержащих заданное число пар.

3. Разработать и написать программу, которая генерирует 1000 отношений на множестве мощности N с заданным числом пар, для каждого отношения вычисляет транзитивное замыкание двумя алгоритмами и определяет время выполнения каждого алгоритма. Время вычисления транзитивного замыкания различных отношений на множестве мощности N с заданным числом пар может быть разным, поэтому программа так же должна определять минимальное и максимальное время вычисления транзитивного замыкания сгенерированных отношений. Выполнить программу при N = 50, 100 и 150. Результат для каждого N представить в виде таблицы (табл. 3).

 

 

 

 

 

 

 

 

 

 

 

Таблица 3

 

Время выполнения алгоритмов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Число пар в отноше-

1

N2/4

N2/2

 

N2 2/3

N2

нии

 

min

max

min

max

min

max

 

min

max

min

max

Алгоритм

объеди-

 

 

 

 

 

 

 

 

 

 

 

нения степеней

 

 

 

 

 

 

 

 

 

 

 

Алгоритм

Уоршал-

 

 

 

 

 

 

 

 

 

 

 

ла

 

 

 

 

 

 

 

 

 

 

 

 

Примечание.

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


24

Л а б о р а т о р н а я р а б о т а № 3.3

Фактормножества

Цель занятия: научиться программно формировать фактормножество для заданного отношения эквивалентности.

Задания

1.Отношение (табл. 4) представить графом и характеристической функцией в матричной форме. Найти разбиение Ф, определяемое заданным отношением эквивалентности.

2.Написать программу, которая формирует разбиение, определяемое заданным отношением эквивалентности.

 

Таблица 4

 

Варианты заданий

 

 

Вариант

Отношение

1

А={(x,y) | x N и y N и x<11 и y<11 и ((x и y четные) или x=y)}

2

А={(x,y) | x N и y N и x<11 и y<11 и ((x и y четные) или

 

(x и y нечетные))}

3

A={(x,y) | x N и y N и x<11 и y<11 и (|x-y| кратно 5 или x=y)}

4

А={(x,y) | x N и y N и x<11 и y<11 и (x+y — нечетно или x=y)}

5

А={(x,y) | x N и y N и x<11 и y<11 и x+y — четно}

6

А={(x,y) | x N и y N и x<11 и y<11 и (x+y кратно 3 или x=y)}

7

А={(x,y) | x N и y N и x<11 и y<11 и (|x–y| кратно 3 или x=y)}

8

А={(x,y) | x N и y N и x<11 и y<11 и (x и y меньше 3 или x и y

 

больше 3 или x=y)}

9

А={(x,y) | x N и y N и x<11 и y<11 и (|x–y| кратно 4 или x=y)}

10

А={(x,y) | x N и y N и x<11 и y<11 и (x и y кратно 3 или x и y

 

кратно 5 или x=y)}

11

А={(x,y) | x N и y N и x<11 и y<11 и (x и y четно и меньше 5

 

или x и y нечетно и больше 5 или x=y)}

12

А={(x,y) | x N и y N и x<11 и y<11 и (x и y четно и меньше 7

 

или x=y)}

13

А={(x,y) | x N и y N и x<11 и y<11 и ((x,y) {1,2,3}2 или

 

(x,y) {6,7,8,9}2 или x=y)}

14

А={(x,y) | x N и y N и x<11 и y<11 и ((x,y) {1,2,5}2 или

 

(x,y) {3,7,8,9}2 или x=y)}

15

А={(x,y) | (x,y) {1,3,10}2 или (x,y) {2,7,8,9}2 или (x,y) {4,5,6}2}


25

Л а б о р а т о р н а я р а б о т а № 3.4

Упорядоченные множества

Цель занятия: изучить упорядоченные множества, алгоритм топологической сортировки, научиться представлять множества диаграммами Хассе, находить минимальные (максимальные) и наименьшие (наибольшие) элементы упорядоченного множества.

Задания

Даны множества точек на плоскости М1 (рис. 3), М2 (рис. 4) и отношение порядка (табл. 5). Для определения отношения на множестве точек примем следующие обозначения: ax — абсцисса точки a; ay — ордината a. На рис. 3 координаты правой верхней точки считать (1,1). На рис. 4 координаты самой верхней точки считать (0,2), а координаты самой правой точки считать (2,0).

1.Написать программы, формирующие матрицы отношений в соответствии с вариантом задания (табл. 5), на множествах М1 и М2.

2.Написать программы, формирующие матрицы отношения доминирования по матрицам отношения порядка.

3.Написать программу, реализующую алгоритм топологической сортировки по матрице отношения доминирования.

4.Изобразить диаграмму Хассе отношения доминирования на

множествах М1 и М2.

5. Найти минимальные и максимальные элементы множеств М1 и

М2.

6. Найти, если существуют, наименьший и наибольший элементы множеств М1 и М2.

Y Y

X

 

X

Рис. 3. Множество М1

Рис. 4. Множество М2

 

 

 

26

 

Таблица 5

 

Варианты заданий

 

 

Вариант

Отношение

1

А={(a,b) | ax bx и ay by }

2

А={(a,b) | ax by и bx = ay }

3

A={(a,b) | ax bx }

4

А={(a,b) | ax ay bx by }

5

А={(a,b) | ax bx и ay < by }

6

А={(a,b) | ax bx ay by }

7

А={(a,b) | ay by }

8

А={(a,b) | ax2 + ay2 < bx2 + by2 }

9

А={(a,b) | ax < bx и ay by }

10

А={(a,b) | ax bx by ay }

11

А={(a,b) | ax by }

12

А={(a,b) | ax ay и bx by }

13

А={(a,b) | ax < bx и ay < by }

14

А={(a,b) | ax + ay < bx + by }

15

А={(a,b) | ax = by и bx ay }

Контрольные вопросы

1.Что называется упорядоченной парой? Чем различаются упорядоченная пара и двухэлементное множество? Какое отличие в обозначениях упорядоченной пары и двухэлементного множества?

2.Что является прямым (декартовым) произведением множеств?

3.Определите мощность прямого (декартова) произведения двух заданных конечных множеств.

4.Что называется бинарным соответствием?

5.Что является областью отправления и областью определения бинарного соответствия? Что является областью прибытия и областью значений бинарного соответствия?

6.Определите область отправления, область определения, область прибытия и область значений заданного бинарного соответствия.

7.Что называется образом и прообразом элемента при бинарном соответствии?

8.Определите образ каждого элемента из области определения заданного соответствия. Определите прообраз каждого элемента из области прибытия заданного соответствия.

9.Какое бинарное соответствие называется функциональным?


27

10.Какое соответствие называется полностью определенным? Что называется отображением?

11.Какая функция называется сюръективной, а какая — инъектив-

ной?

12.Что называется взаимно-однозначным отображением?

13.Что называется бинарным отношением?

14.Какое бинарное отношение называется пустым, тождественным, универсальным?

15.Приведите примеры задания отношений различными способа-

ми.

16.Определите, принадлежит ли заданная упорядоченная пара композиции заданных отношений. Назовите упорядоченную пару, принадлежащую композиции заданных отношений и упорядоченную пару, не принадлежащую композиции этих отношений.

17.Дайте определения основным и производным свойствам отношений. Определите свойства заданного отношения.

18.Что называется замыканием отношения относительно заданного свойства?

19.Получите транзитивное замыкание отношения, заданного гра-

фом.

20.Что называется классом эквивалентности и фактормножеством?

21.Постройте отношение эквивалентности, определяемое заданным разбиением.

22.Что называется упорядоченным множеством?

23.Какие элементы упорядоченного множества называются сравнимыми, а какие — несравнимыми?

24.Какое множество называется линейно упорядоченным?

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

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

27.Что представляет собой транзитивное замыкание отношения доминирования, ассоциированного с заданным отношением порядка.

28.Определите основные свойства отношения доминирования.

29.Является ли отношение доминирования отношением порядка?

30.Что такое диаграмма Хассе?

31.Что такое топологическая сортировка? Примените алгоритм топологической сортировки к отношению, граф которого имеет циклы.


28

4. ГРАФЫ

Л а б о р а т о р н а я р а б о т а № 4.1

Маршруты

Цель занятия: изучить основные понятия теории графов, способы задания графов, научиться программно реализовывать алгоритмы получения и анализа маршрутов в графах.

Задания

1.Представить графы G1 и G2 (см.”Варианты заданий”, п.а) матрицей смежности, матрицей инцидентности, диаграммой.

2.Определить, являются ли последовательности вершин (см. ”Варианты заданий”, п.б) маршрутом, цепью, простой цепью, циклом, простым циклом в графах G1 и G2 (см.”Варианты заданий”, п.а).

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

цепью, простой цепью, циклом, простым циклом в графах G1 и G2 (см.”Варианты заданий”, п.а).

4.Написать программу, получающую все маршруты заданной длины, выходящие из заданной вершины. Использовать программу для

получения всех маршрутов заданной длины в графах G1 и G2 (см.”Варианты заданий”, п.а).

5.Написать программу, определяющую количество маршрутов заданной длины между каждой парой вершин графа. Использовать программу для определения количества маршрутов заданной длины меж-

ду каждой парой вершин в графах G1 и G2 (см.”Варианты заданий”, п.а).

6.Написать программу, определяющую все маршруты заданной длины между заданной парой вершин графа. Использовать программу для определения всех маршрутов заданной длины между заданной парой вершин в графах G1 и G2 (см.”Варианты заданий”, п.а).

7.Написать программу, получающую все простые максимальные цепи, выходящие из заданной вершины графа. Использовать программу для получения всех простые максимальных цепей, выходящих из заданной вершины в графах G1 и G2 (см.”Варианты заданий”, п.а).