 DAGs may be used to model many different kinds of information . The reachability relation in a DAG forms a partial order , and any finite partial order may be represented by a DAG using reachability . The program evaluation and review technique uses DAGs to model the milestones and activities of large human projects , and schedule these projects to use as little total time as possible . Scheduling of computer operations such as the updates to a spreadsheet or the compilation operations in a <unk> can also be performed using topological orderings of DAGs . <unk> logic blocks in electronic circuit design , and the operations in <unk> programming languages , involve acyclic networks of processing elements . DAGs can also represent collections of events and their influence on each other , either in a <unk> structure such as a Bayesian network or as a record of historical data such as family trees or the version histories of distributed revision control systems . DAGs can also be used as a compact representation of sequence data , such as the directed acyclic word graph representation of a collection of strings , or the binary decision diagram representation of sequences of binary choices . 
