Jump to content

Граф зависимостей

(Перенаправлено из диаграммы зависимостей )

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

Определение

[ редактировать ]
А зависит от В и С ; B зависит от D

Дан набор объектов и транзитивное отношение с моделирование зависимости « a зависит от b » (« a требует сначала оценки b »), граф зависимостей представляет собой граф с транзитивная редукция R .

Например, возьмем простой калькулятор. Этот калькулятор поддерживает присвоение постоянных значений переменным и присвоение суммы ровно двух переменных третьей переменной. Учитывая несколько уравнений типа « A = B + C ; B = 5+ D ; C =4; D =2;», тогда и . Вы можете вывести это соотношение напрямую: A зависит от B и C , потому что вы можете добавить две переменные тогда и только тогда, когда вам известны значения обеих переменных. Таким образом, B необходимо вычислить до того, как A. можно будет вычислить Однако значения C и D известны сразу, поскольку они являются числовыми литералами.

Признание невозможных оценок

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

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

Предположим, мы использовали простой калькулятор из предыдущего примера. Система уравнений « A = B ; B = D + C ; C = D + A ; D =12;» содержит циклическую зависимость, A , B и C , поскольку B должен быть вычислен перед A , C должен быть вычислен перед B , а A должен быть вычислен перед C. образованную

Получение заказа на оценку

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

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

Может быть более одного правильного порядка оценки. На самом деле правильная нумерация — это топологический порядок , а любой топологический порядок — это правильная нумерация. Таким образом, любой алгоритм, который выводит правильный топологический порядок, выводит правильный порядок вычислений.

Предположим еще раз простой калькулятор, показанный выше. Учитывая систему уравнений « A = B + C ; B = 5+ D ; C =4; D =2;», правильный порядок оценки будет ( D , C , B , A ). Однако ( C , D , B , A ) также является правильным порядком вычисления.

Моноидная структура

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

Граф ациклических зависимостей соответствует следу моноида следа следующим образом: [1] : 12 

  • Функция помечает каждую вершину символом из алфавита
  • Есть край или тогда и только тогда, когда находится в отношении зависимости .
  • Два графа считаются равными, если их метки и ребра совпадают.

Тогда строка, состоящая из меток вершин, упорядоченных по правильному порядку вычисления, соответствует строке трассы.

операция Моноидальная принимает непересекающийся союз наборов вершин двух графов, сохраняет существующие ребра в каждом графе и рисует новые ребра от первого ко второму, где это позволяет отношение зависимости, [1] : 14 

Идентичность — это пустой граф.

Графы зависимостей используются в:

Графы зависимостей являются одним из аспектов:

См. также

[ редактировать ]
  1. ^ Jump up to: а б Мазуркевич, Антони (1995). «Введение в теорию следов» (PDF) . В Розенберге, Г.; Дикерт, В. (ред.). Книга Следов . Сингапур: World Scientific. ISBN  981-02-2058-8 . Проверено 18 апреля 2021 г.
  2. ^ Мугилан Мариаппан; Кеваль Вора (2019). «GraphBolt: синхронная обработка потоковых графов на основе зависимостей». На Европейской конференции по компьютерным системам (EuroSys'19) . стр. 25:1–25:16. дои : 10.1145/3302424.3303974 .
  3. ^ Кеваль Вора; Раджив Гупта; Гоцин Сюй (2017). «KickStarter: быстрые и точные вычисления на потоковых графах с помощью усеченных аппроксимаций». На Международной конференции по архитектурной поддержке языков программирования и операционных систем (ASPLOS'17) . стр. 237–251. дои : 10.1145/3093337.3037748 .
  4. ^ Гилберт, Рон. «Головоломки с диаграммами зависимостей» . Угрюмый геймер . Проверено 11 января 2020 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2dc6209dbe0a5a1ca0bf4a0127e48803__1710048420
URL1:https://arc.ask3.ru/arc/aa/2d/03/2dc6209dbe0a5a1ca0bf4a0127e48803.html
Заголовок, (Title) документа по адресу, URL1:
Dependency graph - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)