{"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/on-the-hardness-of-probabilistic","title":"On the Hardness of Probabilistic Neurosymbolic Learning","arxiv_id":"2406.04472","date":"2024-06-06","proceeding":null,"authors":["Jaron Maene","Vincent Derkinderen","Luc De Raedt"],"abstract":"The limitations of purely neural learning have sparked an interest in probabilistic neurosymbolic models, which combine neural networks with probabilistic logical reasoning. As these neurosymbolic models are trained with gradient descent, we study the complexity of differentiating probabilistic reasoning. We prove that although approximating these gradients is intractable in general, it becomes tractable during training. Furthermore, we introduce WeightME, an unbiased gradient estimator based on model sampling. Under mild assumptions, WeightME approximates the gradient with probabilistic guarantees using a logarithmic number of calls to a SAT solver. Lastly, we evaluate the necessity of these guarantees on the gradient. Our experiments indicate that the existing biased approximations indeed struggle to optimize even when exact solving is still feasible.","url_abs":"https://arxiv.org/abs/2406.04472v1","url_pdf":"https://arxiv.org/pdf/2406.04472v1.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":"on-the-hardness-of-probabilistic","repo_url":"https://github.com/jjcmoon/hardness-nesy","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"logical-reasoning","task_name":"Logical Reasoning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.04472","atlas_url":"https://app.syntology.ai/?focus=2406.04472","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.04472"}},"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/jjcmoon/hardness-nesy","reach":null}],"summary":{"ran_fixture":1,"ran_honours":1,"ran_draft_wrong":2},"by_repo_kind":{"official":{"samples":4,"ran":4,"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":"52dec346a921a8d8","entry":"eval_nnf","repo":"jjcmoon/hardness-nesy","repo_kind":"official","path":"scripts/nnf_to_grads.py","file_url":"https://github.com/jjcmoon/hardness-nesy/blob/HEAD/scripts/nnf_to_grads.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"52dec346a921a8d8"}},{"code_sha256_prefix":"d06d96f93ec14b6c","entry":"mc_nnf","repo":"jjcmoon/hardness-nesy","repo_kind":"official","path":"scripts/nnf_to_grads.py","file_url":"https://github.com/jjcmoon/hardness-nesy/blob/HEAD/scripts/nnf_to_grads.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d06d96f93ec14b6c"}},{"code_sha256_prefix":"9d3e18d956810d1a","entry":"solve","repo":"jjcmoon/hardness-nesy","repo_kind":"official","path":"scripts/run_approx_solver.py","file_url":"https://github.com/jjcmoon/hardness-nesy/blob/HEAD/scripts/run_approx_solver.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9d3e18d956810d1a"}},{"code_sha256_prefix":"32797b4653234299","entry":"wmc_nnf","repo":"jjcmoon/hardness-nesy","repo_kind":"official","path":"scripts/nnf_to_grads.py","file_url":"https://github.com/jjcmoon/hardness-nesy/blob/HEAD/scripts/nnf_to_grads.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32797b4653234299"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}