Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Часть 5. Алгоритмы на графах. Для разреженных сетей и сетей с малыми целочисленными значениями пропускных способностей ребер, свойство 22.6 на самом деле дает верхнюю границу выполнения
Для разреженных сетей и сетей с малыми целочисленными значениями пропускных способностей ребер, свойство 22.6 на самом деле дает верхнюю границу выполнения любой реализации алгоритма Форда-Фалкерсона, пригодную для практического применения. Следствие. Время, необходимое для нахождения максимального потока, равно O(VEM), оно же для разреженных сетей равно O(V2M). Доказательство: Это утверждение непосредственно следует из фундаментального результата, утверждающего, что обобщенный поиск на графе линейно зависит от размера представления графа (свойство 18.12). Как уже говорилось выше, если мы используем реализацию бахромы в виде очереди с приоритетами, мы учитываем это обстоятельство, вводя дополнительный коэффициент lgV ■ Это доказательство фактически устанавливает тот факт, что сомножитель М можно заменить отношением наибольшей и наименьшей пропускной способности в сети (см. упражнение 22.35). Когда это отношение мало, граница подсказывает нам, что любая реализация алгоритма Форда-Фалкерсона обнаруживает максимальный поток за время, пропорциональное времени, затрачиваемому (например) в худшем случае на решение задачи нахождения всех кратчайших путей. Существует множество ситуаций, когда пропускные способности и в самом деле низкие, так что сомножитель М можно не учитывать. В разделе 22.4 мы рассмотрим соответствующий пример. Когда М велико, граница V ЕМъ худшем случае также велика; но это наиболее пессимистический вариант, поскольку мы получили его перемножением границ всех случаев, которые вытекают из придуманных нами примеров. Фактические затраты для сетей, встречающихся на практике, обычно намного ниже. С теоретической точки зрения наша ближайшая цель состоит в том, чтобы определить, используя приблизительную субъективную классификацию, предложенную в разделе 17.8, можно ли найти решение задачи о максимальном потоке в сетях с большими целочисленными весами (решаемой при использовании алгоритма с полиномиальным временем выполнения). Только что найденные границы не решают этой проблемы, поскольку максимальный вес М = 2т может возрастать экспоненциально с увеличением V и E С практических позиций мы нуждаемся в более надежных гарантиях производительности. Возьмем типовой пример из практики, предположим, что мы используем 32-разрядные целые числа (т = 32) для представления весов. В графе со многими сотнями вершин и тысячами ребер по свойству 22.6 мы должны будем выполнять сотни триллионов (1012) операций при прогоне алгоритма вычисления аугментального пути. Если сеть содержит миллионы вершин, то этот вопрос требует дальнейших исследований, поскольку мы не только не можем иметь дело с весами, величина которых достигает порядка 21000000, но еще и потому, что значения V3 и VE настолько велики, что любые границы при этом теряют всякий смысл. Мы же заинтересованы в том, чтобы найти полиномиальные границы для ответа на вопрос о возможности использования соответствующей модели и нахождения более точных границ, соответствующих ситуации, с которой мы можем столкнуться на практике. Свойство 22.6. носит общий характер: оно применимо к любой реализации алгоритма Форда-Фалкерсона. Универсальная природа этого алгоритма предоставляет нам достаточную гибкость, чтобы можно было рассматривать целый ряд простых реализаций, преследуя цель улучшить рабочие характеристики алгоритма. Мы надеемся, что конкрет-
|