- •Дискретная математика
- •Введение
- •Лабораторная работа №1
- •1. Теоретический раздел
- •2. Примеры решения задач с использованием множеств
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №2
- •1. Теоретический раздел
- •2. Примеры решения задач
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №3
- •1. Теоретический раздел
- •2. Примеры решения задач
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №4
- •1. Теоретический раздел
- •2. Описание алгоритма фронта волны
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №5
- •1. Теоретический раздел
- •2. Описание алгоритма построения минимального остовного дерева
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №6
- •1. Теоретический раздел
- •2. Описание алгоритмов нахождения кратчайшего пути
- •2.1. Алгоритм Дейкстры нахождения минимального пути
- •2.2. Алгоритм нахождения минимального пути Форда-Беллмана
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №7
- •1. Теоретический раздел
- •2. Описание алгоритма нахождения полного потока
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Лабораторная работа №8
- •1. Теоретический раздел
- •2. Описание алгоритма нахождения максимального потока
- •3. Контрольные вопросы
- •4. Задания для самостоятельного решения
- •Литература
- •Дискретная математика
2. Примеры решения задач
Пример 1. Дано множество А={1,2,3,4,5}.
α={(1,1),(1,2),(2,1),(2,2),(3,3),(3,4),(4,3),(4,4),(5,5)}
Написать программу, доказывающую, что α-транзитивно.
{процедура ввода множества}
Procedure InputVariety(var A:variety_type);
Var i, temp:integer;
Begin
for i:=1 to n do
begin
writeln('Введите ', i, '-ый элемент массива');
readln(temp);
A[i]:=temp;
end;
End;
{процедура ввода отношения}
Procedure InputRelation(var Alfa:relation_type);
Var i, j, temp:integer;
Begin
for i:=1 to kol do
begin
writeln('Введите ', i, '-ую пару отношения');
readln(Alfa[i,1], Alfa[i,2]);
end;
End;
{процедура вывода множества}
Procedure OutputVariety(A:variety_type; n:integer);
Var i:integer;
Begin
for i:=1 to n do
write(A[i],' ');
writeln;
End;
{процедура вывода отношения}
Procedure OutputRelation(Alfa:relation_type; kol:integer);
Var i, j:integer;
Begin
for i:=1 to kol do
begin
for j:=1 to 2 do
write(Alfa[i, j], ' ');
writeln;
end;
End;
{функция проверки свойства рефлексивности}
Function ReflexCheck(Alfa:relation_type; A:variety_type):boolean;
Var i, j, k, Ref:integer;
Begin
Ref:=0;
for k:=1 to n do
for i:=1 to kol do
if (A[k]=Alfa[i,1]) AND (A[k]=Alfa[i,2]) then
begin
Inc(Ref);
break;
end;
if Ref = n then ReflexCheck := true
else ReflexCheck := false;
End;
3. Контрольные вопросы
Что такое n-арные отношения? Приведите примеры.
Основные свойства бинарных отношений и их характеристики.
Какому свойству соответствует матрица с главной диагональю, содержащей только единицы?
Какому свойству соответствует матрица с главной диагональю, содержащей только нули?
Основные виды отношений.
Свойства отношения эквивалентности.
Свойства отношения порядка.
Свойства отношения толерантности.
4. Задания для самостоятельного решения
Написать программы, выполняющие следующие задания и проверить вычислением вручную.
Найти все элементы бинарных отношений R, построить таблицы(матрицы) и графы этих отношений:
xRy, x<y на множестве A={1;2;3;4};
xRy, x|y на множестве A = {5;6;…15};
xRy, y=x+1 на множестве A= {1;2;…;10}.
Для каждого из следующих бинарных отношений определить, какими свойствами (рефлексивность, симметричность, асимметричность, антисимметричность, транзитивность) оно обладает.
1) Отношения R заданы на множестве R:
xRy, x2 = y2;
xRy, x2 + y2 = 1;
xRy, xy>1;
xRy, y=|x|.
2) Отношения R заданы на множестве Z:
xRy, x ≤ y + 1;
xRy, x2 + y2 = 1;
xRy, 2x=3y.
Доказать, что приведенные ниже бинарные отношения являются отношениями эквивалентности, и найти классы эквивалентности:
отношение R задано на множестве N2+: (a,b) R (c,d) a+b = = c+d, a, b, c, d N;
отношение R задано на множестве N2: (a,b) R (c,d) ad=bc, a,b,c,d N;
отношение G задано на множестве R: aGb a2=b2;
отношение G задано на множестве R: aGb a-b Z.
Отношение R задано на множестве М={2,3,4,5,6,7,8,9,10}.Задайте отношение R списком, матрицей, графом, если R ={(a,b):a+3b делится на a}. Определите отношение, обратное к R и дополнение к R. Какими свойствами обладают данные отношения?
Отношение R задано на множестве М={2,3,4,5,6,7,8,9,10,12}.Задайте отношение R списком, матрицей, графом, если R ={(a,b) | a+b четное}. Определите отношение, обратное к R и дополнение к R. Какими свойствами обладают данные отношения?
Отношение R задано на множестве: М={2,3,4,5,6,7,8,9,10,12}.Задайте отношение R списком, матрицей, графом, если R означает - «быть делителем». Определите отношение, обратное к R и дополнение к R. Какими свойствами обладают данные отношения?
Отношение R задано на множестве: М={2,3,4,5,6,7,8,9,10,12}.Задайте отношение R списком, матрицей, графом, если R означает-«иметь один и тот же делитель, отличный от единицы».Определите отношение, обратное к R и дополнение к R. Какими свойствами обладают данные отношения?
Отношение R задано на множестве: М={2,3,4,5,6,7,8,9,10,12}.Задайте отношение R списком, матрицей, графом, если R ={(a,b):a+b делится на a}. Определите отношение, обратное к R и дополнение к R. Какими свойствами обладают данные отношения?
Отношение R задано на множестве М={3,4,5,6,7,8,9,10,11,12}. Задайте отношение R списком, матрицей, графом, если R ={(a,b):a+b делится на 5}. Определите отношение, обратное к R и дополнение к R.Какими свойствами обладают данные отношения?
Какими свойствами характеризуются следующие отношения на М={1,2,3,…,9}:
R1={(a,b): (a-b) - четное};
R2={(a,b): (a+b) - четное};
R3={(a,b): (a+1) – делитель (a+b)};
R3={(a,b): a – делитель (a+b), a≠1}.
Пусть М={1,3,5,7} и отношение R M×М. Задать списком отношение R, обратное отношение R-1, дополнение , транзитивное Ro и рефлексивное R* замыкания, если:
R={(a,b): a≤b};
R={(a,b): a+2=b};
R={(a,b): (a+b)/2 М};
R={(a,b): (a+b-1) М};
R={(a,b): a-1=b};
R={(a,b): 2a+b М}.
Пусть М={a,b,c} и β(M) – множество всех подмножеств множества М. Задать списком отношение R, заданное на β(М), а также обратное отношение R-1, дополнение , транзитивное Ro и рефлексивное R* замыкания, если:
R={(A,B):AB};
R={(A,B):AB};
R={(A,B):AB};
R={(A,B):A∩B≠Ø};
R={(A,B):A∩B=Ø};
R={(A,B):A∩B=Ø и AB=U}.