Directed Acyclic Graph Learning via Topological Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Learning the structure of a directed acyclic graph (DAG) from a dataset is computationally challenging due to its NP-hard nature, leading to difficulties in determining the correct parent-child relationships between variables, especially as the number of variables increases, resulting in a vast number of possible DAGs.

Innovation Solution

A method is provided to learn a DAG by computing a sum of squares and cross products (SSCP) matrix from variable values, initializing a topological order vector, and iteratively determining next topological order vectors using neighbor determination methods until a best topological vector is found, which is then used to compute an adjacency matrix to define the DAG.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the DAG structure is learned from a dataset using traditional methods, then the correct parent-child relationships can be determined, but the computation time increases super-exponentially with the number of variables

Engineering Contradiction:
Improveaccuracy of parent-child relationship determinationVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the DAG learning problem into two distinct phases: (1) learning the undirected skeleton of the graph using efficient correlation-based methods, and (2) orienting the edges to establish directionality using conditional independence tests. This segmentation avoids the need to search through all possible DAG structures directly, reducing computational complexity from super-exponential to polynomial time while maintaining accuracy in determining parent-child relationships

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by first learning the undirected skeleton structure before attempting to orient edges. This preliminary step establishes the correct connections between variables without worrying about directionality, creating a foundation that significantly reduces the subsequent search space for edge orientation and avoids exploring invalid directed structures

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the number of variables in the dataset increases, then more comprehensive causal relationships can be modeled, but the number of possible DAGs scales super-exponentially making the learning process computationally infeasible

Engineering Contradiction:
Improvecapability to model causal relationshipsVSAvoidcomputational complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the complex DAG learning task into manageable segments: skeleton learning followed by edge orientation. This segmentation allows the system to handle increasing numbers of variables by processing them in structured phases rather than attempting to evaluate all possible DAG configurations simultaneously, making the approach scalable to larger datasets with more variables

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by first establishing the undirected skeleton without fully determining all edge directions initially. This approach performs the necessary action of identifying variable connections while deferring the more computationally intensive edge orientation to a subsequent phase, allowing the system to handle larger numbers of variables efficiently

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If exhaustive search methods are used to learn the DAG structure, then the optimal DAG can be found, but the computational cost becomes prohibitive even for moderate numbers of variables

Engineering Contradiction:
Improveoptimality of learned DAGVSAvoidcomputational efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the search process into two phases that together guarantee optimality while improving efficiency: skeleton learning that identifies all necessary connections, and edge orientation that determines directions. This segmentation avoids the need for exhaustive search of all DAGs by breaking the problem into sub-problems that can be solved optimally and combined, maintaining reliability while achieving polynomial time complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by learning the undirected skeleton first, which establishes the correct variable connections before edge orientation. This preliminary step reduces the search space for the subsequent orientation phase, allowing the system to find the optimal DAG structure without evaluating all possible directed graph configurations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11443198B1Directed acyclic graph machine learning system
Publication Date: 2022.09.13 SAS INSTITUTE INC
  • US11443198B1 patent drawing
  • US11443198B1 patent drawing
  • US11443198B1 patent drawing

AI summary

A computing device learns a directed acyclic graph (DAG). An SSCP matrix is computed from variable values defined for observation vectors. A topological order vector is initialized that defines a topological order for the variables. A loss value is computed using the topological order vector and the SSCP matrix. (A) A neighbor determination method is selected. (B) A next topological order vector is determined relative to the initialized topological order vector using the neighbor determination method. (C) A loss value is computed using the next topological order vector and the SSCP matrix. (D) (B) and (C) are repeated until each topological order vector is determined in (B) based on the neighbor determination method. A best topological vector is determined from each next topological order vector based on having a minimum value for the computed loss value. An adjacency matrix is computed using the best topological vector and the SSCP matrix.