Мегаобучалка Главная | О нас | Обратная связь


Задача о кратчайшем пути



2016-09-15 858 Обсуждений (0)
Задача о кратчайшем пути 0.00 из 5.00 0 оценок




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

Алгоритм для сетей без циклов.

Рис.6

Пусть имеется цепь рис.6 Необходимо найти кратчайший маршрут между пунктами 1 и 7. Введем следующие обозначения: – расстояние между i-ым и j-ым узлами; – кратчайшее расстояние от узла 1 до j-го узла.

Общая формула для вычисления имеет вид

Решение для графа рис.6:

Очевидно, что .

Для узлов 2 и 3 получим: ;

.

Узел 4: = = 7.

Узлы 5 и 6: ;

.

Узел 7: .

Минимально расстояние равно 13 и соответствующий маршрут 1®2®5®7.

Алгоритм для сетей с циклами.

В этом случае алгоритм несколько сложнее.

Шаг 1. Пусть – сумма длин дуг, образующих цепь, ведущую из узла 1 в узел j. Положим и если . При условии, что i и j соединены дугой, величина определяется как

.

Процесс начинается с и .

Шаг 2. Положить .

а) Вычислить для всех j.

б) Если для всех j, то между узлами i и j не существует более короткого пути. Если , перейти к п.(г). Иначе положить и перейти к п.(а).

в) Если , вычислить новые значения и , используя формулу

.

Заменить и для на . Если , перейти к п.(г); в противном случае положить и перейти к п.(а).

г) Если значение изменялось в п.(в), повторить шаг 2, используя измененное значение. В противном случае перейти к шагу 3.

Шаг 3. Полученные значения определяют кратчайшие расстояния между узлами 1 и . Для получения соответствующих цепей последняя дуга в цепи должна удовлетворять условию

.

После определения предпоследняя вершина должна удовлетворять равенству

.

Процесс продолжается пока не будет достигнут узел 1.

 

Задача о максимальном потоке

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

Шаг 1. Найти цепь, соединяющую s с t (источник и приемник), по которой поток принимает положительное значение в направлении .Если такой цепи не существует, перейти к шагу 3. В противном случае перейти к шагу 2.

Шаг 2. Пусть ( ) – пропускные способности дуг цепи в направлении ( ) и

.

Матрицу пропускных способностей изменить следующим образом:

а) вычесть q из всех ;

б) прибавить q ко всем .

Заменить текущую матрицу на вновь полученную и перейти к шагу 1.

Шаг 3. Найти максимальный поток в сети. Пусть – исходная матрица пропускных способностей, – последняя полученная в результате модификаций матрица. Оптимальный поток в дугах задается как

.

Максимальный поток из s в t равен

.

 

Задачи

 

3.1 Решите задачу о минимизации сети для графа

а) Рис.7.

б) Рис.8.

в) Рис.9.

г) Рис.10

Рис.7 Рис.8 Рис.9 Рис.10

3.2 Для графа рис.6 решите задачу о нахождении кратчайшего пути.

а) От узла 1 к узлу 5.

б) От узла 1 к узлу 6.

3.3 Решите задачу о нахождении кратчайшего пути для графа:

а) Рис.11.

б) Рис.12.

в) Рис.13.

г) Рис.14.

Рис.11 Рис.12

Рис.13 Рис.14

 

Конечные автоматы

Основные понятия

Логическая схема (автомат), значения выходных переменных которого определяется только комбинацией значений переменных на его входах в данный момент времени называется комбинационной схемой. Если состояние схемы зависит также и от предыдущих значений входных переменных, схему называют последовательностной. Оба типа схем, в которых входные и выходные переменные принимают значения из конечных алфавитов, объединяются под названием конечные автоматы.

Конечный автомат М определяется как система с конечным входным алфавитом , конечным выходным алфавитом , конечным множеством состояний и двумя характеристическими функциями:

;

,

называемых соответственно функцией переходов и функцией выходов.

Работу автомата можно представить таблицей переходов, таблицей выходов, графом автомата или матрицей соединений.

В таблице переходов:

 

s(n) \ x(n)

 

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

В таблице выходов:

 

s(n) \ x(n)

 

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

Две указанные таблицы могут быть объединены в общую таблицу переходов, где определятся состояние автомата на следующем такте и его выход:

 
 


s(n) \ x(n)
3/0 2/0 1/0 3/0
3/1 2/0 1/0 3/1
3/1 2/0 2/1 3/1
3/0 0/0 0/1 1/1

 

 

Рис.15

Граф автомата, соответствующий приведенным таблицам представлен на рис.15. Состояния автомата представлены вершинами графа. Ребрам графа приписаны входное воздействие/выход автомата.

Матрица соединений, соответствующая автомату с графом рис.15 представлена ниже:

.

 

Задачи

 

4.1 Накопительный счетчик, на вход которого подаются двоичные цифры 0 и 1, подсчитывает по модулю 3 общее число поступивших на вход единиц. Перечислите входной и выходной алфавиты, а также определите множество состояний.

а) Запишите таблицу переходов соответствующего конечного автомата.

б) Постройте граф автомата.

в) Запишите матрицу соединения автомата.

4.2 На основании графа рис.16 определите выходную последовательность и смену состояний автомата при начальном состоянии 3 и входной последовательности:

а) (0 1 2 3 3 0 1 2);

б) (2 0 1 3 2 0 0 2);

в) (3 1 0 0 2 3 0 2 1 1);

г) (2 3 0 1 0 3 2 1 1);

д) (3 3 2 0 1 0 0 2 1).

4.3 Постройте матрицу переходов и матрицу соединений для автомата

а) Рис.17.

б) Рис.18.

Рис.16 Рис.17 Рис.18

Теория алгоритмов

 

Основные понятия

 

Численный алгоритм – алгоритм, сводящий решение данной задачи к операциям над числами.

Пример словесного алгоритма Евклида (нахождение наибольшего общего делителя):

1) обозревай a и b и переходи к следующему;

2) сравни обозреваемые числа ( , или , или ) и переходи к следующему;

3) если обозреваемые числа равны, то каждое из них дает искомый результат, если нет – переходи к следующему;

4) если первое обозреваемое число меньше второго, переставь их местами и переходи к следующему;

5) вычитай второе число из первого и обозревай два числа – вычитаемое и остаток; переходи к указанию 2.

Логический алгоритм – содержит предписания, относящиеся не к цифрам, а к объектам любой природы. Пример – поиск пути в конечном лабиринте.

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

Алфавит – конечная система символов (букв).

Слово – конечная последовательность букв некоторого алфавита. Например, в алфавите словами будут последовательности b, ac, bac, abbca и т.д. Пустое слово обозначается «Ù» .

Подстановка L–M в слове R означает замену словом M всех вхождений слова L в слове R, и наоборот, замену словом L всех вхождений слова M в слове R. Например, подстановка , примененная к слову даст слово , либо слово .

Эквивалентные слова могут быть получены друг из друга последовательным применением допустимых перестановок.

 

Стандартные алгоритмы

 



2016-09-15 858 Обсуждений (0)
Задача о кратчайшем пути 0.00 из 5.00 0 оценок









Обсуждение в статье: Задача о кратчайшем пути

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (858)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.01 сек.)