- •Множества. Основные понятия. Способы задания.
- •Счетное множество
- •Несчетное множество
- •Существование множеств сколь угодно большой мощности.
- •Отношение на множествах
- •Свойства бинарных отношений на множестве м.
- •Замыкание отношений.
- •Основные булевы функции.
- •Двойственность. Принцип двойственности.
- •Переход от табличного задания функции к аналитическому.
- •Запись бф через сп.(сднф)
- •Построение бф через сс.(скнф)
- •Замкнутость и полнота.
- •Реализация функций многочленом Жегалкина.
- •Запись аналитического выражения функции, заданной таблично, через функцию Шеффера и Пирса.
- •Основные понятия теории графов.
- •Способы задания графов.
- •Подграфы. Операции над графами.
- •Степени вершин графа.
- •Теорема о выделении из всякого замкнутого маршрута (пути) нечетной длины простого цикла (контура) нечетной длины.
- •Нахождение числа маршрутов (путей) через матрицу смежности.
- •Необходимое и достаточное условие существования контура ор-графа.
- •Связность графа. Отыскание компонент связности при графическом задании графа.
- •Отыскание компонент связности (сильной связности) матричным методом.
- •Диаметр, радиус, центр графа. Алгоритм их отыскания.
- •Отыскание кратчайших расстояний на графе.
- •Ациклические ориетированные графы. Теорема о существовании его начальной и конечной вершины.
- •Ранги вершин. Правильная нумерация вершин.
- •Двудольные графы, признак двудольности.
- •Разделяющие вершины и мосты. Теорема о разделяющей вершине. Алгоритм отыскания.
- •Блоки. Достаточный признак. Алгоритм отыскания.
- •Определение дерева. Теорема о связи любых его двух вершин.
- •Задача о минимальном соединеии, алгоритм получения.
- •Планарность: оновные определения, теорема Эйлера, следствие.
- •Максимальный плоский граф. Основные соотношения. Геоморфизм. Теорема Понтрягина-Куратовского.
Связность графа. Отыскание компонент связности при графическом задании графа.
Граф (ор-граф) называется связным (сильно связным), если любая пара его вершин соединяется хотя бы одной цепью.
- сильно связан - слабо связан
Возьмем ор-граф и уберем стрелки, тогда получим неор. граф, о котором говорят, что он ассоциирован с данным. Ор-граф называется слабосвязным, если ассоциированный с ним граф является связным. Максимально связанный (сильно связанный) подграф данного графа называется компонентой связности (сильной связности). Очевидно, если граф G имеет Р компонент связности G1,G2,G3,…,Gp, то число вершин графа G равно числу компонент связности. Если граф неор., то число его ребер равно сумме ребер его компонент связности.
Рассмотрим алгорит выделения компонент связности для неор. графа и этот же алгоритм даст возможность определить, будет ли граф связным. Этот алгоритм может работать и для выделения компонент слабой связности графа.
1) возьмем какую-нибудь вершину, 2) запишем все вершины, ей смежные, получим список, 3) к каждой вершине списка пункта 2 присоединяем смежные вершины, причем если вершина уже есть в списке, то ее уже не пишем, список при этом дополняется, 4) к полученным вершинам снова добавляем смежные к ним, не вошедшие в список, и так до тех пор, пока список не будет расширяться. При этом если в список вошли все вершины графа, то граф связный, в противном случае м ы выделим одну компоненту связности. Тогда берем любую вершину, не вошедшую в первую компоненту связности и повторяем алгоритм.
Отыскание компонент связности (сильной связности) матричным методом.
Будем говорить, что вершина v достижима из вершины u, если u=v или существует простая цепь из u в v. Пусть G- не ор-граф. Матрицу S называют матрицей достижимости, связности, если элементы ее sij=1 при условии, что j достижимо из i, или i=j, и 0 в противном случае. Иначе говоря, sij≠0, если i-я и j-я вершины принадлежат одной компоненте связности. Доказывается, что S=EA*2 A*3… A*n, где А- матрица смежности. Пусть теперь G- ор-граф. Матрицей достижимости Т ор-графа называется квадратная матрица, Тij=1, если j-я вершина достижима из i-й, и 0 в противном случае. Доказывается T=EA* A*2… A*n-1. матрицей сильной связности зовут матрицу, элементы которой Sij=1, если ViVj и VjVi существует, иначе Sij=0. Т.е. Sij=1, когда вершины Vi и Vj принадлежат одной компоненте сильной связности. Доказывается, что S=TTT, где TT- транспонированная Т. Очевидно, если граф имеет немного дуг, то матрицу связности можно построить по графу.
Рассмотрим алгоритм выделения компонент сильной связности: пусть имеем матрицу смежности А:
0 1 0 1 0 0 построим матрицу сильной связности S: 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 1 0 1 1 Алгоритм: 1) вычеркиваем в матрице S солбцы и строки, соответствующие единицам первой строки. Вершины, находящиеся на пересечении вычеркнутых строк и столбцов, дают первую компоненту сильной связности. (1,4). Матрица смежности, соответствующая первой компоненте связности, получается вычеркиванием соответствующих строк и столбцов матрицы А: V1={1,4} 1 (0 1) 4 (1 0), 2) берем вторую строку и вычеркиваем все столбцы и соответствующие им строки, на пересечении которых находятся 1. Вторая компонента связности: V2={2} 2 (0) 3) берем третью строку и повторяем рассуждения. V3={3,5,6} …
Всего получается три компоненты сильной связности.