{"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/automatic-policy-synthesis-to-improve-the","title":"Neural Lyapunov Redesign","arxiv_id":"2006.03947","date":"2020-06-06","proceeding":null,"authors":["Arash Mehrjou","Mohammad Ghavamzadeh","Bernhard Schölkopf"],"abstract":"Learning controllers merely based on a performance metric has been proven effective in many physical and non-physical tasks in both control theory and reinforcement learning. However, in practice, the controller must guarantee some notion of safety to ensure that it does not harm either the agent or the environment. Stability is a crucial notion of safety, whose violation can certainly cause unsafe behaviors. Lyapunov functions are effective tools to assess stability in nonlinear dynamical systems. In this paper, we combine an improving Lyapunov function with automatic controller synthesis in an iterative fashion to obtain control policies with large safe regions. We propose a two-player collaborative algorithm that alternates between estimating a Lyapunov function and deriving a controller that gradually enlarges the stability region of the closed-loop system. We provide theoretical results on the class of systems that can be treated with the proposed algorithm and empirically evaluate the effectiveness of our method using an exemplary dynamical system.","url_abs":"https://arxiv.org/abs/2006.03947v2","url_pdf":"https://arxiv.org/pdf/2006.03947v2.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":"automatic-policy-synthesis-to-improve-the","repo_url":"https://github.com/amehrjou/neural_lyapunov_redesign","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2006.03947","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2006.03947"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/amehrjou/neural_lyapunov_redesign","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":1},"by_repo_kind":{"listed":{"samples":3,"ran":3,"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":"bac4971ae40a7d4a","entry":"compute_roa","repo":"amehrjou/neural_lyapunov_redesign","repo_kind":"listed","path":"examples/example_utils.py","file_url":"https://github.com/amehrjou/neural_lyapunov_redesign/blob/HEAD/examples/example_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bac4971ae40a7d4a"}},{"code_sha256_prefix":"b4ce4dbd6f33f10d","entry":"compute_roa_zero_v","repo":"amehrjou/neural_lyapunov_redesign","repo_kind":"listed","path":"examples/example_utils.py","file_url":"https://github.com/amehrjou/neural_lyapunov_redesign/blob/HEAD/examples/example_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b4ce4dbd6f33f10d"}},{"code_sha256_prefix":"8e17166964c57c32","entry":"import_from_directory","repo":"amehrjou/neural_lyapunov_redesign","repo_kind":"listed","path":"examples/example_utils.py","file_url":"https://github.com/amehrjou/neural_lyapunov_redesign/blob/HEAD/examples/example_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8e17166964c57c32"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}