Конференция_Чан_Тхюи_Зунгx

advertisement
ИССЛЕДОВАНИЕ ЭЙЛЕРОВЫХ ГРАФОВ В МАТЕМАТИКЕ
Чан Тхюи Зунг
Томский политехнический университет, 634050, Россия, г. Томск, пр. Ленина, 30
Научный руководитель: Буркатовская Ю.Б
Введение
Первая работа по теории графов, принадлежащая известному швейцарскому
математику Л.Эйлеру, появилась в 1736г. Вначале теория графов казалась довольно
незначительным разделом математики, так как она имела дело в основном с
математическими развлечениями и головоломками. Однако дальнейшее развитие
математики и особенно её приложений дало сильный толчок развитию теории графов.
Уже в XIX столетии графы использовались при построении схем. В настоящее время
эта теория находит многочисленное применение в разнообразных практических
вопросах: при установлении разного рода соответствий, при решении транспортных
задач, задач о потоках в сети нефтепроводов, в программировании и теории игр, теории
передачи сообщений. Теория графов теперь применяется и в таких областях, как
экономика, психология и биология.
В этой работе мы подробнее рассмотрим эйлеровы графы, основные сведения и
теоремы, связанные с этим понятием. А также задачи, которые решаются с помощью
эйлеровых графов.
Основные параметры Эйлеровых граф
Графом называется совокупность двух множеств – непустого множества V и
множества E неупорядоченных пар различных элементов множество V . Множество V
называется множество вершин, множество E называется множеством ребре.
G(V,E) = <V,E>, V ≠ ∅, E € V×V
Пусть v1, v2 - вершины , e = (v1,v2 ) – соединяющее их ребро. Вершина v1 и ребро
е инцидентны, вершина v2 и ребро е также инцидентны. Два ребра, инциденты одной
вершины ,называется смежными. Два вершины, инциденты одному ребру, называется
смежными. Граф может быть задан с помощью матриц смежности.
Пример : V = {v1, v2 ,v3, v4} , E = {e1 = {v1,v2}, e2 = {v2,v3}, e3 ={v3,v4}, e4 = {v4,v1},
e5 = {v2,v4} } (Рис. 1).
Рис.1 – Граф и матрица смежности.
Нагруженным графом G(V,E) называется граф, каждому ребру которого
сопоставлено некоторое число, называется весом. Нагруженный граф может быть задан
матрицей смежности С, для которой элемент Cij равен весу ребра (i, j) ( дуги {i, j}. Если
ребра (i, j) ( дуги {i,j} ) не существует, то Cij = ∞.
Маршрутом в графе называется последовательность вершин и ребре вида
v0e1v1e2... ekvk , в которой любые два соседние элемента инцидентны.
Если все ребра в маршруте различны, то маршрут называется цепью. Замкнутая
цепь ( v0 = vk ) называется циклом.
Рис. 2 – Маршрутом
Например : v1v3v1v4 – маршрут, но не цепь; v1v3v5v2v3v4 – цепь, но не простая цепь.
v1v4v3v2v5 – простая цепь; v1v3v5v2v3v4v1 – цикл, но не простой цикл. v1v3v4v1 –простой
цикл. (Рис. 2 ).
Мостом называется ребро, удаление которого лишает данный граф связности,
т.е. увеличивает число компонент связности.
Эйлерова граф
Если граф имеет цикл (не обязательно простой), содержащий все ребра графа по
одному разу, то такой цикл называется эйлеровым циклом, а граф называется
эйлеровым графом. Если граф имеет цепь ( не обязательно простую ), содержащую все
ребра графа по одному разу, то такая цепь называется эйлеровой цепью, аграф
называется полуэйлеровым графом .
Следующая теорема дает необходимо и достаточно условие эйлеровости графа.
Теорема 1 : Для того, чтобы связный граф G был Эйлеровым, необходимо и
достаточно, чтобы степени всех его вершин был четными.
Теорема 2 : Для того, чтобы связный граф G был полуэйлеровым, необходимо и
достаточно, чтобы он содержал ровно две вершины нечетной степени.
Алгоритмы построения эйлеровых циклов
Алгоритм нахождения Эйлерова цикла. Перед запуском алгоритма
необходимо проверить граф на эйлеровость. Чтобы построить Эйлеров путь, нужно
запустить алгоритм из вершины с нечетной степенью. Алгоритм напоминает поиск в
глубину. Главное отличие состоит в том, что пройденными помечаются не вершины, а
ребра графа. Начиная со стартовой вершины v строим путь, добавляя на каждом шаге
не пройденное еще ребро, смежное с текущей вершиной. Вершины пути накапливаются
в стеке S. Когда наступает такой момент, что для текущей вершины w все инцидентные
ей ребра уже пройдены, записываем вершины из S в ответ, пока не встретим вершину,
которой инцидентны не пройденные еще ребра. Далее продолжаем обход по не
посещенным ребрам.
Мне бы хотелось привести здесь еще один алгоритм построения эйлерова цикла
в эйлеровом графе - это Алгоритм Флёри, он позволяет пронумеровать ребра исходного
графа так, чтобы номер ребра указывал каким по счету это ребро войдет эйлеров цикл.
Начиная с произвольной вершины, идем по ребрам, соблюдая следующие правила :
1. Удаляем ребра по мере их прохождения, и удаляем также изолированные
вершины, которые при этом образуются.
2. Идем по мосту только тогда, когда нет других возможностей.
Описание программы, разработанной на основе алгоритма для поиска
эйлеровых циклов.
Программа, разработанная на основе алгоритма. Исходный граф является
неориентированным. Граф описается по матрице смежности. Программа считывает
данные из файла, в котором хранятся данные, которые заданы пользователями. После
считывания программа просит задать цикл, для которой пользователь хочет найти.
Рис. 3. Пример результата тестирования разработанной программы
Заключение
Известно, что эйлеровы графы получили широкое распространение и
популярность благодаря тому, что многие головоломки и задачи можно решить с
использованием знаний теории графов. Частные примеры таких головоломок и
сюжетных задач были приведены в практической части. Задачи на отыскание путей
через лабиринты, близкие к задачам на эйлеровы графы, находят применение в
современной психологии и при конструировании вычислительных машин. Также с
практической точки зрения, сейчас графы применяют во многих других
областях науки таких как : программирование, физика, химия, биология, экономика и
т.д.
Литература
1.http://ru.wikipedia.org/wiki/%D0%AD%D0%B9%D0%BB%D0%B5%D1%80%D0
%BE%D0%B2_%D1%86%D0%B8%D0%BA%D0%BB.
Related documents
Download