Взвешенный неорграф - маршрут max пропускной способности
От: functional Украина http://www.compuniver.iatp.org.ua/
Дата: 27.05.03 13:57
Оценка:
Есть задача: найти такой маршрут из начальной вершины в конечную, чтобы минимальное значение веса ребра на этом маршруте было наибольшим. Веса ребер неотрицательны, граф неориентированный.

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

Предлагался "алгоритм": 1)найти все возможные пути из А в В и 2)выбрать путь максимальной пропускной способности. Но это, если я что-то в чем-то понимаю, поиск в глубину. Хотелось бы быстрее.

Еще преподаватель на полном серьезе излагал метод: заменить веса обратными величинами и искать маршрут минимального веса. Это не работает, сразу понятно, но что-то в этом есть. Пока мысль ускользает.

Поделитесь, пожалуйста, идеями.
Re: Взвешенный неорграф - маршрут max пропускной способности
От: Bell Россия  
Дата: 27.05.03 14:12
Оценка:
Здравствуйте, functional, Вы писали:

Ищи на том же гугле "Потоки в сетях", "Максимальный поток", "алгоритм Форда-Фалкерсона"
Любите книгу — источник знаний (с) М.Горький
Re: Взвешенный неорграф - маршрут max пропускной способности
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.05.03 14:42
Оценка:
Здравствуйте, functional, Вы писали:

F>Поделитесь, пожалуйста, идеями.

Эх, блин. Темный я человек. Знаю, как решить задачу за O(N^3). Это, наверное, слишком медленно. Хотя и очевидно
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Взвешенный неорграф - маршрут max пропускной способно
От: functional Украина http://www.compuniver.iatp.org.ua/
Дата: 27.05.03 15:10
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Знаю, как решить задачу за O(N^3). Это, наверное, слишком медленно.


Пусть медленно. Если не тупым перебором, все равно интересно. Может быть, получится "дожать".

S>Хотя и очевидно


Для кого как — колись, что придумал. Я затем вопрос и задал, чтоб узнать нечто, очевидное для всезнающего A.
Re: Взвешенный неорграф - маршрут max пропускной способности
От: DeaTH FaNG США http://users.livejournal.com/_denplusplus_
Дата: 27.05.03 16:11
Оценка: 2 (1)
F>Поделитесь, пожалуйста, идеями.

Помодифицируй алгоритм Флойда. Замени сумму на минимум
... << RSDN@Home 1.0 beta 7a >>
Re[2]: Спасибо, так и сделаю.
От: functional Украина http://www.compuniver.iatp.org.ua/
Дата: 27.05.03 18:37
Оценка:
Здравствуйте, DeaTH FaNG, Вы писали:
DF>Помодифицируй алгоритм Флойда. Замени сумму на минимум

Жалею, что сам не додумался.
Для этого, наверное, нужно было лучше понимать алгоритм Флойда.

Если я правильно понял, еще и min заменяется на max. Формула для пересчета матрицы из
dijm+1=min{dijm, di(m+1)m + d(m+1)jm}

превращается в
dijm+1=max{dijm, min(di(m+1)m, d(m+1)jm)}

Благодарю за помощь.
Re[3]: Спасибо, так и сделаю.
От: mab Россия http://shade.msu.ru/~mab
Дата: 28.05.03 07:36
Оценка: 23 (2)
Здравствуйте, functional, Вы писали:

F>Жалею, что сам не додумался.

F>Для этого, наверное, нужно было лучше понимать алгоритм Флойда.

Понимать алгоритм Флойда, конечно, нужно , но для поставленной задачи
он совершенно не оптимален ни по времени, ни по памяти.

Задачу можно решить за O(E*log E) (E -- число ребер в графе).
Для этого отсортируем все ребра по весам (O(E*log E)), после чего
ответ найдем бинарным поиском. Фиксировав границу A, выкининем
все ребра веса меньше A и проверим (поиском в ширину, например),
есть ли путь между заданной парой вершин (O(E) на каждый поиск,
O(log E) итераций).

Это решение можно немного модифицировать, просто добавляя
ребра поочереди и проверяя связность с помощью disjoint set-ов.
В данной задаче быстрее не будет, но в некоторых других полезно.
Re[3]: Взвешенный неорграф - маршрут max пропускной способно
От: Sinclair Россия https://github.com/evilguest/
Дата: 29.05.03 04:00
Оценка:
Здравствуйте, functional, Вы писали:

F>Для кого как — колись, что придумал. Я затем вопрос и задал, чтоб узнать нечто, очевидное для всезнающего A.

см. ответ Death Fang.
... << RSDN@Home 1.0 beta 7a >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.