Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка.docx
Скачиваний:
10
Добавлен:
21.04.2019
Размер:
450.09 Кб
Скачать

11.2) Число всех отображений, число сюръективных отображений конечных множеств (элементы в неразличимы).

Утверждение 8.1. Число всех отображений f : X Y равно nm. Рассмотрим построение f как поэтапный процесс. На первом шаге выбираем f (x1), на втором — f (x2), и т. д. На каждом из m шагов имеется n возможностей. Таким образом, общее количество разных последовательностей выборов равно nm. Разным последовательностям выборов соответствуют разные функции. 

Примеры. 1. Удобно представлять отображение f : X Y как раскладывание m помеченных шаров в n различных ящиков.

2. Пусть требуется подсчитать число m-мерных векторов, каждая координата которых может принимать любое значение из Y = {y1, y2,…, yn}. Очевидно, эта задача эквивалентна предыдущей. 3. Любую целочисленную nnматрицу, все элементы которой равны 0, 1 или –1, можно рассматривать как отображение f : {1,2,…,n2 }  {0, 1, –1}, и, наоборот, отображение — как матрицу. Тогда число таких матриц равно .

4. Пусть производится m опытов (называемых упорядоченными выборками с возвращениями), состоящих в том, что из генеральной совокупности Y наудачу выбирается какой-нибудь элемент yi, результат опыта фиксируется, а затем элемент возвращается в генеральную совокупность. Понятно, что, поставив последовательности {yi1, yi2,…, yim} исходов этих опытов в соответствие вектор {yi1yi2,…, yim}, получим взаимно однозначное соответствие между множеством различных последовательностей исходов наших опытов и множеством m-мерных векторов с координатами из Y. Таким образом, число упорядоченных выборок с возвращениями подсчитывается по той же схеме. Утверждение 8.5. А. Число сюръективных отображений f : X* Y (X* означает, что элементы X неразличимы) равно ; Б. Число всех отображений f : X* Y равно .

А). Так как f — сюръективное отображение, то справедливо | f –1(y1) | + | f –1(y2) | + | f –1(y3) | + . . . + | f –1(yn) | = m ,

где | f–1(yi) | = ai > 0, i = 1, 2,…, n, или a1 + a2 + … + an = m. Поставим в соответствие набору (a1a2,…, an) двоичный вектор, в котором ai единиц разделяются 0 (1)

Очевидно, что соответствие между векторами (1) и сюръективными отображениями f является биекцией (элементы X* неразличимы). Подсчет векторов (1) можно трактовать как подсчет расстановок n – 1 перегородок (нулей) на m – 1 место между m единицами (две перегородки не могут располагаться рядом из-за сюръективности f ). Ясно, что это можно сделать способами.

Б). Если f не являться сюръекцией, то прообразы некоторых элементов yY могут не существовать, т. е. | f (y) |–1 = 0. Это значит, что в любой промежуток разрешается ставить любое количество перегородок. Подсчитаем число таких расстановок. В (1) имеется m – n + 1 мест для 1 и перегородок. Ставим на любые n –1 из них перегородки, а оставшиеся места автоматически заполняются 1. Число способов сделать это равно .  Примеры. 1. Число способов раскладывания m одинаковых шаров в n различных ящиков равно .

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

3. Число векторов {y1, y2,…, yn} в Rn с целочисленными неотрицательными координатами, удовлетворяющими уравнению или y1 + y2 + … + yn = m, равно . 12.1) . . Гамильтоновы графы. Достаточные условия гамильтоновости графа.

Граф называется гамильтоновым, если в нем имеется простой цикл, содержащий каждую вершину этого графа. Сам этот цикл также называется гамильтоновым. Гамильтоновой называют и простую цепь, содержащую каждую вершину графа. Слово «гамильтонов» в этих определениях связано с именем известного ирландского математика У. Гамильтона, которым в 1859 году предложена следующая игра «Кругосветное путешествие». Каждой из двадцати вершин додекаэдра приписано название одного из крупных городов мира. Требуется, переходя от одного города к другому по ребрам додекаэдра, посетить каждый город в точности один раз и вернуться в исходный город. Эта задача, очевидно, сводится к отысканию в графе додекаэдра (кубического плоского графа с 12 гранями размера 5) простого цикла, проходящего через каждую вершину этого графа.

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

Любой граф, содержащий две вершины степени 3, соединенные тремя простыми попарно непересекающимися цепями длины не менее двух, называется тэта-графом (рис. 6.3).

Теорема 6.3. Каждый негамильтонов двусвязный граф содержит тэта-подграф.

Несмотря на внешнее сходство постановок, задачи распознавания эйлеровости и гамильтоновости графа принципиально различны. Используя теорему 6.1, легко узнать, является ли граф эйлеровым. В случае положительного ответа алгоритм Флёри позволяет достаточно быстро построить один из эйлеровых циклов.

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

Интуитивно ясно, что если граф содержит много ребер и эти ребра к тому же достаточно равномерно распределены, то граф «предрасположен» быть гамильтоновым. В двух приводимых ниже теоремах можно усмотреть подтверждение этому.

Теорема 6.4. (O. Оре, 1960 г.). Если для любой пары и несмежных вершин графа G порядка n  3 выполняется неравенство deg u + deg vn , то G — гамильтонов граф. Из этой теоремы непосредственно вытекает следующая

Теорема 6.5. (Г. Дирак, 1952 г.). Если в графе G порядка n  3 для любой вершины v выполняется неравенство deg vn /2, то G — гамильтонов граф.

Нетрудно заметить, что во всяком n-вершинном графе, удовлетворяющем условиям из рассмотренных выше теорем, число ребер не меньше чем n(n – 1)/4. С другой стороны, n-вершинный планарный граф, как мы знаем, содержит не более 3n – 6 ребер. Поэтому рассмотренные выше достаточные условия заведомо неприменимы к планарным графам.

Если в n-вершинном графе G фиксировать одну вершину и обход всегда начинать с нее, то всякому гамильтонову циклу очевидным образом будет соответствовать перестановка элементов множества VG. Тем самым найти гамильтонов цикл либо убедиться в отсутствии такого цикла можно путем перебора (n – 1)! перестановок. Если граф G гамильтонов, то проделать этот перебор в полном объеме придется только в случае крайнего невезения — когда нужная, т. е. отвечающая гамильтонову циклу перестановка встретится последней в этом процессе. Если же G — негамильтонов граф, то действуя подобным образом, придется в любом случае проверить все (n – 1)! перестановок.

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