IP Library Granted Patent US 11,481,469
Granted Patent B2
US 11,481,469 · App. 14/854,839 · Granted Oct 25, 2022

Systems and methods for solving unrestricted incremental constraint problems

Inventors: James Ezick (Canonsburg, PA); Thomas Henretty (Brooklyn, NY); Chanseok Oh (Fort Lee, NJ); Jonathan Springer (Carbondale, IL)
Assignee: Qualcomm Technologies, Inc.
G06F17/11G06F9/54G06N5/022G06N7/00G06N7/005G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,481,469
App. No.
14/854,839
Granted
Oct 25, 2022
Kind
B2
Abstract

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.

Claims (22)

1. A method for facilitating communication between a solver and a controller, the method comprising:

integrating an application program interface (API) with a solver configured to solve Boolean satisfiability (SAT) problems, the API being configured to receive a SAT instance representing a SAT problem to be solved and an incremental update to the SAT problem to be solved, the API comprising:

a first transmit function to notify from the solver to the controller, a clause learned by the solver and one or more antecedent clauses of the learned clause, the learned clause being a logical consequence of at least one of the one or more antecedent clauses;

a receive function to receive by the solver from the controller at least one of: (i) one or more clauses to be added to a solver database, and (ii) one or more clauses to be removed from the solver database.

2. The method of claim 1 , wherein the first transmit function is further configured to notify the controller, by the solver, another clause modified by the learned clause.

3. The method of claim 1 , further comprising invoking the first transmit function by the solver when a learnt clauses buffer reaches a limit on number of learnt clauses.

4. The method of claim 1 , further comprising processing by the solver one or more received clauses while the solver is running.

5. The method of claim 1 , further comprising processing by the solver one or more received clauses after the solver has stopped running, before the solver starts running again.

6. The method of claim 1 , wherein the API further comprises:

a second transmit function to notify to the controller a clause to be shared by the controller with one or more other solvers.

7. The method of claim 6 , further comprising invoking the second transmit function by the solver when a sharable clauses buffer reaches a limit on number of clauses to be shared.

8. An interface system for facilitating communication between a solver and a controller, comprising:

a memory module comprising instructions which, when executed by a processor configured as a solver configured to solve Boolean satisfiability (SAT) problems, provide an application program interface (API) to the solver, the API being configured to receive a SAT instance representing a SAT problem to be solved and an incremental update to the SAT problem to be solved, the API comprising:

a first transmit function to notify from the solver to the controller, a clause learned by the solver and one or more antecedents clauses of the learned clause, the learned clause being a logical consequence of at least one of the one or more antecedent clauses;

a receive function to receive by the solver from the controller at least one of: (i) one or more clauses to be added to a solver database, and (ii) one or more clauses to be removed from the solver database.

9. The system of claim 8 , wherein the first transmit function is further configured to notify the controller, by the solver, another clause modified by the learned clause.

10. The system of claim 8 , further comprising a solver configured to invoke the first transmit function when a learnt clauses buffer reaches a limit on number of learnt clauses.

11. The system of claim 8 , further comprising a solver configured to process one or more received clauses while the solver is running.

12. The system of claim 8 , further comprising a solver configured to process one or more received clauses after the solver has stopped running, before the solver starts running again.

13. The system of claim 8 , wherein the API further comprises:

a second transmit function to notify to the controller a clause to be shared by the controller with one or more other solvers.

14. The system of claim 13 , further comprising a solver configured to invoke the second transmit function when a sharable clauses buffer reaches a limit on number of clauses to be shared.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2023
From: QUALCOMM TECHNOLOGIES, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 064686/0055 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SIGNIFICS AND ELEMENTS, LLC
To: QUALCOMM TECHNOLOGIES, INC.
Reel/Frame 058896/0638 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2021
From: RESERVOIR LABS, INC.
To: SIGNIFICS AND ELEMENTS, LLC
Reel/Frame 057364/0569 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2016
From: LETHIN, RICHARD
To: SIGNIFICS AND ELEMENTS, LLC
Reel/Frame 037883/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: RESERVOIR LABS, INC.
To: LETHIN, RICHARD
Reel/Frame 037870/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2015
From: EZICK, JAMES; HENRETTY, THOMAS; OH, CHANSEOK; SPRINGER, JONATHAN
To: RESERVOIR LABS, INC.
Reel/Frame 036836/0823 →