CN112487740A - Boolean satisfiability problem solving method and system - Google Patents

Boolean satisfiability problem solving method and system Download PDF

Info

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
Application number
CN202011545368.8A
Other languages
Chinese (zh)
Other versions
CN112487740B (en
Inventor
屈璋
刘美华
张岩
吕红亮
黄国勇
毕舜阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Guomicrochip Technology Co ltd
Original Assignee
Guowei Group Shenzhen Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guowei Group Shenzhen Co ltd filed Critical Guowei Group Shenzhen Co ltd
Priority to CN202011545368.8A priority Critical patent/CN112487740B/en
Publication of CN112487740A publication Critical patent/CN112487740A/en
Application granted granted Critical
Publication of CN112487740B publication Critical patent/CN112487740B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit 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

Boolean satisfiability problem solving method and system
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.
CN202011545368.8A 2020-12-23 2020-12-23 Boolean satisfiability problem solving method and system Active CN112487740B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (13)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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