**Definition
**

**
Directed Acyclic Graph, DAG ** is a finite directed graph with no directed cycles,
it has a finite number of vertices (nodes) and edges (paths), whereby every edge
directs from one vertiex to the other, follows a consistently-directed sequence
of edges that does not loop back to the start node

Graphs are ubiquitous, they can be used to model directed or undirected
connectivities in the real world.

**A set of vertices {v**_{1}, v_{2}, ..v_{n}}

and a set of edges {e_{1}, e_{2}, ..e_{m}}

An **edge** is defined as a pair of connected vertices

**{v**_{i}, v_{j}}, where i,j ∈ {1,...n}