Graf závislosti je orientovaný graf , který zobrazuje poměr množiny prvků určité kolekce v souladu s vybraným tranzitivním vztahem nad ním.
Tento graf se často používá v informatice a digitální elektronice , zejména se z grafu závislostí určuje pořadí výpočtů nebo jeho nedostatky v souladu s danými závislostmi v grafu.
Nechť existuje množina objektů a vztah tranzitivity kde , modelování závislosti „pro výpočet, musíte nejprve vypočítat “, pak graf závislosti je grafem kde a je tranzitivní uzávěr .
Některá kalkulačka například podporuje zápis konstanty do nějaké proměnné a přidání dvou proměnných a zápis výsledku do nějaké třetí proměnné. Nechť je uvedeno několik výrazů, například . Potom a . Je možné explicitně odvodit všechny vztahy: závisí na a , protože dvě proměnné lze přidat tehdy a pouze tehdy , pokud jsou známy hodnoty obou proměnných. Tak, a musí být spočítán před . Hodnota je však známa okamžitě, protože se jedná o číselnou konstantu.
Cyklické závislosti v grafu závislostí vedou k situaci, kdy není k dispozici žádné pořadí vyhodnocení, protože žádný z objektů v cyklu nelze uvažovat jako první. Pokud neexistují žádné cyklické závislosti, pak máme orientovaný acyklický graf a pořadí vyhodnocení lze určit pomocí topologického řazení . Většina topologických třídicích algoritmů je schopna detekovat cykly na vstupu, nicméně je žádoucí detekovat cykly odděleně od topologického třídění.
V příkladu založeném na kalkulačce obsahuje výpočetní systém kruhovou závislost. musí hodnotit do , musí hodnotit do , musí hodnotit do .
Správné pořadí výpočtů je číslování objektů, které seřadí uzly grafu závislosti tak, aby nastala rovnost: , kde . To znamená, že pokud je definován výčet, který je vyhodnocen dříve , nemůže záviset na . Navíc může existovat více než jedno správné pořadí hodnocení. Správné číslování je v podstatě topologické řazení a jakékoli topologické řazení je správné číslování. Ve skutečnosti každý algoritmus, který vytváří správné topologické řazení, zároveň určuje správné pořadí vyhodnocení.
Pro systém (v příkladu s kalkulačkou) je správné pořadí: , je však také správné pořadí výpočtu.
Graf závislosti se používá v:
Grafy závislostí jsou jednou z otázek: