{"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/dags-with-no-fears-a-closer-look-at","title":"DAGs with No Fears: A Closer Look at Continuous Optimization for Learning Bayesian Networks","arxiv_id":"2010.09133","date":"2020-10-18","proceeding":"NeurIPS 2020 12","authors":["Dennis Wei","Tian Gao","Yue Yu"],"abstract":"This paper re-examines a continuous optimization framework dubbed NOTEARS for learning Bayesian networks. We first generalize existing algebraic characterizations of acyclicity to a class of matrix polynomials. Next, focusing on a one-parameter-per-edge setting, it is shown that the Karush-Kuhn-Tucker (KKT) optimality conditions for the NOTEARS formulation cannot be satisfied except in a trivial case, which explains a behavior of the associated algorithm. We then derive the KKT conditions for an equivalent reformulation, show that they are indeed necessary, and relate them to explicit constraints that certain edges be absent from the graph. If the score function is convex, these KKT conditions are also sufficient for local minimality despite the non-convexity of the constraint. Informed by the KKT conditions, a local search post-processing algorithm is proposed and shown to substantially and universally improve the structural Hamming distance of all tested algorithms, typically by a factor of 2 or more. Some combinations with local search are both more accurate and more efficient than the original NOTEARS.","url_abs":"https://arxiv.org/abs/2010.09133v1","url_pdf":"https://arxiv.org/pdf/2010.09133v1.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":"dags-with-no-fears-a-closer-look-at","repo_url":"https://github.com/skypea/DAG_No_Fear","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2010.09133","atlas_url":"https://app.syntology.ai/?focus=2010.09133","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2010.09133"}},"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/skypea/DAG_No_Fear","reach":null}],"summary":{"ran_honours":2,"ran_fixture":2,"unverified":3},"by_repo_kind":{"official":{"samples":7,"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":"dcc6045e72e84373","entry":"eval_h","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"dcc6045e72e84373"}},{"code_sha256_prefix":"73a6927d8c13036f","entry":"eval_h_deri","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"73a6927d8c13036f"}},{"code_sha256_prefix":"66a4357f1927d39e","entry":"lars_relax_zero","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"66a4357f1927d39e"}},{"code_sha256_prefix":"c3d1c6d505a69df6","entry":"restore_edge","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"c3d1c6d505a69df6"}},{"code_sha256_prefix":"bf168220b681a87d","entry":"lars_set_zero","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.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":"bf168220b681a87d"}},{"code_sha256_prefix":"3c9189ea5646eb18","entry":"restore_reverse","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.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":"3c9189ea5646eb18"}},{"code_sha256_prefix":"348682cc25370789","entry":"reverse_edge","repo":"skypea/DAG_No_Fear","repo_kind":"official","path":"local_search_given_matrix.py","file_url":"https://github.com/skypea/DAG_No_Fear/blob/HEAD/local_search_given_matrix.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":"348682cc25370789"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}