Нахождение кратчайшего путиРефераты >> Программирование и компьютеры >> Нахождение кратчайшего пути
В теории графов существуют специфические методы решения экстремальных задач. Один из них основан на теореме о максимальном потоке и минимальном разрезе, утверждающей, что максимальный поток, который можно пропустить через сеть из вершины U в вершину V, равен минимальной пропускной способности разрезов, разделяющих вершины U и V. Были построены различные эффективные алгоритмы нахождения максимального потока.
Большое значение в теории графов имеют алгоритмические вопросы. Для конечных графов, т. е. для графов с конечным множеством вершин и ребер, как правило, проблема существования алгоритма решения задач, в том числе экстремальных, решается положительно. Решение многих задач, связанных с конечными графами, может быть выполнено с помощью полного перебора всех допустимых вариантов. Однако таким способом удается решить задачу только для графов с небольшим числом вершин и ребер. Поэтому существенное значение для теории графов имеет построение эффективных алгоритмов, находящих точное или приближенное решение. Для некоторых задач такие алгоритмы построены, например, для установления планарности графов, определения изоморфизма деревьев, нахождения максимального потока.
Результаты и методы теории графов применяются при решении транспортных задач о перевозках, для нахождения оптимальных решений задачи о назначениях, для выделения «узких мест» при планировании и управлении разработок проектов, при составлении оптимальных маршрутов доставки грузов, а также при моделировании сложных технология, процессов, в построении различных дискретных устройств, в программировании и т. д.
1.2. Основные термины и теоремы теории графов.
1. Граф - Пара объектов G = ( X , Г ) ,где Х - конечное множество ,а Г –конечное подмножество прямого произведения Х*Х . При этом Х называется множеством вершин , а Г - множеством дуг графа G .
2. Любое конечное множество точек (вершин), некоторые из которых попарно соединены стрелками , (в теории графов эти стрелки называются дугами), можно рассматривать как граф.
3. Если в множестве Г все пары упорядочены, то такой граф называют ориентированным .
4. Дуга- ребро ориентированного графа.
5. Граф называется вырожденным, если у него нет рёбер.
6. Вершина Х называется инцидентной ребру G , если ребро соединяет эту вершину с какой-либо другой вершиной.
7. ПодграфомG(V1, E1) графа G(V, E) называется граф с множеством вершин V1ÍV и множеством ребер (дуг) E1Í E, - такими, что каждое ребро (дуга) из E1 инцидентно (инцидентна) только вершинам из V1 . Иначе говоря, подграф содержит некоторые вершины исходного графа и некоторые рёбра (только те, оба конца которых входят в подграф).
8. Подграфом, порождённым множеством вершин U называется подграф, множество вершин которого – U, содержащий те и только те рёбра, оба конца которых входят в U.
9. Подграф называется остовным подграфом, если множество его вершин совпадает с множеством вершин самого графа.
10. Вершины называются смежными , если существует ребро , их соединяющее.
11. Два ребра G1 и G2 называются смежными, если существует вершина, инцидентная одновременно G1 и G2.
12. Каждый граф можно представить в пространстве множеством точек, соответствующих вершинам, которые соединены линиями, соответствующими ребрам (или дугам - в последнем случае направление обычно указывается стрелочками). - такое представление называется укладкой графа.
13. Доказано, что в 3-мерном пространстве любой граф можно представить в виде укладки таким образом, что линии, соответствующие ребрам (дугам) не будут пересекаться во внутренних точках. Для 2-мерного пространства это, вообще говоря, неверно. Допускающие представление в виде укладки в 2-мерном пространстве графы называют плоскими (планарным). Другими словами, планарным называется граф, который может быть изображен на плоскости так, что его рёбра не будут пересекаться.
14. Гранью графа, изображенного на некоторой поверхности, называется часть поверхности, ограниченная рёбрами графа.
Данное понятие грани, по - существу, совпадает с понятием грани многогранника. В качестве поверхности в этом случае выступает поверхность многогранника. Если многогранник выпуклый, его можно изобразить на плоскости, сохранив все грани. Это можно наглядно представить следующим образом: одну из граней многогранника растягиваем, а сам многогранник «расплющиваем» так, чтобы он весь поместился внутри этой грани. В результате получим плоский граф. Грань, которую мы растягивали «исчезнет», но ей будет соответствовать грань, состоящая из части плоскости, ограничивающей граф.
Таким образом, можно говорить о вершинах, рёбрах и гранях многогранника, а оперировать соответствующими понятиями для плоского графа.
15. Пустым называется граф без рёбер. Полным называется граф, в котором каждые две вершины смежные.
16. Конечная последовательность необязательно различных рёбер E1,E2, .En называется маршрутом длины n, если существует последовательность V1, V2, . Vn необязательно различных вершин, таких, что Ei = (Vi-1,Vi ).
17. Если совпадают, то маршрут замкнутый.
18. Маршрут, в котором все рёбра попарно различны, называется цепью.
19. Замкнутый маршрут, все рёбра которого различны, называется циклом. Если все вершины цепи или цикла различны, то такая цепь или цикл называются простыми.
20. Маршрут, в котором все вершины попарно различны, называется простой цепью.
21. Цикл, в котором все вершины, кроме первой и последней, попарно различны, называется простым циклом.
22. Граф называется связным, если для любых двух вершин существует путь, соединяющий эти вершины.
23. Любой максимальный связный подграф (то есть, не содержащийся в других связных подграфах) графа G называется компонентой связности. Несвязный граф имеет, по крайней мере, две компоненты связности.
24. Граф называется k - связным (k - реберно - связным), если удаление не менееk вершин (ребер) приводит к потере свойства связности.
25. Маршрут, содержащий все вершины или ребра графа и обладающий определенными свойствами, называется обходом графа.
26. Длина маршрута (цепи, простой цепи) равна количеству ребер а порядке их прохождения. Длина кратчайшей простой цепи, соединяющей вершины vi и vj в графе G, называется расстоянием d (vi, vj) между vi и vj.
27. Степень вершины - число ребер, которым инцидентна вершина V, обозначается D(V).
С помощью различных операций можно строить графы из более простых, переходить от графа к более простому, разбивать графы на более простые и т.д.
Средиодноместных операций наиболее употребительны: удаление и добавление ребра или вершины, стягивание ребра (отождествление пары смежных вершин), подразбиение ребра (т.е. замена ребра (u, v) на пару (u, w), (w, v), где w - новая вершина) и др.