{"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/neural-laplace-control-for-continuous-time","title":"Neural Laplace Control for Continuous-time Delayed Systems","arxiv_id":"2302.12604","date":"2023-02-24","proceeding":null,"authors":["Samuel Holt","Alihan Hüyük","Zhaozhi Qian","Hao Sun","Mihaela van der Schaar"],"abstract":"Many real-world offline reinforcement learning (RL) problems involve continuous-time environments with delays. Such environments are characterized by two distinctive features: firstly, the state x(t) is observed at irregular time intervals, and secondly, the current action a(t) only affects the future state x(t + g) with an unknown delay g > 0. A prime example of such an environment is satellite control where the communication link between earth and a satellite causes irregular observations and delays. Existing offline RL algorithms have achieved success in environments with irregularly observed states in time or known delays. However, environments involving both irregular observations in time and unknown delays remains an open and challenging problem. To this end, we propose Neural Laplace Control, a continuous-time model-based offline RL method that combines a Neural Laplace dynamics model with a model predictive control (MPC) planner--and is able to learn from an offline dataset sampled with irregular time intervals from an environment that has a inherent unknown constant delay. We show experimentally on continuous-time delayed environments it is able to achieve near expert policy performance.","url_abs":"https://arxiv.org/abs/2302.12604v2","url_pdf":"https://arxiv.org/pdf/2302.12604v2.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":"neural-laplace-control-for-continuous-time","repo_url":"https://github.com/samholt/neurallaplacecontrol","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"neural-laplace-control-for-continuous-time","repo_url":"https://github.com/vanderschaarlab/neurallaplacecontrol","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"model-predictive-control","task_name":"Model Predictive Control"},{"task_slug":"offline-rl","task_name":"Offline RL"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2302.12604","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2302.12604"}},"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/vanderschaarlab/neurallaplacecontrol","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/samholt/neurallaplacecontrol","reach":null}],"summary":{"ran_draft_wrong":4,"ran_violates":1,"unverified":12},"by_repo_kind":{"official":{"samples":17,"ran":5,"repositories":2}},"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":"fc9a64735be0911c","entry":"create_classifier","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"baseline_models/latent_ode_lib/base_models.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/baseline_models/latent_ode_lib/base_models.py","link_basis":"harvester_set","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":"fc9a64735be0911c"}},{"code_sha256_prefix":"a00c4f55aee7a564","entry":"generate_log_file_path","repo":"samholt/neurallaplacecontrol","repo_kind":"official","path":"run_exp_multi.py","file_url":"https://github.com/samholt/neurallaplacecontrol/blob/HEAD/run_exp_multi.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":"a00c4f55aee7a564"}},{"code_sha256_prefix":"e2448496ae21bf51","entry":"is_float","repo":"samholt/neurallaplacecontrol","repo_kind":"official","path":"process_results/process_logs.py","file_url":"https://github.com/samholt/neurallaplacecontrol/blob/HEAD/process_results/process_logs.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e2448496ae21bf51"}},{"code_sha256_prefix":"c23c1dcf5ce07300","entry":"mean_confidence_interval","repo":"samholt/neurallaplacecontrol","repo_kind":"official","path":"process_results/process_logs.py","file_url":"https://github.com/samholt/neurallaplacecontrol/blob/HEAD/process_results/process_logs.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c23c1dcf5ce07300"}},{"code_sha256_prefix":"ab950ea1b98403e2","entry":"string_to_float_dict","repo":"samholt/neurallaplacecontrol","repo_kind":"official","path":"process_results/process_logs.py","file_url":"https://github.com/samholt/neurallaplacecontrol/blob/HEAD/process_results/process_logs.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":"ab950ea1b98403e2"}},{"code_sha256_prefix":"f6d5dc82ebceee06","entry":"acrobot_dynamics_dt_delay","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"oracle.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/oracle.py","link_basis":"harvester_set","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":"f6d5dc82ebceee06"}},{"code_sha256_prefix":"bd9d131794b04d99","entry":"cartpole_dynamics_dt_delay","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"oracle.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/oracle.py","link_basis":"harvester_set","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":"bd9d131794b04d99"}},{"code_sha256_prefix":"9b9f619dc624b573","entry":"create_LatentODE_model","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"baseline_models/latent_ode_lib/create_latent_ode_model.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/baseline_models/latent_ode_lib/create_latent_ode_model.py","link_basis":"harvester_set","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":"9b9f619dc624b573"}},{"code_sha256_prefix":"8b5c0856989359e1","entry":"create_LatentODE_model_direct","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"baseline_models/latent_ode_lib/create_latent_ode_model.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/baseline_models/latent_ode_lib/create_latent_ode_model.py","link_basis":"harvester_set","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":"8b5c0856989359e1"}},{"code_sha256_prefix":"cdf86004b2feba7a","entry":"get_action","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"mppi_with_model.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/mppi_with_model.py","link_basis":"harvester_set","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":"cdf86004b2feba7a"}},{"code_sha256_prefix":"d6188eb95247b9a9","entry":"get_action_with_encode_obs_time","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"mppi_dataset_collector.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/mppi_dataset_collector.py","link_basis":"harvester_set","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":"d6188eb95247b9a9"}},{"code_sha256_prefix":"70bbd381984aa87a","entry":"get_delta_t_rnn_model","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"train_utils.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/train_utils.py","link_basis":"harvester_set","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":"70bbd381984aa87a"}},{"code_sha256_prefix":"cf12e790ed80faaf","entry":"get_rnn_model","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"train_utils.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/train_utils.py","link_basis":"harvester_set","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":"cf12e790ed80faaf"}},{"code_sha256_prefix":"33f9df36e2fc0cfb","entry":"load_replay_buffer","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"w_nl.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/w_nl.py","link_basis":"harvester_set","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":"33f9df36e2fc0cfb"}},{"code_sha256_prefix":"c03dbd5716bc8def","entry":"parse_args","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"config.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/config.py","link_basis":"harvester_set","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":"c03dbd5716bc8def"}},{"code_sha256_prefix":"b1120c7a27bffa9a","entry":"pendulum_dynamics_dt_delay","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"oracle.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/oracle.py","link_basis":"harvester_set","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":"b1120c7a27bffa9a"}},{"code_sha256_prefix":"3728451722b589af","entry":"setup_logger","repo":"vanderschaarlab/neurallaplacecontrol","repo_kind":"official","path":"overlay.py","file_url":"https://github.com/vanderschaarlab/neurallaplacecontrol/blob/HEAD/overlay.py","link_basis":"harvester_set","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":"3728451722b589af"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}