Directed acyclic graph
A directed acyclic graph is a graph with directed edges and no directed cycles.
Causal Inference for Data Science
A directed acyclic graph is a graph with directed edges and no directed cycles, used in causal inference to represent variables and their causal relationships.
- How it is used
- Maps causal assumptions before estimation to identify relevant variables, confounding paths, and the causal effect to estimate.
- How deep it goes
- Defines nodes, arrows, and acyclicity, then develops graph construction, path-based adjustment, and time-unfolded feedback while deferring difficult non-unfoldable cycles.
- Examples
- Uses kidney-stone treatment, webpage topic and pageviews, and price-demand feedback to construct and revise causal graphs.
- What you can do after
- Apply it to draw a causal model, state assumptions, and select variables for adjustment before estimating an effect.
Read how Causal Inference for Data Science explains directed acyclic graph →
Designing Deep Learning Systems: A guide for software engineers
A directed acyclic graph is a directed graph whose edges encode dependencies and whose directed paths contain no cycles.
- How it is used
- Organizes production ML automation into dependency-ordered tasks for training, deployment, monitoring, and data operations.
- How deep it goes
- Defines tasks, directed dependencies, loop avoidance, scheduling, dispatch, shared outputs, and an Airflow implementation without graph-theory detail.
- Examples
- Uses an NLP training-and-release DAG, a YAML training workflow, and an Airflow data-processing definition with operators.
- What you can do after
- Apply it via Airflow or an orchestration service to define task dependencies, schedules, triggers, and executable workflow steps.
Data Pipelines with Apache Airflow, Second Edition
A directed acyclic graph is a directed graph with no cycles, often used to represent workflow tasks and their dependencies.
- How it is used
- Organizes Airflow data pipelines into tasks and dependencies so scheduling and execution can follow a valid order.
- How deep it goes
- Defines nodes, directed edges, and acyclicity, then traces a dependency-checking execution procedure and shows Python DAG definitions.
- Examples
- Traces a weather-dashboard pipeline and defines a rocket-launch workflow with `download_launches >> get_pictures >> notify`.
- What you can do after
- Build it from scratch in Airflow using Python tasks and dependencies, then test the whole DAG with `dag.test()` where supported.
Read how Data Pipelines with Apache Airflow, Second Edition explains directed acyclic graph →
Causal AI
DAG is a graph class representing a directed acyclic graph and operations on its nodes and edges.
- How it is used
- Frames causal-effect estimation by making proposed relationships explicit before identification and adjustment.
- How deep it goes
- Develops graph construction and its role in identification, while leaving functional mechanisms such as linearity outside the graph.
- Examples
- Uses loan-approval bias, gaming purchases, and a smoking–lung cancer graph to illustrate causal arrows.
- What you can do after
- Apply it via DoWhy by specifying a DAG and using its assumptions to identify candidate causal-effect estimands.
Terraform in Depth: Infrastructure as Code with Terraform and OpenTofu
A directed acyclic graph is a directed graph whose edges encode dependencies and whose vertices cannot be reached again by following directed paths.
- How it is used
- Orders Terraform resource operations from dependencies inferred in declarative infrastructure configuration.
- How deep it goes
- Explains dependency inference, planning, visualization, and cycle diagnosis without requiring deep graph theory.
- Examples
- Uses dependent AWS data sources and a three-resource cycle repaired with a shared variable.
- What you can do after
- Diagnose/debug with it by tracing cycle errors and replacing unnecessary resource references; visualize dependencies with `terraform graph`.
Snowflake Data Engineering
A directed acyclic graph is a directed graph whose paths contain no circular dependencies.
- How it is used
- Orchestrates Snowflake data-pipeline tasks whose ingestion and transformation steps have explicit dependencies.
- How deep it goes
- Defines DAG dependency semantics and works through task design, execution, visualization, and troubleshooting.
- Examples
- Uses parallel partner and product stream loads, a root task, and a completion-notification finalizer.
- What you can do after
- Build it from scratch by arranging Snowflake tasks into scheduled root, dependent, and finalizer tasks.
Read how Snowflake Data Engineering explains directed acyclic graph →
Architecting an Apache Iceberg Lakehouse
A directed acyclic graph is a graph of nodes and directed dependencies with no cycles, commonly representing workflow tasks and their execution order.
- How it is used
- Orchestrates recurring, conditional Iceberg maintenance workflows instead of relying on manual jobs or brittle scripts.
- How deep it goes
- Defines directed dependencies and no cycles, then demonstrates conditional execution, retries, ordering, and monitoring integrations.
- Examples
- Uses Airflow compaction checks, dbt snapshot expiration, Spark SQL procedures, and Prometheus snapshot-count metrics.
- What you can do after
- Operate conditional, ordered, retryable Iceberg maintenance pipelines through Airflow, dbt, or comparable orchestration tools.
Read how Architecting an Apache Iceberg Lakehouse explains directed acyclic graph →
Delivering Machine Learning Projects: From design to deployment
A directed acyclic graph is a directed network of nodes and edges with no directed cycle.
- How it is used
- Structures data pipelines so workflow engines can chain, schedule, and manage transformations across data assets.
- How deep it goes
- Defines direction and absence of cycles, then demonstrates loading, joining, and cleaning tasks without detailing graph algorithms.
- Examples
- Uses an ELT flow that loads two tables, joins them, and removes null values.
- What you can do after
- Operate and configure data pipelines through workflow engines that execute ordered transformation tasks.
Distributed Machine Learning Patterns
A directed acyclic graph is a directed graph with no path that returns to an earlier vertex, so its dependencies have no cycles.
- How it is used
- Structures machine-learning workflows by expressing dependencies among ingestion, training, serving, and other operational steps.
- How deep it goes
- Defines acyclicity through sequential and branching examples, then applies dependencies in Argo YAML; it stops short of formal graph algorithms.
- Examples
- Uses sequential A-B-C workflows, invalid cycles, branched training pipelines, Argo diamond dependencies, and conditional coin-flip steps.
- What you can do after
- Build it from scratch as an Argo Workflow, submit it with kubectl, and inspect its Pods, status, logs, or UI graph.
Read how Distributed Machine Learning Patterns explains directed acyclic graph →
Natural Language Processing in Action, Second Edition
A directed acyclic graph is a graph whose edges have directions and that contains no directed cycles.
- How it is used
- Structures one-way decision or conversation paths while distinguishing acyclic trees from looping dialog graphs.
- How deep it goes
- Defines direction and acyclicity through a road analogy, then stops short of algorithms or formal graph operations.
- Examples
- Uses one-way city roads and a YAML counting chatbot with welcome, question, correct-answer, and wrong-answer states.
- What you can do after
- Evaluate whether a directed flow is acyclic and recognize when conversation loops make it a general graph instead.
Read how Natural Language Processing in Action, Second Edition explains directed acyclic graph →
Machine Learning System Design
A directed acyclic graph is a directed graph whose edges have no cycle, so its nodes can be arranged in an evaluation order.
- How it is used
- Organizes machine-learning training and inference steps into ordered data-processing workflows.
- How deep it goes
- Defines DAGs through pipeline inputs, actions, and outputs, then distinguishes training from inference without detailing graph algorithms.
- Examples
- Uses image reading, normalization, resizing, model execution, data fetching, preprocessing, and model training as pipeline steps.
- What you can do after
- Evaluate machine-learning workflows by distinguishing higher-level training DAGs from lower-level inference DAGs.
Read how Machine Learning System Design explains directed acyclic graph →
Graph Neural Networks in Action
A directed acyclic graph is a directed graph containing no cycles.
- How it is used
- Models causal structures, workflow processes, and dependency chains whose relationships proceed in one direction.
- How deep it goes
- Defines directed edges and cycle exclusion, then connects them to causal, workflow, and dependency modeling without implementation detail.
- Examples
- Illustrates a DAG with arrows flowing from A to F and contrasts it with a cyclic path and an undirected acyclic graph.
- What you can do after
- Evaluate whether a directed graph permits return to a starting node and identify suitable causal or dependency uses.
Read how Graph Neural Networks in Action explains directed acyclic graph →
Machine Learning Platform Engineering
A directed acyclic graph is a graph whose directed edges connect nodes without forming any cycle.
- How it is used
- Orchestrates Kubeflow machine-learning workflows by ordering tasks and enforcing completion dependencies.
- How deep it goes
- Defines directed edges and acyclicity, then implements task wiring and compilation without detailing scheduling internals.
- Examples
- Uses an income classifier with fetch-data, feature-retrieval, inference, and write-data tasks.
- What you can do after
- Build and compile a Kubeflow pipeline by loading components, connecting task outputs, and generating YAML.
Read how Machine Learning Platform Engineering explains directed acyclic graph →
Inside AI
A directed acyclic graph is a directed graph containing no path that returns to its starting node.
- How it is used
- Maps probabilistic relationships so changes in one event can inform the likelihood of others.
- How deep it goes
- Defines the graph structure and its role in Bayesian networks, then stops at a brief weather-probability illustration.
- Examples
- Uses clouds and rain nodes, directional arrows, and conditional rain probabilities to illustrate weather prediction.
- What you can do after
- Evaluate probabilistic dependencies and trace how evidence about one variable affects related scenarios.
Financial AI in Practice
A directed acyclic graph is a directed graph with no directed cycles, often used to represent task dependencies.
- How it is used
- Orchestrates monthly batch merges that prepare credit data for financial applications.
- How deep it goes
- Defines a DAG through a minimal Airflow example, then identifies production controls beyond the basic workflow.
- Examples
- Merges monthly usage, bureau, and demographic data into a credit data mart.
- What you can do after
- Build a minimal monthly credit-data merge workflow using Airflow DAGs and PostgreSQL operators.
Read how Financial AI in Practice explains directed acyclic graph →
Related concepts
- acyclic graphkind of · An acyclic graph is a graph that contains no cycles.
- network topologyincludes · Network topology is the structural arrangement and connectivity relationships among the components of a network or system.
- potential outcomes frameworkequivalent to · The potential outcomes framework defines causal effects by comparing outcomes that would result for a unit under alternative treatments or interventions.
- Apache Airflowused by · Apache Airflow is an open-source platform for authoring, scheduling, and monitoring programmatically defined workflows, commonly represented as directed acyclic graphs.
- graphkind of · A graph is a mathematical structure consisting of vertices connected by edges that represent relationships or connections.
- d-separationused by · D-separation is a graphical criterion for determining whether a conditioning set blocks all relevant paths between variables in a graph, implying conditional independence under the graph’s assumptions.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.














