{"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/safe-learning-of-regions-of-attraction-for","title":"Safe Learning of Regions of Attraction for Uncertain, Nonlinear Systems with Gaussian Processes","arxiv_id":"1603.04915","date":"2016-03-15","proceeding":null,"authors":["Felix Berkenkamp","Riccardo Moriconi","Angela P. Schoellig","Andreas Krause"],"abstract":"Control theory can provide useful insights into the properties of controlled, dynamic systems. One important property of nonlinear systems is the region of attraction (ROA), a safe subset of the state space in which a given controller renders an equilibrium point asymptotically stable. The ROA is typically estimated based on a model of the system. However, since models are only an approximation of the real world, the resulting estimated safe region can contain states outside the ROA of the real system. This is not acceptable in safety-critical applications. In this paper, we consider an approach that learns the ROA from experiments on a real system, without ever leaving the true ROA and, thus, without risking safety-critical failures. Based on regularity assumptions on the model errors in terms of a Gaussian process prior, we use an underlying Lyapunov function in order to determine a region in which an equilibrium point is asymptotically stable with high probability. Moreover, we provide an algorithm to actively and safely explore the state space in order to expand the ROA estimate. We demonstrate the effectiveness of this method in simulation.","url_abs":"http://arxiv.org/abs/1603.04915v3","url_pdf":"http://arxiv.org/pdf/1603.04915v3.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"safe-learning-of-regions-of-attraction-for","repo_url":"https://github.com/befelix/lyapunov-learning","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"safe-learning-of-regions-of-attraction-for","repo_url":"https://github.com/befelix/safe_learning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1603.04915","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1603.04915"}},"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/befelix/lyapunov-learning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/befelix/safe_learning","reach":null}],"summary":{"ran_honours":1,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":3,"ran":2,"repositories":1},"listed":{"samples":1,"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":"94a35c63310bfbbb","entry":"compute_v_dot_distribution","repo":"befelix/lyapunov-learning","repo_kind":"official","path":"safe_learning/safe_learning.py","file_url":"https://github.com/befelix/lyapunov-learning/blob/HEAD/safe_learning/safe_learning.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"94a35c63310bfbbb"}},{"code_sha256_prefix":"2313d56238532707","entry":"compute_v_dot_upper_bound","repo":"befelix/lyapunov-learning","repo_kind":"official","path":"safe_learning/safe_learning.py","file_url":"https://github.com/befelix/lyapunov-learning/blob/HEAD/safe_learning/safe_learning.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2313d56238532707"}},{"code_sha256_prefix":"3dfc11529ea74601","entry":"line_search_bisection","repo":"befelix/lyapunov-learning","repo_kind":"official","path":"safe_learning/safe_learning.py","file_url":"https://github.com/befelix/lyapunov-learning/blob/HEAD/safe_learning/safe_learning.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3dfc11529ea74601"}},{"code_sha256_prefix":"8a5fdb040f931560","entry":"perturb_actions","repo":"befelix/safe_learning","repo_kind":"listed","path":"safe_learning/lyapunov.py","file_url":"https://github.com/befelix/safe_learning/blob/HEAD/safe_learning/lyapunov.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8a5fdb040f931560"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}