System and method for configuration of an ensemble solver

US9684865B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9684865-B1
Application numberUS-201313910467-A
CountryUS
Kind codeB1
Filing dateJun 5, 2013
Priority dateJun 5, 2012
Publication dateJun 20, 2017
Grant dateJun 20, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In a system for enabling configuration of an ensemble of several solvers, such that the ensemble can efficiently solve a constraint problem, for each one of several candidate configurations, an array of scores is computed. The array corresponds to a statistical parameter related to a problem solution, and the computation is based on, at least in part, a set of features associated with the problem. One candidate configuration is assigned to a solver, and based on the array of scores associated with that candidate configuration the same or a different candidate configuration is assigned to a another solver. A system for dynamically reconfiguring an ensemble of solvers obtains runtime data from several solvers, and a new configuration is determined by applying a machine learning and/or heuristic analysis procedure to the runtime data. The configuration of a solver may be updated according to the new configuration while that solver is running.

First claim

Opening claim text (preview).

Accordingly, we claim: 1. A method for assigning a set of configurations to an ensemble comprising a plurality of solvers, the method comprising: for each candidate configuration in a plurality of candidate configurations, computing by a processor, based on, at least in part, a first set of features stored in memory, an array of aggregate scores, the array corresponding to a statistical parameter corresponding to a solution to the problem, and the first set of features being associated with a problem to be solved by the ensemble; assigning by the processor to a first solver in the plurality of solvers a first candidate configuration selected from the plurality of candidate configurations, based on, at least in part, the computed arrays of aggregate scores, wherein each solver in the plurality of solvers is adapted to receive a constraint on a variable and to assign a value to the variable. 2. The method of claim 1 , wherein computing the array of aggregate scores comprises applying by the processor, a machine learning (ML) procedure to the first set of features. 3. The method of claim 1 , further comprising assigning to a second solver in the plurality of solvers a second candidate configuration selected from the plurality of candidate configurations, the selection of the second candidate configuration being based on, at least in part, the computed arrays of aggregate scores. 4. The method of claim 3 , wherein the second candidate configuration is same as the first candidate configuration. 5. The method of claim 3 , further comprising selecting a set of candidate configurations from the plurality of candidate configurations based on, at least in part, the computed arrays of aggregate scores, wherein the set of candidate configurations comprises the first candidate configuration and the second candidate configuration. 6. The method of claim 1 , wherein: each candidate configuration comprises a set of configuration parameters, a value for each configuration parameter being selectable from at least one option; and for each candidate configuration, the computation of an aggregate score in the array comprises assigning an option score to each configuration parameter based on, at least in part, an option designated to the configuration parameter. 7. The method of claim 6 , further comprising generating by the processor the plurality of candidate configurations by: designating a first option to a first configuration parameter of the first candidate configuration; and designating a second option to the first configuration parameter of another candidate configuration. 8. The method of claim 6 , wherein the aggregate score comprises a linear summation of the option scores assigned to the configuration parameters. 9. The method of claim 6 , wherein a configuration parameter from the set of configuration parameters is selected from the group consisting of a restart frequency, a decision heuristic, a use of conflict clause minimization, a number of conflict clauses to generate from each conflict, use of database compaction, a decay rate for a decision heuristic score, a frequency of sharing information between two solvers of the ensemble, selection indicative of information to be shared between the two solvers, and size of information to be shared between two solvers. 10. The method of claim 6 , wherein a configuration parameter from the set of configuration parameters comprises a combination parameter that comprises a combination of at least two of a restart frequency, a decision heuristic, a use of conflict clause minimization, a number of conflict clauses to generate from each conflict, use of database compaction, a decay rate for a decision heuristic score, a frequency of sharing information between two solvers of the ensemble, selection indicative of information to be shared between the two solvers, and size of information to be shared between two solvers. 11. The method of claim 1 , wherein: the array of aggregate scores computed for the first candidate configuration comprises a first aggregate score and a second aggregate score; and the second aggregate score is based on, at least in part, a distribution range associated with the statistical parameter. 12. The method of claim 11 , wherein the second aggregate score represents a value for assigning a copy of the first candidate configuration to a solver in the ensemble. 13. The method of claim 11 , further comprising assigning to a second solver in the plurality of solvers the first candidate configuration based on, at least in part, the second aggregate score in the array of scores. 14. The method of claim 13 , wherein the plurality of solvers in the ensemble comprises a plurality of Boolean satisfiability solvers, the method further comprising assigning to the first and second solvers first and second seeds, respectively, the second seed being different than the first seed. 15. The method of claim 11 , further comprising assigning to a second solver in the plurality of solvers a second candidate configuration that is both: (i) different than the first candidate configuration, and (ii) selected from the plurality of candidate configurations based on, at least in part, the second aggregate score in the array of scores computed for the first candidate configuration. 16. The method of claim 1 , wherein computing the array of aggregate scores comprises analyzing: (i) the plurality of candidate solver configurations, (ii) a second set of features, (iii) training data associating the plurality of candidate solver configurations and the second set of features, and (iv) the first set of features. 17. The method of claim 1 , wherein the problem to be solved comprises a constraint satisfaction problem. 18. The method of claim 1 , further comprising: deriving by the processor the first set of features associated with the problem to be solved, derivation being based on at least one of: (i) specification of the problem, and (ii) runtime data received from at least one solver. 19. The method of claim 1 , wherein the statistical parameter comprises an expected time required to find the solution to the problem. 20. The method of claim 1 , further comprising: receiving in memory, from at least a subset of solvers in the ensemble, runtime data associated with the set of configurations assigned to the ensemble; updating an aggregate score in an array of aggregate scores associated with the first candidate configuration that is assigned to the first solver, by applying, by the processor, at least one of a heuristic analysis procedure and another machine learning procedure to the runtime data. 21. The method of claim 20 , further comprising: updating, based on the updated aggregate score, a score for an option designated to a configuration parameter of the first candidate configuration; updating, based on the updated score of the option, an option score for another candidate configuration in which a corresponding configuration parameter is also designated the option designated to the configuration parameter of the first candidate configuration; and updating an aggregate score for the other candidate configuration based on, at least in part, the updated option score for the other candidate configuration. 22. A system for assigning a set of configurations to an ensemble comprising a plurality of solvers, the system comprising: a memory; and a processor in electronic communication with the memory, wherein the processor is configured to: for each c

Assignees

Inventors

Classifications

  • Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound · CPC title

  • G06N5/02Primary

    Knowledge representation; Symbolic representation · CPC title

  • Physics · mapped topic

  • G06N20/20Primary

    Ensemble learning · CPC title

  • G06N20/00Primary

    Machine learning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9684865B1 cover?
In a system for enabling configuration of an ensemble of several solvers, such that the ensemble can efficiently solve a constraint problem, for each one of several candidate configurations, an array of scores is computed. The array corresponds to a statistical parameter related to a problem solution, and the computation is based on, at least in part, a set of features associated with the probl…
Who is the assignee on this patent?
Reservoir Labs Inc, Significs And Elements Llc
What technology area does this patent fall under?
Primary CPC classification G06N5/02. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 20 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).