Понятие множества Множество — это совокупность некоторых

advertisement
ЛЕКЦИЯ № 8
МНОЖЕСТВА И ОТОБРАЖЕНИЯ. КОМБИНАТОРИКА
Цель: изучить разделы математики «Множества и отображения»,
«Комбинаторика».
Задачи:
1. Знать определение множества, способы задания множества.
2. Изучить операции над множествами и законы алгебры множеств.
3. Уметь пользоваться диаграммами Эйлера-Венна.
4. Знать основные свойства бинарных отношений.
5. Изучить общие правила комбинаторики.
6. Знать формулы числа сочетаний, перестановок и размещений.
7. Уметь пользоваться формулой бинома Ньютона и полиномиальной формулой.
Желаемый результат:
Студенты должны знать основные понятия теории множеств и отображений, основные
формулы комбинаторики, уметь ими пользоваться.
Учебные вопросы:
1. Понятия множества.
2. Операции над множествами.
3. Законы алгебраических множеств.
4. Отношения.
5. Матрица бинарного отношения и ее свойства.
6. Функции и их свойства.
7. Правила суммы, произведения, включения-исключения.
8. Комбинаторные формулы: число сочетаний, перестановок и размещений.
9. Бином Ньютона.
Понятие множества
Множество — это совокупность некоторых объектов, объединенных по
какому-либо признаку. Элементы множества при этом должны быть различными.
Множество обозначается скобками {...}, внутри которых либо просто
перечисляются элементы, либо описываются их свойства. Например, А = {2, 3, 5,
7}, В = {сложение, умножение}.
Если необходимо указать, что объект а является элементом множества А,
то пишут
запись
говорит о том, что а не принадлежит А.
означает, что каждый элемент множества А является также элементом
множества В. В этом случае множество А называется подмножеством множества
В. Если
и
то А = В, т. е. множества А и В равны. Если
и
то А называется собственным подмножеством множества В и в этом случае
пишут
Множество, не содержащее элементов, называется пустым и
обозначается Ø. Множества, элементами которых являются другие множества,
часто называют семействами или классами. Семейство всех подмножеств
множества А обозначается через
Операции над множествами
1. Объединением множеств А и В называется множество
Все операции над множествами можно иллюстрировать с помощью
1
диаграмм Эйлера-Венна. Если некоторое универсальное множество, содержащее
как подмножества все другие множества, обозначить U и изобразить его в виде
плоскости, то любое множество
можно изобразить в виде части плоскости,
т. е. в виде некоторой фигуры, лежащей на плоскости. Объединение множеств А
и В изображено на рис. 1 в виде заштрихованной фигуры.
Рис. 1
2. Пересечением множеств А и В называется множество
. Пересечение множеств А и В заштриховано и изображено на рис. 2.
Рис. 2
3. Разностью множеств А и В называется множество
(рис.3). Разность U/A называется дополнением множества А и обозначается
через Ясно, что
и
Рис. 3
4. Симметрической разностью множеств А и В называется множество
(рис. 4).
Рис.4
5. Множество, элементами которого являются все упорядоченные пары (а,
b),
называется прямым или декартовым произведением множеств А
и В и обозначается
2
Пример 1. Пусть заданы множества А={1, 2}, В={2, 3}. Тогда
2), (1, 3), (2, 2), (2, 3)}, а
= {(2, 1), (2, 2), (3, 1), (3, 2)}.
Из примера видно, что
Если
то А=В.
Произведение
называется декартовым квадратов.
Законы алгебраических множеств
1. Коммутативный закон:
= {(1,
2. Ассоциативный закон:
3. Дистрибутивный закон:
4. Законы идемпотентности:
, в частности
5. Законы поглощения:
6. Законы де Моргана:
7. Закон двойного дополнения:
8. Закон включения:
9. Закон равенства:
Пример 2. Пусть
Из каких элементов состоят множества
Перепишем множества А, В, С, перечислив их элементы: А={3,4,5,6}, B={2,3},
C={2}. Тогда
Отношения
Бинарным или двуместным отношением между элементами множеств А и
В называется любое подмножество Р их декартова произведения
При А=В
отношение Р называется бинарным отношением на А.
Тождественным отношением на множестве А называется отношение
Областью определения бинарного отношения Р называется множество
а областью значений — множество
Обратным отношением для бинарного отношения Р называется множество
пар
Композицией бинарных отношений
называется отношение
= {(x, z) / существует
такое, что
и
}.
Пример 3. Найти композицию бинарных отношений
если
3
В отношении Р выбираем первую пару
и выделяем вторую
координату
В отношении Q находим пару
где первая координата
В
композицию
записываем пару
где первая координата из Р, а вторая
координата из Q. Из отношения Р выбираем вторую пару
в отношении
Q находим пару
в композицию
записываем пару
Из
отношения Р выбираем третью пару
в отношении Q находим две
пары
и
в композицию заносим также две пары
и
и
так далее. Получаем
Из
композиции удаляем одинаковые пары, оставляя только одну. Окончательно
имеем:
Бинарное отношение Р на множестве А называется отношением эквивалентности, если для него выполнены следующие условия:
1. Рефлексивность: для любого
2. Симметричность: для любых а, b из А
3. Транзитивность: для любыx трех элементов a, b, c из А, если
и
то и
Эквивалентность обозначается символом E или ~ , например x E y,
Бинарное отношение Р на множестве А называется отношением частичного порядка, если для него выполнены следующие условия:
1. Антирефлексивность: для любого
2. Антисимметричность: для любых a, b из А, если
то
3. Транзитивность: для любых трех элементов a, b, c из А, если
и
то и
Примером такого отношения является отношение строгого включения на
множестве всех подмножеств некоторого множества А. Обычное отношение
строгого порядка < на N также удовлетворяет условиям 1-3. Но для него
выполнено еще одно существенное условие.
4. Полнота: для любых a, b из А либо
либо
Отношения, для которых выполнены условия 1-4, называются отношениями
полного порядка.
Матрица бинарного отношения
Рассмотрим два конечных множества
и бинарное отношение
Введем матрицу
бинарного отношения следующим образом:
Эта матрица содержит полную информацию о связях между элементами
множеств А и В и позволяет представить эту информацию в графическом виде.
Пример 4. Пусть дано бинарное отношение
Построим матрицу отношения:
т. е.
4
Свойства матрицы бинарного отношения
1. Если
и
то
Сложение элементов матрицы осуществляется по правилам: 0+0=0,
1+1=1, 1+0=0+1=1.
2.
Умножение элементов матрицы осуществляется по правилам:
3. Если
то
и матрицы умножаются по
правилу умножения матриц «строка на столбец», но произведение и сумма
элементов при перемножении матриц находятся по правилам пунктов 1 и 2.
4.
где
- матрица обратного отношения
5. Если
то
Функции
Отношение f называется функцией из А в В, если
и из
следует, что
Область определения функции обозначается
область значений
Отношение f называется частичной функцией из А в В, если
Говорят, что функция f задана на множестве А со значениями во множестве В и
осуществляет отображение множества А во множество В. Функция f из А в В
обозначается f :
или
Тождественное отношение
является функцией
для которой
для всех
Функция f называется инъективной, если для любых элементов
из
следует
Функция f называется сюръективной, если
Для сюръективной функции
для любого
существует
такой, что
Функция f называется биективной, если она одновременно сюръективна и
инъективна. В этом случае говорят, что f осуществляет взаимно-однозначное
соответствие между множествами А и В. Биекция f : A↔A называется
подстановкой множества А. Простейшим примером подстановки является
функция
Общие правила комбинаторики
Основными классами комбинаций, которые рассматривает комбинаторика,
являются различные виды перестановок, размещений и сочетаний. Важное значение имеют общие правила комбинаторики: суммы, произведения, включенияисключения.
Правило суммы. Если А и В – несвязанные события, и существует n1 возможных исходов события А и n2 возможных исходов события В, то число исходов события «А или В» равно n1+ n2.
Правило произведения. Если существует последовательность k событий с
n1 возможными исходами первого, n2 – второго и т.д., вплоть до nk возможных
5
исходов последнего, то общее число исходов последовательности k событий
равно произведению n1· n2··· nk.
Пример 5. Сколько четырехзначных чисел начинаются с 2 или 7?
Р е ш е н и е. Воспользуемся двумя правилами: суммы и произведения. Четырехзначное число, начинающееся, например, с 2, найдем 1·10·10·10=1000 способами. Для второго числа аналогично. Тогда по правилу суммы получаем, что существует 1000+1000=2000 четырехзначных чисел, начинающихся с 2 или 7.
Ответ: 2000 чисел.
Комбинаторные формулы
Выборкой объема k из n будем называть совокупность элементов из некоторого множества, например, х1, х2, …, хk Х,|Х|=k. Введем обозначение (n, k) –
выборка. Если порядок следования элементов в выборке важен, то выборка называется упорядоченной, иначе – неупорядоченной.
Пример 6. Пусть А={a, b, c}. Указать все упорядоченные и неупорядоченные
выборки с повторением и без повторений из трех элементов по два.
Р е ш е н и е. 1) Повторения разрешены и выборка упорядоченная. В этом случае
у нас 9 возможностей: aa, ab, ac, ba, bb, bc, ca, cb, cc. 2) Повторения запрещены и
выборка упорядоченная. В этом случае у нас 6 возможностей: ab, ac, ba, bc, ca,
cb. 3) Повторения разрешены и выборка неупорядоченная. В этом случае у нас 6
возможностей: aa, ab, ac, bb, bc, cc. 4) Повторения запрещены и выборка неупорядоченная. В этом случае у нас 3 возможности: ab, ac, bc.
Размещением с повторениями
называется упорядоченная выборка, в
которой элементы могут повторяться (смотри пример 6 пункт 1).
Размещением без повторений
называется упорядоченная выборка, в
которой элементы не повторяются (смотри пример 6 пункт 2).
Сочетанием с повторениями
называется неупорядоченная выборка, в
которой элементы могут повторяться (смотри пункт 3 того же примера 6).
Сочетанием без повторений
называется неупорядоченная выборка, в
которой элементы не повторяются (смотри пример 6 пункт 4).
Найдем сначала число всех возможных (n, k) размещений без повторений.
Введем обозначение
(1<k<n). Задача сводится к последовательному применению правила произведения. В самом деле, в n-множестве имеется n возможностей для выбора первого места выборки. Так как здесь повторения запрещены,
для второго места выборки можем выбрать элемент любой из (n-1) оставшихся
элементов, на третье место выборки – любой из (n-2) оставшихся элементов и
т.д. до k места, куда можем выбрать элемент любой из (n-k+1) оставшихся элементов. Тогда
=n(n-1)(n-2)…(n-k+1)=n(n-1)(n-2)…(n-k+1)
=n(n-1)(n-2)…(n-k+1)
Здесь принято 0!=1!=1.
В частности, когда n=k, получаем =Рn,n=Pn=
n!
Перестановками элементов множества Рn называются всевозможные упорядоченные множества из n элементов. Для удобства вычисления n! Можно вос6
пользоваться следующей таблицей, если значения n слишком велики, тогда для
них справедлива оценка: n!≤2
.
Найдем теперь число всех возможных (n, k) размещений с повторениями.
Введем обозначение . Задача сводится к последовательному применению правила произведения. В самом деле в n-множестве имеется n возможностей для
выбора первого места выборки. Повторения разрешены, тогда для второго места
выборки можем выбрать любой элемент из n оставшихся элементов и т.д. до k
места, куда можем выбрать также любой элемент из n. Тогда =n· n n=nk.
k ðàç
Найдем число всех возможных (n, k) сочетаний без повторений. Введем
обозначение . На каждое (n, k) – сочетаний без повторений приходится k! различных размещений без повторений. Тогда C
k
n
Ank
k!
Ank
Pk !
n!
, k≤n.
k!(n k )!
Найдем число всех возможных (n, k) сочетаний с повторениями. Введем
обозначение .
Найдем число всех возможных различных перестановок n элементов с повторениями, n1 из которых относится к типу 1, n2 – к типу 2 и т.д. до nk типа k.
Введем обозначение :
Пример 7. Найти число различных слов (бессмысленных), которое можно получить, переставляя буквы слова математика.
Р е ш е н и е. Слово математика состоит из 10 букв, которые можно переставлять 10! способами. Однако в нем буква а встречается 3 раза, буква м – два раза,
буква т – два раза, остальные буквы – по одному разу. Тогда число всех перестановок с повторениями
Ответ: 151200 слов.
Пример 8. Во скольких точках пересекаются диагонали выпуклого десятиугольника, если никакие три из них не пересекаются в одной точке?
Р е ш е н и е. Каждой точке пересечения двух различных диагоналей соответствуют четыре вершины десятиугольника, а каждым четырем вершинам – одна
точка пересечения. Таким образом, число всех точек пересечения равно числу
способов, какими из десяти вершин можно выбрать четыре вершины, т.е.
Ответ: 210 точек пересечения.
Бином Ньютона
Кроме решения комбинаторных задач, сочетания
используются также и
2
2
2
в алгебраических вычислениях. Известно (a+b) =a +2ab+b ;
7
(a+b)3=a3+3a2b+3аb2+b3. Как раскрыть скобки при вычислении выражения
(a+b)n. Для этого используют следующее выражение:
Это выражение называется формулой бинома Ньютона, а
- биноминальными коэффициентами.
Пример 9. Сколько существует вариантов опроса 8 студентов на одном занятии иностранного языка, если ни один из них не будет опрошен дважды и на
занятии может быть опрошено любое количество студентов, причем порядок, в
котором опрашиваются студенты, безразличен?
Р е ш е н и е. Лектор может не спросить ни одного из 8 студентов, что также является одним из вариантов. Этому случаю соответствует . Лектор может опросить только одного из студентов,
и т.д. Наконец, могут быть опрошены все
студенты, . Тогда по правилу сложения число всех возможных вариантов опроса равно:
.
С другой стороны, для каждого из студентов существует две возможности: он будет опрошен или не опрошен на данном занятии. Другими словами,
каждую из 8 операций, заключающихся в том, что каждый студент будет либо
опрошен, либо не опрошен, можно выполнить по правилу умножения 2· 2
8 ðàç
8
2=2 способами, что и следовало ожидать, так как
=256.
Ответ: существует 256 вариантов опроса.
Вопросы для самопроверки:
1. Что такое множество? Как его обозначать? Как можно задать множество? Что
такое подмножество?
2. Какие основные операции выполняются над множествами?
3. Какое множество можно назвать универсальным?
4. Что такое диаграмма Эйлера-Венна? Проиллюстрируйте с помощью диаграммы Эйлера-Венна объединение и пересечение трех множеств.
5. Сформулируйте и докажите основные тождества алгебры множеств.
6. Назовите основные свойства бинарных отношений. Какое отношение называется рефлексивным, симметричным, антисимметричным, транзитивным?
7. Дайте определение отображения множества А во множества В.
8. Что такое сюръекция, инъекция, биекция?
9. Дайте определение функции.
10. Что такое комбинаторика и для чего она нужна?
11. Что называется
-перестановкой n-элементного множества?
-размещением из n элементов по m элементов?
-сочетанием из n элементов по m элементов?
12. В чем различие перемещений от перестановок?
13. В чем отличие сочетаний от размещений?
14. Сколькими способами можно разместить три книги на книжной полке?
8
15. Запишите формулу для вычисления числа сочетаний элементов, используемую в формуле бинома Ньютона?
16. Как найти число перестановок с повторениями?
ЛЕКЦИЯ № 9
ЭЛЕМЕНТЫ ТЕОРИИ ГРАФОВ
Цель: изучить раздел математики «Элементы теории графов».
Задачи:
1. Знать определение и обозначение графа.
2. Изучить способы задания графа.
3. Знать метрические характеристики графа.
4. Знать способы упорядочивания вершин и дуг орграфа.
5. Уметь находить кратчайший путь по алгоритму Дейкстры.
6. Знать основные понятия деревьев.
7. Уметь находить остов экстремального веса.
8. Знать фундаментальные циклы.
Желаемый результат:
Студенты должны знать основные понятия теории графов.
Учебные вопросы:
1. Применение графов.
2. Обозначение графа и виды графов, операции над графами.
3. Способы задания графов: матрицей смежности вершин, матрицей смежности
дуг, матрицей инциденций.
4. Способы упорядочивания вершин и дуг графа.
.
5. Алгоритм Дейкстры.
6. Деревья, нахождение остова экстремального веса.
7. Фундаментальные циклы.
Основные понятия и определения
Теория графов применяется при анализе функционирования сложных систем, таких как сети железных дорог, телефонные или компьютерные сети, ирригационные системы. Эта теория традиционно является эффективным аппаратом
формализации задач экономической и планово-производственной практики,
применяется в автоматизации управления производством, в календарном и сетевом планировании.
Основное понятие теории – граф. Пусть S – непустое множество, V(2) –
множество всех его двухэлементных подмножеств, U V(2). Тогда пара (S, U) называется неориентированным графом. Элементы множества S называются вершинами графа, а элементы множества U – ребрами. Итак, G=(S, U) граф – это
конечное множество вершин S и множество ребер U.
Вершины графа обозначаются по разному: или прописными буквами, или
строчными с индексами; для ребер наиболее употребительное обозначение – u с
индексом, например u1, u2, …, un. Взаимное расположение, форма и длина ребер
значения не имеют. Важно лишь то, что они соединяют две данные вершины
9
множества S.
Если в паре вершин xi и xj указано направление связи, т.е. какая из вершин
является первой, то соединяющий их отрезок uk называется дугой, а вершины,
определяющие дугу uk, называют концевыми вершинами. Если концевые вершины совпадают, то дугу называют петлей. В графе G могут существовать дуги
(ребра) с одинаковыми концевыми вершинами. Такие дуги называются параллельными.
Если в графе G=(S, U) все элементы множества U изображаются дугами, то
граф называется ориентированным или орграфом, если ребрами, то неориентированным. Два ребра называются смежными, если они имеют общий конец.
Вершина х1 и ребро u1 называются инцидентными, если х1 является концом ребра u1, и неинцидентным в противном случае. Таким образом, смежность
есть отношение между однородными элементами графа, тогда как инцидентность – отношение между разнородными элементами.
Число вершин графа называется его порядком. Число дуг (ребер) графа G,
инцидентных данной вершине - степенью P(xi) вершины xi. Если степень равна
нулю, вершина называется изолированной, а если единице – висячей.
Граф G называется простым, если он не содержит петель и параллельных
дуг. Простой граф, в котором каждая пара вершин смежна, называется полным.
Граф, содержащий хотя бы две параллельные дуги (ребра), называется мультиграфом; граф, содержащий петли – псевдографом.
Граф называется двудольным, если существует такое разбиение множества
его вершин на две части (доли), что концы каждого ребра принадлежат разным
частям. Если при этом любые две вершины, входящие в разные доли, смежны, то
граф называется полным двудольным. Полный двудольный граф, доли которого
состоят из p и q вершин, обозначается символом Kp,q.
Способы задания графов
Граф можно задать матрицей смежности вершин, матрицей смежности дуг,
матрицей инциденций.
Матрица смежности вершин Р - это квадратная матрица порядка n x n, где
n - число вершин. Ее строки и столбцы соответствуют вершинам графа. Элемент
матрицы равен числу дуг, идущих из i-той вершины в j-ю. Если граф неориентированный, то матрица смежности вершин будет неориентированной.
Пример 1. Составить матрицу смежности вершин для графа, изображенного на
рис. 1.
вершину
и в вершину
Р е ш е н и е: Из вершины идут дуги в
поэтому первая строка матрицы будет: 0 1 0 1. Из
10
вершины идет одна дуга в вершину одна дуга в вершину две дуги в вершину Вторая строка запишется в виде: 1 0 1 2. И так далее. Так как граф неориентированный, то матрица смежности вершин графа будет симметричная
(рис. 2).
Матрица смежности дуг Q - квадратная матрица порядка m x m, где m число дуг. Элементы равны единице, если дуга непосредственно предшествует дуге и равна 0 в остальных случаях. Для неориентированного графа
элемент равен 1, если и смежны, и нулю в остальных случаях.
Матрица инциденций R- прямоугольная матрица размерности n x m, где n число вершин, m - число дуг. Элементы равны +1, если дуга исходит из i-й
вершины, -1, если дуга входит в i-ю вершину, 0, если дуга не инцидентна i-й
вершине.
Пример 2. Составить матрицу смежности дуг Q и матрицу инциденций R для графа, изображенного на рис.
3.
Р е ш е н и е: Составим матрицу смежности
дуг Q.
Дуга предшествует дуг
поэтому в клетке
ставим 1, остальные элементы строки заполняем нулями. Дуга
не предшествует ни одной дуге графа,
следовательно, вся вторая строка будет нулевая.
Третья и четвертая строки также будут нулевыми.
Рис. 3
Дуга предшествует дуге в клетке
ставим
1. Матрица Q изображена на рис. 4.
Составим матрицу инциденций R. Из вершины исходят дуги
поэтому первая строка матрицы запишется: 1 1 0 0 1. В вершину входит дуга (ставим -1 в клетку
) и исходит дуга (ставим 1 в клетку
). Остальные элементы строки заполняем нулями. И так далее. Матрица R представлена на рис. 5.
Рис. 4
Рис. 5
Метрические характеристики графа
Пусть
- две вершины связного графа G= (S,U). Длина кратчайшего
маршрута называется расстоянием между вершинами и и обозначается
Эксцентриситетом вершины называется величина, равная наибольшему
из чисел
и обозначается
Каждая вершина графа имеет эксцентриситет. Получаем
Минимальное из этих чисел называется радиусом графа и
11
обозначается r(G), а максимальное - диаметром графа и обозначается d(G). Вершина называется периферийной, если ее эксцентриситет равен диаметру графа,
т. е.
и вершина называется центральной, если ее эксцентриситет
равен радиусу графа
Простая цепь, расстояние между концами которой равно d (G), называется
диаметральной цепью.
Пример 3. Найти эксцентриситеты вершин, диаметр и радиус графа, центральные и периферийные вершины, составить диаметральную цепь графа,
представленного на рис. 6
Р е ш е н и е: Для каждой вершины графа
найдем расстояния до всех остальных вер
шин. Наибольшее из найденных чисел будет эксцентриситетом вершины. Таким образом вычислим эксцентриситеты всех вершин.
Рис. 6
Вершина
:
Вершина
Вершина
:
:
Вершина
Вершина
:
:
Рис. 7
Радиус графа r(G)=1, диаметр d(G)=2. Центральные вершины
ные вершины
Диаметральная цепь:
и
Периферий-
Упорядочивание вершин и дуг графа
Алгоритм Фалкерсона по упорядочиванию вершин и дуг графа состоит из
этапов:
1. Найти вершины графа в которые не входит ни одна дуга. Это будут вершины
1-й группы, а дуги, из них исходящие - дуги 1-й группы. Отбрасываем вершины
и дуги 1-й группы.
2. В получившемся графе найдется хотя бы одна вершина, в которую не входит
ни одна дуга. Это будет вершина 2-й группы, а дуги, исходящие из нее - дугами
2-й группы. Второй шаг повторять до тех пор, пока не будут упорядочены все
12
вершины.
Для вершин графа существует матричный способ упорядочивания вершин
графа.
Составляется матрица смежности вершин графа. Суммируются элементы,
стоящие в столбцах матрицы. Вершина, которой будет соответствовать нулевая
сумма, является вершиной 1-й группы. Вычеркиваем из матрицы строку и столбец, соответствующие этой вершине. В оставшейся матрице суммируем элементы, стоящие в столбцах. Вершина с нулевой суммой будет вершиной 2-й группы.
Из матрицы вычеркиваем строку и столбец, соответствующие этой вершине и т.
д. Результаты суммирования записываем в таблицу.
Пример 4. Упорядочить вершины и дуги графа, представленного на рис. 7.
Вершины упорядочить графическим и матричным способом.
а)
б)
в)
Рис. 8
Р е ш е н и е: Упорядочим вершины и дуги графа по алгоритму Фалкерсона.
Находим вершину, в которую не входит ни одна дуга. Это вершина
вершина 1-й группы. Из нее исходят дуги 1-й группы:
Отбрасываем
и
Получаем граф, показанный на рис. 8а.
В вершину
не входит ни одна дуга . - вершина 2-й группы. Дуги
- дуги 2-й группы. Отбрасываем
и
и получаем граф, изображенный на рис. 8б.
В вершины и не входит ни одна дуга. Это вершины 3-й группы
дуги 3-й группы. - вершина 4-й группы.
Упорядочим вершины графа матричным способом. Матрица смежности
вершин представлена на рис. 9а.
а).
б).
Рис. 9
в).
Суммируем столбцы матрицы смежности вершин и результат записываем в
13
таблицу 1 в первую строку Нулевая сумма оказалась у вершины - это вершина первой группы. Из исходной матрицы вычеркиваем строку и столбец, содержащие вершину (рис. 9б).
Суммируем столбцы полученной матрицы и результат записываем во вторую строку
таблицы 1. Нулевая сумма принадлежит вершине - она будет
вершиной 2-й группы. Из матрицы вычеркиваем строку и столбец с вершиной
Получаем матрицу, показанную на рис. 9в.
Столбцы
и
имеют нулевые суммы и будут являться вершинами 3-й
группы. В таблицу 1 записываем строку
После отбрасывания столбцов и
строк с вершинами
и
получаем матрицу из одного нулевого элемента, принадлежащего вершине
которая будет вершиной 4-й группы.
Таблица 1
группа
0
1
2
3
2
-
0
1
3
1
-
-
0
2
0
-
-
-
0
-
I
II
III
IV
II
Граф с упорядоченными вершинами изображен на рис. 6, граф с упорядоченными дугами - на рис. 7.
I гр.
II гр.
III гр.
IV гр.
Рис. 6
I гр.
II гр.
Рис. 7
III гр.
14
Ннахождение кратчайших путей. Алгоритм дейкстры
Пусть G={S, U, Ω} – ориентированный граф со взвешенными дугами. Обозначим s – вершину пути и t-вершину – конец пути.
Общий подход к решению задачи о кратчайшем пути был развит американским математиком Ричардом Беллманом, который предложил название динамическое программирование. Задача о кратчайшем пути – частный случай
следующей задачи: найти в заданном графе пути, соединяющие две заданные
вершины и доставляющие минимум или максимум некоторой аддитивной функции, определенной на путях. Чаще всего эта функция трактуется как длина пути,
и задача называется задачей о кратчайших путях. Алгоритм Дейкстры – одна из
реализаций этой задачи. Его часто называют алгоритмом расстановки меток. В
процессе работы этого алгоритма узлам сети хi S приписываются числа (метки)
d(xi), которые служат оценкой длины (веса) кратчайшего пути от вершины s к
вершине хi. Если вершина хi получила на некотором шаге метку d(xi), это означает, что в графе G существует путь из s в xi, имеющий вес d(xi). Метки могут
находиться в двух состояниях – быть временными или постоянными. Превращение метки в постоянную означает, что кратчайшее расстояние от вершины s до
соответствующей вершины найдено.
Алгоритм Дейкстры содержит одно ограничение – веса дуг должны быть
положительными. Сам алгоритм состоит из двух этапов. На первом находится
длина кратчайшего пути, на втором строится путь от вершины s к вершине t.
Этап 1. Нахождение длины кратчайшего пути.
Шаг 1. Присвоение вершинам начальных меток.
Полагаем d(s)=0*и считаем эту метку постоянной (постоянные метки помечаются сверху звездочкой). Для остальных вершин хi S, хi≠s полагаем d(xi)=∞
и считаем эти метки временными. Пусть =s, – обозначение текущей вершины.
Шаг 2. Изменение меток.
Для каждой вершины хi с временной меткой, непосредственно следующей
за вершиной , меняем ее метку в соответствии со следующим правилом:
dнов.(xi)=min{dстар.(xi), d( )+ω( , xi)}.
(1)
Шаг 3. Превращение метки из временной в постоянную.
Из всех вершин с временными метками выбираем вершину
с наименьшим значением метки:
d( )=min{d(xj)/ xj S, d(xj)-временная}.
(2)
Превращаем эту метку в постоянную и полагаем = .
Шаг 4. Проверка на завершение первого этапа.
Если =t, то d( ) – длина кратчайшего пути от s до t. В противном случае
происходит возвращение ко второму шагу.
Этап 2. Построение кратчайшего пути.
Шаг 5. Последовательный поиск дуг кратчайшего пути.
Среди вершин, непосредственно предшествующих вершине с постоянными метками, находим вершину xi, удовлетворяющую соотношению:
d( )= d(xi)+ω(xi, ).
(3)
15
Включаем дугу (xi, ) в в искомый путь и полагаем =xi.
Шаг 6. Проверка на завершение второго этапа.
Если =s, то кратчайший путь найден – его образует последовательность
дуг, полученных на пятом шаге и выстроенных в обратном порядке. В противном случае возвращаемся к пятому шагу.
Деревья
Существует один простой и важный тип графов, которому разные авторы
дали одинаковое название – деревья. Деревья отличаются предельной простотой
строения. Существует несколько определений дерева.
Деревом называется связанный граф, не содержащий циклов. Любой граф без
циклов называется лесом. Таким образом, деревья являются компонентами леса.
Пусть G=(S, U) и |S|=n, |U|=m. Тогда справедлива эквивалентность следующих утверждений (рис. 1):
1. G – дерево. 2. G – связанный граф и m=n=1. 3. G – ациклический граф и m=n1.
4. Любые две несовпадающие вершины графа соединяет единственная простая
цепь.
5. G – ациклический граф, обладающий тем свойством, что если какую-либо пару его несмежных вершин соединить ребром, то полученный граф будет содержать ровно один цикл.
X1
X2
X4
X5
X5
X6
x7
X9
X8
X10
X13
X11
X15
X12
X14
Рис. 1
Ориентированный граф называется ориентированным деревом (ордеревом), если:
1. Существует ровно одна вершина х1 S, называемая корнем, которая не имеет
предшествующих вершин, т.е. Р(х1)=0.
2. Любой вершине хj≠ х1 в графе G
X1 непосредственно предшествует ровно одна
X3
вершина, т.е. Р(хj)=1.
X2
X4
X5
X8
X9
X77
X6
Рис. 2
Неориентированное дерево можно превратить в ориентированное, выбрав
в качестве корня произвольную вершину. На рис. 2 корень графа – вершина х6.
Подграф G/=(S/, U) графа G=(S, U) называется основным подграфом, если S/= S.
16
Подграф G/ графа G называется основным поддеревом (основным каркасом), если S/=S и G – дерево.
Теорема 1. (Теорема Кэли). Число различных деревьев, которые можно построить на n различных вершинах, равно tn=nn-2.
Обходы графов. Фундаментальные циклы
Рассмотрим вопросы, связанные с существованием в графе эйлеровых или
гамильтоновых цепей и циклов. При решении прикладных задач часто возникает
необходимость отбора вершин или ребер графа, связанная с поисками элемента
с определенным свойством.
Напомним, что связанный граф называется эйлеровым, если он содержит
цикл, включающий все ребра графа. Такой граф можно нарисовать, не отрывая
карандаша от бумаги и не повторяя линий. Граф называется гамильтоновым, если в нем имеется простой цикл, содержащий каждую вершину этого графа.
Задачи о нахождении эйлеровых и гамильтоновых циклов в графе внешне
похожи, однако вторая задача значительно сложнее первой. Принадлежность
графа к классу эйлеровых легко устанавливается следующей теоремой.
Теорема 1. Связный граф является эйлеровым тогда и только тогда, когда
степени всех его вершин четны.
Вопросы для самопроверки:
1. Что называется графом? Ориентированным графом? Приведите примеры.
2. Что такое степень вершины?
3. Перечислите способы задания графов.
4. В чем состоит матричный способ задания графа?
5. Какая матрица называется матрицей смежности графа?
6. Какая матрица называется матрицей инцидентности графа?
7.Что называется маршрутом, циклом и цепью графа?
8. Какой граф называется деревом?
9. Дайте определение эйлерова графа.
10. Какой граф называется гамильтоновым?
17
Download