BDD Variable Reordering via Parallel Slave Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The size of a Binary Decision Diagram (BDD) varies significantly with variable order changes, making it computationally expensive to find the optimal variable order that minimizes the number of decision nodes, as there are n! possible order permutations for a Boolean function with n variables.

Innovation Solution

A method is introduced where a master computing device selects k variable orders and distributes them among slave devices, which determine local best orders by swapping variables within ordered sets, with the global best order chosen based on the smallest BDD size among these local orders.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If all possible variable order permutations are tested to find the optimal variable order, then the BDD size can be minimized, but the computational cost becomes prohibitively expensive

Engineering Contradiction:
ImproveBDD size optimizationVSAvoidcomputational cost
Core Design Contradiction:
Manufacturing precisionVSLoss of energy

Solution Approach 1:

The patent segments the complete search space of n! variable order permutations into multiple groups, where each group contains a representative subset of orderings. Instead of evaluating all possible permutations, the method divides the problem into manageable segments (groups of variable orders) that can be processed independently and in parallel, significantly reducing the total computational effort while still finding near-optimal or optimal variable orderings for BDD minimization.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the number of variable orders to be evaluated is reduced to decrease computational cost, then the time required is reduced, but the quality of the optimal variable order may deteriorate

Engineering Contradiction:
Improvecomputation timeVSAvoidvariable order quality
Core Design Contradiction:
Loss of timeVSManufacturing precision

Solution Approach 1:

The patent applies preliminary action by pre-defining structured groups of variable orders based on systematic patterns (such as lexicographic ordering, reverse ordering, and intermediate orderings) before the actual BDD evaluation begins. These pre-constructed groups ensure coverage of diverse ordering strategies without requiring exhaustive search, allowing the method to quickly evaluate representative orderings and achieve good optimization results in reduced time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The method changes the parameter of variable order evaluation by transitioning from evaluating individual permutations to evaluating structured groups of orderings. By parameterizing the search space into manageable groups with controlled characteristics, the approach maintains solution quality while significantly reducing the evaluation burden and computation time required.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8880443B2BDD variable reordering using multiple computing devices
Publication Date: 2014.11.04 FUJITSU LTD
  • US8880443B2 patent drawing
  • US8880443B2 patent drawing
  • US8880443B2 patent drawing

AI summary

In one embodiment, a first computing device selects k first variable orders for a Binary Decision Diagram (BDD) representing a function having n variables, where n≧4 and k≧2. The first computing device distributes the k first variable orders among a plurality of second computing devices. For each of the k first variable orders distributed to one of the second computing devices, the first computing device receives, from the one second computing device, a local best variable order among the first variable order and one or more second variable orders derived from the first variable order. The first computing device determines a global best variable order for the BDD among all local best variable orders received from the second computing devices.