Тип работы:
Предмет:
Язык работы:


Поиск эвристических правил для решения задачи булевой выполнимости методами машинного обучения

Работа №128634

Тип работы

Бакалаврская работа

Предмет

математика

Объем работы25
Год сдачи2023
Стоимость4760 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
30
Не подходит работа?

Узнай цену на написание


1. Preliminaries & Subject Area Research 5
1.1. Introduction 5
1.2. Boolean Satisfiability Problem & SAT Solvers 5
1.3. Machine Learning for SAT 7
1.3.1. Portfolio Algorithms 7
1.3.2. Graph Neural Networks: Architectures and Implementations 7
1.4. Graph-Q-SAT: The Original Approach 11
1.4.1. Idea and Implementation Details 11
1.4.2. Experimental Results 13
1.5. Research Objectives 14
2. Graph-Q-SATd—+: Re-envisioning a Popular Approach 15
2.1. Reproducing the Original Results 15
2.2. Direct Implementation Into a SAT Solver 16
2.3. Experimental Results & Improvements 18
2.4. Discussion 21
3. Conclusion 22
References


The Boolean satisfiability problem (SAT) is a paramount problem of computer science that impacts various areas of knowledge, including but not limited to software
and hardware verification, circuit design, automatic proof checking and cryptography. This is
an NP-complete problem [9], which means that any problem from the NP class can be reduced
to it in polynomial time, and the problem itself is assumed to be computationally hard and
not having a straightforward algorithm that would solve it in a reasonable amount of time in
general case. In spite of this, conflict-driven clause learning solving algorithms achieve very
prominent results in reducing the time required to solve an instance of the SAT problem by
employing various heuristics.The branching heuristic that decides which variable to assign a
value during each iteration of the exhaustive search is one of the crucial ones.
In the Graph-Q-SAT [17] paper, a team of NVIDIA and the Oxford university researchers
proposed to improve the widely used Variable State Independent Decaying Sum (VSIDS) heuristic [18] by using a deep neural network, particularly a graph neural network, to “communicate”
with the MiniSat solver via a GYM [7] environment (implemented in Python) and predict the
next variable to branch on during each step based on the current state of the problem. In many
cases this approach decreases the number of branching decisions required to solve an instance
of the SAT problem as compared to the original backbone solver MiniSat 2.2 [10]. However,
as stated by the researchers themselves, it did not show any substantial results in improving
wall-clock time, which is a key factor in industrial-scale settings.
In the proposed approach named Graph-Q-SAT++ the implementation of Graph-Q-SAT is
studied and several changes are suggested in order to improve the results achieved in the original
research. First of all, the deep neural network is embedded in the MiniSat 2.2 solver itself using
the C++ PyTorch API and, secondly, experiments with the architecture of the network are
conducted in order to shave off some computational time while preserving the quality of its
predictions.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


In the present thesis, the domain of SAT solving was explored, and various machine learning
approaches to improving the performance of SAT solvers were studied and reviewed, focusing on
those which utilize graph neural networks, since they were showing very promising results at the
moment of writing. Out of all of the studied heuristics a popular and straightforward approach
called Graph-Q-SAT was picked. The approach and its implementation were thoroughly studied
and the reproduction of results of the original work of interest was carried out. Graph-Q-SAT
was then re-envisioned as an algorithm embedded into one of the standard solvers, MiniSat,
instead of being a separate algorithm which communicates with the solver re-implemented as
a reinforcement learning environment. The code of Graph-Q-SAT was modified to make it
possible for the algorithm to save the trained graph neural network, which predicts the next
beneficial decision for the solver, in TorchScript format, a format embeddable into C++ code,
and the MiniSat solver was modified to query this network.
The experiments, in which MiniSat, Graph-Q-SAT and Graph-Q-SAT++ are compared in
terms of wall-clock time, were conducted. They show that the latter approach is more efficient in
this setting. In particular, we observe that Graph-Q-SAT++ outperforms Kissat and shows an
average increase in speed of almost 4 times over Graph-Q-SAT on datasets containing problems
from the Uniform Random-3-SAT family.
Moreover, additional experiments were conducted which show the extent to which our modification improves the performance of the SAT solver.
In the future, the proposed approach can be released as an open source tool with readily
available models pre-trained on larger formulae sets, which could be embedded into various
SAT solvers (since a huge portion of them is written in C++), including the state-of-the-art
ones, in order to further improve their performance on certain pools of SAT problems.


[1] David Ahmedt-Aristizabal, Mohammad Ali Armin, Simon Denman, Clinton Fookes, and Lars Petersson. Graph-based deep learning for medical diagnosis and analysis: Past, present and future. CoRR, abs/2105.13137, 2021.
[2] Gilles Audemard and Laurent Simon. Predicting learnt clauses quality in modern SAT solvers. In Proceedings of the 21st International Jont Conference on Artifical Intelligence, IJCAI’09, page 399-404, San Francisco, CA, USA, 2009. Morgan Kaufmann Publishers Inc.
[3] Armin Biere. Cadical, lingeling, plingeling, treengeling and yalsat entering the sat compe¬tition 2017. In Proceedings of SAT Competition 2017: Solver and Benchmark Descriptions, 2017.
[4] Armin Biere. Cadical, lingeling, plingeling, treengeling and yalsat entering the sat compe¬tition 2018. In Proceedings of SAT Competition 2018: Solver and Benchmark Descriptions, pages 13-14, 2018.
[5] Armin Biere. Cadical at the sat race 2019. In Proceedings of SAT Race 2019: Solver and Benchmark Descriptions, pages 8-9, 2019.
[6] Nikolaj S Bjprner. 3.3 guiding high-performance SAT solvers with unsat-core predictions. Deduction Beyond Satisfiability, page 29, 2019.
[7] Greg Brockman, Vicki Cheung, Ludwig Pettersson, Jonas Schneider, John Schulman, Jie Tang, and Wojciech Zaremba. Openai gym. CoRR, abs/1606.01540, 2016.
[8] Peter Cheeseman, Bob Kanefsky, and William M. Taylor. Where the really hard problems are. In Proceedings of the 12th International Joint Conference on Artificial Intelligence - Volume 1, IJCAI’91, page 331-337, San Francisco, CA, USA, 1991. Morgan Kaufmann Publishers Inc.
[9] Stephen A Cook. The complexity of theorem-proving procedures. In Proceedings of the third annual ACM symposium on Theory of computing, pages 151-158, 1971.
[10] Niklas Een and Niklas Sarensson. An extensible SAT-solver. In Enrico Giunchiglia and Armando Tacchella, editors, Theory and Applications of Satisfiability Testing, pages 502¬518, Berlin, Heidelberg, 2004. Springer Berlin Heidelberg.
[11] Wenqi Fan, Yao Ma, Qing Li, Yuan He, Yihong Eric Zhao, Jiliang Tang, and Dawei Yin. Graph neural networks for social recommendation. CoRR, abs/1902.07243, 2019.
[12] Nils Froleyks, Marijn Heule, Markus Iser, Matti Jarvisalo, and Martin Suda. Sat compe¬tition 2020. Artificial Intelligence, 301:103572, 2021.
[13] Jesse Michael Han. Enhancing SAT solvers with glue variable predictions. CoRR,
abs/2007.02559, 2020.


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ