dmeoli / NeuroSAT

Neuro-symbolic approaches to the SAT problem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NeuroSAT

Open in Colab Open in Colab

Open in Colab

Neuro-symbolic approaches to the SAT problem.

This code has been developed in the context of Pattern Recognition and Reinforcement Learning courses @ Department of Computer Science @ University of Pisa under the supervision of prof. Davide Bacciu.

Contents

  • Reinforcement Learning (Alpha Zero (MCTS)) approach described in [1].

  • Supervised Learning (GNN) + Reinforcement Learning (DQN) approach described in [2].

    The experimental results of GraphQSAT and GATQSAT models can be viewed here.

The final presentation of the course project can be found here.

Getting the code

Getting the whole project and all the subprojects updated at the latest version can be done with:

git clone --recurse-submodules https://gitlab.com/smspp/neuroSAT.git
git submodule foreach --recursive "git checkout master"
git submodule foreach --recursive "git pull"

Split datasets

bash train_val_test_split.sh {uniform-random-3-sat | graph-coloring}

License License: MIT

This software is released under the MIT License. See the LICENSE file for details.

References

[1] Wang, Fei, and Tiark Rompf, From Gameplay to Symbolic Reasoning: Learning SAT Solver Heuristics in the Style of Alpha(Go) Zero.

[2] Kurin, Vitaly, et al., Can Q-Learning with Graph Networks Learn a Generalizable Branching Heuristic for a SAT Solver?.

About

Neuro-symbolic approaches to the SAT problem

License:MIT License


Languages

Language:Jupyter Notebook 98.9%Language:Shell 1.1%