Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Множество. Алгебра множеств.



Лекции по

 


Курс

 

 

Москва 2000


Лекция 1

Множество. Алгебра множеств.

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

 

R – множество действительных чисел.

X e R – элемент X принадлежит множеству R.

 

Равные множества – множества, состоящие из одинаковых элементов.

 

A = B – множество А равно множеству B.

 

0 – пустое множество.

 

A< = C – Множество А является подмножеством множества С.

 

Если А не равно С и А < = C, то А < С. (строго).

Если A < = C и C < = А, то А = С.

 

Пустое множество 0 является подмножеством любого множества.

 

Существуют конечные и бесконечные множества. Пусть n – число элементов данного множества А. Это число называется мощностью данного множества.

 

У множества рациональных чисел мощность является счетной (т.е. все элементы можно пронумеровать).

У множества иррациональных чисел мощность – континиум. Обозначается (С).

Основное правило комбинаторики (показано на примере)

Пусть имеется палочка, разделенная на 3 части. Первую ее часть можно раскрасить n способами, вторую – m, третью – k. Всего способов раскраски палочки – n*m*k.

Аналогично с множествами

U = {a1, a2… an-1, an}

Пусть U = {a1, a2, a3}

Выпишем множество всех подмножеств множества U.

 

P(U) = {0, a1, a2, a3, a1a2, a1a3, a2a3, a1a2a3}.

 

Мощность множества U равна 3, а мощность P(U) равна 8.

 

Методом математической индукции доказывается, что при произвольной мощности n множества U, мощность множества P(U) равна 2n.

 

Операции над множествами

1. Объединение множеств (A U B). Элемент, принадлежащий полученному множеству, принадлежит множеству А ИЛИ множеству В.

2. Пересечение множеств (A n B). Элемент, принадлежащий полученному множеству, принадлежит множеству А И множеству В.

3. Дополнение множества А. (С = А ) – не А. Все элементы, принадлежащие универсальному множеству, не принадлежат множеству А.

 

Свойства операций над множествами.

1. A U B = B U A – коммутативность

. A n B = B n A

2. (A U B) U C = A U (B U C), A n (B n C) = (A n B) n C – ассоциативность.

3. (A U B) n C = (A n C) u (B n C), (AnB) U C = (A U C) n (B U C) – дистрибутивность.

4. Поглощение A U A = A, A n A = A.

5. Существование универсальных границ.

А U 0 = A

A n 0 = 0

A u U = U

A n U = A

6. Двойное дополнение

A = A

7. A U A = U

A n A = 0

8. Законы двойственности или закон Де – Моргана

(AUB) = A n B

(AnB) = A U B

 

                   
   
 
   
Объединение множеств
 
 
   
Дополнение множества
 
   

 

 



Лекция 2

Теория булевых функций. Булева алгебра.

Определение.

Множество M с двумя введенными бинарными операциями (& V), одной унарной операцией (*) и двумя выделенными элементами называется булевой алгеброй, если выполнены следующие свойства ( аксиомы булевой алгебры ). Названия операций пока не введены.

 

1. X & Y = Y& X, X V Y = Y V X – коммутативность.

2. (X & Y) & Z = X & (Y & Z), (X V Y) V Z = X V (Y V Z) – ассоциативность.

3. (X V Y) & Z = (X & Z) V (Y & Z), (X & Y) V (Y & Z) = (X V Z) & (Y & Z) – дистрибутивность.

4. Поглощение – X & X = X, X V X = X.

5. Свойства констант

X & 0 = 0

X & I = X, где I – аналог универсального множества.

6. Инвальтивность (X*)* = X

7. Дополнимость X V X* = I, X & X* = 0.

8. Законы двойственности – (X & Y)* = X* V Y*, (X V Y)* = X* & Y

 

Булева алгебра всех подмножеств данного множества.

U = {a1, a2… an)

[U] = N

[P(U)] = 2n

 

Легко показать, что свойства операций над множествами совпадают со свойствами (аксиомами) булевой алгебры. То есть, множество P(U) с операциями объединения, пересечения и дополнения является булевой алгеброй.

Oбъединение эквивалентно V, пересечение - &, дополнение - *, пустое множество – 0, а универсальное – I.

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

Утверждение

Между множеством всех подмножеств множества U и булевым кубом Bn, где n= =[U] можно установить взаимное соответствие, при котором операции объединения множества соответствует операции логического сложения (их характеристических векторов), операции пересечения множеств соответствует операция логического умножения их характеристических векторов, а операции дополнения – операция отрицания. Пустому множеству соответствует нулевой вектор, а универсальному – единичный.

Следствие

Множество всех характеристических векторов является булевой алгеброй.

Утверждение (основа всей алгебры логики)

Между множеством всех классов эквивалентных высказываний об элементах множества U и множеством P(U) можно установить взаимно однозначное соответствие, при котором операция дизъюнкции высказываний соответствует операции объединения множеств истинности, а конъюнкция соответствует операции пересечения. Операция отрицания соответствует операции дополнения.

Следствие. Множество классов эквивалентных высказываний является булевой алгеброй.

Теорема

Существуют 3 булевых алгебры:

1. P(U)

2. Bn

3. Множество классов эквивалентных высказываний.

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

 

Договоримся конъюнкцию обозначать точкой (как знак умножения в алгебре чисел). Конъюнкция выполняется раньше дизъюнкции (аналог выполнения операций сложения и умножения в алгебре чисел).


Лекция 3

Определение и способ задания булевых функций

 

Булевой функцией от n аргументов называется однозначное отображение n – мерного булева куба на одномерный булев куб.

 

Способы задания функций

1. Табличный

X1 X2 X3 … XN F(X)
0 0 0 0 0 0 0 0 0 g1
gi
1 1 1 1 1 1 1 1 1 gn

 

gi - значение функции от данных аргументов.

Порядок возрастания векторов по мере возрастания их номеров называют лексикографическим.

2. Векторный

F = (g1...gn)

3. Геометрический

Единичным вектором для данной функции называется тот вектор, значение функции на котором равно 1.

Носителем данной функции – совокупность всех единичных векторов этой функции (Nf – носитель функции f)

 

На векторах, помеченных звездочкой, функция обращается в 1.

 

Nf = {001, 011, 100, 110} = [1, 3, 4, 6] [] – указаны номера векторов.

 

3. В виде формулы.

Функция f зависит от переменной xi фиктивно, если для любых двух наборов значений переменных, отличающихся только значением переменной xi, значения функции f совпадают.

Будем говорить, что f зависит от переменной xi существенно, если существуют такие два набора значений, отличающихся только значением переменной xi, на которых значения функций различно.

Фиктивные переменные у функции можно добавлять и исключать.

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

 

Строим таблицу функций при n = 1.

X X _ X

 

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

 

X Y & _____ Y®X X ___ X®Y Y + V ¯ ~ _ Y X ®Y _X Y®X /
                                     

Все эти функции от двух аргументов мы и будем называть элементарными булевыми функциями.

Основными элементарными функциями являются конъюнкция, дизъюнкция и отрицание.

Элементарные булевы функции удовлетворяют всем аксиомам булевой алгебры.

Суперпозиции булевых функций

Ф = {ф1…фk}

 

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

1. Переименование какого-нибудь аргумента в одной из функций системы (возможно отождествление аргумента).

2. В одну из функций системы вместо любого аргумента ставится значение любой функции из этой системы.

 

Ф1 = {Y…xn}

Фi = (x1 … фj(x1…xn) … xn)

 

Ф(1) – множество всех элементарных суперпозиций из системы Ф.

Ф(k+1) – множество всех элементарных суперпозиций из систему Фk.

 

Функция g называется суперпозицией функций из системы, если

$ N: g Î  Фn

Это означает, что g можно получить из функции системы Ф, применяя конечное число раз операцию элементарной суперпозиции.

Конкретное выражение суперпозиции будем называть формулой над системой Ф.

G = Fф

Суперпозиция элементарных булевых функций – формула.

Для удобства записи договоримся, что отрицание – самая сильная операция. Следующая – конъюнкция, а остальные – равносильны.

_ _

X+Y = XY V XY

_ _

X ~ Y = XY V XY

__

X ® Y = X V Y

_ _

X ¯  Y = X Y


Лекция 4

Лекция 5

Продолжение темы «ДНФ»

Носитель элементарной конъюнкции ранга R будем называть интервалом ранга R.

Интервал ранга R содержит 2N-R векторов.

N – количество рассматриваемых векторов.

Интервал – носитель элементарной конъюнкции.

 

Теорема

Носитель дизъюнкции двух функций равен объединению носителей этих функций.

Доказательство.

" a Î Nf V g Þ f(a ) V g(a ) = 1 Þ  f(a ) = 1 ИЛИ g(a ) = 1 Þ  a Î Nf ИЛИ a Î N g

ч.т.д.

Носитель ДНФ является объединением интервалов.

Допустимым интервалом для данной функции называется интервал, который целиком содержится в носителе этой функции.

Nf = I1 V I2 V … V Ik

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

Элементарная конъюнкция, носителем которой является допустимый интервал, называется импликантой.

ЭК, N – максимальный интервал – простая импликанта.

Представление носителя в виде объединения максимальных интервалов будем называть покрытием носителя максимальными интервалами.

Дизъюнкция всех возможных простых импликант называется сокращенной ДНФ функции.

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

ДНФ, которая соответствует неприводимому покрытию, называется тупиковой ДНФ.

Утверждение.

Минимальная ДНФ содержится среди тупиковых ДНФ.

Определение

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

Элементарная конъюнкция, соответствующая ядровому интервалу – ядровая импликанта.

Объединение всех ядровых интервалов – ядро функции.

Дизъюнкция всех ядровых импликант - ядровая ДНФ.

Ядро функции обязательно входит в любое неприводимое покрытие.

 

Алгоритм получения минимальной ДНФ.

1. Выделяем носитель функции.

2. Выделяем все возможные интервалы.

3. Выписываем все простые импликанты.

4. Выделяем ядровый интервал.

5. Используя ядро функции и комбинацию неядровых интервалов, получаем все неприводимые покрытия, для каждого из которых выписываем тупиковую ДНФ.

6. Среди тупиковых ДНФ выбираем минимальную.

 

X1 X2 X3 F
0
0
0
1
1
1

 

Выделение всех возможных интервалов.

1. Для булева куба размерности 3 интервалом ранга 1 могут быть 4 вершины, лежащие в одной грани.

2. Ранга 2 – любые 2 вершины, соединенные ребром.

3. Ранга 3 – любая отдельная вершина.

 

1. Нет _

2. I1 = { 001 011} < -> П1 = x1x3 - ядровый

I2 = { 011 111} < -> П2 = x2x3

Если координата вектора меняет значения, то переменная не входит

I3 = { 111 110} < -> П3 = x1x2

_

I4 = { 110 100} < -> П4 = x1x3

 

Dсокр. = П1 V П2 V П3 V П4

 

Nf = I1 U I4 U I2 (U – объединение)

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

D1= П1 V П4 V П2

Nf = I1 U I4 U I3

D2= П1 V П4 V П3

Сосчитаем ранги тупиковых ДНФ

R1 = 6

R2 = 6

 
 


Dmin = D1 = D2

 

Лекция 6

Формализация Мак-Клоски.

 

Каждой ЭК ставим в соответствие булев вектор. (x с отрицанием – 0, без отрицания – 1).

 

1. Выписываем все ЭК из СДНФ функции в формализованном виде в столбец, располагая их в порядке возрастания числа единиц в векторах и разбивая на классы по числу единиц.

2. Между ЭК проводим все возможные склеивания. Результат записываем в новый столбец справа, а ЭК, участвовавшие в склеивании, помечаем звездочкой. Склеивать можно только ЭК из соседних классов.

3. Для полученного столбца еще раз применяем шаг 2.

4. Все ЭК, которые остались непомеченными звездочкой, являются простыми импликантами.

5. Строим таблицу Квайна по следующему правилу:

А) Каждой строке ставим в соответствие простую импликанту Пi.

Б) Каждому столбцу – ЭК из СДНФ Kj.

6. Если Пi.покрывает Kj , то в соответствующей клетке ставим знак +.

7. Ищем ядровые импликанты (столбец, содержащий только 1 знак +). Та строка и есть ядровая (строка, в какой этот крестик содержится).

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

9. Ядро дополняем до тупиковой ДНФ (Ищем минимальную комбинацию строк так, чтобы в каждый столбец входил хотя бы один крестик). Дизъюнкция этих строк даст тупиковые ДНФ.

10. Среди всех тупиковых ДНФ выбираем минимальную.


Лекция 7

Лекция 8

Лемма о нелинейной функции

Если F(X) нелинейна, то из нее путем подстановки вместо аргументов-констант переменных (x, y, not x, not y) иожно получить: конъюнкцию этих переменных, дизъюнкцию этих переменных, отрицание конъюнкции, отрицание дизъюнкции.

F = 1 + x1+x3+x1x3+x1x2x3 = x1x3(1+x2) +x3+x1+1

F(x1, 0, x3) = x1x3+x3+1

___

F(x0y) = (xy)


Лекция 9

Доказательство леммы 3

 

F(x1…xn) = x1x2 (f1(x1…xn)) + x1f2(x1…xn) + x2f3(x1…xn) + f4(x1…xn)

 

Вместо x1…xn ставим константы a1…an, такие, что

f1(a1…an) = 1

 

1. A = B = 0

F(x1x2…a3…an) = x1x2 + C = {x1x2, если с = 0 и NOT(x1x2, если с = 1)

Аналогично получаем дизъюнкцию и ее отрицание.

 

Теорема Поста.

Система функций полна тогда и только тогда, когда она не находится ни в одном из пяти важнейших замкнутых классов, а именно S, M, L, T0, T1.

1. Необходимо.

Дана полная система функций. Отсюда следует, что она не принадлежит никакому замкнутому классу (см. выше).

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

 

[S] = [B] = B

 

Но S - множество всех булевых функций, а B – не всех.

Получили противоречие.

 

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

Дано

S Ë {S, M, L, T0, T1}

 

Каждая функция (f с индексами 1…5) не принадлежит каждому соответствующему ей важнейшему замкнутому классу.

1. Получение констант.

F1(00…0) = 1

a) F(111) = 1

b) F(111) = 0

F(xxxx) = 1

F2(111) = 0

2. Получение отрицаний

Из F4 по лемме 2 мы можем получить отрицание.

3. Используя F5 по лемме 3 получаем xy, x V y, not(xy), not(x V y)

 

 

Лекция 10

Формулы сумматора

Zi = Xi + Yi + Qi – сумма по модулю 2

Qi+1 = XiYi V XiQi V QiYi


Лекция 11

Графы

 

Графом (G) будем называть тройку объектов (V, X, q )

 

V – множество n вершин.

X – конечное множество ребер.

q - функция инцидентности, которая каждому элементу множества X ставит в соответствие пару элементов из множества V.

 

q задана на множестве X.

 

Если в значении функции инцидентности допускается перестановка вершин, то граф называется неориентированным. В противном случае граф называется ориентированным (Орграф).

Vj – начало ребра

Vk – его конец

 

q(xi) = (Vj, Vk) – ребро инцидентно в вершине Vj и в вершине Vk.

 

Если одной и той же паре вершин инцидентно несколько ребер, то ребра называются кратными.

Если на ребре xi0

q (x0) = (Vj0, Vj0),

то ребро называется петлей.

 

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

1. Аналитический

Если вершине не инцидентно никакое ребро, то эта вершина называется изолированной.

Выписываются все ребра и пишутся напротив две пары вершин, которым они инцидентны.

В конце выписываются все изолированные вершины.

2. Геометрический

Каждая вершина графа задается точкой. А ребра, инцидентные паре вершин – кривой.

Желательно рисовать кривые без пересечения. Если пересечения существуют, то их надо отличать от вершин.

 

 
 

 

3. С помощью матрицы инцидентности

A(m*n)

m = [V] – число вершин

n = [X}- число ребер

 

а) Неориентированные графы

Aij = {0, если Vi не инцидентно xj, 1, если Vi инцидентно xj)

 

б) Орграфы

Aij = {0, если Vi не инцидентно xj, -1, если Vi - начало xj, 1, если Vi - конец xj)

 

Для петель нужны дополнительные предположения.

 

4. Матрица смежности (задается одинаково для всех графов)

 

B(m*m) m = [V]

 

Bij равно числу ребер, инцидентных паре вершин (oi, oj)

Если граф не ориентирован, то матрица симметрична.

 

Граф, в котором нет кратных ребер и петель, называется простым.

Простой граф называется полным, если любой паре его вершин инцидентно одно ребро.

Дальше все о неориентированных графах.

 

K1 – полный граф с одной вершиной

 
 

 

 


K2 – с двумя

 
 

 

 


K3 – с тремя

 

 

 
 

 


K4 – полный граф с четырьмя вершинами

 

 
 

 

 

K5 – полный пятивершинник

 
 

 

 


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

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

 

 
 

 

 


Полный двудольный граф.

 

 

Маршруты, циклы, связности.

 

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

Будем говорить, что этот маршрут соединяет первую и последнюю вершину. Если существует маршрут, то последняя вершина называется достижимой из первой вершины.

Маршрут, в котором нет повторяющихся ребер, называется цепью.

Маршрут, в котором нет повторяющихся вершин (кроме первой и последней), называется простой цепью.

Если в простой цепи первая и последняя вершины совпадают, то она называется циклом.

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

Эти части называются компонентами связности.

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

 

Утверждение.

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

Связный граф, у которого все ребра ациклические, называется деревом.

Несвязный граф, компонентами связности которого являются деревья, лесом.

Свойства деревьев.

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

2. Чтобы граф был деревом, необходимо и достаточно, чтобы любые две вершины его соединялись единственным маршрутом.

3. Граф будет деревом тогда и только тогда, когда добавление любого нового ребра приводит к появлению ровно одного цикла.


Лекция 12

Эйлеровы графы

 

       
 
 
   

 


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

Такой маршрут называется Эйлеровым циклом, а граф, в котором он существует, называется Эйлеровым графом.

Степень вершины в графе – это число ребер, инцидентных этой вершине.

 

Критерий эйлеровости графа.

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

 

Планарные графы.

 

Определение.

 

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

Сама же укладка графа без пересечения ребер называется плоским графом.

 

Любой граф можно изобразить в трехмерном пространстве без пересечения ребер.

 

 

 


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

 

Граф будет планарным, если существует его укладка на сфере.

 

 

 


Доказательство следует из взаимно однозначного соответствия точек на сфере с точками плоскости из стереографических проекций.

Следствие. Граф любого выпуклого многогранника планарен.

 

Ребра плоского графа разбивают плоскость на несколько частей, одна из которых бесконечна. Эти части и являются гранями плоского графа.

 

Теорема Эйлера о плоских графах.

Формула Эйлера.

 

Для плоского графа справедливо соотношение.

M – N + P = 2.

 

Докажем индукцией по числу граней

P = 1

Если P = 1, то граф – дерево. В нем нет ни одного цикла. У дерева число вершин больше числа ребер на 1.

M = N + 1

N + 1 – N + 1 = 2 – справедливо.

 

Пусть p = k, и утверждение верно.

Тогда оно верно и при P= k+1

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

N1 = N – 1

P1 = P – 1

M = M

k + 1-1 = k

Для g1 справедливо предположение индукции.

M1 + N1 + P1 = 2

M – N – 1 + K = 2

M – N + K – 1 = 2

M – N + P = 2

Что и требовалось доказать.

 

Следствие 1.

Для плоского связного простого графа справедливо соотношение

n < = 3*(m-2)

 

Следствие 2.

Для плоского связного простого графа без треугольных граней справедливо соотношение

n < = 2*(m-2)

 

Следствие 3.

Граф K5 – непланарен.

 

 
 

 

 


m > 2

 

И если бы он был плоским, то для него было бы справедливо следствие 1.

 

N < = 3*(m-2)

10 < = 9 – неверно.

Противоречие. Значит, он не может быть нарисован плоским.

 

Следствие 4.

Граф K3-3 непланарен.

 
 

 


Нет треугольных граней.

Если бы он был плоским, то для него было бы справедливо следствие 2.

 

9 < = 2*(6-2)

9 < = 8 – неверно.

 

Противоречие из предположения, что он не может быть плоским.

 

Операцией разбиения ребра графа называется следующая процедура:

 

Ребро удаляется из графа, и в граф добавляется новая вершина, соединенная новыми ребрами с концами данного ребра.

 

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

 

Теорема Понтрягина – Куратовского.

Чтобы граф был планарным, необходимо и достаточно, чтобы он не содержал гомеоморфных подграфов.


Лекция 13

Лекция 14

Лекция 15

Потоки в транспортных сетях

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

V – вершина орграфа

M-(V) – множество ребер, для которых вершина V является концом.

M+(V) – множество ребер, для которых вершина V является началом.

 

Транспортной сетью называется связный орграф без петель, для которого выполнены следующие условия

 

1. Существует только одна вершина A, для которой M-(А) – пустое множество. А – исток.

2. Имеется только одна вершина B, для которой M+(B) – пустое множество. В – сток.

3. Каждому ребру графа поставлено в соответствие целое неотрицательное число, называемое пропускной способностью данного ребра.

 

 
 


2(1) 3(1) 1(1)

6(0)

5(5)

 


1(1) 4(1) 2(1)

 


Потоком в транспортной сети (ТС) называется целочисленная функция, определенная на любых ребрах ТС и удовлетворяющая следующим свойствам

1. ф(X) < = C(X), где С(X) – пропускная способность ребра.

На всех ребрах значение функции потока не превосходит значения пропускной способности ребра. Значение функции потока ставим рядом со значением пропускной способности ребра в скобках.

2. Для каждой внутренней вершины V транспортной сети, не равной A или B выполняется следующее условие: суммарная функция потока по ребрам, входящим в вершину, равна суммарной функции потока по ребрам, исходящим из вершины (сколько втекает, столько и вытекает).

 

Величиной потока [ф] = val(ф) называется число, равное сумме функций потока по всем ребрам, выходящим из вершины А или сумма всех функций потока по всем ребрам, входящим в вершину В.

 

Выбор потока.

1. Берем путь из А в В.

2. Выбираем минимальную пропускную способность и ставим ее в соответствие каждому ребру из пути.

3. Просматриваем все остальные ребра. Если они не пересекаются, то проделываем для них то же самое, начиная с п1. Всем остальным ребрам ставим в соответствие значение функции потока, равное 0.

 

Поток в транспортной сети называется максимальным, если выполнено условие

Val(ф) £ Val(Ф*)

Ф* = maximum

 

Любое подмножество S транспортных вершин, содержащих исток и не содержащих сток, определяет разрез, отделяющий исток от стока (разрез).

Разрез состоит из всех вершит тех ребер, которые имеют свои начала в вершинах множества S, а концы – из дополнения к множеству S.

Пропускной способностью разреза K называется сумма значений пропускных способностей всех ребер этого разреза.

Разрез K** называется минимальным, если для любого другого разреза выполнено условие C(K**) £  C(K).

 

Теорема Форда – Фалькерсона (без доказательства).

В транспортной сети величина максимального потока равна пропускной способности минимального разреза.

Алгоритм нахождения максимального потока (Алгоритм Форда – Фалькерсона).

1. Берем любой поток в транспортной сети.

2. Строим граф перестроек g* по следующему правилу:

В него входят все вершины исходного графа g.

Те ребра, на которых значение функции потока в исходном графе g были равны 0, входят в новый граф без изменений со своими пропускными способностями.

Все ребра, на которых ф(x) > 0 в новом графе g* заменяются двумя ребрами x* и x**. Ребро x* направлено в ту же сторону, что и x, и пропускная способность c(x*) = c(x) – ф(x).

Ребро x** направлено в противоположную сторону ребру x, и пропускная способность c(x**) = ф(x).

Ребра с нулевой пропускной способностью можно не рисовать.

3. В графе g* ищем путь из А в В по ребрам с ненулевой пропускной способностью. Если его нет, то имеющийся поток является максимальным и алгоритм закончен. Иначе переходим к пункту 4.

(Этот путь называется увеличенной цепью. D = min(c(x)) – минимальное значение пропускной способности этой цепи).

4. Меняем значение функции потока в графе g для тех ребер, которые соответствуют найденному пути в графе перестроек по следующему правилу:

Если направление ребра x в графе g совпадает с направлением пути, то новое ф(x) = ф(x) + D

Если же направление противоположно направлению пути, то ф(x) = ф(x) - D

5. Переходим на шаг 2 с новым потоком.

 

 

Лекции по

 


Курс

 

 

Москва 2000


Лекция 1

Множество. Алгебра множеств.

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

 

R – множество действительных чисел.

X e R – элемент X принадлежит множеству R.

 

Равные множества – множества, состоящие из одинаковых элементов.

 

A = B – множество А равно множеству B.

 

0 – пустое множество.

 

A< = C – Множество А является подмножеством множества С.

 

Если А не равно С и А < = C, то А < С. (строго).

Если A < = C и C < = А, то А = С.

 

Пустое множество 0 является подмножеством любого множества.

 

Существуют конечные и бесконечные множества. Пусть n – число элементов данного множества А. Это число называется мощностью данного множества.

 

У множества рациональных чисел мощность является счетной (т.е. все элементы можно пронумеровать).

У множества иррациональных чисел мощность – континиум. Обозначается (С).

Основное правило комбинаторики (показано на примере)

Пусть имеется палочка, разделенная на 3 части. Первую ее часть можно раскрасить n способами, вторую – m, третью – k. Всего способов раскраски палочки – n*m*k.

Аналогично с множествами

U = {a1, a2… an-1, an}

Пусть U = {a1, a2, a3}

Выпишем множество всех подмножеств множества U.

 

P(U) = {0, a1, a2, a3, a1a2, a1a3, a2a3, a1a2a3}.

 

Мощность множества U равна 3, а мощность P(U) равна 8.

 

Методом математической индукции доказывается, что при произвольной мощности n множества U, мощность множества P(U) равна 2n.

 

Операции над множествами

1. Объединение множеств (A U B). Элемент, принадлежащий полученному множеству, принадлеж


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-04-09; Просмотров: 3972; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.433 с.)
Главная | Случайная страница | Обратная связь