2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Задача о максимальном потоке
Сообщение01.02.2010, 11:02 
Доброго времени суток!
Сейчас я занимаюсь работой, в которой мне стало нужно реализовать алгоритм Форда-Фалкерсона для отыскания максимального потока в графе. Я его реализовал, но начальство сказало, что нужно обязательно проверить его (и не только на маленьких графах, но и на больших тоже). Не подскажете ли вы, может функция для решения такой задачи есть в каком нибудь математическом пакете? Или может у кого то есть написанная программа, которой точно можно доверять?

 
 
 
 Re: Задача о максимальном потоке
Сообщение01.02.2010, 19:54 
Аватара пользователя
В свое время использовал следующую программу
http://www.ecsocman.edu.ru/db/msg/324869.html

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

 
 
 
 Re: Задача о максимальном потоке
Сообщение02.02.2010, 10:27 
жаль, но в предложенном вами пакете матрицу смежности тоже нельзя загрузить....только вручную задавать... что очень не удобно...

 
 
 
 Re: Задача о максимальном потоке
Сообщение03.02.2010, 13:38 
Аватара пользователя
А по-моему вполне можно. Для тестирования Вам в любом случае придется согласовывать форматы представления данных тестовой и тестируемой программы. Посмотрите примеры с программой - поддерживает расширения .xls, next (что-то похожее на XML).
Правда утверждать точно сейчас я не берусь, поскольку нет Windows под рукой, а wine с этой программой криво работает.

Есть и другие пакеты работы с графами, вот, например, http://common-lisp.net/project/cl-graph/
Кстати посмотрите в интернет-ресурсы на данном форуме, там тоже что-то есть.

 
 
 
 Re: Задача о максимальном потоке
Сообщение03.02.2010, 14:00 
Я большой специалист по задаче о максимальном потоке и автор соответствующей книги.
Во-первых, в системе Maple есть функция MaxFlow (в пакете networks или GraphTheory). Во-вторых, если ваша программа написана на C/C++ я могу проверить её в своей системе на тысяче более-менее приличных тестов (до тысячи вершин в графе). Если Ваша задача - часть большого проекта и Вам нужна глубокая проверка кода, можем договориться отдельно. Пишите в ЛС.

 
 
 
 Re: Задача о максимальном потоке
Сообщение03.05.2010, 10:06 
Аватара пользователя
Кстати, в версии Maxima 5.20.1 есть пакет по работе с графами (graphs - все основные алгоритмы, включая поиск максимального потока, визуализацию). Задавать графы можно простым текстовым файлом в синтаксисе maxima с расширением mac. Если кому интересно, могу рассказать подробнее.

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group