Parallel Bayesian Network Generation via Node Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for learning Bayesian networks are sequential and inefficient, particularly when dealing with complex data sets, as they rely on single-processor or thread execution, which can be slower and less effective compared to parallel processing.

Innovation Solution

A parallel approach is introduced where multiple nodes are assigned to respective constructors, operating in parallel to identify and add edges to the initial model, ensuring no directed cycles are created, thus generating a valid Bayesian network that indicates dependencies between nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequential algorithms are used to generate Bayesian networks, then the algorithm is simple to implement, but the processing speed and efficiency are slow

Engineering Contradiction:
Improveprocessing speedVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the node set into multiple subsets and assigns each subset to a separate constructor that operates in parallel. This segmentation allows simultaneous processing of different node subsets, significantly improving processing speed while maintaining manageable complexity for each individual constructor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from sequential single-thread execution to parallel multi-thread execution, adding a temporal dimension to the processing. Multiple constructors operate concurrently on different node subsets, transforming the algorithm from a single-dimensional sequential process to a multi-dimensional parallel process.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If parallel processing is used to generate Bayesian networks, then the processing efficiency is improved, but the complexity of managing multiple constructors increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidconstructor management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

By dividing the node set into distinct subsets and assigning each to a separate constructor, the patent creates independent processing units that can operate autonomously. This segmentation reduces the management overhead compared to having a single constructor process all nodes sequentially, as each constructor handles only its assigned subset.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary assignment of nodes to constructors before the actual network generation begins. This pre-organization of nodes into subsets eliminates the need for dynamic coordination during execution, simplifying the management of multiple constructors while maintaining high processing efficiency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If edges are added by multiple constructors in parallel, then the network generation speed increases, but the risk of creating directed cycles increases

Engineering Contradiction:
Improvenetwork generation speedVSAvoidacyclic property maintenance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the node set into subsets assigned to different constructors, which reduces the probability of cycle formation compared to a single constructor considering all nodes. Each constructor operates on a limited subset, making it easier to maintain the acyclic property within each segment while achieving parallel processing speedups.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8005770B2Parallel generation of a bayesian network
Publication Date: 2011.08.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8005770B2 patent drawing
  • US8005770B2 patent drawing
  • US8005770B2 patent drawing

AI summary

A method for generating a Bayesian network in a parallel manner is based on an initial model having a plurality of nodes. Each node corresponds to a variable of a data set and has a local distribution associated therewith. The method includes assigning a plurality of subsets of the nodes to a respective plurality of constructors. The plurality of constructors is operated in a parallel manner to identify edges to add between nodes in the initial model. The identified edges are added to the initial model to generate the Bayesian network. The edges indicate dependency between nodes connected by the edges.