Студопедия — Постановка задачи. Вывод пути
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Постановка задачи. Вывод пути






Дан ориентированный граф G=< V, E>,

веса дуг — A[i, j] (i, j=l..N, где N — количество вершин графа), начальная и ко­нечная вершины — s, t V. Веса дуг записаны в матрице смеж­ности А, если вершины i и j не связаны дугой, то A[i,, j]= . Путь между s и t оценивается Необходимо найти путь с минима­льной оценкой.

Пример. Кратчайший путь из 1 в 4 проходит через 3-ю и 2-ю вершины и имеет оценку 6 (см. рис 4.23)

Особый случай — контуры с отри­цательной оценкой.

Пример. При s=l и t=5, обходя контур 3" 4" 2" 3 (см. рис. 4.) достаточное число раз, можно сделать так, что оценка пути между вершинами 1 и 5 будет меньше любого целого числа. Оценку пути на­зовем его весом или длиной. Будем рассматривать только графы без кон­туров отрицательного веса.

 

рис.4

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

Обозначим ее через D[s, t]. Неизвестны алгоритмы, определяющие только D[s, t], все они определяют оценки от вершины s до всех остальных вершин графа. Определим D как Array[1..N] Of Integer. Предположим, что мы определили зна­чения элементов массива D — решили вторую подзадачу. Опре­делим сам кратчайший путь. Для s и t существует такая вер­шина v, что D[t]=D[v]+A[v, t]. Запомним v (например, в стеке). Повторим процесс поиска вершины и, такой, что D[v]=D[u]+А[u, v], и так до тех пор, пока не дойдем до верши­ны с номером s. Последовательность t, v, u,...., s дает кратчай­ший путь.

 

Procedure Way(s, t: Integer);

{*D, A - глобальные

структуры данных. St - локальная структура данных для хранения номеров вершин. *)

Var v, u: Integer;

Procedure Print; {*Выводит содержимое St.*}

Begin

End

Begin

< почистить St>;

< Занести вершину с номером t в St>; v: =t;

While v< > s Do

Begin u: =< номер вершины, для которой

D[v] =D[u] +A[u, v]>;

< занести вершину с номером v в St>;

V: =u;

End;

End;

 

Итак, путь при известном D находить мы умеем. Осталось научиться определять значения кратчайших путей, т. е. эле­менты массива D. Идея всех известных алгоритмов заключает­ся в следующем. По данной матрице весов А вычисляются пер­воначальные верхние оценки. А затем пытаются их улучшить до тех пор, пока это возможно. Поиск улучшения, например для D[v], заключается в нахождении вершин и, таких, что D[u]+A[u, v]< D[v]. Если такая вершина u есть, то значение D[v] можно заменить на D[u]+A[u, v].

 







Дата добавления: 2014-11-10; просмотров: 581. Нарушение авторских прав; Мы поможем в написании вашей работы!



Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Что происходит при встрече с близнецовым пламенем   Если встреча с родственной душой может произойти достаточно спокойно – то встреча с близнецовым пламенем всегда подобна вспышке...

Реостаты и резисторы силовой цепи. Реостаты и резисторы силовой цепи. Резисторы и реостаты предназначены для ограничения тока в электрических цепях. В зависимости от назначения различают пусковые...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Подкожное введение сывороток по методу Безредки. С целью предупреждения развития анафилактического шока и других аллергических реак­ций при введении иммунных сывороток используют метод Безредки для определения реакции больного на введение сыворотки...

Принципы и методы управления в таможенных органах Под принципами управления понимаются идеи, правила, основные положения и нормы поведения, которыми руководствуются общие, частные и организационно-технологические принципы...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия