Controlled Constraint Sharing in Parallel Boolean Satisfiability Solvers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Parallel problem solvers face high runtime variance due to sensitivity to parameters and inefficiencies in constraint sharing, which can lead to increased overhead and reduced performance in solving complex NP-difficult problems.
Innovation Solution
Implementing controlled constraint sharing through a mechanism that compares the total number of shared constraints to a target, regulating the size of constraints exchanged using an additive increase/multiplicative decrease algorithm, and determining utility to control the sharing process, specifically in a Boolean satisfiability problem solver context.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If parallel problem solvers exchange constraints freely to improve performance, then knowledge sharing improves problem solving efficiency, but communication overhead increases and slows down resolution
Solution Approach 1:
The patent dynamically changes the parameter of constraint sharing by adjusting the probability threshold for sharing constraints. The system monitors performance metrics and adapts the sharing parameter in real-time, transitioning between aggressive sharing and selective sharing modes to optimize the balance between knowledge sharing benefits and communication overhead costs.
Solution Approach 2:
The patent implements a feedback mechanism where the performance impact of constraint sharing is continuously monitored. The system measures whether constraint sharing actually improves problem solving efficiency and uses this feedback to adjust future sharing decisions, enabling adaptive control of the sharing process to minimize overhead while maintaining productivity benefits.
2Reliability
If multiple parallel problem solvers are run with different parameters to reduce runtime variance, then solution reliability improves, but total computation time increases
Solution Approach 1:
The patent merges the efforts of multiple parallel problem solvers by enabling them to share constraints and learned information. Instead of running independent solvers that waste redundant computation, the system combines their knowledge bases so that constraints learned by one solver are immediately available to others, reducing total computation time while maintaining the reliability benefits of parallel execution.
Solution Approach 2:
The patent applies preliminary action by having problem solvers share constraints and learned information as soon as they are discovered, rather than waiting for completion. This allows other parallel solvers to benefit from the knowledge in advance, pruning their search spaces earlier and reducing the total time required to achieve reliable solutions.
Data Source
AI summary
Controlled constraint sharing in parallel problem solvers is described. In embodiments, constraint sharing in a problem solver is controlled by comparing a total number of shared constraints obtained in a time interval to a target, and regulating the subsequent number of shared constraints obtained from other problem solvers accordingly. Embodiments describe how the regulation of the subsequent number of shared constraints can be achieved by controlling the size of constraints shared by other problem solvers. Embodiments describe how an additive increase/multiplicative decrease algorithm can be used to determine the size of constraints to be exchanged. Embodiments also describe how the utility of the shared constraints can be determined, and used to control the size of constraints shared by other problem solvers. In embodiments, the problem solver is a Boolean satisfiability problem solver.


