Applications Directed acyclic graph




1 applications

1.1 scheduling
1.2 data processing networks
1.3 causal structures
1.4 genealogy , version history
1.5 citation graphs
1.6 data compression





applications
scheduling

directed acyclic graphs representations of partial orderings have many applications in scheduling systems of tasks ordering constraints. important class of problems of type concern collections of objects need updated, such cells of spreadsheet after 1 of cells has been changed, or object files of piece of computer software after source code has been changed. in context, dependency graph graph has vertex each object updated, , edge connecting 2 objects whenever 1 of them needs updated earlier other. cycle in graph called circular dependency, , not allowed, because there no way consistently schedule tasks involved in cycle. dependency graphs without circular dependencies form dags.


for instance, when 1 cell of spreadsheet changes, necessary recalculate values of other cells depend directly or indirectly on changed cell. problem, tasks scheduled recalculations of values of individual cells of spreadsheet. dependencies arise when expression in 1 cell uses value cell. in such case, value used must recalculated earlier expression uses it. topologically ordering dependency graph, , using topological order schedule cell updates, allows whole spreadsheet updated single evaluation per cell. similar problems of task ordering arise in makefiles program compilation , instruction scheduling low-level computer program optimization.



pert chart project 5 milestones (labeled 10–50) , 6 tasks (labeled a–f). there 2 critical paths, adf , bc.


a different dag-based formulation of scheduling constraints used program evaluation , review technique (pert), method management of large human projects 1 of first applications of dags. in method, vertices of dag represent milestones of project rather specific tasks performed. instead, task or activity represented edge of dag, connecting 2 milestones mark beginning , completion of task. each such edge labeled estimate amount of time take team of workers perform task. longest path in dag represents critical path of project, 1 controls total time project. individual milestones can scheduled according lengths of longest paths ending @ vertices.


data processing networks

a directed acyclic graph may used represent network of processing elements. in representation, data enters processing element through incoming edges , leaves element through outgoing edges.


for instance, in electronic circuit design, static combinational logic blocks can represented acyclic system of logic gates computes function of input, input , output of function represented individual bits. in general, output of these blocks cannot used input unless captured register or state element maintains acyclic properties. electronic circuit schematics either on paper or in database form of directed acyclic graphs using instances or components form directed reference lower level component. electronic circuits not acyclic or directed.


dataflow programming languages describe systems of operations on data streams, , connections between outputs of operations , inputs of others. these languages can convenient describing repetitive data processing tasks, in same acyclically-connected collection of operations applied many data items. can executed parallel algorithm in each operation performed parallel process set of inputs becomes available it.


in compilers, straight line code (that is, sequences of statements without loops or conditional branches) may represented dag describing inputs , outputs of each of arithmetic operations performed within code. representation allows compiler perform common subexpression elimination efficiently. @ higher level of code organization, acyclic dependencies principle states dependencies between modules or components of large software system should form directed acyclic graph.


causal structures

graphs in vertices represent events occurring @ definite time, , edges point time vertex late time vertex of edge, directed , acyclic. lack of cycle follows because time associated vertex increases follow path in graph can never return vertex on path. reflects our natural intuition causality means events can affect future, never affect past, , have no causal loops. example of type of directed acyclic graph encountered in causal set approach quantum gravity though in case graphs considered transitively complete. version history example, each version of software associated unique time, typically time version saved, committed or released. citation graphs, documents published @ 1 time , can refer older documents.


sometimes events not associated specific physical time. provided pairs of events have purely causal relationship, edges represent causal relations between events, have directed acyclic graph. instance, bayesian network represents system of probabilistic events vertices in directed acyclic graph, in likelihood of event may calculated likelihoods of predecessors in dag. in context, moral graph of dag undirected graph created adding (undirected) edge between parents of same vertex (sometimes called marrying), , replacing directed edges undirected edges. type of graph similar causal structure influence diagram, vertices of represent either decisions made or unknown information, , edges of represent causal influences 1 vertex another. in epidemiology, instance, these diagrams used estimate expected value of different choices intervention.


the converse true. in application represented directed acyclic graph there causal structure, either explicit order or time in example or order can derived can derived graph structure. follows because directed acyclic graphs have topological ordering, i.e. there @ least 1 way put vertices in order such edges point in same direction along order.


genealogy , version history

family tree of ptolemaic dynasty, many marriages between close relatives causing pedigree collapse


family trees may seen directed acyclic graphs, vertex each family member , edge each parent-child relationship. despite name, these graphs not trees because of possibility of marriages between relatives (so child has common ancestor on both mother s , father s side) causing pedigree collapse. graphs of matrilineal descent ( mother relationships between women) , patrilineal descent ( father relationships between men) trees within graph. because no 1 can become own ancestor, family trees acyclic.


for same reason, version history of distributed revision control system has structure of directed acyclic graph, in there vertex each revision , edge connecting pairs of revisions directly derived each other. these not trees in general due merges.


in many randomized algorithms in computational geometry, algorithm maintains history dag representing version history of geometric structure on course of sequence of changes structure. instance in randomized incremental algorithm delaunay triangulation, triangulation changes replacing 1 triangle 3 smaller triangles when each point added, , flip operations replace pairs of triangles different pair of triangles. history dag algorithm has vertex each triangle constructed part of algorithm, , edges each triangle 2 or 3 other triangles replace it. structure allows point location queries answered efficiently: find location of query point q in delaunay triangulation, follow path in history dag, @ each step moving replacement triangle contains q. final triangle reached in path must delaunay triangle contains q.


citation graphs

in citation graph vertices documents single publication date. edges represent citations bibliography of 1 document other earlier documents. classic example comes citations between academic papers pointed out in 1965 article networks of scientific papers derek j. de solla price. in case citation count of paper in-degree of corresponding vertex of citation network. important measure in citation analysis. court judgements provide example judges support conclusions in 1 case recalling other earlier decisions made in previous cases. final example provided patents must refer earlier prior art, earlier patents relevant current patent claim. taking special properties of directed acyclic graphs account, 1 can analyse these graphs techniques not available when analysing general graphs considered in many studies in network analysis. instance transitive reduction gives new insights citation distributions found in different applications highlighting clear differences in mechanisms creating citations networks in different contexts. technique main path analysis, traces citation links , suggests significant citation chains in given citation graph.


data compression

directed acyclic graphs may used compact representation of collection of sequences. in type of application, 1 finds dag in paths form given sequences. when many of sequences share same subsequences, these shared subsequences can represented shared part of dag, allowing representation use less space take list out of sequences separately. example, directed acyclic word graph data structure in computer science formed directed acyclic graph single source , edges labeled letters or symbols; paths source sinks in graph represent set of strings, such english words. set of sequences can represented paths in tree, forming tree vertex every prefix of sequence , making parent of 1 of these vertices represent sequence 1 fewer element; tree formed in way set of strings called trie. directed acyclic word graph saves space on trie allowing paths diverge , rejoin, set of words same possible suffixes can represented single tree vertex.


the same idea of using dag represent family of paths occurs in binary decision diagram, dag-based data structure representing binary functions. in binary decision diagram, each non-sink vertex labeled name of binary variable, , each sink , each edge labeled 0 or 1. function value truth assignment variables value @ sink found following path, starting single source vertex, @ each non-sink vertex follows outgoing edge labeled value of vertex s variable. directed acyclic word graphs can viewed compressed form of tries, binary decision diagrams can viewed compressed forms of decision trees save space allowing paths rejoin when agree on results of remaining decisions.








Comments

Popular posts from this blog

Memorial Series Board Lutfuddaulah Oriental Research Institute

Weak verbs Proto-Germanic grammar

History Anthrax