
Материал на экзамен
.pdfСочетания с повторениями
Сочетанием с повторениями из n элементов по k называется неупорядоченная (n, k)-выборка с возможными повторениями элементов.
Пример. Пусть A = {1, 2, 3}.
Перечислим все сочетания с повторениями из элементов множества A по 2:
1,1; 1,2; 1,3; 2,2; 2,3; 3,3.
Пример. На почте пять видов открыток к Новому году. Сколькими способами из них можно выбрать семь открыток?
Для решения этой задачи надо подсчитать число сочетаний с повторениями из 5 по 7.
Число сочетаний с повторениями
Число сочетаний с повторениями из n по k будем обозначать как Ĉ (n, k).
Теорема 7. При n≥1, k≥1 верно равенство Ĉ (n, k) = C (n + k − 1, k).
Доказательство. Пусть A = {a1, . . . , an}. Нам надо подсчитать число сочетаний с повторениями из элементов множества A по k при n ≥ 1 и k ≥ 1.
Рассмотрим вектор с (n + k − 1) координатами из нулей и единиц, в котором ровно (n − 1) нулей.
Содержательно будем считать нули разделителями. Эти (n − 1) нулей делят вектор на n кусков.
Будем полагать, что число единиц в i-м куске – это число элементов ai в сочетании с повторением, которое соответствует этому вектору. Понятно, что общее число единиц в векторе равно k.
Для примера рассмотрим n = 3, и k = 3. Тогда вектор (1, 1, 0, 0, 1) соответствует выборке a1, a2, a3. А, например, выборке a1, a2, a3 соответствует вектор (1, 0, 1, 0, 1).
Получаем, что каждому сочетанию с повторениями из n по k соответствует некоторый вектор из нулей и единиц с (n + k − 1) координа-
тами, в котором ровно (n − 1) нулей, и наоборот, по каждому такому вектору однозначно восстанавливается сочетание с повторением, ему соответствующее.
Значит, число сочетаний с повторениями из n по k совпадает с числом таких векторов.
А сколько таких векторов? Нам надо из (n + k − 1) координат вектора выбрать k координат, в которых будут стоять единицы.
В остальных координатах будут находится нули.
Число возможностей выбора – это число сочетаний из (n + k − 1) по k. Следовательно, Ĉ (n, k) = C (n + k − 1, k).
Теория графов
При изображении графов на рисунках чаще всего используется следующая система обозначений: вершины графа изображаются точками или, при конкретизации смысла вершины, прямоугольниками, овалами и др., где внутри фигуры раскрывается смысл вершины (графы блок-схем алгоритмов). Если между вершинами существует ребро, то соответствующие точки (фигуры) соединяются линией или дугой. В случае ориентированного графа дуги заменяют стрелками, или явно указывают направленность ребра. Иногда рядом с ребром размещают поясняющие надписи, раскрывающие смысл ребра, например, в графах переходов конечных автоматов. Различают планарные и непланарные графы. Планарный граф — это граф, который можно изобразить на рисунке (плоскости) без пересечения ребер (простейшие — треугольник или пара связанных вершин), иначе граф непланарный. В том случае, если граф не содержит циклов (содержащих, по крайней мере, один путь однократного обхода ребер и вершин с возвратом в исходную вершину), его принято называть «деревом». Важные виды деревьев в теории графов — бинарные деревья, где каждая вершина имеет одно входящее ребро и ровно два выходящих, или является конечной — не имеющей выходящих ребер и содержит одну корневую вершину, в которую нет входящего ребра.
Не следует путать изображение графа с собственно графом (абстрактной структурой), поскольку одному графу можно сопоставить не одно графическое представление. Изображение призвано лишь показать, какие пары вершин соединены ребрами, а какие — нет. Часто на практике бывает трудно ответить на вопрос, являются ли два изображения моделями одного и того же графа или нет (другими словами, изоморфны ли соответствующие изображениям графы). В зависимости от задачи, одни изображения могут давать более наглядную картину, чем другие.
Граф G — совокупность двух множеств: вершин V и ребер E, между которыми определено отношение инцидентности. Каждое ребро e из E инцидентно ровно двум вершинам v', v'', которые оно соединяет. При этом вершина v' и ребро e называются инцидентными друг другу, а вершины v' и v'' называются смежными. Часто пишут v', v'' из G и e из G. Если |V(G)|=n, |E(G)|=m, то граф G есть (n,m) граф, где n - по-
рядок графа, m — размер графа.
•Ребром ориентированного графа называют упорядоченную пару вершин .
•Ребром в неориентированном графе называют неупорядоченную пару вершин .
•Ребро (v',v'') может быть ориентированным и иметь начало (v') и конец (v'') (дуга в орграфе).
•Ребро (v,v) называется петлей (концевые вершины совпадают).
•Смежность — понятие, используемое в отношении только двух рёбер либо только двух вершин: Два ребра, инцидентные одной вершине, называются смежными; две вершины, инцидентные одному ребру, также называются смежными.
•Инцидентность — понятие, используемое только в отношении ребра или дуги и вершины: если — вершины, а
— соединяющее их ребро, тогда вершина
и ребро
инцидентны, вершина
и ребро
тоже инцидентны. Две вершины (или два ребра) инцидентными быть не могут.
•Граф, содержащий ориентированные ребра (дуги), называется
орграфом.
•Граф, не содержащий ориентированные ребра (дуги), называется неографом.
•Ребра, инцидентные одной паре вершин, называются параллельными или кратными.
•Граф с кратными ребрами называется мультиграфом.
•Граф, содержащий петли (и кратные ребра), называется псевдографом.
•Конечный граф — число вершин и ребер конечно.
•Пустой граф — множество ребер пусто (число вершин может быть произвольным).
•Полный граф — граф без петель и кратных ребер, каждая пара вершин соединена ребром. Обозначение для полного графа с n вершинами — Kn.
•Граф называется двудольным, если существует такое разбиение множества его вершин на две части, что концы каждого ребра принадлежат разным частям (долям).
•Если любые две вершины двудольного графа, входящие в разные доли, смежны, то граф называется полным двудольным. Обозначение для полного двудольного графа с n и m вершинами — Kn,m.
•Локальная степень вершины — число ребер ей инцидентных. В неографе сумма степеней всех вершин равна удвоенному числу ребер (лемма о рукопожатиях). Петля дает вклад, равный 2 в степень вершины.
•Произвольный граф имеет четное число вершин нечетной степени.
•Число ребер в полном графе n(n-1)/2.
•В орграфе две локальных степени вершины v: deg(v)+ и deg(v)
— (число ребер с началом и концом в v)
•Графы равны, если множества вершин и инцидентных им ребер совпадают.
•Графы, отличающиеся только нумерацией вершин и ребер, называются изоморфными.
•Граф называется регулярным (однородным), если степени всех его вершин равны.
Вопределении ребра можно принимать или не принимать во внимание порядок расположения двух его концов. Если этот порядок несу-
щественен, т. е. если , то говорят, что a есть неориентированное ребро; если же этот порядок существенен, то a называется ориентированным ребром (ориентированное ребро часто
называется дугой). В последнем случае называется также началь-
ной вершиной, а — конечной вершиной ребра a. Граф называется неориентированным, если каждое его ребро неориентировано, и ориентированным, если ориентированы все его ребра. В ряде слу-
чаев естественно рассматривать смешанные графы, имеющие как ориентированные, так и неориентированные ребра.
Ребра, имеющие одинаковые концевые вершины, называются параллельными. Ребро, концевые вершины которого совпадают, называется петлей. Она обычно считается неориентированной. Вершина и ребро называются инцидентными друг другу, если вершина является для этого ребра концевой. Вершина, не инцидентная никакому ребру, называется изолированной. Граф, состоящий только из изолированных вершин, называется нуль-графом. Две вершины, являющиеся концевыми для некоторого ребра называются смежными вершинами. Два ребра, инцидентные одной и той же вершине, называются смежными.
Число ребер, инцидентных одной вершине , будем обозначать через
. Это число называется локальной степенью или просто степенью графа в вершине
. В случае ориентированного графа G
обозначим через и
число ребер, соответственно выходящих из вершины
и входящих в
. Эти числа называются
локальными степенями G в . Если все числа
конечны, то граф называется локально-конечным. Вершина степени 1 называется висячей. Вершина степени 0 называется изолированной.
Степень вершины (также валентность) в теории графов — количество ребер графа , инцидентных вершине
. При подсчете степени ребро-петля учитывается дважды. Степень вершины обозначается как
(в западных источниках —
). Максимальная и минимальная степень вершин графа G обозначаются соответственно Δ(G) и δ(G). На рис. 1 максимальная степень равна 5, минимальная — 0. В регулярном графе степени всех вершин одинаковы, поэтому в данном случае можно говорить о степени графа.
Способы задания графов
•Матрица инцидентности A. По вертикали указываются верши-
ны, по горизонтали — ребра. aij=1 если вершина i инцидентна ребру j, в противном случае aij=0. Для орграфа aij=-1 если из
вершины i исходит ребро j, aij=1 если в вершину i входит ребро
j. Если ребро — петля, то aij=2.
•Список ребер. В первом столбце ребра, во втором вершины им инцидентные.
•Матрица смежности — квадратная симметричная матрица. По
горизонтали и вертикали — все вершины. Dij= число ребер, соединяющее вершины i,j.
•Матрица Кирхгофа: bij=-1, если вершины i и j смежны, bij=0 если вершины i и j не смежны, bii=deg(i). Сумма элементов в каждой строке и каждом столбце матрицы Кирхгофа равна 0.
Связность
Отношение вершин графа «существует маршрут, связывающий вершины» является отношением эквивалентности, задающее разбиение графа на компоненты связности. Индекс разбиения — k.
Маршруты, пути, цепи и циклы
•Маршрут — последовательность ребер, в которых каждые два соседних ребра имеют общую вершину.
•Маршрут, в котором начало и конец совпадают — циклический.
•Маршрут в неографе, в котором все ребра разные — цепь.
•Маршрут в орграфе, в котором все дуги разные — путь.
•Путь, для которого никакие ребра графа не соединяют две вершины пути, называется индуцированным путём.
•Простая цепь, содержащая все вершины графа без повторений, известна как Гамильтонов путь.
•Простой цикл, содержащий все вершины графа без повторений, известен как Гамильтонов цикл.
•Цикл, получаемый добавлением ребра графа к остовному
дереву исходного графа, известен как Фундаментальный цикл.
•Путь, в котором начало и конец совпадают — контур.
•Цепь с неповторяющимися вершинами — простая.
•Циклический маршрут называется циклом, если он цепь и простым циклом, если эта цепь простая.
•Вершины связанные, если существует маршрут из одной вершины в другую.
•Связанный граф — если все его вершины связаны.
•Число ребер маршрута — его длина.
•Эйлеров цикл — цикл графа, содержащий все его ребра.
•Эйлеров граф — граф, имеющий Эйлеров цикл.
•Теорема Эйлера. Конечный неориентированный граф эйлеров тогда и только тогда, когда он связан и степени его вершин четны.
•Теорема. Мультиграф обладает эйлеровой цепью тогда и только тогда, когда он связен и число вершин нечетной степени равно 0 или 2.
•Гамильтонов цикл — простой цикл, проходящий через все
вершины.
Два пути вершинно независимы, если они не имеют общих внутренних вершин. Аналогично два пути реберно независимы, если они не имеют общих внутренних ребер.
Длина пути — это число ребер, используемых в пути, при этом многократно используемые ребра считаются соответствующее число раз. Длина может равняться нулю, если путь состоит из одной только вершины.
Взвешенный граф ставит в соответствие каждому ребру некоторое значение (вес ребра). Весом пути во взвешенном графе называется сумма весов ребер пути. Иногда вместо слова вес употребляется цена
или длина.

Эйлеровы цепи и циклы
Классической в теории графов является следующая задача. В городе Кенигсберге имеется два острова, соединенных семью мостами с берегами реки Преголь и друг с другом так, как показано на рисунке 36. Задача состоит в
следующем: осуществить прогулку по городу таким образом, чтобы, пройдя по одному разу по каждому мосту, вернуться обратно. Решение этой задачи сводится к нахождению некоторого специального маршрута в графе.
Пусть G — псевдограф.
Определение. Цепь (цикл) в G называется эйлеровой (эйлеровым), если она (он) проходит по одному разу через каждое ребро псевдографа G.
Поставим в соответствие схеме мультиграф G, изображенный на рисунке 37, в котором каждой части суши соответствует вершина, а каждому мосту — ребро, соединяющее соответствующие вершины. На языке теории графов задача звучит следующим образом: найти эйлеров цикл в мультиграфе G.
Определение. Граф является эйлеровым, если он содержит эйлеров цикл.
Рассмотрим вопрос о наличии эйлеровой цепи и цикла в псевдографе.
Теорема. Связный граф является эйлеровым тогда и только тогда, когда каждая вершина имеет четную локальную степень.
Теорема. Связный граф содержит эйлерову цепь тогда и только тогда, когда ровно две вершины имеют нечетную локальную степень.
Завершая рассмотрение эйлеровых графов, рассмотрим алгоритм построения эйлеровой цепи в данном эйлеровом графе. Этот метод известен под названием алгоритма Флёри.
Теорема. Пусть G — эйлеров граф; тогда следующая процедура все-
гда возможна и приводит к эйлеровой цепи графа G. Выходя из произвольной вершины и, идем по ребрам графа произвольным образом, соблюдая лишь следующие правила:
•стираем ребра по мере их прохождения и стираем также изолированные вершины, которые при этом образуются;
•на каждом этапе идем по мосту только тогда, когда нет других возможностей.
Любой простой полный граф с нечетным количеством вершин является эйлеровым. Любой циклический граф является эйлеровым. Граф, являющийся колесом, не является эйлеровым.
Гамильтоновы цепи и циклы
Пусть G – псевдограф.
Определение. Цепь (цикл) в G называется гамильтоновой (гамильтоновыми), если она (он) проходит по одному разу через каждую вершину псевдографа G.
Определение. Граф является гамильтоновым, если он содержит гамильтонов цикл.
С понятием гамильтоновых циклов тесно связана так называемая задача коммивояжера: в нагруженном графе G определить гамильтонов цикл минимальной длины (иными словами, коммерсант должен совершить поездку по городам и вернуться обратно, побывав в каждом городе ровно один раз, и при этом стоимость такой поездки должна быть минимальной).
Приведем теорему Дирака, которая отвечает на вопрос: существует ли в графе гамильтонов цикл.
Теорема. Если в простом графе с n (і 3) вершинами локальная степень каждой вершины не менее n/2, то граф является гамильтоновым.
Любой простой полный граф является гамильтоновым. Любой циклический граф является гамильтоновым. Граф, являющийся колесом, является гамильтоновым.