# Directed Acyclic Graph (DAG)

Conny Schneider @ unsplash.com

*A mathematical abstraction of a data pipeline composed of vertices and edges, with each edge directed from one vertex to another. It replaces the linear history model and allows for concomitant development, preserving data integrity. It can also run on a distributed ledger, using the previous transaction as proof of validation.*

*A mathematical abstraction of a data pipeline composed of vertices and edges, with each edge directed from one vertex to another. It replaces the linear history model and allows for concomitant development, preserving data integrity. It can also run on a distributed ledger, using the previous transaction as proof of validation.*

As a mathematical abstraction of a data pipeline, it describes a sequence of implementation steps in any non-recurring algorithm. An acyclic graph has a direction, as well as a lack of cycles. It is used to model probabilities, connectivity, and causality and replaces the linear history model.

A Directed Acyclic Graph (DAG) consists of vertices and edges (also called arcs), with each edge directed from one vertex to another, such that following those directions will never form a closed loop. The data structure of a directed acyclic graph is different as it has no directed edges, and it also has a topological ordering. This means that the nodes are ordered so that the starting node has a lower value than the ending node. This mechanism allows then for concomitant development, preserving data integrity.

This data structure model finds applications in scheduling systems, data processing networks, causal structures, genealogy, version history, data compression and optimization, which providers could apply, for instance, in energy efficiency in grids and other systems. DAGs can also run on a distributed ledger and uses the previous transaction as proof of validation, dismissing the need for miners and validators, which frames this technology as an emerging alternative to a private blockchain.