Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Elektr_prak_po_DM.docx
Скачиваний:
149
Добавлен:
21.05.2015
Размер:
1.24 Mб
Скачать

3.4. Задачи оптимизации на графах

Если дуге ориентированного графа G1 (V, E) поставлено в соответствие некоторое вещественное число a(u, v), называемое весом, то последовательность вершин v0, v1,..., vp определяет путь в G1 а его длина определяется как сумма весов:. Если в произвольном графе вес каждой дуги равен единице, то длина пути равна числу дуг.

Задача о кратчайшем пути возникает чаще всего при решении транспортных и дискретных задач динамического программирования и др. Длину кратчайшего пути обозначают r (vi, vj) и называют расстоянием от vi до vj (расстояние может быть отрицательным). Для любого орграфа можно построить матрицу расстояний R=r (i, j). Заполняется матрица построчно, выбирая вершину слева (справа). Значением является наименьшее число дуг, связывающее вершину слева с одной из вершин строки.

Если не существует ни одного пути из vi в vj, то полагаем r (vi, vj) =  . Если каждый контур нашего графа имеет положительную длину, то кратчайший путь будет всегда элементарным путем, т.е. в последовательности v1,..., vp не будет повторов.

Среднее отклонение вершины vi от центра графа D(vi) равно:

,

где m - число дуг в графе, v - пробегает вершины графа, n – количество вершин графа, i = 1..n.

Вершина, для которой D(vi) окажется минимальным, называется центром графа (возможно несколько вершин – центр графа).

Путем или маршрутом на графе G1(V,E) называется последовательность его вершин и ребер v1e1v2e2v3…vnen vn+1, в которой любые два соседних элемента инцидентны. Путь называется простым, если все ребра и все вершины на нем, кроме первой и последней, различны.

Маршрут называется цепью, если все его ребра различные. Маршрут называется простой цепью, если все его вершины, а значит и ребра, различные.

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

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

Если в графе нет циклов, то он называется ациклическим.

Теперь можно иначе определить понятие дерева. Связный граф без циклов называется деревом.

Примеры выполнения заданий

1. Орграф задан геометрически.

7)

Постройте матрицу расстояний.

Вычислите центр орграфа.

Решение:

построим матрицу расстояний:

R= r (i, j):

1

2

3

4

5

1

0

1

2

1

3

2

2

0

1

1

2

3

1

2

0

1

2

4

4

2

3

0

1

5

3

1

2

2

0

2

1

5

3

4

Общее число дуг m = 8.

Рассчитываем отклонения от центра графа:

D(1)=7/8;

D(2)=D(3)=6/8=3/4;

D(4)=10/8=5/4;

D(5)=8/8=1.

Итак, центром графа являются вершины 2 и 3.

2. Посёлок построен в виде квадрата 3 квартала на 3 квартала (кварталы - квадраты со стороной b, всего 9 кварталов).Какой наименьший путь должен пройти асфальтоукладчик, чтобы заасфальтировать все улицы, если он начинает и кончает свой путь в угловой точке A? (Стороны квадрата - тоже улицы).

Решение:

Понятно, что длина маршрута асфальтоукладчика не меньше 24, так как он должен проехать по каждой улице хотя бы один раз. Докажем, что по крайней мере по четырём улицам ему придётся проехать по два раза. Ровно на восьми перекрёстках пересекается нечётное число улиц.

Рис. 6. Кратчайший путь

Следовательно, любой кольцевой маршрут асфальтоукладчика должен проходить по два раза по крайней мере по 8/2 = 4 улицам.Минимальная длина маршрута асфальтоукладчика равна 28; один из возможных маршрутов приведён на рисунке 6.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]