Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Максимальное паросочетание, с максимальной суммой весов ребер 
:(
    Опции темы
Silent
Дата 21.2.2009, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 3.10.2006

Репутация: 1
Всего: 9



Задача:
дан взвешенный граф, найти в нем паросочетание с максимальной суммой весов ребер

Насколько я понимаю, суть решения сводится к генерации всех остовных деревьев, построению на их основе паросочетаний и выделению из этого множества искомого? хочу услышать ваши идеи, может все гораздо проще?
PM MAIL   Вверх
maxdiver
Дата 21.2.2009, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



Я так понимаю, имеется в виду, что в первую очередь надо максимизировать мощность паросочетания, во вторую его вес?

Тогда это алгоритм Эдмондса. Я, правда, разбирался недавно только с невзвешенным случаем (и реализацией за N^3), с ним могу помочь. Судя по книге Кристофидеса, алгоритм для взвешенного графа базируется на нём. Я не особо вчитывался, но думаю, что алгоритм примерно такой же, просто для нахождения увеличивающих цепей вместо обхода в ширину используется Дейкстра (хотя, возможно, я не прав).
PM MAIL WWW ICQ   Вверх
Silent
Дата 23.2.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 252
Регистрация: 3.10.2006

Репутация: 1
Всего: 9



Как раз то что доктор прописал, maxdiver, в самую точку
И еще буду ооочень благодарен если приведешь ссылочки на литературу, где про него рекомендуешь подробнее ознакомиться (я только поверхностно знаком), и, совсем уж для полного щастья - код

PM MAIL   Вверх
maxdiver
Дата 24.2.2009, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



Ну по поводу невзвешенного паросочетания я много статей перерыл, ну и как обычно на свой сайт добавил smile
e-maxx.ru/algo/matching_edmonds
Там вся теория (пока бета-версия, док-ва ещё перепроверить надо) и проверенный на нескольких олимпиадных сайтах код.

Если литература, то описание есть в "Теория графов" Кристофидес, но его изложение мне не очень нравится, хотя суть алгоритма можно понять и по ней. Вроде неплохо описано в "Комбинаторная оптимизация" Пападимитриу. Но больше информации лично я почерпнул из статей: "Sketchy Notes on Edmonds’ Incredible Shrinking Blossom Algorithm for General Matching" Tarjan, "Edmonds’s Non-Bipartite Matching Algorithm" - лекции из унив. Berkeley, лекции "Matching Algorithms" Muller-Hannemann'а (которые судя по всему перепечатаны из книги Tarjan'а "Data structures and network algorithms" smile ), а также ещё из каких-то презентаций.

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

Это сообщение отредактировал(а) maxdiver - 24.2.2009, 18:48
PM MAIL WWW ICQ   Вверх
aram90
Дата 27.2.2009, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Bug hunter



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.12.2008
Где: Yerevan, Armenia

Репутация: 1
Всего: 3



Есть алгоритм, называется Венгерский Алгоритм (Hungarian Algorithm)

Также порекомендую эту ссылку, "Задача о назначениях"
http://vuz.exponenta.ru/PDF/MPEI/NAZN/naznach.html



PM MAIL WWW ICQ   Вверх
maxdiver
Дата 27.2.2009, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 29.1.2008
Где: Саратов

Репутация: 16
Всего: 18



aram90, вообще-то это только для двудольных графов пойдёт.

Для них, кстати, есть прекрасная реализация венгерского алгоритма за N^3, сделанная Андреем Лопатиным. Я думаю, в интернете можно найти. Если кому надо, могу и здесь выложить.

Но к задаче данного топика это слабо относится.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0410 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.