Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Глава 19, Орграфы и ориентированные ациклические графы








19.10. Перспективы

В настоящей главе мы рассматривали алгоритмы решения задач топологической сор­тировки, транзитивного замыкания и нахождения кратчайшего пути для орграфов и для графов DAG, в том числе и фундаментальные алгоритмы выявления циклов и сильных компонент в орграфах. Эти алгоритмы находят многочисленные важные приложения сами по себе, а также служат основой решения более сложных задач, включая взвешен­ные графы, которые мы будем рассматривать в двух следующих главах. Значения време­ни прогона этих алгоритмов в худших случаях суммируются в таблице 19.3.

Таблица 19.3. Затраты на выполнение операций обработки орграфов в худшем случае

В эту таблицу сведены итоговые данные затратах (время выполнения в худшем случае) на выполнение алгоритмов решения различных задач обработки орграфов, рассмотренных в этой главе, для случайных графов и графов, в которых ребра случайным образом соединяет каждую вершину с одной из 10 заданных соседних вершин. Все затраты определялись на представлении графов в виде списков смежных вершин; в случае представления графа в виде матрицы смежности Е элементов становятся V2 элементами, поэтому, например, затраты на вычисление всех кратчайших путей составляют V3. Линейные по времени алгоритмы суть оптимальные алгоритмы, так что затраты позволяют с достаточной уверенностью предсказывать время выполнения при любом вводе; другие алгоритмы дают оценку с чрезмерным запасом затрат, таким образом, время выполнения для некоторых типов графов может оказаться ниже. Рабочие характеристики алгоритма вычисления транзитивного замыкания орграфа, обладающего наибольшим быстродействием, зависит от структуры орграфа, в частности, от размеров его базового DAG.



Часть 5. Алгоритмы на графах


В частности, общей темой на протяжении данной главы является решение задачи аб­страктно-транзитивного замыкания, при этом мы хотели обеспечить поддержку АТД, ко­торый, после предварительной обработки, может определить, существует ли ориентиро­ванный путь из одной заданной вершины в другую. Несмотря на то что нижняя граница определяет, что затраты на предварительную обработку в худшем случае существенно пре­восходят V2, метод, обсуждавшийся в разделе 19.7, показывает, что базовые методы, ис­следуемые в этой главе, сводятся к простому решению, которое обеспечивает оптималь­ную производительность на многих типах орграфах; более-менее заметное исключение составляют лишь насыщенные графы DAG. Нижняя граница предполагает, что более вы­сокая гарантированная производительность едва ли может быть достигнута на всех гра­фах, в то же время мы можем пользоваться этими методами, чтобы получить приемлемую производительность на графах, встречающихся на практике.

Цель разработки алгоритмов с рабочими характеристиками, аналогичными характери­стиками алгоритма объединения-поиска, который изучался в главе 1, для насыщенных орграфов остаются призрачными. В идеальном случае мы могли бы определять АТД, по­средством которого мы могли бы добавлять ориентированные ребра или проверять, до­стижима ли одна вершина из другой, и разработать реализацию, в которой мы могли бы поддерживать выполнение всех операций за постоянное время (см. упражнения 19.153~19.155). Как отмечалось в главе 1, мы можем достаточно близко подойти к этой цели в случае неориентированных графов, но сравнимые с этим решения для орграфов или графов DAG до сих пор не известны. (Обратите внимание на тот факт, что удаление ребер представляет собой сложную проблему даже для неориентированных графов.) Эта задача динамической достижимости (dynamic reachability) не только вызывает интерес у ма­тематиков и имеет широкое практическое применение, но и играет исключительно важ­ную роль в разработке алгоритмов на более высоком уровне абстракции. Например, до­стижимость лежит в основе задачи реализации сетевого симплексного алгоритма для определения потоков с минимальной стоимостью, представляющей собой модель реше­ния задач, которая получила широкое применение и которую мы будем рассматривать в главе 22.

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

Доминаторы. Пусть задан DAG все, вершины которого достижимы из одного истока r, вершина v доминирует (dominates) над вершиной t, если каждый путь из rв t содержит s. (В частности, каждая вершина доминирует сама над собой.) Каждая вершина v, отлич­ная от источника, имеет непосредственного доминатора, который доминирует над верши­ной v, но в то же время не доминирует над другим доминатором v и над самим собой. Множество непосредственных доминаторов представляет собой дерево, которое охваты­вает все вершины, достижимые из источника. Эта структура имеет важное значение для построения компиляторов. Доминаторное дерево может быть вычислено за линейное время путем применения подхода, основанного на поиске в глубину, который использует не­сколько вспомогательных структур данных, хотя обычно на практике применяется не­сколько более медленная его версия.



Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал