Jump to content

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

Это хорошая статья. Нажмите здесь для получения дополнительной информации.

Пример ориентированного ациклического графа

В математике , особенно в теории графов , и информатике ( ориентированный ациклический граф DAG ) — это ориентированный граф без ориентированных циклов . То есть он состоит из вершин и ребер (также называемых дугами ), каждое из которых направлено от одной вершины к другой, так что следование этим направлениям никогда не образует замкнутый цикл. Ориентированный граф является DAG тогда и только тогда, когда его можно топологически упорядочить , расположив вершины в виде линейного порядка, согласующегося со всеми направлениями ребер. DAG имеют множество научных и вычислительных приложений, от биологии (эволюция, генеалогические древа, эпидемиология) до информатики (сети цитирования) и вычислений (планирование).

Направленные ациклические графы иногда называют ациклическими ориентированными графами. [1] или ациклические орграфы . [2]

Определения

[ редактировать ]

Граф соединяющих состоит из вершин и ребер, пары вершин, причем вершинами может быть любой объект, попарно соединенный ребрами. В случае ориентированного графа каждое ребро имеет ориентацию от одной вершины к другой вершине. Путь в ориентированном графе — это последовательность ребер, обладающая тем свойством, что конечная вершина каждого ребра в последовательности совпадает с начальной вершиной следующего ребра в последовательности; путь образует цикл, если начальная вершина его первого ребра равна конечной вершине его последнего ребра. Ориентированный ациклический граф — это ориентированный граф, не имеющий циклов. [1] [2] [3]

Говорят, что вершина v ориентированного графа достижима из другой вершины u , если существует путь, который начинается в u и заканчивается в v . В частном случае каждая вершина считается достижимой из самой себя (путем с нулевыми ребрами). Если вершина может достичь себя по нетривиальному пути (путь с одним или несколькими ребрами), то этот путь является циклом, поэтому другой способ определить направленные ациклические графы состоит в том, что это графы, в которых ни одна вершина не может достичь себя через нетривиальный путь. [4]

Математические свойства

[ редактировать ]

Отношение достижимости, транзитивное замыкание и транзитивная редукция.

[ редактировать ]
ДЕНЬ
Его транзитивная редукция

Отношение достижимости DAG можно формализовать как частичный порядок на вершинах DAG. В этом частичном порядке две вершины u и v упорядочиваются как u v точно тогда, когда существует направленный путь от u до v в DAG; то есть, когда u может достичь v (или v достижимо из u ). [5] Однако разные DAG могут привести к одному и тому же отношению достижимости и одному и тому же частичному порядку. [6] Например, DAG с двумя ребрами u v и v w имеет то же отношение достижимости, что и DAG с тремя ребрами u v , v w и u w . Оба этих DAG создают один и тот же частичный порядок, в котором вершины упорядочены как u v w .

Транзитивное замыкание DAG — это граф с наибольшим количеством ребер, который имеет то же отношение достижимости, что и DAG. Он имеет ребро u v для каждой пары вершин ( u , v ) в отношении достижимости DAG, и поэтому его можно рассматривать как прямой перевод отношения достижимости в термины теории графов. Тот же метод перевода частичных порядков в DAG работает в более общем плане: для каждого конечного частично упорядоченного набора ( S , ≤) граф, который имеет вершину для каждого элемента S и ребро для каждой пары элементов из ≤, автоматически является транзитивным. замкнутый DAG и имеет ( S , ≤) в качестве отношения достижимости. Таким образом, любое конечное частично упорядоченное множество можно представить как DAG.

Диаграмма Хассе, представляющая частичный порядок включения множества (⊆) среди подмножеств трехэлементного множества.

Транзитивная редукция DAG — это граф с наименьшим количеством ребер, имеющий то же отношение достижимости, что и DAG. Он имеет ребро u v для каждой пары вершин ( u , v ) в отношении покрытия отношения достижимости DAG. Это подграф DAG, образованный путем отбрасывания ребер u v , для которых DAG также содержит более длинный направленный путь от u до v .Как и транзитивное замыкание, транзитивная редукция однозначно определена для групп DAG. Напротив, для ориентированного графа, который не является ациклическим, может существовать более одного минимального подграфа с одним и тем же отношением достижимости. [7] Транзитивные сокращения полезны при визуализации частичных порядков, которые они представляют, поскольку они имеют меньше ребер, чем другие графы, представляющие те же порядки, и, следовательно, приводят к более простым рисункам графов . Диаграмма Хассе частичного порядка — это рисунок транзитивной редукции, на котором ориентация каждого ребра показана путем размещения начальной вершины ребра в более низком положении, чем его конечная вершина. [8]

Топологическое упорядочение

[ редактировать ]
Топологическое упорядочение ориентированного ациклического графа: каждое ребро идет от более раннего (вверху слева) к более позднему по порядку (внизу справа). Ориентированный граф является ациклическим тогда и только тогда, когда он обладает топологическим упорядочением.
Добавление красных ребер к синему ациклическому графу дает еще один DAG — транзитивное замыкание синего графа. синего ребра u v v u достижимо Для каждого красного или из u : существует синий путь, начинающийся в и заканчивающийся в v .

Топологическое упорядочение ориентированного графа — это упорядочение его вершин в последовательность, при котором для каждого ребра начальная вершина ребра встречается раньше в последовательности, чем конечная вершина ребра. Граф с топологическим упорядочением не может иметь циклов, поскольку ребро, ведущее в самую раннюю вершину цикла, должно быть ориентировано неправильно. Следовательно, каждый граф с топологическим упорядочением ацикличен. И наоборот, каждый направленный ациклический граф имеет хотя бы одно топологическое упорядочение. Таким образом, существование топологического упорядочения можно использовать как эквивалентное определение ориентированных ациклических графов: это именно те графы, которые имеют топологическое упорядочение. [2] В общем, этот порядок не уникален; DAG имеет уникальный топологический порядок тогда и только тогда, когда он имеет направленный путь, содержащий все вершины, и в этом случае порядок такой же, как порядок, в котором вершины появляются на пути. [9]

Семейство топологических порядков DAG совпадает с семейством линейных расширений отношения достижимости для DAG: [10] поэтому любые два графа, представляющие один и тот же частичный порядок, имеют одинаковый набор топологических порядков.

Комбинаторное перечисление

[ редактировать ]

Проблема перечисления графов подсчета ориентированных ациклических графов изучалась Робинсоном (1973) . [11] Количество DAG на n помеченных вершинах для n = 0, 1, 2, 3,… (без ограничений на порядок, в котором эти числа появляются в топологическом порядке DAG) равно

1, 1, 3, 25, 543, 29281, 3781503, … (последовательность A003024 в OEIS ).

Эти числа можно вычислить с помощью рекуррентного соотношения

[11]

Эрик В. Вайсстайн предположил: [12] и Маккей и др. (2004) доказали, что одни и те же числа учитывают матрицы (0,1), которых все собственные значения являются положительными действительными числами . Доказательство является биективным : матрица A является матрицей смежности DAG тогда и только тогда, когда A + I является (0,1)-матрицей со всеми положительными собственными значениями, где I обозначает единичную матрицу . Поскольку DAG не может иметь циклов , его матрица смежности должна иметь нулевую диагональ, поэтому добавление I сохраняет свойство, согласно которому все коэффициенты матрицы равны 0 или 1. [13]

[ редактировать ]
Мультидерево . , DAG, в котором подграф, достижимый из любой вершины, порождает неориентированное дерево (например, выделено красным)
Полидерево , DAG , сформированное путем ориентации ребер неориентированного дерева.

Мультидерево ) — (также называемое строго однозначным графом или мангровым деревом это DAG, в котором существует не более одного направленного пути между любыми двумя вершинами. Эквивалентно, это DAG, в котором подграф, достижимый из любой вершины, порождает неориентированное дерево . [14]

Полидерево ) — это мультидерево , (также называемое ориентированным деревом сформированное путем ориентации ребер неориентированного дерева. [15]

Древовидность ориентации — это полидерево, образованное путем ребер неориентированного дерева от определенной вершины, называемой корнем древовидности.

Вычислительные проблемы

[ редактировать ]

Топологическая сортировка и распознавание

[ редактировать ]

Топологическая сортировка — это алгоритмическая проблема поиска топологического упорядочения данного DAG. Ее можно решить за линейное время . [16] Алгоритм Кана для топологической сортировки напрямую выстраивает порядок вершин. Он поддерживает список вершин, которые не имеют входящих ребер от других вершин, которые еще не были включены в частично построенное топологическое упорядочение; изначально этот список состоит из вершин, вообще не имеющих входящих ребер. Затем он повторно добавляет одну вершину из этого списка в конец частично построенного топологического упорядочения и проверяет, следует ли добавлять в список ее соседей. Алгоритм завершает работу, когда все вершины обработаны таким образом. [17] Альтернативно, топологическое упорядочение может быть построено путем обращения обратной нумерации обхода графа поиска в глубину . [16]

Также можно проверить, является ли данный ориентированный граф DAG за линейное время, либо пытаясь найти топологическое упорядочение, а затем проверяя для каждого ребра, является ли полученное упорядочение действительным. [18] или, альтернативно, для некоторых алгоритмов топологической сортировки, проверяя, что алгоритм успешно упорядочивает все вершины, не встречая условия ошибки. [17]

Построение из циклических графов

[ редактировать ]

Любой неориентированный граф можно превратить в DAG, выбрав общий порядок его вершин и направив каждое ребро от более ранней конечной точки порядка к более поздней конечной точке. Результирующая ориентация ребер называется ациклической ориентацией . Разные общие порядки могут привести к одной и той же ациклической ориентации, поэтому граф с n вершинами может иметь меньше n ! ациклические ориентации. Число ациклических ориентаций равно | х (−1)| , где χ хроматический полином данного графа. [19]

Желтый ориентированный ациклический граф представляет собой конденсацию синего ориентированного графа. Он формируется путем сжатия каждого сильно связного компонента синего графа в одну желтую вершину.

Любой ориентированный граф можно превратить в DAG, удалив набор вершин обратной связи или набор дуг обратной связи , набор вершин или ребер (соответственно), который касается всех циклов. наименьшее такое множество NP-трудно . Однако найти [20] Произвольный ориентированный граф также может быть преобразован в DAG, называемый его конденсацией , путем сжатия каждого из его сильно связных компонентов в одну супервершину. [21] Когда граф уже ацикличен, его наименьшие наборы вершин обратной связи и наборы дуг обратной связи пусты , а его конденсация — это сам граф.

Транзитивное замыкание и транзитивная редукция

[ редактировать ]

Транзитивное замыкание данного DAG с n вершинами и m ребрами может быть построено за время O ( mn ), используя либо поиск в ширину , либо поиск в глубину для проверки достижимости из каждой вершины. [22] Альтернативно, ее можно решить за время O ( n ой ) где ω < 2,373 показатель степени для алгоритмов умножения матриц ; это теоретическое улучшение по сравнению с ограничением O ( mn ) для плотных графов . [23]

Во всех этих алгоритмах транзитивного замыкания можно отличить пары вершин, до которых можно добраться хотя бы одним путем длиной два или более, от пар, которые можно соединить только путем длиной один. Транзитивная редукция состоит из ребер, образующих пути длины один, которые являются единственными путями, соединяющими их конечные точки. Следовательно, транзитивная редукция может быть построена за те же асимптотические сроки, что и транзитивное замыкание. [24]

Проблема закрытия

[ редактировать ]

Задача замыкания принимает в качестве входных данных ориентированный ациклический граф, взвешенный по вершинам, и ищет минимальный (или максимальный) вес замыкания — набор вершин C , такой, что ни одно ребро не выходит из C . Задачу можно сформулировать для ориентированных графов без предположения ацикличности, но не с большей общностью, поскольку в этом случае она эквивалентна той же задаче о уплотнении графа. Ее можно решить за полиномиальное время, используя редукцию к задаче о максимальном расходе . [25]

Алгоритмы пути

[ редактировать ]

Некоторые алгоритмы становятся проще при использовании в DAG вместо общих графов, основанных на принципе топологического упорядочения. Например, можно найти кратчайшие и самые длинные пути из заданной начальной вершины в DAG за линейное время, обрабатывая вершины в топологическом порядке и вычисляя длину пути для каждой вершины как минимальную или максимальную длину, полученную с помощью любого его входящих ребер. [26] Напротив, для произвольных графов кратчайший путь может потребовать более медленных алгоритмов, таких как алгоритм Дейкстры или алгоритм Беллмана-Форда . [27] а самые длинные пути в произвольных графах NP-трудно . найти [28]

Приложения

[ редактировать ]

Планирование

[ редактировать ]

Представления частичного упорядочения в виде направленного ациклического графа имеют множество применений при планировании систем задач с ограничениями порядка. [29] Важный класс проблем этого типа касается наборов объектов, которые необходимо обновить, например ячеек электронной таблицы после изменения одной из ячеек или объектных файлов части компьютерного программного обеспечения после того, как ее исходный код был изменен. измененный.В этом контексте граф зависимостей — это граф, который имеет вершину для каждого обновляемого объекта и ребро, соединяющее два объекта, когда один из них необходимо обновить раньше, чем другой. Цикл на этом графике называется циклической зависимостью и, как правило, не допускается, поскольку не будет возможности последовательно планировать задачи, участвующие в цикле.Графы зависимостей без циклических зависимостей образуют группы DAG. [30]

Например, при изменении одной ячейки электронной таблицы необходимо пересчитать значения других ячеек, которые прямо или косвенно зависят от измененной ячейки. Для этой задачи планируются задачи по пересчету значений отдельных ячеек электронной таблицы. Зависимости возникают, когда выражение в одной ячейке использует значение из другой ячейки. В таком случае используемое значение должно быть пересчитано раньше, чем выражение, в котором оно используется. Топологическое упорядочение графа зависимостей и использование этого топологического порядка для планирования обновлений ячеек позволяет обновлять всю электронную таблицу с помощью только одной оценки для каждой ячейки. [31] Аналогичные проблемы с упорядочиванием задач возникают в make-файлах для компиляции программ. [31] и планирование инструкций для низкоуровневой оптимизации компьютерных программ. [32]

Диаграмма PERT для проекта с пятью этапами (помеченными 10–50) и шестью задачами (помеченными A–F). Есть два критических пути: ADF и BC.

Несколько иная формулировка ограничений планирования на основе DAG используется в методе оценки и анализа программ (PERT), методе управления крупными человеческими проектами, который был одним из первых применений DAG. В этом методе вершины DAG представляют собой вехи проекта, а не конкретные задачи, которые необходимо выполнить. Вместо этого задача или действие представлены ребром группы обеспечения доступности баз данных, соединяющим две вехи, которые отмечают начало и завершение задачи. На каждом таком ребре маркируется оценка количества времени, которое потребуется команде рабочих для выполнения задачи. Самый длинный путь в этой группе обеспечения доступности баз данных представляет собой критический путь проекта, который контролирует общее время проекта. Отдельные вехи можно планировать в соответствии с длиной самых длинных путей, заканчивающихся в их вершинах. [33]

Сети обработки данных

[ редактировать ]

Ориентированный ациклический граф может использоваться для представления сети элементов обработки. В этом представлении данные входят в обрабатывающий элемент через его входящие ребра и покидают элемент через его выходные ребра.

Например, в проектировании электронных схем статические комбинационные логические блоки могут быть представлены как ациклическая система логических элементов , которая вычисляет функцию входа, где вход и выход функции представлены как отдельные биты . В общем, выходные данные этих блоков не могут использоваться в качестве входных, если они не захвачены регистром или элементом состояния, который сохраняет свои ациклические свойства. [34] Схемы электронных схем на бумаге или в базе данных представляют собой форму направленных ациклических графов, использующих экземпляры или компоненты для формирования направленной ссылки на компонент более низкого уровня. Сами электронные схемы не обязательно являются ациклическими или направленными.

Языки программирования потоков данных описывают системы операций с потоками данных и связи между выходами одних операций и входами других. Эти языки могут быть удобны для описания повторяющихся задач обработки данных, в которых один и тот же ациклически связанный набор операций применяется ко многим элементам данных. Они могут быть выполнены как параллельный алгоритм , в котором каждая операция выполняется параллельным процессом, как только ему становится доступен другой набор входных данных. [35]

В компиляторах прямой код (то есть последовательность операторов без циклов или условных ветвей) может быть представлен DAG, описывающим входные и выходные данные каждой из арифметических операций, выполняемых в коде. Такое представление позволяет компилятору эффективно выполнять исключение общих подвыражений . [36] На более высоком уровне организации кода принцип ациклических зависимостей гласит, что зависимости между модулями или компонентами большой программной системы должны образовывать направленный ациклический граф. [37]

нейронные сети с прямой связью Еще одним примером являются .

Причинные структуры

[ редактировать ]

Графы, в которых вершины представляют события, происходящие в определенное время, и где ребра всегда указывают от вершины раннего времени к вершине ребра позднего времени, обязательно являются направленными и ациклическими. Отсутствие цикла объясняется тем, что время, связанное с вершиной, всегда увеличивается по мере следования по любому пути в графе, поэтому вы никогда не сможете вернуться к вершине на пути. Это отражает нашу естественную интуицию о том, что причинность означает, что события могут влиять только на будущее, но никогда не влияют на прошлое, и поэтому у нас нет причинно-следственных петель . Примером такого типа направленного ациклического графа являются те, которые встречаются в подходе причинно-множественного подхода к квантовой гравитации, хотя в этом случае рассматриваемые графы являются транзитивно полными . В приведенном ниже примере истории версий каждая версия программного обеспечения связана с уникальным временем, обычно временем, когда версия была сохранена, зафиксирована или выпущена. В приведенных ниже примерах графика цитирования документы публикуются одновременно и могут ссылаться только на более старые документы.

Иногда события не связаны с конкретным физическим временем. При условии, что пары событий имеют чисто причинно-следственную связь, то есть ребра представляют причинно-следственные связи между событиями, мы получим ориентированный ациклический граф. [38] Например, байесовская сеть представляет собой систему вероятностных событий в виде вершин ориентированного ациклического графа, в котором вероятность события может быть рассчитана на основе вероятностей его предшественников в DAG. [39] В этом контексте моральный граф DAG — это неориентированный граф, созданный путем добавления (ненаправленного) ребра между всеми родительскими ребрами одной и той же вершины (иногда называемого бракосочетанием ), а затем замены всех направленных ребер неориентированными ребрами. [40] Другой тип графа с похожей причинной структурой — это диаграмма влияния , вершины которой представляют собой либо решения, которые необходимо принять, либо неизвестную информацию, а ребра которой представляют причинные влияния от одной вершины к другой. [41] в эпидемиологии эти диаграммы часто используются для оценки ожидаемой ценности различных вариантов вмешательства. Например, [42] [43]

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

Генеалогия и история версий

[ редактировать ]
Генеалогическое древо династии Птолемеев , с многочисленными браками между близкими родственниками, приводящими к распаду родословной .

Генеалогические деревья можно рассматривать как направленные ациклические графы с вершиной для каждого члена семьи и ребром для каждой связи между родителями и детьми. [44] Несмотря на название, эти графы не обязательно являются деревьями из-за возможности браков между родственниками (поэтому ребенок имеет общего предка как со стороны матери, так и со стороны отца), вызывающих коллапс родословной . [45] Графики матрилинейного происхождения (отношения мать-дочь) и отцовского происхождения (отношения отец-сын) представляют собой деревья внутри этого графа. Поскольку никто не может стать собственным предком, генеалогические деревья ацикличны. [46]

История версий распределенной системы контроля версий , такой как Git , обычно имеет структуру направленного ациклического графа, в котором есть вершина для каждой ревизии и ребро, соединяющее пары ревизий, которые были непосредственно получены друг от друга. Это не деревья вообще из-за слияний. [47]

Во многих рандомизированных алгоритмах вычислительной геометрии алгоритм поддерживает историю DAG, представляющую историю версий геометрической структуры в ходе последовательности изменений в структуре. Например, в рандомизированном инкрементном алгоритме триангуляции Делоне триангуляция изменяется за счет замены одного треугольника тремя меньшими треугольниками при добавлении каждой точки, а также за счет операций «переворота», которые заменяют пары треугольников другой парой треугольников. Исторический DAG для этого алгоритма имеет вершину для каждого треугольника, построенного как часть алгоритма, и ребра от каждого треугольника к двум или трем другим треугольникам, которые его заменяют. Эта структура позволяет эффективно отвечать на запросы о местоположении точек : чтобы найти местоположение точки запроса q в триангуляции Делоне, следуйте по пути в истории DAG, на каждом шаге переходя к треугольнику замены, который содержит q . Последний треугольник, достигнутый на этом пути, должен быть треугольником Делоне, содержащим q . [48]

Графики цитирования

[ редактировать ]

В графе цитирования вершинами являются документы с одной датой публикации. Края представляют собой цитаты из библиографии одного документа на другие обязательно более ранние документы. Классический пример — цитирование научных статей, как указано в статье 1965 года «Сети научных статей». [49] Дерек Дж. де Солла Прайс , который разработал первую модель сети цитирования, модель Прайса . [50] В этом случае количество цитирований статьи — это просто степень входа соответствующей вершины сети цитирования. Это важная мера при анализе цитирования . Решения судов служат еще одним примером, поскольку судьи подкрепляют свои выводы по одному делу, ссылаясь на другие ранее принятые решения по предыдущим делам. Последним примером являются патенты, которые должны относиться к более раннему уровню техники , более ранние патенты, которые имеют отношение к текущей патентной заявке. Принимая во внимание особые свойства направленных ациклических графов, можно анализировать сети цитирования методами, недоступными при анализе общих графов, рассматриваемых во многих исследованиях с использованием сетевого анализа . Например, транзитивная редукция дает новое представление о распределении цитирования в разных приложениях, подчеркивая явные различия в механизмах создания сетей цитирования в разных контекстах. [51] Другой метод – это анализ основных путей , который отслеживает связи цитирования и предлагает наиболее значимые цепочки цитирования в данном графе цитирования .

Модель Прайса слишком проста, чтобы быть реалистичной моделью сети цитирования , но она достаточно проста, чтобы обеспечить аналитические решения для некоторых ее свойств. Многие из них можно найти, используя результаты, полученные на основе неориентированной версии модели Прайса , модели Барабаши-Альберта . Однако, поскольку модель Прайса дает ориентированный ациклический граф, она является полезной моделью при поиске аналитических расчетов свойств, уникальных для ориентированных ациклических графов. Например,длина самого длинного пути от n-го узла, добавленного в сеть, до первого узла в сети масштабируется как [52] .

Сжатие данных

[ редактировать ]

Ориентированные ациклические графы также можно использовать как компактное представление набора последовательностей. В приложениях этого типа находится группа DAG, в которой пути образуют заданные последовательности. Когда многие из последовательностей используют одни и те же подпоследовательности, эти общие подпоследовательности могут быть представлены общей частью DAG, что позволяет представлению использовать меньше места, чем потребовалось бы для перечисления всех последовательностей по отдельности. Например, ориентированный ациклический граф слов — это структура данных в информатике, образованная ориентированным ациклическим графом с одним источником и ребрами, помеченными буквами или символами; пути от источника к приемникам в этом графе представляют собой набор строк , например английских слов. [53] Любой набор последовательностей можно представить как пути в дереве, сформировав вершину дерева для каждого префикса последовательности и заставив родителя одной из этих вершин представлять последовательность с одним элементом меньше; дерево, сформированное таким образом для набора строк, называется деревом . Направленный ациклический граф слов экономит место в дереве, позволяя путям расходиться и воссоединяться, так что набор слов с одинаковыми возможными суффиксами может быть представлен одной вершиной дерева. [54]

Та же идея использования DAG для представления семейства путей встречается в диаграмме двоичного решения . [55] [56] структура данных на основе DAG для представления двоичных функций. В диаграмме двоичного решения каждая вершина, не являющаяся стоком, помечена именем двоичной переменной, а каждый сток и каждое ребро помечены цифрой 0 или 1. Значением функции для любого истинного присвоения переменным является значение в сток, найденный путем следования по пути, начиная с единственной исходной вершины, который в каждой вершине, не являющейся стоком, следует за исходящим ребром, помеченным значением переменной этой вершины. Точно так же, как ориентированные ациклические графы слов можно рассматривать как сжатую форму попыток, бинарные диаграммы решений можно рассматривать как сжатые формы деревьев решений, которые экономят пространство, позволяя путям воссоединиться, когда они согласуются с результатами всех оставшихся решений. [57]

  1. ^ Перейти обратно: а б Туласираман, К.; Свами, MNS (1992), «5.7 Ациклические ориентированные графы», Графы: теория и алгоритмы , Джон Вили и сын, стр. 118, ISBN  978-0-471-51356-8 .
  2. ^ Перейти обратно: а б с Банг-Йенсен, Йорген (2008), «2.1 Ациклические орграфы», Орграфы: теория, алгоритмы и приложения , Монографии Springer по математике (2-е изд.), Springer-Verlag, стр. 32–34, ISBN  978-1-84800-997-4 .
  3. ^ Кристофидес, Никос (1975), Теория графов: алгоритмический подход , Academic Press, стр. 170–174 .
  4. ^ Митрани И. (1982), Методы моделирования для систем дискретных событий , Cambridge Computer Science Texts, vol. 14, Издательство Кембриджского университета, с. 27, ISBN  9780521282826 .
  5. ^ Козен, Декстер (1992), Разработка и анализ алгоритмов , Монографии по информатике, Springer, стр. 9, ISBN  978-0-387-97687-7 .
  6. ^ Банерджи, Утпал (1993), «Упражнение 2(c)», Преобразования циклов для компиляторов реструктуризации: основы , Springer, стр. 19, Бибкод : 1993ltfr.book.....B , ISBN  978-0-7923-9318-4 .
  7. ^ Банг-Йенсен, Йорген; Гутин, Грегори З. (2008), «2.3 Транзитивные орграфы, транзитивные замыкания и сокращения», Орграфы: теория, алгоритмы и приложения , Монографии Springer по математике, Springer, стр. 36–39, ISBN  978-1-84800-998-1 .
  8. ^ Юнгникель, Дитер (2012), Графики, сети и алгоритмы , Алгоритмы и вычисления в математике, том. 5, Спрингер, стр. 92–93, ISBN.  978-3-642-32278-5 .
  9. ^ Седжвик, Роберт ; Уэйн, Кевин (2011), «4,2,25 Уникальное топологическое упорядочение», Алгоритмы (4-е изд.), Аддисон-Уэсли, стр. 598–599, ISBN  978-0-13-276256-4 .
  10. ^ Бендер, Эдвард А.; Уильямсон, С. Гилл (2005), «Пример 26 (Линейные расширения – топологические сортировки)», Краткий курс дискретной математики , Dover Books on Computer Science, Courier Dover Publications, стр. 142, ISBN  978-0-486-43946-4 .
  11. ^ Перейти обратно: а б Робинсон, Р.В. (1973), «Подсчет помеченных ациклических орграфов», в Харари, Ф. (редактор), «Новые направления в теории графов» , Academic Press, стр. 239–273 . См. также Харари, Фрэнк ; Палмер, Эдгар М. (1973), Графическое перечисление , Academic Press , стр. 19, ISBN  978-0-12-324245-7 .
  12. ^ Вайсштейн, Эрик В. , «Гипотеза Вайсштейна» , MathWorld
  13. ^ Маккей, BD ; Ройл, GF ; Ванлесс, ИМ; Оггьер, FE ; Слоан, Нью-Джерси ; Уилф, Х. (2004), «Ациклические орграфы и собственные значения (0,1)-матриц» , Журнал целочисленных последовательностей , 7 : 33, arXiv : math/0310423 , Bibcode : 2004JIntS...7...33M , Статья 04.3.3.
  14. ^ Фурнас, Джордж В .; Закс, Джефф (1994), "Мультидеревья: обогащение и повторное использование иерархической структуры", Proc. Конференция SIGCHI по человеческому фактору в вычислительных системах (CHI '94) , стр. 330–336, doi : 10.1145/191666.191778 , ISBN  978-0897916509 , S2CID   18710118 .
  15. ^ Ребане, Джордж; Перл, Иудея (1987), «Восстановление причинных полидеревьев по статистическим данным», в Proc. 3-я ежегодная конференция по неопределенности в искусственном интеллекте (UAI, 1987), Сиэтл, Вашингтон, США, июль 1987 г. (PDF) , стр. 222–228 .
  16. ^ Перейти обратно: а б Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (2001) [1990], Введение в алгоритмы (2-е изд.), MIT Press и McGraw-Hill, ISBN  0-262-03293-7 Раздел 22.4, Топологическая сортировка, стр. 549–552.
  17. ^ Перейти обратно: а б Юнгникель (2012) , стр. 50–51.
  18. ^ Для алгоритма топологической сортировки на основе поиска в глубину эта проверка достоверности может чередоваться с самим алгоритмом топологической сортировки; см., например Скиена, Стивен С. (2009), Руководство по разработке алгоритмов , Springer, стр. 179–181, ISBN  978-1-84800-070-4 .
  19. ^ Стэнли, Ричард П. (1973), «Ациклические ориентации графов» (PDF) , Discrete Mathematics , 5 (2): 171–178, doi : 10.1016/0012-365X(73)90108-8 .
  20. ^ Гэри, Майкл Р .; Джонсон, Дэвид С. (1979). Компьютеры и трудноразрешимые проблемы: Руководство по теории NP-полноты . Серия книг по математическим наукам (1-е изд.). Нью-Йорк: WH Freeman and Company . ISBN  9780716710455 . МР   0519066 . OCLC   247570676 . , Задачи GT7 и GT8, стр. 191–192.
  21. ^ Харари, Фрэнк ; Норман, Роберт З.; Картрайт, Дорвин (1965), Структурные модели: введение в теорию ориентированных графов , John Wiley & Sons, с. 63 .
  22. ^ Скиена (2009) , с. 495
  23. ^ Скиена (2009) , с. 496
  24. ^ Банг-Дженсен и Гутин (2008) , с. 38.
  25. ^ Пикард, Жан-Клод (1976), «Максимальное замыкание графа и приложения к комбинаторным задачам», Management Science , 22 (11): 1268–1272, doi : 10.1287/mnsc.22.11.1268 , MR   0403596 .
  26. ^ Кормен и др. 2001, раздел 24.2, Кратчайшие пути с одним источником в ориентированных ациклических графах, стр. 592–595.
  27. ^ Кормен и др. 2001, разделы 24.1, Алгоритм Беллмана-Форда, стр. 588–592, и 24.3, Алгоритм Дейкстры, стр. 595–601.
  28. ^ Кормен и др. 2001, с. 966
  29. ^ Скиена (2009) , с. 469
  30. ^ Аль-Мутава, штат Ха; Дитрих, Дж.; Марсланд, С.; Маккартин, К. (2014), «О форме циклических зависимостей в программах Java», 23-я Австралийская конференция по разработке программного обеспечения , IEEE, стр. 48–57, doi : 10.1109/ASWEC.2014.15 , ISBN  978-1-4799-3149-1 , S2CID   17570052 .
  31. ^ Перейти обратно: а б Гросс, Джонатан Л.; Йеллен, Джей; Чжан, Пин (2013), Справочник по теории графов (2-е изд.), CRC Press, стр. 1181, ISBN  978-1-4398-8018-0 .
  32. ^ Шрикант, Ю.Н.; Шанкар, Прити (2007), Справочник по проектированию компилятора: оптимизация и генерация машинного кода (2-е изд.), CRC Press, стр. 19–39, ISBN  978-1-4200-4383-9 .
  33. ^ Ван, Джон X. (2002), Что должен знать каждый инженер о принятии решений в условиях неопределенности , CRC Press, стр. 160, ISBN  978-0-8247-4373-4 .
  34. ^ Сапатнекар, Сачин (2004), Timing , Springer, стр. 133, ISBN  978-1-4020-7671-8 .
  35. ^ Деннис, Джек Б. (1974), «Первая версия языка процедур потока данных», Симпозиум по программированию , Конспекты лекций по информатике, том. 19, стр. 362–376, номер документа : 10.1007/3-540-06859-7_145 , ISBN.  978-3-540-06859-4 .
  36. ^ Туати, Сид; де Динешен, Бенуа (2014), Расширенная внутренняя оптимизация , John Wiley & Sons, стр. 123, ISBN  978-1-118-64894-0 .
  37. ^ Гарланд, Джефф; Энтони, Ричард (2003), Крупномасштабная архитектура программного обеспечения: Практическое руководство по использованию UML , John Wiley & Sons, стр. 215, ISBN  9780470856383 .
  38. ^ Гопник, Элисон ; Шульц, Лаура (2007), Причинное обучение , Oxford University Press, стр. 4, ISBN  978-0-19-803928-0 .
  39. ^ Шмулевич Илья; Догерти, Эдвард Р. (2010), Вероятностные логические сети: моделирование и контроль сетей регуляции генов , Общество промышленной и прикладной математики, стр. 58, ISBN  978-0-89871-692-4 .
  40. ^ Коуэлл, Роберт Г.; Дэвид, А. Филип ; Лауритцен, Штеффен Л .; Шпигельхальтер, Дэвид Дж. (1999), «3.2.1 Морализация», Вероятностные сети и экспертные системы , Springer, стр. 31–33, ISBN  978-0-387-98767-5 .
  41. ^ Дорф, Ричард К. (1998), Справочник по управлению технологиями , CRC Press, стр. 9–7, ISBN  978-0-8493-8577-3 .
  42. ^ Босло, Сара (2008), Энциклопедия эпидемиологии, Том 1 , SAGE, стр. 255, ISBN  978-1-4129-2816-8 .
  43. ^ Перл, Иудея (1995), «Причинные диаграммы для эмпирических исследований» , Biometrika , 82 (4): 669–709, doi : 10.1093/biomet/82.4.669 .
  44. ^ Киркпатрик, Бонни Б. (апрель 2011 г.), «Гаплотипы и генотипы в родословных», Алгоритмы молекулярной биологии , 6 (10): 10, doi : 10.1186/1748-7188-6-10 , PMC   3102622 , PMID   21504603 .
  45. ^ Макгаффин, MJ; Балакришнан, Р. (2005), «Интерактивная визуализация генеалогических графиков» (PDF) , Симпозиум IEEE по визуализации информации (INFOVIS 2005) , стр. 16–23, doi : 10.1109/INFVIS.2005.1532124 , ISBN  978-0-7803-9464-3 , S2CID   15449409 .
  46. ^ Бендер, Майкл А.; Пеммасани, Гиридхар; Скиена, Стивен; Сумазин, Павел (2001), «Поиск наименьших общих предков в направленных ациклических графах» , Труды двенадцатого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам (SODA '01) , Филадельфия, Пенсильвания, США: Общество промышленной и прикладной математики, стр. . 845–854, ISBN.  978-0-89871-490-6 .
  47. ^ Бартланг, Удо (2010), Архитектура и методы гибкого управления контентом в одноранговых системах , Springer, стр. 59, Бибкод : 2010aamf.book.....B , ISBN  978-3-8348-9645-2 .
  48. ^ Пах, Янош ; Шарир, Миха , Комбинаторная геометрия и ее алгоритмические приложения: Лекции в Алькале , Математические обзоры и монографии, том. 152, Американское математическое общество, стр. 93–94, ISBN.  978-0-8218-7533-9 .
  49. ^ Прайс, Дерек Дж. де Солла (30 июля 1965 г.), «Сеть научных статей» (PDF) , Science , 149 (3683): ​​510–515, Бибкод : 1965Sci...149..510D , doi : 10.1126/ science.149.3683.510 , PMID   14325149 .
  50. ^ Прайс, Дерек Дж. де Солла (1976), «Общая теория библиометрических и других процессов совокупного преимущества», Журнал Американского общества информатики , 27 (5): 292–306, doi : 10.1002/asi.4630270505 , S2CID   8536863 .
  51. ^ Клаф, Джеймс Р.; Голлингс, Джейми; Лоуч, Тамар В.; Эванс, Тим С. (2015), «Транзитивное сокращение сетей цитирования», Journal of Complex Networks , 3 (2): 189–203, arXiv : 1310.8224 , doi : 10.1093/comnet/cnu039 , S2CID   10228152 .
  52. ^ Эванс, Т.С.; Кальмон, Л.; Василяускайте, В. (2020), «Самый длинный путь в модели цен», Scientific Reports , 10 (1): 10503, arXiv : 1903.03667 , Bibcode : 2020NatSR..1010503E , doi : 10.1038/s41598-020-67421-8 , PMC   7324613 , PMID   32601403
  53. ^ Крошмор, Максим; Верин, Рено (1997), «Прямое построение компактных направленных ациклических графов слов», Комбинаторное сопоставление с образцом , Конспект лекций по информатике, том. 1264, Springer, стр. 116–129, CiteSeerX   10.1.1.53.6273 , doi : 10.1007/3-540-63220-4_55 , ISBN  978-3-540-63220-7 , S2CID   17045308 .
  54. ^ Лотер, М. (2005), Прикладная комбинаторика слов , Энциклопедия математики и ее приложений, том. 105, Издательство Кембриджского университета, стр. 105. 18, ISBN  9780521848022 .
  55. ^ Ли, CY (1959), «Представление коммутационных схем с помощью программ двоичного решения», Bell System Технический журнал , 38 (4): 985–999, doi : 10.1002/j.1538-7305.1959.tb01585.x .
  56. ^ Акерс, Шелдон Б. (1978), «Диаграммы двоичных решений», IEEE Transactions on Computers , C-27 (6): 509–516, doi : 10.1109/TC.1978.1675141 , S2CID   21028055 .
  57. ^ Фридман, С.Дж.; Суповит, К.Дж. (1987), "Нахождение оптимального порядка переменных для бинарных диаграмм решений", Proc. 24-я конференция ACM/IEEE Design Automation (DAC '87) , Нью-Йорк, штат Нью-Йорк, США: ACM, стр. 348–356, doi : 10.1145/37888.37941 , ISBN  978-0-8186-0781-3 , S2CID   14796451 .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5a138ab00402ce926c89d8a28557b21c__1716180480
URL1:https://arc.ask3.ru/arc/aa/5a/1c/5a138ab00402ce926c89d8a28557b21c.html
Заголовок, (Title) документа по адресу, URL1:
Directed acyclic graph - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)