CN112487740A - Boolean satisfiability problem solving method and system - Google Patents
Boolean satisfiability problem solving method and system Download PDFInfo
- Publication number
- CN112487740A CN112487740A CN202011545368.8A CN202011545368A CN112487740A CN 112487740 A CN112487740 A CN 112487740A CN 202011545368 A CN202011545368 A CN 202011545368A CN 112487740 A CN112487740 A CN 112487740A
- Authority
- CN
- China
- Prior art keywords
- solving
- solver
- parallel
- argument
- solvers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000000694 effects Effects 0.000 claims abstract description 36
- 230000001960 triggered effect Effects 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims description 10
- 238000010367 cloning Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 2
- 239000008103 glucose Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
The invention discloses a method and a system for solving a Boolean satisfiability problem, wherein the method comprises the following steps: performing multi-thread parallel solution on the CNF instance within a set threshold condition by adopting a plurality of parallel solvers, wherein each parallel solver adopts different initial arguments; stopping solving by each parallel solver after a threshold condition is triggered, and recording the activity scores of all the variables in the solving process; and selecting the argument with the highest sum of the activity scores obtained by the parallel solvers as the initial argument of the main solver, and solving the CNF instance. By adopting the technical scheme of the invention, the solving speed of the Boolean satisfiability problem can be improved.
Description
Technical Field
The invention relates to the field of Electronic Design Automation (EDA), in particular to a method and a system for solving a Boolean satisfiability problem.
Background
Satisfiability problem (SAT problem) is a propositional logical formula expressed in a conjunctive normal form format, and whether one or more groups of assignments exist or not is judged in an inference mode so that the formula expressed in the conjunctive normal form can be satisfied. In the case of satisfiability, the algorithm will give a set of solutions that will satisfy the problem. Since 2002 to 2020, a large number of highly efficient SAT solvers and advanced algorithms have been proposed, wherein the algorithms are mainly classified into two types, namely, CDCL (conflict driven learning clause) algorithm and SLS (stochastic local search) algorithm. The CDCL algorithm is based on the improvement of the DPLL algorithm, analyzes generated conflicts, introduces a conflict analysis strategy, a clause learning strategy and a non-chronological backtracking strategy, and improves the algorithm solving efficiency. SAT solvers such as Chaff, MiniSat, Glucose and the like which are improved based on a CDCL algorithm framework have achieved great effects on SAT problems, and currently, research on SAT mainly focuses on branch heuristic strategies, single clause propagation, clause learning, restarting, preprocessing, non-chronological backtracking and data structure design.
The authors of Chaff show that BCP propagation takes a significant amount of time during the solution process, and therefore propose a branching heuristic strategy that gives higher activity scores to the arguments that are continuously present in the conflict, so that the arguments can be selected quickly at the next decision, and existing argument branching heuristic strategies are based on this idea.
However, problems still exist in the initial stages of the solution. On the one hand, in the initial stage of search, since the number of collisions is too small, the selection of the branching heuristic strategy is inaccurate, and therefore, selecting a branching argument has a certain time limitation. In brief, in the initial stage, it cannot be determined what logical role the selected assigned free argument plays in the propositional logical structure, and only over time, arguments with a certain quality level can be selected through the branching heuristic strategy. On the other hand, the selection of the initial argument directly affects the whole search process, and the selection of the initial argument is not good, so that although a large amount of conflicts are generated in the solving process, the learned learning clauses are generally low in quality and can be deleted in the deletion operation of the clause library. For most solvers, initial arguments are selected in a random assignment mode, so that the initial stage of the solving process has certain spatial limitation.
In the field of electronic design automation, the time limitation and the space limitation of the SAT solver at the initial stage of search are particularly obvious, because: in the field of electronic design automation, a plurality of small functional modules are designed firstly, and then the small functional modules are used for constructing a complex circuit, the connection in the circuit modules is tight, but the connection among the circuit modules is less, and the bridging variables connecting the circuit modules have the function of dividing the modules, namely: the internal relationships of the circuit blocks to be considered can be solved more or less independently by splitting the bridging argument. However, after such problems translate into SAT problems, some structural information may be missing. Furthermore, since the initial value is randomly selected, the argument that plays a role of bridging in the circuit block cannot be efficiently selected. Resulting in a waste of time and space. This is also the case in other fields, such as software development and the like.
Disclosure of Invention
The invention aims to solve the technical problems of time limitation and space limitation in the initial stage of calculation caused by randomly selecting a first branch argument by an SAT solver in the prior art, and provides a method and a system for solving a Boolean satisfiability problem.
In an embodiment of the present invention, a method for solving a boolean satisfiability problem is provided, which includes:
performing multi-thread parallel solution on the CNF instance within a set threshold condition by adopting a plurality of parallel solvers, wherein each parallel solver adopts different initial arguments;
stopping solving by each parallel solver after a threshold condition is triggered, and recording the activity scores of all the variables in the solving process;
and selecting the argument with the highest sum of the activity scores obtained by the parallel solvers as the initial argument of the main solver, and solving the CNF instance.
In the embodiment of the invention, the set threshold conditions comprise the number of times of conflict in the solving process, the number of times of restarting the solver and the running time of the solver.
In the embodiment of the invention, the plurality of parallel solvers are obtained by cloning the main solver.
In the embodiment of the invention, the main solver adopts an SAT solver which takes the CDCL as an algorithm framework and has a branch heuristic strategy, clause learning, non-chronological backtracking, conflict analysis and a restart strategy.
In the embodiment of the present invention, before performing the multi-thread parallel solution on the CNF instance by using a plurality of parallel solvers, the method further includes:
and preprocessing the CNF example, analyzing the relation between the initialized global variable of the CNF example and characters and clauses, and optimizing.
In an embodiment of the present invention, a system for solving a boolean satisfiability problem is further provided, including:
the parallel solvers are used for carrying out multi-thread parallel solving on the CNF instance within a set threshold condition by adopting different initial arguments, stopping solving after triggering the threshold condition and recording the activity scores of the arguments in the solving process;
and the main solver is used for solving the CNF instance by adopting the argument with the highest sum of the activity scores obtained by the plurality of parallel solvers as the initial argument of the main solver.
In the embodiment of the invention, the set threshold conditions comprise the number of times of conflict in the solving process, the number of times of restarting the solver and the running time of the solver.
In the embodiment of the invention, the plurality of parallel solvers are obtained by cloning the main solver.
In the embodiment of the invention, the main solver adopts an SAT solver which takes the CDCL as an algorithm framework and has a branch heuristic strategy, clause learning, non-chronological backtracking, conflict analysis and a restart strategy.
In this embodiment of the present invention, the system for solving the boolean satisfiability problem further includes:
the random assignment module is used for generating a random initial argument for each parallel solver;
the selection module is used for selecting the argument with the highest activity score in the parallel solvers;
an initial value assigning module, configured to assign random initial arguments generated by the random assignment module to the multiple parallel solvers, and further configured to assign the argument with the highest activity score as the initial argument to the main solver;
and the preprocessing module is used for analyzing the initialized global variables of the CNF examples and the relation between the characters and the clauses and optimizing the initialized global variables.
Compared with the prior art, the Boolean satisfiability problem solving method and the system adopt a plurality of parallel solvers to carry out multi-thread parallel solving on the CNF instance within the set threshold condition, wherein each parallel solver adopts different initial arguments; stopping solving by each parallel solver after a threshold condition is triggered, and recording the activity scores of all the variables in the solving process; and selecting the argument with the highest sum of the activity scores obtained by the parallel solvers as the initial argument of the main solver, solving the CNF instance, and taking the argument which better accords with the function of the bridging variable as the initial assignment of the SAT solver, so that the possibility of time and space waste caused by mistakenly selecting the noise argument as the initial value is reduced.
Drawings
FIG. 1 is a flow chart of a method of solving a Boolean satisfiability problem in accordance with an embodiment of the present invention.
Fig. 2 shows the improved solution time for the solution strategy for glucone 3.0 compared to the solution time for the original glucone 3.0 according to the boolean satisfiability problem solution proposed by the present invention.
Fig. 3 is a schematic structural diagram of a system for solving a boolean satisfiability problem according to an embodiment of the present invention.
Detailed Description
The invention provides a method for solving a Boolean satisfiability problem, which comprises the following steps: performing multi-thread parallel solution on the CNF instance within a set threshold condition by adopting a plurality of parallel solvers, wherein each parallel solver adopts different initial arguments; stopping solving by each parallel solver after a threshold condition is triggered, and recording the activity scores of all the variables in the solving process; and selecting the argument with the highest sum of the activity scores obtained by the parallel solvers as the initial argument of the main solver, and solving the CNF instance.
Specifically, as shown in FIG. 1, the method for solving the Boolean satisfiability problem includes steps S1-S6. The following description will be made separately.
S1: and initializing a main solver.
In the embodiment of the invention, the main solver adopts an SAT solver which takes the CDCL as an algorithm framework and has a branch heuristic strategy, clause learning, non-chronological backtracking, conflict analysis and a restart strategy.
S2: the CNF instance is parsed and preprocessed.
It should be noted that, a CNF instance is formed by merging multiple CNF clauses, and each CNF clause is a logical operation related to an argument. Some arguments may exist in only one CNF clause, and some arguments may exist in multiple CNF clauses, so the value of each argument affects the operation result of the CNF instance. In the CNF clause, the word is an argument or the negation of an argument.
In step S2, after the relationship between the initialized global variable of the CNF instance and the characters and clauses is analyzed, the analyzed relationship is mapped to the process of storing containers such as assignment, activity, and association with clauses, and the preprocessing optimization operation is performed at the same time. Such as deleting words that repeatedly appear within a clause, single-word propagation, and some inferential cancellation techniques. After the end of reading the CNF instance file, preprocessing techniques such as deleting redundant clauses, detecting covered clauses, etc. are performed.
S3: and initializing the parallel solvers in the threads, and endowing different initial arguments for the parallel solvers in each thread.
It should be noted that, in the embodiment of the present invention, multiple parallel threads are used in a computer server for solving the CNF instance preliminarily, so as to obtain the initial argument of the main solver. The plurality of parallel solvers can be obtained by cloning the main solver, and different solvers with the same branch heuristic algorithm and unified activity increment with the main solver can also be adopted. Randomly generated initial arguments are selected in each thread, and if the selected initial arguments have been assigned or eliminated in the preprocessing stage, the selected initial arguments are reselected until the initial arguments are not selected.
S4: and the parallel solvers solve from the initial arguments, stop solving after triggering a set threshold condition, and record activity scores of the arguments in the solving process.
It should be noted that, before the plurality of parallel solvers start solving, a threshold condition for solving is set, and in the process of solving, once the threshold condition is triggered, the solving is stopped. The set threshold conditions include the number of times of conflict in the solving process, the number of times of restarting the solver, and the running time of the solver, for example, the number of times of conflict is set to be 1000 times, the solver is restarted for 3 times, and the solver is run for 3S. And when any one of the trigger conditions is triggered, stopping running of the parallel solver. It is worth mentioning that many modern solvers employ a dynamic restart strategy, for example, the restart strategy employed by Glucose is based on the average LBD of the learning clause, and if the LBD average value of the newly generated learning clause is large, the restart is performed, so that the restart is very frequent, and on average, several hundred collisions will restart once.
S5: and after the plurality of parallel solvers stop solving, obtaining activity scores generated by each parallel solver, and selecting the argument with the highest sum of the activity scores as the initial argument of the main solver.
After each parallel solver stops solving, a sequence for recording the activity of the argument is generated, the activity scores of each argument in the sequence are added, and the argument with the highest sum of the activity scores is selected as the initial argument of the main solver. Because the selected argument has a high activity score, the higher the participation conflict is, the larger the activity score is, a large number of conflicts can be generated at the beginning of the SAT solver, and other arguments implying the conflicts are selected preferentially, so that a learning clause with high quality is generated.
S6: and solving and outputting a result by the main solver.
As shown in fig. 2, the boolean satisfiability problem solving method proposed by the present invention improves the solving strategy of glucone 3.0, comparing the solving time of the original glucone 3.0. The experimental environment is that the same 64-bit server is arranged in the same 64-bit server, and the server is configured to be Intel (R) core (TM) i5-7400 CPU @3.00GHZ (4 CPUs), 8192MB RAM, and installed with Centos7 virtual machine Linux version 3.10.0-957 and gcc version 4.8.5. As can be seen from fig. 2, the solution times of the improved versions of the boolean satisfiability problem solution method proposed according to the present invention are all faster than the original and can be shortened by 90% the fastest.
As shown in fig. 3, corresponding to the method for solving the boolean satisfiability problem, in the embodiment of the present invention, a system for solving the boolean satisfiability problem is further provided, which includes a preprocessing module 1, a plurality of parallel solvers 2, a main solver 3, a random assignment module 4, a selection module 5, and an initial value assignment module 6. The following description will be made separately.
The preprocessing module 1 is used for analyzing the initialized global variables of the CNF instance and the relation between the characters and the clauses, and optimizing the initialized global variables.
And the parallel solvers 2 are used for performing multi-thread parallel solving on the preprocessed CNF instance within a set threshold condition by adopting different initial arguments, stopping solving after triggering the threshold condition, and recording the activity scores of the arguments in the solving process.
And the main solver 3 is configured to solve the CNF instance by using the argument with the highest activity score in the plurality of parallel solvers 2 as an initial argument.
And the random assignment module 4 is used for generating a random initial argument for each parallel solver 2.
And the selection module 5 is configured to select the argument with the highest sum of activity scores obtained by the multiple parallel solvers.
The initial value assigning module 6 is configured to assign the random initial argument generated by the random assignment module 4 to the plurality of parallel solvers 2, and is further configured to assign the argument with the highest activity score selected by the selection module 5 as the initial argument to the main solver 3.
In the embodiment of the invention, the set threshold conditions comprise the number of times of conflict in the solving process, the number of times of restarting the solver and the running time of the solver. The main solver adopts an SAT solver which takes the CDCL as an algorithm framework and has a branch heuristic strategy, clause learning, non-time sequence backtracking, conflict analysis and a restart strategy. The plurality of parallel solvers are obtained by cloning the main solver.
In summary, with the boolean satisfiability problem solving method and system of the present invention, a plurality of parallel solvers are used to perform a multi-thread parallel solution on a CNF instance within a set threshold condition, wherein each parallel solver uses a different initial argument; stopping solving by each parallel solver after a threshold condition is triggered, and recording the activity scores of all the variables in the solving process; and selecting the argument with the highest sum of the activity scores obtained by the parallel solvers as the initial argument of the main solver, solving the CNF instance, and taking the argument which better accords with the function of the bridging variable as the initial assignment of the SAT solver, so that the possibility of time and space waste caused by mistakenly selecting the noise argument as the initial value is reduced.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and improvements made within the spirit and principle of the present invention are intended to be included within the scope of the present invention.
Claims (10)
1. A method for solving a Boolean satisfiability problem, comprising:
performing multi-thread parallel solution on the CNF instance within a set threshold condition by adopting a plurality of parallel solvers, wherein each parallel solver adopts different initial arguments;
stopping solving by each parallel solver after a threshold condition is triggered, and recording the activity scores of all the variables in the solving process;
and selecting the argument with the highest sum of the activity scores obtained by the parallel solvers as the initial argument of the main solver, and solving the CNF instance.
2. The method of solving a boolean satisfiability problem as claimed in claim 1, characterized in that said set threshold conditions include the number of conflicts during the solution, the number of solver reboots and the time the solver runs.
3. The method for solving a boolean satisfiability problem according to claim 1 or 2, characterized in that said plurality of parallel solvers is obtained by cloning said main solver.
4. The method of solving a boolean satisfiability problem as claimed in claim 3, characterized in that said master solver employs a SAT solver with a CDCL algorithm framework and with a branch heuristic strategy, clause learning, non-chronological backtracking, conflict analysis, restart strategy.
5. The method of solving a boolean satisfiability problem as recited in claim 1, further comprising, prior to the multi-threaded parallel solution of CNF instances using a plurality of parallel solvers:
and preprocessing the CNF example, analyzing the relation between the initialized global variable of the CNF example and characters and clauses, and optimizing.
6. A system for solving a boolean satisfiability problem, comprising:
the parallel solvers are used for carrying out multi-thread parallel solving on the CNF instance within a set threshold condition by adopting different initial arguments, stopping solving after triggering the threshold condition and recording the activity scores of the arguments in the solving process;
and the main solver is used for solving the CNF instance by adopting the argument with the highest sum of the activity scores obtained by the plurality of parallel solvers as the initial argument of the main solver.
7. The Boolean satisfiability problem solving system of claim 6,
the set threshold conditions comprise the number of times of conflict in the solving process, the number of times of restarting of the solver and the running time of the solver.
8. The Boolean satisfiability problem solving system according to claim 6 or 7, wherein the plurality of parallel solvers is obtained by cloning the main solver.
9. The boolean satisfiability problem solving system as recited in claim 8, wherein the master solver employs a SAT solver with a CDCL as an algorithm framework and with branch heuristic strategy, clause learning, non-chronological backtracking, conflict analysis, restart strategy.
10. The boolean satisfiability problem solution system as recited in claim 6, further comprising:
the random assignment module is used for generating a random initial argument for each parallel solver;
the selection module is used for selecting the argument with the highest activity score in the parallel solvers;
an initial value assigning module, configured to assign random initial arguments generated by the random assignment module to the multiple parallel solvers, and further configured to assign the argument with the highest activity score as the initial argument to the main solver;
and the preprocessing module is used for analyzing the initialized global variables of the CNF examples and the relation between the characters and the clauses and optimizing the initialized global variables.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011545368.8A CN112487740B (en) | 2020-12-23 | 2020-12-23 | Boolean satisfiability problem solving method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011545368.8A CN112487740B (en) | 2020-12-23 | 2020-12-23 | Boolean satisfiability problem solving method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487740A true CN112487740A (en) | 2021-03-12 |
CN112487740B CN112487740B (en) | 2024-06-18 |
Family
ID=74914361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011545368.8A Active CN112487740B (en) | 2020-12-23 | 2020-12-23 | Boolean satisfiability problem solving method and system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487740B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114638162A (en) * | 2022-03-18 | 2022-06-17 | 浙江大学 | Method for solving SAT problem by combining CDCL solver and quantum annealer |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140244221A1 (en) * | 2013-02-22 | 2014-08-28 | Nvidia Corporation | Parallel linear complementarity solver for rigid body dynamics |
CN104123503A (en) * | 2014-06-25 | 2014-10-29 | 中国人民解放军国防科学技术大学 | CNF formula data protection method in SAT problem solving outsourcing process |
CN104142675A (en) * | 2013-05-08 | 2014-11-12 | 辉达公司 | Controllability checking systems and methods |
CN105739951A (en) * | 2016-03-01 | 2016-07-06 | 浙江工业大学 | GPU-based L1 minimization problem fast solving method |
CN106503827A (en) * | 2016-09-21 | 2017-03-15 | 国网河北省电力公司 | A kind of processing method and processing device of multiple timings mixed integer programming problem |
CN107077642A (en) * | 2014-08-22 | 2017-08-18 | D-波系统公司 | The system and method for Solve problems available for such as quantum calculation |
CN110211234A (en) * | 2019-05-08 | 2019-09-06 | 上海索辰信息科技有限公司 | A kind of grid model sewing system and method |
CN110321218A (en) * | 2019-04-10 | 2019-10-11 | 苏州卓晋通信有限公司 | A method of based on point to point network system solution MIXED INTEGER program |
CN111142944A (en) * | 2019-12-31 | 2020-05-12 | 中国人民解放军国防科技大学 | Hardware SAT solver based on pipeline execution strategy |
WO2020097534A1 (en) * | 2018-11-09 | 2020-05-14 | Schlumberger Technology Corporation | Pipeline network solving using decomposition procedure |
CN111159631A (en) * | 2019-12-31 | 2020-05-15 | 中国人民解放军国防科技大学 | Hardware SAT solver based on programmable logic |
CN111159628A (en) * | 2019-12-31 | 2020-05-15 | 中国人民解放军国防科技大学 | Hardware SAT solver for multi-thread parallel execution |
CN112082146A (en) * | 2020-08-14 | 2020-12-15 | 东北电力大学 | Method for determining length of droplet evaporation section of temperature and pressure reducer for bypass heat supply of thermal power generating unit |
-
2020
- 2020-12-23 CN CN202011545368.8A patent/CN112487740B/en active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140244221A1 (en) * | 2013-02-22 | 2014-08-28 | Nvidia Corporation | Parallel linear complementarity solver for rigid body dynamics |
CN104142675A (en) * | 2013-05-08 | 2014-11-12 | 辉达公司 | Controllability checking systems and methods |
CN104123503A (en) * | 2014-06-25 | 2014-10-29 | 中国人民解放军国防科学技术大学 | CNF formula data protection method in SAT problem solving outsourcing process |
CN107077642A (en) * | 2014-08-22 | 2017-08-18 | D-波系统公司 | The system and method for Solve problems available for such as quantum calculation |
CN105739951A (en) * | 2016-03-01 | 2016-07-06 | 浙江工业大学 | GPU-based L1 minimization problem fast solving method |
CN106503827A (en) * | 2016-09-21 | 2017-03-15 | 国网河北省电力公司 | A kind of processing method and processing device of multiple timings mixed integer programming problem |
WO2020097534A1 (en) * | 2018-11-09 | 2020-05-14 | Schlumberger Technology Corporation | Pipeline network solving using decomposition procedure |
CN110321218A (en) * | 2019-04-10 | 2019-10-11 | 苏州卓晋通信有限公司 | A method of based on point to point network system solution MIXED INTEGER program |
CN110211234A (en) * | 2019-05-08 | 2019-09-06 | 上海索辰信息科技有限公司 | A kind of grid model sewing system and method |
CN111142944A (en) * | 2019-12-31 | 2020-05-12 | 中国人民解放军国防科技大学 | Hardware SAT solver based on pipeline execution strategy |
CN111159631A (en) * | 2019-12-31 | 2020-05-15 | 中国人民解放军国防科技大学 | Hardware SAT solver based on programmable logic |
CN111159628A (en) * | 2019-12-31 | 2020-05-15 | 中国人民解放军国防科技大学 | Hardware SAT solver for multi-thread parallel execution |
CN112082146A (en) * | 2020-08-14 | 2020-12-15 | 东北电力大学 | Method for determining length of droplet evaporation section of temperature and pressure reducer for bypass heat supply of thermal power generating unit |
Non-Patent Citations (3)
Title |
---|
KENJI KANAZAWA: "An Approach for Solving Large SAT Problems on FPGA", 《ACM TRANSACTIONS ON RECONFIGURABLE TECHNOLOGY AND SYSTEMS》, no. 1, 1 December 2010 (2010-12-01), pages 1 - 21, XP058202837, DOI: 10.1145/1857927.1857937 * |
郭莹: "布尔可满足性问题研究综述", 软件导刊, vol. 16, no. 5, 31 May 2017 (2017-05-31), pages 204 - 206 * |
陈秀兰 等: "基于动态奖惩的CDCL SAT求解器分支启发式算法", 《计算机工程与科学》, vol. 41, no. 3, 31 March 2019 (2019-03-31), pages 490 - 497 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114638162A (en) * | 2022-03-18 | 2022-06-17 | 浙江大学 | Method for solving SAT problem by combining CDCL solver and quantum annealer |
CN114638162B (en) * | 2022-03-18 | 2024-08-27 | 浙江大学 | Method for solving SAT problem by combining CDCL solver and quantum annealer |
Also Published As
Publication number | Publication date |
---|---|
CN112487740B (en) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3520040B1 (en) | Constructing and processing computational graphs for dynamically structured machine learning models | |
Behrmann et al. | A tutorial on uppaal | |
KR102013230B1 (en) | Apparatus and method for syntactic parsing based on syntactic preprocessing | |
CN111090464B (en) | Data stream processing method and related equipment | |
CN102053854A (en) | Context-sensitive slicing for dynamically parallelizing binary programs | |
Wilhelm et al. | Compiler design: syntactic and semantic analysis | |
Menzel et al. | Decision procedures for dependency parsing using graded constraints | |
JP2002082689A (en) | Recognition system using lexical tree | |
Oliveira et al. | Efficient algorithms for the inference of minimum size dfas | |
CN108763202A (en) | Method, apparatus, equipment and the readable storage medium storing program for executing of the sensitive text of identification | |
CN108491381B (en) | Syntax analysis method of Chinese binary structure | |
CN112487740A (en) | Boolean satisfiability problem solving method and system | |
CN113672232B (en) | Program compiling method and device | |
US8782514B1 (en) | Parallel XML parsing using meta-DFAs | |
Pai T et al. | A systematic literature review of lexical analyzer implementation techniques in compiler design | |
CN112506789B (en) | Parallel pattern matching method for data packet detection | |
JP5317061B2 (en) | A simultaneous classifier in multiple languages for the presence or absence of a semantic relationship between words and a computer program therefor. | |
US20060047495A1 (en) | Analyzer for spawning pairs in speculative multithreaded processor | |
Amadini et al. | SUNNY-CP and the MiniZinc challenge | |
US20060089942A1 (en) | Whitespace keywords | |
Nethravathi et al. | Improved Parallel Scanner for the Concurrent Execution of Lexical Analysis Tasks on Multi-Core Systems | |
US8627301B2 (en) | Concurrent management of adaptive programs | |
US20060004863A1 (en) | Method, system and program for simplifying data flow in a statement with sequenced subexpressions | |
KR101460985B1 (en) | Dynamic data synchronization in thread-level speculation | |
CN112052651A (en) | Poetry generation method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220629 Address after: 518000 Room 201, A building, 1 front Bay Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretarial Co., Ltd.) Applicant after: Shenzhen guomicrochip Technology Co.,Ltd. Address before: 22A, Guoshi building, 1801 Shahe West Road, high tech Zone community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: GUOWEI GROUP (SHENZHEN) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |