{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/neurocore-guiding-cdcl-with-unsat-core","title":"Guiding High-Performance SAT Solvers with Unsat-Core Predictions","arxiv_id":"1903.04671","date":"2019-03-12","proceeding":null,"authors":["Daniel Selsam","Nikolaj Bjørner"],"abstract":"The NeuroSAT neural network architecture was recently introduced for predicting properties of propositional formulae. When trained to predict the satisfiability of toy problems, it was shown to find solutions and unsatisfiable cores on its own. However, the authors saw \"no obvious path\" to using the architecture to improve the state-of-the-art. In this work, we train a simplified NeuroSAT architecture to directly predict the unsatisfiable cores of real problems. We modify several high-performance SAT solvers to periodically replace their variable activity scores with NeuroSAT's prediction of how likely the variables are to appear in an unsatisfiable core. The modified MiniSat solves 10% more problems on SAT-COMP 2018 within the standard 5,000 second timeout than the original does. The modified Glucose solves 11% more problems than the original, while the modified Z3 solves 6% more. The gains are even greater when the training is specialized for a specific distribution of problems; on a benchmark of hard problems from a scheduling domain, the modified Glucose solves 20% more problems than the original does within a one-hour timeout. Our results demonstrate that NeuroSAT can provide effective guidance to high-performance SAT solvers on real problems.","url_abs":"https://arxiv.org/abs/1903.04671v7","url_pdf":"https://arxiv.org/pdf/1903.04671v7.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"neurocore-guiding-cdcl-with-unsat-core","repo_url":"https://github.com/dselsam/neurocore-public","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"scheduling","task_name":"Scheduling"},{"task_slug":"high","task_name":"Vocal Bursts Intensity Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1903.04671","atlas_url":"https://app.syntology.ai/?focus=1903.04671","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1903.04671"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/dselsam/neurocore-public","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":10,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"56edce81f7de873e","entry":"build_learning_rate","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/tfutil.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/tfutil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"56edce81f7de873e"}},{"code_sha256_prefix":"6b9587ab80a9447c","entry":"decode_transfer_fn","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/tfutil.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/tfutil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6b9587ab80a9447c"}},{"code_sha256_prefix":"04a541518f194b02","entry":"example_to_tftd","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/tftd.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/tftd.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"04a541518f194b02"}},{"code_sha256_prefix":"e42d2fc8a671b617","entry":"flip","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/util.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e42d2fc8a671b617"}},{"code_sha256_prefix":"f23fc43ad2c4d997","entry":"get_caller_linenum","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/util.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f23fc43ad2c4d997"}},{"code_sha256_prefix":"02756a4f6bff432a","entry":"is_small_enough","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/util.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"02756a4f6bff432a"}},{"code_sha256_prefix":"d67c0d6213d7f4a5","entry":"repeat_end","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/tfutil.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/tfutil.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d67c0d6213d7f4a5"}},{"code_sha256_prefix":"274af5d9308eb32e","entry":"tfd_to_tftd","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/tftd.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/tftd.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"274af5d9308eb32e"}},{"code_sha256_prefix":"e3af07192e7d2b21","entry":"tftd_to_example","repo":"dselsam/neurocore-public","repo_kind":"official","path":"python/tftd.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/python/tftd.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e3af07192e7d2b21"}},{"code_sha256_prefix":"77a27f41eb5c1891","entry":"train_dir","repo":"dselsam/neurocore-public","repo_kind":"official","path":"server/neurosat_server.py","file_url":"https://github.com/dselsam/neurocore-public/blob/HEAD/server/neurosat_server.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"77a27f41eb5c1891"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}