Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Топ:
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Основы обеспечения единства измерений: Обеспечение единства измерений - деятельность метрологических служб, направленная на достижение...
Интересное:
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Цель работы: изучение алгоритмов поиска кратчайших путей на графах и составление алгоритма на языке высокого уровня.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
2.1 ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ
Путем (или ориентированным маршрутом) ориентированного графа называется последовательность дуг, в которой конечная вершина всякой дуги, отличной от последней, является начальной вершиной следующей. Так на рисунке 5 последовательности дуг μ1= { a6, a5, a9, a8, a4 }, μ2= { a1, a6, a5, a9 }, μ3= { a1, a6, a5, a9, a10, a6, a4 } являются путями.
Ориентированной цепью (орцепью) называется такой путь, в котором каждая дуга используется не больше одного раза. Так, например, приведенные выше пути μ1 и μ2 являются орцепями, а путь μ3 не является таким, поскольку дуга a6 в нем используется дважды.
Маршрут есть неориентированный "двойник" пути, и это понятие рассматривается в тех случаях, когда можно пренебречь направленностью дуг в графе.
Таким образом, маршрут есть последовательность ребер a1, a2,..., aq, в которой каждое ребро ai, за исключением, возможно, первого и последнего ребер, связано с ребрами ai-1 и ai+1 своими двумя концевыми вершинами.
Последовательности дуг на рисунке 6
μ4= { a2, a4, a8, a10 }, μ5= { a2, a7, a8, a4, a3 } и μ6= { a10, a7, a4, a8, a7, a2 }
являются маршрутами.
Контуром (простой цепью) называется такой путь (маршрут), в котором каждая вершина используется не более одного раза. Например, путь μ2 является контуром, а пути μ1 и μ3 - нет. Очевидно, что контур является также цепью, но обратное утверждение неверно. Например, путь μ1 является цепью, но не контуром, путь μ2 является цепью и контуром, а путь μ3 не является ни цепью, ни контуром.
Аналогично определяется простая цепь в неориентированных графах. Так, например, маршрут μ4 есть простая цепь, маршрут μ5 - цепь, а маршрут μ6 не является цепью.
Путь или маршрут можно изображать также последовательностью вершин. Например, путь μ1 можно представить также: μ1 ={ x2, x5, x4, x3, x5, x6 } и такое представление часто оказывается более полезным в тех случаях, когда осуществляется поиск контуров или простых цепей.
Иногда дугам графа G сопоставляются (приписываются) числа - дуге (xi, xj) ставится в соответствие некоторое число cij, называемое весом, или длиной, или стоимостью (ценой) дуги. Тогда граф G называется взвешенным. Иногда веса (числа vi) приписываются вершинам xi графа.
При рассмотрении пути μ, представленного последовательностью дуг (a1, a2,..., aq), за его вес (или длину, или стоимость) принимается число L (µ), равное сумме весов всех дуг, входящих в μ, т. е.
(2)
Таким образом, когда слова "длина", "стоимость", "цена" и "вес" применяются к дугам, то они эквивалентны по содержанию, и в каждом конкретном случае выбирается такое слово, которое ближе подходит по смыслу.
Длиной (или мощностью) пути и называется число дуг, входящих в него.
ЗАДАЧА О КРАТЧАЙШЕМ ПУТИ
Пусть дан граф G= (X, Г), дугам которого приписаны веса (стоимости), задаваемые матрицей С = [ сij ]. Задача о кратчайшем пути состоит в нахождении кратчайшего пути от заданной начальной вершины (истока) s до заданной конечной вершины (стока) t, при условии, что такой путь существует:
Найти µ (s,t) при L (µ)® min, s,t Î Х, t Î R (s),
где R (s) - множество, достижимое из вершины s.
В общем случае элементы сij матрицы весов С могут быть положительными, отрицательными или нулями. Единственное ограничение состоит в том, чтобы в G не было циклов с суммарным отрицательным весом. Отсюда следует, что дуги (ребра) графа G не должны иметь отрицательные веса.
Почти все методы, позволяющие решить задачу о кратчайшем (s-t)-пути, дают также (в процессе решения) и все кратчайшие пути от s к xi (" xi Î Х). Таким образом, они позволяют решить задачу с небольшими дополнительными вычислительными затратами.
Допускается, что матрица весов С не удовлетворяет условию треугольника, т. е. не обязательно сij £ сik + сkj для всех i, j и k.
Если в графе G дуга (xi, xj) отсутствует, то ее вес полагается равным ¥.
Ряд задач, например, задачи нахождения в графах путей с максимальной надежностью и с максимальной пропускной способностью, связаны с задачей о кратчайшем пути, хотя в них характеристика пути (скажем, вес) является не суммой, а некоторой другой функцией характеристик (весов) дуг, образующих путь. Такие задачи можно переформулировать как задачи о кратчайшем пути и решать их соответствующим образом.
Существует множество методов решения данной задачи, отличающиеся областью применимости и трудоемкостью (Дейкстры, Флойда, динамического программирования). Среди них большое распространение получили частные алгоритмы, применяющиеся при решении частных задач, и имеющие меньшую трудоемкость. Эти частные случаи встречаются на практике довольно часто (например, когда сij являются расстояниями), так что рассмотрение этих специальных алгоритмов оправдано.
На практике задачу кратчайшего пути часто требуется решать для класса ориентированных ациклических графов. Такая задача успешно решается с помощью метода динамического программирования.
Отчет о выполнении
Отчет выполняется в электронном виде. Если заданий несколько, то повторить всю систему отчета необходимое количество раз.
| Текст задачи |
| Листинг алгоритма исполняемого файла |
| Скриншот интерфейса запускного файла программы |
Контрольные вопросы:
1. Что такое граф?
2. Основные понятия и определения.
3. Описать задачу о кротчайшем пути.
4. Объяснить алгоритм решения на языке высокого уровня
Перечень литературы:
Дополнительная литература:
Интернет ресурсы
Задания для дополнительного изучения
ЗАДАНИЕ 1. Изучить и реализовать следующие сортировки:
1. Простой вставкой.
2. Пузырьковая сортировка.
3. Простым выбором.
4. Пирамидальная сортировка.
5. Быстрая рекурсивная сортировка.
6. Быстрая сортировка с использованием стека.
7. Файловая сортировка естественным слиянием.
ВАРИАНТЫ ДОМАШНИХ ЗАДАНИЙ
ВАРИАНТ 1. “Карманная” сортировка [2]
ВАРИАНТ 2. Поразрядная сортировка [2]
ВАРИАНТ 3. Сортировка Шелла. [2]
ВАРИАНТ 4. Сортировка двухпутевым слиянием [3].
ВАРИАНТ 5. Сортировка связных списков слиянием сверху вниз[3].
ВАРИАНТ 6. Восходящая сортировка связных списков слиянием [3].
ВАРИАНТ 7. Быстрая сортировка с разделением на три части[3].
ВАРИАНТ 8. Индексная сортировка [3]
ВАРИАНТ 9. Сортировка бинарными включениями.[1].
ВАРИАНТ 10.Шейкер-сортировка [1].
ВАРИАНТ 11.Сортировка связных списков [3]
ВАРИАНТ 12. Метод распределяющего подсчета [3].
ВАРИАНТ 13.Метод разделения с вычислением медианы трех элементов [3].
ВАРИАНТ 14.Поразрядная сортировка [3].
|
|
|
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!