Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Книги / Лекции по Дискретной математике / Лекции по Дискретной математике (1-семестр).doc
Скачиваний:
94
Добавлен:
10.12.2013
Размер:
476.67 Кб
Скачать

4.2. Теорема Эйлера

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

Эйлеровым цикломназывается простой цикл, проходящий по всем ребрам.

Граф, имеющий эйлеровый цикл, называется эйлеровым графом.

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

Доказательство:1) Докажем необходимость.

Пусть есть вершина с нечетной степенью. Эта вершина не может быть первой

так как выходить и возвращаться в нее можно, используя четное число ребер. Нечетное ребро обусловит окончательный уход из этой вершины. Но эта вершина должна быть и последней, чтобы обеспечить цикл. Что не возможно.

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

Таким образом доказана необходимость того, чтобы все вершины были четными.

  1. Докажем достаточность требования четности вершин.

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

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

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

Если таким образом пройдены все ребра графа, то теорема доказана. Иначе выбирается новая вершина, инцидентная непройденным ребрам (их четное число) и строится новый цикл. И так до исчерпания непройденных ребер графа.

Таким образом, теорема доказана. А, следовательно, решена и задача о Кенигсбергских мостах. Слово «решена» здесь используется в расширненном понимании, принятом в обиходе у математиков, поскольку Эйлер на самом-то деле доказал, что задача не имеет решения.

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

Известная детская задача нарисовать, не отрывая карандаша, домик – лучшая иллюстрация к этому следствию.

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

Пример гамильнтонова графа

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

4.10. Внутренняя устойчивость графа

Множество внутренней устойчивости- множество несмежных вершин графа.

a

f b

e c

d

a

b

c

d

e

f

a

1

b

1

1

c

1

d

1

1

e

1

f

1

1

1

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

Классический пример, задача о восьми ферзях: Как расставить на шахматной доске восемь ферзей, чтобы они не били друг друга. То есть построить граф с 64 вершинами (клеточками), где каждая клеточка соединена с клеточками, которые находятся под боем. Максимальные множества несмежных вершин и дают решение этой задачи.

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

Последние годы ситуация изменилась.

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

Фактически дает аналитическое (!) решение этой задачи.

Алгоритм Магу.

1. По единицам матрицы строим парные дизъюнкты.

(а  b)(a  c)(b  e)(c  f)(d  b)(d  e)(e  c)(f  b)(f  d)(f  e)

2. Преобразуем в ДНФ, выполнив все возможные поглощения и операции идемпотентности.

Получим: bcde bcefadefafebfbdc

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

{ a, f }, { a, d }, { a, e }, { b, c }, { c, d }

Максимальное из таких множеств дает число внутренней устойчивости( здесь оно равно 2).