R-Solve Constraint Solver for Incremental SAT Problems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current SAT solvers face limitations in handling dynamic changes to problems, as they typically require restarting from scratch and struggle with parallelization due to complex data structures and synchronization issues, leading to inefficiencies in incremental solving and performance.

Innovation Solution

The R-Solve system introduces Smart Repair and clause sharing techniques, enabling unrestricted incremental solving by managing a master graph and undo edges across solvers, allowing for efficient retention and reuse of learned information and parallel processing through loosely cooperative parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If modern SAT solvers use aggressive optimization with custom data structures and clause learning, then solving performance is improved, but parallelization becomes difficult due to extreme non-locality of memory references and difficult synchronization requirements

Engineering Contradiction:
Improvesolving performanceVSAvoidparallelization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the SAT solving process into independent worker processes that each maintain their own clause databases and solve different portions of the problem space. This segmentation allows parallel execution while avoiding the synchronization issues that arise from shared data structures, as each worker operates independently on its own segment of the search space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a manager process as an intermediary that coordinates between multiple worker processes. The manager receives clauses from workers, determines which workers should receive them, and distributes clauses accordingly. This intermediary layer abstracts the complexity of inter-process communication and clause sharing, allowing workers to focus on solving while the manager handles the coordination overhead.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If SAT solvers are designed for static SAT-or-UNSAT decision problems, then solver simplicity is maintained, but incremental solving capability is lost requiring restarts when problems are modified

Engineering Contradiction:
Improvesolver simplicityVSAvoidincremental solving capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static SAT solver into a dynamic system that can adapt to problem modifications. Workers continuously monitor for added or removed clauses and adjust their search accordingly. When clauses are added, workers can incorporate them into their local databases; when clauses are removed, workers can detect this and restart only if necessary, enabling incremental solving while maintaining relative simplicity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms where workers report clause learnings to the manager, and the manager distributes relevant clauses back to appropriate workers. This feedback loop allows the system to adapt to problem modifications incrementally, as workers receive updated information about added clauses and can adjust their search strategies without requiring complete restarts.

Inventive Principle:
Principle #23Feedback

3Productivity

If solvers share learned information across an ensemble, then solving efficiency is improved, but no solver has a complete view of all shared information and cannot manage sharing effectiveness

Engineering Contradiction:
Improvesolving efficiencyVSAvoidinformation sharing management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the manager process a universal coordinator that handles clause sharing for all workers. The manager maintains a global view of all clauses learned by any worker and determines optimally which clauses should be shared with which workers. This universal coordination mechanism enables effective information sharing across the entire ensemble without requiring individual workers to have complete views or manage sharing themselves.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11899740B2Systems and methods for solving unrestricted incremental constraint problems
Publication Date: 2024.02.13 QUALCOMM INC
  • US11899740B2 patent drawing
  • US11899740B2 patent drawing
  • US11899740B2 patent drawing

AI summary

We present the architecture of a high-performance constraint solver R-Solve that extends the gains made in SAT performance over the past fifteen years on static decision problems to problems that require on-the-fly adaptation, solution space exploration and optimization. R-Solve facilitates collaborative parallel solving and provides an efficient system for unrestricted incremental solving via Smart Repair. R-Solve can address problems in dynamic planning and constrained optimization involving complex logical and arithmetic constraints.